回复:MODBUS TCP轮询

Sykblue

  • 帖子

    490
  • 精华

    2
  • 被关注

    54

论坛等级:侠圣

注册时间:2013-06-26

钻石 钻石 如何晋级?

发布于 2019-11-27 10:44:03

9楼

展开查看
以下是引用Siemens automation在2019-11-26 17:28:31的发言 >7楼

轮训不存在只能轮训两条指令后就不能轮训,你多从你程序里面找原因。你把你不能轮训测试监控程序截图发出来看一下。用完成位来实行轮训是最简单直接的办法,上一个完成位完成后就复位上一条激活指令,同时也激活下一条轮训指令,这样去做的话不会有问题才对。你可以这样用完成位去做轮训,上一个完成位接通就复位上一条激活指令,在置位一个中间继电器,再用这个中间继电器去激活下一条轮训指令,这样每次完成标志位激活一个中间继电器后,再用这个中间继电器去激活下一条指令。

以下是引用Sykblue在2019-11-26 16:51:25的发言 >6楼:实物测试的,用的S...

引用6楼详细内容:

实物测试的,用的SR60,跳转指令去掉也不行。我用过完成位激活下一条指令,测试了一下,也不行,好像超出4条就不行,2条指令轮询没问题,不知道是什么原因,我也是无语了。

以下是引用Siemens automation在2019-11-26 16:08:43的发言 >5楼:那你将里面的跳转指...

引用5楼详细内容:

那你将里面的跳转指令去掉后再去按照我改动后的程序测试,你是怎么测试的,是使用实物来测试,还是模拟的方式测试。实在不行的话,那你就不要用这种方式去轮训,用每个指令后面的DONE接通后再去激活下一条指令轮训。你可以参考modbus rtu轮训格式去做。

MODBUS RTU通信_S7-200 SMART:

http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/020.html


以下是引用Sykblue在2019-11-26 15:36:58的发言 >4楼:听了你的说法我感...

引用4楼详细内容:

听了你的说法我感觉有道理,但是感觉又有些不对。我按你给的方法改了一下,还是不行。我想了一下,应该不是你说的原因,我每个段程序都有一个jmp程序是从左到右从上到下执行,执行到jmp的时候,程序会发生跳转,所以你所说的那个并不成立。但是我也找不出哪里原因。

以下是引用Siemens automation在2019-11-26 14:55:06的发言 >3楼: 一楼的哪位工程...

引用3楼详细内容:

 一楼的哪位工程师说的对,逻辑有问题,而且标出来了。只是你没有理解而已。你根据扫描原理理解,扫面原理是从上到下,从左到右的原则去执行程序,正应为你M3.1复位M3.0和M3.1的同时也激活了M3.2,但是紧接着在有复位了M3.2,扫描从上往下执行,你上面激活,下面有复位,这就造成逻辑错误。我将程序改了一下的截图。

 




以上程序基本是按照在线帮助做的,只不过改为1个连接IP,我发现能实现循环就是速度非常慢,接近50秒钟才有下一个激活状态。






第四图以后是仿照RTU的例子做的每个完成激活下一个通讯,我发现根本不能循环。。。

利而不害,为而不争;专注暖通空调行业
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8937条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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