This is topic Ошибка чтения в драйвере RWH 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/000058.html

Posted by zotov (Участник № / Member № 1113) on :
 
Имеем следующую проблему.
Драйвер RWH читает значение аналогового сигнала. Когда на вход ничего не подано, драйвер должен возвращать 0 (плюс/минус 0.001). Но драйвер возвращает 0.05, т.е. ошибка нуля в 50 раз больше допустимой!!!
Причем драйвер в нерезидентном исполнении (без микроМРВ) читает значение 0 без ошибок. Безошибочно читает значение и FBD-программа, которую мы написали для проверки.
В чем проблема?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Посмотрите в канале, который от драйвера принимает значение нет никакой первичной обработки?
 
Posted by zotov (Участник № / Member № 1113) on :
 
Нет. Первичной обработки нет.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) В каком формате Вы выводите на экран это значение в драйвере, когда он нерезидент?
2) Что означает +/- 0.001, это шум АЦП?
Код драйвера по части обработки AI можете привести?
 
Posted by zotov (Участник № / Member № 1113) on :
 
1. Нерезидентный драйвер выводит значение в формате %.3f через функцию fscanf.
2. Да, это шум АЦП.
3. Код драйвера привести, конечно, можно, но проблема в том, что уже из порта
функция inportb считывает искаженное значение, т.е. драйвер даже не успевает его
обработать. Причем читать значение приходится 2 раза подряд, т.к. результат
первого чтения - вообще какой-то мусор.
Мы думали, проблема с задержками.
На старом процессоре Advantech PCM 3345 на 70 МГц ошибки чтения в драйвере
не было. А на новом процессоре Advantech PCM 3350 на 300 МГц она появилась.
В FBD-программе, однако, ее нет на любом процессоре. В нерезидентном драйвере
также нет на любом процессоре.
Мы пробовали всевозможные задержки и после старта АЦП, и после выбора входа мультиплексора, и перед входом в функцию опроса. Эффекта
никакого. Возможно, проблема решится с переходом от mrt86.exe на mrt7.exe.
Будем пробовать.
Спасибо.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
От МикроМРВ это врядли будет зависеть, ведь резидентный драйвер он сам по себе (как отдельное приложение), это не часть МикроМРВ.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2