通用串口modbus转PROFIBUS DP网关PM-160在汽车行业的应用案例

摘要:

PM-160 是泗博公司生产的,可以实现串口与 PROFIBUS DP 协议数据通信的网关。此案例讲述的是通过 PM-160 网关,成功将梅特勒-托利多电子秤上的自定义协议数据传递给西门子 PLC 的应用案例说明。

背景:

某公司做轴承和汽车零部件,需要用到高精度电子秤做张紧器的注脂量测量。并将其测量值传输给 PLC 做进一步处理。该公司选用Mettler Toledo 的一款高精度电子秤,该电子秤不是标准的协议,是通用串口协议,也就是俗称自定义协议的一款设备。那么如果想要将电子秤上的数据传递给PROFIBUS DP 协议的 PLC 时,则需要一款协议转换器。通用串口modbus转 PROFIBUS DP 协议 PM-160网关正是解决这一难题的最佳解决方案。、

解决方案:

  1. 系统架构

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在汽车行业的应用案例的更多相关文章

  1. profibus总线和profibus dp的区别

    profibus总线和profibus dp的区别:PROFBUS是一种国际性的开放式的现场总线标准,它既可以用于高速并且对于时间苛求的数据传输,也可以用于大范围的复杂通讯场合.PROFBUS-DP是 ...

  2. 简单Profibus/DP实验系统的组建

    转自:http://www.dndev.com/Profibus/profibustr/system_4.html 引言: 为了让更多刚接触到Profibus系统的朋友能对Profibus的网络架构及 ...

  3. MODBUS转PROFINET网关将电力智能监控仪表接入PROFINET网络案例

    本案例控制的主要对象是变送器的显示与报警.系统主PLC 选用西门子CPU,通过小疆智控MODBUS 转 PROFINET网关GW-PN5001采集IM300电力智能监控仪数据. 1.首先加入 GSD ...

  4. 一种基于Modbus的工业通信网关设计

    近年来,随着工业自动化领域的发展,工业现场对网络的可靠性及成本有极高的要求.传统基于串口的工业网关可以满足工业现场的应用,但却要付出高额成本.一种基于 ModBus 设计的工业通信网关就走进人们的眼中 ...

  5. Modbus转BACnet IP网关

    BACnet是楼宇自动化和控制网络数据通信协议的缩写.它是为楼宇自动化网络开发的数据通信协议   根据1999年底互联网上楼宇自动化网络的信息,全球已有数百家国际知名制造商支持BACnet,包括楼宇自 ...

  6. 项目操作案例丨西门子PLC通过网关连接ACS800变频器

    本案例控制对象为炉条机.以及蒸汽的控制以及现场数据参数的显示以及报警. PLC 选用西门子 CPU,通过 ET200 IO 模块控制现场设备并监控数据.变频器采用ABB ACS800变频器,将ABB ...

  7. Modbus RTU新版本指令介绍

    Modbus RTU新版本指令介绍 TIA V13 SP1版本软件中提供了2个版本的Modbus RTU指令: 图1. 两个版本Modbus RTU指令 早期版本的Modbus RTU指令(图1. 中 ...

  8. linux串口驱动分析

    linux串口驱动分析 硬件资源及描写叙述 s3c2440A 通用异步接收器和发送器(UART)提供了三个独立的异步串行 I/O(SIO)port,每一个port都能够在中断模式或 DMA 模式下操作 ...

  9. linux串口驱动分析【转】

    转自:http://blog.csdn.net/hanmengaidudu/article/details/11946591 硬件资源及描述 s3c2440A 通用异步接收器和发送器(UART)提供了 ...

  10. Linux驱动之串口(UART)

    <uart驱动程序概述> 在嵌入式Linux系统中,串口被看成终端设备,终端设备(tty)的驱动程序分为3部分: tty_core tty_disicipline  tty_driver ...

随机推荐

  1. [git]记配置本地git到gitlab并推送

    前言 gitlab仓库地址:git@192.168.0.12:godev/gohello.git 步骤 # 配置用户 git config --global user.name "zhang ...

  2. 使用kafka自带脚本进行压力测试

    前言 kafka官方自带压力测试脚本: 消费者压力测试:kafka-consumer-perf-test.sh 生产者压力测试:kafka-producer-perf-test.sh 测试节点: 17 ...

  3. CentOS7升级python3到最新版

    前言 最近在学习sanic,需要python3.7以上的版本,而centos7默认的python版本是3.6.8,所以升级了一下版本,在此笔录. 步骤 首先,从python官网下载最新版的python ...

  4. 「Go笔记-02」变量、数据类型、数据类型间转换、进制转换...看这一篇就Go了

    前言 一个程序就是一个世界,不论是使用哪种高级程序语言编写程序, 变量都是其程序的基本组成单位, 变量 在 go 中 变量是用于存储数据的命名空间(内存位置),它可以表示一个值,这个值在程序执行过程中 ...

  5. 华为云GaussDB(for Influx)单机版上线,企业降本增效利器来了

    本文分享自华为云社区<华为云GaussDB(for Influx)单机版上线,企业降本增效利器来了>,作者:GaussDB 数据库 . 1.背景 华为云GaussDB(for Influx ...

  6. C#程序随系统启动例子 - 开源研究系列文章

    今天讲讲C#中应用程序随系统启动的例子. 我们知道,应用程序随系统启动,都是直接在操作系统注册表中写入程序的启动参数,这样操作系统在启动的时候就根据启动参数来启动应用程序,而我们要做的就是将程序启动参 ...

  7. 在centos7.X下安装Java

    发布于 2 分钟前  2 次阅读 1.创建JDK目录 mkdir /opt/jdk 2.通过finalshell或xftp将jdk上传到/opt/jdk目录中 3.cd /opt/jdk 4.解压jd ...

  8. [ABC146F] Sugoroku

    2023-02-27 题目 题目传送门 翻译 翻译 难度&重要性(1~10):5 题目来源 AtCoder 题目算法 贪心 解题思路 对于第 ii 个点,只要到达 \(s_{i+1}\cdot ...

  9. Chrome116驱动下载路径 解决版本不匹配问题

    更新于 2023-08-23 后续可能会有同步,就不会引发该问题 要看解决可以直接看最后的总结 背景 执行selenium代码报错 from selenium import webdriver dri ...

  10. 《SQL与数据库基础》21. 分库分表(一)

    目录 分库分表(一) 拆分策略 垂直拆分 垂直分库 垂直分表 水平拆分 水平分库 水平分表 技术实现 MyCat概述 概念介绍 环境准备 目录介绍 MyCat入门 配置 分片配置(schema.xml ...