说在前面:本贴主要站在软件开发者的角度,分析如何将WinCC的报警纳入外部系统管理。
场景:某公司需要开发一套云平台,开发语言(java/php/.net...);现有一个需求,需要将WinCC的报警信息同步到该系统,存储,统计,出图表,APP查看,实时提醒。
如上需求最难解决的就是:WinCC的报警如何同步到云平台?
一开始思维方向是借助HMIRuntime的Alarms来获取最新报警信息,发送给云平台,后来发现Alarms里面的报警只有部分属性是可读的,大部分是无效的,比如"报警状态",永远是0.
后来查文档,发现标准函数里面有一个GMsgFunction。这个可以结合报警配置来触发。这个函数可以在报警状态变化时触发。
至此,WinCC报警到云平台的同步问题就可以很好的解决了!
欢迎大家提出更好的思路。