-> Hier kostenlos registrieren
Hallo zusammen,
ich habe im Rahmen meiner Techniker-Abschlussarbeit mehrere Universalbausteine für eine Maschine geschrieben.
Da die Ansteuerung der Achsen entweder über NC oder Technologie erfolgt, gibt es einen extra Baustein der diese Ansteuerung übernimmt.
Sollten die Achsen über NC gesteuert werden, kommt ein FC18 zum Einsatz.
Bei diesem ist es ja so, dass die Achse unter Umständen nicht wieder frei gegeben wird. (Z.B. Halt nach Ereignis, Tippbetrieb, ...)
Deshalb muss man in das Nahtstellensignal eingreifen und dort das Bit 2.2 löschen. Bisher habe ich dass immer direkt gemacht, also
O #Bedingung
= #Messfahrt_starten
FN Restweg_loeschen
= DB38.DBX 2.2
Mir ist nun aufgefallen, dass der Baustein so die ISO 611131 nicht erfüllt, da das Signal zum löschen im Code geändert werden muss, sollten die Achsen einen anderen Achs-DB haben.
Ich möchte jetzt im Aufruf des Bausteins die zu den Achse gehörenden DBs eintragen lassen und dementsprechend das Siganl zur Restweglöschung setzen. Ich dachte es mir so:
U #Bedingung
= #Messfahrt_starten
FN #Restweg_loeschen
SPB RESZ
SPA END9
RESZ: L #AchsNummer_X_Achse // INT
______T #AchsNummer_X_AchseWord
______AUF DB [#AchsNummer_X_AchseWord]
______= DBX 2.2 // Nahtstellensignal | Restweg löschen
______END9: NOP 0
Ich habe versucht das Ganze mit der PLCSIM zu simulieren, aber die macht irgendwie komische Sachen. Anfangs war sie die ganze Zeit in STOP (eine Meldung von wegen OB1 ... Keine Ahnung)
Dann habe ich den Baustein in ein anderes Programm geladen, in nem FC aufgerufen, da gings dann halbwegs. (Halbwegs, da ich die Werte der Variablen nicht sehe. Der grüne Run-Balken läuft auch nicht, ist aber Grün)
Na ja, lange Rede kurze Frage: Funktioniert das so? Die Doku soll Montag zum Buchbinder, deshalb wär es super, wenn mir schnell jemand helfen könnte. Schon einmal vielen Dank!
Grüße aus dem Süden
dennis
ich habe im Rahmen meiner Techniker-Abschlussarbeit mehrere Universalbausteine für eine Maschine geschrieben.
Da die Ansteuerung der Achsen entweder über NC oder Technologie erfolgt, gibt es einen extra Baustein der diese Ansteuerung übernimmt.
Sollten die Achsen über NC gesteuert werden, kommt ein FC18 zum Einsatz.
Bei diesem ist es ja so, dass die Achse unter Umständen nicht wieder frei gegeben wird. (Z.B. Halt nach Ereignis, Tippbetrieb, ...)
Deshalb muss man in das Nahtstellensignal eingreifen und dort das Bit 2.2 löschen. Bisher habe ich dass immer direkt gemacht, also
O #Bedingung
= #Messfahrt_starten
FN Restweg_loeschen
= DB38.DBX 2.2
Mir ist nun aufgefallen, dass der Baustein so die ISO 611131 nicht erfüllt, da das Signal zum löschen im Code geändert werden muss, sollten die Achsen einen anderen Achs-DB haben.
Ich möchte jetzt im Aufruf des Bausteins die zu den Achse gehörenden DBs eintragen lassen und dementsprechend das Siganl zur Restweglöschung setzen. Ich dachte es mir so:
U #Bedingung
= #Messfahrt_starten
FN #Restweg_loeschen
SPB RESZ
SPA END9
RESZ: L #AchsNummer_X_Achse // INT
______T #AchsNummer_X_AchseWord
______AUF DB [#AchsNummer_X_AchseWord]
______= DBX 2.2 // Nahtstellensignal | Restweg löschen
______END9: NOP 0
Ich habe versucht das Ganze mit der PLCSIM zu simulieren, aber die macht irgendwie komische Sachen. Anfangs war sie die ganze Zeit in STOP (eine Meldung von wegen OB1 ... Keine Ahnung)
Dann habe ich den Baustein in ein anderes Programm geladen, in nem FC aufgerufen, da gings dann halbwegs. (Halbwegs, da ich die Werte der Variablen nicht sehe. Der grüne Run-Balken läuft auch nicht, ist aber Grün)
Na ja, lange Rede kurze Frage: Funktioniert das so? Die Doku soll Montag zum Buchbinder, deshalb wär es super, wenn mir schnell jemand helfen könnte. Schon einmal vielen Dank!
Grüße aus dem Süden
dennis