RS485与PROFINET跨网通讯的实现

2011-04-27 09:53杨少华
电气传动 2011年5期
关键词:输入输出字节网关

杨少华

(云南昆船设计研究院,云南 昆明 650236)

RS485与PROFINET跨网通讯的实现

杨少华

(云南昆船设计研究院,云南 昆明 650236)

以基于RS485网络的Danfoss MCD3000软启动器为例,结合Anybus网关的特点,阐述了在RS485网络和PROFINET之间通讯的方法和要点,详细说明了关键设置步骤,并给出了Step7的通讯程序,为一网到底模式下跨网通讯提供了一种方式。经应用证明,在对实时性要求不是很高的情况下,这是一种经济可靠的通讯方式。

RS485;PROFINET;跨网通讯

1 引言

随着自动化网络技术的发展,基于TCP/IP协议的现场总线如PROFINET,EthernetIP等逐渐得到推广和应用。

然而,由于底层仪表或基础驱动装置较多受成本等因素的影响,依然保留着RS232,RS485等串行通讯接口,这为“一网到底”的实施和推广带来了一定的障碍。因此,寻找一种接入方式,使之既能保证底层传统网络的正常运行,又不影响先进高效的工业以太网总线的应用是一个值得研究的课题。本文以RS485接口的Danfoss MCD3000软启动器为例,分析基于RS485网络的电气设备与PROFINET的联接技术,并给出了设计方案。

2 组网

典型的RS485多机通信的数据传输方式有半双工、全双工两种方式,通讯形式有同步和异步两种通信方式。本方案考虑到从机的数据量不大,系统对数据的实时性要求不高,以及工程实施的简便性等因素,采用半双工模式,其结构如图1所示。在这种模式下,数据可实现双向传送,但不能同时进行。在本方案中,由于软启动器有自己的时钟,因此通讯形式须采用异步通信方式,即:每一帧以一个起始位开始,紧接着若干个数据位,以一个停止位结束。

图1 RS485半双工通讯Fig.1 The half-duplex communication of RS485

一般情况下,RS485可以通过西门子的CP440模块接入S7-400系统,但是考虑到成本和通用性,本方案采用了HMS公司的AnyBus Profinet AB7013网关作为主机,实现基于RS485通讯的各软启动器对PROFINET的接入,网络结构见图2。

图2 RS485通过AB7013接入PROFINETFig.2 RS485connect to PROFINET via AB7013

具体接线时,软启动器的68(+)、69(-)端子分别对应地接AB7013的DB9F上的8号(RS485+)和9号(RS485-)针脚,双方的接地线对接。如果通讯距离较长的话,尚需接1个120Ω的终端电阻和2个470Ω的终端电阻。

3 网关的设定

运行AB7013的配置工具ABC Config Tool,进入参数配置界面,选中左边“现场总线”栏,在对应的“Fieldbus Type”下拉框中选“Profinet IO”,同时设置网关的IP地址、网关和子网掩码;在“ABC”栏对应的“Protocol Mode”下拉框中选“Master Mode”;在“子网”栏对应的 “Physical standard”下拉框中选“RS485”;波特率、数据位数、奇偶校验、停止位等的设置与RS485各子站的设置需一致(MCD3000的Par.22和Par.23号参数);分配各RS485从站地址:假设从站地址为3,则在“子网”下“添加节点”,并设置其“Slave address”为3。其他设置均选择默认值,参见图3。

图3 AB7013的设定Fig.3 The setting of AB7013

以“添加交换”的方式在新添加的节点下生成各数据包,每个数据包下有Query和Response两条指令帧,通常以“添加字节,常量”或“添加字,常量”的方式在这两条指令帧下生成输入输出命令数据序列,各命令数据的内容为MCD3000的ASCII指令对应的16进制数,以0x开头填写在对应的Value栏内。每发一条指令前均需先发送“分配地址指令”方可生效;由PLC传递过来的定长数据需以“添加数据变量”的方式接收。

