回复:子程序调用数据紊乱,大家帮看一下是怎么回事?

为修修为

西门子1847工业学习平台

  • 帖子

    1155
  • 精华

    8
  • 被关注

    30

论坛等级:奇侠

注册时间:2021-12-02

钻石 钻石 如何晋级?

发布于 2025-05-16 09:19:29

17楼

展开查看
以下是引用xinchen在2025-05-16 08:36:53的发言 >15楼

深入理解“同一级子程序共用一块 L 区”、“smart 不会主动复位 L 区”、“先赋值后使用”;


“背景数据已经做批量复位了,在子程序内初始起将背景数据传给L区,结束时将L区数据传回背景数据区。还需要对L区初始化吗?”

-- 仔细看看你子程序,“背景数据”给到 L 区的是哪几个地址,你只是读写了一部分 L,根本没有给到 out 对应的 L 地址;(深入理解下这个“伪背景数据”的运行原理)


“此处SM0.1对LD8和LD12进行了初始化”

-- 初始化,准确的是说先赋值后使用,你只是在 firstscan 对 Out 赋值了,那不满足 En 时,你对 out 赋值了没?没有赋值,那 out 对应输出的值来自上一个同级子程序内对应的 L(不是上个扫描周期同一个子程序,也不是因为多次调用同一个子程序);


仔细研究 8L 的截图,结合对应描述的文字,再去理解第一行说的三个点;



所谓的“伪背景数据”的工作机制是理解的,主要还是对L区的这个OUT机制不太理解。

经您这一说,理解了,理解了。OUT是不能断开连接的,是需要持续赋值的。

SM0.1初始之后,就断开了,此时OUT是随机状态。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8945条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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