Всем доброго времени суток.
Вопрос такой. Передаю из ардуинки long integer. двумя переменными word. как их сложить обратно в кодесисе? ))
Всем доброго времени суток.
Вопрос такой. Передаю из ардуинки long integer. двумя переменными word. как их сложить обратно в кодесисе? ))
в CodeSys есть DWORD
Ну на счет переменных я в курсе. Интересует команда преобразования. по типу такой: word_to_lint.
Сейчас складываю так:
где test1,2. входные значения.test3:=(test1*65536)+test2;
test4:=((65536*65536)-test3)*(-1);
IF test1>32768 THEN test5:=test4; ELSE test5:=test3; END_IF;
Последний раз редактировалось stumex; 10.04.2017 в 08:09.
С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
Правильно ли я понял, что перед Вами стоит следующая задача:
по сети передаются переменные типа word, которые необходимо объединить в long int (DINT в CODESYS)?
Если так, то в документе СПК. Протокол Modbus доступном в ветке форума http://www.owen.ru/forum/showthread.php?t=23897
есть п. 4.4 Преобразование данных (REAL, DWORD, STRING) в котором описаны все возможные способы "склейки" данных в CODESYS.
Блин, а просто поставить два регистра рядом в нужной последовательности а считать из памяти просто dword уже не судьба ? если не ошибаюсь, то CDS это должен позволять. Просто через массивы например.
Товарищи, доброго времени суток! Прошу прощения за дилетантский вопрос. я просто только начинаю разбираться с codesys и пытаюсь понять как это работает. Есть 2 переменные типа WORD из них необходимо сделать одну переменную типа DWORD. пожалуйста объясните как можно это сделать.
Заранее благодарю.
Самый простой вариант - добавить в проект библиотеку CAA Memory и использовать ее ФБ PackWordsToDword:
Код:VAR wLow: WORD := 16#851F; wHigh: WORD := 16#4133; dwVar: DWORD; END_VAR dwVar := MEM.PackWordsToDword(wHigh, wLow);
С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