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

Ergebnis 1 bis 6 von 6

Thema: Heartbeat richtig behandeln

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Servus zusammen!


    Ich steh vor der Aufgabe, einen auf Seite der SPS realisierten Heartbeat (ich glaub ne Flanke, die sich einfach ständig ändert, sprich von 0 auf 1 auf 0 auf 1 ... umschaltet) in meiner C#-Anwendung auszuwerten - damit soll natürlich festgestellt werden, ob die Verbindung noch steht.


    Ich les also das Byte mit Hilfe von libnodave aus - dann weiß ich aber nicht mehr so recht weiter.
    Wie soll ich das denn in meiner Endlosanwendung realisieren?

    Hat einer n Denkanstoß oder n Algorithmus, nach dem man bei sowas vorgeht?


    mfG Andi
    Zitieren Zitieren Heartbeat richtig behandeln  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Flanke kannst du mit Sicherheit vergessen, das bekommt du mit dem PC und libnodave gar nicht sicher mit. Besser, dein Kollege macht einen Blinker, z.Bsp. 1 Sekunde an, 1 Sekunde aus. Du mußt in deinem Programm die Bool lesen und überwachen, daß die Einphase und die Ausphase des Signals nie > 1 Sekunde (zu Sicherheit 1,5 Sekunden) ist. Also eine 1 erkennen, steigende Flanke im PC-Programm, Zeit speichern, Fallende Flanke erkennen, Zeit speichern, Differenz bilden, auswerten, steigende Flanke auswerten, Zeit speichern, Differenz bilden, auswerten usw.

    Wie schnell der Blinker sein darf hängt von der Geschwindigkeit der Kommunikation ab.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    rebbi (15.10.2008)

  4. #3
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Gib doch mal C# und Watchdog in google oder so ein. Da finden sich so einige Programmbeispiele

  5. Folgender Benutzer sagt Danke zu marlob für den nützlichen Beitrag:

    rebbi (15.10.2008)

  6. #4
    Registriert seit
    03.09.2008
    Beiträge
    48
    Danke
    7
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Ist es nicht einfacher nen gemeinsames Bit zu definieren was durch PC gesetzt und durch SPS rückgesetzt wird. Dann noch einen Timer auf SPS Seite sowas wie nach 5 sek info das kein lebenszeichen von pc und auf PC halt das gleiche.

    Aso und wegen >1 sek Abtasttheorem beachten mindestens mit doppelter genauigkeit wie das Ursprungssignal wenn man sowas mit Flanken macht.

    Also bei >1 Sek Toogle auf sps mind. <0,5 sek auf PC wobei kommunikationsdauer mit drauf kommt.

    gruß Key

  7. Folgender Benutzer sagt Danke zu Key für den nützlichen Beitrag:

    rebbi (15.10.2008)

  8. #5
    rebbi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.09.2008
    Beiträge
    8
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Key Beitrag anzeigen
    Ist es nicht einfacher nen gemeinsames Bit zu definieren was durch PC gesetzt und durch SPS rückgesetzt wird. Dann noch einen Timer auf SPS Seite sowas wie nach 5 sek info das kein lebenszeichen von pc und auf PC halt das gleiche.

    Aso und wegen >1 sek Abtasttheorem beachten mindestens mit doppelter genauigkeit wie das Ursprungssignal wenn man sowas mit Flanken macht.

    Also bei >1 Sek Toogle auf sps mind. <0,5 sek auf PC wobei kommunikationsdauer mit drauf kommt.

    gruß Key

    Sowas mach ich jetzt im Grunde schon.
    SPS setzt Bit1, wenn Daten vorhanden sind. Ich hol die Daten ab und setz ein Bit2, dass ich die Daten abgeholt hab - daraufhin setzt das SPS Bit1 und Bit2 zurück.

    Problem ist: Die Daten kommen etwa alle 50 - 100 Sekunden. Ich muss also schon vorher wissen, ob die Connection noch steht


    Habs bisher per Integer-Wert geregelt. Die SPS zählt hoch, ich les alle paar Sekunden aus. Ist der Wert identisch --> Connection lost
    Unterscheidet sich der Wert --> Connection vorhanden.

    Da kanns zwar passieren, dass nicht sofort beim ersten Schleifendurchlauf nach Verlust der Connection bemerkt wird, dass etwas nicht mehr stimmt. Aber spätestens beim zweiten Durchlauf würde es bemerkt werden

    Leider will aber mein Chef eben so n Heartbeat.
    Daher schonmal Danke für eure Infos! Werd versuchen, das entsprechend zu implementieren

  9. #6
    Registriert seit
    29.07.2005
    Ort
    Salzburg
    Beiträge
    113
    Danke
    2
    Erhielt 6 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo rebbi,
    als Lebenssignal verwende ich gerne einen Zähler.

    Möglichkeit 1: festen Wert zyklisch übertragen und auf der anderen dekrementieren, erreicht der Wert 0 besteht keine Verbindung mehr.

    Möglichkeit 2: SPS seitig einen Zähler inkrementieren und zyklisch übertragen,
    auf der anderen Seite zyklisch abfragen, hat sich der Wert zwischen 2 Abfragen nicht mehr geändert besteht keine Verbindung mehr.

    Grüsse, harrylask

    [EDIT]
    sorry, hatte dein letztes Post übersehen!
    [/EDIT]

Ähnliche Themen

  1. SM 334 4AI/2AO 8 Bit Beschaltung richtig??
    Von Benno97 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 29.03.2011, 22:09
  2. Lib richtig erstellen
    Von Vogei im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 10.01.2011, 16:56
  3. FB richtig erstellen?
    Von Poldi007 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 29.03.2010, 10:23
  4. Heartbeat bei MPI?
    Von Tapio Bearking im Forum Feldbusse
    Antworten: 2
    Letzter Beitrag: 08.02.2008, 11:17
  5. richtig viel zu tun...
    Von Markus im Forum Stammtisch
    Antworten: 4
    Letzter Beitrag: 15.10.2006, 12:35

Lesezeichen

Berechtigungen

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