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

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

3天内不再提示

最全解析西门子S7-200使用Modbus协议

1bGT_GKYXT1508 来源:lq 2019-05-01 15:46 次阅读

在使用Modbus协议时,计算机与S7-200之间通讯直接使用PPI通讯电缆即可。但如果通讯距离较远,或者需要将多个S7-200连接到一个通讯总线上时,我们可以通过如下方法配制通讯链路。

选配一个计算机通讯端口

由于S7-200通讯端口物理层使用的是RS-485通讯规范,因此我们需要在计算机端增加一个RS-485通讯端口,才能与计算机通讯建立通讯。如果计算机闲置的串口,我们可以选配一个RS-232转RS-484转换器即可;如果没有闲置的串口,我们通过在计算机中增加一个RS-485通讯卡也可以;现在很多计算机都有USB口,我们也可以在计算机上外接一个USB转RS-485转换器。连接通讯电缆

S7-200的通讯端口是一个9孔(famel)D型插头,针脚分布如下所示:

针脚 信号
1 地线 (RS-485 逻辑地)
2 24 V 地线 (RS-485 逻辑地)
3 信号B (RxD/TxD+)
4 RTS (TTL level)
5 地线 (RS-485 逻辑地)
6 (空)
7 24 V 电源
8 信号A (RxD/TxD-)
9 通讯选择

S7-200通讯端口(端口0)与RS-485板卡或RS-485/RS-232转换器之间接线,如下图所示:

S7-200编程及设置

在缺省情况下S7-200的通讯端口是不支持Modbus协议的,要想实现Modbus通讯必需在PLC的主程序模块中调用Modbus通讯子程序。Modbus通讯子程序可以从“STEP 7-Micro/WIN Add-On: Instruction Library (STEP 7-Micro/WIN附件:指令库)”中获得。在安装了“STEP 7-Micro/WIN附件:指令库”后,在导航树“指令/库”下面我们可以找到“Modbus Protocol”。在其下面包含了MBUS_INIT和MBUS_SLAVE两个子程序,MBUS_INIT用于对Modbus通讯进行初始化,MBUS_SLAVE用于在指定端口上提供Modbus从站通讯服务。下在介绍如何在主程序中调相关子程序及环境参数设置:调用Modbus通讯初始化命令

首先为MBUS_INIT命令建立一个触发条件(只触发一次),如:SM0.1;从导航树“指令/库/ Modbus Protocol”下面,将MBUS_INIT指令拖拽到主程序块中。再就是正确设置MBUS_INIT各项调用参数和执行结果输出地址,我们可以建立一下如下图所示初始化调用过程:

Mode:协议类型,1-Modbus协议;0-PPI协议。

Addr: PLC地址,1~247,。

Baud: 通讯波特率,1200、2400、4800、9600、19200、38400、57600或11520。

Parity: 校验方式,0-无校验;1-奇数校验;2-偶数校验。

Delay:信息结束超时时间,0~32767,有线连接设置为0即可。

MaxIQ:0~128,映射在离散输入寄存器或离散输出寄存器中的I或Q数。建议为:128。

MaxAI:0~32;映射在模拟输入寄存器中AIW数;CPU 221为0,CPU 222为16,CPU 224、226和226XM为32。

MaxHold:V内存映射在保持寄存器中的寄存器数。

HoldStart:V内存的映射时的起始地址。

Done:初始化指完成时,输出为开状态;开关量(Bit)。

Error:初始化错误代码,请参阅Modbus从机协议执行错误代码;输出为字节。调用Modbus从机通讯命令

初始化完成后,就可以调用Modbus从机通讯命令(MBUS_SLAVE)了。通常Modbus从机通讯命令在主程序块的每个执行周期都要初执行(始终保持通讯状态),因为可以用一个常开量作为命令的触发条件,如:SM0.0。从导航树“指令/库/ Modbus Protocol”下面,将MBUS_SLAVE指令拖拽到主程序块中。调用过程如下图所示:

Done: 当MBUS_SLAVE指令响应对Modbus请求时,"Done"为开状态。没通讯请求时"Done"为关状态。

Error:指令执行结果。只有"Done"为开状态时,此状态有效。请参阅Modbus从机协议执行错误代码;输出为字节。库存储区分配

