西门子200做modbus从站与MODSCAN32通讯.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文档。上传文档
查看更多
西门子200做modbus从站与MODSCAN32通讯一.准备工作:1.西门子200编程软件: V4.0 STEP 7 MicroWIN SP92.西门子200PLC一个:CPU224XP3.编程电缆一条:USB-PPI4.串口软件:MODSCAN32_V4.A01二.modbus通讯概念:西门子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??从属功能未启用三:程序编写PLC地址=(modbus地址-1)*2;如modbus地址为40002,则PLC地址为VW1002。四:设置库存储区库存储区起始地址为:HoldStart+(MaxHold*2);此处库存储区地址应为VB1000+(20*2)=VB1040;库存储区不应小于VB1040,否则会导致通讯失败。五:建立通讯连接设置通讯参数:与PLC初始化从站协议一致。测试成功。

文档评论(0)

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

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

1亿VIP精品文档

相关文档