请教一个西门子S7-200的梯形图执行结果的疑惑
本人初学,没PLC实物,在仿真软件上的结果是Q0.0 为接通状态,没有我想象的是 300毫秒闪烁状态。有知道问题出在哪里的吗,希望能指点一下 T52是每隔300毫秒保持一个扫描周期的打开状态,在T52打开状态的周期内,只有一个Q0.0的置位或复位会被执行。但现在的仿真结果好像Q0.0的置位或复位被同时执行了。为什么会这样呢 Q0.0只是一个2进制输出,接通为1,断开为0,Q0.0的常开,常闭全接到Q0.0,当然只有一种输出了 jjl3 发表于 2018-12-23 15:56
Q0.0只是一个2进制输出,接通为1,断开为0,Q0.0的常开,常闭全接到Q0.0,当然只有一种输出了 ...
假设某个扫描周期内,T52刚打开(为1)经过|P|(上升沿)。再径过Q0.0|| 或 Q0.0| / |。这两个不可能同时导通的,要看Q0.0的当前状态 ,如果Q0.0当前为导通,则执行 q0.0(R) 复位操作,如果Q0.0当前为导通,则执行 q0.0(s) 置位操作。之后要在下一个扫描周期再执行了,但下个扫描周期内,T52已关闭。要过300毫秒后,T52才会再次打开 第一个延时扫描周期,没有问题,Q0.0可以置位为1,第二个延时扫描周期的时候,出了问题,T52第二次导通的时候,程序先执行Q0.0(R),这时Q0.0的寄存器已经复位,本周期内接着执行下一条,也就是Q0.0(S),最终Q0.0还是1,最后输出刷新,只有1,没有0 lujianfeng2001 发表于 2018-12-23 17:07
第一个延时扫描周期,没有问题,Q0.0可以置位为1,第二个延时扫描周期的时候,出了问题,T52第二次导通的时 ...
谢谢,看了你的分析,我是把扫描顺序理解错了。应该先输入采样,再从左到右,再从上到下一行一行扫描执行。上一行执行结果会影响下一次的执行,最后才刷新输出。根据这个理解,把Q0.0先保存到m0.0后,再执行Q0.0的置位或复位,运行结果符合要求了 程序中,最好少用置位和复位指令。
我也发现书上讲的都喜欢用置位和复位,其实直接用线圈就不会出现混乱了。 可以用取反
页:
[1]