案例一、定时器的重复使用
在工业控制现场中,比如电机、阀门等设备都会有定时的需求,这就需要编程人员做出带有定时功能且可重复使用的功能块,以方便我们面对对象的编程。针对这种情况,我们可以在功能块FB的静态变量中,建立变量类型为IEC_TIMER类型的参数,就可以反复调用。并且在调用时不会在功能块FB上生成接口,也不会每次调用功能块FB时,都要改变定时器的背景数据块(定时器的背景数据块随我们在OB1中调用功能块FB时自动生成)。
图1 定时器的创建
图2定时器的调用
案例二、闪烁电路的编程
工业现场控制中,会出现各种报警提示和警告提示。例如当操作员启动搅拌机时,需要现场指示灯以1HZ的频率发出闪烁警告,这里就会提到对闪烁电路的编程。其中闪烁电路有两种解决方案:一是利用PLC CPU中集成的固定频率的方波信号,另一种是根据需求自己编程,这里我就针对自己编程来说一下。
(1) 每隔一定时间的闪烁电路
(2)通断时间可调的闪烁电路
案例三:延时启动电路
工业现场控制中,出于确保现场人员人身安全和设备安全,有时在操作员按下启动按钮时需要延时一段时间后设备再启动,这就要求编程人员根据现场实际情况编出相应的延时启动电路。下图是我提供的一种延时启动,立即停止的编程方法。
案例四:轮询电路
对于我们熟悉的MODBUS通讯,它属于一种半双工通讯方式,这种通讯方式的局限就是不能同时对多个从站进行数据的交换,需要单独与从站进行数据交换,此种方式就叫做轮询。在面对这种通讯协议时,我们不得不遵从通讯协议的规则进行相应程序的编写,这就需要一种轮询电路。下图是我提供的一种轮询电路的设计方法,以供大家参考。
除此之外,定时器在编程中的应用方法是多种多样的,在此不再列举,只做简单的描述,有兴趣的可以自己尝试编程。比如,利用定时器结合比较指令的顺序启动;利用定时器结合数学函数指令达到超长延时的效果;也可以利用定时器结合移位指令的顺序启动等。在结合移位指令时,请注意双字(DWORD)类型、字(WORD)类型转化成为字节(BYTE)类型时,每个位(BIT)的在相应字节中的顺序,以免编程逻辑错误导致无法达到预设结果。