This is topic Не работает опрос УСО in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


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

Posted by aoalt (Участник № / Member № 6724) on :
 
Здравствуйте.
Пытаюсь подключить модуль ADAM-4051 к TRACE MODE через преобразователь USB-RS485. COM порт по-видимому открывается для обмена (после запуска профайлера он становится не доступен), но передача данных не идёт.
Подскажите в чём может быть проблема.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Как Вы убеждаетесь в том, что "передача данных не идёт"?
Причин может быть много:
- неверное задание номера COM-порта в "Источнике",
- неверное "Назначение" COM-порта,
- неадекватная настройкам модуля настройка COM-порта,
- неверный сетевой номер модуля,
- нет связи канала с "Источником"
и т.д.

Смотрите решение аналогичной задачи с модулем I-7011 в уроках "Быстрого старта".

Задайте в файле конфигурирования запуска узла TMcom_xx.cnf ("Приложения/Задание параметров работы мониторов") ключ
DEBUGON=F0000200
В профайлерном протоколе будут записи по организации и диагностике обмена по последовательному интерфейсу.
 
Posted by aoalt (Участник № / Member № 6724) on :
 
Отсутствие передачи данных выявлено с применением монитора com-порта, позволяющего "прослушать" приём/передачу данных.
С "Быстрым стартом" я ознакомлен.
По настройкам COM-порта:
- номер задан верно (у порта номер COM4, у модуля - COM4, в настройках источника 0x03);
- "Назначение" порта = Master;
- скорость соответствует настройкам модуля (9600 бод);
- контроль чётности соответствует настройкам модуля (8-1-n);
- управление передачей DTR/RTS;
- "Адрес" в настройках источника = 1 (соответствует адресу модуля);
- "Канал" в настройках источника = 0;
- "Контрольная сумма" в настройках источника = "нет";
- "Тип сигнала" в настройках источника = "...";
- "Направление" в настройках источника = "Input";
- "Формат" в настройках источника = "Дискрет";
Меня интересует назначение полей "Базовый адрес" и "Прерывание". В справке о них информации практически нет. На просторах форума я нашёл что они не должны равняться 0.
В профайлерном протоколе никакой информации, связанной с функционированием COM-порта, я не обнаружил.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Номер COM-порта у модуля значения не имеет (хотя у модуля ADAM-4051 1 COM-порт).
"Базовый адрес" и "Прерывание" действительно должны быть не равными 0.

Вы задали отладочный ключ, как было рекомендовано?
Как выглядит файл TMcom_xx.cnf?
Где он размещен?

Канал, который связан с "Источником", в атрибуте 4 (Достоверность) показывает T или F?
 
Posted by aoalt (Участник № / Member № 6724) on :
 
Атрибут 4 имеет значение _Т

Файл TMcom_00.chf находится в папке узла RTM_1 и имеет следующее содержание:
DEBUGON=F0000200
END_OF_CNF
Пустая стока в конце файла присутствует.

"Источник" связан с каналом HEX16 механизмом drag-and-drop. Реальное значение канала HEX16 выводится в ГЭ "текст", а так же связано к ГЭ "Выключатель 6" для индикации состояния.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Переименуйте файл TMcom_00.chf в TMcom_xx.cnf.
Измените в нем ключ на
DEBUGON=F0004200

Пришлите на адрес техподдержки файл проекта и папку узла после работы с этим конфигурационным файлом.
 
Posted by aoalt (Участник № / Member № 6724) on :
 
Отправил.
 
Posted by aoalt (Участник № / Member № 6724) on :
 
Здравствуйте, уважаемая техподдержка.

В ответ на моё письмо были высланы некоторые рекомендации, не устраняющие проблему. Вчера я отправил по тому же адресу письмо, но ответа так и не получил. Содержание письма приведено ниже.

"Значения параметров "RS-передача", "Включение передатчика" и "Задержка запроса" я задал не нулевыми только потому, что при нулевых значениях данных параметров COM-порт не работал, а значения заданные мной (на сколько я понял из соответствующего раздела справки) не приведут к его неработоспособности. Значение параметра "Управление передачей" было также задано в порядке эксперимента, значение "no" так же проверялось.
При работе с проектом выявлена ошибка функционирования интегрированной среды (ИС) разработки, которая заключается в том, что при создании канала в группе "COM-порты" по умолчанию создаётся канал со следующими значениями:
На сколько я знаю, при нормальном функционировании ИС, значение параметра "Скорость" по умолчанию должно быть равно 9600, а нулевые значения параметров "Базовый адрес" и "Прерывание" вообще (как я выяснил на форуме) приведут к неработоспособности канала. При этом я не нашёл адекватного пояснения назначения параметров "Базовый адрес" и "Прерывание" в соответствующем разделе справки. По поводу нулевого значения параметра "Таймаут" в справке информация так же отсутствует.
В связи с этим, я бы порекомендовал вам переработать справочную систему вашего программного продукта вместо того, чтобы рекомендовать пользователям пройти обучающие курсы.
При написании конфигурационного файла я действительно допустил ошибку. После её исправления в соответствующем файле появилась информация о канале RS, из которой я понял что в узле не найден канал, соответствующий данным настройкам COM-порта (поправьте меня если я ошибаюсь). Почему канал не найден - мне не понятно. Проект по-прежнему не функционирует.
Во вложенном архиве находятся все файлы проекта, исправленные в соответствии с вашими рекомендациями.
Прошу пересмотреть данный тестовый проект и дать рекомендации по-существу."
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Файл test.prj, присланный Вами, имеет дату 28.09.2015 9:07, а файл test_0.dbb 28.09.2015 8:32 (время московское).
Создается впечатление, что Вы запускали и протоколировали редакцию проекта, более раннюю, чем последняя редакция Вашего проекта.

