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

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

3天内不再提示

S7-200CPU之间设置一个简单的Modbus通讯

1X4o_GKB1508 来源:未知 作者:李倩 2018-04-28 08:35 次阅读

使用下面的例程你可以在S7-200CPU之间设置一个简单的Modbus通讯。这个例子是关于Modbus功能码6的(写从站保持寄存器), 也可以作为其他所支持的功能码:1, 2, 3, 4, 5, 15 和16 的基本参数设置步骤 。

要求:要使用Modbus协议必须先在STEP 7 Micro/Win上安装指令库 。Modbus主站协议只支持STEP 7 Micro/Win V4.0 SP5及其以上版本.。

硬件设置

参数匹配

指令库的存储地址

保持寄存器值得传输

1.硬件设置例程中的Modbus通讯是在两个S7-200 CPU的0号通讯口间进行的(最好每个CPU都有两个通讯口)。在主站侧也可以选择相应库文件 "MBUS_CTRL_P1" 和 "MBUS_MSG_P1"通过1号通讯口通信。通讯口1与Micro/WIN建立PG或PC连接,两个CPU的通讯口0通过PPI电缆进行连接(电缆的 针脚 连接为2,3,7,8)。

2.参数匹配对于MODBUS通讯, 主站侧需要程序库 "MBUS_CTRL" 和 "MBUS_MSG",

①从站侧需要程序库 "MBUS_INIT" and "MBUS_SLAVE"。

在 Micro/WIN 中您需要为主站和从站新建一个项目,程序与参数设置见图02。必须要保证主站与从站的“Baud”和"Parity"的参数设置要一致,并且程序块"MBUS_MSG"中的"Slave"地址要与程序块"MBUS_INIT"中的"Addr"所设置的一致 (见图.02)。Micro/WIN“系统块”中设置的0通讯口的波特率与MODBUS协议无关("Mode" = "1")。

下面的表格列出了程序块各个参数选项及其意义

主站

MBUS_CTRL

表 01

1)参看STEP 7 Micro/WIN 帮助: "MODBUS主站执行MBUS_MSG时的错误代码MBUS_MSG" 。

MBUS_MSG

表 02

1)参看STEP 7 Micro/WIN 帮助: "MODBUS主站执行MBUS_MSG时的错误代码MBUS_MSG" 。

从站

MBUS_INIT

表 03

2)最大的地址取决于所用CPU的类型及其最大值。3)参看STEP 7 Micro/WIN 帮助: “MODBUS从站协议的错误代码”。

MBUS_SLAVE

表 04

3)参看STEP 7 Micro/WIN 帮助: “MODBUS从站协议的错误代码” 。

3.库的存储地址项目完成后必须要在Micro/WIN中定义库的存储地址,当定义完存储区后, 要保证在任何情况下不能再被其它程序所使用 (主站侧: "DataPtr" + "Count" 从站侧: "HoldStart" + "MaxHold"

4.保持寄存器值的传输将程序下载到相应的CPU后,可以在状态表中给主站侧的V存储区赋值,然后监视从站的变化。当主站的I0.0使能后,VW2中的内容就被发送到从站并写入从站的VW2 。

①保持寄存器值的传输见图.04。指针"DataPtr" 代表了V区被读的起始地址。参数 "Count" 表明了地址"Addr" = "4xxxx" (保持寄存器)以字为单位被读的个数。主站中被读取的V存储区被写入地址为"Addr" = "40002" ("RW" = "1")的保持寄存器中。保持寄存器是以字为单位工作的,它与从站的V区地址对应。指针 "HoldStart" 明确了与保持寄存器起始地址40001相对应的V存储区的初始地址。可以这样计算从站的V区目标指针:

2 * (Addr - 40001) + HoldStart = 2 * (40002 - 40001) + &VB0 = &VB2

另外,要保证"MaxHold" 定义的数据区能够包含主站侧所要写入的数据区 :

MaxHold >= Addr - 40001 + Count = 40002 - 40001 + 1 = 2

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

    关注

    31

    文章

    5357

    浏览量

    120609
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10876

    浏览量

    212122
  • S7-200
    +关注

    关注

    13

    文章

    408

    浏览量

    50474

原文标题:西门子S7-200 Modbus最强解析图解

文章出处:【微信号:GKB1508,微信公众号:工控帮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    s7-200_SMART系统手册

    电子发烧友网站提供《s7-200_SMART系统手册.pdf》资料免费下载
    发表于 10-21 10:50 7次下载

    如何用 S7-200 实现 Modbus 通信?

    电子发烧友网站提供《如何用 S7-200 实现 Modbus 通信?.pdf》资料免费下载
    发表于 09-14 10:22 1次下载

    EG网关采集西门子S7-200smart转Modbus协议

    通过EG边缘计算网关,用户可以轻松实现西门子S7-200 Smart PLC数据的采集,并将其转换为标准Modbus协议输出。这种跨协议的数据转换方案极大简化了工业系统的集成,使不同品牌、不同协议
    的头像 发表于 09-10 10:42 585次阅读
    EG网关采集西门子<b class='flag-5'>S7-200</b>smart转<b class='flag-5'>Modbus</b>协议

    西门子PLC不得不说的事:S7-200SMART通信端口及连接方式

    今天我们来聊聊西门子S7-200 SMART的“通信大法”!挺简单的,咱们来捋捋~ S7-200 SMART 是西门子公司推出的款面向小型控制应用的PLC(可编程逻辑控制器)。目前
    的头像 发表于 08-27 17:31 1141次阅读
    西门子PLC不得不说的事:<b class='flag-5'>S7-200</b>SMART通信端口及连接方式

    请问西门子S7-1200如何实现Modbus TCP通讯

    西门子S7-1200如何实现Modbus TCP通讯
    发表于 07-25 06:24

    S7协议读取西门子S7-200 Smart PLC数据

    西门子S7-200 Smart PLC因其稳定性和易用性而广泛应用。通过使用S7协议,可以实现对PLC数据的高效读取和控制。本文将详细介绍如何使用S7协议读取西门子S7-200 Sma
    的头像 发表于 07-11 11:55 6065次阅读
    <b class='flag-5'>S7</b>协议读取西门子<b class='flag-5'>S7-200</b> Smart PLC数据

    Modbus RTU转PROFINET协议转换网关 HT1S-PNS485-S10

    Modbus RTU/RS485/232 转 PROFINET(S7-400/1500/1200、CPU315-2PN/DP)网关HT1S-PN485-S5为最大可支持5
    发表于 06-06 14:43

    Modbus-RTU通讯协议是什么?

    Modbus-RTU通讯协议是种串行通讯协议,它可以用于连接不同类型的设备,以实现远程监控和控制。Modbus协议包括RTU、ASCII、
    的头像 发表于 05-23 15:06 634次阅读

    西门子S7-200 Smart PLC加密设置全面指南

    本文将详细介绍西门子S7-200 Smart PLC的加密设置方法,帮助用户更好地保护PLC程序的安全。
    发表于 03-27 10:14 1.1w次阅读
    西门子<b class='flag-5'>S7-200</b> Smart PLC加密<b class='flag-5'>设置</b>全面指南

    西门子S7-200 SMART的通信端口解析

    S7-200 SMART CPU 集成的 RS485 通信端口(端口0)是与 RS485 兼容的9针 D 型连接器。CPU 集成的 RS485 通信端口的引脚分配如表1. S7-200
    发表于 02-27 11:28 3053次阅读
    西门子<b class='flag-5'>S7-200</b> SMART的通信端口解析

    S7-1200 PLC与V20变频器Modbus通讯详细指南

    设置RS485模块的参数,模块的通讯参数要与V20设置通讯参数要致,我这里设置的是9600,
    发表于 02-25 14:34 4491次阅读
    <b class='flag-5'>S7</b>-1200 PLC与V20变频器<b class='flag-5'>Modbus</b><b class='flag-5'>通讯</b>详细指南

    S7-1500与多台200SMART之间无线以太网通讯搭建方法

    这是不用编程即可瞬间实现S7-200smart与S7-1500的以太网通讯的方法,这种控制方式下最多可以控制128台
    的头像 发表于 01-24 08:58 1226次阅读
    <b class='flag-5'>S7</b>-1500与多台<b class='flag-5'>200</b>SMART<b class='flag-5'>之间</b>无线以太网<b class='flag-5'>通讯</b>搭建方法

    西门子S7-1200与S7-300PLC之间的区别有哪些?

    等方面。 、硬件的区别 在硬件扩展方面,S7-300的主机架多支持八扩展模块,而S7-1200支持扩展多八信号模块和多三
    的头像 发表于 01-10 10:54 1087次阅读
    西门子<b class='flag-5'>S7</b>-1200与<b class='flag-5'>S7</b>-300PLC<b class='flag-5'>之间</b>的区别有哪些?

    如何在S7-200 SMART CPU断电重启后保持运动控制的当前位置值?

    S7-200 SMART 断电重启后由于初始化指令的执行,当前位置会复位为0。要使S7-200 SMART运动控制的当前位置值在CPU断电重启后依然保持,可以通过以下的编程来实现。
    的头像 发表于 01-10 10:28 2178次阅读
    如何在<b class='flag-5'>S7-200</b> SMART <b class='flag-5'>CPU</b>断电重启后保持运动控制的当前位置值?

    SIMATIC S7-1500 Modbus TCP通讯

    很多工业现场的 Modbus TCP 通信应用中,常常需要 P LC控制器通过Modbus TCP 作为客户端访问多个服务器,且客户端和服务器
    的头像 发表于 01-10 09:26 2386次阅读
    SIMATIC <b class='flag-5'>S7</b>-1500 <b class='flag-5'>Modbus</b> TCP<b class='flag-5'>通讯</b>