LabVIEWForum.de - LabView an TwinCat-PLC

LabVIEWForum.de

Normale Version: LabView an TwinCat-PLC
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen liebe LabView-Foristen,
da sich mein Praktikum nun langsam dem Ende zuneigt ist auch der Fortschritt an meinem Programm entsprechend vorangeschritten. Jedoch steh ich jetzt vor einem Problem, bei dem mir a) der Ansatz und b) die Erfahrung fehlt, eine gute Lösung zu fehlen.

Folgendes Problem:
Mein Programm ist eine Dauerprüfstandssoftware für einen Elektromotor. Die Software hat einen manuellen Testmodus und einen automatischen. Für den Automatischen erstellt der Nutzer eine Kurvenscheibe, welche auf der Festplatte hinterlegt wird. Die TwinCat-PLC von Beckhoff greift, dann auf den festen Pfad zu, lädt und fährt die Kurvenscheibe dann ab. Allerdings können wir maximal eine Datei mit 30.000 Werten (7 ACSII-Zeichen pro Wert) an die PLC übergeben. Bei einer fest eingestellten Zeit von 1ms pro Wert ergibt, dass eine Testzeit von 30 Sekunden, was fernab jeglichen Sinns eines Dauerprüfstandes ist.

Die Kommunikation findet über die EtherCat-Schnittstelle statt.

Meine Idee:
Die PLC und LabView (bzw. den PC) so zu synchronisieren, dass man quasi in Echtzeit jeden einzelnen Wert überträgt - ist das irgendwie möglich? Ich hatte vorher schon die Idee eine größere Kurvenscheibe (mit beliebig vielen Werten) immer in 30.000 Werte große Teile aufzusplitten und zu übertragen, allerdings wäre das für mich nur die sekundäre Lösung.

Ich hoffe, mein Anliegen ist soweit klar, und auf viele Tipps und Hinweise - ja nur Hinweise und Tipps, will mir das ja schließlich selbst erarbeiten, um was zu lernenWink

Vielen Dank schonmal und Liebe Grüße vom Schü
Hallo Schü

Echtzeit kannst Du nur von der Beckhoff PLC erwarten. Auf PC Seite brauchst Du die RT Version von LabView, sonst gibt es Probleme mit der Echtzeit.

Aus dieser Sicht ist meiner Meinung nach die Paket Lösung die bessere. Ob es dann 30000 Datesätze im Paket sein müssen, könnte man noch überlegen. Vielleicht reichen auch 300.

Welche Daten schickst Du an den Prüfstand?

Gruss, BDB
Danke für die fixe Antwort =)
Die Kurvenscheibe enthält die Sollwerte die in einem Test abgefahren werden, parallel dazu wird noch ein Regelungstyp vorgegeben. Also ich speicher lediglich Double-Werte in eine Textdatei, auf welche die PLC dann zugreift. (Hoffe beantwortet)

Nun gut, dann werde ich mich nochmal daran begeben. Da ich jetzt schon weiß, dass ich gleich nicht weiterkomme (hatte das schonmal versucht) werde ich dich gleich nochmal um Rat fragen.

Vll. weiß ja auch einer wie oft ein Sollwert bei Motorprüfständen sonst so übergeben wird, im 1ms-Abstand, im 10ms-Abstand - in wiefern hängt das von dem ab, wie der Motor verwendet wird?

Vielen Danke und liebe Grüße vom Schü
Ich rate jetzt mal:

Es wird ein Regelungstyp übergeben, also wird ein Servomotor angesteuert?

Mit einer Kurvenscheibe ist sicher eine Positionsregelung gemeint? Also übergibts Du (double) Werte für eine Position?

Für bestimmte Anforderungen kann man sich 1 ms Zyklen vorstellen. Das kommt auf Deine Anforderungen an.

Wir arbeiten z.B. mit Kleinstmotoren, die müssen innerhalb einer ms mehrere Male eine definierte Position anfahren, aber das ist bei Dir sicher nicht notwendig, oder?

Gruss, BDB
Ah okay jetzt hab ichs verstanden. Also ich Steuer einen Reluktanzmotor an. Und mit dem Regelungstyp werden die Typischen Regelungsarten ausgewählt, Stromregelung, Drehmoment-, Drehzahlregelung und Positionsansteuerung. Demzufolge variiert auch, welchem Wert der der Kurvenscheibe entspricht.

Gut bei Kleinstmotoren ist das vll. notwendig, aber da TwinCat-PLC als kleines Zeitintervall nur 0,25ms zur Auswahlstellt und wir sonst nur mit dem 1ms-Intervall arbeiten, weil dies am optimalsten wäre (so wurde mir das gesagt) - vermute ich mal, dass der 1ms Zyklus wohl schon richtig ist.

Ich weiß halt nicht ob es sinnig ist bei einem z.B. 24h-Test auf einem konstanten Drehmoment, Drehzahl etc. - Positionsansteuerung mal ausgenommen - alle 1ms einen Sollwert zu geben, oder ob nicht auch alle 20-40ms reichen. Das ist auch ein Punkt meiner RechercheWink

Die Sache ist nämlich die, wenn mir 20-40ms ausreichen würden, dann könnte ich die PLC ganz einfach Wert für Wert "füttern" und das würde mir nicht so die Probleme bereiten.
Zitat: Die Sache ist nämlich die, wenn mir 20-40ms ausreichen würden, dann könnte ich die PLC ganz einfach Wert für Wert "füttern" und das würde mir nicht so die Probleme bereiten.

Die Frage, ob das ausreichend ist, kann Dir hier keiner beantworten. Das muss Dein Betreuer wissen.

Wie gesagt, es kommt auf die Anforderungen an.

Fakt ist jedenfalls, bei 1 ms Zyklus kannst Du nicht in Echtzeit Daten an die PLC schicken wegen der fehlenden Echtzeitfähigkeit von Windows bzw. LabView.

Gruss, BDB
Referenz-URLs