PDA

Просмотр полной версии : Аналоговые входы ПЛК 160



desperadoes
07.04.2013, 10:33
Здравствуйте уважаемые пользователи! Помогите решить вопрос. Есть ПЛК 160 на его аналоговые входы подключены преобразователи (температура в 4-20мА) МТМ 400AD. Задача необходимо отлавливать обрыв датчика (ТСМ) и неисправность преобразователя. при обрыве датчика МТМ выдает 3,8 мА. Аналоговые входы у меня насроены как и преобразователи МТМ так: 4 мА -40град, 20мА 180 град. такие же и датчики ТСМ
Вот что я увидел когда ко входу ничего не подключено (0 мА) -2,658459е-036. это состояние я отлавливаю с помощью блока (LIMIT) и вывожу по нему аварию преобразователя. А вот когда происходит обрыв самого датчика т.е на входе ПЛК появляется 3,8 мА ПЛК отображает -0,936.
А это число входит в диапазон (-40 +180) и понему нет аварии.
Подскажите как сделать так что бы отлавливать оба состояния?

kgsh82
07.04.2013, 10:46
Код аварии с аналогового входа передается или в первом или в последнем байте REAL - сам точно не помню. Сканирую этот байт, можно выявить аварию. Описание точно есть в руководстве по программированию и на форуме куча примеров

desperadoes
07.04.2013, 10:50
Спасибоза ответ. в руководстве не нашел можно ссылочку?

desperadoes
07.04.2013, 11:12
Нашел в руководстве по конфигурированию. Непонятно только с адресацией. Подскажите как обратьтся к этому байту? как из вот етого вот %IR 3.0 выделить старший байт?

kgsh82
07.04.2013, 14:03
Присвоить имя в конфигурации, например temp
p:=ADR(temp);
p:=p+3;
b:=p^;
как-то так...

desperadoes
07.04.2013, 14:11
Спасибо щас попробую А p и b в каком формате должны быть byte?

kgsh82
07.04.2013, 14:20
b - byte
p - указатель на байт

desperadoes
07.04.2013, 14:39
А что значит р - указатель на байт? Я когда ставлю b - BYTE мне кодесис пишет (невозможно преобразовать DWORD в BYTE) ставлю b - DWORD. пишет (^ требует указателя)

desperadoes
07.04.2013, 14:47
Спасибо получилось. только при обрыве датчика я получаю не FB как написано в мануале а BF. наверно надо что то поменять местами. не подскажите что именно? За раннее огромное спасибо за помощь!

capzap
07.04.2013, 15:05
Спасибо получилось. только при обрыве датчика я получаю не FB как написано в мануале а BF. наверно надо что то поменять местами. не подскажите что именно? За раннее огромное спасибо за помощь!

Может пора завязывать с изобретательством, в одной из библиотек от овена есть фб который расшифровывает аварии

desperadoes
07.04.2013, 15:29
АГА называется Lib PLC 160. Lib и написано что она идет на диске с дистриутивом (НО ТАМ ЕЁ НЕТ) А где взять не знаю

desperadoes
07.04.2013, 16:03
У меня еще вопрос ко всем кто знает. Калибруются ли аналоговые входа на ПЛК 160, на ПЛК 150 и 154 занаю что калибруются. А то я в конфигураторе задаю диапазон от 0 до 6 кг\см, а у меня 0 появляется только при 4,3 мА. 4,3мА задаю калибратором.

petera
08.04.2013, 11:14
Спасибо получилось. только при обрыве датчика я получаю не FB как написано в мануале а BF. наверно надо что то поменять местами. не подскажите что именно? За раннее огромное спасибо за помощь!
У овена есть библиотека "Owen_FB.lib" и в ней DECODE_FLOAT. Непомню почему, но мне в нем что-то не понравилось и я сделал свой болок.
Посмотрите здесь http://www.owen.ru/forum/showpost.php?p=106336&postcount=7

desperadoes
08.04.2013, 19:34
Спасибо огромное. Но этот блок построен на получении из старшего байта значения. И этот способ работает для датчиков от 0 до 20 мА. На датчике в 4 -20 мА при обрыве датчика в старшем байте появляется FB. Но FB там появляется когда датчик переходит через ноль (в отрицательных температурах) если датчик меряет температуру на улице зимой, как выявить ошибку?

petera
09.04.2013, 01:14
Спасибо огромное. Но этот блок построен на получении из старшего байта значения. И этот способ работает для датчиков от 0 до 20 мА. На датчике в 4 -20 мА при обрыве датчика в старшем байте появляется FB. Но FB там появляется когда датчик переходит через ноль (в отрицательных температурах) если датчик меряет температуру на улице зимой, как выявить ошибку?
Ни чего подобного!
Для датчика 4-20 мА код FB ("Сигнал на входе меньше возможного") появится когда значение входного тока станет меньше 4 мА, т.е. например 3.99999 мА. А не при "переходе датчика через ноль"
И отрицательные температуры в показаниях здесь ни причем! Вы же указали диапазон измерения используемого датчика (4 мА -40град, 20мА 180 град)
Пока значение входного тока не станет меньше 4.0 мА, ни какого кода FB в старшем байте результата измерения не будет.
На выходе Rezultat ФБ будет измеренное значение, выход Err:=FALSE в том числе и для отрицательных температур. Вплоть до минус 40 гр.
А как только значение входного тока станет меньше 4.0 мА(меньше минус 40гр),то на выходе ФБ будет Err:=TRUE, а вместо результата измерения на выходе Rezultat - заданное минимальное значение.

desperadoes
09.04.2013, 04:31
Хорошо! объясните мне ЭТО!!! При этом ток 3,8 мА

petera
09.04.2013, 07:12
Хорошо! объясните мне ЭТО!!! При этом ток 3,8 мА
А что Вы хотели там увидеть?
Где результат работы DECODE_FLOAT ?

desperadoes
09.04.2013, 07:52
Ну по идее если я в конфигураторе ставлю 4 мА -40 а 20мА 180 то 3,8мА уже должна быть авария значение ниже нижнего уровня.
DECODE_FLOAT непробовал, попробую только через 2 дня. Сейчас пойду домой

Валенок
09.04.2013, 11:03
Для датчика 4-20 мА код FB ("Сигнал на входе меньше возможного") появится когда значение входного тока станет меньше 4 мА, т.е. например 3.99999 мА.
Не парьтесь. Замеряет и показывает где-то около 3.7.. 23
А за ними - СЛИШКОМ НИЗКОЕ или ВЫСОКОЕ соответственно.
И слава богу.

PS
Нормальные поцаны для таких датчиков вводят пару устанвливамых юзером параметров типа значения для 4 и для 20. Этого - за глаза для преобразования/калибровки конкретного измерителя

desperadoes
09.04.2013, 19:09
PS
Нормальные поцаны для таких датчиков вводят пару устанвливамых юзером параметров типа значения для 4 и для 20. Этого - за глаза для преобразования/калибровки конкретного измерителя

Объясните плиз подробней, не понял.

desperadoes
09.04.2013, 19:20
Нашел я библиотеку Owen_FB.lib только написано что она ПЛК 63 подойдет ли она для моего ПЛК 160?

Николаев Андрей
10.04.2013, 08:31
Должна была быть на диске с контроллером или на диске с сайта:
http://www.owen.ru/catalog/41147932
Если не обнаружили: пишите на support@owen.ru
Все вышлем.

desperadoes
10.04.2013, 12:52
На диске она есть в папке библиотеки ОВЕН для ПЛК 63_73, подойдет ли она для ПЛК 160, ведь в папке библиотеки для всех ПЛК её нет? попробую задать вопрос еще раз Калибруются ли аналоговые входа на ПЛК 160, на ПЛК 150 и 154 занаю что калибруются. А то я в конфигураторе задаю диапазон от 0 до 6 кг\см, а у меня 0 появляется только при 4,3 мА. 4,3мА задаю калибратором.

petera
10.04.2013, 13:12
На диске она есть в папке библиотеки ОВЕН для ПЛК 63_73, подойдет ли она для ПЛК 160, ведь в папке библиотеки для всех ПЛК её нет? попробую задать вопрос еще раз Калибруются ли аналоговые входа на ПЛК 160, на ПЛК 150 и 154 занаю что калибруются. А то я в конфигураторе задаю диапазон от 0 до 6 кг\см, а у меня 0 появляется только при 4,3 мА. 4,3мА задаю калибратором.
По поводу DECODE_FLOAT.
Для других ПЛК этот ФБ находится в библиотеке "PID_Regulators.lib".
Я уже писал в посте #13 про то, что делал свой аналогичный блок http://www.owen.ru/forum/showpost.php?p=106336&postcount=7 он работает не хуже.
ФБ от Овена меня не устроил потому, что
При разных ошибках измерения хочу иметь разные предустановленные значения на выходе ФБ, а не одно и тоже, как сделано в DECODE_FLOAT.
Масштабирование в конфигурации намеренно не делаю. Этим даю возможность потребителю использовать датчики с другим диапазоном измерения.
Т.е не только 0 до 6 кг\см, а например 0 до 10 кг\см
В конфигурации аналоговых входов задаю MinFV=4,00 MaxFV=20.00 Т.е так, как приходит с датчика. Масштабирование диапазона измерения в делаю в программе с помощью ФБ F_LIN2 из OSCAT, можно взять LIN_TRAFO из UTIL.LIB.
Коэффициенты масштабирования для F_LIN2 или LIN_TRAFO, можно менять с панели.
Этим можно выполнить и калибровку

