n
描述:
编程进行某些操作时,寄存器或累加器的内容会被STEP7 改变。这种情况必须引起注意,特别是在使用绝对地址编程的时候。下面 说明了可能引起寄存器或累加器内容改变的一些操作:n
- 对作为FC实参的DB的完整访问。
在实际的调用语句后,编辑器保存FC的参数作为块代码中的跨区指针。每个块参数需要一个双字存储空间。根据数据类型及声明类型,指针表示n- 实参自身,n
- 在调用块的临时本地数据中的实参的复制,n
- 或调用块的临时本地数据,依次地,表示实参。
图 01n
- FB和多重背景调用。
对于使用多背景的FB,STEP 7使用 AR2 作为基地址寄存器或背景数据。n- 当调用背景数据时,AR2 为P#DBX0.0。n
- 所有对块参数或FB的静态本地数据的访问使用寄存器间接、内部区域寻址,由此寄存器表示其操作数区域DI。n
- 调用本地背景数据时,用 +AR2 P#y.x 增加基地址,所以有关该地址的访问可在被调用FB中实现,它使用调用FB的背景DB。
图 02n
- 结构体的组成部分,结构体作为FC或FB内的形式参数
图 03n
- 结构体的组成部分作为给FC或FB提供的实参
图 04n
如果使用上述的编程方法,且希望同时使用寄存器和累加器,必须预先保存它们中的内容,并在使用后恢复它们。图5说明了如何在使用AR2和DI寄存器进行间接寻址之前,保存它们的内容的一个例子。n
图. 05n
更多信息可查阅STEP 7 在线帮助中的n
- “改变寄存器内容的注意事项”n
- “调用块时避免错误”
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc331100.html