Помогите разобраться с проблемой: ADAM 5510M с двумя 5050, 5017H и 5018. 5017H сконфигурирован на измерение напряжений в диапазоне 0 - 10В, все входы пока запараллелены. Подаю сигнал 3В (пробовал и датчик с 1кОм выходным сопротивлением и источник питания). При анализе измеренных значений выяснил, что от 18 до 30% данных не попадают в окно + /- 15%. Они практически случайные, но чаще встречаются от 2.5 до 3.5 вольт. Анализировал на больших выборках от 10000 измерений выше. Остальные данные точные. Пользуюсь "родными" библиотеками из комплекта поставки. Пробовал задержку между измерениями до 100 мс - лучше не становится. Такое ощущение, что коммутация сигнала и считывание ацп несинхронны. Тут же для сравнения подключил 5018 на диапазоне 2.5В при входном 2В - ни одного "вылетевшего" значения. Подскажите, как выкрутиться? Неужели переходить на 5017 или еще один 5018 (скорость измерений теперь не так критична - изменили ТЗ)
Camerade, ничего страшного.
Схема подключения не помешает.
У них вроде целых 1000Гц...(о полосе)
Чем и как смотришь, тоже не плохо рассказать.
Иногда пользуясь С\С++ бывает, забывают о разрядности представления float.
PS. Для малой автоматизации пользую вышеприведёные утройства начиная с серии 3. Мелкие придирки есть, но вообщем нормально.
И даже вспомнил, что именно 5510М с 5018 и 5061 давно (лет 5) честно работают, можно код поднять.(как я понимаю, это речь о hio(буква).lib и, частично, об utility(буква).lib идёт)
Схема простая, импульсник 220 - > 24 питает крейт, все входы включены параллельно и подключены к источнику питания (не помню какой, но хороший) напрямую без фильтров. Смотрю очеь просто - вывожу код в окно терминала. Для определения статистики писал програмку подсчета "вылетевших" значений. Никуда их не пересчитывал, модуль возвращает тип int, его и анализирую. Насчет 1000 гц - да, пусть будут десяток-другой ЕМР прыгают, усредним. Но у меня значения вылетают "конкретно" - вместо 3 вольт может и 1 показать. Тут что-то не так. Про библиотеки вы тоже правы, именно их и использую. Код вряд ли поможет - я же их стабильно считываю стандартными командами, тут сами библиотеки скорее виноваты... У низкоскоростных модулей есть команда ожидания обновления данных, а у "высокоскоростных" такой команды нет. Или это только у меня так?
Что-бы небыло непоняток.
Делаешь так?
__________________________
Init5017H(Slot);
High_Speed();
for(j=0;j<8;j++)
Get5017H_P1(Slot,j,&array[j]);
Normal_Speed();
___________________________
Я столкнулся с таким явление несколько лет назад. Опрос модулей 5017H производил через фирменный OPC-сервер от Advantech. В местном представительстве Прософта железо приняли, протестировали и сказали, что всё ОК. Посоветовали посмотреть схему подключения, сделать гальваническую развязку и заземление всего, что можно. Пробовал подключать на вход батарейку, но с неё сигнал так же плавает. Пришлось модули отложить до лучших времен.
P/S. В Прософте сказали, что продают такие модули в большом кол-ве, странно, что такие проблемы у других не возникают.
Первоначально опубликовано s_sergew
Что-бы небыло непоняток.
Делаешь так?
__________________________
Init5017H(Slot);
High_Speed();
for(j=0;j<8;j++)
Get5017H_P1(Slot,j,&array[j]);
Normal_Speed();
___________________________
Не так у меня. Просто цикл и все. Очень интересно, а у меня в описаниях библиотек нет функций High_Speed() и Normal_Speed(). Да и Get5017H без _P1. Я, конечно, попробую их вставить, но догадываюсь, что об этом скажет компилятор... Прототипы функций библиотечных смотрел - ничего лишнего, чего нет в описаниях. Может мне обновления какие скачать?
Да нормально всё.
Компилятор ругаться не будет ибо описание и реализация в соответствующих либах присутствует.
Правдна немножко кривовато, функция описывается как
void Normal_Speed_Up(void);
а в соответствующией библиотеке есть функция Normal_speed без всяких там _Up. Ну китайцы, что с них ещё взять :-)
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме