回复:我想修正一下一个公认的概念。我有新的解释。

芳季

西门子1847工业学习平台

  • 帖子

    15620
  • 精华

    102
  • 被关注

    966

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2016-10-14 15:12:02

9楼

W,你别急。这个事情对于你来说不是个问题。

10年前,书店里面满满是30的书的时候,很多新人被30吸引。不知道为什么,我们学校竟然破天荒学s7-200。

30里面经常有两个做法,大概是说,需要off至少一个周期然后再on。和。END指令时刷新。我担心的就是这样的概念会不会影响到大家使用200?

W,你回答和我一致。第三第四种情况是属于所谓的“同时”概念。

第二种情况,2222222222222222222222222222

网络1 m0.0 on

网络2 m0.1 off

下一个周期

网络1 m0.0 off

网络2 m0.1 on

再下一个周期

网络1 m0.0 off

网络2 m0.1 on


如果在30里面的一些指令,被m0.0和m0.1并联驱动的话,那么这个指令完全没有off的时间。

如果在30里面的一些指令,被m0.0和m0.1各自在不同位置驱动的话,那么这个指令就没有off至少一个周期然后再on 。或者说这个指令的两处使用,没有经过END指令刷新就被第二次使用。这两种如果,都是无法正常使用30这些指令的。

而在200里面却没印象什么指令要经过end处理。高速计数器没有,高速输出没有,自由口收发指令没有。

回到modbus上。

用m0.0 m0.1分别去接通两个msg指令的EN端和first端。同时的概念出来了。

用第一种情况产生的M信号,msg指令有一个周期完全没有被调用。

用第二种情况产生的M信号,有一个周期内,两个msg指令都被调用。

用第三种情况,不用说了。死定的。

第四种情况呢?两个msg都没有完整地重合过一个周期。

然而,第二种情况是属于不会报错的使用方法。这是由于第一个msg已经结束了,才驱动后面一个msg的。虽然此时此刻,这个扫描周期同时执行了两个msg指令。如果把上图两个网络换位,就是第四种情况。

那么这么说,就算第三种情况,明明有一个周期完全重合住的,也是执行完前面才执行后面的,是不是说也不算同时啊?

程序的执行有扫描的概念存在,当然没有同时的概念啦。那怎么说?同一个周期两个都执行到了,为何有的是属于正常,有的是属于“同时了”?

我发现,有人为了避开这些不清晰的界限,远远地离开灰色地带。按计时器时差传递流程,时间不够就增加时间一直加到没有出错为止,不知道是不是为了这个?

所以,直指题目《我想修正一下一个公认的概念。我有新的解释。》我的新的解释是:

后面一个开始了执行以后,Done之前,而前面一个仍发生执行,那么就是同时执行。这个“同时”与扫描周期无关。

我主要是指出,与扫描周期无关。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33276条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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