Registers: Difference between revisions

From Industrial Robotics & Automation - Fanuc Teach Pendant Programming
Content added Content deleted
No edit summary
No edit summary
Line 1: Line 1:
[[File:REGISTER Instruction menu.png|thumb|600x600px|REGISTER Instruction menu]]
This page details the Register Instructions available on the FANUC Teach Pendant Programmers. For information on the data within the variables, see [[Data|Data.]]
This page details the Register Instructions available on the FANUC Teach Pendant Programmers. For information on the data within the variables, see [[Data|Data.]]



Revision as of 20:20, 31 May 2019

REGISTER Instruction menu

This page details the Register Instructions available on the FANUC Teach Pendant Programmers. For information on the data within the variables, see Data.

Register instructions do not involve motion. They are simply math operations with one or more inputs and an output.

When the program reaches a register instruction, it completes the math operation, overwrites the destination variable, and moves forward.

Result = Variable Equals
Result = Variable + Variable Addition
Result = Variable - Variable Subtraction
Result = Variable / Variable Division
Result = Variable * Variable Multiplication
Result = Variable Div Variable Whole Number Division
Result = Variable Mod Variable Whole Number Division Remainder

Equals Instruction

R [1] = R [2] Equals Instruction
PR [1] = PR [2]
PR [i,j] = 1
R [1] = PR [i,j]



When this instruction is reached

The contents of the left variable are set to the right variable.


When to add this instruction

Use this instruction whenever you need to set a variable’s contents to the contents of another.


In the Non-Motion Instructions menu, select the “Registers” Category. In the “Registers” menu, select “... = ...”. Once inserted, select your left variable. Type the numbers for the variable, then hit enter. Select the right variable. Type the numbers for the variable, then hit enter.


What else is needed to use this instruction

None.


Valid Variables

R [1] - Data Registers


PR [1] - Position Registers (Must set all 6 elements at once)


PR [i,j] - Position Register Element (Sets element j in position register i)


SR [1]


PL [1]


Constant

Example

Before Instruction: R1 contains 7. R2 contains 3.

R[1]=R[2]

After Instruction: R1 now contains 3. R2 still contains 3.

Special Notes

You cannot perform operations between entire position registers and other variables, as position registers contain 6 separate elements. You can only work with one element at a time, using PR[i,j].


Addition Instruction

R [1] = R [1] + 28 Add Instruction
PR [1] = PR [1] + PR [7]
PR [i,j] = R [3] + 100
R [1] = PR [i,j] + PR [i,j]




When this instruction is reached

The contents of the left variable are set to the middle variable plus the right variable.


When to add this instruction

Use this instruction whenever you need to set a variable’s contents to the contents of multiple variables added together.


What else is needed to use this instruction

None.


Valid Variables

R [1] - Data Registers


PR [1] - Position Registers (Must set all 6 elements at once)


PR [i,j] - Position Register Element (Sets element j in position register i)


SR [1]


PL [1]


Constant


Special Notes

You cannot perform operations between entire position registers and other variables, as position registers contain 6 separate elements. You can only work with one element at a time, using PR[i,j].


Subtraction Instruction

R [1] = R [1] - 28 Subtract Instruction
PR [1] = PR [1] - PR [7]
PR [i,j] = R [3] - 100
R [1] = PR [i,j] - PR [i,j]



When this instruction is reached

The contents of the left variable are set to the middle variable minus the right variable.


When to add this instruction

Use this instruction whenever you need to subtract one variable from another.


What else is needed to use this instruction

None.


Valid Variables

R [1] - Data Registers


PR [1] - Position Registers (Must set all 6 elements at once)


PR [i,j] - Position Register Element (Sets element j in position register i)


SR [1]


PL [1]


Constant


Special Notes

You cannot perform operations between entire position registers and other variables, as position registers contain 6 separate elements. You can only work with one element at a time, using PR[i,j].


Division Instruction

R [1] = R [1] / 28 Division Instruction
PR [1] = PR [1] / PR [7]
PR [i,j] = R [3] / 100
R [1] = PR [i,j] / PR [i,j]



When this instruction is reached

The contents of the left variable are set to the middle variable divided by the right variable.


When to add this instruction

Use this instruction whenever you need to divide two variables.


What else is needed to use this instruction

None.


Valid Variables

R [1] - Data Registers


PR [1] - Position Registers (Must set all 6 elements at once)


PR [i,j] - Position Register Element (Sets element j in position register i)


SR [1]


PL [1]


Constant


Special Notes

You cannot perform operations between entire position registers and other variables, as position registers contain 6 separate elements. You can only work with one element at a time, using PR[i,j].