摘要:PM-160是泗博公司生产的,可以实现串口与PROFIBUS DP协议数据 通信的网关。网关PM-160具有RS485、RS422和RS232接口,用户可根据自己设备的串口实际情况进行对应连接。网关的串口端不仅可以实现标准的Modbus协议与PROFIBUS DP协议的转换,也支持自定义协议与PROFIBUS DP协议的转换。本案例讲述的是PM-160的通用模式下,用户自定义协议设备与PROFIBUS DP主站设备西门子300系列PLC的连接示例。 关键字:串口转PROFIBUS DP RS485转PROFIBUS DP PM-160_V5 西门子S7-300PLC, 厦门宇电P518 泓格科技I-7043D 客户需求:用户有一台厦门宇电P518设备和一台泓格科技I-7043D设备,两种设备均是自定义协议设备。用户需要使用PLC对这两台设备进行读写数据操作。PLC是走PROFIBUS DP协议的,因此通过我们的网关PM-160,将自定义协议转换给PROFIBUS DP协议,进而通过网关PM-160对这两台设备进行数据交换通讯。
解决方案: 1. 系统架构 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 图1 系统架构图 2. PM-160通用模式时的数据交换规则 PM-160实现PROFIBUS-DP现场总线协议与RS232/RS485/RS422之间的数据交换。PROFIBUS-DP数据与RS232/RS485/RS422数据之间是双向的转换和传递。PROFIBUS输出数据通过RS232/RS485/RS422口发送到RS232/RS485/RS422总线上,RS232/RS485/RS422口接收到的数据放入PROFIBUS输入数据中。 数据交换如下图所示:
| | file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif |
图2 PROFIBUS DP总线与串口总线数据交换规则图 上图中,Eo是PROFIBUS DP输出数据的事务号;i是输出数据包含要发送的串口数据个数;D1 ~Di是串口发送数据;Ei是PROFIBUS DP输入数据的事务号;j是输入数据包含已接收到的串口数据个数;D1 ~ Dj是串口接收数据。
3. 调试工具 Ø 串口端:PM-160的配置软件PMG-123 Ø PROFIBUS DP端:PLC的组态软件Step7 PM-160网关需要配置软件PMG-123对其自定义协议设备的通讯参数做相应的配置。对于网关的PROFIBUS DP端,需要在PLC的组态软件Step7中导入GSD文件,并拖动模块,设置好DP从站地址即可。 接线 PM-160网关可以选择RS485/RS422或者RS232口作为通讯口,连接其设备。但是配置时只能使用RS232口对网关进行配置。;连接24V DC 电源;PROFIBUS DP(DB9端口)端口使用DP专用线连接到S7-300 PLC上。
具体的调试内容如下: 1. 厦门宇电P518设备的通讯要求说明及与网关PM-160的调试结果 Ø 厦门宇电P518设备的通讯要求说明 AIBUS是厦门宇电自动化科技有限公司为AI系列显示控制仪表开发的通讯协议,能用简单的指令实现强大的功能。 通讯指令如下: AI仪表采用16进制数据格式来表示各种指令代码及数据。标准的通讯指令只有两条,一条为读指令,一条为写指令。此处只做读命令的通讯连接过程说明。 设备的基本参数:波特率:9600,数据位:8,奇偶校验位:无,停止位:1. 读命令规则:地址代号+52H(82)+要读的参数代号+0+0+校验码 读取2号设备,参数代号是01(HIAL上线报警)的数据内容,则根据读命令规则,S7-300的PLC发出的读命令报文内容应该为:
Ø 网关PM-160的调试结果 首先用户需要先在PC上安装好配置软件PMG-123,对PM-160进行配置。注意上下载配置时网关需要在配置模式下进行。 网关PM-160中的配置如下:只需要配置“现场总线”和“子网”即可 “现场总线”默认配置即可,“子网”的“协议类型选择”——“通用模式”,9600-8-无-1,“控制方式”——“字符超时”,字符超时时间为300,“通讯接口-RS485”,其他参数均默认配置。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg 图3子网配置图 将该配置下载入网关以后,使网关进入运行模式,给网关重新上电。将S7-300 PLC连接到网关PM-160上,串口RS485连接在宇电P518设备上。通过PLC的输出缓冲区发送读命令指令,发送报文如下图所示: file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg 图4 PROFIBUS DP输出缓冲区输出数据 上图中,07是PROFIBUS DP输出数据的事务号;08是输出数据包含要发送的串口数据个数:8个字节;82 82 52 01 00 00 5401是PM-160的串口发送给宇电P518设备的数据内容。 查看PLC的输入缓冲区接收到的数据内容如下: file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg 图5 PROFIBUS DP输入缓冲区接收到的数据 上图中,07是PROFIBUS DP输入数据的事务号;0A是输入数据包含已接收到的串口数据个数:10个字节;3B 33 31 03 00 51 C8 00 36 8B 是串口接收到的数据内容:
十六进制C8转换成十进制是200,因此读取到的2号设备上的HIAL上线报警值是200. 泓格科技I-7043D设备的通讯要求说明及与网关PM-160的调试结果 Ø 泓格科技I-7043D设备的通讯要求说明 通过PLC发出指令控制I-7043D设备上的运作情况,比如设置I-7043D设备上面指示灯的状态,俗称写命令的通讯连接过程说明。 设备的基本参数:波特率:9600,数据位:8,奇偶校验位:无,停止位:1. 设备地址号:1号设备。 “I-7000 and M-7000 DIO User Manual”第82页命令请求及响应示例如下: Command:# 010033 CR Response:Sets DC0, DC1,DC4 and DC5 to on, and DC2, DC3, DC6, DC7 to off, and the module returns avalid response. 根据该命令规则,Command:# 010033 CR是ASCII码显示,转换为十六进制数显示为:
Ø 网关PM-160的调试结果 首先给网关下载配置,然后使网关进入运行模式,查看DP和设备之间的数据交换情况。 S7-300的PLC输出缓冲区发送该命令报文如下: file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg 图6 PROFIBUS DP输出缓冲区输出数据 上图中,09是PROFIBUS DP输出数据的事务号;08是输出数据包含要发送的串口数据个数:8个字节;23 30 31 30 30 33 33 0D是PM-160的串口发送给I-7043D设备的数据内容。 I-7043D设备在收到上面的命令以后,该设备上面的DO0、DO1、DO4和DO5灯亮,DO2、DO3、DO6和DO7不亮,即表示该命令发送成功,PLC可以成功通过PM-160写数据给该设备,控制该设备的运作情况。 在PLC的输入缓冲区可以查看到I-7043D设备返回来的数据内容如下: file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg 图7 PROFIBUS DP输入缓冲区接收到的数据 上图中,01是PROFIBUS DP输入数据的事务号;02是输入数据包含已接收到的串口数据个数:2个字节;3E 0D是串口接收到的数据内容。 其他疑问解答: PROFIBUS DP端的PLC组态软件设置 ROFIBUS DP端只需在PLC的组态软件中导入GSD文件,拖动好输入/输出数据块,设置好DP地址即可: file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg 图8 Step7组态配置界面 PM-160的DP地址如何设置:网关在正常运行模式,通过网关上面的按钮来设置。具体设置方法详见说明书第12页-“PROFIBUS DP地址设置按钮”的使用说明。 网关如何进入配置模式,调试模式和运行模式? 将PM-160的拨码开关拨至1OFF 2ON,给网关上电,看到网关的数据管显示“CF”,即表示网关进入配置模式,可以对网关进行上下载配置操作; 将网关的拨码开关拨至1ON、2OFF,给网关重新上电,数码管显示db,网关进入“调试模式”;在不具备DP主站时,可以通过配置软件PMG-123上的“调试”功能,查看自定义协议设备与PM-160网关之间的通讯状态。 将网关的拨码开关拨至1、2OFF,给网关重新上电,数码管显示具体数值,网关进入“正常运行模式”,数码管中显示的数字是网关的DP地址。
|