如何使用消息的状态变量?

说明:
可以在报警纪录编辑器中定义WinCC单个消息或组消息的状态变量。状态变量可以是WinCC的无符号8位、无符号16位、无符号32位的内部或外部变量。 运行时,系统为消息状态变量提供下列信息:n

  • 消息来/走状态(状态位)
  • 消息被确认状态(确认位)

这两个状态位由两个单独的位(状态位和确认位)来表示。 不同消息号的消息状态可以用一个状态变量的不同位来表示。用无符号8位的状态变量可以表示4条消息,无符号16位可以表示8条,无符号32位可以表示16条。n

在报警纪录编辑器中设置状态变量。不能定义状态变量的所有位作为状态位。可以根据状态变量的数据类型,定义无符号8位的前4位,无符号16位的前8位,无符号32位的前16位作为状态位。其他位为确认位。状态变量中的每一个状态位都分配有一个确认位。如果在运行时状态位被置位时,意味着有相应的消息到来。 (消息触发事件的出现是和确认状态是无关的).n

如果在运行时状态位未被置位时,意味着相应的消息已走。- (消息触发事件不再出现,且和确认状态是无关的)。这种状况对消息类别中具有有“消息没有走状态”属性的消息不适用的。n

消息变量中的确认位的位置是由状态位的位置和一个偏移量决定的。偏移量是由状态变量的类型决定的。 无符号8位的偏移量是4个位,无符号16位是8个位,无符号32位是16个位。n

当需要确认的消息到来时,确认位被系统置位。当消息被确认时,确认位被系统复位。 对于无需确认的消息,确认位不被置位。n

警告

  • 状态变量的每一个状态位仅可以分配给一个消息
  • 当消息被锁定时,状态和确认位先被复位或不会被置位
    消息是否被锁定的信息不是存在于状态变量。对于组消息,可以将锁定信息放在锁定变量来显示。如果消息被锁定,状态变量的状态和确认位先被复位或不被置位,和消息的状态是无关的。n
  • 按时序产生报表的特例
    原则上,可以为有时间顺序的消息分配状态变量。但是下一次OS编译时,所作的状态位的组态将被删掉。如果需要消息状态,建议使用"*.EventState" 变量。关于这个主题的信息请参见WinCC的帮助系统 "Working with WinCC > Creating Process Screens > Working with Objects > Working with Objects from the Object Palette > Working with Smart Objects > Group Display"。

更多的信息请参见WinCC的帮助系统的相关章节

  • "Working with WinCC > Setting Up an Alarm Systems > Configuring the Message System > Using Single Messages > Single Message Tags > Status Tag of a Single Message".
  • "Working with WinCC > Setting Up an Alarm Systems > Configuring the Message System > Using Single Messages > Single Message Tags > Status Tag of a Single Message".

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论