Вход

Просмотр полной версии : МВ110-8А неверный статус измерения входа



AlexVi
28.12.2023, 19:47
Здравствуйте. Входы двух модулей МВ110-8А сконфигурированы на работу с датчиками 4...20 мА и с подключенными датчиками работают правильно, то есть показания соответствуют току в петле. На все входы установлены резисторы 49,9 Ом.
При отключенных датчиках получаю статус "Измеренное значение слишком мало". "Обрыв датчика" возвращается только при отключении резистора. При превышении тока (21 мА, например) тоже получаю "Обрыв датчика".

Может быть проблема в том, что я неправильно использую перечисление из библиотеки для Мх110?
Но, если не использовать массивы, а индивидуально обрабатывать входы, ничего не меняется, результат тот же...


auiIn_mv110_status: ARRAY [1..16] OF mx110assistant.MV_SENSOR_ERROR;
awsStatus: ARRAY [1..16] OF WSTRING;
...
awsStatus[i] := Mx110Assistant.MvStatusToWstring(eStatusCode:= auiIn_mv110_status[i]);
Подскажите, пожалуйста, как можно исправить?

1exan
28.12.2023, 19:52
Здравствуйте. Входы двух модулей МВ110-8А сконфигурированы на работу с датчиками 4...20 мА и с подключенными датчиками работают правильно, то есть показания соответствуют току в петле. На все входы установлены резисторы 49,9 Ом.
При отключенных датчиках получаю статус "Измеренное значение слишком мало". "Обрыв датчика" возвращается только при отключении резистора. При превышении тока (21 мА, например) тоже получаю "Обрыв датчика".

Может быть проблема в том, что я неправильно использую перечисление из библиотеки для Мх110?
Но, если не использовать массивы, а индивидуально обрабатывать входы, ничего не меняется, результат тот же...


auiIn_mv110_status: ARRAY [1..16] OF mx110assistant.MV_SENSOR_ERROR;
awsStatus: ARRAY [1..16] OF WSTRING;
...
awsStatus[i] := Mx110Assistant.MvStatusToWstring(eStatusCode:= auiIn_mv110_status[i]);
Подскажите, пожалуйста, как можно исправить?

Подключитесь конфигуратором к модулю и посмотрите какой будет код ошибки в этих двух случаях - если будет одинаковый, то значит у вас всё правильно работает

AlexVi
28.12.2023, 20:11
Подключился конфигуратором, посмотрел состояние входов, все так и есть, как написал выше. При обрыве датчика - "Измеренное значение слишком мало", при выходе за верхнюю границу (21 мА) - "Обрыв датчика". Загадка природы, однако )) Так что в программе все правильно, а результат неправильный.
Вопрос остается: можно ли это исправить?

1exan
29.12.2023, 04:41
Подключился конфигуратором, посмотрел состояние входов, все так и есть, как написал выше. При обрыве датчика - "Измеренное значение слишком мало", при выходе за верхнюю границу (21 мА) - "Обрыв датчика". Загадка природы, однако )) Так что в программе все правильно, а результат неправильный.
Вопрос остается: можно ли это исправить?

Если MvStatusToWstring доступна для редактировния, то почему нет

Cs-Cs
29.12.2023, 09:10
Библиотека НЕ причём! 1exan неверно советует! Эта функция просто преобразовывает код ошибки, который даёт модуль, в строку!
Надо:
1. Почитать документацию на модуль. Там описаны эти самые коды ошибок каналов, и они не изменяемы: так модуль устроен и так он работает на 4..20 мА.
2. Программно обрабатывать и фильтровать эти ошибки. Образно, если "Ошибок нет" - то датчик в порядке. А если какая-то из ошибок есть - то значит есть ошибка датчика.

1exan
29.12.2023, 09:14
Библиотека НЕ причём! 1exan неверно советует! Эта функция просто преобразовывает код ошибки, который даёт модуль, в строку!
Надо:
1. Почитать документацию на модуль. Там описаны эти самые коды ошибок каналов, и они не изменяемы: так модуль устроен и так он работает на 4..20 мА.
2. Программно обрабатывать и фильтровать эти ошибки. Образно, если "Ошибок нет" - то датчик в порядке. А если какая-то из ошибок есть - то значит есть ошибка датчика.

Действительно ошибся - функция выдаёт ошибки, совпадающие с ошибками в конфигураторе

kondor3000
29.12.2023, 13:00
Подключился конфигуратором, посмотрел состояние входов, все так и есть, как написал выше. При обрыве датчика - "Измеренное значение слишком мало", при выходе за верхнюю границу (21 мА) - "Обрыв датчика". Загадка природы, однако )) Так что в программе все правильно, а результат неправильный.
Вопрос остается: можно ли это исправить?

"Обрыв датчика" показывает на термопарах и ТСП, на 4-20 мА пишет "Измеренное значение слишком мало". Так и должно быть.
Если вам надо по другому, сделайте свою обработку.

AlexVi
03.01.2024, 18:16
Спасибо всем отозвавшимся, остановился на совете №2 от Cs-Cs.

Cs-Cs
03.01.2024, 18:27
Пожалуйста!