LonWorks协议说明

LonWorks协议

(海思自动化提供)

   LonWorksm网络通信协议为LonTalk协议,LonTalk 协议在 OSI 七层参考模型的每一层提供服务。

    该协议可供任何人实施,因此,可从 CEA 获取 C 编程语言中的参考实施。自发明以来,该协议就成为 ANSI 标准、IEC 标准、中国国家标准,最近又获得 ISO 标准化认证。

第一层:物理层

    在第 一 层,多种物理连接可支持如 RS-485收发器、埃施朗的自由拓扑 (FT) 和电力线(PLC) 收发器以及第三方有线、无线和光纤收发器等。

第 2 层:链路层 - MAC 算法

    在链路层,即 OSI 模型的第 二层,LonWorks 协议根据以太网标准化后对载波侦听多路访问协议家族所做的改进,提供创新型独立介质访问控制 (MAC) 层。MAC 层结合运用了两个概念:p-保持 CSMA 和非保持 CSMA。

P-保持 CSMA。在P-保持 CSMA 中,链路访问是带时间槽的,传输设备使用P概率访问链路,举例,在 0.1 保持CSMA链路中,会有 10 个时间槽,对链路的访问是随机的,因此,通过任一时间槽进行传输的概率是 10%。

    因此,P 值越小,传输设备可随机访问的时间槽越多。时间槽数量越多,冲突的可能性越小,这是因为任何两个传输设备选取同一时间槽进行传输的机率降低了。拥有多个时间槽的缺点是,在闲置网络中,发送消息的平均延时是时间槽数量除以二。理想状态下,如果只有几个传输设备等待发送,随机访问链路只需要通过少量的时间槽;当有较多的传输设备都有消息要发送时,随机访问链路需要通过大量的时间槽。P-保持 CSMA 本身并不能解决延时问题。

非保持 CSMA。 利用非保持 CSMA,只要有一个传输设备要发送消息,就会随机访问,而不是立即传输。这一技术可防止多个传输设备对单一事件做出响应,从而避免引起数据包冲突。

    非保持 CSMA 对于数据包流量大的网络十分有用,许多控制网络也拥有这一特性。网络化控制系统的其他特征为,通常情况下,当某个站点发送消息时,该站点必须收到响应或确认,而这种信息多播技术非常常用。例如,带有温度读取功能的节点可能需要同时与多个节点分享所读取的温度值。多播是做到这一点的最有效方式。如果多播需要响应或尚未确认,则链路上超过半数的数据包可进行预测,因为每个数据包至少能产生一次响应,有时甚至可产生多次响应。

可预测 p-保持 CSMA算法。为了在网络拥堵时为链路的优先访问提供支持,可能需要为每个独立站点分配一些供其单独使用的随机时间槽。通过这种方式,具有 MAC 优先级的站点可使用专用时间槽并有效避免所有链路访问之间的竞争。

图 1 为带时间槽的访问协议。

时间槽访问协议

图 2 为专用优先时间槽在每个数据包之后的使用,以确保关键站点可在避免数据包竞争的情况下访问链路。

专用优先时间槽

    通过 可预测 CSMA 算法,当某个站点发送消息时,消息将会产生的响应数据包的数量会在数据包的 2 层报头中进行编码。这被称为链路未完成任务的增量。发送者可得知为响应初始消息而将要发送的数据包数量,因为其必须跟踪这些响应以便了解何时停止转发。链路上的所有节点将收到所有数据包并检查 2 层报头以了解链路未完成任务的增量情况。它们会利用这个工作中的未完成任务调整为自己的链路访问所需随机分配的时间槽数量。因此,未完成任务会在流量增多时动态增加,并在流量减少时随时间相应减少。

    LonWorks 协议就是通过这种方式来动态调整基于已知未来的随机时间槽数量。根据经验,协议面向对等网络的 MAC 算法已用到占据理论最大值高达 80% 的链路带宽,而碰撞率却低于 4%。这种协议不仅具备超高效率,而且只需极小化状态,无需了解连接上的站点数量,也无需准备碰撞检测硬件。

