Ankündigung

Einklappen
Keine Ankündigung bisher.

X1 Zähler läuft nicht linear

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    X1 X1 Zähler läuft nicht linear

    Ich würde gerne reflektierenden Lamellen eines Raffstores in 1 Sekunden Schritten drehen. Gleichzeitig würde ich gerne die Helligkeit im Raum messen. Ziel ist automatisch festzustellen, welche Position der Lamellen am meisten Licht in einen Raum bringt.

    Ich habe dazu einen Telegramgenerator auf 1 Sekunde gesetzt. Damit verbunden habe ich einen Zähler der von 100 % Lamellenposition auf 0 % in einer Schritten (= 1 Sekunde) zählen soll. In der X1 Simulation läuft der Zähler und die Raffstore Lammelenposition linear im Einsekundentakt runter. In echt stockt das X1 aber. Es läuft mal 3 Schritte im Sekundentakt. Dann pausiert der Zähler paar Sekunden. Dann spring dieser ein paar %. Dann wieder linear. Dann lange Pause .. usw.

    CPU Auslastung des X1 liegt bei 8%. Ich habe den X1 neu gestartet. Woran könnte das Springen des X1 Zählers liegen?
    Hättet ihr eine Idee, wo der Fehler sein könnte?

    Danke für die Hilfe, Alzi​

    2023-04-02 18_30_24-Window.png
    Zuletzt geändert von Alzi; 02.04.2023, 17:32.

    #2
    Wie ist das Verhalten bei 10 s Zykluszeit im Telegramgenerator?

    Kommentar


      #3
      Bei 1. Sekunde sieht es so aus:
      Anhang laden
      Verfügbar bis 02.05.2023


      Bei 10. Sekunden leider der selbe Effekt.
      Immer noch nicht linear.

      Es sieht dann so aus:
      Anhang laden
      Verfügbar bis 02.05.2023

      Kommentar


        #4
        Als typische Werkzeuge zur Fehlersuche verwende ich den Gruppenmonitor der ETS und den Datenpunktmonitor im X1. Die beiden empfehle ich auf für diesen Fall.

        Kommentar


          #5
          Danke für den Hinweis. Selbst wenn ich nur eine X1 Variablen-Datenpunkt an den Ausgang des Zählers setze zählt diese im Datenpunktmonitor nicht linear. In der Simulation geht das perfekt. Sobald ich das Logikblatt in Betrieb nehme kommt es zu dem Effekt. Ich habe das ganze auch mit einem Oszillator mit 2 Sekunden Zyklus und 1 Sekunde Phase probiert. Leider selber Effekt.

          Video vom Datenpunktmonitor anbei:
          Anhang laden
          Verfügbar bis 02.05.2023

          Es sieht so aus als ob das X1 stolpert oder nicht ganz linear läuft :-)

          Update: Ich habe alle 32 anderen Logikblätter deaktiviert. Dann läuft das verbleibende eine linear.

          Danach habe ich eins nach dem anderen eingeschaltet.
          Es liegt an einem einzigen anderen Logikblatt.
          Ist dieses aktiviert verhält sich der Zähler hier nicht linear.
          Es ist eine Modbus Abfrage.

          Jetzt gilt es herauszubekommen wieso die Logik mit der TCP Modbusabfrage das X1 so ins Stocken bringt das andere Logikblätter nicht linear laufen.

          2023-04-02 21_45_40-Window.png
          Zuletzt geändert von Alzi; 02.04.2023, 22:37.

          Kommentar


            #6
            Vermutlich braucht die Modbus-Abfrage einfach zu lange und blockiert so lange. Im Idealfall sollte alles, was in einem Logikbaustein nicht "sofort" passiert, in einen Hintergrundthread ausgelagert werden. Leider ist das programmiertechnisch nicht ganz trivial ...

            Kommentar


              #7
              Zitat von alramlechner Beitrag anzeigen
              Probier mal die angehängte Version ... aber versucht das zu umgehen.

              Scheinbar isoliert der SchedulerService die Bausteine nicht sauber von einander. So etwas sollte eigentlich der X1 bzw. das SDK schon gewährleisten. Sehr gutes finding

              Gib bescheid, ob es mit der Variante besser funktioniert.

              vG Alram


              Danke Alram für das Update das Modbus Bausteins zum Auslesen des Huawei Wechselrichters. Jetzt läuft das X1 und der Zähler linear. Danke

              Kommentar

              Lädt...
              X