51
Lonworks 技技技 LON 技技 LON(Local Operating Netw orks) 技技技技技 Echelon 技技 1991 技技技技技技 技技技技 技技技技技技技技 技技技技技技技技技技技 ,。 技技技 LON 技技Echelon 技技技技技 Lonwbrks 技技 技技 LON 技技技技 技技技技技技技 、一 技技技技技技技技Lonworks 技技技技技技技技技技 LonTa lk 技技技技技技技技技技技技技技技技 技技技技技技技 一。

Lonworks 技术和 LON 总线

  • Upload
    pippa

  • View
    127

  • Download
    0

Embed Size (px)

DESCRIPTION

Lonworks 技术和 LON 总线. LON(Local Operating Networks) 总线是美国 Echelon 公司 1991 年推出的局部操作网络,为集散式监控系统提供了很强的实现手段。 为支持 LON 总线, Echelon 公司开发了 Lonwbrks 技术,它为 LON 总线设计、成品化提供了一套完整的开发平台。 Lonworks 使用的开放式通信协议 LonTalk 为设备之间交换控制状态信息建立了一个通用的标准。. - PowerPoint PPT Presentation

Citation preview

Page 1: Lonworks 技术和 LON 总线

Lonworks 技术和 LON 总线 LON(Local Operating Networks) 总线是美国 Echelon 公司 1991 年推出的局部操作网络,为集散式监控系统提供了很强的实现手段。 为支持 LON 总线, Echelon 公司开发了 Lonwbrks 技术,它为 LON 总线设计、成品化提供了一套完整的开发平台。 Lonworks 使用的开放式通信协议 LonTalk 为设备之间交换控制状态信息建立了一个通用的标准。

Page 2: Lonworks 技术和 LON 总线

• LonTalk 协议最大的特点是对 OSI 的七层协议的支持,是直接面向对象的网络协议,这是以往的现场总线所不支持的。具体实现就采用网络变量这一形式。

• 神经元芯片 (neuron chip) 是 Lonworks 技术的核心,它不仅是 LON 总线的通信处理器,同时也可作为采集和控制的通用处理器。 LonWorks 技术中所有关于网络的操作实际上都是通过它来完成的。按照 Lonworks 标准网络变量来定义数据结构,也可以解决和不同厂家产品的互操作性问题。

• LonWorks 产品的设计规范 LonMark

Page 3: Lonworks 技术和 LON 总线

一、 LonWorks 技术概述及系统结构

• LonWorks 技术主要包括以下几个组成部分:• LonWorks 节点和路由器• LonWorks internet 连接设备• LonTalk 协议• LonWorks 收发器• LonWorks 网络和节点开发工具• LNS 网络工具• LonWorks 网络管理工具

Page 4: Lonworks 技术和 LON 总线

1 、 Lonworks 节点 • 一个典型的现场控制节点主要包含以下几

部分功能块:应用 CPU 、 I / O 处理单元、通信处理器、收发器和电源。

A 、以神经元芯片为核心的控制节点 一个神经元芯片几乎包含一个现场节点

的大部分功能块——应用 CPU 、 I / O 处理单元、通信处理器。

B 、采用 MIP 结构的控制节点 神经元芯片仅作为通信协处理器,用高

级主机的资源来完成复杂的测控功能。 ShortStack 微服务器

Page 5: Lonworks 技术和 LON 总线

2 、路由器

• 路由器在 Lonworks 技术中是一个主要的部分,它使 LON 总线突破传统的现场总线的限制——不受通信介质、通信距离、通信速率的限制。

Page 6: Lonworks 技术和 LON 总线

3 、网络管理 • 在 LON 总线中,需要一个网络管理工具。

A 、当单个节点建成以后,节点之间需要互相通信,这就需要一个网络工具为网络上的节点分配逻辑地址,同时也需要将每个节点的网络变量和显示报文连接起来;

