回复:关于S71200/1500 MB_Client 不进行轮询时REQ是不是任何时候都设置为TRUE执行效率最优?

已锁定

威师爷

  • 帖子

    5108
  • 精华

    47
  • 被关注

    255

论坛等级:至圣

注册时间:2013-09-18

白金 白金 如何晋级?

发布于 2022-10-09 15:09:57

9楼

展开查看
以下是引用W.M.J在2022-09-30 11:08:55的发言 >6楼

对的,因为你只有两条Modbus命令,并且你是建立了两条连接资源分别去对应的,没毛病,REQ可以一致为TRUE,程序块会连续的自己一次次去读或者写的。

但是如果对同一个服务器进行读写(或者多条modbus命令),我通常用轮询去做,即使用轮询,REQ也可以一直为TRUE的,通过done或者error标志,然后去改变接口连接的mode和其他输入参数就可以了。

通过轮询把数据读到指定的Array的BufferStartAddress指定的起始区域,或者从指定的区域写。可以设置错误重复读写的次数。或者可以设置命令只执行一次(通常用于写)。



以下是引用威师爷在2022-09-26 11:08:42的发言 >楼主:大家好,S71200/150...

引用楼主详细内容:



大家好,S71200/1500 作为MODBUS TCP的客户端对MB 服务器端进行读写数据,目前我的客户端采用了读写分开的方式,MB服务器端也采用了读写分离的方式(服务端准备了502端口与503端口客户端读取502端口的数据,客户端写入数据到503端口)



本次问题的疑问是,采用S7-1200/1500CPU 调用两次MB_CLIENT 客户端 分别分配不同的连接ID与连接远程端口,这样是不是意味着我的MB_CLIENT就不需要进行轮询操作了?

那么这个时候MB_CLIENT的REQ接口是不是CPU进入RUN状态时直接TRUE即可?

还是有什么更好的方法?


希望大家探讨一下,谢谢!


如下图片时REQ的说明





谢谢W朋友的经验分享!

工业起重机防摇摆 QQ:404136820 AntiSwayControl
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15106条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。