FANUC R-30iB Addressing and Mapping |
Topic: CM121![]() |
Caution: Only someone familiar with Fanuc Robot Controllers should update these settings.
ROBOT I/O SIGNAL |
FANUC ADDRESS |
HMI ADDRESS |
EXAMPLE |
---|---|---|---|
Digital Input | DI[x] | %Qx | DI[1] ⇔ %Q1 |
Digital Output | DO[x] | %Ix | DO[1] ⇔ %I1 |
Robot Input | RI[x] | %Q(5000+x) | RI[1] ⇔ %Q5001 |
Robot Output | RO[x] | %I(5000+x) | RO[1] ⇔ %I5001 |
UOP Input | UI[x] | %Q(6000+x) | UI[1] ⇔ %Q6001 |
UOP Output | UO[x] | %I(6000+x) | UO[1] ⇔ %I6001 |
SOP Input | SI[x] | %Q(7000+x) | SI[0] ⇔ %Q7001 |
SOP Output | SO[x] | %I(7000+x) | SO[0] ⇔ %I7001 |
Weld Input | WI[x] | %Q(8000+x) | WI[0] ⇔ %Q8001 |
Weld Output | WO[x] | %I(8000+x) | WO[0] ⇔ %Q8001 |
Wire Stick Input | WSI[x] | %Q(8400+x) | WSI[0] ⇔ %Q8400 |
Wire Stick Output | WSO[x] | %I(8400+x) | WSO[0] ⇔ %Q8401 |
Group Input | GI[x] | %AQx | GI[1] ⇔ %AQ1 |
Group Output | GO[x] | %AIx | GO[1] ⇔ %AI1 |
Analog Input | AI[x] | %AQ(1000+x) | AI[1] ⇔ %AQ1001 |
Analog Output | AO[x] | %AI(1000+x) | AO[1] ⇔ %AI1001 |
PMC Keep Relay |
DO[x] (x : 10001 – 10144) Ka.b |
%Ix %I((a*8)+b+10001) |
DO[10001] ⇔ %I10001 K2.5 ⇔ %I10022 |
PMC Internal Relay |
DO[x] (x : 11001 – 23000) Ra.b |
%M(x-11000) %M((a*8)+b+1) |
DO[11001] ⇔ %M1 R2.5 ⇔ %M22 |
PMC Data Table |
GO[x] (x : 10001 – 12000) D(a*2), D((a*2)+1) |
%AI(x-6000) %AI(a+4001) |
GO[10001] ⇔ %AI4001 D4, D5 ⇔ %AI4003 |
|
Note: Meanings of the robot controller signals are opposite to those of the C-More signals. Example: robot controller input signals correspond to %Q and %AQ and output signals correspond to %I and %AI. |
ROBOT DATA |
FANUC ADDRESS |
HMI ADDRESS |
EXAMPLE |
---|---|---|---|
Register | R[x] | %Rx | R[1] <=> %R1 |
Values in registers are Signed Int 16 numbers, the fractional part is rounded off.
Register values must be between -32768 and 32678 to be read correctly.
Change this standard mapping with the $SNPX_ASG system variable. With this system variable, you can set up a multiplier to convert and modify register mapping. You can map one register to one %R variable as a Signed Int 16.
By default register mapping is related to $SNPX_ASG system variable settings, as follows:
NAME |
VALUE |
---|---|
$ADDRESS | 1 |
$SIZE | 10000 |
$VAR_NAME | 'R[1]@1.1' |
$MULTIPLY | 1.000 |
With these settings, the registers R[1] through R[10000] are addressed to %R1 through %R10000 as Signed Int 16.
$SNPX_ASG ELEMENT |
EXPLANATION |
---|---|
$ADDRESS | Start address of %R |
$SIZE | Number of %R’s to be assigned |
$VAR_NAME | String indicating the data to be assigned consecutively |
$MULTIPLY | Because C-More only addresses Signed Int 16 numbers this must remain 1.00 |
The @ symbol in $VAR_NAME denotes how many Registers will be used for the data. Example: 'R[1]@1.1' means your first register (R[1]) will be written to the start location (@1) and will use one %R (.1) that will be used by each register.
|
Note: Other address mappings can be accomplished using $SNPX_ASG. Please refer to Fanuc Manuals for further information. |