B 、一旦网络系统建成正常运行后,还需对其进行维护;

C 、对一个网络系统还需要有上位机能够随时了解该网络的所有节点网络变量和显示报文的变化情况。

Page 7: Lonworks 技术和 LON 总线

网络管理的主要功能 1 .网络安装 自动安装、工程安装、现场安装2 .网络维护 主要包括维护和修理(检测和替换 )3 .网络监控 查看网络所有设备的信息

Page 8: Lonworks 技术和 LON 总线

4 、 LON 总线性能特点

• 拥有三个处理单元的神经元芯片 (Neuron 芯片 )

• 支持多种通信介质 • LonTalk 通信协议 • 完整的开发平台 • 提供现成的网络管理工具• 很容易实现网络的互操作

Page 9: Lonworks 技术和 LON 总线

二、 LON 总线分散式通信控制处理器 ——神经元芯片 • 神经元芯片是 LonWorks 技术的核心。• 神经元芯片主要包含 3l50 和 3120 两大系列。1 、处理单元 芯片内部装有三个微处理器: MAC 处理器 1~2 层 网络处理器 3~6 层 应用处理器 编程和调用

Page 10: Lonworks 技术和 LON 总线

2 、存储器 • 512bytes EEPROM• 2048bytes RAM • 最多 64kB存储器地址空间 外部存储器接口能够访问到的是 59392byte

s 6114字节是作为系统内部映射• 16384字节的外部存储器用于存储 LON 的

操作系统• 其余的空间可作为用户编写的应用代码,以

及应用程序所需要的额外读写数据区、应用缓冲区和网络缓冲区

Page 11: Lonworks 技术和 LON 总线

3 、输入/输出 • 神经元芯片和其他设备的互连是通过它的 1

1 个 I / O口 ----IO0~IO10 。可根据不同的需求进行灵活配置,以便同外围设备进行接口。

• 神经元芯片带有两个片内定时/计数器。• 定义 I / O口 函数 io_in() 和 io_out()

Page 12: Lonworks 技术和 LON 总线

4 、通信端口

• 神经元芯片可以支持多种通信介质。 • 为适合不同的通信介质,可以将五个通信

管脚配置三种不同的接口模式,以适合不同的编码方案和不同的波特率。

A 、单端模式 B 、差分模式 C 、专用模式

Page 13: Lonworks 技术和 LON 总线

5 、时钟系统神经元正常工作频率可以从 10MHZ—625kHZ

6 、睡眠/唤醒机制 A 、通过软件设置B 、唤醒条件: I / O 管脚的输入 ( 可屏蔽 )I04 一 I07 、

Service Pin 信号、通信端口 ( 可屏蔽 ) 、差分模式 CP0或 CPl 、单端模式 CP0 、专用模式 CP3等有输入转换。

Page 14: Lonworks 技术和 LON 总线

7 、 Service Pin

• 在节点的配置、安装和维护的时候都需要使用该管脚。该管脚既能输入也能输出。 注意: 当 Service Pin没有连接 LED 和上拉电阻

时, Service Pin 有一个片内可选 ( 可通过软件设置 ) 的上拉以保证输入是无效的状态。

P340 图 8.11

Page 15: Lonworks 技术和 LON 总线

8 、 watchdog 定时器

• 三个 Watchdog 定时器 ( 每个 CPU 一个 )

如果应用软件和系统没有定时地刷新这些Watchdog 定时器,整个神经元芯片将自动复位。

复位周期 睡眠状态被禁止 。

Page 16: Lonworks 技术和 LON 总线

三、通信 LON 总线的一个非常重要的特点是它对多通信介质的支持。由于突破了通信介质的限制,LON 总线可以根据不同的现场环境选择不同的收发器和介质。1 、双绞线收发器(三类)直接驱动: 直接驱动是使用神经元芯片的通信端口作为

