首页
会员中心
到顶部
到尾部
计算机

基于LonWorks现场总线的楼宇自动化系统设计6

时间:2020/10/27 9:25:51  作者:  来源:  查看:0  评论:0
内容摘要:路由器使一个对等网跨越多种传输介质并支持数万个设备。路由器的每侧具有一个收发器。路由器对网络的逻辑操作来说是完全透明的,但路由器并不传送所有的数据包。当网络安装工具配置了路由器之后,智能路由器完全了解系统配置以阻止那些没有远端地址的数据包。另外有一种称为LonWorks/IP路由...
路由器使一个对等网跨越多种传输介质并支持数万个设备。路由器的每侧具有一个收发器。路由器对网络的逻辑操作来说是完全透明的,但路由器并不传送所有的数据包。当网络安装工具配置了路由器之后,智能路由器完全了解系统配置以阻止那些没有远端地址的数据包。另外有一种称为LonWorks/IP路由器,LonWorks可以使用它通过广域网跨越更远的距离,例如Internet。
2.5 网络接口
网络接口不连接控制传感器和执行器,它提供了LonWorks网络与外部主机(例如PC或便携式维护工具)的物理接口,网络接口的应用程序提供了通信协议,允许像网络工具那样的基于主机的应用程序访问LonWorks网络。Echelon公司的PCLTA-20PC LonTalk适配器就是一个网络接口设备。该设备插入PC内部的PCI总线,使用网络工具(例如LonMark工具)可以访问LonWorks网络。
2. 6 LonTalk协议
2.6.1 LonTalk简述
LonTalk是LonWorks技术的通信协议,由Neuron芯片上的固件来实现,它提供了ISO/OSI七层协议所有内容的服务,并特别针对控制网络进行了优化。LonTalk采用于一种基于载波侦听多路访问/介质访问控制(CSMA/MAC)的新型通信模式,称为带预测的P-Persistent CSMA算法。带预测的P-Persistent CSMA,协议中对所有的节点都根据网络积压参数等待随机时间片来访问介质,有效地避免了网络的频繁碰撞,可在重负载的情况下保持网络性能。
    LonTalk支持分散的端对端通信,节点可以组成总线型、环型、树型等多种拓扑网络结构,特别是它还可以组成自由拓扑结构。LonWorks技术的通信速率可达1. 25Mbps(此时有效距离为130m),直接通信距离可达到2700m(双绞线,通信速率为78Kbps),一个LonWarks测控网络上的节点数可达到32000个。
2.6.2 LonTalk协议的寻址方式
网络地址结构有域(Domain)、子网陈(Subnet)、节点(Node)该三层结构。
    每一个神经元芯片有一个每一个神经元芯片有一个唯一的48位ID地址,这个ID地址是在神经元芯片出厂时由厂方规定的。一般只在网络安装和配置时使用,可以作为产品的序列号。一个通道是指在物理上能独立发送报段介质。不影响网络的地址结构,域.、子网和分组都可以跨越多个通道,一个网络可以由一个或多个通道之间通过桥接器(Bridge)来连接。
2.6.3 网络变量和显示报文
LonWorks系统中,节点之间的通信是通过各个节点提供的网络变量或报文来实现。
﹙1﹚网络变量
    网络变量是一个特殊的静态对象类型,它可以是整型、字符型或结构等数据类型。一个节点的网络变量可以与一个或多个其他节点的网络变量互连。网络变量从通信的角度分为输入或输出,对于一个输入的网络变量可以和其他节点的多个输出的网络变量互连而对于一个输出的网络变量也可以和其他节点的多个输入的网络变量互联,但输入和输入或输出时不能互联的。
根据LonTalK协议网络变量的更新操供了四种服务:
ACKD            应答服务
REQUEST         请求/响应方式,输入网络变量使用垂询方式实现
UNACKD_ RPT    非应答重发方式
UNACKD         非应答方式
网络变量包含完成四个事件:
nv_update_occurs   输入网络变量接收到一个输入值
nv_updater_fails    输出网络变量发送失败
nv_update_succeeds 输出网络变量发送成功
nv_update_completes 输出网络变量发送完成(包括失败和成功)
﹙2﹚显示报文
在大多数情况下网络变量是网络通信的一个简单、可靠、快捷的方法,然而网络变量在个数、长度、和发送目的地址等方面都使编程者受到限制,LonWorks又提供了一更灵活但较复杂的通信方式——显示报文。所谓显示报文是一种结构变量,该结构分为输出显示报文、输入显示报文、响应输出报文和响应输入报文。
显示报文包含完成五个事件:
msg_arrivers( )        报文收到
msg_ completes( )     报文发送完成
msg_succeeds( )       报文发送成功
msg_fails( )           报文发送失败
resp_ arrives( )        响应报文收到
虽然显示报文使网络操作更为灵活,但在Neuron C编程的过程中,并不提倡使用显示报文进行通信,主要因为显示报文不象网络变量那样容易实现互操作,显示报文的数据格式更依赖于具体的应用。
2.7 LonWorks的开发工具
2.7.1 Neuron C语言
LonWorks使用面向对象的网络开发语言Neuron开发应用程序,Neuron C是以ANSI C为基础,专门为神经元芯片而设计,同时加入通信、事件调度、分布数据对象和I/O功能,是编写神经元芯片程序的最为重要的工具。
    在一个Neuron程序中,最多可以定义15个软件定时器对象,在这些定时器中可分为两种软件计数器对象:毫秒计数器和秒计数器。毫秒计数器提供了一个1-640OOms的计数范围的计数器。秒计数器提供了一个1-65535s的计数范围的计数器。对于计数范围为64s或小于64s

Tags:



相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号