Hallo,
folgendes Problem:
Ich habe am AC500 einen Profibusmaster. An diesem ist ein Janitzer RMG96 angeschlossen. Die gemapten Eingangsvariablen sind vom Datentyp Word.
Im Ausgangsbyte 1 wird an das RMG96 das gewünschte Profibusprofil gesendet.
Im ersten Eingangsbyte liefert das RMG96 diese Profilnummer zurück. Ab dem 2. Byte werden die gewünschten Real-Werte geliefert.
Wie kann ich auf diese Werte zugreifen. Bisher habe ich überwiegend mit S7 gearbeitet. Dort habe ich die Eingangsdaten mit DP-Receive in eine Struktur (DB) geladen und habe anschließend mit einfachen Move-Befehlen Werte auf meine Variablen gelesen. Dies funktioniert dort mit physikalischen adressen (DBx.DBD1 -> erster Real-Wert, DBx.DBD5 -> zweiter Real-Wert usw.).
Im Anhang ein Bild von den vom Automation-Builder gemapten Variablen.
IO-Map UMG96.jpg
Kann ich z.B. einfach eine globale Variable wie folgt deklarieren:
Wert 1 at %IB1.1 : REAL;
oder liest Codesys dann nur ein Byte und wandelt dies implizit in einen Real-Wert.
Leider habe ich momentan keine CPU zum testen und Codesys mach ich nur auf Kundenwunsch, daher kenne ich mich dort nicht so super aus.
Schon mal Danke für eure Hilfe.
Patric
folgendes Problem:
Ich habe am AC500 einen Profibusmaster. An diesem ist ein Janitzer RMG96 angeschlossen. Die gemapten Eingangsvariablen sind vom Datentyp Word.
Im Ausgangsbyte 1 wird an das RMG96 das gewünschte Profibusprofil gesendet.
Im ersten Eingangsbyte liefert das RMG96 diese Profilnummer zurück. Ab dem 2. Byte werden die gewünschten Real-Werte geliefert.
Wie kann ich auf diese Werte zugreifen. Bisher habe ich überwiegend mit S7 gearbeitet. Dort habe ich die Eingangsdaten mit DP-Receive in eine Struktur (DB) geladen und habe anschließend mit einfachen Move-Befehlen Werte auf meine Variablen gelesen. Dies funktioniert dort mit physikalischen adressen (DBx.DBD1 -> erster Real-Wert, DBx.DBD5 -> zweiter Real-Wert usw.).
Im Anhang ein Bild von den vom Automation-Builder gemapten Variablen.
IO-Map UMG96.jpg
Kann ich z.B. einfach eine globale Variable wie folgt deklarieren:
Wert 1 at %IB1.1 : REAL;
oder liest Codesys dann nur ein Byte und wandelt dies implizit in einen Real-Wert.
Leider habe ich momentan keine CPU zum testen und Codesys mach ich nur auf Kundenwunsch, daher kenne ich mich dort nicht so super aus.
Schon mal Danke für eure Hilfe.
Patric