This is topic Загадочное поведение ISO-813 in forum TRACE MODE 5 бесплатная версия / TRACE MODE 5 Free version at Форум TRACE MODE: техническая поддержка.
Имеется опытная демонстрационная система, состоящая из четрыех модулей ICP I-7022, платы ISO-813 и плат дискр. в/в серии ISO. Сигналы с выходов I-7022 передаются на входы ISO-813 (минусовые линии дифференциальных сигналов с I-7022 сведены в одну общую точку на входе платы ISO-813).
Настройки каналов объекта ISO-813 такие: Тип: Input Вид: Float Подтип: АНАЛОГ, PCL 711/813 Base: 0220 CH: 0, 1, 2 и т.д. до 31, по номеру канала MUX: 0 GAIN/REG: 0 ALT/REG: 0
Я столкнулся с таким странным поведением платы ISO-813 под ТМ 5.15: считанные значения двух сигналов, введенных с одного модуля I-7022 могут серьезно отличаться от реальных, кроме того зависят от величины самих сигналов. Например, если значение первого (нулевого) канала модуля 7022 выставлено 1В, а второго 2В, то соответствующие входы платы ISO-813 имеют значения 1,01 и 0,7, соответственно. Если сигналы наоборот 2В и 1В, то считанные значения сигналов - 1.95 и 1.93, плюс к этому очень сильно "плавают" считанные значения, как будто имеется нестабильность сигнала. Значения, полученные в этот момент через фирменную диагностическую утилиту правильные и соответствуют поданным на вход, пульсации значений около сотой/двух сотых вольта. Пробовал всевозможные сочетания значений каналов - фирменная утилита считывает то что должно быть.
Пожоже, я что-то неправильно настроил или недонастроил, но удивляет такое странное поведение значений каналов и их взаимное влияние друг на друга.
Заранее благодарен за помощь!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Плата PCL813 - довольно капризна в отношении таймаутов оцифровки и переключения мультиплексора - если они подобраны неправильно, каналы начинают "шуметь" и влиять друг на друга. Рекомендую попробовать поиграть с таймаутами в настройках узла в бланке "Таймауты" - параметры "PCL-711/813" и "Преобразование". Начальные значения с 10, шаг 5 или 10, для "PCL-711/813" - шаг 50, 100. Кроме того - проверьте базовый адрес, который Вы выставили плате. Эта плата не "любит" адреса не кратные 0х20, например 110h, 130h.
К сожалению, так и не удалось избавиться от "глюков". То величину сигнала не правильно считывает, то соседний канал начинает влиять. Очень странные дела. Прочитал в описании на плату, что об окончании преобразования сигнала можно судить по определенному биту в памяти. Есть ли какая-нибудь возможность синхронизировать обращение ТМ к памяти с состоянием данного бита?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Какие таймауты задавали при тестировании? Опишите подробнее конфигурацию Вашего ПК?
Posted by CrUser (Участник № / Member № 1642) on :
Софт: Win2000 SP3, TM 5.15 base (диск получен на расширенных курсах по ТМ5).
Конфигурация системного блока ПК: Корпус: Advantech IPC-610BP-00XF c БП Inwin/Powerman 350W (IP-P350AJ2-0) CPU-плата: ICP ROCKY-4786EVG-R30 CPU: P4 3,0ГГц s478 b/p: PCI-14S2 RAM: Kingston 512Mb DDR PC3200 (KVR400, value RAM) HDD: 80Gb, Seagate ST380210A Barracuda 7200.9 Платы: ISO-813, ISO-P64, PISO-C64 + по одному комплекту DN-37/CA-3720 на каждую плату.
К COM1 подключены 4 модуля I-7022 через I-7520, запитаны от ИП Nemic-Lambda NND30-1515.
В базе каналов прописаны первые 8 входов платы ISO-813. Период = 1, Разрешение = 0,055.
Выставил величину сигналов на входах 0 и 1 платы ISO-813 = 10В. Экспериментировал с таймаутами PCL711/813. Таймаут "Преобразование=0". Пробовал значения: 5, 10...60(шаг 10), 50...350 (шаг 50), 500, 1000. Наблюдал: при сохранении на 0-вом входе сигнала 10В, 1-вый вход считывается правильно. Вплоть до таймаута PCL711/813 = 90-120 значение 0-го канала между нулем и 0,6В. При более высоком таймауте значение 0-го входа редко превышает 0,05В. Затем выставил таймаут PCL711/813 = 10, менял значение "Преобразование": 5, 10...70(шаг 10), 100, 150, 200. Заметил интересное явление: если на четные (0,2,4,6) входы подавать 10В, то нечетные входы (1,3,5,7)отрабатываются правильно. Кроме того, чем больше сигнал на последнем обрабатываемом входе платы (в данном случае - 7-мом), тем больше величина считанного сигнала 0-вого входа (помним, на него постоянно подается 10В). Например, подав на 7-мой (последний обрабатываемый канал) сигнал 10В, его среднее значение около 6-7В. Начиная уменьшаь величину подаваемого сигнала на 1-вый канал с 10В, обнаруживаем такой эффект: когда она достигает значения считанного сигнала 0-вого входа, канал начинает сильно шуметь и чем больше значение 0-вого канала по сравнению с 1-вым, тем больше шум и периодичные пульсации.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
К сожалению на данный момент у нас нет платы PCL-813, чтобы провести исследование. Но суть все равно сводится к тому, чтобы подобрать правильные параметры вышеуказанных таймаутов. Дело в том, что таймауты эти аппаратно зависимы от производительности процессора (потому как отпределяют количество пустых циклов). Кроме того, на работу с этой платой также может косвенно влиять таймаут "AI 5710" - также рекомендую попробовать задавать его.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Прошу прощения, что ввел Вас в некоторое заблуждение, дело в том, что мы сравнили описание платы ISO-813 и PCL-813 - и выяснилось, что они не одинаковы на уровне алгоритмики работы с ними, а также форматов регистров управления АЦП. На данный момент в рамках 5-й версии эта плата корректно работать не будет.
Posted by CrUser (Участник № / Member № 1642) on :
Жаль. Тогда было бы очень хорошо исключить данную плату из списка поддерживаемого оборудования, который приведен в Help'е к ТМ 5.х. Собственно это меня и ввело в заблуждение. Интересно, что вот в этой ветке http://forum.adastra.ru/cgi-bin/ultimatebb.cgi/ubb/get_topic/f/6/t/000149.html? человеку удалось подключить ISO-813 под ТМ 5. Это исключение из правила?!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В основном проблема касается формата регистра GAIN - в одном случае он двухбитовый, а в другом - трехбитовый. Что касается алгоритмики - она в основном касается разницы величин в таймаутах ожидания. Видимо в этом случае подбор таймаутов и работа в определенном диапазоне значения GAIN (2 бита) дали положительный результат.
Posted by CrUser (Участник № / Member № 1642) on :
Небольшой вопрос не совсем в том разделе форума: "А в Trace Mode 6 она будет работать?" У меня есть диск с дистрибутивом. Не хотелось бы углубляться в изучение другой версии, в условиях ограниченного времени, не будучи уверенным, что с совместимостью оборудования и ПО не будет проблем. Посмотрите, пожалуйста, конфигурацию моей опытной системы, она приведена чуть выше по обсуждению.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
#### К сожалению, пока дать утвердительного ответа на данный вопрос я не могу, потому как реально данная плата не проходила тесты под 6-ю версию. Сейчас мы пытаемся заказать данное УСО для проведения тестов. Результаты сообщим позже.
Posted by CrUser (Участник № / Member № 1642) on :
Я для интереса тоже проведу эксперимент. Интересно, а у в ТМ6 заложена одинаковая алгоритмика для работы с Advantech PCL711/813 и ICP ISO-813?
Posted by CrUser (Участник № / Member № 1642) on :
Наконец-то запрограммировал под ТМ6 ISO-813 и ISO-C64. С ISO-C64, естественно, работает правильно, а вот с ISO-813 ситуация не поменялась. Сообщите, пожалуйста, когда Вы планируете проанализировать данную ситуацию и внести изменения в ТМ5 и ТМ6. Пришла ли уже к Вам плата ISO-813. Мы продаем достаточно много данных плат и нет уверенности, что кто-нибудь из наших клиентов не планирует писать системы на Trace Mode. Мне бы не хотелось, чтобы они из-за этой проблемы отказались от Вашей SCADA.
Posted by CrUser (Участник № / Member № 1642) on :
В прошлый раз я не попробовал менять таймаут AI5710, т.к. Вы сказали, что "На данный момент в рамках 5-й версии эта плата корректно работать не будет." Абсолютно без надежды на успех стал экспериментировать в TM5 с таймаутом AI5710, просто уже другого выхода я не видел, надо было проверить последний шанс. Таймаут 10, 50 - не работает, 500 - странно, работает; таймауты PCL711/813 и Преобразование = 0. Очень загадочно! Реально, в случае моей конфигурации перелом наступает при таймауте 80 (нестабильно считывает правильные значения), 90 и выше - ситуация одинаковая, считывает без резких скачков как положено. Надеюсь эта информация Вам поможет в совершенствовании системы.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Мы провели перепроверку поддержки платы ISO-813 в Трейс Моуд 6.
Плата успешно поддерживается при установке всех таймаутов "по умолчанию" кроме одного: "Преобразование PCL711" устанавливали 100-150. Чем быстрее машина, тем таймаут больше.