请教关于S7-200modbus通讯的问题。

cpu为221与托利多ind331称重控制器通讯5个字,因为ind331最快1s扫7次也就是143ms一次,如果我用mbus_msg指令通讯,读的完成位激活写然后写的完成位激活读,如此轮询,每读一次就是286ms!我cpu扫描周期是13ms,因为读一次286ms实在太长,所以我决定只读取ind331数据,不写入。
有两个问题问一下
1.如果我每cpu扫描周期都发读取指令,而ind331响应速度慢10倍,总有mbus_msg超时的报警,但数据能过来,能保证我是以最快速度读到的吗
2或者我用读的mbus_msg完成位去激活自己的请求位,这样是不是不会报警?这么写对吗?如图
请指教,因为我没有测试环境。

问题补充:
对,正常是脉冲值,但是我用完成位1去激活first,因为开始等待返回马上就变0,完成又变1,如此循环呢。我个人的想法

图片说明:

请教关于S7-200modbus通讯的问题。   

最佳答案

通讯应该和PLC周期是异步执行的,可能通讯完成需要几个周期。所以通讯是可以完成的。
可以加一个短时间的延时再次触发。
补充:因为只使用一个mbus_msg块,所以当接通时done位变为0,在下一周期中断开。因为没有这样使用过,所以不能保证一定可以,但分析感觉是可以的。为确保使用,在M2.3后面加个上升沿指令。

提问者对于答案的评价:

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc186099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年7月25日 下午10:12
下一篇 2017年7月25日 下午10:12

相关推荐

  • 求s7-200与松下A5伺服通过自由口通信例程

    菜鸟求助:写入电子齿轮PR0.09的指令 最佳答案 S7-200自由口通讯资料很多,但通讯协议,需要根据松下A5饲服来定义,需要你自己研究。 提问者对于答案的评价:谢谢你的回答。 …

    SIMATIC S7-200 2020年10月31日
  • s7-200怎么对编码器编程

    有两台用变频器控制的电机,要求他们同步,但是其中用到编码器,请问s7-200怎么对编码器中脉冲处理,用什么指令,请大家回答,谢谢谢谢 问题补充:我的意思是做位置控制用的,是同步。我…

    SIMATIC S7-200 2021年7月5日
  • 无法导入符号

    s7-200 pc access SMART导入s7-200 smart符号提示指定的文件无访问 钻石用户推荐最佳答案 1. 检查…

    SIMATIC S7-200 2021年7月5日
  • PC-Adapter-USB-A2-V1.0 Driver

    PC-Adapter-USB-A2-V1.0 Driver 是做什么用的 最佳答案 PC-Adapter-USB-A2-V1.0 Driver&nbs…

    SIMATIC S7-200 2017年8月24日
  • 关于西门子s7200,226CN,远程监控现场数据问题

    西门子s7200,226CN已用一个端口,想用另一个作为通信端口,怎么走modbus通信,现在模块已扩到最大无法再加模块,还怎么实现通信,需要加什么转换器,要用什么线作为通信线 问…

    SIMATIC S7-200 2017年8月18日
  • 自由口与多台仪表通讯

    用S7 200和多台仪表自由口通讯,如何轮询访问使发送接收不冲突而且通讯速度快?最好有实例程序!邮箱:wjwhw2008@126.com 最佳答案 我刚做过和3个富士变频…

    SIMATIC S7-200 2020年11月1日
  • S7-200和变频器 MODBUS通讯

    S7-200PLC和变频器使用modbus通讯时,变频器使用03、06功能码,寄存器地址是3000H,那么,图片中Addr应该多少? 图片说明:    最佳答案…

    2020年10月31日
  • S7200模拟量模块EM232问题

    老师,你好!最近我接触一个项目,公司想用西门子200的plc,其中要用一块EM232模拟量模块的一个通道来控制两台变频器进行电机调速,结果造成这个模块的输出通道的输出值,不能改变,…

    SIMATIC S7-200 2021年7月5日
  • 数据两两与

    vb1-vb100,只要其中任意两个超过70就输出,我这段程序应该怎么写,有没有这样的实例或者给提供一些思路也可以,谢谢了 专家建议 您好,您可以考虑使用For--Next循环,在…

    SIMATIC S7-200 2020年11月1日
  • 项目编程

    时间段轮循控制,怎么编程??从某时某分到某时某分十个时间段。。 钻石用户推荐最佳答案 触发就好了,比较时间=这个,输出到一个点该点自锁,去执行命令 提问者对于答案的评价:

    SIMATIC S7-200 2021年7月5日