西门子200/300PLC转以太网同时实现PPI/MPI/DP转modbus通信

产品简介

MPI-ETH-XD1.0plus是在MPI-ETH-XD1.0的基础上,以太网口增加了支持与西门子带网口PLC(S7-200SMART 、S7-1200/S7-1500、S7300PN、CP243-1/CP343-1/CP443-1)之间的通讯功能和ModbusTCP主从站通讯。
MPI-ETH-XD1.0Plus 直通型,扩展的九针母口,支持MPI/DP多主站通讯,可以连接触摸屏和主站。
MPI-ETH-XD1.0Plus 桥接型,扩展的九针母口,支持modbusRTU的主从站功能,相当于CP341和CP343的组合。

Modbus通讯

MPI-ETH-XD1.0plus模块支持Modbus功能,可作为Modbus主站或者Modbus从站,实现PLC与其他Modbus设备的通讯。

Modbus主站功能及应用

MPI-ETH-XD1.0plus的扩展母口作为Modbus主站运行,连接外部Modbus仪表,根据预置命令在西门子PLC和Modbus仪表之间交换数据。应用于西门子PLC和Modbus仪表进行通讯。

MPI-ETH-XD1.0plus可最多配置72条数据交换命令,可以传送的数据类型包括位、字节和字。单条命令最多一次传送连续的100个字(寄存器),对Modbus站点数目并无限制。

通讯线连接

MPI-ETH-XD1.0plus的扩展总线接口连接外部Modbus仪表,桥接模式下MPI-ETH-XD1.0 PLUS扩展总线接口的针脚定义:

兴达易控MPI-ETH-XD1.0plus配置

配置步骤:NetDevice搜索参数配置扩展总线接口Modbus从站。

  1. 电脑连接MPI-ETH-XD1.0 PLUS模块,运行NetDevice(V1013版本以上)配置软件,选择查找到的NetDevice模块,点击按钮栏【修改设备参数】按钮。
  2. 在参数配置界面左侧选择【S7总线接口参数配置】,右侧页面选择【扩展总线接口】,设置【功能选择】为Modbus主站,设置波特率、数据位、停止位和奇偶校验参数。如果为多Modbus从站设备的总线网络,建议设定通讯同步时间,一般为30~50mS;

  1. 在参数配置界面左侧选择【Modbus主站】,右侧页面点击【新建命令】配置数据交换命令。

  1. 编辑新建Modbus数据传送命令对话框,配置完成后点击【检查】查看有无错误,点击【确定】保存该命令。

如上:

  1. 数据传送方向
    • ModbusS7:读取Modbus仪表数据传送到西门子PLC;
    • S7Modbus:读取西门子PLC数据传送到Modbus仪表;

传送的数据个数、数据类型和数据区域

    • 对于位传送,只能传送一个位,数据区域:COIL和INPUT;
    • 对于字节传送,最多连续的200个字节,数据区域:COIL和INPUT;字节传送只能是ModbusS7方向。
    • 对于字传送,最多连续的100个字,数据区域:INPUT REG和HOLDING REG(输入寄存器和保持寄存器)。
  1. S7站点的起始地址:指定PLC的通讯口站地址和传送区域,对于S7-200的V区请选择DB1。另外对于S7-200的SM/AI区只能读取,不能写入。
  2. Modbus站点的起始地址:指定Modbus站号和数据区起始地址。另外对于INPUT REG只能读取不能写入。
  3. 命令示例
    1. S7Modbus字传送:读取PLC地址为2的DB10.DBW0~18传送到Mdobus 1号站的40001(HoldingRegsiter保持寄存器1)开始的10个字。
    2. S7Modbus字传送:读取PLC地址为2的QW0~18传送到Mdobus 1号站的40001(HoldingRegsiter保持寄存器1)开始的10个字。
    3. ModbusS7字节传送:读取Modbus 1号站的00001(Coil线圈1)~00008(Coil线圈8)之间的数据传送到2号PLC的MB0。
    4. ModbusS7位传送:读取Modbus 1号站的00001(Coil线圈1)数据传送到2号PLC的Q0.0。

  1. 配置完成后点击【下载参数】按钮,将参数下载到兴达易控MPI-ETH-XD1.0 PLUS;设备重启运行后可对运行状态进行监视;

通讯测试

Modbus仪表较常见的有各种智能温控仪,示例以集成ModbusRTU从站通讯口的温控器仪表为例,说明如何实现兴达易控转以太网模块的Modbus主站数据通讯。

示例功能:将两台温控仪表的实际温度值(PV)分别读取到一台S7-300的DB1.DBW100和DB1.DBW102数据区;将S7-300的DB1.DBW200和DB1.DBW202数据作为温度设定值(SV)分别传送到两台温控仪表。

  1. 接线:用PROFIBUS电缆连接两台温控器,将PROFIBUS网络插头插在兴达易控MPI-ETH-XD1.0 PLUS的扩展总线接口上。如果自制通讯线,MPI-ETH-XD1.0 PLUS扩展总线接口的3脚接RS485+(接温控器A端口),8脚接RS485-(接温控器B端口),5脚接RS485地。
  2. 设置温控器参数为Modbus通讯协议,地址分别为1和2,设置9600bps波特率,8数据位,偶校验,一个停止位;
  3. 配置兴达易控MPI-ETH-XD1.0 PLUS参数,下载参数。
    1. 扩展总线接口参数:Modbus主站,9600bps波特率,8位数据位,1位停止位,偶校验。
    2. 配置Modbus主站命令:

温控器的当前温度(PV值)在保持寄存器16#14,即保持寄存器的20;设定值(SP值)在保持寄存器的16#28,即保持寄存器的40。

按示例要求配置如下命令:

  1. 点击参数配置页面的【Modbus执行监视】,查看命令执行信息。

  1. 打开Step7软件,连接MPI-ETH-XD1.0Plus模块,在监控表中输入DB1.DBW100,DB1.DBW102,DB1.DBW200和DB1.DBW202,查看DB1.DBW100/1002是否为温控器的实际温度,修改DB1.DBW200/2002查看温控器设定温度是否一致。

  1. 总结:
    1. 兴达易控MPI-ETH-XD1.0 PLUS的Modbus主站功能依据预先配置的数据交换命令自动执行Modbus仪表和PLC之间的数据传输,无须在PLC中编程;
    2. 兴达易控MPI-ETH-XD1.0 PLUS的Modbus主站通讯并不影响上位机的以太网通讯,上位机(如编程软件、监控组态软件、以太网触摸屏等)仍然可以通过以太网读写PLC数据;
    3. 利用命令的连续数据区多字节/字传送可减少每个站点的命令数,从而增加可通讯站点;
    4. 对于位传送,可以采用字节数据类型,连续的8个位值将直接传送到PLC中的一个字节地址;
    5. 提高PLC的波特率(如S7-200设置为187.5Kbps)和MPI-ETH-XD1.0 PLUS扩展通讯口的波特率(最高256Kbps)可以加快Modbus数据交换的速度;如果Modbus通讯线较长应适当降低波特率;
    6. 所有的Modbus站点需设置为站地址不一样,波特率、数据位和校验位应该相同并和MPI-ETH-XD1.0 PLUS扩展通讯口参数一致;

12.2Modbus从站功能及应用

MPI-ETH-XD1.0 PLUS桥接型的扩展母口作为Modbus RTU从站运行,外部具备Modbus RTU主站的设备通过Modbus协议访问MPI-ETH-XD1.0 PLUS九针公口所连接的西门子PLC数据。应用于DCS系统或者触摸屏等作为Modbus主站设备读写西门子PLC数据。

通讯线连接

Modbus主站设备的RS485接口连接到MPI-ETH-XD1.0PLUS桥接型的扩展通讯口,MPI-ETH-XD1.0 PLUS扩展通讯口的针脚定义:

兴达易控MPI-ETH-XD1.0 PLUS配置