在完成前面两个指令调用后,还要为库指令使用的符号分配内存。当库指令被插入到主程序块中,在导航树“程序块”下会出现一个“库”节点。在“库”节点上点击鼠标右键,在弹出菜单中选择“库存储区”,进入“库存储区分配”对话框。

在地址框中输入分配内存的开始地址,或者通过点击“建议地址”按钮自动分配内存。注意,分配的内存不要与已使用的内存重叠

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

    关注

    27

    文章

    8191

    浏览量

    141708
  • RS-485
    +关注

    关注

    9

    文章

    589

    浏览量

    83398
  • ModBus协议
    +关注

    关注

    3

    文章

    147

    浏览量

    33194

原文标题:西门子S7-200使用Modbus协议(最全解析)

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

收藏 人收藏

    评论

    相关推荐

    S7-200西门子PLC视频教程大全

    以下是西门子S7-200PLC视频教程,全文共有36个视频。详细介绍了西门子S7-200PL的各种概念,基础的知识,及各案例的讲解。 1、S7-20
    发表于 09-26 09:15 11.9w次阅读

    labview 与s7-200 串口通信 modbus协议

    Labview 软件中使用modbus通信协议西门子s7-200PLC通信调试记录准备材料:u 软件部分labview2010;labview visa驱动;labview中
    发表于 04-14 15:15

    Labview与西门子S7-200 PLC通讯

    现在需要使用Labview通过Modbus协议西门子S7-200 PLC通讯,由于本人对PLC一点不懂,之前没有接触过这块,看到了很多资料但是还是没有研究出来,PLC已经Download M
    发表于 03-22 08:52

    西门子S7-200 PLC应用100例

    西门子S7-200 PLC应用100例》主要以西门子S7-200 PLC为主体,按基础知识、扩展提高和高级应用的结构体系,由浅入深、循序渐进地介绍了PLC基本逻辑控制、高级功能模块、
    发表于 09-17 10:02 673次下载
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-200</b> PLC应用100例

    西门子s7-200库函数安装程序

    西门子s7-200库函数安装程序,官网的200库函数程序含有全部西门子原装库函数
    发表于 01-20 15:55 4次下载

    西门子S7-200使用教程

    西门子S7-200 PLC仿真软件超详细使用教程西门子S7-200使用教程
    发表于 05-06 16:43 0次下载

    西门子S7-200 PLC Modbus库文件[Toolbox_

    西门子S7-200 PLC Modbus库文件[Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library]。
    发表于 11-29 17:55 60次下载

    西门子S7-200与变频器Modbus RTU通讯调试说明

    西门子S7-200与-Danfoss-VLT2800变频器Modbus-RTU通讯调试说明。
    发表于 04-22 14:46 83次下载

    西门子S7-200 Modbus RTU master指令与VLT2800通讯调试说明

    西门子S7-200 Modbus RTU master指令与VLT2800通讯调试说明。
    发表于 04-25 09:53 20次下载

    西门子PLC教案(S7-200)

    关于西门子PLC教案(S7-200)资料免费下载。
    发表于 04-29 14:50 213次下载

    西门子S7-200高级应用

    西门子S7-200高级应用说明。
    发表于 05-06 17:28 63次下载

    西门子S7协议Modbus协议网关

    西门子S7协议Modbus协议网关
    发表于 11-13 15:03 1508次阅读

    西门子S7-200/S7-200SMART/和S7-1200为例对Modbus地址进行说明

    S7-200/S7-200SMART/和S7-1200为例来说明: 第一种情况:西门子PLC作Modbus主站,Modbus地址和PLC手册
    的头像 发表于 03-16 15:16 7899次阅读

    西门子S7系列如何转换MQTT/Modbus

    西门子S7-200 S7-200Smart S7-300 S7-400 MQTT Modbus
    的头像 发表于 11-02 09:54 1161次阅读
    <b class='flag-5'>西门子</b>S7系列如何转换MQTT/<b class='flag-5'>Modbus</b>

    西门子S7-200 SMART编程技巧

    【导读】分享一个西门子S7-200 SMART编程技巧。
    的头像 发表于 07-10 10:10 1606次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-200</b> SMART编程技巧