您现在所在的是:

西门子SIEMENS

回帖:19个,阅读:2656 [上一页] [1] [2] [下一页]
50
448187990
文章数:118
年度积分:50
历史总积分:50
注册时间:2020/2/24
发站内信
发表于:2020/3/9 8:37:16
#0楼
附件 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编辑过]
37599
cvlsam 版主
文章数:12429
年度积分:210
历史总积分:37599
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2020/3/9 9:09:18
#1楼
以下是引用4481879902020/3/9 8:37:16的发言:
附件 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/9 8:39:06编辑过]

1、全部程序扫描结束后更新输入输出映像区
2、所有IO的状态变化均在更新输入输出映像区后发生。在扫描周期内不更新IO状态。
3、Q的状态将写入输入输出映像区,但是读取将在更新后进行。
4、采取这样的方式是为了确保IO状态在扫描周期期间的数据一致性,用户可以通过强制更新输入输出映像区来改变当前IO的状态,但是这样做将导致IO状态在扫描周期期间不一致同时会延长扫描周期。

Good Luck~
40722
tigermu 版主
文章数:14973
年度积分:237
历史总积分:40722
注册时间:2004/8/12
发站内信
2018论坛优秀版主
2018春节活动(二)
2017论坛优秀版主
2017国庆活动(一)
2016论坛优秀版主
2016国庆活动(一)
2015论坛优秀版主
西门子logo体验(三)
英威腾PLC体验(三)
2015春节活动
2014论坛优秀版主
2013论坛优秀版主
2012论坛优秀版主
2010年度论坛贡献奖
发表于:2020/3/9 9:46:58
#2楼
楼主可以看看关于扫描周期的概念。是在执行一个周期之后更新输入输出映像,有时间要求的,用立即(即时)输入输出,或者中断这类的方式。
清泉石上,明月松间。
50
448187990
文章数:118
年度积分:50
历史总积分:50
注册时间:2020/2/24
发站内信
发表于:2020/3/9 11:42:40
#3楼
回复 #1楼 cvlsam
附件 2020-03-09_11-40-43.jpg
版大请看,这个怎么解释呢?
37599
cvlsam 版主
文章数:12429
年度积分:210
历史总积分:37599
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2020/3/9 11:59:35
#4楼
以下是引用4481879902020/3/9 11:42:40的发言:
附件 2020-03-09_11-40-43.jpg
版大请看,这个怎么解释呢?

这个和我讲的内容相同,只是输入采样阶段和输出刷新阶段可以统称为更新输入输出映像区,程序执行阶段就是扫描周期,图中可以看到,在程序执行阶段并不涉及输入采样和输出刷新,也就是说,扫描周期中并不改变IO的状态。

Good Luck~
50
448187990
文章数:118
年度积分:50
历史总积分:50
注册时间:2020/2/24
发站内信
发表于:2020/3/9 12:38:10
#5楼
回复 #4楼 cvlsam
版大的意思,这句话应该是“触点对Y0的读取,读取的是上一扫描周期线圈写到输出映像寄存器的数据”
而图片中的意思,给我的理解就是同一扫描周期内,
且图片说的输出刷新阶段应该是指将输出映像寄存器的值传给输出模块吧
有点饶人~
[此贴子已经被作者于2020/3/9 13:06:03编辑过]
8018
蜀中之首
文章数:5230
年度积分:50
历史总积分:8018
注册时间:2018/5/27
发站内信
发表于:2020/3/9 13:08:43
#6楼
找比较早的手册看一下,那时讲的比较清楚。
记得输入的刷新在自检,外设,通讯...客户程序前,输出在END指令后。
程序中间的“输出”只在程序之间转悠,并没有真正让输出的继电器动作。
50
448187990
文章数:118
年度积分:50
历史总积分:50
注册时间:2020/2/24
发站内信
发表于:2020/3/9 13:12:22
#7楼
回复 #6楼 蜀中之首
手册看过,没有详细这方面的,可否给个比较早的手册看看
50
448187990
文章数:118
年度积分:50
历史总积分:50
注册时间:2020/2/24
发站内信
发表于:2020/3/9 14:37:27
#8楼
回复 #4楼 cvlsam
附件 2020-03-09_14-35-41.jpg
版大请看这个
37599
cvlsam 版主
文章数:12429
年度积分:210
历史总积分:37599
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2020/3/9 15:13:05
#9楼
以下是引用4481879902020/3/9 14:37:27的发言:
附件 2020-03-09_14-35-41.jpg
版大请看这个

你红线划的太短了,你要从只有开始划,我们讨论到现在只是讨论I,Q这些输入输出。

这句话的意思是,IO在程序中的值保持不变,除非进行了输入输出映像区的更新,而RAM中的寄存器,例如V,M则是时时变化。

再看红线后,被刷新的线圈只有到下一周期起作用,为啥呢,输入输出映像区更新了。

这些概念我在前面的回帖中已经说明了。

Good Luck~

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

78.0005