LonTalk协议定义了一种分层编址方法,这种方式使用了域地址、子网地址和节点地址。为了进一步简化多个分散点的编址,LonTalk协议还定义了另一级地址,这就是组地址。1)域地址:LonTalk编址的最顶层是域,是一个或多个通道上的节点的一个逻辑集合。......
2023-11-22
LonTalk协议推出网络变量(Network Variable)新概念。网络变量大大简化了具有互可操作性、使用多个厂商产品的LonWorks应用程序的设计工作,而且方便了以信息为基础而不是以指令为基础的控制系统的设计。所谓网络变量是指一个特定的设备应用程序期望从网上其他设备获得的(输入网络变量)或期望向网上其他设备提供的(输出网络变量)任何数据项(温度、开关值或执行器位置设定等)。
设备中的应用程序根本不需要知道输入网络变量由何处来,输出网络变量往何处去。应用程序具有输出网络变量新值时它就简单地把新值发给设备固件。通过一个在网络设计过程中产生的称为“绑定(binding)”的过程,设备固件被配置成知道网上要求这个网络变量的其他设备或设备组的逻辑地址,于是它就汇集并发送合适的数据包到这些设备。类似地,当设备固件收到应用程序所需的输入网络变量的更新值时,它就把该数据发给应用程序。这样,绑定过程就在一个设备的输出网络变量和另一设备或设备组的输入网络变量间建立了逻辑联系。这样的连接也可以看作“虚拟线路”。假如一个设备包含一个物理开关,具有称为“switch on/off”的输出网络变量而另一个设备驱动一个灯泡,具有相应的称为“lamp on/off”的输入网络变量,把这两个网络变量绑定起来建立的连接具有像从开关到灯泡的同样的功能效应。
每个网络变量具有类型,它定义包含在网络变量内的数据的单位、比例和结构,只有相同类型的网络变量才能连接。这可以防止发生通常的安装错误,例如,压力输出连接到温度输入。有类型转换程序可把网络变量从一个类型转换成另一个类型。如下一章中介绍的那样,对通常使用的类型定义了一套标准网络变量类型(SNVT)。另外,制造商为他们自己的用户定义网络变量类型(UNVT)。
LonWorks系统中的各个节点之间的通信是通过节点提供的网络变量或报文来实现的,网络变量是节点中的一个对象,可以与一个或多个其他节点的网络变量相连接,用于在网络上互传信息。网络变量可以为输入,也可以为输出,允许在控制网络中共享数据。无论何时,如果一个程序更新了它的输出网络变量的值,则该值将会通过网络传给所有与该输出变量相关联节点的输入网络变量。虽然网络变量通过LonTalk报文传播,但报文的传送是透明的,应用程序不需要任何显式的指令来接收或发送更新后的网络变量。
节点在通过SERVICE引脚安装在网络上后,可以与网络上的其他节点通过网络变量进行逻辑连接,此时发送方节点的网络变量类型必须和接收方网络变量数据类型相匹配。LonTalk协议提供有标准网络变量类型(SNVT),是对互操作性的进一步支持,SNVT是具有相应单位(如V、℃、m等)的预定义类型的集合,是由Neuron C内部定义的变量类型,用户可以根据实际需要选用,具体类型可参考Echelon公司提供的标准网络变量表。
在每个互相独立的节点程序中,对所使用的网络变量首先要加以定义,然后才能使用。需要将节点中的输出网络变量与另外一个或多个节点中的输入网络变量先行进行连接(connect)才能实现通信功能。
在Neuron芯片上运行的Neuron C应用程序最多可声明62个网络变量。主机(host)应用程序可以声明更多的网络变量,最多可达4096个。
网络变量定义语法为
network input|output[修饰字][存储类]网络变量类型
[连接信息]网络变量名[=初始值];
如果定义数组网络变量(一维),语法为
network input|output[修饰字][存储类]网络变量类型
[连接信息]网络变量名[数组长度][=初始值];
1.input|output
说明是输入网络变量,还是输出网络变量。
2.网络变量修饰字(可选)
有关的修饰字如下:
(1)sync|synchronized
定义网络变量为同步网络变量。只要发生同步网络变量的赋值,所赋的值必须一一发送,不丢一个值。如果定义时没有设置该选项,即非同步网络变量,调度程序就不能保证每次赋予的值都能被发送出去,例如,如果网络变量赋值过于频繁以至于调度程序来不及传送,那么调度程序将丢掉某些中间值。
(2)polled
仅为输出网络变量选用,定义网络变量为轮询输出网络变量,只有在该网络变量的接收方节点发送轮询请求(使用poll()函数)时,该网络变量的值作为响应才被发送。
(3)d_string
用于设置网络变量的自编文件串,最长为1023B。这个修饰字在每个网络变量定义时只能出现一次,且放在sync或polled修饰字后面。sync和polled不能同时使用。
3.网络变量的存储类别
可选择以下3种:
(1)const
指定应用程序不能修改的网络变量。该类别的输出网络变量存放在ROM或EEPROM中,输入网络变量则存放在RAM中。
(2)eeprom
允许应用程序将网络变量值存放到EEPROM或闪存内,以免节点掉电时有些数据会丢失。使用该类别网络变量时要注意,对其修改次数有限。当程序装载时,该类别网络变量的初始值生效,复位后这些变量不会再初始化。
(3)config
由输入网络变量使用,指定存放在EEPROM中的const类别的网络变量只能由另一个节点修改,这类网络变量通常由网络管理器用来配置应用。
某个网络变量的存储类别可以是上述3种的组合,如果没有指定存储类别,网络变量就是全局变量,存放在Neuron芯片的RAM内。
4.网络变量连接信息
用来指定网络变量连接的各可选属性:
(1)offline
用于告知网络管理器在对该网络变量修改之前,节点应离线(offline),该选项通常由config类别的网络变量选用。
(2)unackd|unackd_rpt|ackd[(config|nonconfig)]
指定网络变量采用的LonTalk协议报文服务类型,允许的报文服务类型有:非应答、非应答重发以及应答服务(默认)。若选择config,则允许网络管理器在安装节点时修改消息服务类型,若选择nonconfig,网络管理器不能修改报文服务类型。
(3)authenticated|nonauthenticated[(config|nonconfig)]
指定网络变量修改是否需要鉴别认证服务,如果选用authenticated,接收方节点将对发送方节点的身份进行鉴别,如果身份不符可以拒收网络变量值,这里也可以用auth|nonauth。config和nonconfig用于指定网络管理器是否可以修改鉴别服务的选择,默认是nonauth(config)。
(4)priority|nonpriority[(config|nonconfig)]
指定该网络变量的修改消息是否能优先传送。config和nonconfig用于指定网络管理器是否可以修改优先服务的选择。默认是nonpriority(config)。
以上各选项的前后顺序不受限制。
有关BACnet标准与楼宇自控系统技术的文章
LonTalk协议定义了一种分层编址方法,这种方式使用了域地址、子网地址和节点地址。为了进一步简化多个分散点的编址,LonTalk协议还定义了另一级地址,这就是组地址。1)域地址:LonTalk编址的最顶层是域,是一个或多个通道上的节点的一个逻辑集合。......
2023-11-22
采用神经元芯片的网络节点含有LonTalk协议固件,使得网络节点可以可靠地通信,完成各种功能。为了确保满足控制网络的可靠和鲁棒的通信标准,LonTalk协议为控制应用提供了一个高可靠、高性能、抗干扰性强的通信机制。一个Lon-Works节点所运行的应用程序通过使用LonTalk协议可与相同网络中的其他LonWorks节点上所运行的应用程序进行通信。神经元芯片中的处理器用来执行LonTalk协议软件和应用程序。......
2023-11-22
3)网络管理的服务:LonTalk网络管理提供地址分配服务。LonTalk协议还发送一些测试命令并对节点进行测试。5)通信服务:LonTalk协议支持网络的消息服务、冲突检测和避免。一旦收发器检测到冲突,LonTalk协议便能立刻重发因冲突而损坏的消息包。......
2023-11-22
协议转换用来连接具有不同协议的网络,是网络对网络的DTE级结构。图8-11用IP互联LAN图8-12用标准协议转换器互联局域网对于网间通信,如A站至C站,则首先建立A站到协议转换器1的连接;然后协议转换器1使用转送层协议、IP和协议转换器2建立一个可靠的连接;最后协议转换器2和C站建立一个局域网的连接。......
2023-06-27
也就是说计算机之间进行通信时必须以约定的协议进行。协议具体到计算机中是一组实现规则的软件,它的功能是使相互联接的计算机之间按照协议准确、及时地传递数据。SC16于1979年完成了基于分层概念的网络协议开发模型,称为开放系统互联参考模型OSI/RM。其数据传送的OSI参考模型如图9-1所示。需要说明的是,OSI只是一个标准,而不是一个具体的协议。标准是制定协议的原则或框架。......
2023-11-18
虽然网络变量通过LonTalk报文传播,但报文的传送是透明的,应用程序不需要任何显式的指令来接收或发送更新后的网络变量。LonTalk协议提供的标准网络变量类型和LonMark对象,是对互操作性的进一步支持。LonMark对象为公共节点接口,如传感器和执行器,并定义了标准网络变量和配置参数。自文档还用于指定一个网络变量隶属的LonMark对象。在Neuron芯片上运行的Neuron C应用程序最多可声明62个网络变量。......
2023-11-22
目前S7-1200 PLC只支持S7通信的服务器端,还不能支持客户端的通信。TCPTCP是由RFC793描述的标准协议,可以在通信对象之间建立稳定、安全的服务连接。TCP具有如下特点:1)与硬件绑定的高效通信协议。10)支持大多数应用协议,如TELNET、FTP都使用TCP。S7-1200 PLC可以同时支持以上15个通信连接,这些连接数是固定不变的,不能自定义。采用TCP和ISO on TCP这两种协议进行通信所使用的指令是相同的,在S7-1200 PLC中使用T-block指令编辑通信。......
2023-06-15
相关推荐