cpu13.ru - форум OMRON
http://cpu13.ru/

CX-Protocol / ADAM-4117
http://cpu13.ru/viewtopic.php?f=5&t=221
Страница 1 из 1

Автор:  Dmitry [ Пт сен 07, 2007 06:15 ]
Заголовок сообщения:  CX-Protocol / ADAM-4117

Доброе время суток, господа!
Подскажите, кто-нибудь писал протокол обмена (Modbus) для устройств adam-4117 (серии 4000, 4100 вообще). В частности не могу разобраться с адресом регистра, из которого мне надо прочитать значение. По мануалу это адрес 40001 (9С41 hex), однако при пропытке отправки телеграммы ModBus [01]+[03]+[9C]+[41]+[00]+[01]+[crc]+[crc], приходит ответ [01]+[82]+[02]+[crc]+[crc], который говорит об ошибке (02 - адрес ячейки памяти не доступен для чтения). Может я в чем-то ошибаюсь?

Автор:  Олег [ Пт сен 07, 2007 10:50 ]
Заголовок сообщения: 

Modbus для этих устройств не писал, только их родной текстовый.

чтобы проще было разобратся, можно связаться с адамом с компьютера (утилиты), и с помощью прог Advanced Serial Port Monitor или COM Port Toolkit (http://www.compt.ru/) отследить обмен между компом и адамом.



Может быть ошибка по расположению байт, в модбасе младшие байты могут быть первыми. например
[01]+[03]+[41]+[9C]+[01]+[00]+[crc]+[crc]

Автор:  Dmitry [ Пн сен 10, 2007 05:08 ]
Заголовок сообщения: 

Что-то я не понял как можно отследить обмен между компом и утилитой Advantech. Скачал прогу COM Port Toolkit, она не подключается к com-порту когда работает утилита Advantech. И наоборот, ошибка открытия порта. Так можно сделать мониторинг?
Если не трудно представте телеграмму запрос/ответ текстового протокола Advantech на чтение значения на входе.

Автор:  Олег [ Пн сен 10, 2007 08:13 ]
Заголовок сообщения: 

В примерах лежат файлы для SCU41 под IPC CON с текстовым протоколом, протокол аналогичен адаму.

Сначала запускаешь COM Port Toolkit (У меня версия 3.7), переключаешь его в режим "Захват" (Настройка>Режим>Захват), выбираешь нужный порт, включаешь захват. Далее запускаешь утилиту адвантека и начинаешь обмен с прибором. В окне проги COM Port Toolkit отображается то что идёт в обе стороны через порт. Выключение прог в обратном порядке, иначе можно комп повесить.

COM Port Toolkit должен первый прицепится к порту, иначе не получится. Разберёшься с протоколом, старайся опрашивать все каналы прибора одной посылкой, реальная скорость связи вырастет раз в 8.

Автор:  Dmitry [ Пн сен 10, 2007 08:35 ]
Заголовок сообщения: 

Все сделал с помощью утилиты Advanced Serial Port Monitor. Запустил ее в мониторе порта, потом запустил утилиту, которая шла с adam, включил ее в режиме опроса входов. Ну и посмотрел какие запросы она (adam утилита) кидает в обе стороны. Теперь написать протокол не составит труда.
Единственно, что не понял это преобразование сигнала. Так при входном значении +01,032 V приходит десятичное значение 6760. То есть деление полученного по сети значения на ~6550 дает истинное значение на входе. Эта закономерность сохраняется и при 10 V. Почему-то про это линейное преобразование в мануале не упоминается.
Спасибо за помощь. Рекомендованные утилиты для com-порта очень полезны.

Автор:  Олег [ Пн сен 10, 2007 14:49 ]
Заголовок сообщения: 

Поэкспериментируй с форматом данных которые передаёт адам (сетап модуля) для нашего удобства больше подойдёт двоичный со знаком. ну а запятая всегда на одном месте при выбраном диапазоне. (во всяком случае этот формат был у модулей с текстовым протоколом)

Страница 1 из 1 Часовой пояс: UTC + 3 часа (Russia: MSK)
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/