Доброго времени суток.
Как разложить WORD на BYTE в CODESYS 2.3 ?
Доброго времени суток.
Как разложить WORD на BYTE в CODESYS 2.3 ?
w:word;
lo,hi:byte;
lo:=word_to_byte(w);
hi:=word_to_byte(w/256);
Добрый день, у меня схожая задача только чуть интереснее. кодесис 3.5. нужно преобразовать число в формате НЕХ в двоичный код, но выходит некорректно. число WORDформат переводится в двоичный код(формулой выше), а при переводе двоичного кода в STRING, чтобы дальнейшие операции совершать (выделить знак и пр) вместо двоичного кода я получаю число WORD в формате STRING, а не byte в формате STRING.
w := OSU.HEX_STR_TO_WORD(HEX_STR,HEX_STR_1);
lo:=word_to_byte(w);
paramtr:= BYTE_TO_STRING(lo);
Может сталкивался кто с такой задачей?
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
VAR
HEX_STR : STRING;
HEX_STR_1 : STRING;
w:WORD;
lo,hi:byte;
paramtr : STRING;
END_VAR
w := OSU.HEX_STR_TO_WORD(HEX_STR,HEX_STR_1);
lo:=WORD_TO_BYTE(w);
paramtr:= BYTE_TO_STRING(lo);
1_1.PNG
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Ну все правильно. Вопрос то в чем?
Приходит строка формата STRING в которой переменная float зашифрованная в НЕХ : 40 А1 0А 4А. (переменная постоянно меняется но в формат 4 байта) блоком OSU.HEX_STR_TO_WORD идея перевести в двоичный код каждый байт и объединить в одну строку формата STRING (функцией CONCAT). ну и дальше получить float переменную в нормальном виде....
но при попытке перевести BYTE в моем случае допустим"1000000"(BYTE) 40 (НЕХ) при переводе в STRING я получаю 40 хотя ожидаю "1000000"
Остальное - не интересно.
См. скриншот. Речь шла об этом?
2024-04-10_8-26-11.png
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk