何时使用 BACnet 库或 CmpBACnet 库 注意 这些描述也始终适用于相应的库 CODESYS BACnet2 SL (“主要修订2”)。 IEC 库 BACnet 旨在作为 IEC 库之上的一层 CmpBACnet 。但是,该层不会隐藏库,因为这需要 BACnet 库具有“外观功能”的功能 CmpBACnet 。这些“外观函数”将导致更大的应用程序代码和增加的运行时要求。这对于PLC来
BACnet 数据类型 – 定义和例外 这 BACnet 库主要使用 BACnet 数据类型(在 CmpBACnet 库)在其接口(方法参数、方法返回值、功能块属性)。 如果接口上使用其他数据类型(在这种情况下主要是 IEC 基本数据类型),则相应的方法和属性将执行与相应内部使用的隐式转换 BACnet 数据类型。 例子: 转换 国际电工委员会 BOOL <-> CmpBACnet.IEC_BAC
使用电流时的实施要求 BACnet API/堆栈 在实施 BACnet 这里描述的API/stack,很大一部分对象行为是在 BACnet 标准已经预先实施。但是,每个特定应用程序(用户应用程序,或者换句话说您的应用程序)必须实现特定的对象操作,以便完全遵守 BACnet 标准(例如,获得BTL认证)。 许多服务请求已在此 API 中处理,因此应用程序无需注册所有服务挂钩即可作为服务运行 BACn
带有内部使用实现的服务指示挂钩 以下列出的挂钩没有实现任何默认操作,但“高级客户端 API”使用这组函数从远程设备获取数据: ConfirmedCOVNotification 服务挂钩 ConfirmedEventNotification 服务挂钩 UnconfirmedCOVNotification 服务挂钩 UnconfirmedEventNotification 服务挂钩 这些钩子可用于接收
没有默认操作实现的服务指示挂钩 以下列出的挂钩未实施任何默认操作。在必须支持服务的情况下,应用程序必须实现自己的请求处理例程。 DeviceCommunicationControl 服务挂钩 ReinitializeDevice 服务挂钩 TimeSynchronization 服务挂钩 UtcTimeSynchronization 服务挂钩 此处列出的钩子可能必须由用户应用程序实现(取决于用户应