登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:PLC的扫描周期讨论?

点击:2722 回复:19

附件 2020-03-09_8-26-31.jpg
如图~关于PLC的工作过程,俺这个初学者还有有点糊涂,
请教大家几个问题,
1、PLC是把所有程序都执行完后,一起把运算结果写入输出映像寄存器吗?
比如俺的图有3段程序,是把这3段程序一起执行结束后,
最后将Q0.1和Q0.2的值同时写入输出映像寄存器吗?
2、在一个扫描周期内,如果I0.1闭合,那么PLC执行第一段程序后,Q0.1得电,值为1,
紧接着执行第二段程序时,这个Q0.1的值是1呢还是0呢
3、PLC的程序运算都在堆栈的存储器里进行,那么第一段运算结果Q0.1的值放在哪里
因为装载下一条指令值的时候会不会把当前这个Q0.1的值挤掉?
最后修改:2020/3/12 10:19:27
20-03-09 08:37

引用 448187990 在 2020/3/9 8:37:16 发言【内容省略】

1、全部程序扫描结束后更新输入输出映像区
2、所有IO的状态变化均在更新输入输出映像区后发生。在扫描周期内不更新IO状态。
3、Q的状态将写入输入输出映像区,但是读取将在更新后进行。
4、采取这样的方式是为了确保IO状态在扫描周期期间的数据一致性,用户可以通过强制更新输入输出映像区来改变当前IO的状态,但是这样做将导致IO状态在扫描周期期间不一致同时会延长扫描周期。
Good Luck~
20-03-09 09:09
楼主可以看看关于扫描周期的概念。是在执行一个周期之后更新输入输出映像,有时间要求的,用立即(即时)输入输出,或者中断这类的方式。
20-03-09 09:46
附件 2020-03-09_11-40-43.jpg
版大请看,这个怎么解释呢?
20-03-09 11:42

引用 448187990 在 2020/3/9 11:42:40 发言【内容省略】

这个和我讲的内容相同,只是输入采样阶段和输出刷新阶段可以统称为更新输入输出映像区,程序执行阶段就是扫描周期,图中可以看到,在程序执行阶段并不涉及输入采样和输出刷新,也就是说,扫描周期中并不改变IO的状态。
Good Luck~
20-03-09 11:59
版大的意思,这句话应该是“触点对Y0的读取,读取的是上一扫描周期线圈写到输出映像寄存器的数据”
而图片中的意思,给我的理解就是同一扫描周期内,
且图片说的输出刷新阶段应该是指将输出映像寄存器的值传给输出模块吧
有点饶人~
最后修改:2020/3/9 13:06:03
20-03-09 12:38
找比较早的手册看一下,那时讲的比较清楚。
记得输入的刷新在自检,外设,通讯...客户程序前,输出在END指令后。
程序中间的“输出”只在程序之间转悠,并没有真正让输出的继电器动作。
20-03-09 13:08
手册看过,没有详细这方面的,可否给个比较早的手册看看
20-03-09 13:12
附件 2020-03-09_14-35-41.jpg
版大请看这个
20-03-09 14:37

引用 448187990 在 2020/3/9 14:37:27 发言【内容省略】

你红线划的太短了,你要从只有开始划,我们讨论到现在只是讨论I,Q这些输入输出。
这句话的意思是,IO在程序中的值保持不变,除非进行了输入输出映像区的更新,而RAM中的寄存器,例如V,M则是时时变化。
再看红线后,被刷新的线圈只有到下一周期起作用,为啥呢,输入输出映像区更新了。
这些概念我在前面的回帖中已经说明了。
Good Luck~
20-03-09 15:13

上一页下一页

工控新闻

更多新闻资讯