图9-17选择“编辑”选项步骤5:选择该命令后,即可为选中的命令按钮进行重命名。调整该命令按钮的位置,完成效果如图9-18所示。图9-21显示效果◆知识链接ActiveX控件中的各个按钮及控件功能如下:命令按钮:用于运行在用户单击它时选择相应操作的宏。命令按钮还称为下压按钮。......
2023-11-23
可以使用多种方式来实现BACnet-MS/TP协议的软件编程,下面是一个在MCU(Micro Con-trol Unit,微控制单元)中实现BACnet-MS/TP协议的软件结构框架。
完整的协议栈软件自上而下的结构是:应用层模块→对象模块→服务模块→基本数据类型模块→数据链路层(MS/TP)模块→网络层接口模块。
DDC中的协议栈软件结构中最复杂的是应用层模块,包含BACnet对象模块、基本数据类型模块、APDU解析/分发模块和APDU组装模块。
1.应用层模块
如前所述,BACnet协议为了节约软硬件开销简化了层次结构,使得BACnet应用层涵盖了开放系统互联参考模型(OSI)中会话层、表示层和应用层的功能。BACnet应用层模块是BACnet应用软件的基础,它实现BACnet协议应用层内容,负责提供工作站的各功能模块与物理设备直接的通信服务。根据应用层的功能分析,可以将应用层划分为如下模块:对象模块、服务模块、基本数据类型模块。
(1)对象模块
对象模块定义了BACnet对象。BACnet对象按其功能可分为两类:一类是采集数据的对象,如模拟输入/输出对象,这类对象需要访问设备硬件;另一类对象是在采集的数据基础上完成复杂功能,如环对象以及其他实现报警事件功能的对象,这类对象不需访问硬件。另外,某些对象的属性(如趋势登录对象的缓存器大小属性)需要设备厂商根据DDC型号进行初始配置,协议栈提供对这些属性的配置函数接口。
(2)服务模块
服务模块用于处理报文的分发、解析和组装。对于从网络层上来的APDU,服务模块根据APDU的类型和服务选择参数,调用相应的服务解析模块。服务解析模块对APDU的信息进行解码,并根据需要与DDC中的BACnet对象进行交互。另一方面,DDC会发出响应报文(如读属性响应),或者主动发出某些报文(如事件与报警服务),因此服务模块还提供服务报文组装的函数接口。
(3)基本数据类型模块
基本数据类型模块是一个工具类库,包含对基本数据类型的定义及其编、解码函数。BACnet包含13种应用数据类型以及其他基本数据类型。BACnet应用数据类型可以直接进行编、解码。BACnet基本数据类型对应着ASN.1中的复合数据类型,它是由BACnet应用数据类型配合标记按照一定的结构组合而成的。因此,基本数据类型的编/解码实际上是按一定的规则调用应用数据类型以及标记的编/解码方法来实现的。
2.网络层模块
对于DDC来说,网络层向应用层提供一个不确认的无连接数据单元传输服务。网络层与应用层交互的服务原语是网络层数据单元请求(N-UNITDATA.request)和网络层数据单元指示(N-UNITDATA.indication)。其原语参数如下:
N-UNITDATA.request(destination address,data,network priority,data expecting reply)
N-UNITDATA.indication(source address,destination address,data,network priority,data ex-pecting reply)
DDC收到来自链路层数据,解析出相应的地址信息,并把地址信息和APDU绑定起来存放到一个结构中传送给应用层,这样当应用层需要回复报文时可以得到目标地址。
3.数据链路层(MS/TP)模块
MS/TP是一个主从/令牌传递的数据链路协议,物理层采用RS-485半双工通信标准。MS/TP层包含两个状态机,分别是主节点状态机和接收帧状态机;接收帧状态机负责帧的接收,如是数据帧则调用网络层接口上传给网络层,主节点状态机负责帧(包括数据帧和控制帧)的发送。两个状态机分时实现,根据两者之间的关系,接收帧状态机可放在主节点状态机中统一调度。BACnet数据链路层模块中的接收模块实现接收帧状态机;发送模块实现主节点状态机;串口控制模块实现串口驱动与收发控制,串口读写采用中断方式。
4.网络层接口模块
网络层接口模块定义接口及接口函数调用模块,使用服务原语DL UNITDATA.request和DL UNITDATA.indication来实现。
使用以上MS/TP协议软件结构框架,可以解决BACnet控制器的通信功能。解决方案具有极大地多样化特点,这仅仅是其中的一个方案而已。
有关BACnet标准与楼宇自控系统技术的文章
图9-17选择“编辑”选项步骤5:选择该命令后,即可为选中的命令按钮进行重命名。调整该命令按钮的位置,完成效果如图9-18所示。图9-21显示效果◆知识链接ActiveX控件中的各个按钮及控件功能如下:命令按钮:用于运行在用户单击它时选择相应操作的宏。命令按钮还称为下压按钮。......
2023-11-23
Microsoft公司在其最新版的操作系统Windows XP中已加入了对IPv6的支持。待安装完成后就可使用IPv6了。此时的系统相当于双协议栈及支持IPv4又支持IPv6。Windows XP在默认的IPv6协议栈加载后,自动产生4个接口分别是:局域网接口。Windows XP自带的隧道代理也可以修改,修改成你所要预设6 to 4服务器,你可以在网上寻找这样的服务器。除了在隧道方面自动外Windows XP自带的telnet与ftp客户端都能兼容Ipv6。......
2023-10-18
SAMCEF Rotor软件中使用的简化模型主要是指超单元,超单元通过简化的刚度、质量、阻尼矩阵和载荷向量描述了子结构。注意GUYAN方法对线性静力问题是准确的,在动力学分析中,和CRAIG与BAMPTON方法一样,它是近似的,并且可以通过使用附加模态来改良。例如,图13-7显示一个外套被分成了四个部分,每一个定子的组分通过超单元来描述。......
2023-10-27
VERITAS备份软件在人大图书馆中的应用李伶 储继华摘要:备份是图书馆进行数据保护的常用手段。在人大图书馆众多的应用系统中,很多系统是由资源加工、处理与对外发布、服务模块组成,并且几项功能共同安装于一台服务器上。具体备份策略如下:4.VERITAS在人大图书馆数据备份中的应用4.1 VERITAS NetBackup整合了不同平台的备份管理通过备份服务器上的Veritas NetBackup软件,在同一管理窗口使用一个应用程序就能管理不同平台的所有介质,实现数据......
2023-11-30
在方法论中原型界面就是原型,并不代表系统的最终实现,可以使用草图来表示。图3-18审核薪资原型界面同时配合原型界面的使用以及为设计人员提供关键元素,每个原型界面都有对应的用例脚本展示,主要以边界类、业务类及实体类的划分为依据,按照MVC的主要思想将设计的关键要素表达出来。......
2023-11-17
基于以上工艺要求,中包必须具备高度可调的升降控制功能。中包四缸升降比例控制原理如图8-17所示。2)为了保持中包始终处于水平状态,四个液压缸单独使用比例阀控制。2)为了确保四个液压缸同步动作,维持中包水平,需使用4通道同步液压马达进行位置同步控制,以确保每个液压缸升降高度完全一致。......
2023-06-15
为了进一步掌握某型火箭炮软件产品的质量状况,通过静态测试尽早发现软件中存在的缺陷,对软件产品进行完善和修订达到提升软件产品质量的目的。以某火箭炮软件代码静态测试的实际应用,证明这种方法的实施能够达到提升软件产品质量的效果。......
2023-06-23
EtherCAT包括以下几种应用层协议:1.CANopen over EtherCATCANopen最初是为基于CAN总线的系统所制定的应用层协议。EtherCAT协议在应用层支持CANopen协议,并做了相应的扩充,其主要功能有:1)使用邮箱通信访问CANopen对象字典及其对象,实现网络初始化。图10-5 EtherCAT协议结构2)使用CANopen应急对象和可选的事件驱动PDO消息,实现网络管理。EtherCAT能分段传输标准以太网协议数据帧,并在相关的设备完成组装。......
2023-11-22
相关推荐