Спасибо. Создал новый проект, вроде все отражает. Но сейчас не могу сконвертировать в "человеческое" отображение температуры. При конвертации в Int все красиво до тех пор пока не появляется показатель со знаком минус. По идеи макрос преобразования должен выдать целое число (градусы) или я ошибаюсь?
Котел.owl
Добрый день. А зачем Вам инт? Для температуры обычно используется флоат, чем он Вас не устраивает?
И всё будет корректно отображаться и плюсы и минусы.
С уважением.
Лучшее - враг хорошего "Le mieux est I\'ennemi du bien" (вроде как Вольтеровское)
int в ПР целочисленный без знака 32 разряда. Нужны минусы, используем float.
Если вам необходим все же int и вы сами будете заниматься преобразованиями в минус и обратно, пробегали на форуме макросы для передачи по сети int с учетом знака...
У меня сейчас вот так отражается и очень сложно постоянно конвертировать в одну и другую сторону. Плюс не пойму как с минусовыми значениями работать в этом случае.
owen-2.JPG
А что собственно Вас не устраивает. Уберите преобразователь в инт и всё. Если Вас смущают цифирки типа 2,5Е и т.д., то это просто форма отображения в симуляторе. При выводе на экран ПР200 или дальнейшей обработке, программа работает именно как с числом 25. И покажет именно 25 градусов.
И если дальше в программе будете сравнивать, все как с обычными отрицательными цифрами. Только использовать блоки с приставкой f. Например fsel для для вещественного числа а не sel для целочисленного.
Такая вот особенность симулятора. Это уже не раз обсуждалось.
Последний раз редактировалось maximov2009; 27.02.2017 в 10:31.
Лучшее - враг хорошего "Le mieux est I\'ennemi du bien" (вроде как Вольтеровское)
Спасибо! Да, именно отображение смутило. Хотелось понимать на сколько верно работает конвертация и сравнить с показаниями моего датчика. Убрал int, все работает корректно но выглядит в симуляторе не очень![]()
Еще такой вопрос, я хочу сделать модуляцию котла, т.е. включать/отключать тэны в зависимости от роста температуры сравнивая результат за период. Достаточно примитивный алгоритм, 3 тена - Включил один, посмотрел на рост температуры, нет роста включил второй и далее третий. Если достиг нужной температуры, пытаться ее поддержать за счет включения/отключения тэнов. Есть ли какой-то подобный пример чтобы поучиться?
В версии 1.7 было 8 знаков у FLOAT.
1) мощность ТЭНов одинаковая? или это 3 группы с разной мощностью?Еще такой вопрос, я хочу сделать модуляцию котла, т.е. включать/отключать тэны в зависимости от роста температуры сравнивая результат за период. Достаточно примитивный алгоритм, 3 тена - Включил один, посмотрел на рост температуры, нет роста включил второй и далее третий. Если достиг нужной температуры, пытаться ее поддержать за счет включения/отключения тэнов. Есть ли какой-то подобный пример чтобы поучиться?
2) лучше это делать по уровню выходного сигнала с ПИД регулятора: при 0,0-0,2 работает одна группа, по мере роста уровня сигнала подключаем остальные группы.
Важно, чтобы мощность регулировочной ступени перекрывала по мощности самую малую добавочную.
регулир. ТЭН - 30%
1 ступень - 25%
2 ступень -45%
Так если он преобразует отрицательные значения температуры(FLOAT) в INT, что в ОЛ, т. е. UDINT, то я извиняюсь, Землю уничтожить можно, получится более 4 миллиардов градусов, а термоядерная реакция синтеза гелия из водорода начинается уже при 15 миллионах!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.