Просмотр полной версии : Помогите преобразовать аналоговый сигнал в значение температуры
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, я для 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;
Да, в oscat он ессно на ST, я переписывал из ST в С#
Соответственно вам еще код LIMIT нужен
Vova_20_02
06.10.2017, 13:29
33497
Нашел в мануале описание ФБ, есть формула, в принципе тоже самое. Лимит нужен если отсутствует предварительная проверка корректности аналогового сигнала.
Всем благодарность за содействие!
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot