作为 BACnet 世界的初学者,我正在研究 BACnet 设备的说明。如果我有一个想要与 BACnet 兼容的系统,我假设该系统被认为是一个对象,例如模拟输入,并且实际设备是一个控制器或类似的具有多个插入其中的对象。ASHREA 标准 135-2016 规定,每个设备中都应该有一个设备对象类型。BACnet 上的每个系统(即 HVAC、传感器、照明、门或其他任何东西)是否被视为设备或对象?谢谢你的帮助!
2 回答
一个系统(例如空气处理器)通常通过一个或多个设备进行控制。在每个设备中,每个现实世界的数据(例如测量的空气温度,或发送到电机的控制信号)都将是一个输入、一个输出或一个值对象。
复杂系统(如空气处理机)的控制逻辑将作为固定固件、可编程控制模块或通过一些复杂的标准 BACnet 对象类型的配置包含在设备集合中。
例如,空气处理器内的风门控制可能由绑定到模拟输出对象的 BACnet 循环对象(PID 循环)处理;事件注册对象可能会监视使用阻尼器的不利条件的检测;并且阻尼器性能的日志可能由趋势日志对象生成。空气处理器的整体控制逻辑可能由程序对象的集合处理。
回过头来看看 HVAC 系统的大部分,空气处理器和分配空调空气的 VAV 箱之间的合作,可能由空气处理器设备中的 Program 对象处理,读取和写入输入、输出和值控制 VAV 盒的设备集合中的对象。
我将尝试将焦点缩小到您的问题上;就模型的自我引用(/几乎递归)性质而言,这有点乱伦 - 至少对于“设备”的一种情况。
这是我的简单总结:-
就显式/具体模型而言,BACnet 将基本/高级部分(/模型中的玩家或演员)建模为“对象”或挂在(/父)对象上的“属性”( - 很可能只是恰好属于引用它的父对象的一组相关属性中的一个)。
每个对象都属于一个类/对象组,或者更准确地说,属于一个对象类型(- 每个对象都带有一种标准类型的标记-以便识别它的核心/基本功能)。
您有物理设备(-“哇哦!我可以触摸它!”;D)。
然后你就有了 BACnet 对设备的逻辑演绎——它(实际上)不是 BACnet 模型中的一个独立项目——至少不像“对象”或“属性”那样多/像“对象”或“属性”——它只是对以下方面感兴趣'我如何到达那里'/物品宝箱的位置 - 避开设备并直接跳入对它包含的'物品'表现出兴趣(-“塞满我美妙的 [对象] 孩子,那我 [父设备]!?" ;P); BACnet 世界中的“设备”表示为特定的对象类型之一——“设备”类型对象(或者更确切地说是“对象类型”属性设置为“设备”的对象)。
因此,它不仅是在我们的 OOP(面向对象编程)类模型中访问真正感兴趣的项目的网关——“对象”及其相关(/子)“属性”。
但是——这就是它有点自我参照/鸡蛋和鸡的地方;它也被表示为一个对象本身(如果它只是设备对象集驻留在 BACnet InterNetwork 上的位置,则超出更典型的情况)——它恰好是所有相关对象列表的保持者该物理设备(至少正如供应商通过 BACnet 的解释舞蹈所描绘/展示的那样,以及对如何传达价值的方式略有供应商专有/开放的再现),其中,“对象列表”属性(逻辑设备/)“设备”对象还包含对“设备”对象/本身的引用。=S
如果你读了几次,它应该是有道理的;如果确实如此,那么乍一看它可能有点像胡说八道/不是立即直观的(至少不是没有亲眼看到它)。;P