![background image](http://html1.mh-extra.com/html/omron/cp1h-cpu-units-programming-05-2007/cp1h-cpu-units-programming-05-2007_operation-manual_742081206.webp)
172
Index Registers
Section 4-15
Note
The PLC memory addresses are listed in the diagram above, but it isn’t nec-
essary to know the PLC memory addresses when using Index Registers.
Since some operands are treated as word data and others are treated as bit
data, the meaning of the data in an Index Register will differ depending on the
operand in which it is used.
1,2,3...
1.
Word Operand:
MOVR(560)
0000
IR2
MOV(021)
D0
, IR2
When the operand is treated as a word, the contents of the Index Register
are used “as is” as the PLC memory address of a word.
In this example MOVR(560) sets the PLC memory address of CIO 2 in IR2
and the MOV(021) instruction copies the contents of D0 to CIO 2.
2.
Bit Operand:
MOVR(560)
000013
,IR2
SET
+5 , IR2
When the operand is treated as a bit, the leftmost 7 digits of the Index Reg-
ister specify the word address and the rightmost digit specifies the bit num-
ber. In this example, MOVR(560) sets the PLC memory address of CIO 13
(0C000D hex) in IR2. The SET instruction adds +5 from bit 13 to this PLC
memory address, so it turns ON bit CIO 1.02.
Index Register
Initialization
The Index Registers will be cleared in the following cases:
1.
When the operating mode is changed from PROGRAM to RUN or MONI-
TOR mode or vice-versa
2.
When the power is cycled
Setting Index Registers
Always set the required value in an index register before using it. The contents
of an index register will be unpredictable if it is not set in advance.
The contents of an index register is also unpredictable after an interrupt task
is started. When using index registers inside an interrupt task, use
MOVR(560) (for anything but timer/counter PVs) or MOVRW(561) (for
timer/counter PVs) to set the required value.
Direct Addressing
When an Index Register is used as an operand without a “,” prefix, the instruc-
tion will operate on the contents of the Index Register itself (a two-word or
“double” value). Index Registers can be directly addressed only in the instruc-
#0001
#0020
Regular
data area
address
I/O memory
PLC memory
address
MOVE TO REGISTER instruction
MOVR(560) 0002 IR0
Pointer
Summary of Contents for CP1H CPU UNITS - PROGRAMMING 05-2007
Page 2: ......
Page 3: ...CP1H X40D CP1H XA40D CP1H Y20DT D CP1H CPU Unit Operation Manual Revised March 2009...
Page 4: ...iv...
Page 10: ...x...
Page 18: ...xviii...
Page 22: ...xxii...
Page 34: ...xxxiv Conformance to EC Directives 6...
Page 174: ...140 CP series Expansion I O Unit Wiring Section 3 6...
Page 370: ...336 Analog I O XA CPU Units Section 5 5...
Page 552: ...518 Trouble Shooting Section 8 7...
Page 595: ...561 Sample Application Section 9 12 Network Settings Network Tab Network Settings Driver Tab...
Page 598: ...564 Sample Application Section 9 12...
Page 642: ...608 Standard Models Appendix A...
Page 652: ...618 Dimensions Diagrams Appendix B...
Page 745: ...711 Connections to Serial Communications Option Boards Appendix F Connecting to Unit...
Page 746: ...712 Connections to Serial Communications Option Boards Appendix F...
Page 776: ...742 PLC Setup Appendix G...
Page 778: ...744 Specifications for External Power Supply Expansion Appendix H...
Page 786: ...752 Revision History...