0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用PLC控制使用Modbus RTU协议的采集模块

Smacq 来源:jf_09164673 作者:jf_09164673 2025-07-25 10:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、试验设备的连接

准备的实验设备有:S7-200 SMART型PLC、M-1001和M-2101模块、SDS-1001转换器、K型热电偶以及一个直流电源

我们首先说明各设备是如何连接的,将直流电源连接到PLC的24V电源接口,正极接L+,负极接M。因为RS485端口是集成在PLC的九针超小D型连接器上的,所以我们制作了一个连接器方便设备接线。具体的针脚分配,大家可以在STEP 7 SMART软件的在线帮助文档中的连接器引脚分配章节中看到。连接器的红线接M2101模块的485-A信号,黑线接485-B信号。因为用以太网电缆连接PLC和电脑,所以需要调整电脑的IP地址,它的具体操作我们之后说明,现在只要将电缆插入网口即可。此次实验我们依然使用SDS-1001为采集模块供电,将它们的+Vs、GND端连接就可以了。最后将K型热电偶接入M2101模块中的DI 1端口。为模块通电,这样设备接线就完成了。

wKgZO2hmSl6AJO9SAAc9G0WGBUg092.png

二、使用Smart软件与模块建立连接

S7-200 SMART型PLC所用的编程软件是Smart软件,这个软件是免费使用的,大家可以到西门子的官网下载。

wKgZPGhmSoiAIensAAfAonOGQVE676.png

打开软件,在文件选项中打开范例M2101,此时设备正处于未连接的状态,双击主要窗口中的通信选项,在出现的的对话框中点击查找CPU,就能看到PLC的IP地址。我们可以点击旁边的闪烁指示灯,验证是否找到了CPU。如果PLC的指示灯交替闪烁,就说明我们查找CPU已经成功。

wKgZO2hmSqWASNUWAAX__u7mV6A640.png

下一步的操作是设置电脑的IP地址。进入网络和Internet设置界面,进入网络和共享中心

wKgZO2hmSraAf4deAAGig7Sr_CI279.png

选项点击以太网。

wKgZO2hmSs6ANT0gAAJAQcoYNOQ272.png

选择属性。

wKgZPGhmSuKAaysIAAEYYbCoJlA710.png

在弹出的窗口中找到Internet协议版本4(TCP/IPv4)项目,点击属性。

wKgZO2hmSxKARBFXAAHfnJb-yBk749.png

选择使用下面的IP地址,输入相应的IP地址:192.168.2.111,子网掩码输入225.225.225.0,默认网关是:192.168.2.1。点击确定。

wKgZPGhmSzCADThXAAHADUMOg5w139.png

回到软件页面,如果成功的话,软件会显示已连接。

wKgZO2hmS0iAOxsvAAH6qqt0FQg169.png

三、PLC范例程序说明以及实验

我们以程序2101为例,解释一下它的内容。在程序段1中的SM是PLC中的特殊标志继电器,SM0.0表示始终接通,与其连接的参数EN在输入接通(TURE)时,每次扫描均会执行该指令;

wKgZPGhmS3GATJMNAADf7ImMtdE010.png

SM0.5表示提供一个周期为1秒钟的时钟脉冲,0.5秒为1,0.5秒为0,与它连接的参数First我们之后说明。

wKgZPGhmS4SAUH8wAACSCt0IGgs742.png

特殊寄存器(SM)的其它地址位,大家可以到在线帮助文档中查看。指令MBUS_CTRL,可以在主要窗口的库文件中的Modbus RTU Master(v2.0)中找到,右键选择帮助就可以看到它的说明文档。需要声明的是:在程序中,我们将PLC当作主站,M模块(如:M-2101)则作为从站使用。阅读说明内容我们知道MBUS_CTRL是程序在执行MBUS_MSG指令前必须调用的指令。

wKgZPGhmS56AD_hVAANFdyi2adE662.png

参数“模式”(Mode)用于选择通信协议,我们输入的是SM0.0,触点为常闭状态,所以输入值是1,意思是启用Modbus协议。参数“波特率”(Baud)的设置值要和从站设备的波特率一致才可以得到正确信息,所以输入值为M模块的默认波特率:9600。参数“奇偶校验”(Parity)的设置应与从站设备的奇偶校验相同,从站默认为偶校验,以数值2表示。参数“Port”是设置物理通信端口,实验中使用的是PLC中集成的RS-485接口,所以需要输入0值。参数“超时”(Timeout)为等待从站做出响应的毫秒数,范例中设置的是典型值1000ms。

wKgZO2hmS7uAOhqsAACX-90Nx0w849.png

所以指令Mbus_CTRL的作用是初始化主站,使得主从站设备的参数一致,两者可以进行正常的通信。

