关于报警概念,即损害自动化系统正确运行的事件必须作为报警发送给控制系统。报警来自与现场设备相连接的过程,称之为过程报警,例如温度超过上限;报警来自现场设备本身,称为诊断报警,例如插拔模块。发生过程报警时,设备仍然能正常工作。诊断报警标识为入向“Incoming”或者出向“Outgoing”来表示报警的到来和离开,而过程报警仅传递一个入向“Incoming”消息。
PROFINET 可以基于槽/子槽组合以及相关通道的进行报警起源定位,以及通过接口模块中的报警-ASE(Alarm ServiceEntity:报jingfu务实体)发送实时非循环的高优先级(5,6)报警传输至高层控制器。PROFINET只会对发出的诊断报警保存在模块的诊断缓存中,并在接口模块上存在该报警信息的映射。此时控制器或者监视器可以利用数据记录关系Recorddata-CR来读取缓存中的诊断信息。诊断报警作为消息保存在报警ASE中,直到它们被明确消除并由上层控制器确认为止。而过程报警则不记录在诊断缓存中,而是被报警-ASE直接发出,IO模块存在过程报警的队列,例如ET200SP的一个8DI HF模块可以缓存9个过程报警。
设置IO设备中的DI模块,组态通道4的硬件中断,当电压出现上升沿就会立即触发报警,这样的报警可以认为是过程中出现的紧急状态,即过程报警。过程报警不会对RTC的APDU状态产生任何影响,不触发任何设置,这样的报警直接由控制系统评估,例如,硬件中断“Hardwareinterrupt”组织块OB40。
给该通道输入高电平,触发该通道过程报警,使用Bany捕捉相关的报文。过程报警通过PNIO-AL帧(序号2588)发出报警,在报文中标记该报文FrameID=0xFC01,优先级为6(PRI:6)的高优先级报警(AlarmHigh)。同样在“AlarmNotification”信息包含了明确的故障信息,报警类型“AlarmType”为过程“Process”报警。使用API0x0,槽0x0001/子槽0x0001组合以及模块标识符0x00004d4d来明确故障的位置。“AlarmSpecifier”和“UserStructureIdentifier”与过程报警无关。“UserData”=0x00010401才是过程报警中的故障原因。