PDA

Просмотр полной версии : ПР200 Масштабирование переменной на экране



PavelGO
25.11.2022, 16:55
Есть ли возможность или будет в будущем работать с сетевой переменной типа "Целочисленная"(печально, что не int cо знаком) с экрана ПР200, как, например, в СП307 или weintek? Т.е., читаем со слейва 123, а на экране 12,3 например. Очень хочется обходиться одним регистром на температуры и давления *10.
Может кто то реализовывал костыльные макросы по этому поводу?

Dimensy
25.11.2022, 19:10
Есть ли возможность или будет в будущем работать с сетевой переменной типа "Целочисленная"(печально, что не int cо знаком) с экрана ПР200, как, например, в СП307 или weintek? Т.е., читаем со слейва 123, а на экране 12,3 например. Очень хочется обходиться одним регистром на температуры и давления *10.
Может кто то реализовывал костыльные макросы по этому поводу?

Вот https://owen.ru/forum/showthread.php?t=12264&p=371838&viewfull=1#post371838 и таких макросов здесь много приводили, надо только поискать

Сергей0308
25.11.2022, 21:09
Вот здесь универсальные(диапазона INT/DINT) макросы выкладывал в посте #6462: https://owen.ru/forum/showthread.php?t=9398&page=647

PavelGO
25.11.2022, 21:30
Спасибо. Операции со знаковым битом это хорошо. Читаем со слейва, конвертируем, выводим на экран флоат без проблем. А вот как при изменении флота преобразовать и записать его в инт слейва, вопрос нерешаемый, видимо. Чтение скорее перетрёт флоат ибо обмен, предполагаю, не зависит от цикла программы.

Сергей0308
25.11.2022, 21:37
Спасибо. Операции со знаковым битом это хорошо. Читаем со слейва, конвертируем, выводим на экран флоат без проблем. А вот как при изменении флота преобразовать и записать его в инт слейва, вопрос нерешаемый, видимо. Чтение скорее перетрёт флоат ибо обмен, предполагаю, не зависит от цикла программы.

Не до конца понятно в чём проблема сформировать сигнал изменения флоат на заданную величину, в смысле, неоднократно обсуждалось как это сделать, короче, пока не вижу проблемы!
Или ясно опишите, что Вы хотите!

Примерно как-то так, в смысле, на таком принципе:

64065

64066

petera
26.11.2022, 00:45
Спасибо. Операции со знаковым битом это хорошо. Читаем со слейва, конвертируем, выводим на экран флоат без проблем. А вот как при изменении флота преобразовать и записать его в инт слейва, вопрос нерешаемый, видимо. Чтение скорее перетрёт флоат ибо обмен, предполагаю, не зависит от цикла программы.

А пост#2 проигнорировали?
Там как раз ссылка на Ваш случай
Изменение внутренней Float переменной из двух мест
- с экрана ПР, как float
- по сети с экрана панели, как int
А между панелью и ПР передается 1 регистр, целое со знаком, с фиксированной точкой
https://owen.ru/forum/attachment.php?attachmentid=58550&d=1640764442