GM6851Y1.LS Analysis and System Info Extraction
Let’s find out what kind of signal processing and system interconnection are involved in typical press robot operations. A random program was selected and analyzed.
1: DO[1:Clamp Close]=ON
2: DO[2:CLAMP ENABLE]=ON
3: DO[3:EJECT RETRACT]=ON
4: DO[4:EJECT FORWARD]=ON
5: DO[5:CORE PULL]=ON
6: DO[6:CORE SET]=ON
7: LBL[1]
8: MONITOR SIM_MON
9:J P[21] 100% FINE
10: DO[4:EJECT FORWARD]=OFF
11: IF DI[8:FULL AUTO]=OFF
12: CALL PAUSE
13: OVERRIDE=85%
14: WAIT DI[14:WHISKER SWITCH]=ON
15: WAIT DI[1:Clamp Open]=ON AND
: DI[12:THERMO LIVE]=ON AND
: DI[12:THERMO LIVE]=ON AND
: DI[8:FULL AUTO]=ON
16: DO[1:Clamp Close]=OFF
17: WAIT 1.00(sec)
18: DO[2:CLAMP ENABLE]=OFF
19:L P[1] 1800mm/sec CNT100
20:L P[3] 1800mm/sec FINE
21:L P[4] 500mm/sec FINE
22: RO[1:VAC 1]=ON
23: OVERRIDE=65%
24: DO[6:CORE SET]=OFF
25: DO[5:CORE PULL]=ON
26: WAIT .25(sec)
27: WAIT DI[6:CORE PULL]=ON
28: WAIT RI[1:Vac 1]=ON
29: RO[3:GRIPPER 1]=ON
30: RO[4:GRIPPER 2]=ON
31: WAIT .30(sec)
32:L P[5] 150mm/sec FINE
33: WAIT .50(sec)
34:L P[27] 500mm/sec FINE
35:L P[28] 500mm/sec FINE
36:L P[6] 500mm/sec CNT50
37: WAIT RI[1:Vac 1]=ON
38: DO[5:CORE PULL]=OFF
39: DO[6:CORE SET]=PM
40: OVERRIDE=85%
41:L P[8] 1800mm/sec CNT50
42:L P[9] 1800mm/sec CNT10
43: CALL RJG
44:
45: WAIT DI[5:CORE SET]=ON
46: DO[1:Clamp Close]=ON
47: DO[2:CLAMP ENABLE]=ON
48:L P[10] 1500mm/sec CNT25
49:L P[11] 1500mm/sec CNT25
50:L P[12] 800mm/sec FINE
51: DO[7:OUT TO DEGATOR]
52: WAIT 1.50(sec)
53: WATI DI[11:IN FROM DEGATE]=ON
54: LBL[2]
55: OVERRIDE=65%
56:L P[24] 1000mm/sec CNT3
57:L P[13] 1500mm/sec CNT15
58:L P[14] 1500mm/sec CNT15
59:L P[7] 500mm/sec CNT3
60: IF DI[15:ELEVATOR BLOCKED]=OFF
: CALL GRINDER_OFF
61: LBL[654]
62:L P[25] 500mm/sec FINE
63: IF RI[1:Vac 1]=OFF, JMP LBL[82]
64: RO[3:GRIPPER 1]=OFF
65: WAIT 1.00(sec)
66: LBL[82]
67:L P[15] 1500mm/sec CNT3
68:L P[23] 800mm/sec FINE
69:L P[26] 500mm/sec FINE
70: RO[4:GRIPPER 2]=OFF
71: RO[3:GRIPPER 1]=OFF
72: WAIT .30(sec)
73: RO[1:VAC 1]=OFF
74: RO[2:VAC 2]=OFF
75: WAIT 1.00(sec)
76:L P[19] 500mm/sec FINE
77:L P[16] 1000mm/sec CNT3
78: DO[11:CONVEYER]=PULSE,2.0sec
79: P[17] 1500mm/sec CNT100
80: P[18] 1500mm/sec CNT15
81:J P[20] 100% CNT5
82: JMP LBL[1]
[End]
Analysis of FANUC Robot Program GM6851Y1.LS
This program appears to be controlling a FANUC robot in a plastic injection molding automation cell. The robot interfaces with an injection molding press, a degator robot (M20iA), and an RJG quality monitoring system. Let me analyze the program components:
Program Overview
This program orchestrates a typical injection molding automation sequence where the robot:
- Waits for appropriate signals
- Enters the mold area
- Removes a part using vacuum and gripper
- Presents the part to a degator system
- Places the finished part on a conveyor
- Returns to start position to repeat the cycle
Position Registers Analysis
There are 18 unique position registers referenced in the program:
Position | Line Numbers | Description |
P[1] | 19 | Approach to mold area |
P[3] | 20 | Pre-entry position |
P[4] | 21 | Part pickup position inside mold |
P[5] | 32 | Position after part grip |
P[6] | 36 | Position for mold exit |
P[7] | 59 | Position during part handling |
P[8] | 41 | Movement position during cycle |
P[9] | 42 | Position before RJG call |
P[10] | 48 | Position during clamp sequence |
P[11] | 49 | Position during clamp sequence |
P[12] | 50 | Position for degator handoff |
P[13] | 57 | Position during part transport |
P[14] | 58 | Position during part transport |
P[15] | 67 | Position after part release |
P[16] | 77 | Position near conveyer |
P[17] | 79 | Position during return cycle |
P[18] | 80 | Position during return cycle |
P[19] | 76 | Position during part handling |
P[20] | 81 | Final position before cycle restart |
P[21] | 9 | Initial position at cycle start (Home) |
P[23] | 68 | Position before part release |
P[24] | 56 | Position during part transport |
P[25] | 62 | Position for part release check |
P[26] | 69 | Position for part release |
P[27] | 34 | Position during part extraction |
P[28] | 35 | Position during part extraction |
Total: 26 position registers
I/O Signals Analysis
Digital Inputs (DI)
Input | Lines | Description |
DI[1] | 15 | Clamp Open confirmation |
DI[5] | 45 | Core Set position confirmation |
DI[6] | 27 | Core Pull position confirmation |
DI[8] | 11, 15 | Full Auto mode status |
DI[11] | 53 | Signal from degator confirming operation |
DI[12] | 15 | Thermoformer status (appears duplicated in code) |
DI[14] | 14 | Whisker switch (safety/presence sensor) |
DI[15] | 60 | Elevator blocked status |
Total: 8 Digital Inputs
Digital Outputs (DO)
Output | Lines | Description |
DO[1] | 1, 16, 46 | Clamp Close control |
DO[2] | 2, 18, 47 | Clamp Enable control |
DO[3] | 3 | Eject Retract control |
DO[4] | 4, 10 | Eject Forward control |
DO[5] | 5, 25, 38 | Core Pull control |
DO[6] | 6, 24, 39 | Core Set control |
DO[7] | 51 | Signal to detector |
DO[11] | 78 | Conveyer control (pulsed) |
Total: 8 Digital Outputs
Robot Inputs (RI)
Input | Lines | Description |
RI[1] | 28, 37, 63 | Vacuum 1 status confirmation |
Total: 1 Robot Input
Robot Outputs (RO)
Output | Lines | Description |
RO[1] | 22, 73 | Vacuum 1 control |
RO[2] | 74 | Vacuum 2 control |
RO[3] | 29, 64, 71 | Gripper 1 control |
RO[4] | 30, 70 | Gripper 2 control |
Total: 4 Robot Outputs
Total I/O Signals: 21 (8 DI + 8 DO + 1 RI + 4 RO)
Program Routine Analysis
The program also includes calls to several subroutines:
PAUSE
(line 12): Used when not in full auto modeRJG
(line 43): Likely interfaces with the RJG quality monitoring systemGRINDER_OFF
(line 60): Called when elevator is not blockedSIM_MON
(line 8): Monitor being tracked during execution
Summary
This program controls a robot in an injection molding cell with:
- 26 position registers defining the robot’s movements
- 21 I/O signals for communication with peripheral equipment
- 4 subroutines for additional functionality
- Presence of safety checks (whisker switch, elevator blocked status)
- Integration with a degator robot and RJG quality monitoring system
The program follows a typical plastic injection molding automation sequence including part extraction, handling, and placement while coordinating with mold movements and auxiliary equipment.Retry
ES
Make a list of each command and any likely byte values associated with it in .TP binary form.Edit
Let me analyze the FANUC robot program commands and their likely byte values in .TP binary form. While I don’t have access to the exact binary structure, I can provide an overview of each command and its conceptual representation in the binary format.
FANUC TP Commands and Binary Structure
FANUC TP files are binary files with specific structures for each command type. Here’s a breakdown of the commands in the program and their likely binary representation concepts:
Motion Commands
Command | Example in Program | Binary Representation Concepts |
J (Joint Motion) | J P[21] 100% FINE | Command type byte (0x01), position register reference, speed value, termination type |
L (Linear Motion) | L P[1] 1800mm/sec CNT100 | Command type byte (0x02), position register reference, speed value, termination type |
I/O Commands
Command | Example in Program | Binary Representation Concepts |
DO (Digital Output) | DO[1:Clamp Close]=ON | Command type byte, output number, output value (0x01 for ON) |
DO with PULSE | DO[11:CONVEYER]=PULSE,2.0sec | Command type byte, output number, pulse flag, time value |
RO (Robot Output) | RO[1:VAC 1]=ON | Command type byte, robot output number, output value |
WAIT for DI | WAIT DI[14:WHISKER SWITCH]=ON | Command type byte, input type, input number, expected value |
WAIT for RI | WAIT RI[1:Vac 1]=ON | Command type byte, input type, input number, expected value |
WAIT with AND conditions | WAIT DI[1:Clamp Open]=ON AND… | Command type byte, complex condition encoding, multiple input references |
Program Flow Control
Command | Example in Program | Binary Representation Concepts |
LBL (Label) | LBL[1] | Command type byte, label number |
JMP (Jump) | JMP LBL[1] | Command type byte, target label number |
Conditional JMP | IF RI[1: Vac 1]=OFF, JMP LBL[82] | Command type byte, condition type, input reference, target label |
CALL | CALL RJG | Command type byte, program name reference |
Conditional CALL | IF DI[8:FULL AUTO]=OFF CALL PAUSE | Command type byte, condition type, input reference, program name reference |
MONITOR | MONITOR SIM_MON | Command type byte, program name reference |
Timing Commands
Command | Example in Program | Binary Representation Concepts |
WAIT (Time) | WAIT 1.00(sec) | Command type byte, time value |
Other Commands
Command | Example in Program | Binary Represenation Concepts |
OVERRIDE | OVERRIDE=85% | Command type byte, percentage value |
IF statement | IF DI[15:ELEVATOR BLOCKED]=OFF… | Command type byte, condition type, input reference |
Header/Footer Information (Not visible in .LS)
Component | Purpose | Binary Representation Concepts |
Header | Program metadata | Program name, version, creation date, controller type |
Position Register Table | Position data | Each P[n] would have coordinates, (X,Y,Z,W,P,R) or joint positions |
UFrame/UTool References | Frame references | Tool number, user frame number |
End Marker | Program termination | End of program marker |
Each FANUC TP file typically includes:
- A header with program metadata
- The command sequence (each command with its specific binary structure)
- A position register table with coordinate data for each P[n] reference
- Configuration settings like tool number, user frame, etc.
- End marker
The exact byte-level structure of FANUC TP files is proprietary, but understanding these conceptual components helps in working with and analyzing these files. Each command type would have a unique identifier byte followed by specific parameters for that command type.