回复:s7-200程序出现问题

圆啾啾

  • 帖子

    15
  • 精华

    0
  • 被关注

    15

论坛等级:游民

注册时间:2014-08-07

普通 普通 如何晋级?

发布于 2016-09-02 11:49:51

36楼

展开查看
以下是引用芳季在2016-09-02 09:15:51的发言 >34楼

楼主你基本不懂通讯周期和扫描周期。

这个问题我在没有开售22x plc的时候就已经通过自己撞墙碰壁理解到了。

plc扫描是一种周期,屏对plc寄存器的更新又是另外一种过程另外一种周期。这话实在是太简单了。太好理解了。你有感应到吗?

拿plc主动通讯来说,对外写一个数据需要n个扫描周期,发送完成的时刻点需要中断资源来唤醒plc对这个事件进行反应。在任何扫描到某个地方都有可能发生中断。在看看通讯线的另外一头那个啥,假设都是plc吧。被人家这么一写数据,数据什么时刻点更新了?


请楼主回答。


请楼主回答。


请楼主回答。


就连主动plc都不晓得自己什么时候可以发送完毕,你一个从站什么能耐可以知道数据什么时候让人家写完啊?

生活经验告诉我:我老婆晚上大概10点洗衣服,我要是可以在这个时间之前洗澡换衣服了,那么这衣服就可以一起洗了。要是我错过了这个时间换衣服,我到了12点(一天结束了)的时候问老婆,你为什么还不洗衣服啊?老婆却说我洗衣机都在脱水了,你说我洗衣服了没有?但是我却明明指着我的臭衣服说你看,我的衣服还放在这里,你哪有洗衣服啊。

我老婆到底洗衣服了没有?


请楼主回答。


请楼主回答。


请楼主回答。


很简单的道理,为什么plc的输出点输入点要经过输入输出映像区缓冲输出,目的就是防止同一个plc扫描周期里面出现两种不同逻辑的现象,也就是楼主你言之凿凿的现象。

不单是通讯有这个现象。1毫秒的计时器当前值有这个现象,高速计数器当前值有这个现象,22x plc任何用户寄存器都可以在一个扫描周期里面任意变化。

你程序在多个地方使用了一个这样的寄存器,而这个寄存器就是由一个不确定时序的通讯过程确定的,而你梦然完全毫不知情,没做任何缓冲措施,技术不精,做不出东西怪西风大?

我这回帖,对于楼主来说,值10000.7元。那7毛钱是电费和宽带通讯费。

好文笔啊  辛苦了。

我是不太懂通讯周期啊,我认为是扫描周期完成后,进行通讯的处理,只有在程序扫描完成后,才会更新因通讯改变的存储区。就像是输出输入镜像区一样,不会再同一个周期有两种状态。或许是我理解错了。

你的意思是在上下两个网络之间,因为通讯的问题使变量置位了?但是STL语句表监控就是V204.0是OFF,用状态表观察也是OFF,就是在梯形图的网络8中监控到的状态是ON。此外,在梯形图的网络8中不只是V204.0的监控状态是和语句表监控的不一样,T47的状态也不一样。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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