- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告7_Modbus通信
Task Report
Purpose
实验目的
1、学习Modbus通信协议的原理和使用方法
Equipment
实验设备
Hardware and firmware硬件及固件
设备名称 数量 订货号 224XP CPU DC/DC/DC SIMATIC S7-200, CPU 2 6ES7 214-1AD23-0XB0 SIMATIC S7-200, PC/PPI CABLE 2 6ES7 901-3CB30-0XA0 SITOP SMART POWER DC 24V-5A 1 6EP1 333-2AA01-Q627 FROFIBUS DP 1 6XV1 830-0EH10 Software and version软件及版本
名称 版本 STEP7 Micro/WIN V4.0 SP9
Process and emphases
实验流程与重点难点
实验内容
编程实现主站与从站之间的数据交换
3.2 实验过程
电气连接
如图1所示,将电源提供的24V电压分别于PLC的24V电源接入端口相连,并且将输入方向的M与1M端口短接。
PPI CABLE端口与PLC 端口1(port1)相连,通过PPI电缆实现在线监控。
PROFIBUS通讯电缆分别与两个PLC的port0相连(Modbus通讯使用的是port0)。
用导线将输入端口IB0和IB1全部引出。
图1 S7-200组成示意图
端口定义
主站程序中,I0.0用于触发读写命令。
从站程序中,将IB0和IB1输入状态传送给主站,在主站程序中通过状态表读出。从站接收主站发送的数值并且赋值给QB0和QB1,观察指示灯的变化。
程序设计
数据寄存器的通讯实验(读写PLC V区数据的循环通讯)
数据寄存器的Modbus地址为40001~49999,要实现主站与从站之间的循环通讯,可以将V区的数据作为发送和接收的对象。主站给从站V区的某一范围内写入字节,由从站对接收的字节做处理(加、减变化)后再次由主站读取,实现循环通讯(在状态表中观察选中的V区数值是否能够递增或递减变化)。
主站程序设计:
Modbus RTU主站初始化与控制程序如图2所示,其中EN为使能信号,Mode为‘1’时,相当于选中自由口通讯模式(与自由口通讯实验中给SMB30赋值的原理一样)。波特率选择9600bps,校验方式选择无校验,Timeout为主站等待从站响应时间,一般经三次握手后从站还没有响应,则通讯超时。初始化完成后Done信号跳变为‘1’,一般可以用M0.0启动 MBUS_MSG 的读写操作。
图2 Modbus RTU主站初始化与控制程序图
Modbus读写程序如图3、图4所示,因为Modbus通信的读和写不能同时进行,因此每一个读写功能(MBUS_MSG)都用上一个 MBUS_MSG 指令的 Done 完成位来激活,以保证所有读写指令循环进行。
RW为1时,主站将VB1000为首地址的1个字(count代表字节数)发送到从站40001地址对应的V区中,写指令完成后,M2.0为‘1’,将M0.1和M2.1复位,断开写指令,同时触发读指令运行。
RW为0时,主站将从站40001地址对应的V区数值写入VB1000为首地址的存储器中,读指令完成后,M2.1为‘1’,将M2.0复位,断开读指令,同时触发写指令运行。
以上过程可以充分确保通讯在同一时刻只能有一个读写功能。
图3 主站写程序
图4 主站读程序
从站程序设计:
从站主要负责对写入的V区数据执行INC_B指令。从站初始化指令如图5所示,MBUS_INIT指令被用于启用和初始化或禁止Modbus通讯。在使用MBUS_SLAVE指令之前,必须正确执行MBUS_INIT指令(该条指令只需触发接通一次,可用SM0.1)。
Mode为‘1’,代表选择自由口通讯模式;
Addr代表设置的从站地址,与主站指令MBUS_MSG中的slave要一致;
Baud为波特率;
Parity为设置的校验位;
Delay与主站指令MBUS_CTRL中Timeout不同,Delay代表延迟时间;
MaxIQ为参与通信的最大I/O点数,S7-200的I/O映像区为128/128;
MaxAI为参与通信的最大AI通道数,可为16或32(有些时候选择的PLC版本过低,MaxAI写入的数据位32时会报错);
MaxHold为最大保持寄存器区,即参与通信的V存储区字(VW);
HoldStart为保持寄存器区起始地址,以VBx指定,例如主站中写入的地址为40001,从站Holdst为VB1000,则V区读写首地址为VB1000;如果主站写入地址为40010,从站Holdstart为VB1000,则V区读写首地址为VB1018。因为主站设置读写的保持寄存器区地
文档评论(0)