程序请教

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日
下一篇 2021年7月5日

相关推荐

  • 一名PLC初学者的疑问

    我以前没有接触过PLC(只是见过PLC实物,对于它的工作原理和编程方法一窍不通),现在想自学S7-200,麻烦大家帮忙推荐一本适合我的书? 最佳答案 《深入浅出西门子S7-200P…

    SIMATIC S7-200 2021年7月5日
  • S7-200的通讯问题

    我用一个PC机和一个S7-200的PLC在进行通讯的时候,上面显示"通讯超时",我检查拉一下端口号,地址,和波特率还有连接电缆.都没有错误..请问是什么原因呀 …

    SIMATIC S7-200 2021年7月5日
  • s7—200 检测报警程序写法

    比如Q0.0和Q0.1是控制气缸推出和回退的,I0.0 和I0.1是检测气缸推出和回退的,若Q0.0导通3秒内I0.0报警,应该怎样写?希望可以建立一个子程序所有Q点都可…

    SIMATIC S7-200 2017年5月31日
  • 西门子触摸屏TP1200COMFORT用什编程软件

    西门子触摸屏TP1200COMFORT用什编程软件 问题补充:有没有专门针对触摸屏的TP1200COMFORTR的编程软件,不需要PLC 的 钻石用户推荐最佳答案 1、T…

    SIMATIC S7-200 2021年7月5日
  • WIN10 64位系统安装PC accesse

    该系统安装哪个版本PC access 钻石用户推荐最佳答案 1、是老的 S7-200 的OPCS7-200 PC-Access吗?S7-20…

    SIMATIC S7-200 2021年7月5日
  • 关于特殊寄存器和M,V等寄存器

    本人在看些例程时看到都有用到SM寄存器,但翻了些书籍也没找到关于各个的具体说明,请问哪有吗?     还有用STEP 7…

    SIMATIC S7-200 2021年7月5日
  • 怎样减少称重时候受震动的影响

    我用的s7200 压力变送器和称重传感器采集重量。在实验室测量数值波动很小,但是使用现场有很多冲击力100吨以上的压力机,震动通过地面传到传感器上,导致波动最大达到150…

    SIMATIC S7-200 2021年7月5日
  • 主程序调用子程序时可以用上升沿触发吗?

    例如:LD    I0.1EUCALL  SBR0如果用了上升沿,那么触发时间也就一下子,也就是调用时间很短,这么短的时…

    SIMATIC S7-200 2020年11月1日
  • S7-200 CPU 指示灯

    S7-200 CPU 3个指示灯同时闪烁 是什么故障,此故障是什么原因造成的? 最佳答案 看能通信的上不,如果通信不上,那就是百分百的硬件故障,建议返…

    SIMATIC S7-200 2017年11月19日
  • 自动顶升旋转90度程序

    倍速线上,托板到位后,触发感应开关,顶升机构气缸上升,自动旋转90度后下降,下降后将会再次触发感应开关,但不允许再次顶升,直到下一托板到来。如何编程,S7-200,初学者,请各位大…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论