回复:18344761667

已锁定

甫哥

  • 帖子

    1448
  • 精华

    72
  • 被关注

    84

论坛等级:至圣

注册时间:2009-01-04

普通 普通 如何晋级?

发布于 2024-01-16 11:13:12

13楼

展开查看
以下是引用lu_zhao_long在2024-01-16 08:21:21的发言 >3楼

大家所说的 PLC 扫描 从上往下、从左往右。在一段程序内也遵循这个原则。

但是,对于输入输出还有一个原则也要遵循。如截图所示:

在每一个扫描周期先执行 Q 输出,再执行 I 输入,然后才执行程序。

所以,你的程序代码会遇到问题:

当执行了 Q1.5 为 1 的时候,并没有真正输出到 Q 端(要等到下一个扫描周期才会)。紧接着你又调用了 Q1.5 常开触点,此时它还为 0。因此,下面通过上升沿给 Q0.7 置 1 的指令也要到下一个扫描周期才会执行!

下面的链接是前一段时间有人提过相关的问题,供你参考:

https://www.ad.siemens.com.cn/service/answer/solved_300116_1072.html

 1)您发的图片是1200的上电启动到运行过程。

 2)【当执行了 Q1.5 为 1 的时候,并没有真正输出到 Q 端(要等到下一个扫描周期才会)。紧接着你又调用了 Q1.5 常开触点,此时它还为 0。因此,下面通过上升沿给 Q0.7 置 1 的指令也要到下一个扫描周期才会执行!】

2.1、对于Q点(含I点),有【映像存储区】与【物理点】两个概念;

2.2、程序扫描中Q的常开与常闭点,读取的是【相应的 映像存储区】,而非【物理点】;

2.3、程序全部扫描后,统一将【相应的 映像存储区】传至【物理点】

2.4、【立即输出】指令除外。执行立即输出指令时,物理输出点(位)立即被设置为等于能流状态。新值将写入物理输出点和相应的过程映像寄存器地址。这不同于非立即地址引用仅将新值写入过程映像寄存器。

2.5、因此:

 2.5.1、本贴中【当执行了 Q1.5 为 1 的时候,该【输出】线圈指令将输出位的新值1,写入【过程映像寄存器】。并没有真正输出到【物理点】 Q 端;

 2.5.2、紧接着(下面。即:程序执行扫周期的后面)又调用 Q1.5 常开触点,此时它为1,不是0。因为程序扫描读取的是Q1.5的【映像存储区】,不是【物理点】;


3)楼主的应该是SMART200:


图片2



书山有路勤为径,学海无涯苦作舟;三人行,必有我师;森林之外的树木也能成才
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9389条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。