Die neue easyE4 - Datenaustausch mit BORIS über Modbus TCP

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ม.ค. 2025

ความคิดเห็น • 3

  • @wildniscamper7276
    @wildniscamper7276 3 หลายเดือนก่อน

    Welchen Funktionscode hat das holding Register das mit den MW1 u MW2 verknüpft ist? FC23?

    • @ingenieurbuero-dr.kahlert
      @ingenieurbuero-dr.kahlert  3 หลายเดือนก่อน +1

      Sie müssen zwischen Modbus-Adresse und Modbus-Funktionscode unterscheiden (siehe Seite 'Modbus TCP Map' in der Online-Hilfe von easySoft 8): Die Merker-Worte MW1 und MW2 haben die Modbus-Adressen 1001 und 1002. Sie können über den Funktionscode FC23 (Read/Write Multiple Registers) sowohl gelesen als auch geschrieben werden.

    • @wildniscamper7276
      @wildniscamper7276 3 หลายเดือนก่อน

      @@ingenieurbuero-dr.kahlert Verstehe... Meine C#-Anwendung kann eine Verbindung herstellen und Register lesen, aber beim Schreiben wird die Exception "Illegal Data Address" ausgegeben. Wie das Protokoll gegliedert ist, weiß ich, aber das Problem liegt wohl an einem Denkfehler auf der EASY-Seite. Aus Sicht des Clients ist das Lesen der Funktionscode FC3, was der Server auch so beantwortet, aber die Zuweisung der Register an die IA und QA der EASY verwirren mich, weil ja die Logik invertiert sein müsste. Wenn es ein Sensor ist, ist es logisch, aber bei Client-Server finde ich das Schreiben in EASY sehr verwirrend. Ein Holding Register mit Funktionscode FC6 wird auf einen Ausgang gemappt, also z. B. QA5. Aber auf einen Ausgang kann ich ja keinen Wert schreiben. Ich glaub ich hab da einen kompletten Denkfehler auf der easy Seite... Die Erklärung von EASY (die ich habe) ist ehr so lala...viel unkonkretes wie "Startadresse 40" ohne weitere Erklärung.. Jede Info bringt mich grad weiter. Vielen Dank für Ihre Antwort! Werde direkt mal sehen, ob ich mit den Adressen auf die Register zugreifen kann.