配置步骤:NetDevice搜索参数配置扩展总线接口Modbus从站。

  1. 电脑连接MPI-ETH-XD1.0 PLUS模块,运行NetDevice(V1013版本以上)配置软件,选择查找到的MPI-ETH-XD1.0 PLUS模块,点击按钮栏【修改设备参数】按钮。
  2. 在参数配置界面左侧选择【S7总线接口参数配置】,右侧页面选择【扩展总线接口】,设置【功能选择】为Modbus从站,设置波特率、数据位、停止位和奇偶校验参数。

  1. 在参数配置界面左侧选择【Modbus映射】,在这里可以看到PLC寄存器对应的Modbus映射地址,Modbus主站可以根据该映射表访问PLC;

  1. 设置好后点击【下载参数】按钮,将参数下载到MPI-ETH-XD1.0 PLUS

Modbus测试

Modbus测试可采用ModScan软件,该软件作Modbus主站,去连接MPI-ETH-XD1.0 PLUS模块

  1. 采用一根USB转RS485的转换线,USB端口接入计算机,RS485端子连接一根PROFIBUS电缆和总线插头,将插头插入MPI-ETH-XD1.0 PLUS的扩展通讯口。
  2. 在计算机上运行ModScan.exe,点击“Connection”,设置相应的连接参数,此处USB连接的串口号可在【计算机】【设备管理器】里查看,这里为COM6口,波特率,数据位,校验位,停止位设置与兴MPI-ETH-XD1.0 PLUS模块扩展口参数一致;

  1. Device Id与西门子PLC的通讯口站地址设成一样,如2。读取了线圈00001起始的100个线圈状态,查Modbus映射表可知为Q0.0~Q12.4的值;

  1. 用NetDevice诊断CHNet扩展总线的状态。

  1. 总结:
    1. 兴达易控MPI-ETH-XD1.0 PLUS的Modbus从站功能根据预置Modbus映射表进行通讯,无须在PLC中编写程序;
    2. 西门子PLC的通讯口站地址就是Modbus从站地址;
    3. 兴达易控MPI-ETH-XD1.0 PLUS的Modbus从站通讯并不影响MPI-ETH-XD1.0 PLUS的以太网通讯,上位机(如编程软件、监控组态软件、监控组态软件、以太网触摸屏等)仍然可以通过以太网读写PLC数据。
    4. 提高PLC的波特率(如S7-200设置为187.5Kbps)和MPI-ETH-XD1.0 PLUS扩展通讯口的波特率(最高256Kbps)可以加快Modbus数据采集的速度;如果Modbus通讯线较长应适当降低波特率

mpi转以太网Plus模块连接300PLC实现MPI转modbus通信的更多相关文章

  1. Android和BLE模块连接通信

    首先,进行一下科普: 1.BLE(Bluetooth Low Energy),蓝牙4.0核心profile,主要特点是快速搜索,快速连接,超低功耗保持连接和数据传输,缺点:数据传输速率低,由于其具有低 ...

  2. python使用SQLAlchemy模块连接MySQL

    ORM技术:Object-Relational Mapping,负责把关系数据库的表结构映射到对象上. 1.安装SQLAlchemy,MySQLdb模块 MySQLdb安装教程:http://www. ...

  3. python使用MySQLdb模块连接MySQL

    1.安装驱动 目前有两个MySQL的驱动,我们可以选择其中一个进行安装: MySQL-python:是封装了MySQL C驱动的Python驱动:mysql-connector-python:是MyS ...

  4. 用ESP8266 WIFI模块连接服务器,并实现与服务器相互通讯

    最近在做一个智能锁的项目,该项目要求实现在任何地方(当然是要有网络的)可以在手机上用APP开锁.而我负责的部分主要是实现底层与服务器连接,并且要能相互通讯.考虑了很多问题,最终选择了用ESP8266 ...

  5. 树莓派(Raspberry Pi 3) 使用wifi模块连接网络

    树莓派3B内置了wifi和蓝牙模块,启动WIFI模块有两种方式,一种是图形界面,一种是命令行模式. 使用图形界面: 在桌面右上角的菜单栏里面选择wifi,输入密码就可以了. 使用命令行: 第一步:配置 ...

  6. 使用node中mysql模块连接本地数据库

    连接数据库的方法迄今为止学了三种: cmd方式.可视化工具,今天记第三种----node端连接数据库. 一:mysql模块介绍与下载 1.mysql模块是node端专门连接数据库的第三方模块 2.下载 ...

  7. 什么是双网口以太网IO模块

    MXXXE系列远程IO模块工业级设计,适用于工业物联网和自动化控制系统,MxxxE工业以太网远程 I/O 配备 2 个mac层数据交换芯片的以太网端口,允许数据通过可扩展的菊花链以太网远程 I/O 阵 ...

  8. 蓝牙模块连接后出现ANR,日志记录

    11-25 16:29:48.433 14507-14561/myapplication.com.myblue W/MALI: glDrawArrays:714: [MALI] glDrawArray ...

  9. HC系列蓝牙模块连接单片机与电脑,传输数据(蓝牙心电测试)

    毕设做无线心电监护.有线的做出来了,AD8232+MCU+LabVIEW上位机.pcb还没时间搞,这个9*7*2.5cm拿来测试能用. 自己做了AD8232的模拟前端,打的板子还没到没法测试. 虽然比 ...

  10. Python使用cx_Oracle模块连接操作Oracle数据库

    1. 简单介绍 cx_Oracle 是一个用来连接并操作 Oracle 数据库的 Python 扩展模块, 支持包含 Oracle 9.2 10.2 以及 11.1 等版本号 2.安装 最好是去官网h ...

