S7-PDIAG包含三种诊断功能,分别是地址监控(Address monitoring)、全局监控(globalmonitoring或General monitoring)和运动监控(Motionmonitoring),下面分别介绍这三种诊断功能。
1.地址监控
地址监控功能监控一个位信号的状态变化,可以设定一个沿信号和电平信号,设置界面如图3所示:
在“Initial Diagnostic Address”设置监控的地址,如M1.1,选择监控的信
号,如沿信号和电平信号,如果激活“Delay”功能,则需要设定相应的延迟时间,表示如果监控信号变化,将延迟设定的时间后触发,S7-PDIAG在程序内部调用SFC64,时间格式为IEC标准,例如T#1H19M12S100MS 表示的时间值为1 小时19 分12 秒100 毫秒,配置的延时定时器的个数没有限制。在“Meassage”栏中设定信号触发的消息和优先级,配置完成后点击“OK”键确认。
2.全局监控
全局地址监控功能监控一个表达式,如果表达式结果为1则触发消息,设置界面如图4所示:
在“Initial Diagnostic Address”设置监控的初始地址,如M1.1,在
“Monitoring Definition”中定义事件触发的条件,触发条件必须使用S7-PDIAG 语言编写,S7-PDIAG语言包含下列基本指令:
1) AND 与操作,例如表达式为 M1.1 AND M1.2,如果M1.1 与M1.2 为1,表达式结果为1;
2) ONDT 执行信号 ON 延时,例如表达式为ONDT(M1.1,T#2S),如果M1.1 为1 并延时2秒后表达式结果为1;
3) EN 存入下降沿结果,例如表达式为 EN(M1.1),M1.1 产生下降沿时表达式结果为1,M1.1为1 时,表达式结果为0;
4) EP 存入上升沿结果,与EN ;
5) NOT 取反,例如表达式为 NOT M1.1, 如果M1.1 为0 时表达式结果为1;
6) OR 或操作,例如表达式为 M1.1 OR M1.2,如果 M1.1 与M1.2 其中一个为1,表达式结果为1;
7) SRT 置位复位延时,例如表达式为SRT(M1.1,M1.2 T#2S),如果M1.1 为1(沿信号)2秒后,表达式结果为1,如果如果M1.1为1,表达式结果为0,2 秒后表达式结果为1,如果M1.2为1(沿信号),表达式结果为0。
8) XOR 异或,例如表达式为M1.1 XOR M1.2,当M1.1 与M1.2 不相表达式结果为1。
如果在一个表达式中使用多个指令,指令的优先级参考表1