恭喜,你发布的帖子
发布于 2025-05-16 09:19:29
17楼
深入理解“同一级子程序共用一块 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是随机状态。
请填写推广理由:
分享
只看
楼主