Modbus TCP sendet falschen Zielwert

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Asd1234
    LoxBus Spammer
    • 03.01.2016
    • 294

    #1

    Modbus TCP sendet falschen Zielwert

    Hallo


    Kann mit jemand sagen was da der Fehler ist

    Ich sende mit den Taster Versuch warmw eine Modbus TCP Befehl.
    Senden sollte der Miniserver den Zielwert 3

    Aber zuerst sendet er 3,7 (zeigt es oben beim Taster auch an das 3,7 gesendet wird )
    und dann anschliessend erst 3

    Wo Bekommt er die 3,7 her?

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: idm Fehler 3,7.png
Ansichten: 316
Größe: 99,1 KB
ID: 417425
  • schieder
    Smart Home'r
    • 03.08.2021
    • 80

    #2
    Der Taster gibt ja 0/1 aus und wird 0-10/3-10 skaliert. Daher die 3,7.

    Du müsstest es so einstellen:
    Eingangswert 1: 0
    Zielwert 1: 0
    Eingangswert 2: 1
    Zielwert 2: 3

    Dann wird allerdings bei der negativen Flanke vom Taster eine 0 gesendet.

    Alternativ würd ich das über den Statusbaustein lösen, dann wird nur die 3 gesendet wenn die Bedingung im Statusbaustein zutrifft.

    Kommentar

    • Asd1234
      LoxBus Spammer
      • 03.01.2016
      • 294

      #3
      Hallo

      Habe die Einstellung jetzt probiert.
      Ist aber genau was du gesagt Hast.
      Es wird zuerst die 3 gesendet dann aber die
      0 nachgesendet.
      Die 3 wäre ja richtig aber die Null schaltet dann die Wärmepumpe aus.

      Hab’s jetzt mal mit den Statusbaustein gelöst (siehe Foto) Bei einer 1 am Eingang sendet der Baustein 0,0001 weiter.
      Und aktiviert dann den Modbusbefehl.
      Eingangswert 1 :0
      Zielwert 1. : 3
      Eingangswert 2: 10
      Zielwert. 2 : 10

      Dann sendet er mir jeweils bei steigender und fallender Flanke eine 3.


      Das muss doch aber noch sauberer gehen ???


      Was ich noch probiert hätte :
      Wenn ich beim Statusbaustein eine 3 sende und die Eingangs und Korrekturwerte auf 0 stelle sendet der Statusbaustein die 3 und dann anschließend wieder die 0 nach . Passt also wieder nicht.

      Ich müsste eigentlich nur die 3 einmal senden und anschließend nix mehr.

      Wie mach ich das am besten ?



      Angehängte Dateien

      Kommentar

      • schieder
        Smart Home'r
        • 03.08.2021
        • 80

        #4
        Ich würde die Skalierung rausnehmen, also das einstellen:
        Eingangswert 1 :0
        Zielwert 1. : 0
        Eingangswert 2: 1
        Zielwert. 2 : 1

        Und dann im Statusbaustein so: (Die 0 in der zweiten Zeile rausnehmen.)
        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Unbenannt.png
Ansichten: 184
Größe: 5,4 KB
ID: 417823

        Kommentar

        • Asd1234
          LoxBus Spammer
          • 03.01.2016
          • 294

          #5
          Habe die 0 in der zweiten Zeile rausgenommen .
          Aber das gleiche Ergebniss. Zuerst sendet er die 3 dann die 0 nach.

          Habe es aber gerade mit einen Analogwertspeicher hinbekommen.

          Der Speicher bleibt zwar wenn er betätigt wird in der Live View aktiv aber er sendet den Befehl laut Modbusmonitor nur einmal.

          Mit freundlichen Grüßen
          Angehängte Dateien

          Kommentar

          • schieder
            Smart Home'r
            • 03.08.2021
            • 80

            #6
            Hab das gerade ausprobiert, stimmt da wird bei der negativen Flanke eine 0 gesendet.

            Wenn du die Skalierung im Analogaktor so einstellst wird nur die 3 gesendet: (Diese dafür bei jeder Flanke des Eingangs, aber sollte ja kein Problem sein wenn es zwei mal gesendet wird.)

            Eingangswert 1 :0
            Zielwert 1. : 3
            Eingangswert 2: 1
            Zielwert. 2 : 3​

            Kommentar

            • Asd1234
              LoxBus Spammer
              • 03.01.2016
              • 294

              #7
              Hallo

              Danke.
              2 mal der gleiche Befehl wäre laut Doku egal.


              Ich glaube ich lasse es mal mit den Analogwertspeicher das gefällt mir momentan am besten .

              Aber würdest du mir das trotzdem erklären warum du das so eingestellt hast
              Ich Blick da nicht durch.
              Ich müsste für die verschiedenen Funktionen 0 bis 4 senden .



              Mit freundlichen Grüßen

              Kommentar

              • schieder
                Smart Home'r
                • 03.08.2021
                • 80

                #8
                Einfach den Trigger (z.b. einen VI) mit dem Analogaktor verbinden und für jeden Befehl einen extra Analogaktor mit anderer Skalierung anlegen.

                Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Unbenannt.png
Ansichten: 117
Größe: 9,0 KB
ID: 417837

                Kommentar

                • Asd1234
                  LoxBus Spammer
                  • 03.01.2016
                  • 294

                  #9
                  Wie ich es eingeben muss hab ich verstanden.

                  Aber warum das so ist peil ich nicht ab.
                  Warum gibst du das so ein ?

                  0
                  3
                  1
                  3

                  Kommentar

                  • schieder
                    Smart Home'r
                    • 03.08.2021
                    • 80

                    #10
                    Als eingangswert hängt ja ein digitales Signal dran, also 0 oder 1. Und als Zielwert wird beides auf 3 skaliert.
                    Also 0 -> 3 und 1 -> 3

                    Wäre es z.b. so eingestellt
                    0
                    3
                    1
                    4
                    wird es bei negativer Flanke (Eingang 0) eine 3 gesendet und bei positiver Flanke (Eingang 1) eine 4

                    Kommentar

                    • Asd1234
                      LoxBus Spammer
                      • 03.01.2016
                      • 294

                      #11
                      Hallo

                      Ich glaube jetzt hab ich‘s

                      Wenn ich folgendes eingebe wird jeweils eine 4 gesendet oder?

                      0
                      4
                      1
                      4


                      Mit freundlichen Grüßen

                      Kommentar

                      • schieder
                        Smart Home'r
                        • 03.08.2021
                        • 80

                        #12
                        Genau, dann wird bei positiver und negativer Flanke die 4 gesendet.
                        Ich würde dann mehrere Analogaktoren mit der selben Registernummer anlegen und in der Skalierung eintragen welcher Wert gesendet werden soll.

                        Kommentar

                        Lädt...