随机推荐

  1. 曲线艺术编程 coding curves 第八章 贝赛尔曲线(Bézier Curves)

    贝赛尔曲线(Bézier Curves) 原作:Keith Peters https://www.bit-101.com/blog/2022/11/coding-curves/ 译者:池中物王二狗(s ...

  2. Python潮流周刊#8:Python 3.13 计划将解释器提速 50%!

    你好,我是猫哥.这里每周分享优质的 Python 及通用技术内容,部分为英文,已在小标题注明.(标题取自其中一则分享,不代表全部内容都是该主题,特此声明.) 首发于我的博客:https://pytho ...

  3. 如何在.net6webapi中记录每次接口请求的日志

    为什么在软件设计中一定要有日志系统? 在软件设计中日志模块是必不可少的一部分,可以帮助开发人员更好的了解程序的运行情况,提高软件的可靠性,安全性和性能,日志通常能帮我们解决如下问题: 调试和故障排查: ...

  4. PHP file_put_contents()写入配置文件

    php把提交的数据写入到配置文件中 在后台可以设置网站的基本信息,例如:title,keywords,copyright.等信息,这些信息只是一条数据,存入数据库耗费资源,直接写入到php文件中. 创 ...

  5. 手把手教你自定义自己SpringBoot Starter组件源码剖析

    我们知道SpringBoot Starter也就是启动器.是SpringBoot组件化的一大优点.基于这个思想,基于这个思想SpringBoot 才变得非常强大,官方给我们提供很多开箱即用的启动器. ...

  6. Unity中的RegisterPlugins:深入解析与实用案例

    Unity中的RegisterPlugins:深入解析与实用案例 在Unity游戏开发中,我们经常需要使用第三方插件来实现一些特定的功能.为了让这些插件能够在Unity中正常工作,我们需要对它们进行注 ...

  7. Excel 进度图表制作

    Excel 改变图标的形状 最终效果 过程有点杂乱,不再重新整理,基本照着下面的设就完事了. 未完成的想用柱型,和已完成的相结合 右击,更改表类型 选择簇状柱形图.次标轴 注意主.次坐标 进度改为折线 ...

  8. 【Redis】模糊查询

    Redis模糊查询 1.支持的通配符*.?.[] 2.通配符* a.单个 * 模式 # 查询所有的key keys * b.双 * 模式,匹配任意多个字符 # key中含有rich的key keys ...

  9. CentOS 7相关操作

    防火墙操作 开启防火墙 sudo systemctl start firewalld.service 查看防火墙状态 sudo systemctl status firewalld.service 关 ...

  10. Django学习笔记:第三章D的路由和视图

    1.网站的入口--路由和视图 URL是网站Web服务的入口.用户在浏览器输入URL发出请求后,django会根据路由系统,运行对应的视图函数,然后返回信息到浏览器中. 1.1 认识路由 创建项目时,会 ...