STEP 7 中哪些操作会覆盖累加器或寄存器的内容?


n

描述:
编程进行某些操作时,寄存器或累加器的内容会被STEP7 改变。这种情况必须引起注意,特别是在使用绝对地址编程的时候。下面 说明了可能引起寄存器或累加器内容改变的一些操作:n

  • 对作为FC实参的DB的完整访问。
    在实际的调用语句后,编辑器保存FC的参数作为块代码中的跨区指针。每个块参数需要一个双字存储空间。根据数据类型及声明类型,指针表示n
    • 实参自身,n
    • 在调用块的临时本地数据中的实参的复制,n
    • 或调用块的临时本地数据,依次地,表示实参。

STEP 7 中哪些操作会覆盖累加器或寄存器的内容?
图 01n

  • FB和多重背景调用。
    对于使用多背景的FB,STEP 7使用 AR2 作为基地址寄存器或背景数据。n
    • 当调用背景数据时,AR2 为P#DBX0.0。n
    • 所有对块参数或FB的静态本地数据的访问使用寄存器间接、内部区域寻址,由此寄存器表示其操作数区域DI。n
    • 调用本地背景数据时,用 +AR2 P#y.x 增加基地址,所以有关该地址的访问可在被调用FB中实现,它使用调用FB的背景DB。

STEP 7 中哪些操作会覆盖累加器或寄存器的内容?
图 02n

  • 结构体的组成部分,结构体作为FC或FB内的形式参数

STEP 7 中哪些操作会覆盖累加器或寄存器的内容?
图 03n

  • 结构体的组成部分作为给FC或FB提供的实参

STEP 7 中哪些操作会覆盖累加器或寄存器的内容?
图 04n

如果使用上述的编程方法,且希望同时使用寄存器和累加器,必须预先保存它们中的内容,并在使用后恢复它们。图5说明了如何在使用AR2和DI寄存器进行间接寻址之前,保存它们的内容的一个例子。n

STEP 7 中哪些操作会覆盖累加器或寄存器的内容?
图. 05n

更多信息可查阅STEP 7 在线帮助中的n

  • “改变寄存器内容的注意事项”n
  • “调用块时避免错误”

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc331100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论