摘要:本文介绍了如何利用赫优讯协议转换网关实现PROFIBUS现场总线和SICK条码扫描器串行通信网络间的通讯。
关键词:现场总线 PROFIBUS-DP RS232 SICK扫描器 协议转换 网关
Abstract:This paper introduces how to use the Protocol conversion gateway to realize the communication between PROFIBUS field bus and SICK Barcode Scanner.
Key words: FieldBus,PROFIBUS-DP,RS232,SICK Barcode Scanner,Protocol conversion Gateway
一、 赫优讯netTAP网关介绍
赫优讯(Hilscher)netTAP网关支持将串口协议(RS232/RS422/RS485)转换为现场总线协议或以太网协议,通过简单的配置软件即可实现两种不同协议之间的自动转换,协议转换包括:
1、 串口协议至Profibus从站的转换
2、 串口协议至DeviceNet从站的转换
3、 串口协议至CANopen从站的转换
4、 串口协议至以太网协议的转换
其中串口协议可以是ModbusRTU协议、SIEMENS 3964R协议、标准自定义ASCII协议;以太网协议可以是ModbusTCP协议、标准TCP/IP协议或者UDP协议。
二、 NT30-DPS-RSI2网关实现将SICK条码扫描器接入Profibus-DP网络
型号NT30-DPS-RSI2是将RS232串口协议转换为Profibus从站的网关,其中NT30代表netTAP30系列,DPS代表Profibus-DP Slave,RSI2代表RS232接口(其中的I代表端口隔离)。
在本案例中SICK智能型固定式一维条码扫描器CLV430-0010用于邮政分拣系统中EMS信件条形码的扫描读取,配备连接模块CDB420-001提供RS232通讯接口;在实际的控制系统上选用了西门子集成PROFIBUS-DP主站接口的CPU315-2DP处理器,考虑到布线、编程和系统扩展方便,设计选用网关将CLV430接入PROFIBUS-DP网络;
整个系统结构图如下:
三、 STEP7软件中的硬件组态
NT30-DPS-RSI2网关在Profibus-DP网络上作为从站运行,因此需要占用CPU315-2DP的输入输出映像区以用作数据交换;其中两个字节的输入和两个字节的输出是固定必须的,用于控制数据的接收和发送(即控制字);其他输入输出映像区用于存放接收消息和待发消息,实际使用时可以根据协议帧的长度来选择合适的映像区大小;
所有的串口转现场总线netTAP网关都可以配置成两种工作模式:主站模式和从站模式。主站模式为首先接收总线方向来的数据帧,从站模式为首先接收串口总线方向来的数据帧。
在我们的案例中,当CLV430探测到EMS信件的条码信息后将自动发出数据帧,对于CPU315-2DP来说只需要不断地接收CLV430的条码信息即可,因此网关需要工作在从站模式下。
网关在从站模式下的基本原理是:
1、 数据接收:
当网关接收到来自RS232侧的数据帧后它将把接收到的完整的数据帧放入输入映像区,同时将输入映像区的控制字的第一个字节的接收通知位取反以通知CPU新的数据已经到达,控制字的第二个字节存放接收到的数据帧字节长度;当CPU处理完接收数据(譬如将输入区数据帧备份到DB数据块)后必须将输出映像区控制字的第一个字节中的接收确认位的位值等同于输入映像区控制字的第一个字节的接收通知位,以确认接收成功,通知网关准备下次数据的接收。对于STEP编程,在OB1中添加以下代码即可:
A 接收通知位
= 接收确认位
2、 数据发送
如果CPU315-2DP接收到数据后需要回发数据帧至串口对象,那么只需要将发送信息帧放入输出映像区,将发送数据帧的长度放入输出映像区控制字的第二个字节,然后取反输出映像区控制字的第一个字节中的发送通知位,当网关检测到输出映像区控制字中的发送通知位和输入映像区控制字中的发送确认位的位值不等时将自动把信息发送到串口对象,发送完后将自动把输入映像区控制字中的发送确认位的位值等同于输出映像区控制字的发送通知位,以通知CPU发送信息完成。关于网关工作原理的具体描述可以参考光盘中的相关文件。
本案例中关于STEP7硬件的组态:
打开STEP7中的Hardware,将网关随机光盘中的GSD文件夹下的HIL_08EA.GSD和Hil_0916.gsd文件添加到硬件库中,然后选择Profibus DP\Additional Field Devices\General\NT 30-DPS条目,将其拖拉到Profibus-DP网络线,设定其Profibus-DP地址为3,组态2个字节的输入(控制字)、32个字节的输入(接收消息区)、2个字节的输出(控制字)和32个字节的输出(发送消息区);如下图所示:
说明:由于本案例CPU不需要发送数据帧至CLV430,因此可以将输出映像区的大小设置的更小,最小可以只有1个字节,具体可在网关参数配置软件SYCON.net中选择。
四、 网关的参数配置
netTAP网关统一采用赫优讯SYCON.net软件组态参数,点击随机光盘中的SYCONnet netTAP setup.exe进行安装。
注意:新的网关在使用前首先要通过SYCON.net下载固件,对于NT30-DPS-RSI2网关,光盘中存在三种固件:
1. ModbusRTU - ProfibusDP Salve;2. 3964R - ProfibusDP Salve;3. ASCII - ProfibusDP Salve
在本案例中我们选择ASCII - ProfibusDP Salve固件,固件文件为NTDPSASC.N34。
下载固件后进行参数配置,除了默认的参数外,以下参数需要更改:
1、 ASCII参数页:Parity=none;Telegram timeout=50;
注意:报文超时参数是在End mode=only time control(默认模式,采用时间控制来判断接收数据帧的结束)时才有效。当然,如果串口协议具有明确唯一的结束字符那么可以采用end identifier模式。报文超时参数是网关为接收每个串口数据帧所保留的时间;举个例子,如果采用默认值1000ms,那么当网关花费30ms接收完串口数据帧后它还将等待970ms后才能接收下个串口数据帧,其间的所有串口数据帧网关将不予理会。
这个案例我们设置为50ms,由于扫描器每一帧数据长度固定为18个字节,在9600波特率下接收不会超过30ms。因此偏大些设置为50ms。
2、 MODULES参数页:输入输出映像区大小2/32/2/32;
注意:STEP7中的组态要和此参数一致!
保存好参数后下载到网关即可。当网关和CPU315-2DP建立起Profibus-DP通讯后即进入协议转换运行状态。
下图为SYCON.net配置界面:
五、 案例应用
在本案例中某EMS条形码和接收数据的对应如下:
EMS条形码: *EO824508219CN*
接收数据(16进制): 02 20 45 4F 38 32 34 35 30 38 32 31 39 43 4E 0D 0A 03
其中起始字符为02,20为空格字符,结束字符为0D 0A 03,中间为13字节的EMS条形码数据,共18个字节。不同应用中的字符格式和SICK扫描器通讯参数配置有关。
六、 结束语
当前现场总线和工业以太网网络在自动化工程中已经越来越普遍的存在,特别是Profibus、DeviceNet、CANopen、ModbusTCP等流行现场总线和工业以太网,其应用场合越来越多,赫优讯的netTAP系列网关在将传感器、仪表等具有串口协议的智能设备接入现场总线和工业以太网方面发挥着重要作用,为用户在网络通讯的系统集成带来了很多方便;另外,赫优讯在欧洲享有盛誉的可编程PKV系列网关提供了现场总线主站至工业以太网的协议数据通讯转换功能,为不同协议间的大型网络通讯提供了更多的解决方案,在此我们对德国赫优讯自动化系统有限公司中国代表处的大力支持表示衷心的感谢。
参考文献
[1] SICK条码扫描系统-自动化识别技术(德国施克传感器公司).
[2] 协议转换网关技术手册-PROFIBUS(德国赫优讯自动化系统有限公司)
作者:
张鹏 男(1975--) 工程师 无锡市北辰自动化技术有限公司(赫优讯中国华东区分销商)
王海波 男(1982--) 工程师 无锡市北辰自动化技术有限公司(赫优讯中国华东区分销商)