PDA

Просмотр полной версии : Контроль за состоянием датчика



сергей тверь
08.05.2017, 21:00
Уважаемые знатоки, подскажите пожалуйста кто как реализовал контроль за состоянием (работой) подключенных к ПР датчиков (меня интересует 4-20 ма.).

SA104
08.05.2017, 22:30
Уважаемые знатоки, подскажите пожалуйста кто как реализовал контроль за состоянием (работой) подключенных к ПР датчиков (меня интересует 4-20 ма.).
Какую задачу (алгоритм) хотите реализовать?

сергей тверь
09.05.2017, 08:29
Хочу следить за "уходом" показаний за границы измеряемой величины ниже нуля и выше порога измерений для датчика). Из своего опыта вижу, что при обрыве одного из проводов датчика показания сваливаются ниже нуля, а при неправильных настройках входа, или масштаба измерений, уползают вверх до неадекватных значений. Програмку хотел собрать таким образом, что бы при выходе за границы измерений (мне кажется сравнение с константой) работа входа блокировалась и появлялся сигнал о наличии некорректной работы (сетевая переменная привязанная к аварийному экрану или сообщению). Разобрался как сравнить, как получить аварийный сигнал, а вот как заблокировать работу входа не понимаю. А может я вообще не правильно подошел к решению ?

SA104
09.05.2017, 09:50
Вы лучше задачу в общем виде опишите, что за датчик, какой тип выхода, а потом уже можно будет решить,
как отслеживать его неисправность или обрыв.

petera
09.05.2017, 14:12
Хочу следить за "уходом" показаний за границы измеряемой величины ниже нуля и выше порога измерений для датчика). Из своего опыта вижу, что при обрыве одного из проводов датчика показания сваливаются ниже нуля, а при неправильных настройках входа, или масштаба измерений, уползают вверх до неадекватных значений. Програмку хотел собрать таким образом, что бы при выходе за границы измерений (мне кажется сравнение с константой) работа входа блокировалась и появлялся сигнал о наличии некорректной работы (сетевая переменная привязанная к аварийному экрану или сообщению). Разобрался как сравнить, как получить аварийный сигнал, а вот как заблокировать работу входа не понимаю. А может я вообще не правильно подошел к решению ?

Например так
31025
Здесь при появлении сигнала Error, на выходе fSEL будет "заморожено" последнее правильное значение полученное от датчика.
Значения для Мин и Макс показаны условно.

Сергей0308
09.05.2017, 14:24
Например так
31025
Здесь при появлении сигнала Error, на выходе fSEL будет "заморожено" последнее правильное значение полученное от датчика.
Значения для Мин и Макс показаны условно.

Чем больше читаю, тем более непонятным становится! Надо где код ошибки считывать или вход работает и за пределами диапазона 4-20 мА???

Irgy
10.05.2017, 12:24
Чем больше читаю, тем более непонятным становится! Надо где код ошибки считывать или вход работает и за пределами диапазона 4-20 мА???

Не усложняйте, нет тут никакого кода ошибки, просто программная самописная диагностика. В примере выше наглядно показали как все просто реализовать: если показания внутри допустимого диапазона (констант -10 и 110), то Error = 0, а Val = действительному текущему значению, если показания вышли за допустимый диапазон, то Error = 1, Val = последнему действительному значению до момента когда Error стала = 1. Вход работает немного за пределами диапазона.

сергей тверь
10.05.2017, 12:32
Спасибо за ответы. Направление понял, сегодня вечером буду экспериментировать.

Сергей0308
10.05.2017, 13:09
Не усложняйте, нет тут никакого кода ошибки, просто программная самописная диагностика. В примере выше наглядно показали как все просто реализовать: если показания внутри допустимого диапазона (констант -10 и 110), то Error = 0, а Val = действительному текущему значению, если показания вышли за допустимый диапазон, то Error = 1, Val = последнему действительному значению до момента когда Error стала = 1. Вход работает немного за пределами диапазона.

Ваш ответ понятен, Вы утверждаете что вход работает вне диапазона 4-20 мА! Если не изменяет память, кажется Алексей Геннадиевич говорил что можно и код считать, для варианта с ошибкой превышение максимального тока, но если, как Вы утверждаете вход работает вне диапазона 4-20 мА, то никаких проблем не должно возникнуть!

melky
10.05.2017, 13:16
Вход работает вне диапазона 0-20 мА даже..

Irgy
10.05.2017, 13:33
Ваш ответ понятен, Вы утверждаете что вход работает вне диапазона 4-20 мА! Если не изменяет память, кажется Алексей Геннадиевич говорил что можно и код считать, для варианта с ошибкой превышение максимального тока, но если, как Вы утверждаете вход работает вне диапазона 4-20 мА, то никаких проблем не должно возникнуть!

Насчет считывания кода - был бы рад увидеть кто и что о нем говорил, если есть ссылка на страницу форума - делитесь :) Я думаю Вы путаете с возможность чтения кода неисправности, выдаваемого макросами пересчета сопротивления в температуру.

Стандарт диапазона 4..20мА, насколько мне известно, задумывался как раз для расширения возможностей диагностики сигнала, при его уходе за нижнюю границу диапазона - в противовес устаревшему стандарту 0..20мА. АЦП контроллера фактически умеет работать с диапазоном шире чем 4..20мА, но для программы по стандарту действительными являются значения от 4мА до 20мА, соответственно все значения ниже или выше диапазона (не строго ниже/выше, а на определяемый программистом %, я, к примеру, беру 2.5-3% диапазона, в примере выше - 10%) можно считать неисправностью датчика и программно генерировать ошибку, что и сделано в представленном выше примере.

Ревака Юрий
10.05.2017, 14:40
Уважаемые знатоки, подскажите пожалуйста кто как реализовал контроль за состоянием (работой) подключенных к ПР датчиков (меня интересует 4-20 ма.).

В онлайн базе есть макрос CONV 4..20, почитайте на него описание, возможно это Вам подойдет.

сергей тверь
10.05.2017, 16:40
Вы не могли бы поделится макросом FSEL. Не доходит как он внутри устроен.

сергей тверь
10.05.2017, 16:43
СПАСИБО, это именно оно. В одном макросе ответ на мой следующий вопрос который как раз про масштабирование.

Ревака Юрий
10.05.2017, 16:47
Вы не могли бы поделится макросом FSEL. Не доходит как он внутри устроен.

Этот макрос так же есть в онлайн базе, он так же скачивается с большинством макросов.

Алексей Геннадьевич
16.05.2017, 09:17
Уважаемые знатоки, подскажите пожалуйста кто как реализовал контроль за состоянием (работой) подключенных к ПР датчиков (меня интересует 4-20 ма.).
У меня такой скалер.

сергей тверь
26.06.2017, 18:28
Интересный макрос, а вы не могли бы пояснить по входам выходам.

Алексей Геннадьевич
27.06.2017, 09:02
Интересный макрос, а вы не могли бы пояснить по входам выходам.
Sens -входной сигнал.
Max -максимальный уровень выходного сигнала
min - минимальный уровень выходного сигнала
Выхода:
Q1 - отмасштабированный сигнал
max - авария (превышение входного сигнала) (короткое замыкание датчика, авария датчика)
min - авария (низкий уровень входного сигнала) (обрыв датчика)
В "свойствах макроса"
вход мин - минимальный уровень входного сигнала (4)
вход макс - максимальный уровень входного сигнала (20)
alr min - % от минимального уровня вх. сигнала, менее которого сработает защита (активируется выход min ) =>3,2
alr max -% от максимального уровня вх сигнала, более которого сработает защита (активируется выход max) =<20,4
Вход ПР должен быть настроен соответствующим образом - минимум 4, максимум - 20

сергей тверь
27.06.2017, 17:29
Спасибо, очень полезная и простая штука.