-> Hier kostenlos registrieren
Hallo zusammen,
ich bin neu hier, daher ein paar Worte zu meinem Zugang zum Thema SPS. Ich studiere Elektrotechnik an der TU-Darmstadt. Bisher hatte ich aber keine nennenswerten Berührungspunkte mit SPS und Echtzeitsystemen. In meiner Diplomarbeit soll ich jetzt eine Prüfstandsüberwachung aufbauen und programmieren. Also Schwingungsüberwachung, Riemenspannungsüberwachnung, Datenaufzeichnung Fehlererkennung, Ausschalten.
Die folgenden Hard- und Software Vorgaben existieren:
Beckhoff EtherCat mit Buskoppler EK1100 und Klemmen EL3632, EL3011, EL4132.....
TwinCat I/O V2.11 build 2666
LabView 2011
Das alles auf einem Standart PC mit Pentium 4 Einkernprozessor bei 2,8 GHz
Betriebssystem Windows XP
Das bisherige Vorgehen sah so aus:
Die EtherCat KLemmen werden im TwinCat SystemManager mit Variablen in einem Task verbunden. Diese Variablen werden über die AdsDll mit Labview ausgelesen bzw. geschrieben z.B. "AdsSyncReadReq" . Der Task läuft mit 1ms Zykluszeit. Die EL3632 liefert, da oversampling, 50 Werte pro Zyklus und Eingang, die als array übergeben werden. Bis zu TwinCat läuft das Ganze auch scheinbar deterministisch ab. Zumindest sehen Sinusschwingungen an den Sensoren im TwinCat Scopeview gut aus.
Das Problem ist aber der zyklische Aufruf der Variablen aus Labview. Es ist wohl schlichtweg nicht möglich mit Labview jede Millisekunde eine aufrufende Schleife durchlaufen zu lassen. Die Iterationszeit ist da recht beliebig im Bereich bis zu einigen Millisekunden.
Eine Idee von mir wäre, auf TwinCat-ebene einen Ringpuffer für die Eingänge zu verwenden, den ich nur z.B. alle 3 Sekunden auslese, in dem aber dann bitteschön eine nahtlose Aufzeichnung mit 1kS/s bzw. 50kS/s über eine Sekunde abgelegt sind. Nur wie und ob sich sowas machen lässt konnte ich im Beckhoff Infosys noch nicht herusfinden.
Also meine Fragen:
1. Gibt es solche Puffer /Ringpuffer /Schieberegister bei TwinCat? Wenn ja, wo und wie lege ich die an? ( Ich hoffe ich muss dafür nicht auch noch die SPS Programmierung in PLC lernen :???
2. Kennt jemand die "EtherCat Acquisition Library for Labview" von Ackermann Automation? Hilft die mir vielleicht indem sich Labview damit nicht an der 1kHz grenze stört? Wenn Ja, Beispiele?
3. Gehe ich vielleicht ganz falsch an das Problem heran?
ich bin neu hier, daher ein paar Worte zu meinem Zugang zum Thema SPS. Ich studiere Elektrotechnik an der TU-Darmstadt. Bisher hatte ich aber keine nennenswerten Berührungspunkte mit SPS und Echtzeitsystemen. In meiner Diplomarbeit soll ich jetzt eine Prüfstandsüberwachung aufbauen und programmieren. Also Schwingungsüberwachung, Riemenspannungsüberwachnung, Datenaufzeichnung Fehlererkennung, Ausschalten.
Die folgenden Hard- und Software Vorgaben existieren:
Beckhoff EtherCat mit Buskoppler EK1100 und Klemmen EL3632, EL3011, EL4132.....
TwinCat I/O V2.11 build 2666
LabView 2011
Das alles auf einem Standart PC mit Pentium 4 Einkernprozessor bei 2,8 GHz
Betriebssystem Windows XP
Das bisherige Vorgehen sah so aus:
Die EtherCat KLemmen werden im TwinCat SystemManager mit Variablen in einem Task verbunden. Diese Variablen werden über die AdsDll mit Labview ausgelesen bzw. geschrieben z.B. "AdsSyncReadReq" . Der Task läuft mit 1ms Zykluszeit. Die EL3632 liefert, da oversampling, 50 Werte pro Zyklus und Eingang, die als array übergeben werden. Bis zu TwinCat läuft das Ganze auch scheinbar deterministisch ab. Zumindest sehen Sinusschwingungen an den Sensoren im TwinCat Scopeview gut aus.
Das Problem ist aber der zyklische Aufruf der Variablen aus Labview. Es ist wohl schlichtweg nicht möglich mit Labview jede Millisekunde eine aufrufende Schleife durchlaufen zu lassen. Die Iterationszeit ist da recht beliebig im Bereich bis zu einigen Millisekunden.
Eine Idee von mir wäre, auf TwinCat-ebene einen Ringpuffer für die Eingänge zu verwenden, den ich nur z.B. alle 3 Sekunden auslese, in dem aber dann bitteschön eine nahtlose Aufzeichnung mit 1kS/s bzw. 50kS/s über eine Sekunde abgelegt sind. Nur wie und ob sich sowas machen lässt konnte ich im Beckhoff Infosys noch nicht herusfinden.
Also meine Fragen:
1. Gibt es solche Puffer /Ringpuffer /Schieberegister bei TwinCat? Wenn ja, wo und wie lege ich die an? ( Ich hoffe ich muss dafür nicht auch noch die SPS Programmierung in PLC lernen :???

2. Kennt jemand die "EtherCat Acquisition Library for Labview" von Ackermann Automation? Hilft die mir vielleicht indem sich Labview damit nicht an der 1kHz grenze stört? Wenn Ja, Beispiele?
3. Gehe ich vielleicht ganz falsch an das Problem heran?