Einfache Automatisierung (Serienproduktion) mit LinuxCNC möglich?

More
30 Nov 2023 13:06 - 30 Nov 2023 13:09 #286869 by Jensner
Hallo Leute,

zwischenzeitlich hat sich nun einiges getan.
Ich habe mir nun die 7i84D zugelegt.
Genauer gesagt habe ich mir 2 Stück + eine zweite 7i96s gekauft.
So kann ich eine Konstellation für die Fräse (Werkstatt) verwenden und habe nochmal die exakt gleiche Konstellation im Test-Lab (Büro)

Dank Eurer zahlreichen Tipps bin ich nun soweit, dass ich:
1. die benötigte Routine in Classicladder relativ gut abgebildet habe (incl. I/O Ansteuerung der 7i84D)
2. eigene M-Codes zur Ansteuerung angelegt habe um diese Routine zu aktivieren/deaktivieren zu können

Um das gesamte Konstrukt zum Laufen zu bringen, hänge ich jedoch noch am Problem beides zusammen zu bringen
Konkret würde ich am Anfang des Fräs-Programs die Routine aufrufen wollen (mit M-Code).
Zwischenzeitlich soll das Fräsprogramm pausieren (evtl. M1) und nach Abarbeiten der Classicladder-Routine, abhängig von einem Variablenwert (Magazin befüllt/leer) das Fräs-Programm fortsetzen oder abbrechen.

Am Ende soll das Programm wieder von vorne beginnen.
Dies soll wohl mit M99 funktionieren, aber irgendwie klappt das bei mir nicht.

Es wäre cool, wenn mir hier jemand auf die Sprünge helfen könnte.     
Vielen Dank schon mal
Gruß Jens
Last edit: 30 Nov 2023 13:09 by Jensner.

Please Log in or Create an account to join the conversation.

More
30 Nov 2023 16:57 #286886 by Aciera
Vielleicht kannst du ja mal deinen M-code und ein kleines Beispielprogramm posten und erklären was denn nicht richtig funktioniert.

Please Log in or Create an account to join the conversation.

More
30 Nov 2023 19:31 #286897 by Jensner
Hallo Aciera,

sehr gerne, die Frage ist jedoch ob das dann nicht eher irritiert.
Aber ich versuche es mal zu erklären.

Ziel des gesamten Szenarios soll sein, aus einem Magazin (gestapelt) immer einen Rohling zuzuführen (hier werden über classicladder entsprechend Pneumatikventile und Endschalter angesteuert - das klappt schon), mit einer Vakuumpumpe anzusaugen und dann das Fräsprogramm zu starten. Wenn das Programm durch ist, soll es wieder von vorne starten mit der Zuführung des Rohlings, Vakuum und wieder fräsen...  

Beispielcode (aus Fusion360 - einfach eine Kontur)

%
(AUTOMATIONSTEST V1)
(T14  D=4. CR=0. - ZMIN=-10. - SCHAFTFRSER)
N05 M120
N08 M121 
N10 G90 G94 G17 G91.1
N15 G21
N20 G0 Z100.
(2D-KONTUR1)
N25 T14 M600
(EINSCHNEIDER)
N30 S20000 M3
N35 G54
N40 G64 P0.01 Q0.01
N45 G0 X0.4 Y-13.2
N50 G43 Z15. H14
N55 G0 Z5.
N60 G1 Z0.8 F333.33
N65 Z-9.6
N70 G19 G3 Y-12.8 Z-10. J0.4 K0. F1000.
N75 G1 Y-12.4
N80 G17 G3 X0. Y-12. I-0.4 J0.
N85 G1 X-10.
N90 G2 X-12. Y-10. I0. J2.
N95 G1 Y10.
N100 G2 X-10. Y12. I2. J0.
N105 G1 X10.
N110 G2 X12. Y10. I0. J-2.
N115 G1 Y-10.
N120 G2 X10. Y-12. I-2. J0.
N125 G1 X0.
N130 G3 X-0.4 Y-12.4 I0. J-0.4
N135 G1 Y-12.8
N140 G19 G2 Y-13.2 Z-9.6 J0. K0.4
N145 G1 Z5.
N150 G0 Z15.
N155 G17
N160 G53 G0 Z0.
N175 M99
%

Die selbst angelegten M-Codes M120 und M121 machen im Grunde nichts Anderes als eine Variable %I5 auf true oder false zu setzen.
Wenn true, soll die Routine starten.

Wenn ich die M-Codes manuell eingebe, funktioniert das auch bestens.
Wie gesagt fehlt mir eigentlich primär nur der Teil wie ich das Fräsprogramm pausieren kann, dann M120 aufrufen und nach Durchlauf der Prozedur wieder mit M121 weiter macht.

Am Ende soll dann mit M99 (zumindest bin ich davon ausgegangen dass das so klappt) wieder zum anfang springen.

Viele Grüße
Jens 

Please Log in or Create an account to join the conversation.

More
30 Nov 2023 20:05 #286900 by +Jan+
Guten Abend.
Mit einer if Abfrage sollte das doch klappen: linuxcnc.org/docs/html/gcode/o-code.html
Ansonsten kann man mit M66 evtl etwas basteln.

Beste Grüße

Jan
 
The following user(s) said Thank You: Jensner

Please Log in or Create an account to join the conversation.

More
01 Dec 2023 09:55 - 01 Dec 2023 09:56 #286952 by Jensner
Jallo Jan,

Deine Info zeigt mir einmal mehr wie wenig Ahnung ich noch immer von dieser Materie habe!
Ich wusste bis gerade noch nicht einmal dass es O-Codes gibt, geschweige denn, dass man hier sogar if-Abfragen verwenden kann!
Das dürfte für mich die entscheidende Info gewesen sein.
Jetzt muss ich das nur noch zusammen bekommen...
Vielen Dank dafür!

Gruß Jens
Last edit: 01 Dec 2023 09:56 by Jensner.

Please Log in or Create an account to join the conversation.

More
01 Dec 2023 10:04 - 01 Dec 2023 10:11 #286954 by timo
Ich habe hier vor ein paar Tagen nur rumgespielt. (da muss man aufpassen, dass bei einer richtigen Maschine alles auch sinnvoll und sicher ist)

Man kann Ausgänge der Classic ladder mit HMI Elementen verknüpfen.


ich habe z.B. 
net startprog classicladder.0.out-06 => halui.program.run
im .hal angelegt.

Wenn jetzt Eingänge entsprechend mit dem Ausgang 6 verknüpft sind, wird von der Classic ladder quasi der "play-button" gedrückt, so als ob man am Axis Fenster mit der Maus klickt. Das geht dann solange, bis eine der Startbedingungen für den Programmstart fehlt.

Welche pins es da alle so gibt, habe ich im Halshow/pins/halui/prgram gefunden.
Scheinbar können alle diese Pins aus dem Bedienfenster via hal oder classic ladder einfach ausgelesen und wenn bedienbar manipuliert werden.
 
Last edit: 01 Dec 2023 10:11 by timo.
The following user(s) said Thank You: Jensner

Please Log in or Create an account to join the conversation.

More
01 Dec 2023 18:34 #286982 by Jensner
Hi Timo,

auch eine hochinteressante Option.
Unglaublich, welche Möglichkeiten LinuxCNC bietet, wenn man sich nur damit auskennt.

Vielen Dank
Gruß Jens

Please Log in or Create an account to join the conversation.

Time to create page: 0.137 seconds
Powered by Kunena Forum