有时做梯形图会遇上几十个类似程序往下运行,它们都有各自独立的I,Q,T。如果逐条把程序写下去,工作量会非常大,那么我们应该如何简化相同功能带定时器的PLC程序呢?
简化方法
我们以西门子1200为例,使用FB功能块和多重背景功能块,并对定时器使用多重背景数据块进行简化(如果有人能做成循环的,就更加完美了)。
第一步
建立”电磁阀控制”功能块FB1,设定INPUT/OUTPUT变量接口参数,在静态变量中设定定时器参数TOF,类型为IEC_TIMER,写入控制程序。
插入TOF定时器时,需设置背景数据块为多重背景数据块,接口名称为之前设定的TOF。
第二步
再建一个”多重背景数据”功能块FB2,在静态变量设定要使用到的多个设备参数“电磁阀1”“电磁阀2”“电磁阀3”……数据类型为“电磁阀控制FB1”。
第三步
将FB1功能块拖入到程序中,使用几个设备(近似重复的程序段)就用几个FB1,分别设定为使用多重背景,接口类型分别选择“电磁阀1”“电磁阀2”“电磁阀3”……并输入实参。
结果如下:
第四步
在OB1中调用FB2,将FB2拖入主程序中,建立FB2背景数据块FB2_DB后保存。这样就完成了。
方法优点
1.程序做成了功能块,修改起来极为方便,只需改修单个功能块就行,不必逐条修改成百上千条类似的语句。当子程序较长时,优势更加明显;
2.排列整齐,输入输出接口清晰,也便于接口数据的输入、检查和修正;
3.避免无数条重复程序部分写错;
4.对于1200、1500而言,定时器使用多重背景数据块可以节约数据块的数量,避免使用过多的DB块,解放内存。
责任编辑人:CC
全部0条评论
快来发表一下你的评论吧 !