如何实现S7-1500 + WinCC GroupDisplay组显示,本文分享一个实现方法,方法如下:
1,在需要报警的FB中调用Program_Alarm,
声明一个static byte,用于储存Get_AlarmState的状态输出,
声明一个Static bool或者byte储存Get_AlarmState的Error输出,
声明一个temp Word 储Get_AlarmState的状态输出;
如下:

2,在FB声明一个输出,如EventState,用于连接到wincc的组显示控件,熟悉PCS7的朋友都知道组显示各个bit代表的意义,Bit0-15为各个报警的状态(到达,离开,确认等),Bit16-31为报警的触发位,如Bit31为Alarm High,对应的Bit15是Alarmhigh的状态;然后将Get_AlarmState获取相关状态赋值给EventStete,这里有一点需要注意,Bit0-15正常状态下为TRUE,Bit16-31正常状态下为FALSE,所以未使用的位分别赋值TRUE或者FALSE;

3,wincc的报警消息利用EventState来做,也可以用AS加载来上传消息,本文用的是后者,可同时上传消息内容和其他参数,再次不做赘述;

4,最最关键的一点,如何在导航栏中显示报警?利用自定义对象(或者直接用组显示),建立如下三个属性;分别关联组显示的属性

Relevant一定要赋值为TRUE
5,保存画面树!!!这样相关的报警就会显示到导航栏上

总结:只要了解GroupDisplay控件,Program_alarm和Get_AlarmState的用法,实现起来并不难,主要是组态流程画面之后一定要保存一次画面树

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



