Data: Difference between revisions

3,392 bytes added ,  3 years ago
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1:
''<small>This page details data structure and types used in the FANUC TP programs. For the use of data for directing program flow, see [[Registers]].</small>''
'''HI! You've reached a page that is in progress. Currently, this page serves as a dumping point for materials, ideas, resources, links, and media. Eventually it will be organized into a proper wiki page like the rest of the site. Check back soon! - May 7th 2019'''
 
This page details data structure and types used in the FANUC TP programs. For the use of data for directing program flow, see [[Registers]].
 
 
 
FANUC's software handles data in variables known as "Registers".
In all programming languages, information must be stored somewhere to be used in the future. FANUC's software handles data in variables known as "Registers". This is where numbers are stored to be used by programs to change how programs flow or operate, as well as to help in communications with the user or other devices.
 
There are many types of registers available in FANUC software, but the two types you will need to know for MH-142 are data "Registers" and "Position Registers"
 
== DATA Screen ==
[[File:Registers TYPE menu.png|thumb|500x500px|This is the menu displayed when you strike the [TYPE] softkey]]
From the teach pendant, the DATA screen can be accessed with the DATA button. It can also be accessed via MENU, selecting the Data option.
 
The DATA screen lets you view and modify contents and metadata for registers.
 
The options available under [TYPE] are as follows:
 
*[[Data#Registers|Registers]]
==== *[[Data#Position Registers|Position ====Reg]]
**MOVE_TO - Pressing this while shifted will move the robot to the coordinates stored in the selected position register.
**RECORD - Set the position registers values to the current position of the robot. Must have SHIFT pressed beforehand.
**POSITION - Open up the position register's contents to view and edit individual elements.
**CLEAR - De-initialize the register. This clears all contents, loading them with NULL values. This is different from values of zero, as the NULL contents won't allow the position register to be used in a program.
*String Reg
*Vision Reg
*Pallet register
*KAREL Vars
*KAREL Posns
 
== Register Types ==
[[File:DATA Registers.png|thumb|500x500px|This is the Registers type on the DATA screen.|alt=]]<br />
{| class="wikitable"
|+Registers Options
Line 30 ⟶ 55:
|3
|Position Values - Cartesian
|}Positions (Not position registers) are functionally identical to position registers in that they contain 6 elements, but they are not global. They are unique in every program. For example, P[1] in one program contains different values than P[1] in another program.<br />
|}
==== Pallet Registers ====
A register is listed as R[#] and cancontains containa an integernumber. This is good for math equations, counters, single dimension data handling, and temporary storage registersof values to be used or communicated at a future time.
 
==== Position Registers ====
[[File:Position Register.png|thumb|500x500px|This is the Position Registers type on the DATA screen.]]
A register is listed as R[#] and can contain an integer. This is good for math equations, counters, single dimension data handling, and temporary storage registers.
A position register is listed as PR[#] and contains positional data in six separate elements. Position registers can handle 6 elements, representing 3 dimensional measurements and 3 angular measurements.
 
In Cartesian mode, the 6 elements represent 3 dimensional measurements and 3 angular measurements. A position register functions much the same as positions in a program, except they are "global" which means they are the same in every program they exist. This differs from the simple positions (P[1]) seen in programs, as position 1 in one program has nothing to do with position 1 in another.
==== Position Registers ====
 
A position register is listed as PR[#] and contains positional data in six separate elements. Position registers can handle 6 elements, representing 3 dimensional measurements and 3 angular measurements.
They can also contain Joint configurations, with each element representing the angular position of each robot joint.
 
When opening the DETAIL page for a specific position register, you can switch between Joint and Cartesian representation by hitting the softkey [REPRE].
 
<u>Cartesian</u>
 
P[n] = (x,y,z,w,p,r,configuration) – configuration describes axis condition at destination. Wrist could be N (not-flipped) or F (flipped), elbow could be U (up) or D (down), robot could be T (Front) or B (back)
 
<u>Joint</u>
==== Pallet Registers ====
 
P[n] = (J1, J2, J3, J4, J5, J6)
 
==== Home Position ====
A common useful process is using the DATA page to quickly take the robot to the predetermined HOME location. On the Position Registers page, select PR[1: HOME], clear all alarms, hold SHIFT and press the softkey MOVE_TO. Continue holding SHIFT until the robot moves to its HOME position.
[[File:Position Register POSITION.png|thumb|500x500px|This is a Position Registers values on the POSITION screen.]]
 
===='''Initialization of Position Registers'''====
Position registers must be initilized before they can be used in running programs. To initialize a position register, open the DATA screen, change [TYPE] to Position Reg, and select your desired position register by cursoring to it. Hit the softkey POSITION to open up that position register, and enter values. All six elements must contain values for the position register to be valid, even if those elements aren't used or contain zeroes.
 
=== Pallet Registers ===
A position register is listed as PL[#] and contains positional data in three separate elements.
<br />
 
==== Videos ====
<youtube>V8XV6vp3IoM</youtube>