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:

  1. Waits for appropriate signals
  2. Enters the mold area
  3. Removes a part using vacuum and gripper
  4. Presents the part to a degator system
  5. Places the finished part on a conveyor
  6. Returns to start position to repeat the cycle

Position Registers Analysis

There are 18 unique position registers referenced in the program:



PositionLine NumbersDescription
P[1]19Approach to mold area
P[3]20Pre-entry position
P[4]21Part pickup position inside mold
P[5]32Position after part grip
P[6]36Position for mold exit
P[7]59Position during part handling
P[8]41Movement position during cycle
P[9]42Position before RJG call
P[10]48Position during clamp sequence
P[11]49Position during clamp sequence
P[12]50Position for degator handoff
P[13]57Position during part transport
P[14]58Position during part transport
P[15]67Position after part release
P[16]77Position near conveyer
P[17]79Position during return cycle
P[18]80Position during return cycle
P[19]76Position during part handling
P[20]81Final position before cycle restart
P[21]9Initial position at cycle start (Home)
P[23]68Position before part release
P[24]56Position during part transport
P[25]62Position for part release check
P[26]69Position for part release
P[27]34Position during part extraction
P[28]35Position during part extraction

Total: 26 position registers

I/O Signals Analysis

Digital Inputs (DI)

InputLinesDescription
DI[1]15Clamp Open confirmation
DI[5]45Core Set position confirmation
DI[6]27Core Pull position confirmation
DI[8]11, 15Full Auto mode status
DI[11]53Signal from degator confirming operation
DI[12]15Thermoformer status (appears duplicated in code)
DI[14]14Whisker switch (safety/presence sensor)
DI[15]60Elevator blocked status

Total: 8 Digital Inputs

Digital Outputs (DO)

OutputLinesDescription
DO[1]1, 16, 46Clamp Close control
DO[2]2, 18, 47Clamp Enable control
DO[3]3Eject Retract control
DO[4]4, 10Eject Forward control
DO[5]5, 25, 38Core Pull control
DO[6]6, 24, 39Core Set control
DO[7]51Signal to detector
DO[11]78Conveyer control (pulsed)

Total: 8 Digital Outputs

Robot Inputs (RI)

InputLinesDescription
RI[1]28, 37, 63Vacuum 1 status confirmation

Total: 1 Robot Input

Robot Outputs (RO)

OutputLinesDescription
RO[1]22, 73Vacuum 1 control
RO[2]74Vacuum 2 control
RO[3]29, 64, 71Gripper 1 control
RO[4]30, 70Gripper 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 mode
  • RJG (line 43): Likely interfaces with the RJG quality monitoring system
  • GRINDER_OFF (line 60): Called when elevator is not blocked
  • SIM_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

CommandExample in ProgramBinary Representation Concepts
J (Joint Motion)J P[21] 100% FINECommand type byte (0x01), position register reference, speed value, termination type
L (Linear Motion)L P[1] 1800mm/sec CNT100Command type byte (0x02), position register reference, speed value, termination type

I/O Commands

CommandExample in ProgramBinary Representation Concepts
DO (Digital Output)DO[1:Clamp Close]=ONCommand type byte, output number, output value (0x01 for ON)
DO with PULSEDO[11:CONVEYER]=PULSE,2.0secCommand type byte, output number, pulse flag, time value
RO (Robot Output)RO[1:VAC 1]=ONCommand type byte, robot output number, output value
WAIT for DIWAIT DI[14:WHISKER SWITCH]=ONCommand type byte, input type, input number, expected value
WAIT for RIWAIT RI[1:Vac 1]=ONCommand type byte, input type, input number, expected value
WAIT with AND conditionsWAIT DI[1:Clamp Open]=ON AND…Command type byte, complex condition encoding, multiple input references

Program Flow Control

CommandExample in ProgramBinary Representation Concepts
LBL (Label)LBL[1]Command type byte, label number
JMP (Jump)JMP LBL[1]Command type byte, target label number
Conditional JMPIF RI[1: Vac 1]=OFF, JMP LBL[82]Command type byte, condition type, input reference, target label
CALLCALL RJGCommand type byte, program name reference
Conditional CALLIF DI[8:FULL AUTO]=OFF CALL PAUSECommand type byte, condition type, input reference, program name reference
MONITORMONITOR SIM_MONCommand type byte, program name reference

Timing Commands

CommandExample in ProgramBinary Representation Concepts
WAIT (Time)WAIT 1.00(sec)Command type byte, time value

Other Commands

CommandExample in ProgramBinary Represenation Concepts
OVERRIDEOVERRIDE=85%Command type byte, percentage value
IF statementIF DI[15:ELEVATOR BLOCKED]=OFF…Command type byte, condition type, input reference

Header/Footer Information (Not visible in .LS)

ComponentPurposeBinary Representation Concepts
HeaderProgram metadataProgram name, version, creation date, controller type
Position Register TablePosition dataEach P[n] would have coordinates, (X,Y,Z,W,P,R) or joint positions
UFrame/UTool ReferencesFrame referencesTool number, user frame number
End MarkerProgram terminationEnd of program marker

Each FANUC TP file typically includes:

  1. A header with program metadata
  2. The command sequence (each command with its specific binary structure)
  3. A position register table with coordinate data for each P[n] reference
  4. Configuration settings like tool number, user frame, etc.
  5. 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.

Leave a Reply

Your email address will not be published. Required fields are marked *