750-841 Codesys sehr langsame Datenübertragung

brooktree
2008-02-04
2008-02-07
  • brooktree - 2008-02-04

    Hallo,

    ich habe am Wochenende meine Programm für die Haussteuerung von einem freilaufenden Task in zwei zyklische Tasks aufgeteilt. Der Grund war, dass meine Wetterstation nicht korrket über die RS485 ausgewertet wurde. Inzwischen läuft wieder alles, jedoch benötigt die SPS bestimmt 2-3 mal solange für die Datenübertragung als vorher.

    Was ist die Ursache bzw. wie bekomme ich wieder eine schnelle Datenübertragung.

    • Die SPS ist über ein Crossover Kabel verbunden.

    • Zykluszeit (10 und 20ms)

    Danke

    Gruß

    Michael

     
  • Tobi - 2008-02-05

    Ich würde einfach mal sagen, dass 10 bzw 20 ms 'gefühlt' sehr sehr schnell für eine Haussteuerung ist. Ohne jetzt deine Anwendung oder den Controller zu kennen setze ich mich mal über den Grunsatz "Wenn man keine Ahnung hat..." hinweg und würde an deiner Stelle versuchen, den Zyklus leicht zu verlängern. Vllt reizt du mit deinem Programm, welches evtl. nicht optimal, sprich resourcenschonend programmiert ist, den Controller doch arg aus.

    Benötigst du diese Reaktionszeiten wirklich in allen Bereichen deiner Applikation? Macht es sinn, das Programm zu entschlacken?

    siehe auch hier

    Ansonsten fallen mir spontan keine Gründe ein, die die Kommunikation ausbremsen könnten. Tauchen Dateizugriffe im Programm auf?

    Gruß

     
  • brooktree - 2008-02-05

    Hallo,

    eingentlich ist die Haussteuerung nicht besonders komplex, jedoch funktionierte das Auslesen der Wetterdaten über die RS485 Klemme nicht korrekt, wenn der Task freilaufend war.

    Deshalb habe ich das Programm auf zwei Tasks aufgeteilt. Da im Thread "Taskzeiten" etwas "von Zeiten >30ms sind sichtbar" stand, habe ich die Zeit entsprechend kurz gehalten. Dateizugriffe finden bisher nicht statt und entschlacken kan ich auch nichts, da nur das nötigste programmiert ist.

    Task 1

    ca. 80 dig. Eingänge

    ca. 50 dig. Ausgänge

    Beleuchtung über DALI

    Task 2

    Wetterstation über RS485

    Welche Taskzeiten sind denn sinnvoll für eine Haussteuerung?

    Gruß

    Michael

     
  • Tobi - 2008-02-05

    Hallo Michael,

    mit "Zeiten >30ms sind sichtbar" ist gemeint, dass man in diesem Fall eine leichte verzögerung zwischen Druck auf einen Lichttaster und erhellen des Raumes ausmachen kann. Das ist so, so schnell ist unser Auge (leider).

    Du könntest es einfach einmal ausprobieren.

    Interessant wäre noch, wie sich die RS 485 Schnittstelle verhält, es ist möglich, dass diese blockierend auf die SPS wirkt. versuch mal, die Task für die Wetterstation nicht einzuplanen und das Veerhalten dann zu testen.

    Wenn es damit besser ist, würde ich die Zykluszeit der Wetterstation erhöhen. Und um im thema zu bleiben: Ein Teperatur- oder Luftdruckwert, der sich alle 30ms aktualisiert, braucht man höchstens auf der Iss Da spricht absolut nichts gegen eine niedrigeren Aktualisierungsrate ( => höhere Zykluszeit)

    Gruß

     
  • brooktree - 2008-02-07

    Lösung des Problems!

    Die Ursache bestand darin, dass ich für den Upload des Programms die SPS nicht stoppte, dadurch war sie wohl so ausgelastet, dass die Übertragung gebremst wurde. Zuvor war mein Programm freilaufend, da gab es keine Problem mit Upload während des Betriebs.

    Nach Rücksprache mit Wago wird für die P02 Wetterstation tatsächlich eine Zykluszeit von 20ms benötigt. Ansonsten werden die Daten nicht rechtzeitig abgeholt und führen zu einem Fehler. Mein Hauptprogramm läuft nun mit Priorität 2 und 10ms da ich sonst Probleme beim Dimmen mit der Dali Klemme bekomme.

    Gruß

    Michael

     

Log in to post a comment.