Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
ich habe einen Modbus Client, der mir nur MerkerWörter ausgibt, in denen dann die einzelnen Bit dargestellt sind.
wie bekomme ich das am besten aufgeschlüsselt?
Merkerwort ist bei mir eine Variable VAR_Merkerwort (s16) und hier soll bei Bit 0 die Gruppenadresse 0/5/133 (b01) abgebildet werden und bei Bit 1 dann die Adresse 0/5/20 (b01), wie sieht das konkret aus?
VAR_Merkerwort=0s16
if eventwrite("Unbenannt-0/5/133") or eventwrite("Unbenannt-0/5/20") then {
VAR_Merkerwort = (VAR_Merkerwort and -4s16) or convert("Unbenannt-0/5/133", 0s16) or convert(shift(convert("Unbenannt-0/5/20", 0u16), 1s08), 0s16);
} endif
Anmerkung: ein vorzeichenbehafteter Datentyp (s) ist bei Bitvektoren eigentlich nicht sinnvoll. Gibt es einen Grund, warum das kein u16 ist? Dann könnte man mit 0xfffcu16 verunden sich einen convert sparen und direkt shiften. shift ist beim EibPC aber nur für vorzeichenlose Datentypen.
Zuletzt geändert von foobar0815; 26.10.2023, 13:15.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar