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/ |