Есть - в компонентах - Convert_4_20_
Заодно он ещё и диагностику исправности датчика выполняет.
Я сейчас стал использовать самодельный, но на основе этого - просто дополнил входом для дополнительной диагностики неисправности датчика - например, неисправность ПРМ или аппаратный контроль датчика.
Код:///<Description>Макрос позволяет отмасштабировать аналоговый сигнал заданный в диапазоне 4...20 мА</Description> ///<Author>!!FPA!!</Author> ///<GroupName>Аналоговые преобразования</GroupName> function_block Convert_4_20_ var_input ///<Description>Масштабируемое входное значение</Description> IN : real; ///<Description>Верхний предел выходного значения</Description> High : real; ///<Description>Нижний предел выходного значения</Description> Low : real; ///<Description>Значение выхода при отказе датчика</Description> Err_Value : real; ///<Description>Внешний сигнал неисправности/недостоверности показаний датчика (отказ модуля ввода)</Description> Ext_error : bool; end_var var_output ///<Description>Выход отмасштабированой входной величины</Description> Out : real; ///<Description>Выход обработки ошибок</Description> Err_Sens : bool; end_var var I_HH : real := 20.8; //20.0 + (16.0 * 5.0 / 100.0); I_H : real := 20.4; //20.0 + (16.0 * 2.5 * 0.01); I_L : real := 3.6; // 4.0 - (16.0 * 2.5 * 0.01); I_LL : real := 3.2; // 4.0 - (16.0 * 5.0 * 0.01); error_LL : bool; error_HH : bool; end_var error_LL := error_LL and (IN <= I_L) or (IN < I_LL); error_HH := error_HH and (IN >= I_H) or (IN > I_HH); Err_Sens := Ext_error or error_LL or error_HH; if Err_Sens then Out := Err_Value; else Out := Low + (IN - 4.0) / 16.0 * (High - Low); if Out < Low then Out := Low; elsif Out > High then Out := High; end_if; end_if; end_function_block
Последний раз редактировалось FPavel; 14.02.2026 в 14:20.
При подключении датчика к ПРМ уже нет возможности работы с диагностическими переменными - нужно дополнять проверкой исправности ПРМ.
Плюс, с экрана ПР невозможно менять настройки аппаратных переменных (диапазона измерений) - нужно лезть в системное меню, что в эксплуатации - недопустимо.
Добрый день
К аналоговому входу ПР200 подключен датчик ДТС125М-РТ100.0,25.60.И. Вопрос - какие значения температуры надо задать в строках Нижняя и Верхняя границы. Или можно задать произвольные границы.
Последний раз редактировалось Newcomer; 15.02.2026 в 14:12.
В РЭ написано для диапазона преобразования "15": "-40" - "+80", наверно можно РЭ посмотреть, мне кажется это гораздо быстрее, чем на форуме прочитают за Вас РЭ и напишут, кстати, в РЭ даже специальный раздел есть для вашего датчика!
ДТС125М.png
Да, хотел дополнить, что задаётся диапазон преобразования нормирующего преобразователя!
Последний раз редактировалось Сергей0308; 15.02.2026 в 15:23.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Придётся дополнить, мне кажется все неправы, в смысле, в конфигураторе(насколько понимаю) можно задать свой диапазон преобразования, например вам не нужны отрицательные значения и Вы сделали диапазон преобразования 0 - 80 градусов Цельсия, тогда этот ваш диапазон(0-80) нужно указывать в настройках аналогового входа ПР200!
ТСП Pt100.png
https://owen.ru/downloads/re_dts-i_dtp-i.pdf
Последний раз редактировалось Сергей0308; 15.02.2026 в 15:47.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.