DeviceNet是一种依据CAN总线技能的契合全球工业规范的开放型现场总线通讯网络,它用于操控,装备和数据收集等方面。CAN 总线具有布线简略、典型的总线型结构、安稳牢靠、实时、抗干扰能力强、传输间隔远、布线本钱低一级特色。因为具有了这些特色,Devi-ceNet总线被广泛运用于工业主动化操控,它不仅能够接入更多,更杂乱的设备,还能够为上层供给更多的信息和服务。在许多欧美国家,越来越多的体系方案规划选用DeviceNet来完结。
ModBus协议是运用于电子操控器上的一种通用言语,是全球第一个真实用于工业现场的总线协议,因为该协议的产生,使操控器之间、操控器经由网络和其他设备之间完结彼此通讯。ModBus协议现在已经成为一种通用的工业规范,运用该协议技能能够使不同厂商出产的操控设备连成一个工业网络,进行会集监控办理。此协议界说了一个操控器能知道运用的音讯结构体,然后运用户不需求关怀它们运用哪种网络进行通讯。它描绘了一个操控器恳求拜访其他设备的进程,怎么回应来自其他设备的恳求,以及怎样侦测过错并记载。它拟定了音讯域格局和内容的公共格局。
本文首要处理DeviceNet 与ModBus 之间的协议转化问题。规范的ModBus口是运用RS-232C兼容串行接口,它界说了衔接口的针脚、电缆、信号位、传输波特率、奇偶校验。操控器能直接或经由Modem 组网。依据DeviceNet 的嵌入式I/O 模块经过I/O 口发送和接纳数据,ModBus经过串口与嵌入式I/O模块进行通讯。经过此进程完结DeviceNet与ModBus之间的协议转化问题。
1 嵌入式I/O模块的规划与完结
DeviceNet是一种上层的运用层协议,其物理层和数据链路层选用CAN总线技能,ModBus协议仅仅用于数据链路层上的协议[1].这两种现场总线是异构的,因而要完结两种协议之间的通讯,必需求进行协议转化。协议转化的转化进程是分层次进行的。首先把总线设备发送过来的设备逐层解包,得到需求的数据,然后再把数据按另一协议所需的方法打包,发送到相应的设备上。
DeviceNet与ModBus协议都选用主从通讯形式,所以它们之间的通讯只能是单向的,主站发送指令报文而从站被迫接纳指令报文。本规划中的嵌入式I/O模块既是De-viceNet从站,又是ModBus的主站。经过该模块能够完结DeviceNet主站的数据与ModBus从站的数据进行传输。
嵌入式I/O模块的功用是把DeviceNet格局的报文转化为ModBus的报文指令,再传给底层的ModBus设备,设备在接纳到ModBus指令之后,会向报文转化模块发送ModBus格局的呼应报文,最终经协议转化模块将报文转化为DeviceNet格局的报文传输给DeviceNet主站。本嵌入式I/O模块既是DeviceNet的从站完结接纳主站报文并做出呼应的功用,一起又能够作为ModBus的主站向其他ModBus设备发送报文并接纳呼应报文。
本规划选用的处理器为LPC2129,硬件结构如图1所示。它是NXP 公司的32 位工业级ARM7 处理器,其内部集成了两个CAN 操控器,在一片处理器内首先将主站端的DeviceNet协议数据转化成中心协议数据,之后转化成ModBus能够辨认的协议数据。
拨码开关用来设置DeviceNet 端的波特率及MAC地址,其间波特率的开关为3 位,别离代表125 Kb/s,250 Kb/s,500 Kb/s;MAC地址的开关为6位,地址为0~63.
RS 232 既可作为程序下载接口,也可作为通用的RS 232串口完结与上位机的通讯。体系的供电电源选用24 V的直流供电,并在内部将24 V电源转化为模块需求的5 V,3.3 V及1.8 V电压电源。
2 DeviceNet 和ModBus 协议介绍
2.1 DeviceNet协议规范
DeviceNetTM规范由Rockwell 公司开发,并将其作为一个依据CAN协议的开放式现场总线规范而发布。与其他现场总线比较,它具有杰出的高牢靠性、实时性和灵敏性。其首要技能特色可概括为:
(1)选用CAN物理层和数据链路层规约,运用CAN规约芯片,然后有强壮的支撑。
(2)能够包容64个节点地址,每个节点支撑无限个的I/O口;
(3)网络拓扑结构,节点设备配电方法灵敏,可网络一致配电或自行供电;
(4)网络速度可选125 Kb/s,250 Kb/s 和500 Kb/s;有误接线维护功用;
(5)数据传送方法多样,支撑选通、轮询、循环、状况改动等方法;
(6)选用逐位裁定机制完结按优先级发送信息;
(7)支撑轮询或状况改动(依据事情),多主站和主从,支撑从设备的即用即拔,无需网络断电。
DeviceNet是面向衔接服务的网络,恣意两个节点的通讯有必要树立在逻辑衔接的基础上。树立衔接时与衔接相关的传送会分配一个11位衔接标识符(Connec-tion ID,CID),衔接标识符由设备媒体拜访操控标识符(MAC ID)和信息标识符(Message ID)两部分组成。衔接树立后设备可经过发送开释衔接或删去衔接恳求服务来断开衔接。在某个特定的衔接上长期没有进行通讯,这个通讯将主动断开以开释资源。其间,MAC ID可经过硬件设定,也可经过软件来装备。标识符分为四组,如图2所示。DeviceNet衔接分为显式信息衔接和I/O衔接。
2.2 DeviceNet与CAN
DeviceNet总线协议是依据CAN总线技能的。它的数据链路层彻底遵从CAN 规范的界说,并经过CAN 操控器芯片完结。它只运用CAN 2.0A 中的界说,不支撑CAN 2.0B中的扩展报文格局。DeviceNet只用125 Kb/s,250 Kb/s,500 Kb/s 三种可选速率,达不到CAN 的最高通讯速率1 Mb/s.DeviceNet 只运用数据帧,过错帧和超载帧三种帧标明和操控,并未运用CAN 中界说的长途帧。
DeviceNet 在CAN 总线的基础上又增加了面向目标、依据衔接的现代通讯技能理念,并开发了运用层。
其运用层规则了CAN 数据帧的运用方法、重复节点地址检测机制、目标模型及设备的规范化。使DeviceNet的运用更广泛,安全性更好。
2.3 ModBus协议介绍
ModBus 是一种运用于工业操控器的网络通讯协议,它是由Modicon 公司开发的,首要运用于电子操控器方面,现已成为一种通用工业规范。该协议支撑传统的RS 232,RS 422,RS 485和以太网设备。它界说了一个操控器能知道运用的音讯结构,运用者不需求关怀它们内部的网络通讯方法。操控器与操控器,操控器与其他设备之间(经过网络)的通讯都要经过ModBus协议来完结。ModBus 协议拟定了音讯域格局和内容的公共格局,并详细描绘了一个操控器恳求拜访其他设备的进程以及怎么回应其他设备的恳求,以及侦测过错并记载的进程。当运用ModBus网络进行通讯时,按照此协议的规则,每个操控器需求知道它们的设备地址,并能辨认按地址发来的音讯,依据这些信息决定要产生的动作。
ModBus协议的音讯也能在其他网络上进行传输,只需求将音讯转化为适用于其他网络上运用的帧或包结构即可。
ModBus分为两种传输形式,ASCII和RTU形式。本文选用RTU形式进行阐明。操控器运用主/从技能进行通讯,能直接或经由调制解调器(Modem)组网。网络上的每个从站有必要有专一的地址。地址规模为1~247.
从站地址用于寻址从站设备。ModBus通讯由主节点建议,即仅主设备能建议数据传输(即查询),从设备依据主设备查询供给的数据做出回应信息或呼应动作。主设备以单播或播送形式与从设备通讯。在单播形式下,从设备回来音讯作为回应,在播送形式下,不作任何回应(地址0作为播送地址)。ModBus协议树立了主设备查询的格局:设备(或播送)地址、功用代码、一切要发送的数据、过错检测域,详细的ModBus 协议通讯进程如图3所示。
从设备回应音讯也由ModBus协议构成,包含承认要举动的域、要回来的数据、和过错检测域。假如在音讯接纳进程中产生过错,或从设备不能履行其指令,从设备将树立过错音讯并把它作为回应发送出去。
关于ModBus通讯协议,信息传输为异步方法,以字节为单位传送。报文的信息帧格局分为独立的信息头和发送的编码数据两部分,其报文结构如图4所示,下面别离介绍。
地址码为通讯传送的第一个字节。每个从机都有具有专一的地址码,呼应回送以各自的地址码开端。主机发送的地址码标明将发送到的从机地址,而从机发送的地址码标明回送的从机地址。
功用码为通讯传送的第二个字节。ModBus通讯规约界说功用号为1~127.作为主机恳求发送,经过功用码告知从机履行什么动作。作为从机呼应,从机发送的功用码与从主机发送来的功用码相同,并标明从机已呼应主机进行操作。
数据区是依据不同的功用码而不同。数据区能够是实践数值、设置点、主机发送给从机或从机发送给主机的地址。CRC码为字节的过错检测码。
当通讯指令发送给接纳设备时,契合相应地址码的设备接通讯指令,将地址码去掉,获取真实的指令内容,判别是否有误,无误则履行相应的使命并把履行成果返送给发送者。回送的信息中包含地址码、执举动作的功用码、执举动作后成果的数据以及过错校验码,假如犯错就不发送任何信息。
3 嵌入式I/O模块的规划与完结
协议转化模块的功用是把DeviceNet格局的指令报文转化为ModBus的报文指令,再传给底层的ModBus设备,设备在接纳到ModBus指令之后,会向报文转化模块发送ModBus格局的呼应