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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Thema: Realtime mit libnodave

  1. #1
    Registriert seit
    19.04.2010
    Beiträge
    13
    Danke
    2
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich bin neu hier und habe folgendes "kleines" Problem:

    Ich habe eine Anwendung in C++ unter MS Visual Studio 9 mit der Library libnodave implementiert, um in Realtime (dh. 10 ms) mit einer Siemens S7 zu kommunizieren. Der Austausch eines Datenblock von 128 Byte in einen SPS Datenblock funktioniert auch ganz toll, aber leider dauert das Schreiben mit daveWriteBytes ca. 25 ms. Anscheinend wartet die Funktion auf eine Antwort von der SPS. Wie kann man dies noch beschleunigen?

    Danke schon mal im Voraus für eventuelle Antworten

    Norbert
    Zitieren Zitieren Realtime mit libnodave  

  2. #2
    Registriert seit
    27.11.2005
    Ort
    im Osten
    Beiträge
    1.183
    Danke
    141
    Erhielt 271 Danke für 248 Beiträge

    Standard

    Von welchem Zugriffsweg sprechen wir hier ? (Ethernet, MPI, Profibus)


    25ms halt ich persönlich schon für recht flott und bezweifele, dass das noch schneller geht. Wie ist eigentlich die Zykluszeit deiner SPS ?, denn desto kürzer die ist umso schneller bearbeitet die SPS dann auch die anstehenden Kommunikationsaufträge.

    Und ja, die Funktion wartet auf eine Antwort von der Steuerung, dass geht aber auch nicht anders.
    Es ist nicht schwierig, mit noch nicht erreichten Zielen zu Leben; schwierig ist, ohne Ziele zu Leben !
    (Günther Kraftschik)

  3. #3
    Nobby37 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.04.2010
    Beiträge
    13
    Danke
    2
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Das habe ich fast befürchtet. Das Protokoll ist übrigens "ISO on TCP", was ich implementieren sollte, weil das normale TCP zu langsam war. Die Zykluszeit der SPS soll bei 5-10 ms liegen.
    Was könnte man denn Alternativ verwenden. Ist Profibus schneller?

    VG,

    Norbert
    Zitieren Zitieren Kommunikationsprotokoll  

  4. #4
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Realtime ist mit einer solchen Zugriffsart nicht machbar. Es kann einfach nicht vorausgesagt werden, wie groß die maximale Zeit für die Kommunikation ist. Da spricht schon der verwendete Kommunikationsweg (TCP/IP) dagegen. Auch führen Zykluszeitschwankungen zu Kommunikationszeitschwankungen.
    Wenn es darum geht, die Daten möglichst in einer bestimmten Zeit zu erhalten, dann kann das funktionieren. Wenn es wirklich 10 ms beim Lesen sind, dann kommt eine 300er-PN-CPU zum Einsatz. Und die ist empfindlicher auf Zykluszeitschwankungen als eine separate CP.
    Was steckt denn eigentlich genau hinter den Anforderunge? Warum muss denn der komplette Block nach 10 ms da sein? Was passiert dann mit den Daten? Wie wäre es, wenn die SPS den Block nur bei Veränderung schickt?
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  5. #5
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    ich glaube nicht das hier eine Echtzeitanforderung vorliegt - eher soll eine sehr schnelle Reaktion erreicht werden - möglicherweise hat er ja mehrere SPS zum Abfragen und verbraucht zu viel Zeit mit dem Einzelwarten - wie wärs mit einer asynchronen Lösung

    Wikipedia sagt "Ist die Dauer eines Vorgangs (auch eine Wartezeit) vorhersehbar, dann spricht man von Echtzeit" - also auch 1 Jahr auf den Block zu warten ist Echtzeit - solange das ganze vorhersehbar ist
    Geändert von LowLevelMahn (20.04.2010 um 08:08 Uhr)
    Zitieren Zitieren ich denke Realtime = ganz ganz schnell  

  6. #6
    Nobby37 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.04.2010
    Beiträge
    13
    Danke
    2
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von LowLevelMahn Beitrag anzeigen
    ich glaube nicht das hier eine Echtzeitanforderung vorliegt - eher soll eine sehr schnelle Reaktion erreicht werden - möglicherweise hat er ja mehrere SPS zum Abfragen und verbraucht zu viel Zeit mit dem Einzelwarten - wie wärs mit einer asynchronen Lösung

    Wikipedia sagt "Ist die Dauer eines Vorgangs (auch eine Wartezeit) vorhersehbar, dann spricht man von Echtzeit" - also auch 1 Jahr auf den Block zu warten ist Echtzeit - solange das ganze vorhersehbar ist
    Die Anwendung ist wie folgt: Ein Messsystem ermittelt die Position von einem beweglichen Objekt und die SPS soll eine Hardwareplattform entsprechend nachführen. Ist das Realtime genug?

    Ist das warten auf die Antwort der SPS zwingend in ISO on TCP implementiert oder kann man auch mit "fire and forget" senden?

  7. #7
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Zitat Zitat von Nobby37 Beitrag anzeigen
    Das habe ich fast befürchtet. Das Protokoll ist übrigens "ISO on TCP", was ich implementieren sollte, weil das normale TCP zu langsam war.
    Kann ich mir nicht vorstellen, das dadurch irgendetwas schneller wird.
    Allein wenn ich bedenke, dass ISO-on-TCP gegenüber TCP-Native zusätzlichen Protokoll-Overhead bedeutet.

  8. #8
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von Nobby37 Beitrag anzeigen
    Die Anwendung ist wie folgt: Ein Messsystem ermittelt die Position von einem beweglichen Objekt und die SPS soll eine Hardwareplattform entsprechend nachführen. Ist das Realtime genug?
    Dies ist nach der Definition von Realtime keine Realtime. Denn sonst müsste die maximale Zeit bestimmt werden können, in dem der Vorgang garantiert erledigt ist. Hier geht es wohl eher darum so schnell wie möglich zu sein.

    Ist das warten auf die Antwort der SPS zwingend in ISO on TCP implementiert oder kann man auch mit "fire and forget" senden?
    Das Warten hat nichts mit Iso on TCP zu tun sondern mit dem darin enthaltenen Siemens-Protokoll.

    Wo liegt der Schwerpunkt? Im Lesen der Daten oder im Schreiben? Was kommt genau für eine Hardware zum Einsatz? Ist die fix oder kann die für die Anforderungen noch "optimiert" werden? Welche Zeit darf systembedingt garantiert nicht überschritten werden?
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  9. #9
    Nobby37 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.04.2010
    Beiträge
    13
    Danke
    2
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    Dies ist nach der Definition von Realtime keine Realtime. Denn sonst müsste die maximale Zeit bestimmt werden können, in dem der Vorgang garantiert erledigt ist. Hier geht es wohl eher darum so schnell wie möglich zu sein.

    Also, natürlich so schnell wie möglich und max. 10 ms


    Das Warten hat nichts mit Iso on TCP zu tun sondern mit dem darin enthaltenen Siemens-Protokoll.

    Wo liegt der Schwerpunkt? Im Lesen der Daten oder im Schreiben? Was kommt genau für eine Hardware zum Einsatz? Ist die fix oder kann die für die Anforderungen noch "optimiert" werden? Welche Zeit darf systembedingt garantiert nicht überschritten werden?
    Der Schwerpunkt liegt in der Übertragung der Position von dem Messsystem an die SPS. Es wird eine Siemens S7 CPC 319-3PN/DP und eine CP 343-1 card bzw. Windows XP eingesetzt.

  10. #10
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wofür wird die PN-Schnittstelle verwendet und wofür die CP?
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

Ähnliche Themen

  1. TwinCAT Realtime Ethernet über W-LAN
    Von DanielDorn im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 23.09.2011, 11:25
  2. Realtime Ethernet
    Von Voxe im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 16.06.2011, 22:07
  3. Antworten: 2
    Letzter Beitrag: 12.11.2009, 21:07
  4. Realtime Werte mit ADS-Protokol
    Von td97 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 17.03.2009, 21:00
  5. Realtime OS und SPS
    Von drfunfrock im Forum Stammtisch
    Antworten: 9
    Letzter Beitrag: 09.11.2006, 13:29

Stichworte

Lesezeichen

Berechtigungen

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