TIA Tia V16 Stepperdrive und schell werte aus DB nach ein CSV file

JoopB

Well-known member
Beiträge
878
Punkte Reaktionen
187
Zuviel Werbung?
->Hier kostenlos registrieren
Ich habe letztes Jahr einen kleinen Prüfstand programmiert.
Es enthält eine X- und Y-Achse, die von Schrittmotoren gesteuert werden, und die Kommunikation mit ihr erfolgt über Modbus. Es gibt auch eine Y-Achse, die pneumatisch mit einem luftdichten Teil darunter auf dem Teststück auf und ab geht. Anschließend wird der Test durch Drücken von 1 bis gestartet In einer variablen Zeit können 20 verschiedene Drücke eingestellt werden (1 bis 20 Schritte in einer Gesamtzeit zwischen 2 und 100 Sekunden). Der Druck wird in Balkendiagrammen auf dem TP900 mit einigen ** darüber angezeigt, die anstelle des Sollwert kommt zum Stehen. Unter dem Teststück befindet sich eine Hochgeschwindigkeitskamera, die mit der Aufzeichnung beginnt, sobald der Test nach dem Test startet und stoppt. Die Bilder werden über eine USB 3-Verbindung zwischen dem Laptop und der Kamera auf einem Laptop gespeichert. Nach dem Test werden Soll und Ist Wert jedes Tests in einer CSV-Datei, die über ein Skript im Panel auf einem USB-Stick gespeichert ist.
Die SPS ist eine 1215F DC / DC / DC.

Kürzlich kam die Anfrage, eine Art Pinstempel auf der Z-Achse anzufertigen, um den Test entweder über den Druck oder über diesen Stempel durchzuführen. Wir haben jetzt einen Nanotec-Liniarantrieb mit einem Nema 11-Schrittmotor gebaut. Dieser Motor muss sich nun mit dem Stift aber dem Teststück bewegen und hat dann zunächst eine Bewegung von max. 8 mm in 1 bis 10 Schritten mit einer variablen Drehzahl für jeden Schritt ausgeführt. Schließlich mussten wir diese Schritte auf 20 erhöhen und auch negative Bewegungen während des Tests und eine variable Wartezeit für jeden Schritt berücksichtigen. Der Antrieb hat 200 Schritte pro Umdrehung und die Welle bewegt sich mit 2 mm pro Umdrehung, sodass jeder Schritt 0,01 mm beträgt. Ein Encoder mit 500 Impulsen / Umdrehung im 4-fachen Betrieb ist am Motor montiert, sodass 1 Impuls pro 0,001 mm erhalten wird.

Die Steuerung und das Lesen des Encoders erfolgt ebenfalls über Mod-Bus, aber jetzt muss ich die gewünschte Geschwindigkeit und Position senden, dann kann ich den neuen Sollwert etwas erhöhen, auf einen neuen Sollwert warten, dann auf das Signal an Position warten und dann die Zeit 0 prüfen oder warten ist oder warte Wartezeit Q danach kann ich den nächsten Wert wieder starten, mit diesen kleinen Bewegungen habe ich jedoch immer längere Leerlaufzeiten zwischen den verschiedenen Bewegungen wegen der verschiedenen Schritte, die ausgeführt werden müssen.
Darüber hinaus möchte der Kunde, dass die Position im Millisekunden Bereich während des Versuchs in einem CSV gespeichert wird.

Ich habe jetzt tatsächlich 2 Probleme, der Z-Achsen-Antrieb muss schneller gesteuert werden und auch mit variabler Rampe für die Beschleunigung und Verzögerung, der Geberwert muss in der SPS schneller bekannt sein (vorzugsweise im MS-Bereich oder 10 MS-Bereich). Ich brauche auch diese Werte dann während des Versuchs in einer großen Datenbank gespeichert, solange das Trigger Bit der Kamera hoch ist. Dann muss diese DB Inhalt für den nächsten Teststart noch in eine CSV konvertiert werden. Ich habe zwischen den Tests ungefähr 2 oder 3 Sekunden Zeit, da die X- und Y-Achse verschoben werden. Während dieser Zeit wird der Inhalt der Datenbank mit den Encoder werten übereinstimmen Dies ist aus folgenden Gründen nicht möglich: Geschwindigkeit des Lesens von Variablen und Anzahl der Tags.

Jetzt kann ich optional einen Panel-PC mit einer Soft-SPS und einem WinCC-Advanced-HMI und dann für das E / A eine ET200S-Station oder einen ET200ST 1512F mit den erforderlichen E / A- und Zählerkarten nehmen und das HMI auf dem TP900 belassen und dann ein PC, auf dem ich die CSV-Datei irgendwie speichern kann.

Nach einer langen Suche im Internet habe ich eine Stepper Drive-Karte gefunden, die auf einem ET200SP platziert werden kann
https://www.phytron.de/produkte/endstufen-controller/tm-stepdrive-1x2448v5a/
Hat jemand Erfahrung damit?

Welche Lösung können Sie mir für diese Probleme vorschlagen?
Vielen Dank im Voraus

Joop
 
OP
J

JoopB

Well-known member
Beiträge
878
Punkte Reaktionen
187
Hat jemand einen Vorschlag, all diese Daten schnell in eine CSV zu schreiben?
Gibt es jemanden, der Erfahrung mit diesem Pytron Stepper Drive hat?


Gruß,
Joop
 

de vliegende hollander

Well-known member
Beiträge
1.778
Punkte Reaktionen
341
Zuviel Werbung?
->Hier kostenlos registrieren
Hoi Joop,

Ik kan niet helemaal volgen wat je van plan bent.
Nur Daten in ein CSV schreiben?

Misschien het verhaal in een paar Stichwörter zusammenfassen.
Dan wordt het voor de een of ander leesbarer.

Groetjes Bram
 
OP
J

JoopB

Well-known member
Beiträge
878
Punkte Reaktionen
187
Hoi Bram,
Ik moet de encoderwaarde van de Z-achse met een zo klein mogelijke tussen tijd wegschrijven naar een CSV file. De klant wil zolang de proef duurt elke millisec of als dat niet mogelijk is bv elke 10 of 20ms de encoderwaarde in de file hebben. Daar nu de communicatie met de motor en encoder allemaal via Modbus gaat reageert alles te traag. Ik wil de aansturing via de Pytron ET200 SP Stepperdrive gaan doen,maar daar heb ik nog wat vragen overgesteld bij de Nederlandse importeur, maar die moest die vragen weer bij Pytron neerleggen. Eind deze week kreeg ik een email dat ik toch maar rechtstreeks contact met Pytron moest opnemen. Wil jij in een paar woorden in goed duits uitleggen wat ik maken wil?
Bij voorbaat bedank
Groeten,
Joop
 

de vliegende hollander

Well-known member
Beiträge
1.778
Punkte Reaktionen
341
Hallo Joop,

Ik heb begrepen wat de bedoeling is.

Zusammenfassung als Dreizeiler:

Die XYZ Werte eines Encoders sollte so schnell wie möglich in einer CSV-Datei erfasst werden.
Kundenwunsch ist wenn die systemgrenzen es zulassen jeder Milisekunde. Sonnst untere Systemgrenze.
Zum Einsatz kommt das Technologiemodul Pytron.


Mein Vorschlag wäre direkt auf die periferieadressen zu zu greifen.
Flaschenhals konnte Netzwerkkommunikation sein.
Also direkt die Baugruppe am CPU betreiben.

Ik hoop dat je de gouden tip krijgt,
Groetjes Bram
 
Oben