Вход

Просмотр полной версии : Обработка аналоговых значений на ПЛК



nikutuzov
22.09.2024, 14:25
Добрый день!

Прошу подсказать по вопросу обработки входных аналоговых значений с модулей Mx210 и ПЛК210. Есть библиотека Mx210assistant, в которой есть функцию для чтения кода ошибки. В коде программы использовались функции данной библиотеки, при наличии кода отличного от нуля выдавалась ошибка модуля и остановка процесса. При этом, были ситуации когда значение токового входа было незначительно ниже 4мА (3.95) и функцией выдавалась ошибка, процесс останавливался. Хотелось бы исключить подобные ситуации. При этом проверять все коды ошибок тоже не хочется. Эффективно ли просто постоянно проверять значение аналогового входа (>3.95 и <21) и в случае выхода за данный диапазон выдавать ошибку модуля и останавливать процесс (при этом диагностика связи с модулем осуществляется отдельно)? Для остановки процесса не принципиально знать именно конкретную неисправность модуля.
Благодарю.

kondor3000
22.09.2024, 14:35
Зависит от того, что вам нужно. Если вас устроит проверка на (>3.95 и <20.05), то делайте.
21 это слишком много.

In_Da_Cher_A
22.09.2024, 15:41
В коде программы использовались функции данной библиотеки, при наличии кода отличного от нуля выдавалась ошибка модуля и остановка процесса.Хотелось бы исключить подобные ситуации. не останавливайте процесс, вот и всё

nikutuzov
22.09.2024, 18:57
Благодарю, наверное так и сделаю, проверяя значение на соответствие диапазону. При ошибке аналогового входа, в данном случае процесс лучше остановить, довольно много завязано на показания

In_Da_Cher_A
23.09.2024, 09:15
Благодарю, наверное так и сделаю, проверяя значение на соответствие диапазону. При ошибке аналогового входа, в данном случае процесс лучше остановить, довольно много завязано на показанияну если в ходе процесса, параметр принимает "нулевое" значение, значит в обработку надо добавлять другие условия - открытая задвижка, включенный насос и т.д.
Кроме того, если датчик и параметр настолько важны для процесса, то в нормальных АСУ ТП, подобные датчики выделают в систему защит, ПАЗ, и прочие системы безопасности, и используют не одни, а два или даже три датчика, и делают сработку 2 из 2, или 2 из 3, а датчики сажают на разные модули
Вы тормозите процесс по "ошибке аналогового ввода", при этом сами не можете сформулировать, что это такое и определить достоверно - это модуль отлетел, датчик вышел из строя или просто параметр в какой-то момент принимает нижнее значение диапазона.
Так если он в процессе может принимать такие значение, какая это ошибка? он же не просто так "упал" до низа, делайте грамотную обработку, а не тупо совать билиотечные блоки

Задумкин Сергей
24.09.2024, 09:11
Для датчиков 4-20 мА предпочитаю настраивать аналоговый вход МВ210/ПЛК как 0-20 мА, читать миллиамперы и самому их переводить в физические величины. Так вы увидите диапазон от 0 до 4 мА. Некоторый датчики сообщают о своей неисправности путем снижения выходного значения до каких-нибудь 3-3,5 мА (обычно об этом написано в в руководстве на датчик). Если 0 мА, то обрыв. Также отдельно читаю состояние канала и состояние связи с модулем (если это модуль). И из этого всего уже собираю целостную картину