/PROG ZERO
/ATTR
OWNER = MNEDITOR;
COMMENT = "";
PROG_SIZE = 1481;
CREATE = DATE 19-08-29 TIME 08:52:32;
MODIFIED = DATE 19-11-21 TIME 11:37:10;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 19;
MEMORY_SIZE = 1777;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = 1,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/MN
1: –eg:Copyright (c) 2019 DIY-Robotics.com All rights reserved. ;
2: –eg: ;
3: –eg:Redistribution and use in source and binary forms, with or without ;
4: –eg:modification, are permitted provided that the following conditions
: are ;
5: –eg:met: ;
6: –eg: ;
7: –eg:Redistributions of source code must retain the above copyright ;
8: –eg:notice, this list of conditions and the following disclaimer. ;
9: –eg:Redistributions in binary form must reproduce the above ;
10: –eg:copyright notice, this list of conditions and the following
: disclaimer ;
11: –eg:in the documentation and/or other materials provided with the ;
12: –eg:distribution. ;
13: –eg:Neither the name of DIY-Robotics.com nor the names of its ;
14: –eg:contributors may be used to endorse or promote products derived from ;
15: –eg:this software without specific prior written permission. ;
16: –eg: ;
17:J P[1] 100% FINE ;
18:J P[2:j1 90deg] 100% FINE ;
19:J P[3:j2j3 45deg] 100% FINE ;
/POS
P[1];
P[2:"j1 90deg"];
P[3:"j2j3 45deg"];
/END
AUTO_SINGULARITY_HEADER;
ENABLE_SINGULARITY_AVOIDANCE : TRUE;
/MN
1: –eg:Copyright (c) 2019 DIY-Robotics.com All rights reserved. ;
2: –eg: ;
3: –eg:Redistribution and use in source and binary forms, with or without ;
4: –eg:modification, are permitted provided that the following conditions
: are ;
5: –eg:met: ;
6: –eg: ;
7: –eg:Redistributions of source code must retain the above copyright ;
8: –eg:notice, this list of conditions and the following disclaimer. ;
9: –eg:Redistributions in binary form must reproduce the above ;
10: –eg:copyright notice, this list of conditions and the following
: disclaimer ;
11: –eg:in the documentation and/or other materials provided with the ;
12: –eg:distribution. ;
13: –eg:Neither the name of DIY-Robotics.com nor the names of its ;
14: –eg:contributors may be used to endorse or promote products derived from ;
15: –eg:this software without specific prior written permission. ;
16: –eg: ;
17: !THIS PART OF THE PROGRAM ;
18: !ENABLE THE CYCLE OF THE ;
19: !MACHINE. DO NOT CHANGE ;
20: !UNLESS YOU HAVE A GOOD ;
21: !UNDERSTANDING OF THE PROGRAM ;
22: ;
23: !ENBL MACHINE CLOSE, CLAMP ;
24: DO[226]=ON ;
25: DO[229]=ON ;
/POS
/END
DIY-Robotics brings you cutting-edge deburring technology with our new Robotic Deburring Cell. Our newest product bundles a high-caliber FANUC robot with an ATI-compliant deburring tool. The programming is simple, intuitive, and powerful thanks to innovative software from RoboDK. This cell brings your factory one step closer to a turnkey solution. The new Robotic Deburring Cell lives up to the quality you expect from a partnership between FANUC, RoboDK, ATI, and DIY-Robotics.
What is the cell?
The newest addition to the DIY-Robotics family is a plug-and-play deburring cell. This state-of-the-art unit combines an ATI Industrial Automation Compliant Deburring Blade with a robust and reliable FANUC robot. The entire unit is packaged in a rugged, modular cell engineered by DIY-Robotics: one of FANUC’s largest system integrators.
Benefits of the Robotic Deburring Cell
Like all of DIY-Robotics’ products, the Robotic Deburring Cell is mobile and modular. It can be reused for multiple applications with a simple setup change. It is a plug-and-play product that is simple to program and easy to operate. Thanks to RoboDK’s celebrated programming environment, even novice operators can program complex paths without a lot of coding skills. The RDC can move in all axes with extraordinary flexibility, allowing it to house a wide range of robotic cutting tools. The unit runs quiet and smooth, making it the ideal multi-purpose robotic cell for any automated factory.
ATI- compliant parts improve the deburring process
With routine operations like deburring, improvements are measured by two factors: 1) ease of use and 2) improved production speed and throughput. In other words, how well can the machine overcome the element of human error, and how much faster is it than other models? This is where the new Robotic Deburring Cell excels, thanks to our partnership with ATI. ATI’s Compliant Deburring Tools are engineered for robotic use. The Compliant Deburring Blade and Radially-Compliant Deburring Tool accept a variety of standard industrial media and feature robust components and built-in compliance. This compliance enables the cell to overcome feeding misalignment and can be adjusted to suit a variety of finish requirements. ATI Compliant Deburring Tools enable more consistent processing and streamline programming needs in robotic material removal applications. Finally, forget about time-consuming issues like reach limits, joint limits, and singularities. The Robotic Deburring Cell virtually eliminates complications caused by mechanical stops and limits.
Other Advantages
The Robotic Deburring Cell can be integrated into an existing automation infrastructure for a turnkey solution. Nearly every element was designed for ease-of-use and versatility. An optional, pneumatically-controlled tool-change system makes adjustments quick and simple. RoboDK’s intuitive programming environment seamlessly blends simulations and real-world operations inside of one user-friendly application. You’ll have access to an extensive robotics library comprising over five-hundred file samples. Along with that, you’ll get access to plugins for several of the most common CAD/CAM software programs.
The Robotic Deburring Cell from DIY-Robotics is at the forefront of the next generation of robots. It offers the hallmark versatility, simplicity, and efficiency on which we pride ourselves. Get a significant return on investment with faster throughput and amazing precision. Save time with practical and easy-to-learn programming and a plug-and-play unit that takes the worry out of integration. For more information on our newest product: https://diy-robotics.com/robotic-deburring-cell/
/PROG BGLLIGHT
/ATTR
OWNER = MNEDITOR;
COMMENT = “Gestion Lumières”;
PROG_SIZE = 1986;
CREATE = DATE 16-04-14 TIME 10:30:18;
MODIFIED = DATE 19-11-21 TIME 11:34:06;
FILE_NAME = ;
VERSION = 0;
LINE_COUNT = 61;
MEMORY_SIZE = 2242;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/MN
1: –eg:Copyright (c) 2019 DIY-Robotics.com All rights reserved. ;
2: –eg: ;
3: –eg:Redistribution and use in source and binary forms, with or without ;
4: –eg:modification, are permitted provided that the following conditions
: are ;
5: –eg:met: ;
6: –eg: ;
7: –eg:Redistributions of source code must retain the above copyright ;
8: –eg:notice, this list of conditions and the following disclaimer. ;
9: –eg:Redistributions in binary form must reproduce the above ;
10: –eg:copyright notice, this list of conditions and the following
: disclaimer ;
11: –eg:in the documentation and/or other materials provided with the ;
12: –eg:distribution. ;
13: –eg:Neither the name of DIY-Robotics.com nor the names of its ;
14: –eg:contributors may be used to endorse or promote products derived from ;
15: –eg:this software without specific prior written permission. ;
16: –eg: ;
17: –eg:Tour Lumineuse Orange ;
18: ;
19: –eg:Tour Lumineuse Verte ;
20: IF (!UO[3:Prg running]),DO[9:TLGreen]=(OFF) ;
21: IF (UO[3:Prg running]),DO[9:TLGreen]=(ON) ;
22: ;
23: –eg:Tour Lumineuse Rouge ;
24: IF (!SO[3:Fault LED]),DO[7:TLRed]=(OFF) ;
25: IF (SO[3:Fault LED]),DO[7:TLRed]=(ON) ;
26: ;
27: –eg:Tour Lumineuse Alarme Sonore ;
28: IF (F[30:CellAlarm] AND !F[12:SilenceBuzzer]) THEN ;
29: DO[6:TLBuzzer]=(F[9:Pulse0.25s]) ;
30: ELSE ;
31: DO[6:TLBuzzer]=OFF ;
32: ENDIF ;
33: ;
34: ;
35: –eg:Bouton Reset Lumiere blue ;
36: IF (DO[511:CtrlAutoMode] AND !UO[8:TP enabled] AND DI[5:EStopOK] AND DI[6:FenceOK]) THEN ;
37: IF (UO[6:Fault] OR F[30:CellAlarm]) THEN ;
38: DO[4:ResetBtnLight]=(F[8:Pulse0.5s]) ;
39: ELSE ;
40: DO[4:ResetBtnLight]=(ON) ;
41: ENDIF ;
42: ELSE ;
43: DO[4:ResetBtnLight]=OFF ;
44: ENDIF ;
45: ;
46: ;
47: –eg:Bouton Demarrer Lumiere Verte ;
48: IF (UO[3:Prg running]=ON AND UO[2:System ready]=ON),DO[3:StartBtnLight]=(ON) ;
49: IF (UO[3:Prg running]=OFF AND UO[2:System ready]=ON AND !SO[3:Fault LED] AND !F[30:CellAlarm] AND DO[511:CtrlAutoMode] AND !UO[8:TP enabled]),DO[3:StartBtnLight]=(F[8:Pulse0.5s]) ;
50: IF (UO[2:System ready]=OFF),DO[3:StartBtnLight]=(OFF) ;
51: ;
52: ;
53: –eg:Bouton Rearmement Lumiere Jaune ;
54: IF (DI[6:FenceOK]=ON),DO[2:LockBtnLight]=(ON) ;
55: IF (DI[6:FenceOK]=OFF),DO[2:LockBtnLight]=(F[8:Pulse0.5s]) ;
56: ;
57: !Bouton Stop Lumiere Rouge ;
58: IF (F[14:StopProdReq]) THEN ;
59: DO[5:StopBtnLight]=(F[8:Pulse0.5s]) ;
60: ENDIF ;
61: IF (!F[14:StopProdReq]),DO[5:StopBtnLight]=(OFF) ;
/POS
/END
AUTO_SINGULARITY_HEADER;
ENABLE_SINGULARITY_AVOIDANCE : TRUE;
/MN
1: –eg:Copyright (c) 2019 DIY-Robotics.com All rights reserved. ;
2: –eg: ;
3: –eg:Redistribution and use in source and binary forms, with or without ;
4: –eg:modification, are permitted provided that the following conditions
: are ;
5: –eg:met: ;
6: –eg: ;
7: –eg:Redistributions of source code must retain the above copyright ;
8: –eg:notice, this list of conditions and the following disclaimer. ;
9: –eg:Redistributions in binary form must reproduce the above ;
10: –eg:copyright notice, this list of conditions and the following
: disclaimer ;
11: –eg:in the documentation and/or other materials provided with the ;
12: –eg:distribution. ;
13: –eg:Neither the name of DIY-Robotics.com nor the names of its ;
14: –eg:contributors may be used to endorse or promote products derived from ;
15: –eg:this software without specific prior written permission. ;
16: –eg: ;
17: !Stop Production ;
18: IF (DI[4:StopBtn] AND UO[3:Prg running]),F[14:StopProdReq]=(ON) ;
19: IF (!UO[3:Prg running] AND !UO[4:Prg paused]),F[14:StopProdReq]=(OFF) ;
20: ;
21: !STATUS FLAG ;
22: F[10:MemTeachOff]=(SO[7:TP enabled]) ;
23: F[5:ModeStepEnbl]=($SSR.$SingleStep) ;
24: IF (!UO[3:Prg running] AND !UO[4:Prg paused]) THEN ;
25: F[11:RobotAborted]=(ON) ;
26: ELSE ;
27: F[11:RobotAborted]=(OFF) ;
28: ENDIF ;
29: F[90:UnlockProdChange]=(!UO[3:Prg running] AND UO[7:At perch]) ;
30: ;
31: –eg:Reset des flags ;
32: IF (F[1024:UIStart]),F[1024:UIStart]=PULSE,0.5sec ;
33: IF (F[1023:UIReset] AND !DI[3:ResetBtn]),F[1023:UIReset]=PULSE,0.5sec ;
34: IF (F[1022:UIStop]),F[1022:UIStop]=PULSE,0.5sec ;
35: ;
36: –eg:Calcul des flags de pulse ;
37: IF (TIMER[19]>.5) THEN ;
38: F[8:Pulse0.5s]=(!F[8:Pulse0.5s]) ;
39: $TIMER[19].$TIMER_VAL=0 ;
40: ENDIF ;
41: IF (TIMER[19]>.25) THEN ;
42: F[9:Pulse0.25s]=(ON) ;
43: ELSE ;
44: F[9:Pulse0.25s]=(OFF) ;
45: ENDIF ;
46: ;
47: –eg:Ajustement des variables de vitesse pour les macros ;
48: IF (SO[7:TP enabled]),$SCR.$RUNOVLIM=(50) ;
49: IF (!SO[7:TP enabled]),$SCR.$RUNOVLIM=(100) ;
50: ;
51: –eg:Declaration du flag de Space Check pour la Machine1 ;
52: F[3:SpaceChk1Enb]=($RSPACE1[1].$ENABLED) ;
53: –eg:Declaration du flag de Space Check pour la Machine2 ;
54: F[4:SpaceChk2Enb]=($RSPACE1[2].$ENABLED) ;
55: ;
56: –eg:=== EUROMAP 67 === ;
57: –eg:=== MACHINE 1 === ;
58: IF (DI[214:PressInAuto] AND DI[209:MoldOpen] AND F[1:NewPartMachine1]),DO[210:EnbMoldClose]=(OFF) ;
59: IF (DI[214:PressInAuto] AND DI[215:MoldClosed]),DO[212:EnbEjectorBack]=(OFF) ;
60: IF (DI[214:PressInAuto] AND DI[215:MoldClosed]),DO[213:EnbEjectorFwd]=(OFF) ;
61: IF (DI[214:PressInAuto] AND DI[215:MoldClosed] AND !DI[209:MoldOpen]),F[1:NewPartMachine1]=(ON) ;
62: IF (UO[7:At perch] AND DO[209:MoldAreaFree] AND !UO[3:Prg running] AND !DO[511:CtrlAutoMode]),F[1:NewPartMachine1]=(OFF) ;
63: ;
64: IF (UO[7:At perch] AND DO[209:MoldAreaFree] AND !UO[3:Prg running] AND !DO[511:CtrlAutoMode]),DO[210:EnbMoldClose]=(ON) ;
65: IF (UO[7:At perch] AND DO[209:MoldAreaFree] AND !UO[3:Prg running] AND !DO[511:CtrlAutoMode]),DO[212:EnbEjectorBack]=(ON) ;
66: IF (UO[7:At perch] AND DO[209:MoldAreaFree] AND !UO[3:Prg running] AND !DO[511:CtrlAutoMode]),DO[213:EnbEjectorFwd]=(ON) ;
67: IF (UO[7:At perch] AND DO[209:MoldAreaFree] AND !UO[3:Prg running] AND !DO[511:CtrlAutoMode]),DO[214:CorePull1Pos1]=(ON) ;
68: IF (UO[7:At perch] AND DO[209:MoldAreaFree] AND !UO[3:Prg running] AND !DO[511:CtrlAutoMode]),DO[215:CorePull1Pos2]=(ON) ;
69: IF (UO[7:At perch] AND DO[209:MoldAreaFree] AND !UO[3:Prg running] AND !DO[511:CtrlAutoMode]),DO[216:CorePull2Pos1]=(ON) ;
70: IF (UO[7:At perch] AND DO[209:MoldAreaFree] AND !UO[3:Prg running] AND !DO[511:CtrlAutoMode]),DO[217:CorePull2Pos2]=(ON) ;
71: ;
72: !Sample Respect ;
73: IF (DI[3:ResetBtn] AND !DI[209:MoldOpen] AND UO[3:Prg running]),F[15:SampleRequest]=(ON) ;
/POS
/END
/PROG BSTARTRESETLOCK
/ATTR
OWNER = MNEDITOR;
COMMENT = “StartResLockCell”;
PROG_SIZE = 3126;
CREATE = DATE 17-04-20 TIME 09:14:42;
MODIFIED = DATE 19-11-21 TIME 11:34:24;
FILE_NAME = BGLSTART;
VERSION = 0;
LINE_COUNT = 114;
MEMORY_SIZE = 3458;
PROTECT = READ_WRITE;
TCD: STACK_SIZE = 0,
TASK_PRIORITY = 50,
TIME_SLICE = 0,
BUSY_LAMP_OFF = 0,
ABORT_REQUEST = 0,
PAUSE_REQUEST = 0;
DEFAULT_GROUP = *,*,*,*,*;
CONTROL_CODE = 00000000 00000000;
/APPL
/MN
1: –eg:Copyright (c) 2019 DIY-Robotics.com All rights reserved. ;
2: –eg: ;
3: –eg:Redistribution and use in source and binary forms, with or without ;
4: –eg:modification, are permitted provided that the following conditions
: are ;
5: –eg:met: ;
6: –eg: ;
7: –eg:Redistributions of source code must retain the above copyright ;
8: –eg:notice, this list of conditions and the following disclaimer. ;
9: –eg:Redistributions in binary form must reproduce the above ;
10: –eg:copyright notice, this list of conditions and the following
: disclaimer ;
11: –eg:in the documentation and/or other materials provided with the ;
12: –eg:distribution. ;
13: –eg:Neither the name of DIY-Robotics.com nor the names of its ;
14: –eg:contributors may be used to endorse or promote products derived from ;
15: –eg:this software without specific prior written permission. ;
16: –eg: ;
17: –eg:On reset la sequence si elle est plus grande que 0 et on depasse le
: temps max ;
18: IF (TIMER[20]>10 AND R[15:BGLTrackSeq]<>0),R[15:BGLTrackSeq]=(9001) ;
19: ;
20: ;
21: IF (R[15:BGLTrackSeq]>9000 AND DI[2:StartBtn]=OFF AND DI[3:ResetBtn]=OFF AND DI[1:LockDoorBtn]=OFF) THEN ;
22: $TIMER[20].$TIMER_VAL=0 ;
23: R[15:BGLTrackSeq]=0 ;
24: ENDIF ;
25: ;
26: –eg:Sequence Selection ;
27: IF (R[15:BGLTrackSeq]=0) THEN ;
28: $TIMER[20].$TIMER_VAL=0 ;
29: ;
30: IF (DI[6:FenceOK]=OFF AND DO[1:LockDoors]=ON),DO[1:LockDoors]=(OFF) ;
31: ;
32: IF (DI[1:LockDoorBtn]=ON),R[15:BGLTrackSeq]=(31) ;
33: IF (DI[3:ResetBtn]=ON),R[15:BGLTrackSeq]=(11) ;
34: IF (DI[2:StartBtn]=ON AND UO[2:System ready]=ON AND UO[1:Cmd enabled]=ON AND UO[3:Prg running]=OFF),R[15:BGLTrackSeq]=(21) ;
35: ENDIF ;
36: ;
37: ;
38: ;
39: –eg:== RESET ROBOT == ;
40: IF (R[15:BGLTrackSeq]=11) THEN ;
41: F[1023:UIReset]=(ON) ;
42: ;
43: IF (TIMER[20]>3 AND DI[3:ResetBtn]=ON) THEN ;
44: F[1022:UIStop]=(ON) ;
45: R[15:BGLTrackSeq]=9999 ;
46: ENDIF ;
47: ;
48: IF (DI[3:ResetBtn]=OFF),R[15:BGLTrackSeq]=(9999) ;
49: ;
50: ENDIF ;
51: ;
52: !END RESET ROBOT ;
53: ;
54: –eg:== DEPART ROBOT == ;
55: IF (R[15:BGLTrackSeq]=21) THEN ;
56: IF (F[10:MemTeachOff]=OFF),R[15:BGLTrackSeq]=(22) ;
57: IF (F[10:MemTeachOff]=ON),R[15:BGLTrackSeq]=(29) ;
58: ENDIF ;
59: ;
60: –eg:Si le teach a ete active on fait un cycle stop ;
61: IF (R[15:BGLTrackSeq]=22) THEN ;
62: F[1022:UIStop]=(ON) ;
63: F[10:MemTeachOff]=(ON) ;
64: R[15:BGLTrackSeq]=23 ;
65: ENDIF ;
66: ;
67: –eg:Quand le programme est arrete on passe a l’autre etape ;
68: IF (R[15:BGLTrackSeq]=23 AND F[1022:UIStop]=OFF AND UO[3:Prg running]=OFF) THEN ;
69: R[15:BGLTrackSeq]=29 ;
70: ENDIF ;
71: ;
72: –eg:On demarre le robot ;
73: IF (R[15:BGLTrackSeq]=29) THEN ;
74: F[1024:UIStart]=(ON) ;
75: R[15:BGLTrackSeq]=9999 ;
76: ENDIF ;
77: !END START ROBOT ;
78: ;
79: ;
80: ;
81: –eg:Lock/Unlock Door Sequence ;
82: ;
83: –eg:1st Step ;
84: IF (R[15:BGLTrackSeq]=31) THEN ;
85: IF (TIMER[20]>3),R[15:BGLTrackSeq]=(32) ;
86: IF (TIMER[20]<=3 AND DI[1:LockDoorBtn]=OFF),R[15:BGLTrackSeq]=(33) ;
87: ENDIF ;
88: ;
89: –eg:Unlock Door ;
90: IF (R[15:BGLTrackSeq]=32) THEN ;
91: DO[1:LockDoors]=OFF ;
92: R[15:BGLTrackSeq]=9999 ;
93: ENDIF ;
94: ;
95: –eg:Lock Door ;
96: IF (R[15:BGLTrackSeq]=33) THEN ;
97: DO[1:LockDoors]=ON ;
98: //IF (DI[6:FenceOK]=ON),DO[218:NX_Free]=(ON) ;
99: IF (DI[6:FenceOK]=ON),R[15:BGLTrackSeq]=(100) ;
100: IF (DI[6:FenceOK]=OFF AND TIMER[20]>2),R[15:BGLTrackSeq]=(32) ;
101: ENDIF ;
102: ;
103: –eg:EuropMap73 ACK ;
104: IF (R[15:BGLTrackSeq]=100 AND TIMER[20]>3) THEN ;
105: DO[218:NX_Free]=ON ;
106: R[15:BGLTrackSeq]=9999 ;
107: ENDIF ;
108: ;
109: IF (DO[218:NX_Free]=ON),DO[218:NX_Free]=PULSE,1.0sec ;
110: ;
111: ;
112: –eg:Lock/Unlock Door Seq. End Section ;
113: ;
114: ;
/POS
/END