PDA

Просмотр полной версии : Помогите преобразовать аналоговый сигнал в значение температуры



Vova_20_02
06.10.2017, 07:17
В общем задача стоит преобразовать сигнал с датчика 4...20ма в температуру. Готовый ФБ Scale не поддерживается :( Может кто нибудь делал такой блок самостоятельно например на ST???

Ильнур Гибадуллин
06.10.2017, 08:21
В общем задача стоит преобразовать сигнал с датчика 4...20ма в температуру. Готовый ФБ Scale не поддерживается :( Может кто нибудь делал такой блок самостоятельно например на ST???

Можете использовать функциональный блок LIN_TRAFO.

Vova_20_02
06.10.2017, 11:35
Дело в том, что контроллер не Овен, такого ФБ у него нет, хотелось бы самому сделать ФБ, который можно будет использовать на других контроллерах

capzap
06.10.2017, 11:49
oscat scale_r

melky
06.10.2017, 12:52
Поддерживаю capzap, я для Scada взял код из oscat и переписал в скрипт.

Vova_20_02
06.10.2017, 12:56
Можно по подробнее, скрипт на ST или шарпе? Можете код выложить?

Vova_20_02
06.10.2017, 12:59
От сюда брали?
SCALE_R := (O_HI - O_LO) / (I_HI - I_LO) * (LIMIT(I_LO, X, I_HI) - I_LO) + O_LO;

melky
06.10.2017, 13:18
Да, в oscat он ессно на ST, я переписывал из ST в С#
Соответственно вам еще код LIMIT нужен

Vova_20_02
06.10.2017, 13:29
33497
Нашел в мануале описание ФБ, есть формула, в принципе тоже самое. Лимит нужен если отсутствует предварительная проверка корректности аналогового сигнала.
Всем благодарность за содействие!