Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 2 von 2

Thema: Echtzeitkommunikation zwischen TwinCat und Labview..oder Puffer

  1. #1
    Registriert seit
    08.08.2012
    Beiträge
    1
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> 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?
    Zitieren Zitieren Echtzeitkommunikation zwischen TwinCat und Labview..oder Puffer  

  2. #2
    Registriert seit
    19.07.2008
    Ort
    Aachen
    Beiträge
    270
    Danke
    2
    Erhielt 21 Danke für 20 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das dein LabView nicht in harter Echtzeit arbeitet liegt einfach daran, dass es ein ganz normaler Windows-Prozess ist, der ganz normal vom Scheduler Prozessorzeit zugeteilt bekommt. Ohne Verrenkungen auf tiefster Betriebssytemebene (wie das bei CoDeSys/TwinCat gelöst ist) kommst du da nicht an deterministische Zykluszeiten. Da wird auch eine Data Aquisition Library nicht helfen. Anders sähe das aus, wenn du ein Target von NI nimmst, dass dein LabView-Programm in Echtzeit ausführen kann. Fällt aber wohl flach.

    Die Idee mit dem Ringpuffer ist sehr gut. Allerdings solltest du den Speicherbedarf einer solchen Lösung bedenken: 50kS/s * 3s * 32 Bit = 4800000 Bit oder eben 600000 Byte pro Messwert. Unter Umständen kann das wichtig werden.

    Es gibt fertige Ringpuffer z.B. in der OSCAT-Bibliothek. Allerdings solltest du dich damit anfreunden, dass du, wenn du eine ordentliche Lösung haben willst, deine SPS schon programmieren musst. Von alleine tut die nix

    Übrigens reicht für eine brauchbare Anzeige von Messwerten auch eine Samplingrate weit unter der von dir genannten. Da du von Überwachung redest, solltest du darüber nachdenken, ob du nötige und relevante Rechnungen nicht lieber in der SPS löst. Die ist nämlich in jedem Fall flotter, als dein Labview.
    Dann könntest du nur die Daten übertragen, die du zur Anzeige und so weiter brauchst. Kommt natürlich wieder auf deinen Anwendungsfall und die konkreten Anforderungen an.
    Geändert von Majestic_1987 (10.08.2012 um 14:49 Uhr)

Ähnliche Themen

  1. Kommunikation zwischen Matlab und TwinCAT
    Von stefanm80 im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 07.10.2013, 15:30
  2. Verbindungsprobleme? zwischen Beckhoff und TwinCat
    Von Softi11 im Forum CODESYS und IEC61131
    Antworten: 10
    Letzter Beitrag: 24.04.2012, 10:03
  3. LabVIEW und TwinCAT
    Von Kepi im Forum HMI
    Antworten: 3
    Letzter Beitrag: 18.06.2009, 11:39
  4. E/A Puffer DB oder Merker
    Von Robot-Sun im Forum Programmierstrategien
    Antworten: 28
    Letzter Beitrag: 02.11.2008, 18:12
  5. Antworten: 2
    Letzter Beitrag: 19.03.2007, 15:02

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •