S7200的modbusrtu通讯
- 格式:pptx
- 大小:312.35 KB
- 文档页数:18
S7-200 PLC 具有体积小、结构紧凑的特点,适合安装在空间有限的场合。
紧凑型设计S7-200 PLC 提供了丰富的指令集,包括逻辑、算术、定时、计数等,可实现复杂的控制逻辑。
强大的指令集S7-200 PLC 采用高性能处理器,具有快速的处理速度和响应时间,能够满足实时控制需求。
高速处理性能S7-200 PLC 支持多种扩展模块,如数字量输入/输出模块、模拟量输入/输出模块等,可根据实际需求进行灵活配置。
丰富的扩展模块S7-200 PLC 基本特性标准通信协议MODBUS是一种工业领域常用的标准通信协议,广泛应用于各种自动化设备和控制系统之间的数据交换。
主从通信方式MODBUS通信协议采用主从通信方式,即一个主设备可以与多个从设备进行通信,实现对从设备的集中管理和控制。
简单的数据格式MODBUS通信协议采用简单的数据格式,包括地址码、功能码、数据区和校验码等,易于理解和实现。
可靠性高MODBUS通信协议具有传输可靠、抗干扰能力强等特点,适用于工业现场的恶劣环境。
MODBUS通信协议概述01020304S7-200 PLC 与MODBUS 通信协议的结合,可以实现对工业现场各种设备和系统的集中管理和控制,提高自动化水平。
工业自动化控制通过MODBUS 通信协议,可以实现对S7-200 PLC 的远程监控和维护,方便对设备进行实时状态监测和故障排除。
远程监控与维护S7-200 PLC 与MODBUS 通信协议的结合,可以实现对能源设备的智能管理和优化控制,提高能源利用效率。
能源管理与优化在楼宇自动化控制系统中,S7-200 PLC 与MODBUS 通信协议的结合可以实现对楼宇内各种设备和系统的集中管理和控制,提高楼宇的智能化水平。
楼宇自动化控制S7-200与MODBUS 结合应用场景CPU模块扩展模块电源模块通讯模块硬件配置要求及选型建议选择具有MODBUS通讯功能的CPU模块,如CPU224 XP或CPU226 CN等。
S7200MODBUS通讯一、教学内容本节课的教学内容选自人教版小学数学四年级上册第五章《认识数字编码》的第二节,具体内容为学习MODBUS通讯协议。
MODBUS是一种常用的工业通讯协议,通过此协议可以实现设备之间的数据传输。
本节课将引导学生了解MODBUS协议的基本概念、通讯方式以及如何实现设备间的数据传输。
二、教学目标1. 学生能够理解MODBUS协议的基本概念,了解其通讯方式。
2. 学生能够通过实例掌握MODBUS协议的数据传输过程。
3. 学生能够运用MODBUS协议实现设备间的数据传输。
三、教学难点与重点重点:MODBUS协议的基本概念、通讯方式以及数据传输过程。
难点:如何运用MODBUS协议实现设备间的数据传输。
四、教具与学具准备教具:电脑、投影仪、黑板。
学具:笔记本、课本、学习资料。
五、教学过程1. 实践情景引入:通过一个工厂生产线的实例,让学生了解到设备间需要进行数据传输以协同工作。
2. 讲解MODBUS协议的基本概念:解释MODBUS协议的定义、作用以及应用场景。
3. 讲解MODBUS协议的通讯方式:介绍MODBUS协议的通讯方式,如主从式、从从式等。
4. 实例讲解MODBUS协议的数据传输过程:以一个具体的设备为例,讲解设备间如何通过MODBUS协议进行数据传输。
5. 随堂练习:让学生根据所学内容,设计一个简单的MODBUS协议数据传输实例。
6. 板书设计:板书MODBUS协议的基本概念、通讯方式以及数据传输过程。
7. 作业设计:题目1:请简述MODBUS协议的基本概念。
答案:MODBUS协议是一种常用的工业通讯协议,用于实现设备间的数据传输。
题目2:请介绍MODBUS协议的通讯方式。
答案:MODBUS协议的通讯方式有主从式、从从式等。
题目3:请设计一个简单的MODBUS协议数据传输实例。
六、课后反思及拓展延伸1. 课后反思:回顾本节课的教学内容,检查学生对MODBUS协议的理解程度,对教学过程中可能存在的问题进行反思和调整。
S7200Modbus通信培训教程一、概述本教程旨在帮助您了解西门子S7200系列PLC的Modbus通信功能,掌握其配置和使用方法。
通过本教程的学习,您将能够独立完成S7200PLC与Modbus设备之间的通信配置,实现数据交换和控制功能。
二、准备工作1.已安装西门子STEP7-Micro/WIN编程软件。
2.S7200PLC系统已正常运行,具备通信接口(如RS232、RS485等)。
3.Modbus设备已正常运行,具备通信接口(如RS232、RS485等)。
三、Modbus通信配置1.新建项目2.添加硬件在项目树下,右键“PLC”,选择“添加新设备”,在弹出的对话框中选择S7200系列PLC,设置相应的设备名称和型号,“OK”完成添加。
3.配置通信接口双击项目树中的PLC设备,进入设备配置界面。
在“硬件”选项卡中,找到通信接口(如RS232、RS485等),右键,选择“属性”。
4.设置通信参数(1)波特率:根据Modbus设备的波特率设置,如9600、19200等。
(2)数据位:通常设置为8位。
(3)停止位:通常设置为1位。
(4)校验位:根据Modbus设备的校验方式设置,如无校验、偶校验等。
(5)从站地质:设置S7200PLC的Modbus从站地质,范围为1-247。
5.保存并编译完成通信参数设置后,“确定”保存设置。
在项目树下,右键“PLC”,选择“编译”,确保配置无误。
四、Modbus通信编程1.新建程序块2.编写Modbus通信程序(1)定义Modbus从站地质、功能码、数据地质和寄存器数量。
(2)使用Modbus指令(如MBUS_CTRL、MBUS_MSG等)进行数据传输。
(3)根据通信结果,进行数据处理和控制逻辑编写。
3.程序完成程序编写后,工具栏上的“”按钮,将程序到S7200PLC。
五、调试与运行1.连接Modbus设备将S7200PLC与Modbus设备通过通信线连接,确保接线正确。
S7200-MODBUS基础用法工业控制已从单机控制走向集中监控、集散控制,如今已进入网络集约制造时代。
工业控制器连网也为网络管理提供了方便。
Modbus就是工业控制器网络协议中一种。
Modbus协议是应用于电子控制器上一种通讯约规。
此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为主流工业标准之一。
他为符合Modbus 协议不同厂商生产控制设备可以连成工业网络,进行集中监控。
2 Modbus RTU协议S7-200中应用原理2.1 Modbus RTU协议与S7-200相互关系简介S7-200 CPU上通讯口Port0可以支持Modbus RTU协议,成为Modbus RTU从站。
此功能是S7-200自由口通讯模式实现,可以无线数据电台等慢速通讯设备传输。
想S7-200 CPU他支持Modbus RTU设备使用Modbus RTU协议通讯,需要由有S7-200 CPU做Modbus主站。
S7-200 CPU做主站必须由用户自己用自由口模式,按相关协议编程。
S7-200控制系统应用中,Modbus RTU从站指令库只支持CPU上通讯0口(Port0)。
要实现Modbus RTU通讯,需要Step7-Micro/WIN32 V3.2以上版本编程软件,须安装Step7-Micro/WIN32 V3.2 Instruction Library(指令库)。
Modbus RTU功能是指令库中预先编好程序功能块实现。
2.2 Modbus RTU协议S7-200中应用基本过程(1) 首先检查S7-200控制系统中所用Micro/WIN软件版本,应当是Step7-Micro/WIN V3.2以上版本。
(2) 检查Micro/WIN指令树中是否存Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。
没有,须安装Micro/WIN32 V3.2 Instruction Library(指令库)软件包,如图1所示。
S7-200 modbus 通讯轮询程序
符号表
2、变量初始化
3、启动读写指令必须放到MB初始化之前,否则不能轮询
4、读取仪表保持寄存器内容(1#仪表)
5、读取仪表保持寄存器内容(2#仪表)
6、读取仪表保持寄存器内容(3#仪表)
7、读取仪表保持寄存器内容(4#仪表)
8、读取仪表保持寄存器内容(5#仪表)
9、读取仪表保持寄存器内容(6#仪表)
10、读取仪表保持寄存器内容(7#仪表)
11、读取仪表保持寄存器内容(8#仪表)
分享:
喜欢
赠金笔
1.
2.先配置好智能仪表从站通讯参数,拿9600 8 1 none 地址3举例
3. 2
200PLC主站程序第一步初始化,复位modbus库完成位,初始化完成后,启动读写指令m0.1置位
4. 3 网络3,填写从站通讯参数
5. 4
M0.1置位读取从站数据,读取保持寄存器40001-40008 8个数据根据数据格式写入&VB1000,如40001 40002为32位浮点数,则保存在VB1000 VB1001 VB1002 VB1003中,依次类推,读取完成M2.1置位,复位读取从站保持寄存器M0.1 M2.3
6. 5
读取输入寄存器,读取完成M2.2置位,复位M2,.1
7. 6
M2.2置位,写数据开始,VB3000写入00001中,写完成,M2.3置位,开始读,M2.2复位。
S7200的MODBUS详细应用示例<PLC200 MODBUS协议配置使用方法>2修订历史记录注释:红色字体为注意点;蓝色为修改补充;紫色为问题总结;茶色为暂时删除;绿色为住宿。
目录前言...................... 错误!未定义书签。
第一章使用Modbus协议库........ 错误!未定义书签。
前言 (6)1.使用Modbus主设备协议的要求 (6)2.使用Modbus从站设备协议的要求 (7)3.Modbus主设备协议的初始化和执行时间 (7)4.Modbus从站协议的初始化和执行时间 (8)5.Modbus主设备寻址 (8)6.Modbus 从站寻址 (8)7.Modbus主设备MBUS_MSG执行错误代码 (10)8.Modbus从站协议执行错误代码 (11)9.Modbus主设备高级用户信息 (11)第二章使用Modbus主设备指令 (14)前言 (14)1.MBUS_CTRL指令(初始化主设备) (15)2.MBUS_MSG指令 (16)第三章使用Modbus从站指令........ 错误!未定义书签。
前言 (22)1.MBUS_INIT指令(初始化从站)错误!未定义书签。
2.MBUS_SLAVE指令....... 错误!未定义书签。
3.常见问题 (26)第四章下载与通讯测试........... 错误!未定义书签。
1.编译、下载........... 错误!未定义书签。
2.通讯 (31)附表主从站指令配置表 (37)S7200 Modbus 主从协议版本(09年初稿版)制作:研发部前言:Modbus从站协议指令可以配置S7-200,将其用作Modbus RTU从站,与Modbus主设备通讯。
Modbus主设备协议指令可以配置S7-200,将其用作Modbus RTU主设备,与一个或多个Modbus从站通讯。
Modbus指令安装在STEP 7 Micro/WIN指令树的"协议库"文件夹中。
用SIEMNES STEP7 MicroWin V3.2版本软件实现S7-200 PLC 与eView MT500触摸屏通过Modbus RTU协议的通讯在SIEMENS公布的STEP7 MicroWin V3.2版本的软件中提供了一个Modbus RTU协议的函数库,用户可以通过简单的调用来实现S7-200PLC的Port0 的PPI通讯口转换为支持Modbus RTU协议的从站通讯口,客户就可以利用这个协议来实现MT500触摸屏对于S7-200 PLC的一屏多机的连接了,具体使用的方法及注意事项如下:1.STEP7 MicroWin V3.2软件中Modbus函数库的调用和编程:打开软件后,在界面的左边的指令结构列表栏内找到Libraries菜单条,右键点击后在弹出的菜单选择添加函数库,注意函数库位于安装目录下的StandLib目录下面。
如下图:添加完成函数库后,在Libraries菜单条下你就会看到Modbus函数调用的两个指令,编写的PLC程序可以参考如下,软件在调用函数指令后自动添加几个子程序和中断程序,如下图:在调用函数库后,编写完程序后,还不能正常使用Modbus通讯功能,编译程序后会报告错误,必须先制定函数库运行时使用的V存储器的区域,才能正常使用!操作如下图:右键点击Program Block弹出菜单,点击Library Memory按钮,选择提供给函数运行必须的V存储器,注意制定的V存储器地址不能和在指令中制定的对应Modbus地址的V存储器相冲突,比如初始化指令中制定VB0开始的200个寄存器作为Modbus协议的保持数据存储器时,在Library Memory Allocation中就不能制定从VB0开始:注意只有当软件连接到实际的PLC后才能设定对应的V存储器区域,所以应该先连接需要编程的PLC。
完成以上的步骤后,程序就可以正常编译了,编译后直接下载到PLC,切换到运转状态,此时Port0就会支持ModbusRTU的通讯了。
S7-200 Modbus RTU 通信简介Modbus 是公开通信协议,具有两种串行传输模式,ASCII 和RTU。
详细的协议和规范,请访问Modbus 组织的网站:/S7-200 通过以下方式支持Modbus RTU 通信协议:•S7-200 CPU 上的通信口0(Port 0)通过指令库支持Modbus RTU 从站模式•S7-200 CPU 上的通讯口0 和1 (Port 0 和Port 1)通过指令库支持Modbus RTU 主站模式在S7-200 CPU 通信口上实现的是RS485 半双工通信,使用的是S7-200 的自由口功能。
通过S7-200 CPU 通信口的自由口模式实现Modbus 通信协议,可以通过无线数据电台等慢速通信设备传输。
这为组成S7-200 之间的简单无线通信网络提供了便利。
详细情况请参考《S7-200系统手册》(2002 年10 月或以后版本)的相应章节。
常问问题1Modbus RTU主站1.1 Modbus RTU 主站指令库西门子在Micro/WIN V4.0 SP5 中正式推出Modbus RTU 主站协议库(西门子标准库指令)。
图 1. 西门子标准指令库(Micro/WIN V4.0 SP5)注意• 1. Modbus RTU 主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库对Port0 和Port 1 有效。
该指令库将设置通信口工作在自由口模式下。
• 2. Modbus RTU 主站指令库使用了一些用户中断功能,编其他程序时不能在用户程序中禁止中断。
• 3. Modbus RTU 主站库对CPU的版本有要求。
CPU 的版本必须为2.00 或者2.01(即订货号为6ES721*-***23-0BA*),1.22版本之前(包括1.22版本)的S7-200 CPU 不支持。
使用Modbus RTU 主站指令库,可以读写Modbus RTU 从站的数字量、模拟量I/O 以及保持寄存器。
<PLC200 MODBUS协议配置使用方法>修订历史记录注释:红色字体为注意点;蓝色为修改补充;紫色为问题总结;茶色为暂时删除;绿色为住宿。
目录前言.............................................................. 错误!未定义书签。
第一章使用Modbus协议库.................................. 错误!未定义书签。
前言 (6)1.使用Modbus主设备协议的要求 (6)2.使用Modbus从站设备协议的要求 (7)主设备协议的初始化和执行时间 (7)从站协议的初始化和执行时间 (8)主设备寻址 (8)从站寻址 (8)主设备MBUS_MSG执行错误代码 (10)从站协议执行错误代码 (11)主设备高级用户信息 (11)第二章使用Modbus主设备指令 (14)前言 (14)指令(初始化主设备) (15)指令 (16)第三章使用Modbus从站指令................................ 错误!未定义书签。
前言 (22)指令(初始化从站) .................................................. 错误!未定义书签。
指令.............................................................. 错误!未定义书签。
3.常见问题 (26)第四章下载与通讯测试....................................... 错误!未定义书签。
1.编译、下载...................................................... 错误!未定义书签。
2.通讯 (31)附表主从站指令配置表 (37)S7200 Modbus 主从协议版本(09年初稿版)制作:研发部前言:Modbus从站协议指令可以配置S7-200,将其用作Modbus RTU从站,与Modbus主设备通讯。
S7-200 Modbus RTU 通信简介Modbus 是公开通信协议,具有两种串行传输模式,ASCII 和RTU。
详细的协议和规,请访问Modbus 组织的:/S7-200 通过以下方式支持Modbus RTU 通信协议:•S7-200 CPU 上的通信口0(Port 0)通过指令库支持Modbus RTU 从站模式•S7-200 CPU 上的通讯口0 和1 (Port 0 和Port 1)通过指令库支持Modbus RTU 主站模式在S7-200 CPU 通信口上实现的是RS485 半双工通信,使用的是S7-200 的自由口功能。
通过S7-200 CPU 通信口的自由口模式实现Modbus 通信协议,可以通过无线数据电台等慢速通信设备传输。
这为组成S7-200 之间的简单无线通信网络提供了便利。
详细情况请参考《S7-200系统手册》(2002 年10 月或以后版本)的相应章节。
常问问题S7-200 是否支持Modbus ASCII 通信模式?西门子不提供支持上述模式的的现成指令库,需要用户自己用自由口模式编程。
目录1 Modbus RTU主站3 STEP 7-Micro/WIN 的标准指令库3.1 分配库指令数据区3.2 添加指令库3.3 删除库指令4 RS-485网络4.1 S7-200系统中的RS-485通信5 RS-485网络的硬件组成5.1 连接网络连接器5.2 网络连接器5.3 线型网络结构5.4 终端电阻和偏置电阻6 扩展阅读6.1 扩展阅读1Modbus RTU主站1.1 Modbus RTU 主站指令库西门子在Micro/WIN V4.0 SP5 中正式推出Modbus RTU 主站协议库(西门子标准库指令)。
图 1. 西门子标准指令库(Micro/WIN V4.0 SP5)注意• 1. Modbus RTU 主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库对Port 0 和Port 1 有效。
MCGS⼊门笔记3-与S7200(master)Modbus-Rtu通讯MCGS⼊门笔记3-与S7200(master)Modbus-Rtu通讯本⽂介绍通过485串⼝连接MCGS与S7200进⾏Modbus-Rtu通讯,MCGS为从站,S7200为主站。
S7200这个⽼古董,就是活在⼝中的东西,要不是项⽬需要,真的想不到还会⽤到这个,组态软件Micro/WIN也是年代久远,所以写了另⼀篇⽂章,S7200⼊门笔记。
Modbus通讯协议是⼯业全球流⾏的通讯的协议了,相⽐⼤家都熟悉,不熟悉的建议先了解下,有助于项⽬实现,如果我发布了我⾃⼰写的modbus的草稿,你能在博客页⾯找到这篇⽂章。
前⾯两篇⽂章链接:1. 组态MCGS这⼀部分跟上篇⽂章⽅法类似,这⾥省略的地⽅可能在前⾯能找到1.1组态通讯驱动添加串⼝,主要设置端⼝号,这⾥的端⼝号跟MCGS的端⼝号⼀致对应添加设备,从站要选择modbus串⼝数据转发设备,设置从站地址和添加通讯变量分别添加I0.0-I0.7、Q0.0-Q0.7、WORD40001-WORD40008变量(下图对应的是前篇⽂章S7300的图,仅供参考)1.2画⾯组态添加按钮,⽤于改变变量按下图操作,图⽐较乱。
按钮设置数据对象为取反可能更容易调试。
添加矩形显⽰,⽤于显⽰变量变化,相当于LED添加滑动块,⽤于改变多位整数,40001滑条设置0-65535对应的是16位⽆符号字变量。
40002设置为0-255对应低字节。
画⾯显⽰效果如图。
⼆、组态S7-2002.1组态软件和硬件S7200PLC组态软件是STEP7_MicroWin32。
组态软件因为年代久远,并不友好,所以不好上⼿,很多注意的地⽅,⽐如通讯下载不⽀持以太⽹,另外Modbus通讯需要安装指令库,这部分教程可以看另⼀篇⽂章,S7200⼊门笔记硬件是CPU 224XP CN REL 02.012.2测试程序编程关于程序编程,西门⼦官⽅出了⽐较完整的教程,强烈推荐,⾥⾯还有例程Modbus RTU 主站功能编程1. 调⽤ Modbus RTU 主站初始化和控制⼦程序使⽤ SM0.0 调⽤ MBUS_CTRL 完成主站的初始化,并启动其功能控制:2. 调⽤ Modbus RTU 主站读写⼦程序MBUS_MSG,发送⼀个Modbus 请求我这⾥⽤的是v1.0的modbus旧版本库指令,与官⽅有⼀点不同,官⽅的v1.2如下图v1.2指令官⽅说明⽐较清楚a.EN使能:同⼀时刻只能有⼀个读写功能(即 MBUS_MSG)使能注意:建议每⼀个读写功能(即 MBUS_MSG)都⽤上⼀个MBUS_MSG 指令的 Done 完成位来激活,以保证所有读写指令循环进⾏(见例程)。
“MODBUS”常见问题解答1. 我的设备支持modbus设备,能否直接与组态王软件连接?只要设备是标准的modbus 协议设备,即可使用组态王设备列表下的PLC-->莫迪康-->MODBUSRTU(或者ACSII 码)进行通信。
但具体的寄存器地址对照表必须从设备厂家索取。
2. 我的支持modbus 协议的串口设备,能否与多个上位软件(比如组态王软件和某品牌触摸屏)同时通讯?因为modbus 串口协议不支持多主站,所以不能多个软件同时与modbus 设备同时通信。
3. 在组态王工程中建立多个modbusTCPIPserver 设备定义,分别使用两台客户端对其访问,只有站点高的那个server 通讯ok,站点低的通讯失败,为什么?这是因为在组态王软件中只支持建立一个modbusTCPIPserver,当建立多个server时,组态王客户端则会自动与站点高的server进行通讯,所以会导致站点低的通讯失败。
4. 如何实现组态王数据通过串口或者以太网驱动方式传送到其他组态软件或者应用程序中?如果其他组态软件或者应用程序支持modbus 协议,则可以通过组态王提供的modRTUserver 或者modbusTCPserver 驱动来实现。
5. 组态王与支持Modbus协议的设备进行通讯时,组态王画面上显示的数据不正确常有哪些原因?引起数据不正确的原因主要有如下几点:1)组态王中定义的寄存器地址跟实际设备不一致导致。
比如某些使用modbus 协议通讯的设备的数据地址是从0 开始的,而组态王modbus 协议驱动寄存器地址是从 1 开始的,所以遇到此种情况时在组态王中定义变量时,寄存器地址要进行加1 处理;2)数据词典中最大原始值和最大值定义不不当;比如最大原始值和最大值不一样会导致画面看到的数据和实际设备不一致;3)组态王读取FLOAT 和LONG 类型的数据时,没有使用提供的SwapF 和SwapL寄存器来调整FLOAT 型和LONG型数据的字节顺序;4)LONG 或FLOAT 型的双字的数据,没有按照间隔隔地址方式定义;因为modbus协议所对应的参数地址一般按照字为基本单位进行分地址排序的。