收发器,同时加入电阻和瞬态抑制器作为电流限制和 ESD保护,直接驱动方式适合网络网络上的所有节点在同一个大设备中上的所有节点在同一个大设备中,,使用同一个电流源。

Page 17: Lonworks 技术和 LON 总线

EIA 485 :使用 EIA—485共模电压比直接驱动要好,但不如变压器耦合, EIA—485共模电压是 -7V

~+12V ,也可以在共模电压中加入隔离。 变压器耦合:变压器耦合接口能够满足系统的高性能、高共模隔离以及同时具有噪声隔离的作用。FTT—10A 收发器

Page 18: Lonworks 技术和 LON 总线

2 、电源线收发器 • 电源线,指的是通信线和电源线共用一对双绞线。使用电源线的意义在于,所有节点通过一个 48VDC 中央电源供电 。

• 电源线收发器采用直流供电。• 好处

Page 19: Lonworks 技术和 LON 总线

3 、电力线收发器 • 电力线收发器,是将通信数据调制成载波信号或扩频信号,然后通过耦合器耦合到 220V或其他交直流电力线或没有电力的双绞线上。

• 使用电力线遇到的问题:• 对策: 每一个收发器包括一个数字信号处理器 (DSP)

、短报文头纠错技术 、动态调整收发器灵敏度算法 、三态电源放大/过滤合成器。

常用两类:载波电力线收发器和扩频电力线 收发器

Page 20: Lonworks 技术和 LON 总线

4 、无线收发器 A 、很宽的频率范围 B 、大功率的发射机 5 、光纤收发器

Page 21: Lonworks 技术和 LON 总线

6 、路由器 • 路由器是中继器、桥接器、配置型路由器

和学习型路由器的统称。• 路由器的用途:(1)扩展通道的容量 (2) 连接不同的通信介质或波特率(3) 提高 LON 总线可靠性 (4)全面提高网络性能Lonworks 路由器包含两个可供选择的模块(1) 路由器组件—— RTR—10模块 (2) 路由算法。

Page 22: Lonworks 技术和 LON 总线

四、 Lonworks 通信协议— LonTal

k • 发送的报文都是很短的数据 ( 通常几个到几十个字节 ) ;

• 通信带宽不高 ( 几 kbps到 2Mbps) ;• 网络上的节点往往是低成本、低维护的单

片机;• 多节点,多通信介质;• 可靠性高;• 实时性高。

Page 23: Lonworks 技术和 LON 总线

术语解释• 基本通道 • S&F重复器 (store & forward repeater)

传输一个通道或两个通道的所有数据• 桥接器 (bridge) 连接两个通道 (x 和 y) ;传输在一个域中的从 x到

y 、或从 y到 x 的所有数据• 子网 (subnet) 一系列节点的集合 ( 节点数目< 128) • 路由器 (router) 传输从一个子网到另一个子网的数据 • 网关 (8ateway) 传输从一个域到另一个域的数据

Page 24: Lonworks 技术和 LON 总线

LonTalk 协议的分层符合 OSI 的标准术语。

• 下图为各层数据单元的标准接口

N 层协议实体 N 层协议实体

PDU

服务请示 服务请示服务指示 服务指示

Page 25: Lonworks 技术和 LON 总线

LonTalk 的协议数据单元 (PDU——Protocol

Data Unit) 包含 8 部分: • MPDU (MAC Protocol Data Unit)MAC 层协议

数据单元,数据称为帧 (Frame) 。• LPDU (Link Protocol Data Unit)链路层协议

数据单元,数据称为帧 (Frame) 。• NPDU (Network Protocol Data Unit) 网络层

协议数据单元,数据称为报文 (Packet) 。• TPDU (Transport Protocol Data Unit) 传输层

协议数据单元,数据称为消息应答 (Message/ ACK) 。

Page 26: Lonworks 技术和 LON 总线

• SPDU (Session Protocol Data Unit)会话层协议数据单元,也称为请求/响应 (Request/Response) ;

