Moin,
ich habe einen Modbus Server welcher einen Datenbaustein als Holding Register benutzt.
In dem DB befinden sich unter anderem auch Real-Werte.
Wie bekomme ich die Worte aus dem Modbus Slave-Kanel nun wieder zu Real-Werten?
Irgendwie müsste ich die zwei Worte ja nun wieder "zusammensetzen" um daraus einen Real-Wert zu bekommen.
Ich habe leider keine Ahnung wie das geht.
Und einen Real-Wert anlegen und auf ein Wort Mappen in der Hoffnung das der Mapper sich die benötigte Größe selbst wählt ging leider auch nicht.
Hat das jemand schonmal gemacht und kann mir dabei helfen?
Einen guten Rutsch ins neue Jahr.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ich bin inzwischen selbst drauf gekommen und habe es wie folgt mit Hilfe der OSCAT-Bibliothek gelöst:
VAR_GLOBAL
  //ModbusVars
  Reals_0_from_1200:ARRAY[0..4]OFREAL;END_VAR//MB_Real_0_hi<-HI-WorddesREAL-BereichsvonS7-1200//MB_Real_0_low<-LOW-WorddesREAL-BereichsvonS7-1200Reals_0_from_1200[0]:=OSCAT_BASIC.DW_TO_REAL(SHL(WORD_TO_DWORD(MB_Real_0_hi),16)ORWORD_TO_DWORD(MB_Real_0_low));
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Moin,
ich habe einen Modbus Server welcher einen Datenbaustein als Holding Register benutzt.
In dem DB befinden sich unter anderem auch Real-Werte.
Wie bekomme ich die Worte aus dem Modbus Slave-Kanel nun wieder zu Real-Werten?
Irgendwie müsste ich die zwei Worte ja nun wieder "zusammensetzen" um daraus einen Real-Wert zu bekommen.
Ich habe leider keine Ahnung wie das geht.
Und einen Real-Wert anlegen und auf ein Wort Mappen in der Hoffnung das der Mapper sich die benötigte Größe selbst wählt ging leider auch nicht.
Hat das jemand schonmal gemacht und kann mir dabei helfen?
Einen guten Rutsch ins neue Jahr.
Ich bin inzwischen selbst drauf gekommen und habe es wie folgt mit Hilfe der OSCAT-Bibliothek gelöst: