您现在所在的是:

西门子SIEMENS

回帖:26个,阅读:2404 [上一页] [1] [2] [3] [下一页]
50
448187990
文章数:118
年度积分:50
历史总积分:50
注册时间:2020/2/24
发站内信
发表于:2020/2/26 12:28:13
#10楼
回复 #9楼 mjinbao
谢谢回复,关键是第一次扫描时,Q0.0的状态多少呢?
24574
mjinbao
文章数:13934
年度积分:50
历史总积分:24574
注册时间:2013/1/12
发站内信
2018春节活动(三)
2017春节活动(三)
2016国庆活动(三)
发表于:2020/2/26 14:23:21
#11楼
一般来说,非断电保持器件,PLC断电后其状态会复位;
可以做编程试验观察。
50
448187990
文章数:118
年度积分:50
历史总积分:50
注册时间:2020/2/24
发站内信
发表于:2020/2/26 14:56:34
#12楼
回复 #11楼 mjinbao
你说的复位就是0吗?或者说启机时,输出寄存器状态一般都是0?
24574
mjinbao
文章数:13934
年度积分:50
历史总积分:24574
注册时间:2013/1/12
发站内信
2018春节活动(三)
2017春节活动(三)
2016国庆活动(三)
发表于:2020/2/26 16:12:10
#13楼
11楼说的“复位”是指状态回到0;输出寄存器的状态,启机时将是0,除非有指令立即驱动。
我对西门子的不了解,仅在许多年前用过一次S7,故我以上回复均指一般而言。
10962
yanli7234 版主
文章数:3035
年度积分:50
历史总积分:10962
注册时间:2002/11/8
发站内信
2011论坛贡献奖
发表于:2020/2/26 17:57:43
#14楼
在绝对的第一个扫描周期中,第一次读到Q0.0应该是0。本胖觉得不管是I还是Q,在第一次上电或者冷启动之后,都会初始化映像单元的,全部清零。所以按照语句表的顺序执行的时候(本胖认为STEP7最终执行的应该是语句表),第一次读Q0.0就是0。如果I0.0为1(比如你按着按钮再给PLC上电),这个网络执行完之后,Q0.0变成1。当下一次扫描的时候,这个Q0.0就是1了。


个人观点,不敢保证绝对的正确啊。
国人当自强,共同努力,抵制日货。
50
448187990
文章数:118
年度积分:50
历史总积分:50
注册时间:2020/2/24
发站内信
发表于:2020/2/26 19:47:33
#15楼
以下是引用yanli72342020/2/26 17:57:43的发言:
在绝对的第一个扫描周期中,第一次读到Q0.0应该是0。本胖觉得不管是I还是Q,在第一次上电或者冷启动之后,都会初始化映像单元的,全部清零。所以按照语句表的顺序执行的时候(本胖认为STEP7最终执行的应该是语句表),第一次读Q0.0就是0。如果I0.0为1(比如你按着按钮再给PLC上电),这个网络执行完之后,Q0.0变成1。当下一次扫描的时候,这个Q0.0就是1了。


个人观点,不敢保证绝对的正确啊。
先谢谢版大的回复。
非常认同版主的观点,可惜无论是买的书籍还是手册,从未见有提Q0.0的初始状态为0,
很多人都认为扫描的时候是从上到下,但是我不这么认为,比如这个自锁电路
如果转换成语句表,第二步就是 OR Q0.0   而不是  AN I0.1
但有个问题还想请教一下,你说第一次上电都会初始化映像单元,全部清0,
如果此时外部有个急停按钮,常闭,而程序里的触点是常开的,那么上电后,扫描外部输入状态为接通,即为1,
这个时候怎么会清0呢?
不知道是不是我理解有误,盼复!
[此贴子已经被作者于2020/2/26 19:48:34编辑过]
8018
蜀中之首
文章数:5230
年度积分:50
历史总积分:8018
注册时间:2018/5/27
发站内信
发表于:2020/2/26 23:11:12
#16楼
你将梯形图转换成语句,按顺序执行语句,这就是从上到下。
所说第二步
“第二步:读取Q0.0的值,这个值究竟是多少?为什么?这个是输出寄存器的值,还没有写!”
Q0.0是1还是0,取决你上次读到它时的状态,不是上上次哦
50
448187990
文章数:118
年度积分:50
历史总积分:50
注册时间:2020/2/24
发站内信
发表于:2020/2/27 8:04:00
#17楼
回复 #16楼 蜀中之首
可是如果是第一次运行程序呢?或者说第一次PLC得电
那么按照语句表执行程序时,
第二步读取Q0.0的值,此时值是多少?
上次还没得电,这是我的疑问
19507
pqsh 版主
文章数:7447
年度积分:123
历史总积分:19507
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2020/2/27 12:10:19
#18楼
以下是引用4481879902020/2/25 13:03:54的发言:
谢谢版大,俺想请教,
PLC扫描的时候应该只扫描输入端的状态值吧,
输出端是程序写的,可以这样理解吗?
另想问下:关于俺在楼顶写的程序,
第二步是不是读取Q0.0的值?
想请版大帮忙把这个程序完整执行顺序写一下,
感谢!
1.上电,硬件内部清除(包括程序指针,执行和暂存数据内存).如果你没见过这说法,关于处理器,单片机,都会有个硬件复位的初始状态(说明书上都会列出),大多数为0,有的还有不定状态,需要人工(程序)复位.特殊的,有停电保持的寄存器(存储),会先加载进数据存储.
2.读外部到数据存储映像区.
3.执行or.如果知道内部原理,其实都不执行,只要有1就输出.or结果到运算寄存器(一种特殊的存储).
4.执行and.and同样,不一定全执行,只要碰到0,就输出0.运算寄存器和~i0.1.执行结果到运算寄存器.
5.运算寄存器给q,这时候仍是内存映像区.
6.执行输出,内存映像给实际外部do模块.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
8018
蜀中之首
文章数:5230
年度积分:50
历史总积分:8018
注册时间:2018/5/27
发站内信
发表于:2020/2/27 12:36:45
#19楼
回复 #17楼 448187990
CPU头一次上电当然是0啦,不能理解?
你就把各个存储位当成一个个房间,你来做指令执行,你从头一个一个房间进入,第一次进入Q0.0房间里有什么?什么也没有对不对?

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

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

109.2007