• NMPDU (Network Management protocol Data unit) 网络管理协议数据单元。

• DPDU (Diagnostic Protoc01Data Unit) 网络检测协议数据单元。

• APDU (AppLication Protoc01Data Unit) 应用层协议数据单元。

Page 27: Lonworks 技术和 LON 总线

四、 LonTalk七层协议 • LonTalk 是 ISO 组织制定的 OSI 开放系统

互连参考模型的七层协议的一个子集。它包容了 LON 总线的所有网络通信的功能,包含一个功能强大的网络操作系统,通过所提供的网络开发工具生成固件,可使通信数据在各种介质中非常可靠地传输。由于 LonTalk 协议对 OSI 的七层协议的支持,使 LON 总线能够直接面向对象通信,具体实现就是采用网络变量这一形式。网络变量使节点之间的通信实现只是通过网络变量的互相连接便可完成 (表 8.10 为LonTalk 和 OSI 的七层协议的比较 ) 。

Page 28: Lonworks 技术和 LON 总线

LonTalk 协议物理层通信协议

• LonTalk 协议在物理层协议支持多种通信协议,即支持不同的数据解码和编码。(例)

• LonTalk 支持在通信介质上的硬件碰撞检测。

Page 29: Lonworks 技术和 LON 总线

LonTalk 协议的网络地址结构及对大网络的支持

• 网络地址可以有三层结构:域 (Domain) 、子网 (SuLnet) 和节点 (Node) 。

第一层结构是域。域的结构可以保证在不同的域中通信是彼此独立的。

第二层结构是子网。每一个域最多有 255 个子网。 第三层结构是节点。每个子网最多有 127 个节点。 每一个神经元芯片有一个独一无二的 48 位 ID 地址,

这个 ID 地址是在神经元芯片出厂时由厂方规定的。一般只在网络安装和配置时使用,可以作为产品的序列号。图 8.24 为报文地址结构。

Page 30: Lonworks 技术和 LON 总线

LonTalk MAC子层 • LonTalk 协议的 MAC子层是链路层的一部

分,它使用 OSI各层协议的标准接口和链路层的其他部分进行通信,如图 。

链路层

MAC子层

链路层数据

指示

链路层数据

请求

物理层数据

指示

物理层数据

请求物理层通道活跃

Page 31: Lonworks 技术和 LON 总线

• LonTalk 协议使用改进的 CSMA 介质访问控制协议称为带预测的 P—坚持 CSMA (Predictive P—presistent CSMA) ,可有效地避免了网络的频繁碰撞 。

方法: 每一个节点发送前随机的插入 0~W 个很小的

随机时间片,因此网络中任一节点在发送普通报文前平均插入 w / 2 个随机时间片,而W则根据网络积压参数 (Backlog) 变化进行动态调整,其公式是 W= BL*Wbase ,其中 Wbase= 16 , BL 为网络积压的估计值,它是对当前发送周期有多少个节点需要发送报文的估计。

Page 32: Lonworks 技术和 LON 总线

参见书 P360图 8.27

• BL值的确认: BL值是对当前网络繁忙程度的估计。每一

个节点都有一个 BL值,当侦测到一个 MPDU 时或发送一个 MPDU 时 BL加 1 ;同时再每隔一个固定报文周期 BL减 l 。把 BL值加入到MPDU/LPDU 的头中。当 BL值减到 1 时,就不再减,总是保持 BL> =1 。

Page 33: Lonworks 技术和 LON 总线

• 优先级时间片 (priority slot)

优先级时间片是从 0 一 127

• LonWorks 的 MAC子层具有以下的优点: 支持多介质的通信,支持低速率的网络,

可以在重负载的情况下保持网络性能,支持大型网络。

Page 34: Lonworks 技术和 LON 总线

LonTalk 协议的链路层 • LonTalk 协议的链路层提供在子网内 LPDU帧顺序的无响应传输。它提供错误检测的能力,但不提供错误恢复能力,当一帧数据 CRC效验错,该帧被丢掉。

LonTalk 协议的网络层 • 在网络层, LonTalk 协议提供给用户一个简

单的通信接口,定义了如何接收、发送、响应等,在网络管理上有网络地址分配、出错处理、网络认证、流量控制,路由器的机制也是在这一层实现。

Page 35: Lonworks 技术和 LON 总线

LonTall5 协议的传输层和会话层 • LonTalk 协议的核心部分是传输层和会话层。

一个传输控制子层管理着报文执行的顺序、报文的二次检测。传输层是无连接的,它提供 1 对 1 节点、 1 对多节点的可靠传输。信息认证 (authentication) 也是在这一层实现的。

• 会话层主要提供了请求/响应的机制,它通过节点的连接,来进行远程数据服务 (remote servers) ,因此使用该机制可以遥控实现远端节点的过程建立。 LonTalk 协议的网络功能虽然是在应用层来完成的,但实际上也是由提供会话层的请求/应答机制来完成的。

Page 36: Lonworks 技术和 LON 总线

LonTalk 协议的表示层和应用层

LonTalk 协议的表示层和应用层提供五类服务

网络变量的服务显示报文的服务网络管理的服务网络跟踪的服务外来帧传输的服务

Page 37: Lonworks 技术和 LON 总线

LonTalk 协议的网络管理和网络诊断 LonTalk 协议的网络管理和网络跟踪提供了四类服务

• 地址分配:分配所有节点的地址单元,包括域号、子网号、节点号以及所属的组名和组员号,值得注意是 Neuron ID 是不能分配的。

• 节点查询:查询节点的工作状态以及一些网络的通信的错误统计,包括通信 CRC效验错、通信超时等。

• 节点测试:发送一些测试命令来对节点进行测试。

• 设置配置路由器的配置表。

Page 38: Lonworks 技术和 LON 总线

LonTalk 协议的报文服务 • LonTalk 协议提供了四种类型的报文服务,这些报文服务除请求/响应是会话层实现外,其他三种都在传输层实现:

应答方式 (acknowledge) ,或者是端对端 (end to end) 的应答服务

请求/响应方式 (request / response)

非应答重发方式 (unacknowledged repeated)

非应答方式 (unacknowledged)

Page 39: Lonworks 技术和 LON 总线

LonTalk 协议的网络认证

• LonTalk 协议支持报文认证,收发双方在网络安装时约定一个 6 个字节认证字,接收方在接收报文时判断是否经发送方认证的报文,只有经过发送方认证的报文方可接收。

Page 40: Lonworks 技术和 LON 总线

五、面向对象的编程语言—— Neuron C

• Neuron C 是一种编程语言,它以 ANSI C为基础,专门为神经元芯片而设计,同时加入通信、事件调度、分布数据对象和 I / O 功能,是编写神经元芯片程序的最为重要的工具。

• Neuron C 支持的数字类型为:• char 8bits signed or unsigned• short 8bits signed or unsigned• int 8bits signed or un5igned• long 16bits signed or unsigned• Boolean 8bits

Page 41: Lonworks 技术和 LON 总线

Neuron C 有自己扩展的运行库和语法。

1 、定时器 在一个程序中,最多可以定义 15 个软件定

器对象。 这些软件计数器在网络处理器运行,它们

是和神经元芯片上的两个硬件定时/计数器分离的。

Page 42: Lonworks 技术和 LON 总线

2 、网络变量

• 应用程序可以定义一个特殊的静态对象类——网络变量,这些网络变量可以是整型、字符型或结构等类型。

• 网络变量可以与一个或多个其他节点的网络变量互连。

• 特点:①节点的数据可以通过网络变量进行共享。

Page 43: Lonworks 技术和 LON 总线

②网络变量的传送是通过 LonTalk 协议来完成的,对用户来说是透明的,简化了开发和安装分布系统的过程。③网络变量需要一个连接 (binding) 的过程,这