下面我们来介绍指令MBUS_MSG,它的作用是启动对Modbus从站的请求并处理响应。参数“First”是当主站有新请求发送时,First通过边沿检测元素(例如是上升沿),将导致程序发送一次,所以我们为此参数设置的是SM0.5。参数“从站”(Slave)是Modbus从站设备的地址,M系列模块的默认地址为1。参数“RW”是设置读取或写入信息,0表示读取,1表示写入。参数“地址”(Addr)是起始Modbus地址,范例中写入的数值就是我们在用户手册中给出的寄存器地址:30101。参数“计数”(Count)用于分配要在该请求中读取或写入的数据元素数,也就是根据地址参数的输入值向后延伸的个数。

wKgZO2hmS-OAKfJ6AAEDmH4O7SY640.png

打开范例M2100的用户手册,找到M2101远程IO模块Modbus映射表就可以看到地址、通道、属性等内容。

wKgZO2hmS_2AEeMJAAH7Cp-2moU982.png

如我们现在打开的这个范例程序,它是要操作从热电偶输入寄存器30101到30108这8个寄存器,所以对Count的输入值为8。参数“DataPtr”是间接地址指针,指向CPU中与读/写请求相关的数据的V存储器,指针必须是VB类型。

这里的V、VB、VW是V存储器中不同类型数据的表达方式:V表示位数据,VB表示字节数据,VW表示字数据,一个字由两个字节构成,一个字节则有8位。在范例程序中,我们使用VB数据类型存储从模块读到的值,然后用VW数据类型表示出来。进行这样的数据操作是因为,当PLC发出读取请求时,采集模块返回的值是16位的整型数据,需要用两个VB类型的数据表示,而一个VW数据类型就表示两个字节,刚好可以表示模块返回的数据。

我们可以在状态图表中验证一下。调出图表窗口,下载程序,运行CPU,开启图表的监视状态,因为我们只为模块连接了一个温度传感器,所以在状态图表中只有第2行显示出实际温度值,当我们提高环境温度,第2行的当前值也会随之改变。其它没有接入温度传感器的端口,其寄存器的返回值是-2731。

wKgZPGhmTDCABkLTAAcU0tPgEsY177.png

接着验证我们刚才提到的V存储器的数据类型,在状态图表中输入VB1000,按回车键,就可以按顺序添加地址。将它们的格式更改为十六进制,VB1000为F5,VB1001为55,而VW1000是它俩的集合F555。所以说两个VB数据类型,构成一个VW数据类型。

wKgZPGhmTEiAdjVBAAFlHoY_kz0821.png

更换M1001采集模块。

接下来我们打开范例M1001DI,它可以读取模块上的DI(离散量输入)的状态。连接设备后,打开状态图表的实时数值监控,当前值为1。当我们将DI 0接地,就会看到当前值变为0,其它的DI端口也是一样。这里的地址是位格式的,因为我们只需要一位的数据就可以表示端口当前所处的状态(闭合或是断开)。

wKgZO2hmTGOAVgx8AAU-TpQ4Ffc322.png

打开范例M1001DO,此范例可以控制DO(继电器)的状态。建立通信后,下载程序到CPU,运行CPU,打开监控按钮,可以看到此时的继电器都处于关闭状态。在新值中输入1,点击图表中的写入按钮,就会看到当前值的改变而且M模块的继电器也会动作到开启状态。

wKgZO2hmTGOAVgx8AAU-TpQ4Ffc322.png

这两个范例程序的寄存器地址大家可以在用户手册M1000的M1001远程IO模块Modbus映射表中找到。

以上就是模块与PLC连接的相关内容。文档中使用的范例程序及用户手册均可以在官网下载。文章视频版的内容点击如下链接跳转:M系列模块编程操作与PLC。

如果对于文章有任何问题都可以在评论区指出,也可以通过公众号“思迈科华Smacq”直接联系我们。希望您可以点赞、收藏、转发。

