STL 额外功能与 S7 - GRAPH 顺序控制详解
1. STL 额外功能
在函数(FC)的情况下,块参数的地址不能直接加载到地址寄存器中。此时,可以通过累加器 1 来实现,例如使用 L P##name 和 LAR1 指令。
对于不具备多实例能力的功能块,会加载本地标签的绝对地址。这类功能块只能作为具有自己数据块的单实例调用,并且只能通过带有关键字 CODE_VERSION1 的源文件来创建。
而对于具备多实例能力的功能块,静态本地数据和块参数的绝对地址是相对于本地实例数据的起始位置加载的。若要确定具有多实例能力的数据块中标签的绝对地址,必须将地址寄存器 AR2 的区域内部指针添加到加载的标签地址上。
图 10.43 顶部的两个示例展示了在具有多实例能力的功能块中将标签起始地址加载到地址寄存器 AR1 或累加器 1 的程序。只有当要在地址中隐藏操作数区域时,才需要进行数字操作 AD。在底部示例中,标签 #First_name 被赋予了不同的值。
1.1 空指令
空指令在执行期间不会使控制处理器产生任何响应。以下是 STL 可用的空指令:
| 操作 | 操作数 | 功能 |
| ---- | ---- | ---- |
| BLD | 数字 | 控制 LAD 或 FBD 表示的构建 |
| NOP | 0 | 内存内容为 W#16#0000 的语句 |
| NOP | 1 | 内存内容为 W#16#FFFF 的语句 |
NOP
超级会员免费看
订阅专栏 解锁全文
1785

被折叠的 条评论
为什么被折叠?



