(5168cc银河官网娱线路自动化技术部LonWorks技术粉丝提供)
LonWorks是一个由埃施朗公司所开发的网络控制平台,使用的通信协议是埃施朗公司开发的LonTalk,传输媒介可以是双绞线、电力线、光纤及无线电。LonWorks可用在智能建筑中的许多自动化机能,例如暖通空调(HVAC)及照明控制。在2010年时已有9千万个设备使用LonWorks网络技术。LonWorks网络技术目前由LonMark协会(LonMark International)维护。
起源及标准化
LonWorks系统的许多技术都是源自埃施朗公司,包括芯片设计、双绞线及电力线的通信、LonTalk通信协议、路由器、网络管理软件等。在1999年其通信协议LonTalk提交给ANSI认可,成为控制网络的标准ANSI/CEA-709.1-B。其双绞线及电力线的通信也成为ANSI的标准。
此后,ANSI/CEA-709.1成为许多标准的基础,例如用在火车控制的IEEE 1473-L、美国铁路协会(AAR)针对货运列车的电动气动刹车系统、欧洲的加油站控制协会IFSF(IFSF)、国际半导体和材料(SEMI)等。在2005年时LonWorks系统成为欧洲智能建筑标准EN 14908。LonTalk协议也是美国冷冻空调协会(ASHRAE)定义的智能建筑通信协议BACnet中,六种数据链接层及物理层中的一种。
中国将LonWorks技术成为国家标准GB/Z 20177.1-2006及智能建筑标准GB/T 20299.4-2006。2008年时国际标准化组织(ISO)及国际电工委员会(IEC)将其通信协议、双绞线信号技术、电力线信号技术及以太网协议(IP)标准化,编号为ISO/IEC14908-1, -2, -3,及-4。
简介
一、处理器
埃施朗公司为LonTalk通信协议设计了神经元蕊片(Neuron chip),早期这是唯一可以支持LonTalk通信协议的IC,神经蕊片中包括有三个8位的CPU,分别处理媒体访问、网络通信及其他应用机能,使用的语言是由ANSI C为基准修改的Neuron C。每一个蕊片上都有一个48位的识别码(Neuron ID),因此在网络上可以识别每一个设备。在1999年后,使用泛用的处理器也可以支持LonTalk通信协议。
二、物理层
LonWorks网络使用二种不同的物理层通信技术,分别是名为“free topology”的双绞线通信技术,以及电力线通信。
其双绞线通信使用差动式曼彻斯特编码(differential Manchester encoding),可以使用RS-485收发器及变压器耦合收发器,RS-485收发器建议的通信速率为39 kbit/s。LonWorks支持的变压器耦合收发器分为二种,只支持总线型网络拓扑的收发器,其通信速率可以到1.25Mbit/s,另一种收发器允许总线型、环型及星型网络拓扑,其通信速率为78Kbit/s。电力线通信的通信速度可以是5.4 kbit/s或3.6 kbit/s。
三、媒体访问控制
LonWorks的媒体访问控制层使用一种改良型的载波侦听多路访问(CSMA)协议,称为可预测P-持续CSMA,每个节点在网络空闲时需等待一段随机的时间,这段时间内网络仍没有数据,才允许传送数据。随机时间的范围由节点占计的网络负载决定,网络负载越重,随机时间的范围就越长。
四、网络变量及显式报文
LonWorks采用面向对象的设计方法,其数据数据称为网络变量(NV),包括其数据及单位。每一个设备都会定义输入及输出的网络变量,利用网络管理软件可以将相同单位的输入及输出网络变量绑定(binding)在一起,创建二个网络变量的逻辑连接,之后当一设备的输出网络变量变更时,设备会自动传送包括网络变量数据的隐式报文,网络上被绑定的输入网络变量就可以得到更新的数据。
LonWorks的通信除了网络变量外,也可以使用显式报文。显式报文依其服务方式,可分为确认方式 、非确认重复方式、非确认方式及请求/应答方式。LonWorks网络变量的长度不能超过31个字节,而显式报文的长度最大可到228位组,方便传送较长的信息。另外要使用网络变量需要利用LonBuilder仿真器或LonMaker软件进行网络变量绑定,增加开发及应用的成本,使用显式报文就没有上述问题,不过其缺点是通信内容多半需要自行定义,而LonWorks网络系统也就成为封闭式的系统。
五、标准网络变量性态
为了方便不同设备的数据交换,LonWorks针对实际物理量定义了标准网络变量性态(Standard Network Variable Type,简称SNVT),标准网络变量性态包括一物理量的单位及其数值及实际物理量的关系,例如表示温度的标准网络变量性态SNVT_temp用0至65535的整数来表示从绝对零度到摄氏6279.5度的温度范围。因此不同设备只要其温度是用SNVT_temp表示,其数值和实际温度的关系都相同。