在PLC控制系统中,往往需要对控制过程进行监控,用以分析判断过程的状态,这种监控是根据需要自定义的。S7-1200PLC操作系统会对所定义的监控自动响应,实现过程控制的立即响应或信息报警。S7-1200PLC提供两种途径,实现对过程监控的响应:
•硬件信号监控触发硬件中断OB,可利用中断响应的实时性满足对某些过程事件(超限等)的快速响应。
•通过编程“Gen_UsrMsg”指令,将程序中判断出的过程报警作为事件发送给CPU,可以在CPU的诊断缓冲区显示。
1.硬件中断OB
S7-1200PLC的高速计数器和数字量输入通道可以组态硬件中断,需要设置:
•触发硬件中断的过程事件,如使能数字量输入的“启用上升沿检测”。
•分配响应此过程事件的硬件中断OB。
在CPU中,编程访问硬件中断OB的启动信息评估触发中断的过程事件。硬件中断OB的启动信息如图13-39所示。
图13-39 硬件中断OB的启动信息
①“LADDR”:触发硬件中断的模块硬件标识符。
②“USI”:与用户无关。
③“IChannel”:触发硬件中断的通道编号。
④“EventType”:事件类型,数值含义取决于触发事件的模块,含义见表13-15。
在实际应用中,可根据需要(如调试阶段),通过编程“DETACH”指令将过程事件与中断OB脱离,使CPU操作系统不响应此事件,达到屏蔽事件的效果。之后可以编程“AT- TACH”指令再将中断OB附加到过程事件,启动CPU操作系统对此过程事件的响应,实现过程诊断的功能。
表13-15 触发过程中断的事件类型
2.Gen_UsrMsg指令
通过编程“Gen_UsrMsg”指令可以生成用户诊断报警,当报警触发时,记录在诊断缓冲区中。报警信息在诊断缓冲区定义3个方面的内容:
1)到达/离去事件:由参数Mode定义,1:到达的报警,2:离去的报警。
2)报警文本:用户自定义文本,由参数TextID,TextListID指定,报警文本在“PLC报警文本列表”中定义,如图13-40所示。
(www.xing528.com)
图13-40 报警文本列表
①本列表ID:报警时由参数TextListID指定,如果不显示此列,可在右键菜单“显示/隐藏”中勾选“id”。
②通过参数TextID对应到文本列表条目的“起始范围/终止范围”的数值,来选择报警显示的文本条目。
③报警文本。
④以在报警文本中输入字符串“@3I%6d@”设置关联值,示例中表示关联参数AssocValues中编号为3的关联值,并作为十进制输出。
3)关联值:可用于在报警信息中显示报警发生时的过程值,关联参数AssocValues,参数的数据类型为系统数据类型“AssocValues”,可以关联8个UInt类型的数据,见表13-16。
表13-16 关联参数AssocValues
下面通过示例说明硬件中断OB和“Gen_UsrMsg”指令这两个功能的用法。示例中的数字输入通道I0.4测量压力开关信号“Pressure_Hi”,在通道参数中使能“启用上升沿检测”和“启用下降沿检测”用于检测压力高报警和压力恢复事件,当硬件中断检测到I0.4“上升沿”事件时控制电机停机,输出“压力高”报警到诊断缓冲区,检测到I0.4“下降沿”事件时允许电机起动,输出“压力恢复正常”报警到诊断缓冲区。通道的硬件中断设置方法参考第3章。
在硬件中断OB40中,编程对事件的响应。对中断OB的启动信息评估编程如图13-41所示。
图13-41 硬件中断OB启动信息评估
报警输出编程如图13-42所示。
图13-42 编程“Gen_UsrMsg”指令
诊断缓冲区显示报警如图13-43所示。
图13-43 用户定义报警显示
①状态图标表示此事件为用户自定义诊断事件。
②到达事件,示例中为发生“压力高”故障。
③离去事件,示例中为发生“压力高”故障消除。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。