Добрый день, каким образом детектировать отсутствие аналогово датчика типа 4-20мА или термосопротивление? Из примеров даже без датчиков, дает показания
Объявление
Свернуть
Пока нет объявлений.
Отсутствие датчика
Свернуть
X
-
Добрый день!
Предлагаю следующий вариант (датчик 4-20):
1. настройки аналогового входа - тип 0-20мА, диапазон 0..20000 попугаев (фактически мкА)
2. статус канала (обрыв/перегруз/ошибка чтения) считываем в одну переменную (AI.Err), значение с аналогового канала в другую (AI.mkA), ошибку модудя - в третью (IO_stErr)
3. выполняем обработку AI.mkA:=AI.Volmin+((AI.Volmax-AI.Volmin)/16)*(20*(AI.mkA)/20000-4) - значение в именованных единицах, где min-max - диапазон датчика
4. обрабатываем ошибки по условию: ((20*(AI.mkA)/20000)<3.85)OR(AI.Err>0)OR((20*(AI.mkA)/20000)>21.5)OR(IO_stErr), где 3,85 - 21,5 граничные значения выходного сигнала датчика (применены Метрановские сигналы аварии датчика)
по Err как итог контролируем: обрыв, перегруз, неисправность датчика, связь с модулем и работоспособность субмодуля AI - в общем-то все, что можно
если хочется без потери точности, можно расширить диапазон (0-20000) до предельной разярядности ЦАП субмодуля
-
Сообщение от -Alhimik- Посмотреть сообщениеДобрый день!
Предлагаю следующий вариант (датчик 4-20):
1. настройки аналогового входа - тип 0-20мА, диапазон 0..20000 попугаев (фактически мкА)
2. статус канала (обрыв/перегруз/ошибка чтения) считываем в одну переменную (AI.Err), значение с аналогового канала в другую (AI.mkA), ошибку модудя - в третью (IO_stErr)
3. выполняем обработку AI.mkA:=AI.Volmin+((AI.Volmax-AI.Volmin)/16)*(20*(AI.mkA)/20000-4) - значение в именованных единицах, где min-max - диапазон датчика
4. обрабатываем ошибки по условию: ((20*(AI.mkA)/20000)<3.85)OR(AI.Err>0)OR((20*(AI.mkA)/20000)>21.5)OR(IO_stErr), где 3,85 - 21,5 граничные значения выходного сигнала датчика (применены Метрановские сигналы аварии датчика)
по Err как итог контролируем: обрыв, перегруз, неисправность датчика, связь с модулем и работоспособность субмодуля AI - в общем-то все, что можно
если хочется без потери точности, можно расширить диапазон (0-20000) до предельной разярядности ЦАП субмодуля
Комментарий
-
Сообщение от Пушкарев Андрей Посмотреть сообщение
Добрый день, при использовании нового SDK , при добавлении корзины и наполнения ее модулями, есть возможность получать флаги отказов каналов.
Флаги отказов каналов действительно очень удобная вещь, в предлагаемом решении они читаются в AI,Err и "суммируются" с другими возможными неисправностями
Использование диапазона 0-20 вместо 4-20 мА в настройке типа сигнала субмодуля с последующей обработкой сигнала по условиям "<3.85mA", ">21.5mA" продиктовано статистикой наладки различных ПЛК с различными датчиками 4-20. Часто бывает следующее:
С одной стороны по РЭ на датчик (для метрана, например) "ток неисправности <=3.6mA / >=23mA". С другой - исправный датчик избыточного давления при небольшом разряжении в трубопроводе будет выдавать сигнал, например, 3,97mA, что в конкретной ситуации нормально, однако некоторые модули аналогового ввода при использовании типа входного сигнала 4-20 мА устанавливают флаг неисправность по условиям "<4mA", ">20mA". Итог - ложное срабатывание по неисправности.
Комментарий
Комментарий