TC NC PTP - universelle fliegende Säge

Kurt

Level-2
Beiträge
463
Reaktionspunkte
17
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
bin der Empfehlung von trinitaucher gefolgt und habe den Maschinenbauer so weit, dass von S7 nach TC geswitcht wird. Nun werde ich die 3 fliegende "Schlitten" an der Anlage mit TC realisieren - bin gerade beim Lesen und Lernen - simulieren und probieren.

Beim beigefügtem original Herstellerdemo, ist eine Grundfunktion die sich gut zum Lernen eignet realisiert. Das Demo hat jedoch eine Macke - der Schlitten bleibt bei der Rückfahrt auf den Nullpunkt nicht auf NULL stehen, sondern fährt ins Minus - siehe PDF.

Trotz mehrfachen Herstellerkontakt, liegt noch immer keine Herstellerantwort vor.

Wie müsste man den Ablauf nach dem MOVE auf NULL gestalten, damit zwar auf die nächste SyncPos "gehorcht" wird, jedoch der Schlitten bei NULL stehen bleibt und nicht in das Minus (Endschalter) fährt.

kurt
 

Anhänge

  • TwinCAT NC Sample Flying Saw.zip
    49,7 KB · Aufrufe: 6
  • 100114_FLS_1a.pdf
    102,4 KB · Aufrufe: 39
Hallo!
Meine Empfehlung? ...

Wäre gut gewesen, wenn du in deinem PDF die Skalierung der Scope-Achsen nicht abgeschnitten hättest, aber geht schon.

Das Problem bei der fliegenden Säge liegt darin, dass ein ständiges Auf- und Abkoppeln stattfindet und der Baustein vor dem Koppeln die Parameter überprüft. Es muss ja eine gewisse Strecke und Zeit gegeben sein, damit die Parameter auch eingehalten werden können.
Der GearInPos muss die Salve-Achse an der vorgegebenen Masterposition auf eine bestimmte Position gefahren haben.
Nach deinem ersten Schnitt wird erstmal eine Positionierung auf "0" gestartet, aber nicht bis zum Ende ausgeführt, da nicht "MoveSlave.Done", sondern "MoveSlave.Active" abgefragt wird.
Gleich danach wird eine neue Synchronisation gestartet (MoveAbsolute auf "0" wird damit abgelöst), und scheinbar ermittelt der Baustein die Parameter so, dass die Achse erstmal weit ins negative fährt. Maßgeblich ist die Master-Position (!), nicht die des Slave. Die NC könnte theoretisch mit deinem Slave machen was sie will, solange die Bedingungen der Synchronisation eingehalten werden.
Wenn der Slave Beschränkungen unterliegt, z.B. nicht negativ fahren darf, müssen die Parameter entsprechend anders gewählt, oder zunächst der MoveAbsolute zuende gefahren werden.

In deinem Programm sind ja folgende Parameter festgelegt:
GearInPos.SyncMode.GearInSync_OpMask_IgnoreMasterAcc := TRUE;
GearInPos.SyncMode.GearInSync_OpMask_PreferConstVelo := PREFERCONSTANTVELOCITY;

Vielleicht musst du mal andere durchprobieren:
http://infosys.beckhoff.com/index.p...mc2_flyingsaw/html/tcplclibmc_st_syncmode.htm
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja der Move (MC_MoveAbsolute) des Slaves verliert das Aktiv und Busy, wenn der Synchron (MC_GearInPos) aufgerufen wird - die Slave Achse, fährt jedoch weiter nach negativ bis der Synchron meint er müsse vielleicht mal was tun.

Beendet man zuerst den Move (Abfrage auf .Done) des Schlitten auf NULL, verliert man das Feature, dass die nächste Synchronisation bereits während der Rückfahrt des Schlittens starten kann - kurze Schnittlänge. Gerade daß wäre jedoch bei meiner Anwendung ein tolles Feature, da die Materialgeschwindigkeit nicht so stark reduziert werden muss wenn eine einzelne MiniLänge verarbeitet werden muss.

Was mich auch etwas verwundert ist die Anmerkung in der doku, der Slave kann nicht auf einen stehenden Master aufsynchronisiert werden. Das führt zu einem Fehler. Das kann doch jede Idiotensteuerung.

Die anderen Demos des Herstellers habe ich schon durch - die fahren nicht zurück - da wird bei erreichter Länge immer nur eingekuppelt und dann wieder aus.

is ja super.
 
Beendet man zuerst den Move (Abfrage auf .Done) des Schlitten auf NULL, verliert man das Feature, dass die nächste Synchronisation bereits während der Rückfahrt des Schlittens starten kann - kurze Schnittlänge. Gerade daß wäre jedoch bei meiner Anwendung ein tolles Feature, da die Materialgeschwindigkeit nicht so stark reduziert werden muss wenn eine einzelne MiniLänge verarbeitet werden muss.
Du kommst wohl nicht drumrum, die Parameter deiner Applikation entsprechend zu optimieren.
Was mich auch etwas verwundert ist die Anmerkung in der doku, der Slave kann nicht auf einen stehenden Master aufsynchronisiert werden. Das führt zu einem Fehler. Das kann doch jede Idiotensteuerung.
Kopplungen im Stillstand werden mit dem simplen "GearIn" aus der normalen MC-Bibliothek (kostenlos) gemacht: http://infosys.beckhoff.com/index.p...tcplclibmc2/html/blocks/tcplclibmc_gearin.htm
Da braucht man die Fliegende Säge nicht.
Letztere ist ja genau dafür gedacht, auf einen bewegenden Master aufzusynchronisieren, indem du eine Zielposition oder Zielgeschwindigkeit vorgibst.
 
J...der Slave kann nicht auf einen stehenden Master aufsynchronisiert werden. Das führt zu einem Fehler.

Ojeh - muss mich korrigieren:
Es heißt: ... Sync nicht möglich wenn Vel Master = 0 und Vel Slave NOT(0) ...
Das ist natürlich was Andreas - sorry Hr. Beckhoff.

mal weiter schauen...
kurt
 
Zurück
Oben