TIA S7-1500 Zählerkarte Nockenspur

TX7-BET

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich möchte eigentlich eine, wie ich dachte, recht banale Sache machen. Leider ist es wohl doch nicht so einfach.

Ich habe ein Transportband, mit einem Externen Geber. Dieser soll an einer TM_Count Karte (ET200SP) angeschlossen werden.
Ich benötige, dass ein Ausgang alle x mm also alle x Incremente Schaltet. Ich hatte die Vorstellung, dass ich das direkt in der Zählerkarte Konfigurieren kann, so dass das dort alles Intern geregelt wird. Leider scheint dem nicht so zu sein. Erschwerend kommt hinzu, dass ich die Karte gleichzeitig als Leitwert für eine Synchronachse verwenden möchte, sie also als TM Objekt verwendet werden muss.

Das Problem ist vor allem, dass ich pro SPS Zyklus mehrere Nocken ausgeben muss. Ich kann also nicht Ständig die Compare Parameter umschreiben.

Ich habe Versucht herauszufinden, ob es in der manuellen Funktion der Karte geht. Aber die Schnittstelle scheint das von mir gewollte auch nicht herzugeben.

Ich habe versucht, die Karte als TM zu verwenden und eine Nockenspur anzulegen. Die Benötigt dann noch ein TM-Time Base IO Modul, aber das wäre auch nicht das Problem. Hier besteht das Problem, dass eine Nockenspur nur 32 Einträge haben kann. Außerdem eine bestimmte länge und einen Bezug. Also könnte ich eventuell die Länge auf 32mm stellen und jeden mm einen Nocken ausheben aber ich kann nicht immer sicherstellen, dass die Nocksenspur rechtzeitig neu und an der richtigen Stelle neu beschrieben wird. Vielleicht würde es gehen, wenn der Externe Geber als Modulo 32mm Achse Konfiguriert wird. Dann würde aber das Synchronisieren und Tracking der Synchronachse nicht mehr Funktionieren.

Also Optimal wäre es, wenn ich meinetwegen im Post Servo Task, die Karte so Konfigurieren kann, dass alle x Inkremente der interne DO schaltet. Für eine weitere Anzahl Inkremente oder für eine Feste Zeit. Das wäre mir egal, wie es umgesetzt wird.

Hat da jemand eine Idee, wie ich das am besten Umsetzen könnte?

Ich gehe von einer Bandgeschwindigkeit bis 15 m/min = 250 mm/s = 250Hz bei 1 Trigger pro mm aus. Das wär alle 4ms ein Impuls.
 
Zu A: TO-Objekt wäre die richtige Wahl (externer Geber)
Zur Nockenspur: hast du ein sich wiederholendes Muster dann ist es einfach:
Die NS kann in der Länge parametriert werden und kann auch automatisch wiederholt werden wenn das Ende erreicht ist Das Ganze funktioniert auch wenn die Refpos nicht in der ersten Abwicklung der NS liegt.

TimebaseIO:
Etwas worauf man achten muss: Die Karte benötigt mindestens 4Servotakte für die Abwicklung einer Nockenausgabe.
Bei 1ms Servotakt ist die Ausgabefrequenz max 200Hz Grenzwertig 250Hz

Wenn du mehr als 32Nocken benötigst kannst du mehrere Spuren anlegen und gemeinsam aktivieren oder alternativ

Unter 1ms braucht man ne 1517 zumindest war das bisher so bis (FW3.x)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du könntest die Zählergrenzen der Karte einschränken und immer auf den Grenzwert deinen Vergleichsausgang schalten. Mit einer 1200 hatte ich die Zählergrenzen so eingestellt, dass nach genau einer Umdrehung der Zähler zurückgesetzt wurde. Dann konnte ich den Vergleichsausgang zur Laufzeit so einstellen, dass ich immer an einem festen Punkt während der Umdrehung den Ausgang ansteuern konnte.
 
Vielen Dank für die Antworten.

Ich brauche mehrere Ausgaben pro Umdrehung. Aber ich könnte Eventuell die Zählergrenzen passend Einstellen.

Annahme 1mm entspricht 56 Inkrementen.

Dann könnte ich die Zählerkarte so Einstellen, dass sie bis max. 56 Zählt und immer bei 0 der Ausgang gesetzt wird. Aber welche Parameter wären dass dann genau? Der Nockenabstand muss bei mir immer gleich sein. Wenn ich die Karte in dieser Betriebsart nicht mehr für Motion Control verwenden kann, dann würde ich zur Not lieber zwei Zählerkarten einbauen, auf die derselbe Geber parallel geschaltet ist, als eine Zählerkarte und eine Timebased Io und dann wieder von Servotakten abhängig zu sein.

Es wird eine sehr große CPU werden. 1518 mindestens. Aber sind auch 32 Servoachsen mit Roboter Delta und Skara Kinematiken. Wie schnell ich da wirklich den Servotakt stellen könnte weiß ich noch nicht und es wäre ja auch am Saubersten, wenn die Karte das alleine macht.

Zum Verständnis mit Nockenspur. Wenn ich die Spurlänge auf 10mm stelle und die Nocken bei 0,1,2,3,4,5,6,7,8 und 9 auf 0,5mm länge parametriere, dann würde die sich immer wieder alle 10mm wiederholen? Nur der Startpunkt der des ersten Starts wäre auf den einstellbaren Bezugspunkt ausgerichtet? Also wenn ich dort 0,5 mm einstelle, dann habe ich die Nocken immer bei x.5 mm anstatt bei x.0?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe noch einmal Zeit gefunden, dass zu untersuchen.

Ich habe herausgefunden, wie ich im Betriebsmodus Manuell Zählgrenze einstellen kann, auf z.B. 240 Inkremente. Ich habe außerdem eingestellt, das bei überlauf wieder beim Startwert angefangen werden soll. Dieser steht auf 0.

Dann habe ich das Verhalten für DQ0 so eingestellt, dass er zwischen dem Vergleichswert 1 und der oberen Zählgrenze True ausgeben soll. Vergleichswert 1 steht auf 120

Ich konnte es nicht testen, aber ich bin mir ziemlich sicher, dass jetzt genau das passiert, was ich haben möchte, nämlich dass alle 240 Inkremente eine Impuls für 120 Inkremente ausgegeben wird.

Leider kann ich in dieser Betriebsart nicht das TO Anbinden. Das TO könnte auch an einen DB angebunden werden. Kann ich aus den Rohdaten des Gebers die Telegramm_83 Daten Nachbilden, die das TO bräuchte? Alternativ würde nur die zweite Geberkarte bleiben, oder doch wieder auf TM_TIME_BASED_IO.

Da ich mehrere Geber hätte ich die diese Logik bekommen sollen und ich eine TM_TIME_BASED_IO Karte für mehrere Geber verwenden kann, währe das wahrscheinlich die günstigere und Platzsparende Lösung. Leider nicht ganz so sauber, weil alles in die zu erwartende Zeit umgerechnet wird und der Nocken dann Zeitgesteuert ausgebeben wird, wann erwartet wird, dass der Zählerstand erreicht ist.

Nochmal zur Nockenspur Einstellung:

Nehmen wir an, die Geberauflösung ist 250 Inkremente pro mm. Dann könnte ich eine Nockenspur von 0 bis 10mm machen bei 0,1,2,3,4,5,6,7,8,9 einen Nocken für 0,5mm Platzieren. Das würde dann alleine Endlos so weiter laufen oder nur 10mm lang? Wenn ich von alleine Weiterläuft, hätte ich zumindest in der Theorie das gleiche verhalten, wie nur mit der Zählerkarte.

Berücksichtigen muss ich dann nur die Servo Takte. Danke für den Hinweis an dieser Stelle.
 
Zurück
Oben