Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > ПЛК и микроконтроллеры
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

ADAM-5017H 30% недостоверных данных.

 Ответить Ответить
Автор
Сообщение
Alek Смотреть выпадающим
Новичок
Новичок


Присоединился: 23 Январь 2009
Online Status: Offline
Публикации: 3
Свойства публикации Свойства публикации   Ответить, цитируя автора - Alek Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: ADAM-5017H 30% недостоверных данных.
    Опубликовано: 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 (скорость измерений теперь не так критична - изменили ТЗ)
Наверх
s_sergew Смотреть выпадающим
Новичок
Новичок


Присоединился: 20 Январь 2009
Online Status: Offline
Публикации: 7
Свойства публикации Свойства публикации   Ответить, цитируя автора - s_sergew Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Январь 2009 18:53
Camerade, ничего страшного.
Схема подключения не помешает.
У них вроде целых 1000Гц...(о полосе)
Чем и как смотришь, тоже не плохо рассказать.
Иногда пользуясь С\С++ бывает, забывают о разрядности представления float.

PS. Для малой автоматизации пользую вышеприведёные утройства начиная с серии 3. Мелкие придирки есть, но вообщем нормально.
И даже вспомнил, что именно 5510М с 5018 и 5061 давно (лет 5) честно работают, можно код поднять.(как я понимаю, это речь о hio(буква).lib и, частично, об utility(буква).lib идёт)
Наверх
Alek Смотреть выпадающим
Новичок
Новичок


Присоединился: 23 Январь 2009
Online Status: Offline
Публикации: 3
Свойства публикации Свойства публикации   Ответить, цитируя автора - Alek Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Январь 2009 15:09
Схема простая, импульсник 220 - > 24 питает крейт, все входы включены параллельно и подключены к источнику питания (не помню какой, но хороший) напрямую без фильтров. Смотрю очеь просто - вывожу код в окно терминала. Для определения статистики писал програмку подсчета "вылетевших" значений. Никуда их не пересчитывал, модуль возвращает тип int, его и анализирую. Насчет 1000 гц - да, пусть будут десяток-другой ЕМР прыгают, усредним. Но у меня значения вылетают "конкретно" - вместо 3 вольт может и 1 показать. Тут что-то не так. Про библиотеки вы тоже правы, именно их и использую. Код вряд ли поможет - я же их стабильно считываю стандартными командами, тут сами библиотеки скорее виноваты... У низкоскоростных модулей есть команда ожидания обновления данных, а у "высокоскоростных" такой команды нет. Или это только у меня так?
Наверх
s_sergew Смотреть выпадающим
Новичок
Новичок


Присоединился: 20 Январь 2009
Online Status: Offline
Публикации: 7
Свойства публикации Свойства публикации   Ответить, цитируя автора - s_sergew Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Январь 2009 05:53
Что-бы небыло непоняток.
Делаешь так?

__________________________
   Init5017H(Slot);

   High_Speed();

   
     for(j=0;j<8;j++)
          Get5017H_P1(Slot,j,&array[j]);

   Normal_Speed();
___________________________
Наверх
uzga Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 07 Октябрь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 359
Свойства публикации Свойства публикации   Ответить, цитируя автора - uzga Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Январь 2009 06:17

Я столкнулся с таким явление несколько лет назад. Опрос модулей 5017H производил через фирменный OPC-сервер от Advantech. В местном представительстве Прософта железо приняли, протестировали и сказали, что всё ОК. Посоветовали посмотреть схему подключения, сделать гальваническую развязку и заземление всего, что можно. Пробовал подключать на вход батарейку, но с неё сигнал так же плавает. Пришлось модули отложить до лучших времен.

P/S. В Прософте сказали, что продают такие модули в большом кол-ве, странно, что такие проблемы у других не возникают.

Наверх
Alek Смотреть выпадающим
Новичок
Новичок


Присоединился: 23 Январь 2009
Online Status: Offline
Публикации: 3
Свойства публикации Свойства публикации   Ответить, цитируя автора - Alek Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Январь 2009 16:36
Первоначально опубликовано 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. Я, конечно, попробую их вставить, но догадываюсь, что об этом скажет компилятор... Прототипы функций библиотечных смотрел - ничего лишнего, чего нет в описаниях. Может мне обновления какие скачать?
Наверх
s_sergew Смотреть выпадающим
Новичок
Новичок


Присоединился: 20 Январь 2009
Online Status: Offline
Публикации: 7
Свойства публикации Свойства публикации   Ответить, цитируя автора - s_sergew Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 27 Январь 2009 04:56
Да нормально всё.
Компилятор ругаться не будет ибо описание и реализация в соответствующих либах присутствует.

Из файла 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. Ну китайцы, что с них ещё взять :-)
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz