资源描述
基于双网分流工程机械设备数据网络构架研究
杨栋 陈小华 熊俊
三一智能控制设备有限企业, 长沙, 410100
摘要: 针对已经有工程机械设备数据网络在资源共享能力差, 高负载率下丢包率高等问题, 以及工程机械智能化程度日益增高, 部件数量日益增多应用需求, 本文结合CAN总线可靠性高和工业以太网吞吐量大、 资源共享能力强等优点, 提出了一个用于工程机械设备数据传输双网分流构架(Double Nets sharing Architecture, DNSA), 试验证实DNSA丢包率低, 能很好实现监控网络间资源共享和利用。
关键词: CAN总线; 工业以太网; 双网分流; 数据网络架构
New data network architecture research based on double nets sharing to machinery equipment
Yang Dong Chen Xiaohua Xiong Jun Wu Dan
Sany Intelligent Control Equipment Co., Ltd, Changsha,410100
Abstract: According to the poor performance of the traditional data network Resources sharing capability and data load ability, and combined with the increasing number of intelligent parts of construction machinery and the demand of data complexity. Based on the high reliability of CAN and the good performance of the throughput capacity and resource sharing ability of industrial ethernet, a novel network construction was proposed here, the basic idea was double nets shunt .Experiments demonstrate it can ensure the low packet loss ,and better meet multi-unit and communication requirement needs in industry scene.
Key words: CAN highway; Ethernet; Double nets sharing; Data network architecture
0 引言
伴随电子信息技术快速发展基金项目: 国防科工局军用技术推广专题(240)资助项目;电子信息产业发展基金资助项目
, 工程机械监控日益智能化使得用户对监控系统实时性、 正确性、 大数据量传输及底层信息共享等方面提出了更高要求[[] 张炳贤. 工程机械智能化趋势与发展对策[J].企业技术开发, ,11:115-116
ZHANG B X. Intelligent trend and development countermeasures for Engineering machinery[J].Technological Development of Enterprise, ,11:115-116
]。
CAN总线因为其在数据通信中突出可靠性、 实时性和灵活性, 及强抗干扰性, 广泛应用于底层控制设备之间数据通信。但通信速度不高, 且吞吐量有限, 已不能很好满足工程机械智能化程度日益增高, 部件数量日益增多应用需求; 另外CAN总线通信距离有限, 且难以接入internet, 无法使底层控制设备信息得到很好共享和利用。以太网含有较长通信距离和较高通信速率, 且能方便接入internet, 在信息量需求大上层管理网络和过程监控网络应用广泛。但传统以太网无法确保数据传输实时性要求, 且单点故障轻易扩散, 从而造成整个网络系统瘫痪; 另外, 工业以太网鲁棒性和抗干扰能力都不高, 极难适应环境恶劣工业现场[[] 金敏,罗恩泽,周翔.面向工程机械远程智能监控无线通信协议[J].中国工程机械.,22(19):2316-2324.
JIN M,LUO E Z,ZHOU X.Wireless Communication Protocol for Remote Intelligent Monitoring of Construction Machinery[J].China Mechanical Engineering.,22(19):
2316-2324.
]。
本文结合CAN总线和以太网优点, 提出了一个CAN网和以太网技术相结合双网分流网络架构(Double Nets Sharing Architecture, DNSA)。关键对以太网链路层协议进行了改善, 简化了通信协议, 实现了CAN与以太网无缝对接。试验证实DNSA在确保数据低丢包率同时, 能很好实现监控网络间资源共享和利用。
1 网络构架
1.1 传统架构
传统监控系统采取CAN总线进行通信, 通信网络可分为现场设备层、 控制层和远程管理层。现场设备层关键完成现场设备数据采集和控制命令实施, 控制层关键完成现场设备数据处理、 上传及将监控主站命令下达至现场设备层, 远程管理层关键指监控主站。远程管理层和控制层间经过无线网络进行通信。经典网络结构如Error! Reference source not found.所表示[[] 黄斑斑, 工程机械智能控制以太网CAN总线转换器设计[D].武汉科技大学硕士论文,.
HUANG B B. Construction Machinery Intelligent Control Ethernet CAN Bus Convert Design[D], Master Dissertation of Master Dissertation of Wuhan university of science and technology,.
]:
图 1 传统通信架构
每个被监控设备部件包含一个或多个传感器, 传感器采集设备部件压力、 温度和伸缩量等数据; 分布式控制器将采集现场数据处理后将结果传至CAN总线, 供CAN总线上其她设备使用; 一些带有CAN通讯结构部件(如倾角传感器和发动机)等可直接连接在CAN总线上; 主控制器从CAN总线搜集所需信息, 完成一些预定处理功效, 将结果输入给HMI设备和远程设备; HMI设备关键用于显示现场数据及响应现场输入命令; 远传设备是远程管理层和控制层接口, 主站和远传设备间可经过无线网络或internet进行通信。 操作人员命令经过HMI设备或主站经主控制器、 CAN总线下发至分布式控制器, 各分布式控制器经过实施器对设备部件实施用户命令, 如油缸位移调整、 诊疗性保护等。
此结构简单, 成本低, 系统可靠性高, 但吞吐量量低。伴随部件信息、 智能化需求提升及部件数量日益增多, 传感器、 实施器、 分布式控制器和主控制器等形成大量数据, 吞吐量有限Can总线显然已极难满足工程需求。以太网数据传输效率高, 能填补CAN总线在吞吐量低缺点, 且能很好实现监控单元间及监控单元与远传计算机间资源共享[[] 陈曦, 杨振兴, 柳国辉.CAN总线和以太网在中央空调系统远程监控中应用[J].工业仪表与自动化装置,,1(3)71-73
CHEN X,YANG Z X,LIU G H.The application of CAN bus and Ethernet in the central air-conditioning system remote monitoring[J]. Industrial Instrumentation & Automation ,,1(3):71-73.
]。本文结合CAN总线和以太网优点, 提出了适合工程机械现场数据通信DNSA架构。
1.2 DNSA架构
DNSA构架关键思想是依据数据量和数据关键性进行分类传输。对于实时性要求高或数据量不大数据(如传感器数据、 实施器数据等), 经过Can总线进行传输, 以确保传输可靠性和实时性; 对于实时性不高或数据量大数据(如设备程序文件、 视频流数据和主控制层诊疗数据等)则经过工业以太网传输, 以确保大数据量通信。DNSA架构如Error! Reference source not found.所表示:
图 2 DNSA数据传输构架
Error! Reference source not found.所表示传输构架由CAN总线和以太网两部分组成。在整个传输网络中, 主控制器相当于大脑, 经过以太网取得实施部件及传感器等设备信息, 同时结合其她监控信息如图像监控信息、 防撞监控信息等, 综合监控整个系统运行。分布式控制器帮助主控制器完成单元控制功效。以太网含有很好资源共享能力, 可直接与internet相连, 实现工业现场和监控主站网络资源共享。人机接口界面用于显示系统实时参数及用户指令下达。对于一些自带CAN传输功效且实时性要求高设备(如倾角传感器、 旋转编码器等), 直接放在CAN总线上进行处理, 因CAN总线负载率有限, 对于实时性要求不高, 或需数据量较大数据, 能够放在以太网上进行传输。
交换机用于完成以太网各节点数据交换及CAN总线和以太网数据交互。单纯CAN总线和以太网在工业控制领域应用已相对成熟, 所以DNSA架构最大难点CAN-以太网总线对接模块设计和实现, 此模块放在交换机中, 下面将关键对此进行研究。
为双网数据对接, 在以太网和CAN网之间必需加入互联网关, 网关如Error! Reference source not found. 所表示:
图 3 DNSA网关硬件结构框图
DNSA网关是本架构关键, 负责从接收到链路层数据帧中解析出完整 CAN 协议报文, 并经过CAN 控制器组帧后发送到 CAN 总线; 同时, 也可将收到 CAN协议报文打包成数据帧, 经过以太网控制器发送到以太网上。因为以太网比CAN传输速度快, 所以在处理器里应该开辟一块缓存区, 从以太网传至CAN网络数据大多为实施命令, 所以数据包大小不会很大, 依据实际工程需求, 缓存区大小设为1M, 对于1M以内数据, 先在缓存区中全部保留完后再发送至CAN网络, 理论上1M之内数据不可能出现丢包现象。来自CAN网络数据, 一样存放在缓存区中, 每依据预先设定CAN包数组以太网帧进行发送。
2 网络传输协议
2.1 传统协议
1) CAN总线协议
CAN总线是现在应用最广泛现场总线之一, 通信距离最远可达10km(速率低于5Kbps), 速率可达成1Mbps(通信距离小于40m)。本文以CAN2.0B版本协议定义扩展帧数据帧为例对CAN帧格式进行说明。标准帧格式如
图 4 所表示:
图 4 标准数据帧格式
标准数据帧由1bit帧起始, 32bit仲裁场, 6bit控制场, 0-64bit数据场, 16bit循环冗余码CRC场, 2bit应答场, 7bit帧结尾组成。假如数据位全填满, 则CAN帧长为128bits。
传输时延是指一个站点从开始发送数据帧到数据帧发送完成所需要全部时间, 是衡量通信网络质量一个关键指标。假设从节点a到节点b传输L Byte, 链路传输速率为R bps,B为负载率, 帧长为F, 有效载荷为m, 则传输帧数为N
(公式1)
此处表示对取上整。为计算方便, 本文将其约等于L*8/m,m取CAN最大载荷64bit。传输时延t为:
(公式2)
对于CAN,F为128bits,R为1Mbps。CAN总线负载率常在60%以下。当总线负载率超出 40%, 系统性能将恶化, 当总线负载率超出60%, 系统将不再稳定[[] 荆楠,王林,安佰岳.基于 CAN 总线网络控制系统中时延分析及对策[J].计算机工程与设计, ,3(20):4599-4602.
JIN N,WANG L,AN B Y.Analysis and policy of network latency in CAN control system[J].Computer Engineering and Design,,30(20):4599-4602.
], 所以选择60%负载率, 代入公式2得:
(公式3)
2) 以太网协议
Ethernet II和IEEE802.3在局域网中最常见以太网, 本文选择用更适合工程机械大数据量传输Ethernet II协议, EthernetII链路层帧格式如Error! Reference source not found.所表示:
表 1以太网链路层帧结构
前同
步码
(8B)
目地址
(6B)
源地址
(6B)
类型
(2B)
数据
字段
(46~1500B)
CRC
(4B)
前同时码前7B值都为10101010, 用于“唤醒”接收适配器, 第8个字节为10101011, 第8个字节后最终两个1, 通知主机接下来字节为目地址; 目地址为6B, 该字段包含目设备MAC地址; 源地址占6B, 该字段包含传输该帧到LAN上源设备MAC地址; 类型字段许可以太网复用多个网络层协议, 目设备依据类型判定该将数据字段传输给哪层, 并依据哪种协议类型进行解析; CRC(cyclic redundantcy check, 循环冗余检测)用于检测帧中是否引入了差错。数据字段为以太网帧有效载荷, 对于传统以太网帧, 数据字段为IP数据报, IP数据报格式如Error! Reference source not found.所表示:
表 2 IP数据报
网络层首部(>=20B)
传输层首部(20B)
应用层报文
IP数据报网络层为IPV4, IPV6等协议, 首部最少为20B, 传输层为TCP等协议, 首部占20。
设一帧全部填满, 则帧长F为1526, 以太网速率取10Mbps, 有效载荷为数据长度为1460, 负载率也取60%, 依据公式2, 可得传输延时以下:
(公式4)
从Error! Reference source not found.能够看出传统以太网数据填充位包含网络层、 传输层首部, 假设网络层采取IPV4, IP数据报有20个字节首部(假定无选项), 假设传输层采取TCP协议, TCP首部包含20字节。应用层采取HTTP文件传输协议。网络层、 传输层占用最少了40B, 浪费了带宽。为提升带宽利用率, 简化以太网模型, 可去掉各层首部, 将网络层、 传输层和应用层压缩为一层, 立即模型简化为物理层、 链路层和应用层。此时:
(公式5)
CAN和以太网是两种截然不一样通信方法, 为实现二者融合, 必需对传输协议进行改善, 为此本文提出率DNSA协议, 用于CAN和以太网对接。
2.2 DNSA协议
DNSA协议是DNSA架构中以太网和CAN对接协议, 组帧及解析均由Error! Reference source not found.中交换机中以太网-CAN对接模块实现。其关键思想将CAN帧填充至以太网协议中数据段进行传输; 为提升带宽利用率, 将传统以太网网络层首部和传输层首部全部取消; 因为此协议为用户自定义传输协议, 为使该类型帧在以太网上传输不影响现有协议帧正常传输, 必需避开已经有以太网帧类型码[[] STEVENS W R.TCP/IP illustrated volume 1: the protocols [S].[S.L.]:Addison Wesley/Pearson, 1994
], 此处将类型定义为0x9931。以太网-CAN对接协议组帧规则以下:
帧头和帧尾和传统以太网相同, 数据字段由数据包数和若干个数据包组成, 如Error! Reference source not found.所表示:
表 3数据字段格式
数据包数(2B)
数据包1(4B+12B*m)
….
数据包n(4B+12B*m)
用户可将数据分不一样数据包进行传输, 数据字段前2B为数据包数。同一帧数据可同时传输多个类型数据。该协议许可一帧数据传输不一样类型CAN数据, 每个数据包中CAN包类型必需相同, 不一样数据包CAN包类型能够不一样。单独数据包字段组成如Error! Reference source not found.所表示:
表 4数据包字段格式
CAN包数(2B)
CAN数据协议类型(2B)
CAN包1(12B)
…
CAN包m(12B)
因为CAN帧由4BCANID和8BCAN数据场组成, 所以此处为CAN包分配12B长度, CAN 包格式如Error! Reference source not found.所表示:
表 5 CAN包格式
CANID(4B)
CAN数据(8B)
设备类型(2B)
部件类型(2B)
属性类型码(2B)
保留(2B)
数据(4B)
CAN数据包用于定义设备部件属性值。CANID前2B用于表示设备类型, 后2B表示部件类型, 8BCAN数据中, 前2B用于表示属性类型, 保留2B, 后4B表示故障数据类型。
设备类型用于识别主机类型, 如挖掘机、 起重机等, 设备及对应类型如Error! Reference source not found.所表示:
表 6 设备类型码
设备类型
挖掘机
起重机
铲土机
桩机
…
类型码
0X00
0X01
0X02
0X03
…
部件类型码用于识别机械部件, 如发动机、 油缸等, 部件类型码如Error! Reference source not found.所表示:
表 7 部件类型码
部件类型
发动机
油缸
液压泵
臂架
…
类型码
0X00
0X01
0X02
0X03
…
属性类型码为数据本身代表物理含义, 如温度、 湿度等, 属性类型码如Error! Reference source not found.所表示:
表 8 属性类型码
属性类型
温度
湿度
角度
长度
流量
…
类型码
0X00
0X01
0X02
0X03
0X04
…
假如CAN包为0x0001 0001 0000 0000 1E, 表示起重机油缸温度为30度。在组帧和解析CAN包时需查询设备类型码、 部件类型码及属性类型码表。定义一个结构体用于描述设备、 部件和属性类型, 结构体包含类型名称和类型码两个属性。系统初始化时, 构建设备类型、 部件和属性三个结构体链表, 依据类型码从小到大排列。
当从以太网接收到数据包,以太网通信模块对数据包进行分析, 假如类型为0x9931, 则认为该数据报正确。取出数据段, 依据协议进行解析, 取出CAN包数据填充CANID和CAN数据, 经过 CAN 控制器发送到 CAN 总线。数据从以太网传至CAN网步骤图如Error! Reference source not found.所表示:
图 5 以太网至CAN传输
若从 CAN 总线接收到数据, 将若干个CAN包组成数据包, 若干各数据包填充至以太网数据填充位, 组成以太网帧由以太网控制器发送到以太网上。步骤如Error! Reference source not found.所表示:
图 6 CAN至以太网传输
3 工业应用与性能分析
为验证DNSA有效性, 我们将其用于泵车监控系统, 以其中臂架姿态控制为例进行说明。远传设备采取三一移动终端, HMI设备采取三一显示器, 交换机包含DNSA网关此处分布式控制器为油缸控制器。如Error! Reference source not found.所表示: 图 7 DNSA用于泵车监控系统
倾角传感器采集臂架角度数据和旋转编码器采集转塔角度数据经CAN总线传输至交换机, 交换机中DNSA网关将此CAN数据转为以太网数据传输至主控制器, 主控器经过接收到角度信息并计算达成臂架目标姿态所需各节臂油缸运动过程, 将运动过程传给分布式控制器, 分布式控制器接收到命令控制百分比阀开关, 从而控制油缸伸缩, 压力传感器可实时采集油缸出油口等位置压力, 作为分布式控制器对于油缸平稳运动判定依据。油缸信息也可依据用户需要经以太网传输至交换机, 交换机将以太网数据转为CAN数据传给发送机等部件。主控制器也可直接将一些实时性要求高命令以太网, 交换机和CAN总线传回给实施器, 如臂架运动过程, 主控制器假如发觉臂架处于立即碰撞安全范围外, 将经过CAN总线强制停止发动机。
经过公式3和公式5能够分别求CAN和以太网传输延时, 对比如图 8所表示:
图 8 CAN和以太网传输延时
从图 8可看出在相同负载率下, 以太网传输延时显著低于CAN, 且以太网传输速率可到100M以上, 而CAN在1M时速度基础达成了上限。所以以太网在大数据量传输时更占优势。
为验证DNSA有效性, 下面CAN和以太网间通信丢包率进行测试。以太网到CAN发送数据分为600b,2k,5M三组, 缓存区大小为1M,各发送1000,丢包率如Error! Reference source not found.中所表示:
表 9 以太网至CAN丢包率测试
以太网速率
(Mbps)
CAN波特率
(bps)
数据包大小
(b)
发送间隔
(ms)
发送次数
(次)
丢包率
(%)
以太网->Can
10
250K
600
100
1000
0
10
250K
2k
100
1000
0
10
250K
5M
30000
1000
2.56
在600b和2Kb情况下, 丢包率为0; 在5M情况下, 因为缓存区以太网所发数据包大小, 而以太网发送速率远远大于CAN, 所以会比较严重丢包现象。CAN至以太网依据Error! Reference source not found.所设参数及分组进行测试。因为CAN速度小于以太网, 所以从CAN至以太网基础上不会出现丢包现象。
表 10 CAN至以太网丢包率测试
以太网速率(Mbps)
CAN波特率(bps)
数据包大小 (byte)
发送间隔(ms)
发送包数
(次)
丢包率
(%)
Can->以太网
10
250k
8
1
0
10
250k
8
1
0
10
250k
8
1
0
对于丢包, 可从以下几方面做改善: 1)提升数据接收处理线程优先级; 2)对于数据完整性要求高CAN设备采取一对一连接; 4)在应用层加入应答重传机制; 5)从总线拓扑角度, 寻求最优部署线路方案。
实际工程应用中, 关键是将底层数据经过CAN网传送至以太网, 而以太网至CAN传输是主控制或其她分布式控制器下发部分控制命令, 极少出现1M以上文件。所以本设计能很好满足工程需求。
4 结束语
本文结合CAN总线可靠性高和以太网吞吐量大、 资源共享能力强等优点, 提出了一个适合工程机械控制领域DNSA构架, 关键CAN和以太网对接模块进行了研究, 同时从网关设计及传输协议上进行了改善。试验证实该网络结构丢包率低, 能很好满足工业现场多部件、 智能化、 高可靠性和高实时性通信需求。
参考文件
展开阅读全文