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


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

Posted by mvladimira (Участник № / Member № 6408) on :
 
Вообщем начну сразу без предисловий: Работа что-то не ладится...

Имеется плата Octagon 5710 analog I/O, к ней прикручены 3 мультиплексора MUX16 (тоже Октагоновские). Подключение произведено строго в соответствии с мануалами (по крайней мере мне так кажется [Улыбка / Smile] )
Пытаюсь сделать тестовый проект на TM 6, в итоге только каждый первый канал (Ch0) с каждого мультиплексора более корректно отображается, а остальные ведут себя как попало (показывают значение первого, например).

В настройках каналов указываю:
Базовый адрес у всех один,
для первого канала первого mux - Ch 0, mux 1,
для второго канала первого mux - Ch 0, mux 2 и т.д.
.......
для первого канала второго mux - Сh 1, mux 1,
для второго канала первого mux - Ch 1, mux 2 и т.д.

Пробовал другие варианты расстановки Ch и mux - совсем плохо дело...

Кто работал с этим железом, подскажите, что не так?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В какой ОС Вы пытаетесь реализовать такое подключение?
МикроМРВ для DOS не поставляется и в последних релизах не поддерживается.

Причина проблемы, скорее всего, в настройках таймаутов на мультиплексирование и/или ПРЕОБРАЗОВАНИЕ (см. вкладку ТАЙМАУТЫ редактора свойств узла). Эти таймауты аппаратно-зависимы. Для конкретного железа их надо подбирать.
 
Posted by mvladimira (Участник № / Member № 6408) on :
 
ОС у меня WindowsXP SP3.
ТМ 6.06 (руки все не доходят обновы скачать)
код TM-6-256-P-RU-WIN

А есть методика подбора таймаутов или это делается сугубо "методом тыка"?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Подбор таймаутов сугубо экспериментальный.
Заданные по умолчанию значения соответствуют производительности старых процессор Octagon.
Т.к. у Вас процессор существенно более производительный, значения таймаутов надо увеличивать.
 
Posted by mvladimira (Участник № / Member № 6408) on :
 
Ну и последний/пара/три вопроса.
1.Дергать настройки самой AI5710 (стоит 10 сейчас) или MUX16(c 5710, 5720) (стоит 100)?
2.Предельное значение 32000, так?
3.С каким шагом оптимально будет менять таймаут?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Не знаю, о каких настройках идет речь.
2 и 3. Из документации:
"Вкладка ’Таймауты’ редактора узла

На этой вкладке настраиваются параметры обмена с платами ввода/вывода, установленными в системную шину аппаратного средства, на котором запущен монитор. Большинство таких плат после получения запроса требуют временных задержек на оцифровку данных, на переключение внутренних или внешних коммутаторов, на отработку усиления и т.п.

На вкладке задаются следующие параметры:

время ожидания ответа от УСО – значения этих таймаутов задаются в относительных единицах. Реальная задержка зависит от производительности процессора. Задержка обеспечивается вставленным в тело программы циклом, внутри которого присутствует еще один пустой цикл. В качестве параметра обоих циклов используется введенное значение таймаута (таким образом, шкала таймаутов является квадратичной). Предельное значение таймаута равно 32000;

MUX – номер канала на внешнем мультиплексоре;

GAIN – параметр усиления;

Преобразование – этот параметр задается в дополнение к таймауту ожидания ответа для плат, время оцифровки которых может варьироваться. Он определяет число запросов, которые генерируются монитором по истечении таймаута ожидания ответа к регистру платы, индицирующему завершение оцифровки. В Windows один такой запрос осуществляется за время порядка 10мкс, частота запросов устанавливается монитором. Поскольку все такие запросы находятся внутри цикла монитора, задавать их число избыточным нецелесообразно – при отказе оборудования существенно увеличивается время цикла монитора. По умолчанию значение параметра Преобразование равно 2000;"

Ничего более конкретного сообщить Вам не могу.
 
Posted by mvladimira (Участник № / Member № 6408) on :
 
Я про эти настройки спрашивал.
 -
В частности и строчки из документации Вы мне про эту самую вкладку и приводите.

Эх, непреодолимо нарастает ощущение, что все больше захожу в тупик.. [crazy / сумасшедший]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Именно эти настройки, а также "Преобразование" и следует подбирать.
 
Posted by Nico (Участник № / Member № 5342) on :
 
.поставить максимальные таймауты
..отладить сначала плату заведя на нее тестовый сигнал(5710 один АЦП на встроенный там мультиплексор)
...добавить мультиплексор MUX
....не чтении не подключенных к сигналу входов
0 не будет показаваться( значения тестового )
 
Posted by mvladimira (Участник № / Member № 6408) on :
 
Поигрался с таймаутами , кроме как "Calc loop is big" ничего так и не выдавил нового.

Оставил один мультиплексор (остальные отцепил)
Подключил первых 4 канала. На входы подаю напряжение от 0 до 5В.
в итоге первый и третий более-менее правдоподобно отображаются (значение в текстовом поле меняется до 4095), а второй и четвертый отображают то, что стоит в первом и третьем соответственно.

Вполне возможно что проблема заключается в том, что мало мануалов скурил, но помогите разобраться.

Подключение плат идет так:
Шлейф 20пинов 5710:J2 --> MUX16:J1
Шлейф 26пинов 5710:J1 --> MUX16:J3
Сам Проект, на авторские права не претендую, если там совсем все плохо, то это вообще не моё =)
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Встроенный драйвер для поддержки платы 5710 не имеет других степеней свободы, кроме указанных таймаутов.

Значения этих таймаутов задаются в относительных единицах. Реальная задержка определяется производительностью процессора. Задержка обеспечивается вставленным в тело программы циклом, внутри которого присутствует еще один пустой цикл. В качестве параметра обоих циклов используется введенное значение таймаута. Предельное значение таймаута равно 32000.

Внимание! Шкала таймаутов является квадратичной. Поэтому при их больших значениях на компьютерах со слабыми процессорами не остается времени на другие процессы и появляется видимый эффект зависания.

Таймаут ПРЕОБРАЗОВАНИЕ представляет собой количество проверок завершения преобразования. В DOS один запрос осуществляется за время порядка 1 мкс, в Windows – 10 мкс. Поскольку все таймауты находятся внутри цикла пересчета базы каналов, задавать их избыточно нецелесообразно - при отказе оборудования существенно удлиняется цикл пересчета. По умолчанию значение таймаута ПРЕОБРАЗОВАНИЕ устанавливается равным 2000 опросов регистра АЦП.

При подборе значений таймаутов следует изменять их на относительно небольщие величины, постепенно.

Чрезмерное увеличение таймаутов может привести к увеличению основного цикла пересчета базы каналов (сообщение типа "Calc loop is big").

Возможно, т.к. у Вас все нулевые каналы внешних мультиплексоров работают корректно, следует обратить особое внимание именно на таймаут мультиплексоров MUX16.

Других рекомендаций нет.
 
Posted by mvladimira (Участник № / Member № 6408) on :
 
quote:
Отправитель / Originally posted by AdAstra Technical Support:
Возможно, т.к. у Вас все нулевые каналы внешних мультиплексоров работают корректно...

Я Вам больше скажу, нормально работают все четные каналы (0,2,4,6 и т.д.)
Складывается впечатление, что карта работает в режиме дифференциального подключения, хотя джамперами установлен однопроводной режим.
Опять на таймауты грешить?

Неужели карта (5710) полетела, хотя она новая. т.е. с момента покупки (где-то в начале 21 столетия) так нигде и не использовалась. [cry / плачь]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
У нас нет возможности проводить такую диагностику.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2