




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
S7-200 Modbus RTU通信关键词。库文件RS485网络主站:程序地址错误例程从站:程序地址错误例程S7-200 Modbus RTU通信介绍Modbus是一种公共通信协议,具有两种串行传输模式: ASCII和RTU。 详细的协议和规格请访问Modbus组织的网站/S7-200支持以下Modbus RTU协议S7-200 CPU上的通信端口0 (端口0 )在指令库中支持Modbus RTU从站模式S7-200 CPU上的端口0和1 (端口0和端口1 )通过命令库支持Modbus RTU主模式S7-200 CPU通信端口实现了RS485半双工通信,并使用S7-200的自由端口功能。在S7-200 CPU通信端口的自由端口模式下实现Modbus通信协议,可通过无线数据站等低速通信设备进行传输。 这有助于配置S7-200之间的简单无线通信网络。详情请参照S7-200系统手册 (2002年10月以后)的相应章节。经常提问S7-200支持Modbus ASCII通信模式吗?西门子没有提供支持上述模型的现成的命令行库,需要用户自己在自由口模型中编程。目录1Modbus RTU主站1.1主指令库1.2主站功能编程1.3主协议和地址1.4主例程1.5主站经常提问2Modbus RTU从站2.1CPU上的通信端口(端口0 )支持Modbus RTU从站通信协议2.2从站编程的基本步骤2.3从地址与S7-200的地址对应2.4从站指令库支持的功能代码2.5从程序2.6从站常见问题3STEP 7-Micro/WIN的标准指令库3.1分配库命令数据区域3.2追加指令库3.3删除库的指令4RS-485网络4.1S7-200系统中的RS-485通信5RS-485网络的硬件配置5.1连接网络连接器5.2网络连接器5.3线状网络结构5.4终端电阻和偏置电阻6扩展阅读6.1扩展读取Modbus RTU主站1.1 Modbus RTU主命令库西门子在Micro/WIN V4.0 SP5上正式发布了Modbus RTU主控协议库(西门子标准库指令)。图1 .西门子标准指令库(Micro/WIN V4.0 SP5 )注意1. Modbus RTU主命令库的功能通过调用用户程序中预先创建的程序功能块来实现,该库对端口0和端口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、保持寄存器。要使用Modbus RTU主命令库,请执行以下步骤1 .设置西门子标准指令库2 .根据需要,创建用户程序调用Modubs RTU主指令库西门子标准指令库的设置1.2 Modbus RTU主站功能编程调用Modbus RTU主初始化和控制子程序在SM0.0中调用MBUS_CTRL,完成主站的初始化,启动其功能控制在图SM0.0中调用Modbus RTU主机初始化和控制子程序每个参数的意思是:a.EN功能:必须确认每个扫描周期已启用(使用SM0.0 )b.模式(模式)模式:如果为1,则启用Modbus协议功能;如果为0,则返回系统PPI协议c.巴德公司波特率:支持的通信波特率为1200,2400,4800,9600,19200,38400,57600,115200。d.Parity验证:检查方式选择0=无检查1=奇数比较2=偶然比较e.超时输出超时时间:主站等待从站响应的时间以毫秒为单位,通常的设定值为1000毫秒(1秒),可设定的范围为1 - 32767。注意:该值必须设定为足够大以保证从站响应的时间。f.Done完成位:初始化完成后,该位自动设置为1。 可以使用此位开始MBUS_MSG读写操作(参见例程)g.错误初始化错误代码(仅Done位为1时有效):0=无错误1=验证选择不正确2=波特率选择不正确3=模式选择不正确调用Modbus RTU主读写子例程MBUS_MSG并发送Modbus请求图调用Modbus RTU主控读写子程序每个参数的意思是:a.EN功能:一次只能使用一个读写功能(MBUS_MSG )注:建议在最后一个MBUS_MSG指令的Done完成位中启用各读写功能(MBUS_MSG )。 这是为了确保所有的读写指令都循环执行(参见例程)。b.First读写请求位:必须对每个新的读写请求使用脉冲触发c.从站从地址:可以选择的范围是1 - 247d.RW从地址:0=读取,1=写入注意:1 .开关量输出和保持寄存器支持读取和写入功能2 .开关量输入和模拟输入仅支持读取功能e.PS读写从站的数据地址时:选择读写的数据类型。000010xxxx-开关量输出10001至1xxxx -开关量输入300013xxxx-模拟输入400014xxxx-保持寄存器f.Count数据数通信的数据数(位或字数)注意: Modbus主站可读写的最大数据量为120字(每个MBUS_MSG命令)g.数据管理器数据指针:1 .读取指令时,读取的数据保存在该数据区域中2 .写入命令时,要写入的数据被放入该数据区域h.Done完成位读写功能完成位I错误错误代码:仅在Done位为1时,错误代码有效0=无错误1=响应验证错误2=未使用3=接收超时(无从站响应)4=请求参数错误(slave address,Modbus address,count,RW )5=Modbus/自由端口未使用6=Modbus正被其他请求追赶着7=响应错误(响应不是所请求的操作)8=对CRC校验和错误的响应-是101=从站不支持所请求的功能102=从站不支持数据地址103=从站不支持该数据类型104=从设备故障105=从站收到消息,但应答晚了106=从站忙,拒绝了这个信息107=从站拒绝了信息108=从存储器奇偶校验错误常见错误:多个MBUS_MSG指令同时有效时,发生6号错误库库在程序的其他地方被复用,有时会发生6号错误如果从站delay参数的设定时间过长,主站3号可能会错误如果从站不停电或运行,网络故障可能会发生主站的3号错误3 .在CPU的v数据区中向库命令分配库存储器Modbus Master命令库需要284字节的全局v存储。参考:库命令数据区域的分配关于1.3modbusrtu主协议和地址西门子正式发表的标准库指令的说明资料。在Modbus RTU Master协议和PPI协议之间切换Modbus RTU Master协议库在自由端口模式下运行通信端口,因此无法与微/win软件通信。 切换到PPI协议:将MBUS_CTRL指令的Mode输入侧设定为逻辑“0”将CPU的允许模式选择开关置于STOP位置Modbus RTU Master协议库的执行时间:Modbus RTU Master协议库的MBUS_CTRL命令不需要长时间运行。 MBUS_需要1.11 ms毫秒进行初始化,并且每个后续扫描周期仅占用0.41 ms毫秒。调用MBUS_MSG子程序会增加处理时间。 大部分时间用于计算CRC检查。 每次读写1个字的数据时,需要1.85 ms的扫描时间。 数据最多的情况下(读写120字的数据),扫描时间变长222 ms左右。 读取操作的时间主要是在接收数据上消耗的写入操作的时间主要是在数据的发送上。Modbus地址通常,Modbus地址由5位数字构成,包含开头的数据类型编号和后续的偏移地址。 Modbus Master协议库将标准的Modbus地址映射到所谓的Modbus函数号,从站的数据读写。 Modbus Master协议库对应于以下地址00001 - 09999 :数字量输出(线圈)10001 - 19999 :数字量输入(接点)30001 - 39999 :输入数据寄存器(通常为模拟输入)40001 - 49999 :数据保持寄存器Modbus Master协议库支持的功能为了支持上述Modbus地址的读写,Modbus Master协议库的从站必须支持以下功能表1 .需要从站支持的功能Modbus地址读书写字Modbus从站必须支持的功能00001 - 09999数字输出读功能1写功能5 :写单张输出点功能15 :写多输出点10001 - 19999数值输入读功能2写-是30001 - 39999输入寄存器读功能4写-是40001 - 49999保持寄存器读功能3写功能6 :写单寄存器单元功能16 :写多寄存器单元Modbus地址和S7-200存储体地址的映射当S7-200通过Slave协议库与Modbus Master通信时,Modbus地址和S7-200中的存储体地址的映射关系相似。Modbus保持寄存器地址映射示例:Modbus数字量地址映射示例:位地址(0xxxx和1xxxx )的数据总是以字节为单位打包读写。 开头字节的最低位与Modbus地址的开头地址相对应。 如下图所示图4 .数字容量地址映射的示例1.4 Modbus RTU主例程为了更容易理解Modbus主站的编程,请参考以下例程。样本程序1:执行数MBUS_MSG指令轮询注意1 .此例程是使用Micro/WIN V4.0 SP5保存的。2 .该例程只访问一个从站,访问不同的从站时,可以通过变更从站地址来实现。Modbus RTU主指令库应用例程示例程序2 :反复激活单一MBUS_MSG指令:Modbus RTU主索引系统轮询访问应用程序例程注意:本程序库/程序的创建者和所有者对本软件的功能和兼容性不负责。 使用这个软件的风险完全由用户自己承担。 因为是免费的,所以不提供保证、纠错、热线支持,用户无需联系西门子技术支持和服务部门。1.5 Modbus RTU主站经常提问Modbus RTU主库对CPU版本是否有要求? 为什么编译示例程序会发生四个错误呢?Modbus RTU主库正确要求CPU的版本,CPU的版本必须是2.00或2.01 (即,订单号必须是6ES721*-*23-0BA* ),而且必须是低于1.22 (包括1.22版本)的sModbus指令库启动后,如何在同一通信端口上进行CPU监视?Modbus命令库使用CPU的自由端口通信功能,在自由端口模式下工作的通信端口不能使用Micro/WIN的PPI程序通信监视器。 如果通信端口已经被占用,则可能是添加EM 277、CP 243-1、EM 241等通信模块,扩展编程通信端口可以中止自由端口模式,将CPU上的模式开关从RUN设为STOP,或者在RUN状态下,通过程序停止指令库的Modbus模式(参照指令库应用程序)如何理解Modbus地址和功能代码的差异?Modbus地址和Modbus的功能代码是两层的概念。根据Modbus通信协议,Modbus数据的地址以0xxxx、1xxxx、3xxxx、4xxxx的形式分别表示数字量输出、数字量输入、模拟输入等数据地址。 使用S7-200的命令库时,Modbus数据地址和S7-200的I/O和数据库地址有特定的对应关系。虽然某些设备表示支持Modbus RTU协议,但它还提供了详细的通信帧格式,用于读写数据,包括如何指定Modbus
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于图嵌入的分类算法-洞察及研究
- 水文地质调查员适应性考核试卷及答案
- 炼钢工成本预算考核试卷及答案
- 2025年创客中心建设行业研究报告及未来行业发展趋势预测
- 增强现实手术模拟研究-洞察及研究
- 轧花工内部技能考核试卷及答案
- 插花花艺师新员工考核试卷及答案
- 岩溶漏斗中的水动力过程研究-洞察及研究
- 地下水中微生物行为研究-洞察及研究
- 试用型网络游戏试玩与游戏体验评价合同
- 人音版小学四年级音乐上电子全册教案
- 小小少年三声部童声合唱谱
- 珍珠培训课件
- 网络安全检查表
- 《财税高薪就业陪跑训练营介绍》序-朱海明(中国最励志的讲师之一)著 - 2稿
- 高二上学期数学开学第一课《新学期新期望》课件
- 数字经济背景下企业商业模式创新
- 高中语文人教版高一必修《李白将进酒》教育教学课件
- 设备购销合同详细范本
- 加装电梯补偿协议书范文模板
- 远古帝王世系表
评论
0/150
提交评论