> 文章列表 > ERTEC200P-2 PROFINET设备完全开发手册(6-2)

ERTEC200P-2 PROFINET设备完全开发手册(6-2)

ERTEC200P-2 PROFINET设备完全开发手册(6-2)

6.2 诊断与报警实验

首先确认固件 App1_STANDARD, 将宏定义改为:

#define EXAMPL_DEV_CONFIG_VERSION  1

参照第6节的内容,编译和调试固件,并在TIA Portal 中建立RT项目。启动固件后,TIA Portal 切换到在线,可以看到PLC与设备正常工作:

串口终端输入‘?’可以看到指令列表:

 输入‘B’可以发送通道诊断报警‘line break’在槽1-子槽1。在串口终端输入‘B’,

可以看到PLC的故障灯(红色)已经开始闪烁,在TIA 可以看到PLC出现故障提示。

打开诊断缓冲区,可以看到诊断事件“断路”和详细信息。可以看到这是一个诊断事件到达报警。

 

 

输入’b’,可以看到PLC恢复正常工作状态,并且从诊断缓冲区看到诊断事件离去报警

 

 

如果要自定义通道报警错误类型ErrorType,最好使用0x100-0x7FFF之间的错误类型号,并且在GSDML文件中指定错误类型号对应的提示信息。举例来说,如果我们定义一个错误类型号为257(0x101),则需要在GDSML中添加如下内容。

 

接下来我们试验一下PLC对于报警事件的处理。首先定义三个变量

在PLC中添加OB82

 

并在OB82中添加如下指令

 

在串口输入’B’,可以看到:

 

 输入’b’,可以看到:

 

因此可知,每次PLC接收到通道报警,均会执行OB82

同样,添加OB40

 同理,在OB40中添加如下指令

在slot1 “64byte 输入”上使能硬件中断,并将硬件中断分配给OB40。编译PLC并下载、运行。

在串口终端输入’a’ (send process alarm on slot1, subslot1),可以看到:

 

因此可知,每次PLC接收到过程报警,均会执行OB40中断

同样,添加OB55

在OB55中添加如下指令

 在串口终端输入 'h' (send status alarm on slot1, subslot1),可以看到

因此可知,每次PLC接收到状态报警,均会执行OB55