首页 理论教育BACnet标准中的接收数据帧和Master节点状态机

BACnet标准中的接收数据帧和Master节点状态机

【摘要】:BACnet MS/TP定义了3个有限状态机:第一个是BACnet接收数据帧状态机;第二个是BACnet Master节点状态机;第三个是BACnet Slave节点状态机。在BACnet MS/TP主程序中,当主程序处理完接收数据帧状态机,就会进入BACnet MS/TP的BACnet Master节点状态机中,在BACnet接收数据帧状态机中会反馈接收状态,该状态会在BACnet Master节点状态机作为函数执行的一个判断条件。

BACnet MS/TP定义了3个有限状态机:第一个是BACnet接收数据帧状态机(BACnet Re-ceive Frame Finite State Machine);第二个是BACnet Master节点状态机(BACnet Master Node Finite State Machine);第三个是BACnet Slave节点状态机(BACnet Slave Node State Machine)。

BACnet Slave节点状态机比较简单,是BACnet Master节点状态机的一个子集,BACnet Slave节点状态机主要用来处理不需要维护令牌环的设备,如I/O模块,外围设备传感器、执行器,主要是作为其他提出服务请求设备的应答设备。

在BACnet MS/TP的BACnet接收数据帧状态机中,如果按照协议规定,是接收程序要一个一个字节地接收并解析,在Firmware级别的设备中,UART会产生硬件中断,CPU要处理的逻辑比较简单。这里的firmware是指固件,即设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。UART(Universal Asynchronous Receiver/Transmitter,是通用异步接收/发送装置),是一个并行输入成为串行输出的芯片。

在BACnet MS/TP主程序中,当主程序处理完接收数据帧状态机,就会进入BACnet MS/TP的BACnet Master节点状态机中,在BACnet接收数据帧状态机中会反馈接收状态,该状态会在BACnet Master节点状态机作为函数执行的一个判断条件。

BACnet MS/TP的BACnet Master节点状态机的开发中,令牌(Token)的维护是非常重要的工作,该节点状态机的正常工作运行是其他BACnet设备通畅通信的基础,令牌(Token)维护不出问题,就不会造成令牌的频繁丢失。