通用串口modbus转PROFIBUS DP网关PM-160在汽车行业的应用案例
通用串口modbus转PROFIBUS DP网关PM-160在汽车行业的应用案例
摘要:
PM-160 是泗博公司生产的,可以实现串口与 PROFIBUS DP 协议数据通信的网关。此案例讲述的是通过 PM-160 网关,成功将梅特勒-托利多电子秤上的自定义协议数据传递给西门子 PLC 的应用案例说明。
背景:
某公司做轴承和汽车零部件,需要用到高精度电子秤做张紧器的注脂量测量。并将其测量值传输给 PLC 做进一步处理。该公司选用Mettler Toledo 的一款高精度电子秤,该电子秤不是标准的协议,是通用串口协议,也就是俗称自定义协议的一款设备。那么如果想要将电子秤上的数据传递给PROFIBUS DP 协议的 PLC 时,则需要一款协议转换器。通用串口modbus转 PROFIBUS DP 协议 PM-160网关正是解决这一难题的最佳解决方案。、

解决方案:
- 系统架构

2.、调试工具:
(1)串口端: PM-160 的配置软件 PMG-123
(2)PROFIBUS DP 端: PLC 的组态软件 Step7
PM-160 网关需要配置软件 PMG-123 对其电子秤上协议通讯参数做相应的配置,所设参数依据是电子秤的通讯说明。对于网关的 PROFIBUS DP 端,需要在 PLC 的组态软件 Step7 中导入 GSD 文件,并拖动模块,设置好 DP 从站地址即可。
3、接线
PM-160 网关可以选择 RS485/RS422 或者 RS232 口作为通讯口,连接其设备。但是配置时只能使用 RS232 口对网关进行配置。本案例中电子称是 RS485 口通讯,因此将电子秤的 RS485 连接网关的RS485 端子 (注意正负): 连接 4V DC 电源: PROFIBUS DP (DB9 端口) 端口使用 DP 专用线连接到S7-300 PLC上。
4、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 输入数据中。数据交换如下图所示:
上图中,Eo 是 Profibus 输出数据的事务号;是输出数据包含要发送的串口数据个数: D1~ Di 是串口发送数据: Ei 是 Profibus 输入数据的事务号:j是输入数据包含已接收到的串口数据个数: D1~Dj 是串口接收数据。
具体的调试步骤如下:
串口端调试步骤
1、电子秤的基本通讯参数和通讯指令要求
波特率: 115200bps,数据位: 8,奇偶校验位: 无,停止位: 1.
当梅特勒-托利多称上面重量单位是“克”,重量是 0.00g 时,称的显示屏幕上显示规则如下:--0.00_g CR LF(ASCII 码显示,一共是 18 个 ASCII 码字符。)ss零重量下对应的十六进制输出是:
53 20 53 20 20 20 20 20 20 20 30 2 30 30 20 67 0D 0A (十六进制数显示,一共是 18个字节数据内容)
梅特勒-托利多电子称不断的发送称重值给 PLC,无需 PLC 发出控制指令给电子秤。
2、使用 PMG-123 对 PM-160 网关做配置
首先在 PC 上安装好配置软件 PMG-123,双击桌面上的快捷方式,打开配置界面。将 PM-160 的拨码开关拨至 10FF 20N,给网关上电,看到网关的数据管显示“CF”,即表示网关进入配置模式,可以对网关进行上下载配置操作。
本应用中是通用模式,因此只需配置“现场总线”和“子网”即可。
现场总线配置:本案例将“PROFIBUS 输入有效数据长度”设置为“开启”。

“通用模式”时,子网下面的“控制方式”有“字符超时”和“字符个数”可选。本案例中电子秤上面传递的数据内容是 18 个字节,因此控制方式选择字符个数,并设置字符的个数是 18.此时字符超时时间同时起作用,按照实际需求设置即可。
,将该配置下载入网关,当屏幕上提示下载成功,即表示该配置已经点击工具栏上快捷键成功下载入网关中。在给网关下载完配置以后,用户可以有以下两种选择:
(1)将网关的拨码开关拨至 10N、20FF,给网关重新上电,数码管显示 db,网关进入“调试模式”此时可查看自定义协议设备与 PM-160 网关之间的通讯状态。
(2)将网关的拨码开关拨至 120FF,给网关重新上电,数码管显示具体数值,网关进入“正常运行模式”,数码管中显示的数字是网关的 DP 地址。此时为网关正常通讯模式,可实现 PLC 与串口设备之间的数据交换。
3、调试模式功能: 在不具备 DP 主站时,可以通过配置软件 PMIG-123 上的“调试”功能,查看自定义协议设备与 PM-160 网关之间的通讯状态。
调试模式接线: PM-160 网关上的 RS232 口连接电脑上,RS485 口连接在自定义协议设备上。
首先使网关进入调试模式,点击 按钮,弹出选择固件版本窗口,本案例中使用的是 PM-160V52产品,因此选择“5.X及以上”,点击 确定,如果此时电子秤上有数据发出,即可看到“串口一PROFIBUS”的数据内容就是电子称发出的数据内容。说明 PM-160 的串口已经接收到串口设备发送过来的数据,通讯正常。“读取到的数据”即为 PROFIBUS DP 主站接收到的数据内容显示。
二、PROFIBUS DP 端的 PLC 组态软件设置
ROFIBUS DP 端只需在 PLC 的组态软件中导入 GSD 文件,拖动好输入/输出数据块,设置好 DP 地址即可:

PM-160 的 DP 地址如何设置:
网关在正常运行模式,通过网关上面的按来设置。具体设置方法详见说明书“PROFIBUS DP 地址设置按钮”的使用说明。
三、PM-160 处于正常运行模式下,查看 DP 和 Modbus 之间的数据变化。
将网关的拨码开关拨至 1、20FF,给网关重新上电,数码管显示具体数值,网关进入“正常运行模式”,数码管中显示的数字是网关的 DP 地址。网关上的 DB9 端口连接的是 S7-300PLC,RS485 端口连接的是梅特勒-托利多电子秤。
此时,在 S7-300 PLC上即可看到通过网关 PM-160 传递过来的梅特勒-托利多电子秤上的重量值例如通过 Step7 组态软件直接查看到的数据显示如下图:

上图显示的数据值是十六进制显示的。根据“PM-160 通用模式数据交换通讯说明”可知,第一个字节“01”表示“Profibus 输入数据的事务号”:第二个字节“12”表示“输入数据包含已接收到的串口数据个数”,本例中 PM-160 串口接收到的数据字节数是 18 个,也就是十六进制 12: 第三个字节往后的 18 个字节就是电子秤传递过来的数据内容,即“D1 ~ D 是串口接收数据”
通用串口modbus转PROFIBUS DP网关PM-160在汽车行业的应用案例的更多相关文章
- profibus总线和profibus dp的区别
profibus总线和profibus dp的区别:PROFBUS是一种国际性的开放式的现场总线标准,它既可以用于高速并且对于时间苛求的数据传输,也可以用于大范围的复杂通讯场合.PROFBUS-DP是 ...
- 简单Profibus/DP实验系统的组建
转自:http://www.dndev.com/Profibus/profibustr/system_4.html 引言: 为了让更多刚接触到Profibus系统的朋友能对Profibus的网络架构及 ...
- MODBUS转PROFINET网关将电力智能监控仪表接入PROFINET网络案例
本案例控制的主要对象是变送器的显示与报警.系统主PLC 选用西门子CPU,通过小疆智控MODBUS 转 PROFINET网关GW-PN5001采集IM300电力智能监控仪数据. 1.首先加入 GSD ...
- 一种基于Modbus的工业通信网关设计
近年来,随着工业自动化领域的发展,工业现场对网络的可靠性及成本有极高的要求.传统基于串口的工业网关可以满足工业现场的应用,但却要付出高额成本.一种基于 ModBus 设计的工业通信网关就走进人们的眼中 ...
- Modbus转BACnet IP网关
BACnet是楼宇自动化和控制网络数据通信协议的缩写.它是为楼宇自动化网络开发的数据通信协议 根据1999年底互联网上楼宇自动化网络的信息,全球已有数百家国际知名制造商支持BACnet,包括楼宇自 ...
- 项目操作案例丨西门子PLC通过网关连接ACS800变频器
本案例控制对象为炉条机.以及蒸汽的控制以及现场数据参数的显示以及报警. PLC 选用西门子 CPU,通过 ET200 IO 模块控制现场设备并监控数据.变频器采用ABB ACS800变频器,将ABB ...
- Modbus RTU新版本指令介绍
Modbus RTU新版本指令介绍 TIA V13 SP1版本软件中提供了2个版本的Modbus RTU指令: 图1. 两个版本Modbus RTU指令 早期版本的Modbus RTU指令(图1. 中 ...
- linux串口驱动分析
linux串口驱动分析 硬件资源及描写叙述 s3c2440A 通用异步接收器和发送器(UART)提供了三个独立的异步串行 I/O(SIO)port,每一个port都能够在中断模式或 DMA 模式下操作 ...
- linux串口驱动分析【转】
转自:http://blog.csdn.net/hanmengaidudu/article/details/11946591 硬件资源及描述 s3c2440A 通用异步接收器和发送器(UART)提供了 ...
- Linux驱动之串口(UART)
<uart驱动程序概述> 在嵌入式Linux系统中,串口被看成终端设备,终端设备(tty)的驱动程序分为3部分: tty_core tty_disicipline tty_driver ...
随机推荐
- Unity Shader编辑器工具类ShaderUtil 常用函数和用法
Unity Shader编辑器工具类ShaderUtil 常用函数和用法 Unity的Shader编辑器工具类ShaderUtil提供了一系列函数,用于编译.导入和管理着色器.本文将介绍ShaderU ...
- vscode+gdb 配置
到这个网址下载 mingw c语言环境 https://sourceforge.net/projects/mingw-w64/files/mingw-w64/ 我是windows64 位,直接下载这个 ...
- 基于md5加密的模拟管理员登录系统
import os import pandas as pd def md5(string:str=''): import hashlib md5 = hashlib.md5() ...
- 手写RISC-V处理器(1)
由来 由于去年工作变动,有幸进入了芯片行业,但主要工作内容为基于RISC-V的嵌入式应用软件开发,几乎接触不到芯片设计的相关知识,然而随着工作的深入,越来越想探究一下运行在软件之下的CPU的世界,于是 ...
- 如何将项目打包上传到NuGet服务器?
作者:西瓜程序猿 主页传送门:https://www.cnblogs.com/kimiliucn 前言 在我写[在.NET Framework中使用RocketMQ(阿里云版)]这篇博客的时候,因为封 ...
- [译]这几个CSS小技巧,你知道吗?
前言 在网页设计和前端开发中,CSS属性是非常重要的一部分.掌握常用的CSS属性不仅可以使你的网页看起来更美观,还能提升用户体验,今天小编为大家介绍8个常见的CSS小技巧: 1.修改滚动条样式 下图是 ...
- [Mysql] 存储过程简单理解
什么是存储过程 简单的说, 就是一组SQL语句集, 功能强大, 可以实现一些比较复杂的逻辑功能. 其实就和编程语言的面向过程函数一样. ps: 存储过程与触发器类似, 但存储过程是主动调用, 触发器是 ...
- 【Azure Batch】在批处理的Task中如何让它执行多个CMD指令呢
问题描述 根据Azure Batch的入门文档(使用 Azure 门户创建 Batch 帐户并运行作业 : https://docs.azure.cn/zh-cn/batch/quick-create ...
- Node.js vs. Spring Boot:Hello World 性能对决,谁更快一点?
前言: Spring Boot 在 Java 生态中备受欢迎,它是一款基于 Java 构建的轻量级服务端框架,主要用于 Web 服务.Spring Boot 的应用使得创建各类基于 Spring 的企 ...
- 「codeforces - 1208F」Bits and Pieces
link. 考虑把原问题写成一个在 \(\left(\log_2 \max v \right) \times n\) 的矩阵里选出三列,我们首先预处理出 \(j \cap q\).具体,我们需要对于每 ...