Detailed explanation of Robot Status Variable
4-393
P_UDev
[Function]
Writes/reads the position data to/from the CPU shared memory. (This function is available with the CR7xx-Q
series robot controllers only.)
Writing and reading are performed in the position data width of (32 bits x 10).
[Format]
[Terminology]
<Position Variable>
Specifies a numerical variable to substitute.
<Start I/O Number>
Specifies the I/O number of a CPU module as a constant or numeric variable.
(The specified value for the start I/O number is in hexadecimal and with its last
digit omitted.)
Range: &H3E0 to &H3E3 in hexadecimal (992 to 995 in decimal)
Module No. 1: &H3E0 (992 in decimal)
Module No. 2: &H3E1 (993 in decimal)
Module No. 3: &H3E2 (994 in decimal)
Module No. 4: &H3E3 (995 in decimal)
Note) Data can be written to the host CPU only.
<Shared Memory Address>Specifies the shared memory address in the CPU module as a constant or
numeric variable.
The valid range is 10000 to 24312 (decimal).
<Position Data>
Specifies which position data to write.
The data can be specified as a constant, variable, logical/arithmetic
expression, or function.
[Reference Program]
1 P_UDev(&H3E1, 10010)=P_Curr
'Write the current position to the shared memory address 10010
of the CPU module No.2.
2 P1=P_UDev(&H3E2, 10001)
'Read the position data from the shared memory address 10001
of the CPU module No.3, and substitute the read value for the
position variable P1.
[Explanation]
(1) This command writes/reads the position data to/from the CPU shared memories of programmable con-
trollers.
Written data and returned read data are both position data.
(2) Use the start I/O number and shared memory address to specify a target shared memory.
(3) The target data is a 20-word width data (32 bits x 10) starting from the specified shared memory address.
(4) Use &H3E0 to &H3E3 in hexadecimal (992 to 995 in decimal) to specify a start I/O number. Use 10000 to
24316 in decimal to specify an address to be written or read in the shared memory address.
(5) Data can be written to the shared memory address of the host CPU only. Even if another CPU address is
specified for data writing, the data will not be updated.
(6) If the shared memory address has not been assigned by the Multi CPU quantity setting (Parameter:
QMLTCPUn), the value 0 will be returned when position data is read.
Reading
<Position Variable>=P_UDev(<Start I/O Number>, <Shared Memory Address>)
Writing
P_UDev(<Start I/O Number>, <Shared Memory Address>)=<Position Data>