
Сообщение от
Владимир86
Добрый вечер petera. С элементом SEL все работает (вкл. выкл) и выхода сделал через один real-word .Проект уже как-бы готов но есть некоторые недоработки (температура отображается без десятичных ) не получается переназначить переменные real_to_word с плавающей запятой . В ПЛК-100 k modbus slave через FLOAT тоже не катит . На скрине красным цветом область как ее на ST написать .постоянно кака нибудь да ошибка при компиляции выскакивает.
Самый простой способ. Сначала Real нужно умножить на 10 или 100, а затем выполнять REAL_TO_INT и будет одна или две цифры после точки
Захват-1.png
Красивый способ. Добавить в проект такую функцию
Код:
FUNCTION PV_to_Panel : INT
VAR_INPUT
PV_Real: REAL; (*Значение на входе *)
Nz_ai: WORD; (*положение точки*)
END_VAR
VAR
END_VAR
PV_to_Panel:=REAL_TO_WORD(PV_Real*EXPT(10,Nz_ai));
Получится так
Захват-2.png
Что значит
В ПЛК-100 k modbus slave через FLOAT тоже не катит
Какая панель используется?
ЗЫ. Так какого Вы в модуль Float засунули переменную tem_p, если она INT, а не REAL? Там должна быть t1_val.
Захват-3.png