通用串口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 ...
随机推荐
- [git]记配置本地git到gitlab并推送
前言 gitlab仓库地址:git@192.168.0.12:godev/gohello.git 步骤 # 配置用户 git config --global user.name "zhang ...
- 使用kafka自带脚本进行压力测试
前言 kafka官方自带压力测试脚本: 消费者压力测试:kafka-consumer-perf-test.sh 生产者压力测试:kafka-producer-perf-test.sh 测试节点: 17 ...
- CentOS7升级python3到最新版
前言 最近在学习sanic,需要python3.7以上的版本,而centos7默认的python版本是3.6.8,所以升级了一下版本,在此笔录. 步骤 首先,从python官网下载最新版的python ...
- 「Go笔记-02」变量、数据类型、数据类型间转换、进制转换...看这一篇就Go了
前言 一个程序就是一个世界,不论是使用哪种高级程序语言编写程序, 变量都是其程序的基本组成单位, 变量 在 go 中 变量是用于存储数据的命名空间(内存位置),它可以表示一个值,这个值在程序执行过程中 ...
- 华为云GaussDB(for Influx)单机版上线,企业降本增效利器来了
本文分享自华为云社区<华为云GaussDB(for Influx)单机版上线,企业降本增效利器来了>,作者:GaussDB 数据库 . 1.背景 华为云GaussDB(for Influx ...
- C#程序随系统启动例子 - 开源研究系列文章
今天讲讲C#中应用程序随系统启动的例子. 我们知道,应用程序随系统启动,都是直接在操作系统注册表中写入程序的启动参数,这样操作系统在启动的时候就根据启动参数来启动应用程序,而我们要做的就是将程序启动参 ...
- 在centos7.X下安装Java
发布于 2 分钟前 2 次阅读 1.创建JDK目录 mkdir /opt/jdk 2.通过finalshell或xftp将jdk上传到/opt/jdk目录中 3.cd /opt/jdk 4.解压jd ...
- [ABC146F] Sugoroku
2023-02-27 题目 题目传送门 翻译 翻译 难度&重要性(1~10):5 题目来源 AtCoder 题目算法 贪心 解题思路 对于第 ii 个点,只要到达 \(s_{i+1}\cdot ...
- Chrome116驱动下载路径 解决版本不匹配问题
更新于 2023-08-23 后续可能会有同步,就不会引发该问题 要看解决可以直接看最后的总结 背景 执行selenium代码报错 from selenium import webdriver dri ...
- 《SQL与数据库基础》21. 分库分表(一)
目录 分库分表(一) 拆分策略 垂直拆分 垂直分库 垂直分表 水平拆分 水平分库 水平分表 技术实现 MyCat概述 概念介绍 环境准备 目录介绍 MyCat入门 配置 分片配置(schema.xml ...