个连接的过程是通过网络管理工具来完成的。 连接过程实际上是发送一组包含节点的地址、

报文类型等信息的网络管理报文到需要连接的节点,这些节点再将收到的配置信息写入节点的地址表和网络变量配置表中。

注意:网络变量的定义是在节点代码编译时完成的;而连接过程则是在节点运行过程中,可以是在节点联网之前或之后完成的。

Page 44: Lonworks 技术和 LON 总线

④一个节点最多可以定义 62 个网络变量 ( 对于数组型网络变量包含数组中每个单元 ) 。

小系统 大系统 网络变量要求其长度不能超过 31字节 。⑤根据 LonTalk 协议网络变量的更新也提供

了 四种服务: ACKD 应答服务 REQUEST 请求/ D 向应方式,输入

网络变量使用垂询方式实现 UNACKD RPT 非应答重发方式 UNACI(D 非应答方式

Page 45: Lonworks 技术和 LON 总线

⑥网络变量还可以根据 LonTalk 协议定义为认证方式、优先级等方式,还可以定义同步方式,它能保证网络变量的所有更新都被传送。

网络变量包含完成四个事件: Nv__update__occurs 输入网络变量接收 到一个输入值 Nv__uPdate__fails 输出网络变量发送 失败 nv__update__succeeds 输出网络变量发 送成功 nv__update__completrs 输出网络变量发 送完成 ( 包括失败 和成功 )

Page 46: Lonworks 技术和 LON 总线

3 、显示报文 • 所谓显示报文是一个结构变量,该结构分

为输出显示报文、输入显示报文、响应输出报文和响应输入报文。

其标准格式如书 P366 所示。 在显示报文中提供对通信目的/源地址、优先级、认证等方式的直接操作。所有对显示报文的操作都是通过对运行库的调用来实现的。这些调用如书 P367 所示。

Page 47: Lonworks 技术和 LON 总线

显示报文包含完成五个事件: msg—arrivers() 报文收到 msg—comPIetes() 报文发送完成 msg—succeeds() 报文发送成功 msg—fails() 报文发送失败 resp—arrives() 响应报文收到

书 P368表 8.11 为描述显示报文操作的简表,以帮助理解结构变量、函数和事件的关系。

Page 48: Lonworks 技术和 LON 总线

注意 :

①显示报文提供了一个节点上的应用激活另一个节点操作的方法。

②Neuron C编程的过程中,并不提倡使用显示报文进行通信 。因为显示报文不像网络变量那样容易实现互操作,显示报文的数据格式更依赖于具体的应用。

Page 49: Lonworks 技术和 LON 总线

4 、调度程序 ①调度程序容许编程者定义事件,这些事件

可以定义优先级 , Neuron c任务调度是非实时的 。②事件是通过 When语句来定义 。③在 Neuron c 中定义了五类事件:系统级事件、输入输出事件、定时器事件、网络变量和显示报文事件、用户自定义事件。

Page 50: Lonworks 技术和 LON 总线

六、应用系统 某铝电解厂的铝电解槽控机控制系统采用以 L

ON 总线作为现场总线,对该厂的 l 04 台槽控机进行联网,从而可靠地实现了整个铝电解系统的集散式控制。

该分厂有 104 台槽控机 (槽控机采用北京康拓工业公司 STD 总线工业控制机, CPU 是NEC 的 v40) ,分两个厂房和一个总控室,要求实时地将采集来的数据送至总控室的操作站 ( 操作站是一台 Pentium 级的工业 PC 机 ) ,操作站再将一些重要的需要保存的数据送至全厂的数据库备案,同时操作站也将一些控制参数下传到槽控机。

Page 51: Lonworks 技术和 LON 总线

要解决的实际问题:

①网络安装和维护的问题 ②关于网络可靠通信的问题③完全采用对等通信出现的问题

书 P385