В Вашем протоколе
...
(8:32:32) INF_RS:found channels=0 for COM4
(8:32:32) INF_RS:init string is \\.\COM4: baud=9600 parity=N data=8 stop=1
(8:32:32) INF_RTM:start Host:COM_4[3232] low
...
Для связи по COM4 каналы не найдены.

Я скомпилировал Ваш проект в его последней редакции и запустил.

В профайлерном протоколе получил записи (у меня нет COM4)
...
(7:46:19) INF_RS:found channels=1 for COM4
(7:46:19) INFO:DCS: DI#1(2)7 - RS=3 ADDR=1 ch=0
(7:46:19) INF_RS:init string is \\.\COM4: baud=9600 parity=N data=8 stop=1
(7:46:19) ERR_RS:create COM Handler error = 2
...
Найден 1 канал для обмена по COM4.

Ваши пожелания по документации мы примем во внимание.
 
Posted by aoalt (Участник № / Member № 6724) on :
 
В протоколе профайлера наблюдаю следующую запись:
ERR_RS:COM4 err=9 ch=DI#1[2]
Поясните пожалуйста, что означает err=9
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Это ошибка таймаута - устройство не отвечает за заданное в настройках COM-порта время.
Надо проверить физическое соединение с устройством и правильность настроек COM-порта и "Источника".
 
Posted by aoalt (Участник № / Member № 6724) on :
 
Спасибо.
 
Posted by aoalt (Участник № / Member № 6724) on :
 
Скажите, а где можно найти расшифровки кодов ошибок, связанные с работой COM-порта?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Раздел "Отладка проекта/Коды диагностируемых ошибок/Коды диагностируемых ошибок".
 
Posted by aoalt (Участник № / Member № 6724) on :
 
Здравствуйте.
Никак не могу наладить обмен с ADAM-4051.
Вот дамп запросов, формируемых TRACE MODE:
$01S66
$016
$016
$016
@01
@01
#01
#01
@01
$01S/6

А это дамп запросов, формируемых утилитой AdamApax фирмы Advantech.
$016
$016
$016
$016

Была мысль, что проблема в частоте опроса, но установка значений "Единица измерения" = "сек" и "Период" = 1, 2 и т.д. для частоты пересчёта канала вызова шаблона экрана не дало никаких результатов.
Подскажите, пожалуйста, возможные пути решения данной проблемы.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
C помощью PortMon перехватил трафик запросов на присланном Вами проекте и получил точно то же самое, что и приведенное выше от утилиты AdamApax.

Если у Вас 1 канал запроса, то изменение кадра запроса принципиально не может быть.

Сделайте, пожалуйста, перехват при отключенном от ПК внешнем оборудовании, включая и конвертор RS 232/485.
 
Posted by aoalt (Участник № / Member № 6724) on :
 
Поскольку меня в конечном счёте интересует использование всех линий модуля удалённого ввода, для целей эксперимента я в тестовом проекте опрашивал все линии модуля. По вашему совету, я удалил привязки каналов экрана, отвечающих за вывод информации и отключил преобразователь USB-RS485. Исходящие данные аналогичны приведённым мной ранее.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Запросы, которые "посылает Trace Mode 6" в Вашем трафике (кроме $016), относятся к совершенно другим функциям и модулям.

Возьмите тот проект, который Вы присылали нам - с одним "Источником" ADAM-4051 и одним каналом, связанным с этим источником.
Перехватывайте трафик запросов от Trace Mode 6 и ответов устройства.

Какой преобразователь USB-RS485 Вы используете?
 
Posted by aoalt (Участник № / Member № 6724) on :
 
С одним каналом и одним источником проблем нет, если я опрашиваю порт DI0 модуля удалённого ввода. Если же я опрашиваю не нулевой порт, а, к примеру 11-й, то исходящий трафик выглядит вот так:
$01S26.
$01S26.
$01S26.
и т.д. и ответ от модуля, естественно, не приходит.
Но как всё-таки быть, если мне нужно опрашивать 16 каналов?
 
Posted by aoalt (Участник № / Member № 6724) on :
 
Используется преобразователь АС4 фирмы ОВЕН
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Канал HEX16, залинкованный на этот самый "один источник", получает данные сразу по всем 16 битам (портам?) модуля ADAM-4051.
Каждый бит канала соответствует своему дискретному входу модуля ADAM-4051.
Нет необходимости создавать лишние "Источники" с некорректными настройками.
 
Posted by aoalt (Участник № / Member № 6724) on :
 
Есть какие-то возможности по "разбору" канала на биты, кроме создания отдельной программы специально для этой цели?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Надо определить, для чего Вам надо "разбирать канал на биты".
Индикация на экране каждого бита (от 0-го до 15-го) может быть осуществлена с использованием одного аргумента, привязанного к РЕАЛЬНОМУ_ЗНАЧЕНИЮ канала в ГЭ с типом индикации (см. документацию)
"Arg & Конст. – индикация состояния битов значения аргумента, заданных маской Константа. Если хотя бы один такой бит установлен, индицируется ИСТИНА, иначе – ЛОЖЬ (для цветовых и текстовых атрибутов, а также для атрибутов Видимость и Подсказка); "
Например, для индикации бита 4 надо задать "Конст"=16 или 0x10.

Для использования битов в программе можно использовать соответствующие операторы языка ST или блоки языка FBD.

Кроме того, можно привязывать любые аргументы любых каналов CALL к битовым атрибутам канала HEX16.
 
Posted by aoalt (Участник № / Member № 6724) on :
 
Всё понятно, спасибо.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2