63
Function Block Applications Guidelines
Section 2-5
Note
(1) When Index Registers IR0 to IR15 are used within function blocks, using
the same Index Register within other function blocks or in the program
outside of function blocks will create competition between the two in-
stances and the program will not execute properly. Therefore, when using
Index Registers (IR0 to IR15), always save the value of the Index Register
at the point when the function block starts (or before the Index Register
is used), and when the function block is completed (or after the Index
Register has been used), incorporate processing in the program to return
the Index Register to the saved value.
(2) Always set the value before using Index Registers. Operation will not be
stable if Index Registers are used without the values being set.
IR
@
IR0
+5,IR0
a
MOVR(560)
Pointer
All I/O memory
areas
Index Register
I/O memory
Example: Spec5,IR0 using
constant offset specification, not
variable name
Function block
Instruction
Indirect
specifi-
cation
Specify address
in IR0
+5 offset
Specify ad-
dress at +5
offset from
IR0.
Value A
IR0
IR0
IR0
Value A
Value A
Value A
Value B
Value A
Example: Starting function block (or before using Index Register):
1. Save the value of IR (e.g., A).
Within function block:
2.Use IR.
At start of function block (or before Index Register is used):
3. Return IR to saved value (e.g., A)
Содержание CX-PROGRAMMER V8.1
Страница 3: ...iv...
Страница 5: ...vi...
Страница 7: ......
Страница 15: ...xvi...
Страница 19: ...xx...
Страница 25: ...xxvi Application Precautions 4...
Страница 26: ...Part 1 Function Blocks...
Страница 27: ......
Страница 153: ...128 Procedures Section 3 2...
Страница 154: ...Part 2 Structured Text ST...
Страница 155: ......
Страница 159: ...134 CX Programmer Specifications Section 4 2...
Страница 205: ...180 Procedures Section 6 1...
Страница 207: ...182 System defined external variables supported in function blocks Appendix A...
Страница 229: ...204 Revision History...
Страница 230: ......