程序请教

NET 1

 I      I0.0        Q0.0                               Q0.0
 I----I     I------I       I---------I  P  I-------(  R  )
 I                                                               0
 NET 2

 I      I0.0        Q0.0                               Q0.0
 I----I     I------I   /   I---------I  P  I-------(  S  )
 I                                                               0
 I
 设I0.0接通时间大于3个PLC扫描周期。
 I0.0接通后的第一个扫描周期:NET 1 不执行;NET 2执行 Q0.0=1。
 I0.0接通后的第二个扫描周期:NET 1执行Q0.0=0;NET 2 不执行。
 问题是,在I0.0接通后的第二个扫描周期的执行过程中,NET 2 之所以不执行,原因是什么?
 1.由于NET 1执行Q0.0=0,在NET 2的
    I0.0    Q0.0
 I----I     I------I   /   I---------接通,但是不能造成上升沿脉冲-----I  P  I----的触发,所以NET 2不执行。
 2.还是其它什么原因?

最佳答案

原因是你对过程映像不理解。
  应该说第一个扫描周期I0.0接通,Net1和Net2都不接通(但都有执行),I0.0接通信号被推入PII输入过程映像中,但不影响本周期的程序,第二个扫描周期,因为在PII中I0.0为1,而过程输出映像PIQ对应的Q0.0为0,所以Net1仍不接通,而Net2网路接通,Q0.0置1,并推入PIQ中,第三个扫描周期,PII中I0.0仍为1,PIQ中的Q0.0也为1,所以Net1网路接通,Q0.0复位为0,注意,此周期内PIQ中的Q0.0仍为1,只有当此周期结束时Q0.0复位后的0才会被推入到PIQ中,此时NET2中Q0.0的RLO值仍为1,所以Net2不接接通。
  问题的关键是影响网路能否接通的是RLO,而影响RLO的是过程映像。过程映像在程序当前扫描周期结束时更新,数据用于下一扫描周期。而不是你想象的Net1将Q0.0复位后,立即影响Net2.
  这就是你要找的原因。
 上升沿触发─|P|─触点的功能是:允许一次扫描中每次执行"关闭至打开"转换时电源流动。因为程序中你将此触发点放置在Q0.0之后,所以在某一个周期内,无论I0.0还是Q0.0的0到1变化都将会让该触点动作,所以就出现了人面桃花所模拟的结果一样,Q0.0只接通一下,就一直断开,而不是Ruixm所说的单按钮启停,单按钮启停程序应将上升沿触发─|P|─触点放置在I0.0之后,Q0.0之前。

提问者对于答案的评价:
ok

专家置评

这个问题的关键是对过程映像区的理解和上升沿触发指令的理解。从木头牛的回答中可以看出,你对过程映像区还是有一定认识的。但是你有一个关键点的描述是错误的:“第三个扫描周期,PII中I0.0仍为1,PIQ中的Q0.0也为1,所以Net1网路接通,Q0.0复位为0,注意,此周期内PIQ中的Q0.0仍为1,只有当此周期结束时Q0.0复位后的0才会被推入到PIQ中,此时NET2中Q0.0的RLO值仍为1,所以Net2不接接通。”此周期内PIQ中的Q0.0并不是一直为1。Net2会被接通。过程映像区是CPU与外部地址读写的缓存区。如果这个地方是输入缓存Ix.x,没有问题,它的状态会保持到下一次更新映像区。但是对于Qx.x,只要置位为1,后边指令如果有读该位的指令时,状态都会为1。
 也许你会说,只有当此周期结束时Q0.0复位后的0才会被推入到PIQ中。
 这个说法没问题,但是输出映象区是否被更新,影响的是外部实际的输出通道是否变化,CPU本身并不去读输出映像区的值,它只读输入映像区的值。大家可以看一下 shine 的论述,从他所列的 N-1 到 N+2 周期的逻辑关系,就可以清楚的知道各周期的真实状态。
 所以,shine 的论述更准确。

 

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc355794.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午2:37
下一篇 2021年7月5日 上午2:37

相关推荐

  • HSC0什么时候开始计数?

    HSC0正常情况下扫描SM0.1=1时开始有脉冲了计数,没有脉冲了就不计数,如果在计数的时候将HSC0置0,SMD38置0,后HSCO有会自动开始计数吗?还是需要控制哪个特殊字位才…

    SIMATIC S7-200 2020年11月5日
  • 笔记本(STEP 7 – MicroWIN)和CPU226连接问题

    我是做仪表维护的,公司有很多S7-200的PLC,想用笔记本通讯学习,但是不知道怎么连接,用485转232的转化接头就可以吗?谢谢 最佳答案 最好用西门子原装的PPI编程电缆。如没…

    SIMATIC S7-200 2020年11月1日
  • S7-224数据平均

    刚学PLCStepmicrowin编程, 有两个问题想寻求帮助。PLC里面有CPU224,EM231模块。首先,写了三行基本小程序,如图所示,前两行转换数据格式,下一行浮…

    2021年7月5日
  • EM253和松下A4驱动器连接

    EM253 如何接线和程序如何编写,能给点提示吗?谢谢 最佳答案 你去下载中心下个200的使用手册吧,上面很详细的。 我手里也有接线图,可惜不知如何联系你。 提…

    SIMATIC S7-200 2021年7月5日
  • 带有CP243-1的S7-200程序通讯线下载

    带有CP243-1模块的S7-200程序下载用通讯线,软件提示不使用因特网下载,无法下载因特网系统配制。用通讯线下载的程序,如果修改普通指令,然后用通讯线下载至PLC,会影Inte…

    SIMATIC S7-200 2017年11月1日
  • 电脑与CPU224的通讯

    用一台电脑,这台电脑里用的是组态王的控制画面,用这台电脑去实现与三个CPU224的通信,实现读写功能,并且这三个CPU224与电脑间距大于100米,请问用什么协议进行通讯,连接线如…

    SIMATIC S7-200 2017年11月1日
  • 如何接线

    各位前辈,如果有两个PNP接近开关,给它们供电的电源不是同一个24V,我想把它们接在S7-200同一组输入的两个点上,该如何接线?为什么? 最佳答案 1。如果是4线制的(2根线为2…

    SIMATIC S7-200 2021年7月5日
  • 在線模擬

    设计好HMI画面后,如果没有HMI,但我有西门子PLC,是S7-200的, 触摸屏用的是西门子的K-TP178MICRO,用WINCC FLEXIBLE2007…

    SIMATIC S7-200 2021年7月5日
  • 用STEP7 MicroWIN V4.0 SP9打不开老版本编的程序

    使用STEP7 MicroWIN V4.0 SP9却打不开用老版本编的程序,请问大侠们,怎么样才能用STEP7 MicroWIN …

    SIMATIC S7-200 2017年6月6日
  • S7-200电梯控制

    假设电梯在一楼,此时二楼外呼上行信号与外呼下信号同时被按下,电梯由一楼上电二楼过程中无其他比二楼更高楼层呼梯信号,电梯上到二楼时,应该先是二楼外呼上行灯灭的同时执行第一次开门关门动…

    2021年7月5日

发表回复

登录后才能评论