碰撞率

    流量对延迟的图示说明了可预测 P-保持 CSMA 算法在避免碰撞(甚至在网络超负荷期间)方面的出色能力。

第 2 层:链路层 – 位编码

    除 MAC 算法以外,2 层还可提供位编码以及 16 位的循环冗余校验 (CRC)。CRC 采用 CCITT CRC-16 标准。位编码属于双相间隔编码。这是差分曼彻斯特编码的一种变体,可在通过双绞线进行通信时不受极性影响。安装人员无需顾虑使用双终端的两根通信线具体连接方式。

第 3 层:网络层

    3 层是网络层,提供寻址功能。在 LonWorks 协议中,寻址需按等级进行,先从节点的域开始,随后是其子网和标识号,均以八位数字表示。或者,一个节点可属于多个多播组,每个组地址作为单个字节进行编码。一个域可包括多达 256 个多播组和 255 个子网,每个可包含最多 127 个节点。为节省带宽,一个域的地址可编码为长度为零的一个字节、三个字节或六个字节(确保唯一性)。这种简单的寻址设计可使跨多个链路的数据包路由变得非常简单。路由表非常小,例如,只带有一个 256 位的队列,可确定消息是否应通过路由器传送至特定子网,或是特定组的成员是否在路由器的另一端。

第 4 层:传输层

    4 层是传输产品协议层,负责处理数据包转发和重复检测。当站点发送数据包时,会具体指定使用不可靠服务还是可靠服务发送数据包。不可靠服务包括未确认服务以及未确认但已重发的服务。可靠服务则包括确认或响应加以确认的服务。协议可支持可靠单播及多播,使应用程序清楚了解其信息正在发送给一个还是多个站点。对每个数据包而言,重试的次数、重试时间间隔以及接收者一端的总事务时间均可配置。这可使事务在限定时间内给出失败或成功结果,从而满足应用程序响应时间要求。

子网

第 5 层:会话层

    5 层是会话层,负责处理要求响应服务。除发送响应以外,协议还会保存响应,以便在需要重试时快速重新发送响应,而无需应用程序进行重新计算和转发。

第 6 层:表示层

6 层是表示层,用于处理埃施朗的“发布”-“订阅”数据模型。表示层报头将对传入应用层的数据语义进行编码,并负责传输数据项的标识符。

第 7 层:应用层

    7 层是应用层,可提供称作网络变量的数据。网络变量是一种根据具体应用程序而有所区别的数据类型,包括除浮点数、整数和布尔数以外的语义。例如,定义具有高温和低温限制的摄氏度温度,以及定义为有效或无效的值。一个节点上的输出网络变量可以绑定到其他节点上的输入网络变量,前提是输出和输入网络变量的数据类型相一致。

    当控制计划修改其中一个输出网络变量时,LonWorks 协议会捕获这一改动并向任何拥有该值的“订阅者”发送新值。“订阅者”将在发送者的输出网络变量拥有新值时看到自己的输入网络变量中与之类型相同的变量。这种利用复杂数据并具有丰富语义的数据驱动控制模型可为不取决于命令类型和命令语法一致性的复杂控制场景提供支持。

    协议还可在 7 层中提供节点发现,以及更重要的逻辑接口、网络变量、每个节点所支持的功能简表、可能的配置和其他信息,从而使每个节点轻松集成到控制系统中。

    节点及其网络接口的自动发现可在实现高效的安装和网络配置的同时减少网络安装时间并降低系统总成本。

    最后一点,7 层可支持通过标准方式升级节点软件,因此系统可根据需求变化进化升级。

    版权所有:南京海思自动化系统有限公司    网站地图:Sitemap        苏ICP备13027346号-1
电话:025-52804590 52804690 地址:南京市白下高新产业园区永丰大道8号B2-503室 网址: www.highsys.com.cn
版权所有:南京海思自动化系统有限公司
总机:025-52804590 / 52804690
市场部:8008分机  售后部:8006分机
手机:18905184663(市场)  邮箱:highsys@163.com
南京市白下高新产业园区永丰大道8号B2-503室