首页 理论教育 状态变量消息类型存储和确认位位置

状态变量消息类型存储和确认位位置

时间:2023-11-06 理论教育 版权反馈
【摘要】:状态变量消息类型的“已到达/已离去”状态以及要确认的消息的标识符存储在状态变量内。“确认位”的位置取决于状态变量的数据类型与指示“已到达/已离去”状态位的距离,“8位无符号”变量为4位,“16位无符号”变量为8位,“32位无符号”变量为16位。状态变量的位25 指示此单个消息是否需要确认。相应地,位“0~15”分别对应于“32位”状态变量的位“16~31”。如果隐藏变量的值为“1”,则消息将被隐藏。

状态变量消息类型存储和确认位位置

(1)消息变量

在位消息的操作步骤中,控制系统将通过消息变量发信号来通知在过程中事件的发生。通过一个消息变量可以屏蔽多条消息。消息变量的一个位,只能触发一条消息。

(2)确认变量

在单个消息中,使用一个确认变量或确认变量位来触发确认及显示状态。如果确认变量是BOOL型变量,可直接通过确认变量触发;而如果是确认变量的某一位,则需要确认位。

如果对应确认位的值为“1”,则表示该单个消息已确认。

如果对应确认位的值为“0”,则表示该单个消息尚未确认。

(3)状态变量

消息类型的“已到达/已离去”状态以及要确认的消息的标识符存储在状态变量内。单个消息的这两种状态存储在状态变量中,每条单个消息占用状态变量中的2位。对于不同类型的状态变量,可以存储的状态变量个数也不同,但在一个32位状态变量中最多可记录16条单个消息。

1)确认位:当接收到需要确认的单个消息且尚未确认时,状态变量中的确认位就会变为“1”;当确认了需要确认的单个消息,确认位将变为“0”。

2)“到达/离去”状态位和“确认”状态位的位置:状态变量中“到达/离去”状态位的位置由状态位标识。“确认位”的位置取决于状态变量的数据类型与指示“已到达/已离去”状态位的距离,“8位无符号”变量为4位,“16位无符号”变量为8位,“32位无符号”变量为16位。

以“32位无符号”数据类型的状态变量为例:如果状态变量为“32位无符号”数据类型,且状态位=9,状态变量的位9指示单个消息的“到达/离去”状态。状态变量的位25 指示此单个消息是否需要确认。相应地,位“0~15”分别对应于“32位”状态变量的位“16~31”。

978-7-111-50543-3-Chapter08-2.jpg

(4)锁定变量

锁定变量用于判断组消息的锁定状态。锁定变量没有专门指定的结构,但变量必须是无符号变量类型。因此,可采取下列方式组态锁定变量:

1)为每条组消息组态单独的锁定变量。

2)将多条组消息组合在单个锁定变量中,通过锁定位标识组消息。

如果使用锁定对话框在运行期间锁定了某个组消息,则在组态的变量中设置相关的锁定位。(www.xing528.com)

(5)隐藏变量(通过表格阐述)

隐藏变量用于自动隐藏属于用户自定义组消息的单个消息。在单个消息的参数中,通过指定隐藏掩码来隐藏单个掩码时的系统状态。

隐藏掩码的十六进制值由经过组态的系统状态构成。隐藏变量必须接受系统状态的值才能使消息被隐藏。隐藏变量的值与其“Process cell state”相对应,以下部分列出了隐藏变量的四个示例。

1)隐藏掩码0x0。隐藏已禁用,消息不会被隐藏。系统状态组态如图8-2所示。

2)隐藏掩码0x1。如果隐藏变量的值为“1”,则消息将被隐藏。系统状态组态如图8-3所示。

978-7-111-50543-3-Chapter08-3.jpg

图8-2 系统状态组态(隐藏禁用)

978-7-111-50543-3-Chapter08-4.jpg

图8-3 系统状态组态(掩藏掩码=0x1)

3)隐藏掩码0xD。如果隐藏变量的值为“1”、“3”或“4”,则消息将被隐藏。系统状态组态如图8-4所示。

4)隐藏掩码0xFFFFFFFF。如果隐藏变量的值大于零,则消息将被隐藏。系统状态组态如图8-5所示。

978-7-111-50543-3-Chapter08-5.jpg

图8-4 系统状态组态(隐藏掩码=0xD)

978-7-111-50543-3-Chapter08-6.jpg

图8-5 系统状态组态(掩藏掩码=0xFFFFFFFF)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