西门子S7-200PLCModbus从站设置讲述.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西门子S7-200PLCModbus从站设置讲述

西门子S7-200 PLC Modbus从站设置?? 2013-01-27 11:43:43|??分类:? HYPERLINK /zhenglx2008@126/blog/ \l m=0t=1c=fks_084071083095082064084081083095093087083068087087085069 \o PLC PLC|举报|字号?订阅 西门子S7200做Modbus从站需要使用MBUS_INIT、MBUS_SLAVE即可。 MBUS_INIT指令被用于启用和初始化或禁止Modbus通讯。在使用MBUS_SLAVE指令之前,必须正确执行MBUS_INIT指令。指令完成后立即设定完成位,才能继续执行下一条指令。在每次扫描且EN输入打开时执行该指令。应当在每次通讯状态改变时执行MBUS_INIT指令。因此,EN输入应当通过一个边缘检测元素用脉冲打开,或者仅在首次扫描时执行。模式输入数值选择通讯协议:输入数值1将端口0指定给Modbus协议并启用协议;将输入数值0指定给PPI,并禁用Modbus协议。波特参数将波特率设为1200、2400、4800、9600、19200、38400、57600或115200。地址参数将地址设为1和247之间(包括1和247)的数值。 ? 校验参数被设为与Modbus主设备校验相匹配。可接受的数值为: *0-无校验 *1-奇数校验 *2-偶数校验 ? 时延参数通过将指定的毫秒数增加至标准Modbus信息超时的方法延长标准Modbus信息结束超时条件。该参数的典型数值在有线网络上应为0。如果您在使用带有纠错功能的调制解调器,将时延设为50至100毫秒的数值。如果您在使用扩展频谱无线电,将时延设为10至100毫秒的数值。时延数值可以是0至32767毫秒。 MaxIQ参数将供Modbus地址00xxxx和01xxxx使用的I和Q点数设为0至128之间的数值。数值0禁止所有向输入和输出的读取。建议使用的MaxIQ数值是128,该数值可在S7-200中存取所有的I和Q点。 ? MaxAI参数将供Modbus地址03xxx使用的字输入(AI)寄存器数目设为0至32之间的数值。数值0禁止模拟输入的读数。建议使用的MaxAI数值如下,这些数值可允许存取所有的S7-200模拟输入: ? *0用于CPU 221 *16用于CPU 222 *32用于CPU 224、226和226XM ? MaxHold参数设定供Modbus地址04xxx使用的V内存中的字保持寄存器数目。例如,为了允许主设备存取2000个字节的V内存,将MaxHold设为1000个字的数值(保持寄存器)。 ? HoldStart参数是V内存中保持寄存器的起始地址。该数值一般被设为VB0,因此HoldStart参数被设为VB0(VB0地址)。其他V内存地址可指定为保持寄存器的起始地址,以便在项目的其他地方使用VB0。Modbus主设备可存取V内存MaxHold个字数,从HoldStart开始。 MBUS_INIT指令完成时,完成输出打开。错误输出字节包含执行指令的结果。请参阅Modbus从属协议执行错误代码中可能因执行指令而产生的错误条件。 ? MBUS_SLAVE指令被用于为Modbus主设备发出的请求服务,并且必须在每次扫描时执行,以便允许该指令检查和回答Modbus请求。在每次扫描且EN输入开启时执行该指令。MBUS_SLAVE指令无输入参数。当MBUS_SLAVE指令对Modbus请求作出应答时,完成输出打开。如果没有需要服务的请求时,完成输出关闭。错误输出包含执行该指令的结果。该输出只有在完成打开时才有效。如果完成关闭,错误参数不会改变。请参阅Modbus从属协议执行错误代码中可能因执行该指令而导致的错误条件。 ? 错误代码???说明 0???无错误 1???内存范围错误 2???非法波特率或校验 3???非法从属地址 4???非法Modbus参数值 5???保持寄存器与Modbus从属符号重叠 6???收到校验错误 7???收到CRC错误 8???非法功能请求/功能不受支持 9???请求中的非法内存地址 10??从属功能未启用 ? 程序举例如下: NETWORK 2 //首次扫描时初始化Modbus从属协议 //将从站地址设为6,将端口0设为9600波特,将校验设为无校验, //不允许存取所有的I、Q和AI数值,允许存取20台保存寄存器(40个字节) //从VB1000开始(即VB1000- VB1039)。 ? 程序书写后,需要对Modbus进行存取区的设定,如下: ? 在菜单栏下:文件》库存储区--库存储区分配 ? 在库存储区分配中,设立分配地址,确定。 PLC启动运行后,如下: ? PLC运行后,使用Kepsever O

文档评论(0)

jiayou10 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档