ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
Здравствуйте! Не получается получить данные с контроллера. Контроллер подключен к компьютеру через порт COM2. Порт контроллера настроен в режиме RTU 9600,8,n,1 Подскажите, в чем может быть проблема?
Когда запускаю RTM, светодиод индикации обмена по порту, на контроллере, никаких признаков жизни не подаёт.
Сообщения / Posts 23 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
В файле *.cnf введите ключ DEBUGON=200 для регистрации в профайлерном протоколе возможных ошибок в организации обмена по COM-порту. Некоторые из ошибок регистрируются также в файле tm6_log.txt.
ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
Странно. На первый взгляд всё указано как надо. Источники/приёмники->PLC_1->Delta_Group_1->Delta#1 Параметры: Порт - 1 Номер станции - SN=02h Номер регистра - 9990 Тип регистра - D Направление - Input
Сообщения / Posts 23 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
А какой канал привязан к этому "Источнику"? Какое назначение COM-порта в узле?
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
Создавал ссылку перетащив компонент Delta#1 в группу Каналы. Delta#1:Значение (Источники/Приемники.PLC_1.Delta_Group_1)
отправлено / posted
Прошу прощения за невнимательность. В приведенном Вами примере http://www.adastra.ru/products/drivers/Delta_DVP/ используется "Источник" из группы PLC/Mitsubishi_Group с указанием в строке "Дополнительно" параметра "Delta:". Группа Delta_Group прописана на перспективу (она не документирована). Сейчас эта группа не подключена. Сделайте в Вашем проекте так же, как в примере.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
По протоколу на каждый запрос получен ответ. Надо посмотреть атрибут "Достоверность" (4) у канала. Если он _F (FALSE), значит, ответ пришел с ошибкой. Возможно, ошибка в заданном Вами номере регистра. Код ошибки можно посмотреть, если перехватить трафик COM-порта, например, PortMon'ом.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
Из D0 данные читаются. Думаю это связано с адресацией в памяти контроллера, контроллер всё-таки новый, и думаю отличия от Mitsubishi присутствуют. В регистрах D9990-9999 хранятся данные полученные из модулей расширения контроллера. Надеюсь в следующих версиях программы вам это удастся реализовать.
отправлено / posted
Контроллер возвращает код ошибки:
M_INF:ERR IN: 02 81 02 31 91
По стандарту Modbus это означает, что адрес запрашиваемой переменной некорректный. По описанию системы адресации в контроллере DELTA регистры X адресуются следующим образом: 0x400+<номер регистра>. В запросе функция запроса и адрес регистра сформированы в соответствии с Вашими настройками. Надо разбираться с системой адресации в контроллере.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
quote:Отправитель / Originally posted by AdAstra Technical Support: Контроллер возвращает код ошибки:
M_INF:ERR IN: 02 81 02 31 91
По стандарту Modbus это означает, что адрес запрашиваемой переменной некорректный. По описанию системы адресации в контроллере DELTA регистры X адресуются следующим образом: 0x400+<номер регистра>. В запросе функция запроса и адрес регистра сформированы в соответствии с Вашими настройками. Надо разбираться с системой адресации в контроллере.
отправлено / posted
Мы примем во внимание это функциональное несоответствие для последующего исправления. Видимо, пока придется воcпользоваться напрямую необходимыми функциями Modbus RTU.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
да, по Modbus RTU работает, но есть одно НО! данные из D9990-9999 так-же не доступны. Их Modbus адреса A706-A70F
отправлено / posted
Надо также, как для типа данных X посмотреть, что возвращает контроллер при запросе регистров D с указанными адресами.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
quote:Отправитель / Originally posted by AdAstra Technical Support: Надо также, как для типа данных X посмотреть, что возвращает контроллер при запросе регистров D с указанными адресами.
Когда в качестве источника используется Mitsubishi_Group
отправлено / posted
В ответе устройства M_INF:ERR IN: 02 84 01 72<r> c0 указывается, что используемая функция 04 Modbus в контроллере не поддерживается. Обращение к регистрам D в контроллере DELTA (в Вашем проекте) с помощью драйвера, предоставляемого Trace Mode 6, осуществляется с функцией 03 Modbus. Кадр запроса выглядит следующим образом 02 03 a7 06 00 01 47 4c
ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
quote:Отправитель / Originally posted by AdAstra Technical Support: В ответе устройства M_INF:ERR IN: 02 84 01 72<r> c0 указывается, что используемая функция 04 Modbus в контроллере не поддерживается. Обращение к регистрам D в контроллере DELTA (в Вашем проекте) с помощью драйвера, предоставляемого Trace Mode 6, осуществляется с функцией 03 Modbus. Кадр запроса выглядит следующим образом 02 03 a7 06 00 01 47 4c
Вы задали в качестве источника Modbus Rin_Word(4), а надо было Rout_Word(3).
отправлено / posted
Для уточнения ответа контроллера придется перехватывать трафик обмена с помощью перехватчика типа PortMon.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
quote:Отправитель / Originally posted by AdAstra Technical Support: Для уточнения ответа контроллера придется перехватывать трафик обмена с помощью перехватчика типа PortMon.
отправлено / posted
Advanced Serial Port Monitor должен выдать строки WRITE и READ с их содержимым. В приведенном протоколе транзакции не зарегистрированы.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
quote:Отправитель / Originally posted by AdAstra Technical Support: Advanced Serial Port Monitor должен выдать строки WRITE и READ с их содержимым. В приведенном протоколе транзакции не зарегистрированы.
отправлено / posted
Контроллер с сетевым номером 2 ответил на функцию 03 Modbus двумя байтами 00 00. В запрашивающем канале должен быть 0.
Есть ли у Вас альтернативное средство проверки реального содержимого запрашиваемого регистра по последовательному интерфейсу?
Тогда можно перехватить транзакции этого "альтернативного средства" и сравнить его с транзакциями, реализованными в проекте.
Сообщения / Posts 17356 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ShipilovPV
Junior Member / Новичок
Участник № / Member № 5660
отправлено / posted
Я прошу прощения за свою невнимательность Регистр не тот пытался считать. С нужным мне регистром всё заработало, как при Modbus так и при использовании Mitsubishi
Сообщения / Posts 23 | Из / From: Россия
| IP / IP: IP адрес / IP address |