理论教育 实现和利时LM机的同步控制

实现和利时LM机的同步控制

时间:2023-07-01 理论教育 版权反馈
【摘要】:有3种中断方法:1.高速计数功能块中断跟踪图4-97所示为和利时LM机高速计数功能块中断跟踪控制程序。图4-97 和利时LM机高速计数功能块中断跟踪控制程序在“PLC任务配置”中,选定“HD_TC2 interupt”激活,并与此事件关联的程序名设为“IntHD”。图4-98 和利时LM机外中断跟踪控制图4-98a为主程序。图4-99 和利时LM机定时中断跟踪控制定时中断功能块的设定,“PERIOD”为500,即500μs。使%QX1.0控制的对象能跟踪%IX0.0反映的对象的变化。

实现和利时LM机的同步控制

有3种中断方法:

1.高速计数功能块中断跟踪

图4-97所示为和利时LM机高速计数功能块中断跟踪控制程序。

图4-97a为主程序。用以调用HD_CTUD_T2功能块。这里的设定为:PV为1,即计入一个脉冲计数值即满。edge_sel设为1,即脉冲上升沿计数。UPDN设为1,即为增计数。EXUD_EN设为0,即不使用增、减计数控制。INT_EN设为1,即中断启用。当计数满,即调用中断服务程序。

978-7-111-39745-8-Chapter05-172.jpg

图4-97 和利时LM机高速计数功能块中断跟踪控制程序

在“PLC任务配置”中,选定“HD_TC2 interupt”激活,并与此事件关联的程序名设为“IntHD”。

从上述设定可以知道,只要计入一个脉冲,即调用一次中断服务程序。而且产生计数功能块输出,即“hdQ.Q”ON,其常闭触点,把HD_CTUD_T2功能块使能OFF。既能OFF,又使“hdQ.Q”常闭触点ON,又为下一个脉冲的计数做了新准备。

图4-97b所示为中断服务程序。它就只做一件事,即向输出口%QX1.0发一个脉冲。

这两个程序结合,就是当%IX0.0收到一个脉冲,PLC通过中断服务程序(IntHD)即向%QX1.0发送一个脉冲。使%QX1.0控制的对象能跟踪%IX0.0反映的对象的变化。

当然,这里是1∶1的跟踪,也可以1∶2,或2∶1等多种形式的跟踪。只要把这里的PV及P_Number作适当修改就可以了。

2.外中断跟踪

图4-98所示为和利时LM机外中断跟踪控制程序。

978-7-111-39745-8-Chapter05-173.jpg

图4-98 和利时LM机外中断跟踪控制

图4-98a为主程序。用以调用Fast_EXINT功能块。这里的设定Mode为2#01000000,即外中断输入点为%I0.6。只要它从OFF到ON,即调用中断服务程序。在“PLC任务配置”中,选定“Fast External3 interupt”激活,并与此事件关联的程序名设为“IntWai”。

而图4-98b所示为中断服务程序。它就只做一件事,即向输出口%QX1.0发一个脉冲。(www.daowen.com)

这两个程序结合,就是当%IX0.6收到一个脉冲,PLC通过中断程序即向%QX1.0发送一个脉冲。使%QX1.0控制的对象能跟踪%IX0.6反映的对象的变化。

当然,这里是1∶1的跟踪,也可以1∶2等多种形式的跟踪。只要把这里的P_Number作适当修改就可以了。

3.定时中断跟踪

图4-99所示为和利时LM机定时中断跟踪控制程序。

图4-99b为主程序。用以调用高速计数功能块HD_CTUD_T2及定时中断功能块HD_TIMER_T7。这里的设定为:PV为1000,即计入1000个脉冲计数值即满。edge_sel设为1,即脉冲上升沿计数。UPDN设为1,即为增计数。EXUD_EN设为0,即不使用增、减计数控制。INT_EN设为0,即计数满中断不启用。但当计数满,将产生计数功能块输出,即“hdQ.Q”ON,其常闭触点,把HD_CTUD_T2功能块使其能OFF。其使能OFF,又使“hdQ.Q”常闭触点ON,又为下一个脉冲的计数做了新准备。

978-7-111-39745-8-Chapter05-174.jpg

图4-99 和利时LM机定时中断跟踪控制

定时中断功能块的设定,“PERIOD”为500,即500μs。“INT_EN”设为1,即启用定时中断。“MODE”设为0。以上设定含义是每隔500μs进行一次中断。

同时,在“PLC任务配置”中,选定“HD_TC7 interupt”激活,并与此事件关联的程序名设为“IntTime”。以上设定含义是每隔500μs进行一次中断。调用一次IntTime中断服务程序。

而图4-99a所示的为中断服务程序。这里,节1进行“hdQ.CV”(定时功能块设定为全局变量,故可以在中断程序中使用次变量)与“hdW”及“ptowd”与“hdc”比较。若两者不等,将分别置位“hdk”及“wo”。

节2,如“hdk”ON,则把“hdW”赋值给hdW0”(保存上一次中断的数据),同时把“hdQ.CV”赋值给“hdw”(存储新周期的数据)。

节3,进行计算。先把“hdw”加1000(计数功能块的设定数)存于“hdw1”中。再进行“hdw1”被“hdw0”减,再求模。目的是不管“hdw1”是大于,还是小于“hdw0”,都可以得到两次计数值之间的“差”。

节4,输出脉冲。其发送脉冲数的设定值为“hdc”,为两次中断之间计数值之差。而它的势能用“wo”信号。“wo”ON代表“ptowd”(已发送脉冲)与“hdc”(要求发送脉冲)不等。一旦两者相等,则“wo”OFF,又可以为新的发送做好准备。

这两个程序结合,就是当%IX0.0收到一串脉冲,PLC通过中断服务程序(IntTime)即向%QX1.0发送一串脉冲。使%QX1.0控制的对象能跟踪%IX0.0反映的对象的变化。

当然,这里是1∶1的跟踪,也可以1∶2,或者2∶1等多种形式的跟踪。只要把这里节3的计算做适当改变就可以了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