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