fherbeck
Junior Member / Новичок
Участник № / Member № 1012
отправлено / posted
Здравствуйте
Я использую в проекте 4 вида модулей из серии I-7000. Со всеми четырьмя возникли проблемы. К счастью, благодаря текстовому протоколу I-7000, все ошибки в драйверах отлично видны с помощью Portmon. Начнем по порядку:
1) I-7015 (6-канальный модуль в вода с термосопротивлений). Отлично поддерживался в TM 5. В ТМ6.04 исчез из списка источников-приемников. Я заменил его в проекте на группу I-7017. Все работает, но хотелось бы чтобы этот модуль вернулся в список.
2) I-7012 - просто отвратительная поддержка В этом модуле в ТМ6 поддерживается только 1 аналоговый вход. А как же 1 дискретный вход, 2 дискретных выхода и 1 счетчик, которые также поддерживает этот прибор? В ТМ6.04 они проигнорированы.
3) I-7022 - грубая ошибка в протоколе. Использовать невозможно. Во первых, в драйвере зачем-то каналы нумеруются не с 0, как во всех ICP, а с 1. Неприятно, но ничего криминального. Главная проблема - неправильный формат передающихся чисел, который не распознается прибором. Формат посылки - #AAN(DATA), где AA - адрес прибора, N - номер канала, а DATA - записываемое значение. Допустим, нам нужно записать 5.000 в канал 1 прибора 03. Правильная команда: #0315.000 Неправильная команда, которую передает TM6.04: #031+5.000 Прибор такую команду не распознает. Знак "+" явно лишний. При ручной посылке из терминала без "+" все работает. Заставить ТМ6.04 не передавать "+" невозможно, соответственно и модуль использовать невозможно.
4) I-7060. Ошибки при использовании счетчиков импульсов I-7060 помимо дискретных входов и выходов поддерживает счетчики. Открываем документацию ТМ6. Там написано: "В модулях дискретного ввода I7000 имеются команды считывания и обнуления счетчиков, подключенных к каждому дискретному входу. Считывание значения счетчика осуществляется каналом Ain при смещении номера канала на 32 (DEC; канал 3 задается как 35, DEC)." Пытаемся завести в группе I-7060 канал Ain. Это невозможно. TM6.04 дает завести только DI и DO. Ищем в списке модуль, совместимый по командам с 7060, но в котором TM6.04 позволит завести Ain. Находим группу I-7053(счетчики). Создаем ее и заводим канал для счетчика 0 (согласно документации - 32). Ничего не считывается. Смотрим в Portmon и видим, что TM6.04 передает в прибор команду #04W. Смотрим в документацию приборов и видим, что такая команда не поддерживается как I-7060, так и I-7053. Вместо W должен стоять номер канала. Ставим номер канала 0 вместо номера 32. Посылка становится правильной - #040. Ответ приходит правильный. Но, ТМ6.04 обрабатывает его неверно. Добавляет к значению цифру 4 в старший разряд. Т.е. если счетчик возвращает число 10, TM6.04 покажет 400010. Хотя, это также не смертельно. 400000 можно вычесть. Цифра 4 берется из адреса прибора. Если адрес прибора - 03, TM6 будет прибавлять 300000.
Сообщения / Posts 18 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Мы рассмотрим Ваши замечания, проверим и если необходимо внесём в базу исправлений. О результатах сообщим дополнительно. Спасибо.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Прошу прощения за задержку с ответом.
1. Модуль I-7015 отсутствовал в автопостроении и в Трейс Моуд 5. Поэтому речь идет не о возврате, а о включении в систему автопостроения модулей, появившихся в продаже после создания основных механизмов ИС. Добавлять новые модули - всегда проблема. К сожалению, эта проблема имеет место и сегодня. Уже появились новые модули, которые к тому же имеют команды, не корреклирующиеся с командами других модулей. Проблема как в изучении документации, которая не всегда присутствует на сайте производителя, так и в поставке модулей для тестирования драйвера. Быстрое решение получить не всегда возможно, хотя мы и предпринимаем необходимые усилия. К счастью, модуль I-7015 успешно поддерживается каналами типа I-7017. Мы рассмотрим возможность расширения механизма автопостроения на этот модуль.
2. Для модуля I-7012 в автопостроении не поддерживаются каналы дискретного ввода-вывода.Команды эти весьма экзотичны, по сравнению с командами других модулей, а востребованность невелика. Но создать такие каналы не представляет труда. В группе "Распределенные УСО" можно создать подгруппу "DCS", в которой создать компоненты D_I/O/A (для дискретного ввода) и "DO/A" (для дискретного вывода). В описании подтипа DCS о них сказано: " D_DI/O/A – дискретные входы модулей аналогового ввода (дополнение к подтипу – 2);
DO/AI – управление дискретными выходами модулей аналогового ввода (дополнение к подтипу – 18); "
3. Для модуля I-7022 неправильно задаются номера каналов механизмом автопостроения. В нашей документации (описание переменных DCS) указано: " Канал (CH) – номер канала на модулях группового ввода и вывода аналоговых сигналов: для модулей ввода – от 0 до 7, для модуля I-7024 – от 1 до 4, для модуля I-7022 – 16 и 17 (DEC), в остальных случаях, кроме модуля I-7016, - всегда 0." Мы внесем исправления в механизм автопостроения. Пока можно вручную исправить номера каналов в переменных.
4. Действительно, в группе I-7053(счетчики) команда запроса формируется неправильно. Мы внесем исправление в ближайшем релизе.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |