系统事件用于在工程中调用POU,而不是用于在任务中调用POU。当相应事件触发时,调用相应的POU,例如T2、T3、T4 定时器溢出和快速外部中断脉冲到达等都会产生中断,调用相应的事件。
举例
要求
不受PLC 扫描周期的影响,实现下列功能:
每当I0.6 到达一个上升沿,PLC 立刻响应该脉冲,并产生一个中断,%MW100 中的值增加10。
每当I0.7 到达一个上升沿,PLC 立刻响应该脉冲,并产生一个中断,%MW102 中的值增加15。
程序分析
按上述要求,硬件需要使用LM3106 CPU 模块,软件需要使用以下模块:
Fast_ExINT_LM3106(快速外部中断)
程序分为如下3 个部分:
主程序——定义LM3106 CPU 模块的快速外部中断模式。
INT3PRO——I0.6 脉冲到达执行的中断程序,%MW100 中的值增加10。
INT2PRO——I0.7 脉冲到达执行的中断程序,%MW102 中的值增加15。
程序编制
主程序:
首先要将程序所用到的库Hollysys_PLC_Ex_ExINT.lib 添加到库管理器。按照要求,I0.6和I0.7 每到达一个上升沿,就产生一个中断,I1.0 不使用,则Fast_ExINT_LM3106 功能块的Mode=16#50,主程序的变量定义和梯形图如图8-4-4 所示。
所创建的中断程序默认为ST 语言,可以选择转换为LD 语言。转换前需要编译通过,
如图8-4-7 所示。
INT3Pro 中断程序梯形图如图8-4-8 所示。
INT2Pro 中断程序梯形图如图8-4-9 所示。
然后就可以在INT2Pro 和INT3Pro 中编写梯形图程序。当然也可以不进行语言的转化,使用ST 直接编写。当系统事件触发时,调用相应的程序。
注意,系统事件不支持仿真模式,只有在程序编译通过且登录运行后才会响应该事件。当一次进行多个任务配置时,要求先进行全部编译之后,再保存文件。