再见。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5044

    文章

    14439

    浏览量

    483454
  • 采集模块
    +关注

    关注

    0

    文章

    164

    浏览量

    9986
  • MODBUS RTU
    +关注

    关注

    0

    文章

    123

    浏览量

    3629
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    西门子200 SMART与台达DVP PLC通讯:工业自动化Modbus RTUModbus TCP 方案

    在工业自动化领域的食品饮料无菌酸奶灌装生产线中,某企业采用西门子 200 SMART PLCModbus RTU 协议)负责酸奶原料的杀菌温控、均质压力调节,搭配台达 DVP
    的头像 发表于 11-22 11:04 3761次阅读
    西门子200 SMART与台达DVP <b class='flag-5'>PLC</b>通讯:工业自动化<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> 转<b class='flag-5'>Modbus</b> TCP 方案

    智能物流立体仓库通讯困境:基于协议转换的Modbus TCP 转 Modbus RTU解决方案

    在工业自动化领域的智能物流自动化立体仓库中,塔讯 TX 131-RE-RS/TCP在某企业采用研华工控机(Modbus RTU 协议)负责仓储管理系统(WMS)的订单下发、库存统计,搭配三菱 Q 系列
    的头像 发表于 11-08 11:25 127次阅读
    智能物流立体仓库通讯困境:基于<b class='flag-5'>协议</b>转换的<b class='flag-5'>Modbus</b> TCP 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>解决方案

    光伏逆变器上料-测试协同依托数据采集Modbus TCP 转 Modbus RTU协议应用案例

    在工业自动化领域的新能源光伏逆变器组装测试产线中,某企业采用西门子 200 PLCModbus RTU 协议)负责逆变器模块的精密上料
    的头像 发表于 11-06 23:01 561次阅读
    光伏逆变器上料-测试协同依托数据<b class='flag-5'>采集</b>的<b class='flag-5'>Modbus</b> TCP 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>协议</b>应用案例

    Profinet转Modbus RTU协议网关有什么好处

    在工业自动化系统集成中,Profinet转Modbus RTU网关正如一位精通多国语言的翻译官,打破了不同协议设备之间的沟通壁垒,让数据流动再无障碍。 在现代工业自动化环境中,不同年代、不同品牌
    的头像 发表于 10-29 11:30 495次阅读
    <b class='flag-5'>用</b>Profinet转<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>协议</b>网关有什么好处

    协议冲突到生产力爆发:EtherCAT转MODBUS RTU网关实战全解

    本文通过详述欧姆龙CP1H PLC串口通过Modbus-RTU协议与安川V1000变频器的通讯.方便大家掌握Modbus-RTU
    的头像 发表于 07-29 17:30 464次阅读
    从<b class='flag-5'>协议</b>冲突到生产力爆发:EtherCAT转<b class='flag-5'>MODBUS</b> <b class='flag-5'>RTU</b>网关实战全解

    什么是Modbus RTU协议

    。 1、什么是Modbus RTU协议? 1.Modbus RTU是一种串行通信协议,最初由Mo
    的头像 发表于 07-23 17:17 2608次阅读
    什么是<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>协议</b>

    组态王与使用Modbus RTU协议模块的连接

    文章详细介绍了组态王与使用Modbus RTU协议采集模块是如何连接的。
    的头像 发表于 07-14 11:47 3795次阅读
    组态王与使用<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>协议</b><b class='flag-5'>模块</b>的连接

    控制器遇上“协议外交官”:CC\\-Link IE转Modbus RTU的能源数据握手

    数据流,在Modbus RTU网关系统听来犹如天书。 痛点直击: 张工需要实时采集某关键控制柜的功率数据至中央能管系统。控制器CC-Link
    发表于 06-26 14:35

    CC\\-Link IE转Modbus RTU:让伺服驱动轻松“入网”的秘籍

    升级用了支持CC-Link IE TSN的高性能PLC,效率飞起。可角落里几台关键的三轴定位设备,的还是老款Modbus RTU伺服驱动器。新PL
    发表于 06-23 14:02

    一触即达:CCLink IE遇见Modbus RTU,解锁智能电表“数据超车道”

    点。本文将从实际工程视角,解析如何通过协议转换实现设备互联。 技术场景解析 某化工厂新建电力监测系统时,发现现场安装的CCLINKIE网络型PLC与智能电表的Modbus RTU网关接
    发表于 06-23 13:59

    DeviceNet转Modbus RTU协议转换网关在石油开采行业的应用

    一、引言 随着工业自动化程度的不断提高,各种不同类型的PLC和工业网络被广泛应用于各种工业环境中。DeviceNet和Modbus RTU作为两种常见的工业网络协议,在石油开采行业中尤
    的头像 发表于 06-11 14:40 422次阅读

    基于 DeviceNet 转 MODBUS RTU 协议的施耐德 PLC 与 ABB 电机驱动器仓储堆垛机的定位控制优化方案​

    基于 DeviceNet 转 MODBUS RTU 协议的施耐德 PLC 与 ABB 电机驱动器仓储堆垛机的定位控制优化方案​ 案例背景​
    发表于 05-03 10:45

    Modbus RTU协议说明

    文章对Modbus RTU协议进行了较为详细的说明,并用具体示例可以参考。
    的头像 发表于 04-11 10:56 4369次阅读
    <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b><b class='flag-5'>协议</b>说明

    EtherNet/IP转Modbus网关模块在罗克韦尔PLCModbus上位机协议转换通讯中的实战案例

    的有效控制与监控,引入了捷米特 JM-EIP-RTU 网关模块 来完成 EtherNet/IP 与 Modbus 之间的协议转换,接下来为大
    的头像 发表于 03-04 09:13 701次阅读
    EtherNet/IP转<b class='flag-5'>Modbus</b>网关<b class='flag-5'>模块</b>在罗克韦尔<b class='flag-5'>PLC</b>与<b class='flag-5'>Modbus</b>上位机<b class='flag-5'>协议</b>转换通讯中的实战案例

    EtherNet/IP转Modbus协议转换网关模块打通罗克韦尔PLC与上位机链路

    的有效控制与监控,引入了捷米特 JM-EIP-RTU 网关模块来完成 EtherNet/IP 与 Modbus 之间的协议转换,接下来为大家
    的头像 发表于 03-01 11:07 717次阅读
    EtherNet/IP转<b class='flag-5'>Modbus</b>借<b class='flag-5'>协议</b>转换网关<b class='flag-5'>模块</b>打通罗克韦尔<b class='flag-5'>PLC</b>与上位机链路