desperadoes
10.04.2013, 15:01
Спасибо за ответ Ваш ФБ я ухе вставил себе в программу если Вы не против:)

Samel
10.04.2013, 20:03
Всем добрый вечер. Столкнулся со следующей проблемой – перестали обновляться значения с аналоговых входов(в рабочих переменных остались старые значения). Были подозрения что подвис ПЛК, хотя связь с панелью оператора и другими устройствами присутствовала. После сброса питания с контроллера все заработала. Может кто сталкивался с данной проблемой?

Евгений_Томск
10.04.2013, 20:15
Многие сталкивались,и у нас два ПЛК150 такие, виснут входа через 1...6 месяцев.Действенного лекарства от производителя не получили.И похоже не дождёмся.Разные танцы не помогли...

desperadoes
10.04.2013, 20:42
ОГО! Это ж сколько беды может наделать такая нехорошая ошибка!!! Если б у нас на регуляторе коксового газа, коксовой батареи, случилась такая ситуация коксовая батарея взорвалась бы. это ж можно весь коксохим завод взорвать. Наверно не зря поставили резервированную систему из двух S7-400

Samel
11.04.2013, 10:48
Может придумать авторесет?)

desperadoes
11.04.2013, 11:50
Может и придумать! Только если б знать что такое случится?! Я вот только вчера об этом первый раз услышал, а об скольком я ещё не знаю?!

Samel
12.04.2013, 08:58
Тут воврос в чем - искать косяк у себя в коде или это проблема owen

desperadoes
12.04.2013, 12:11
Многие сталкивались,и у нас два ПЛК150 такие, виснут входа через 1...6 месяцев.Действенного лекарства от производителя не получили.И похоже не дождёмся.Разные танцы не помогли...
Наврядли код програмы работает от1 до 6 месяцев а дальше глючит

Samel
12.04.2013, 18:23
У меня через 3 недели первый гялюк наблюдался(

desperadoes
12.04.2013, 18:42
Если не у Вас одного, то едва ли, это в программе дело

Samel
16.04.2013, 08:41
Опять перестали обновлятся значения с аналоговых входов. Что делать дальше, где копать даже не занаю????

petera
16.04.2013, 11:47
Опять перестали обновлятся значения с аналоговых входов. Что делать дальше, где копать даже не занаю????
Скажите, Samel.
А у Вас все 8 входов задействованы?
Если не все, то в каком состоянии не используемые - просто не подключены или закорочены перемычками?
Какие аналоговые датчики используются - с токовым выходом или напряжением или ТСМ?

Михаил Иванович
16.04.2013, 13:55
Скажите, Samel.
А у Вас все 8 входов задействованы?
Если не все, то в каком состоянии не используемые - просто не подключены или закорочены перемычками?
Какие аналоговые датчики используются - с токовым выходом или напряжением или ТСМ?

А какая, собственно, разница? Этого явления не должно быть в принципе! Опять видим традиционную попытку увести разговор в сторону от дефектов продукции.

Samel, если прибор гарантийный - надо обращаться в сервисный отдел и требовать замены. Если не гарантийный, то покупать новый, ставить, а этот отдавать в ремонт, если экономически целесообразно. Естественно, в том случае, если принято решение оставаться с продукцией Овена. В любом случае, надо четко понимать границы ее применимости. У нас была проблема с аналоговыми входами ПЛК-150. Похоже, что ПЛК-160 имеет те же самые врожденные дефекты. Мы прикинули, решили, что их работа сильно навредить не сможет, отследить сбои мы сможем, поэтому в будущем, если проект пойдет, можно будет просто покупать запасные. Решение было принято по многим факторам, но в том числе и с учетом приемлемой для такой тактики цены. Но ставить ПЛК-150 и его клоны на участки, где требуется надежная работа аналоговых входов нельзя.

Samel
16.04.2013, 20:57
Используется 5 входов из 8; Все датчики 4-20мА; Не используемые входы висят в воздухе

Евгений_Томск
17.04.2013, 18:45
Наврядли код програмы работает от1 до 6 месяцев а дальше глючит На одном ПЛК входа измеряют термосопротивления (подключено только 2 датчика из четырёх), на другом аналоговые 2 входа переназначены в дискретные,3вход: настроен на термопару TP_L (но датчик не подключен); 4-й вход унифицированный до 20-ти (датчик не подключен).По сути, на втором ПЛК подключены всего две независимых кнопки на два аналоговых входа,но при этом всё равно входа отваливаются.Приходится изворачиваться ,чтобы сохранить функционал оборудования на хромом ПЛК150.