MCD3000的ASCII指令类型有12种,如分配地址的 ASCII指令为:EOT[nn][LRC]ENQ,发送命令的 ASCII指令为:STX[ccc][LRC]ETX,其中nn为2个字节ASCII码从站地址,ccc为3个字节的ASCII码命令数,LRC为2个字节的十进制纵向冗余校。MCD3000的LRC遵从Modbus协议下ASCII的LRC,可直接在ABC Config Tool中选取Checksum“添加校验”为“LRC”,亦可通过将其前面的本帧所有ASCII码对应的二进制码相加,得到的和进行Mod256运算取余(即按位取反码加1),得到的16进制数再转化成2个字节的ASCII码的方式获得。最后,将上述各指令用16进制数表达出来后按顺序以0x开头填写在对应的Value栏内。如需要3号子站启动,则依次传送分配地址的帧数据(04 30 33 39 39 05)和启动指令帧数据(02 42 31 30 35 42 03)。至此ABC Config Tool的设置完成。

为了得到AnyBus各节点输入输出映像区的地址并验证各地址是否有冲突,打开ABC Config Tool的“子网监视器”,检查地址冲突,并点击相关复选框核实相关指令所在映像区的地址,图4中“区域”部分的示意图中,每一个方格表示一个字节的长度。

图4 AB7013各子节点缓冲区Fig.4 The buffer for sub-nodes of AB7013

4 Step7组态与编程

在Step7中,打开硬件配置,导入AB7013的GSD文件,将其GSD图标从硬件区拖至配置区的PROFINET-IO-System轨线上;双击在配置区新产生的AnyBus图标,修改IP地址,再为其添加输入输出模块,修改输入输出地址,从而完成所有组态操作,见图5。

图5 组态后的输入输出映像区地址Fig.5 The I/O images of PLC after configurations

编程时,需要明晰PLC的输入输出映像区与AnyBus缓冲区的对应关系。如果使用AnyBus网关默认的寄存器,那么AnyBus输入输出映像区第1个数据的位置就是:输入为0x002,输出为0x202。因此对PLC的输入映像区624的操作就是对AnyBus输出缓冲区0x202的读操作,对PLC的输出映像区624的操作就是对AnyBus输入缓冲区0x002的写操作。

编制FC如下:

在调用此FC块赋值时,对局部变量“OUT_addr”赋予PLC输出映像区的实际地址值,如624;对“start”赋予启动的开关量信号;程序中16进制的42,31,30即为 MCD3000的启动指令,其LRC已直接在ABC Config Tool中直接选取,因此不再单独发送。

联机调试时,可以打开ABC Config Tool的3#node“节点监视器”,观察数据交换是否正确。图6为3#站的数据通讯情况,可以看到16进制的42,31,30已经在“输出区域”出现。

图6 AB7013联机数据Fig.6 The communicating data of AB7013

5 结束语

本文为RS485接入PROFINET提供了一种方式,该方式可以进一步推广到能以RS485连接的其他电控设备,如SEW的变频一体电机、施耐德的Microdrive V变频器等。本方案在某公司烟叶生产线得到实际应用,效果良好。事实证明,在对实时性要求不是很高的情况下,这是一种经济可靠的联接方式。

[1] SIEMENS.Profinet IO Communication[Z].2006.

[2] HMS.Anybus Communicator for PROFINET User Manual[Z].2009.

[3] Danfoss.MCD3000Softstarter Operating Instructions[Z].2003.

修改稿日期:2010-11-25

Cross-network Communication Between RS485and PROFINET

YANG Shao-hua

(YunnanKunmingShipbuildingDesign&ResearchInstitute,Kunming650236,Yunnan,China)

By taking Danfoss MCD3000soft starter based on RS485as an example,and combining characteristics of Anybus gateway,the key points and methods of communication between RS485and PROFINET were introduced,detailed the key setup steps,gave communication program based Siemens Step7,and advanced a cross-network communication way in a total network.The application shows that is an economical and reliable means not special real-time requirements.

RS485;PROFINET;cross-network communication

TP274

A

杨少华(1973- ),男,硕士,高级工程师,Email:ksecyangshaohua@139.com

2010-08-30

猜你喜欢
输入输出字节网关
No.8 字节跳动将推出独立出口电商APP
Camtasia Studio高清视频输入输出原理及方法
No.10 “字节跳动手机”要来了?
铁路信号系统安全输入输出平台
信号系统网关设备的优化
输入输出理论在大学英语听说课堂中的教学探索
简谈MC7字节码
输入输出视角下高职英语教学研究
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”