程序请教

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日

相关推荐

  • S7-200带参数子程序如何在线监控?

    在线监控时,看不到子程序变量的变化如L0.0 触点吸合也监控不到,有没有什么好办法? 最佳答案 在线监控时,看不到子程序变量的变化如L0.0 触点吸合也监控不到…

    SIMATIC S7-200 2020年10月31日
  • 临时变量时间继电器

    在子程序里的时间继电器,怎么用临时变量代替?比如说在子程序里有一个t32时间继电器,怎么用临时变量来替换? 最佳答案 你这个是指西门子200还是300?如果是西门子200,则接口变…

    SIMATIC S7-200 2017年11月4日
  • 做的usb转485通信线,能和cpu222通信,但是不能和cpu226通信

    做的usb转485通信线,能和cpu222通信,但是不能和cpu226通信,cpu226带了一个西门子触摸屏 问题补充:cpu226两个端口都不行,主要是程序监控,编程 最佳答案 …

    SIMATIC S7-200 2017年8月16日
  • 工位同步问题

    各位前辈,小弟现准备做一个同步程序。具体情况是这样的,有一条前处理线和后处理线需要同步动作,前处理线电机速度由变频器手动控制(主动),后处理线从动。前处理线和后处理线分别装有一编码…

    SIMATIC S7-200 2021年7月5日
  • 仓库信息传递

    公司准备做个物料信息系统,操作现场到现场仓30米,现场仓到仓库110左右,每个操作现场物料种类大概100种1.操作现场准备放两套PLC+触摸屏采集物料需求2.现场仓放一套PLC+触…

    SIMATIC S7-200 2021年7月5日
  • EB500触摸屏可以和西门子S7/300通讯

    刚接触S7/300请各位大侠帮忙提供EB500触摸屏和西门子S7/300通讯的例程供小弟学习! 邮箱地址: xttczlq@163.com 问题补充:我的设定如…

    SIMATIC S7-200 2021年7月5日
  • 卷绕

    毕业设计,恒线速度的卷绕系统。收布辊与放布辊直径0.3m,卷绕后最大直径1.5m.线速度范围0.1m/s至0.8m/s。误差小于正负0.005m/s.我想s7-200控制两台mm4…

    SIMATIC S7-200 2021年7月5日
  • 单片机晶振辨认

    单片机电路板上有“JZ"  元件上有"V4000"也好像"N4000"字样 ,只有两个脚,和8088…

    SIMATIC S7-200 2020年11月1日
  • 上载密码

    214设了上载密码,找不到了,咋办啊,程序没有备份,可以破解吗?谢谢! 问题补充:还有要是重新编程,没有密码会不会禁止下载?怎样清除原来的程序和密码?谢谢啊! 最佳答案 在链接后,…

    SIMATIC S7-200 2021年7月4日
  • 电机反复启停、时间设置和计数

    要求:电机正转N1秒,停止N2秒,正转到停止作为1个正转周期,用A1设定正转周期数,同时用B1作为计数;电机反转N3秒,停止N4秒,反转到停止作为1个反转周期,用A2设定反转周期数…

    SIMATIC S7-200 2021年7月4日

发表回复

登录后才能评论