ADAM-5017H 30% недостоверных данных. |
Ответить |
Автор | |
Новичок Присоединился: 23 Январь 2009 Online Status: Offline Публикации: 3 |
Опубликовано: 23 Январь 2009 17:41 |
Помогите разобраться с проблемой: 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 (скорость измерений теперь не так критична - изменили ТЗ)
|
|
Новичок Присоединился: 20 Январь 2009 Online Status: Offline Публикации: 7 |
|
Camerade, ничего страшного.
Схема подключения не помешает. У них вроде целых 1000Гц...(о полосе) Чем и как смотришь, тоже не плохо рассказать. Иногда пользуясь С\С++ бывает, забывают о разрядности представления float. PS. Для малой автоматизации пользую вышеприведёные утройства начиная с серии 3. Мелкие придирки есть, но вообщем нормально. И даже вспомнил, что именно 5510М с 5018 и 5061 давно (лет 5) честно работают, можно код поднять.(как я понимаю, это речь о hio(буква).lib и, частично, об utility(буква).lib идёт) |
|
Новичок Присоединился: 23 Январь 2009 Online Status: Offline Публикации: 3 |
|
Схема простая, импульсник 220 - > 24 питает крейт, все входы включены параллельно и подключены к источнику питания (не помню какой, но хороший) напрямую без фильтров. Смотрю очеь просто - вывожу код в окно терминала. Для определения статистики писал програмку подсчета "вылетевших" значений. Никуда их не пересчитывал, модуль возвращает тип int, его и анализирую. Насчет 1000 гц - да, пусть будут десяток-другой ЕМР прыгают, усредним. Но у меня значения вылетают "конкретно" - вместо 3 вольт может и 1 показать. Тут что-то не так. Про библиотеки вы тоже правы, именно их и использую. Код вряд ли поможет - я же их стабильно считываю стандартными командами, тут сами библиотеки скорее виноваты... У низкоскоростных модулей есть команда ожидания обновления данных, а у "высокоскоростных" такой команды нет. Или это только у меня так?
|
|
Новичок Присоединился: 20 Январь 2009 Online Status: Offline Публикации: 7 |
|
Что-бы небыло непоняток.
Делаешь так? __________________________ Init5017H(Slot); High_Speed(); for(j=0;j<8;j++) Get5017H_P1(Slot,j,&array[j]); Normal_Speed(); ___________________________ |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Октябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 359 |
|
Я столкнулся с таким явление несколько лет назад. Опрос модулей 5017H производил через фирменный OPC-сервер от Advantech. В местном представительстве Прософта железо приняли, протестировали и сказали, что всё ОК. Посоветовали посмотреть схему подключения, сделать гальваническую развязку и заземление всего, что можно. Пробовал подключать на вход батарейку, но с неё сигнал так же плавает. Пришлось модули отложить до лучших времен. P/S. В Прософте сказали, что продают такие модули в большом кол-ве, странно, что такие проблемы у других не возникают. |
|
Новичок Присоединился: 23 Январь 2009 Online Status: Offline Публикации: 3 |
|
Не так у меня. Просто цикл и все. Очень интересно, а у меня в описаниях библиотек нет функций High_Speed() и Normal_Speed(). Да и Get5017H без _P1. Я, конечно, попробую их вставить, но догадываюсь, что об этом скажет компилятор... Прототипы функций библиотечных смотрел - ничего лишнего, чего нет в описаниях. Может мне обновления какие скачать? |
|
Новичок Присоединился: 20 Январь 2009 Online Status: Offline Публикации: 7 |
|
Да нормально всё.
Компилятор ругаться не будет ибо описание и реализация в соответствующих либах присутствует. Из файла adam5510.h /*------ utility.lib declaration -----*/ void Normal_Speed_Up(void); void High_Speed(void); /*------ hio.lib declaration -----*/ void Init5017H(int Slot); void Get5017H(int Board,int Channel,void *pValue); void Get5017H_P1(int Board,int Channel,void *pValue); void Get5017H_P2(int Board,int Channel,void *pValue); void GetRange5017H(int Board,int Channel,void *pValue); Правдна немножко кривовато, функция описывается как void Normal_Speed_Up(void); а в соответствующией библиотеке есть функция Normal_speed без всяких там _Up. Ну китайцы, что с них ещё взять :-) |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |