Здравствуйте, все!
Использую контроллер аналогового ввода WB-MAI6. Настроил работу канала IN1P как измерение однополярного напряжения 0-10В (тип 0x1401). Вот другие настройки канала:
Data Rate - 20
Число непрерывных измерений - 8
Характерное время lowpass-фильтра - 100мс
Коэффициент усиления - 1
При резком изменении напряжения от 1В до 9-ти в показаниях измеренного значения проскакивает 0x7FFFFFFF. В документации не нашёл - что это означает? Пробовал устанавливать разные значения коэф.усиления (в том числе и AUTO) - показания текущего коэфициента усиления не меняются.
Ситуация стабильно повторяется.
Кто-нибудь может объяснить что это (0x7FFFFFFF) и как это обрабатывать?
Я попробовал, подавая 0-10 с WB-MAO4 на канал WB-MAI6.
Подобного не увидел.
Как описано в документации значение ошибки.
Уточните пожалуйста - из какого регистра читаете это значение?
0x1500
Пользуюсь программами Rilheva и собственной.
У меня документация в виде .docx файлов. В ней нет поля примечания.
При плавном изменении напряжения тоже проявляется. Подозреваю, что это от переключения коэф.усиления наступает переполнение. Но я ставил и фиксированный.
Не смотря на то, что я задал коэф.усиления 1, канал переключает текущий коэф.усиления. А перед тем как тек.коэф.усиления переключается наступает переполнение и 0x7FFFFFFF.
В автоматическом режиме тот-же эффект.
Андрей, здравствуйте.
Обновил ПО до 2.1.5 - не помогло.
Заметил, что при медленном увеличении ПЕРЕД переключением текущего коэф.усиления с 1 на 4 выдаётся 0x7FFFFFFF. Промежуточного коэфициента усиления 2 не заметил, сразу перескакивает на 4.
Жаль, что нельзя прикрепить файл - приложил-бы видео.
mosquitto_sub -v -t "/devices/wb-mai6_13/controls/IN 1 P Value/#" |ts
...
Oct 15 11:05:17 /devices/wb-mai6_13/controls/IN 1 P Value 3578
Oct 15 11:05:17 /devices/wb-mai6_13/controls/IN 1 P Value 3601
Oct 15 11:05:18 /devices/wb-mai6_13/controls/IN 1 P Value 3609
Oct 15 11:05:18 /devices/wb-mai6_13/controls/IN 1 P Value 4069
Oct 15 11:05:18 /devices/wb-mai6_13/controls/IN 1 P Value 4199
Oct 15 11:05:18 /devices/wb-mai6_13/controls/IN 1 P Value 4235
Oct 15 11:05:19 /devices/wb-mai6_13/controls/IN 1 P Value 4246
Oct 15 11:05:19 /devices/wb-mai6_13/controls/IN 1 P Value 4248
Oct 15 11:05:19 /devices/wb-mai6_13/controls/IN 1 P Value 4249
Oct 15 11:05:20 /devices/wb-mai6_13/controls/IN 1 P Value 4298
Oct 15 11:05:20 /devices/wb-mai6_13/controls/IN 1 P Value/meta/error r
Oct 15 11:05:21 /devices/wb-mai6_13/controls/IN 1 P Value 4957
Oct 15 11:05:21 /devices/wb-mai6_13/controls/IN 1 P Value/meta/error (null)
Oct 15 11:05:21 /devices/wb-mai6_13/controls/IN 1 P Value 4959
Oct 15 11:05:35 /devices/wb-mai6_13/controls/IN 1 P Value 4960
Oct 15 11:05:35 /devices/wb-mai6_13/controls/IN 1 P Value 4959
Oct 15 11:05:41 /devices/wb-mai6_13/controls/IN 1 P Value 4960
Oct 15 11:05:41 /devices/wb-mai6_13/controls/IN 1 P Value 4959
Oct 15 11:05:42 /devices/wb-mai6_13/controls/IN 1 P Value 4960
Именно в момент переключения делителя в регистр пересчитанного значения выводится значение ошибки.
Которое как раз указано как признак ошибки - и вызывает выставление “meta/error r”.
Соответственно значение игнорируется автоматически.
Уточню у разработчиков. Но верный подход - просто игнорировать его, если не нужна обработка ошибок.
Игнорировать можно, но не всегда.
Тогда такой вопрос. Есть-ли гистерезис при автоматическом переходе на следующий коэф. усиления и обратно?
Поясню. Если гистерезиса нет тогда возле точки смены к.усиления, показания будут часто пропадать.