This is topic плата mic2718 in forum Драйверы / Device Drivers at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/14/t/000091.html

Posted by tan (Участник № / Member № 285) on :
 
Имеется в наличии контроллер mic-2000. До недавнего времени всё работало нормально. После очередного запуска, плата аналогово хода mic2718 стала себя странно вести. появилась зависимость значения канала n от значения канала n-1, т.е. если на канал 0 приходит 10mA то на канале 1 тоже появляется некоторое значение, хотя на него ничего не подается. Интересно то что значение в канале не достигает своего максимума. Зависимость полученная эксперименотално на имитаторе пиримерно следующая: примерно до 10mA идет линейное изменение входного значения, а свыше 10mA начинает увеличение соседний канал, а основной канал практически не меняется.
Это эксперементировалось с каждым каналом, везде одно и то же.
С контроллером поставлялась утилита DevTest и самое интересное то, что в этой утилите все значения напряжений точно соответствуют тем, что подаются иммитатором и соседние каналы не изменяются.
В чем может быть проблема [Недоумение / Confused] ? Мы уже просто не знаем что делать.
 
Posted by Потемкин В.В. (Участник № / Member № 31) on :
 
проведите перекалибровку каналов.
 
Posted by tan (Участник № / Member № 285) on :
 
Ужа пробовали, в утилите калибровки явных расхождений не нашли, подстроили совсем немного, но на результаты работы в TraceMode это никак не повлияло.
Интересно почему в программе DevTest значения с иммитатором точно совпадают? Я так понимаю что АЦП работает правильно и всё откалибровано.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Если работало все прекрасно до этого - очевидно что-то поменяли в самом проекте ТМ? Вносились какие-либо изменения в проект? В частности - проверьте бланк "Таймауты" узла контроллера. Может там что случайно установили?
 
Posted by tan (Участник № / Member № 285) on :
 
Я сейчас не могу проверить, так как контроллер в работе, а на что могут влиять значения, установленные в бланке таймауты? Насколько я помню там установенны значения 0. Если установить значения отличное от нуля напротив платы mic 2718 что изменится?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Этот таймаут как раз может влиять на "уплывание" величины по каналам оцифровки. Пожалуйста, вспомните, что предшествовало ситуации, когда значения с УСО стали "плавать"?
 
Posted by tan (Участник № / Member № 285) on :
 
Я посмотрел, значения никто не менял. стоят нули. Попробывал немного поиграть со значениями, получилось примерно следующее. Если ставить 1 или 2 то значение соседнего канала возрастает намного больше, а основного наоброт меньше.
Уплывать значения стали после очередной правки проекта, точнее добавились два входа, которым был прописан множитель и дрейф нуля, а также добавлен вывод в редакторе представления. Была проведена пробная имитация и подача сигнала с прибора БИК-1, первый прибор был неисправен, сигнал был завышенный. Затем прибор заменили и тогда обнаружился этот эффект.
Вчера решили проверить плату на другой программе, и выбрали софт от производителя. GeniDAQ без регистрации работает месяц. Установили, настроили плату и всё прекрасно работает, значения совпадают один в один со значениями мультиметра, ни один канал никуда не отклоняется если на него ничего не подается. Но что интересно при настройке полаты в программах Advantech (GeniDAQ и DevTest) задается номер прерывания и канал DMA. В TraceMode таких настроек нету. И вообще похоже что эти программы по разному общаются с платой.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Работа с платами УСО в mic2000 реализована в исполнительных модулях ТМ через регистры ввода/вывода, внутренним драйвером, а не через прерывание и DMA, поэтому и наблюдается разница в работе родных утилит и нашего ПО.
А Вы пробовали отключать каналы в проекте, которые были до этого? Это меняет ситуацию?
 
Posted by tan (Участник № / Member № 285) on :
 
Мы уже всё перепробывали. Я создавал новый проект с одной платой и в РПД выводил таблицу каналов. Сутуация везде одинаковая. Я понимаю что причина не только в ТМ, проблема во взаимодействии программно-аппаратной части. Но как мне обратится к производителю (advantech) если во всех их продуктах эта карта работает корректно?
 
Posted by tan (Участник № / Member № 285) on :
 
Я связывался с поставщиком оборудования, но там мне тоже не смогли помочь. Советовали реже опрашивать плату, но это никак не помогло. У меня вот какой вопрос, можно ли использовать внешний драйвер для платы 2718, так как с ним всё работает корректно.
Или подскажите как можно увеличить время между опроса соседник каналов, например каждую секунду опрашивать по одному каналу по порядку. Я не нашел как это сделать.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Использование внешних драйверов от производителя, тем более использующих перрывания в нашей системе невозможно, в силу того, что недопустимо использовать метод прерываний при циклической обработке данных в рамках квазиреального времени. Поэтому с большей частью оборудования наши рантаймы работают напрямую через регистры.
В Вашем случае есть два варианта подстройки:
1) Это различные значения таймаута для этой платы в параметрах узла. Только не значения 1, 2, 3 и т.д., а с шагом в 5-10 единиц.
2) Снижение динамики за счет изменения тактов пересчета для каналов в базе проекта.
 
Posted by tan (Участник № / Member № 285) on :
 
Так и не дождались пока нам удастся поработать с контроллером, так что пока ограничились лабораторными испытаниями. Изменения тактов пересчета никакого результат не дали, всё осталось без изменений.
А вот таймауты дали некоторый результат. Я начал ставить значения 5, 10 итд и с каждым разом расхождение было всё меньше, на значении 60 у меня всё каналы доходят до значения 4095 при соседних 2050, т.е как надо.
Так вот хотелось бы знать что означает этот параметр таймауты? Скоро снимем контроллер и проверим уже на рабочем месте. Результаты сообщу.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Таймаут - это временная задержка перед считыванием данных с АЦП платы УСО. Измеряется он в пустых циклах операнда FOR, поэтому зависит от производительности процессора.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2