in scl indirekt auf realwert zugreifen

Bensen83

Level-1
Beiträge
777
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich möchte indirekt auf einen realwert zugreifen und ihn in integer umwandeln, bekomme aber den fehler flascher datentyp. weis nicht mehr weiter, fidet ihr was, was falsch ist?

Code:
Offset_Schrittnummer := Offset_Schrittnummer + REAL_TO_INT(WORD_TO_BLOCK_DB(INT_TO_WORD(DB_Array)).DD[zaehler]);
 
Du liest bei dieser Art des Zugriffs keinen REAL-Wert sondern ein DWORD ein.
Absolute Adressierung in SCL liest die Daten IMMER im Rohwert (also BYTE, WORD, DWORD und NICHT INT, REAL, DINT etc.).

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok

Also kann ich indirekt garnicht in dem sinne auf das realarray zugreifen, sondern müsste es symbolisch machen?
Das wäre schade, weil es dann nicht so flexibel wäre
 
... aber so ist es ...

Die Stärke von SCL kannst du nur dann sinnvoll ausspielen wenn SCL den Speicher kennt mit dem es arbeiten soll ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du musst einfach DWORD_TO_REAL davorsetzen,
das verändert nichts am eingelesenen Wert, sondern nur die Interpretation des Wertes.

myReal := DWORD_TO_REAL(myDB.DD[Adresse]) ;

Mfg
Manuel
 
Zuletzt bearbeitet:
Zurück
Oben