在某工厂的自动控制项目中,需要将相隔 3公里的两台西门子 S7-300控制系统设备实现数据交换。由于两设备相距甚远,而且间隔山脉,采用以太网光纤传输并不现实,鉴于BANNER公司优秀的超远距离无线传感产品,设计采用其surecross系列中的DataRadio无线电台DX80DR2M。同时CONTROL ENGINEERING China版权所有,由于两台S7-300控制系统均为带有Profibus-DP主站接口的CPU315-2PN/DP 控制器,而无线电台 DX80DR2M支持 RS485 Modbus RTU协议,因此设计选用赫优讯公司的 NT30-DPS 网关(Modbus RTU 转Profibus-DP从站)来实现数据交换,系统结构设计如下:
二. 功能描述
如图 1所示,两个远程站的NT30-DPS均通过其 Profibus-DP接口挂接到 CPU315-2PN/DP的Profibus-DP总线上作为DP从站运行,同时其RS485引出线连接到DX80DR2M 电台的通讯引出线上,为了实现Modbus RTU的主从数据交换CONTROL ENGINEERING China版权所有,其中一个 NT30-DPS 设计为Modbus RTU 主站运行www.cechina.cn,而另一台NT30-DPS 设计为Modbus RTU 从站运行。在系统运行时,Modbus RTU 主站网关根据预先配置的通讯命令表(Modbus RTU 命令 FC1-FC16)自动读写Modbus RTU 从站网关的寄存器数据,然后每个网关又通过 Profibus-DP输入输出映像区与各自的 CPU315-2PN/DP主站实现数据交换,从而实现 CPU315-2PN/DP之间的数据交换,数据交换的实现如下图所示:
图2:数据交换实现
如上图所示,两个NT30-DPS与各自的CPU315-2PN/DP实现 64个字节的输入输出数据交换CONTROL ENGINEERING China版权所有,通讯机制如下:
1)来自右侧 CPU315-2PN/DP 的输出数据QW0-QW62通过 Profibus-DP机制被自动传送到作为Modbus RTU 从站 的NT30-DPS 的30001-30032输入寄存器中,然后被作为Modbus RTU主站的NT30-DPS通过 FC4功能号读取到输入端寄存器 Register1-32 中,最后通过 Profibus-DP 机制被自动传送到左侧 CPU315-2PN/DP 的IW0-IW62输入映像区中,从而实现了右侧 CPU 的输出数据到左侧CPU 的输入数据的传送。
2)来自左侧 CPU315-2PN/DP 的输出数据QW0-QW62通过 Profibus-DP机制被自动传送到作为Modbus RTU 主站的 NT30-DPS 的输出端寄存器 Register1-32 中,然后通过功能号 16 将数据写入到作为 Modbus RTU 从站的 NT30-DPS 的 40001-40032保持寄存器中,最后通过 Profibus-DP机制被自动传送到右侧 CPU315-2PN/DP的IW0-IW62输入映像区中,从而实现了左侧 CPU 的输出数据到右侧CPU 的输入数据的传送。
如上所述,CPU315-2PN/DP与网关的数据交换是靠 Profibus-DP机制自动完成的,而作为Modbus RTU主从站的两个网关之间的数据传送是通过主站的配置命令预先设定的,因此对于两端的CPU315-2PN/DP来说,整个数据交换的实现是不需要编写任何程序的。
三. NT30-DPS 的参数配置
NT30-DPS 的参数配置通过赫优讯SYCON.net软件实现CONTROL ENGINEERING China版权所有,对于作为Modbus RTU主站的NT30-DPS,其配置参数如下:
1) MODBUS表
Interface and RTS RS485 RTS ON
Baudrate 19200 Bits/s
Stopbits 1
Parity none
Mode Master / address:40001-49999
Slave Function Address Quantity Register Coil Write
2 4 30001 32 1 0 Cycle
2 16 40001 32 1 0 Cycle
2) SUPERVIS表
Supervision Mode SlaveError
以上未列出的参数均采用默认参数。
对于作为ModbusRTU从站的NT30-DPS,其配置参数如下:
1) MODBUS表
Interface and RTS RS485 RTS ON
Baudrate 19200 Bits/s
Stopbits 1
Parity none
Mode Slave / address:40001-49999
Modbus address 2
2) MODULES表
in byte con 64
out byte con 64
3) COMMAND表
无命令
以上未列出的参数均采用默认参数。
注意点:
1) 无论主从站均应采用ModbusRTU标准地址格式,即 address:40001-49999;
2) 主从站的MODULES地址分配空间必须一致,上面分配的为 64个字节的输入和 64个字节的输出;
3) 对于主站,其 Supervision Mode参数不能选择 off,否则在多从站网络通讯中如果某一从站通讯故障(如断开网络),那么主站网关将不会自动跳过有故障的从站(始终尝试与故障从站的通讯直到其恢复通讯);
四. STEP7中的配置
要将 NT30-DPS 连接到 CPU315-2PN/DP 的 Profibus-DP 网络中必须要在西门子 STEP7软件中进行网络硬件配置。首先,为了能够在 STEP7的Hardware Catalog 中找到NT30-DPS 网关,必须安装NT30-DPS 的GSD文件:
1) 将NT30-DPS 网关的随机光盘插入光驱;
2) 关闭 STEP7的Hardware窗口中的当前所有项目,然后选择菜单Options->Install GSD File,在弹出的对话框中选择光盘中的GSD文件(在 GSD\PROFIBUS 目录下),最后点击Install按钮;
安装完 GSD 文件后即可进行 Profibus 的从站配置:打开 STEP7 项目的 Hardware 窗口,从右边 Catalog 中选择NT30-DPS 网关(在PROFIBUS-DP\Additional Field Devices\Gateway下),然后拖拉到左面 CPU 的Profibus 总线上,最后设置NT30-DPS 的Profibus地址和输入输出映像区;
STEP7的硬件配置如下图所示(采用了CPU313C-2DP):
五. 应用时的注意点
1) NT30-DPS 的RS485引出线中有+5VDC 电源,因此除了粉色线和灰色线 (RS485 的P和N)以及黄色线 (地线)外其他所有引线之间不应短路,否则会影响通讯甚至烧坏通讯口,具体请参阅光盘盒中的硬件手册;
2) 如果NT30-DPS 的STA指示灯亮说明NT30-DPS 已经和Profibus-DP主站建立了连接;
3) 修改NT30-DPS 的Profibus地址后(通过NT30-DPS上的地址盘码设定)需要重新上电;
4) 新出厂的NT30-DPS在使用前需要下载固件(在 SYCON.net软件中下载);
六. 结束语
德国赫优讯自动化系统有限公司是全球工业网络通讯领域的专家,除上述PROFIBUS转串口外,还提供各种现场总线、实时以太网与串口,乃至用户自定义串口协议的转换网关,可以将用户的各种串口设备连入上层的控制网络中,实现设备联网。无锡市北辰自动化技术有限公司为德国赫优讯在中国的华东区经销商,我们乐意为工业自动化领域内的任何网络通讯项目提供最优的解决方案。本案例在调试中得到了上海BANNER公司和上海赫优讯办事处技术人员的支持,在此表示感谢。