- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
ICP CON pet7026
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 5
- Зарегистрирован: 27 окт 2012, 15:56
- Имя: Игорь
ICP CON pet7026
Всем добрый день!
Пришлось вот работать с устройством pet7026 от ICP CON по протоколу modbus TCP/IP. Так как нужно реализовать программное обеспечение для PC, мне необходимо понять как управлять устройством, используя 16-ричную запись в таком виде: 00 00 00 00 00 06 01 05 00 00 FF 00. Помогите пожалуйста
Пришлось вот работать с устройством pet7026 от ICP CON по протоколу modbus TCP/IP. Так как нужно реализовать программное обеспечение для PC, мне необходимо понять как управлять устройством, используя 16-ричную запись в таком виде: 00 00 00 00 00 06 01 05 00 00 FF 00. Помогите пожалуйста
-
- почётный участник форума
- Сообщения: 3971
- Зарегистрирован: 20 янв 2010, 22:23
- Имя: Никита
- Страна: РФ
- город/регион: Мурманск
- Благодарил (а): 21 раз
- Поблагодарили: 229 раз
Re: ICP CON pet7026
Вас что именно интересует? Тут два вопроса слеплены в один, мне непонятно что для Вас первично.
Первое - как сформировать Modbus-посылку в виде набора шестнадцатеричных чисел для этого устройства?
Второе - как эту посылку упаковать и отослать по Ethernet в модуль?
Если вариант первый - тогда лучше уточните что конкретно Вам непонятно. А то расписывать на форуме весь протокол модбас - это история длинная и никому не нужная. А функции и регистры есть в документации на девайс.
Если второй - то нужны подробности про средства разработки. На чем пытаетесь реализовать, какие библиотеки есть в наличии.
И вопрос от меня - а в связи с чем, если не секрет, возникла необходимость работать руками с Modbus/TCP? Полно ж готового или полуготового софта...
Первое - как сформировать Modbus-посылку в виде набора шестнадцатеричных чисел для этого устройства?
Второе - как эту посылку упаковать и отослать по Ethernet в модуль?
Если вариант первый - тогда лучше уточните что конкретно Вам непонятно. А то расписывать на форуме весь протокол модбас - это история длинная и никому не нужная. А функции и регистры есть в документации на девайс.
Если второй - то нужны подробности про средства разработки. На чем пытаетесь реализовать, какие библиотеки есть в наличии.
И вопрос от меня - а в связи с чем, если не секрет, возникла необходимость работать руками с Modbus/TCP? Полно ж готового или полуготового софта...
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "
-
- здесь недавно
- Сообщения: 5
- Зарегистрирован: 27 окт 2012, 15:56
- Имя: Игорь
Re: ICP CON pet7026
Меня интересует как сформировать Modbus-посылку в виде набора шестнадцатеричных чисел для этого устройства.
Вот подключился к устройству по его IP и 502 портом. Отправляю запись, которая дает команду устройстве подать сигнал с дискретного вывода DI0: 00 00 00 00 00 06 01 05 00 00 FF 00; отключаю этот вывод: 00 00 00 00 00 06 01 05 00 00 00 00. Устройство не реагирует. Нужно ли какие-то начальные команды отсылать? Пытаюсь понять почему не реагирует и не высылает ответ.
Собственный софт нужен для реализации своей задумки. В интернете чаще всего попадаются тестеры или программы, которые не удовлетворяют своими возможностями. Задумка такая: Подавать устройству команды нажимая только на нужные кнопки (т.е. для пользователя должен быть только понятный интерфейс, и сам принцип работы должен быть прозрачен для него). Плюс ко всему этому, программой нужно управлять удаленно, например по Wi-Fi через мобильное устройство
Вот подключился к устройству по его IP и 502 портом. Отправляю запись, которая дает команду устройстве подать сигнал с дискретного вывода DI0: 00 00 00 00 00 06 01 05 00 00 FF 00; отключаю этот вывод: 00 00 00 00 00 06 01 05 00 00 00 00. Устройство не реагирует. Нужно ли какие-то начальные команды отсылать? Пытаюсь понять почему не реагирует и не высылает ответ.
Собственный софт нужен для реализации своей задумки. В интернете чаще всего попадаются тестеры или программы, которые не удовлетворяют своими возможностями. Задумка такая: Подавать устройству команды нажимая только на нужные кнопки (т.е. для пользователя должен быть только понятный интерфейс, и сам принцип работы должен быть прозрачен для него). Плюс ко всему этому, программой нужно управлять удаленно, например по Wi-Fi через мобильное устройство
-
- частый гость
- Сообщения: 462
- Зарегистрирован: 31 июл 2010, 09:12
- Имя: Павел
- Страна: РФ
- Благодарил (а): 10 раз
- Поблагодарили: 17 раз
Re: ICP CON pet7026
Навскидку, содержимое отправленной вами команды правильное. Это при условии, что вы не меняли Modbus-адрес устройства (Net ID, по умолчанию 1). Отправлять никакие начальные команды не нужно.
Рекомендую для начала воспользоваться готовым решением, реализующим Modbus TCP. Например, можно взять бесплатный OPC-сервер от ICP DAS: http://opc.icpdas.com/. У этого сервера есть режим просмотра значений тэгов, с помощью которого можно убедиться в наличии связи с устройством. Если установить связь не удастся, возможно, дело в неверном подключении или в неисправности устройства.
Рекомендую для начала воспользоваться готовым решением, реализующим Modbus TCP. Например, можно взять бесплатный OPC-сервер от ICP DAS: http://opc.icpdas.com/. У этого сервера есть режим просмотра значений тэгов, с помощью которого можно убедиться в наличии связи с устройством. Если установить связь не удастся, возможно, дело в неверном подключении или в неисправности устройства.
-
- здесь недавно
- Сообщения: 5
- Зарегистрирован: 27 окт 2012, 15:56
- Имя: Игорь
Re: ICP CON pet7026
Адрес модбаса 1, проверил. NAPOPC_ST DA Server в таком же окне
показывает в столбце Value ON и OFF. Связь вроде есть
показывает в столбце Value ON и OFF. Связь вроде есть
-
- почётный участник форума
- Сообщения: 635
- Зарегистрирован: 29 сен 2008, 17:05
- Имя: Алексей Угрюмов
- Страна: Россия
- город/регион: СПб
- Благодарил (а): 13 раз
- Поблагодарили: 25 раз
Re: ICP CON pet7026
Если связь с помощью NAPOPC_ST DA Server есть, поставьте WireShark, посмотрите обмен данными с устройством, и сделайте то же самое.
Если TCP коннекция на порт 502 устанавливается, значит IP адрес верный. Если устройство не отвечает, значит ошибка в формате MODBUS запроса и устройство его (запрос) не может распознать.
Если TCP коннекция на порт 502 устанавливается, значит IP адрес верный. Если устройство не отвечает, значит ошибка в формате MODBUS запроса и устройство его (запрос) не может распознать.
Alex.
-
- осмотрелся
- Сообщения: 101
- Зарегистрирован: 10 сен 2012, 08:56
- Имя: Евгений
- Страна: РФ
- город/регион: СПб
- Поблагодарили: 3 раза
Re: ICP CON pet7026
Для начала попробуйте выполнить из командной строки команду telnet xxx.xxx.xxx.xxx 502 (xxx.xxx.xxx.xxx заменить на IP-адрес устройства). Если соединение будет установлено, значит, со связью проблем нет и, как уже было сказано выше, нужно искать причину в неправильном формате сообщения.
-
- здесь недавно
- Сообщения: 5
- Зарегистрирован: 27 окт 2012, 15:56
- Имя: Игорь
Re: ICP CON pet7026
Соединения устанавливается, т.е. устройство работает нормально, но команды не проходят.
Для отладки использую программу hercules_3-2-4. Команды так и не принимает. В справочном материале приведены таблицы, по которым пока сложно понять как составить запись в виде 16-ричной последовательности
По поводу сниферов (cain & abel и WireShark), если бы с помощью программ удалось хотя бы выключить или включить дискретные выводы, то был бы смысл его использовать. То что показывает ON/OFF мне не понятно к чему это относится
Для отладки использую программу hercules_3-2-4. Команды так и не принимает. В справочном материале приведены таблицы, по которым пока сложно понять как составить запись в виде 16-ричной последовательности
По поводу сниферов (cain & abel и WireShark), если бы с помощью программ удалось хотя бы выключить или включить дискретные выводы, то был бы смысл его использовать. То что показывает ON/OFF мне не понятно к чему это относится
-
- частый гость
- Сообщения: 462
- Зарегистрирован: 31 июл 2010, 09:12
- Имя: Павел
- Страна: РФ
- Благодарил (а): 10 раз
- Поблагодарили: 17 раз
Re: ICP CON pet7026
Если связь между OPC-сервером и устройством есть, создайте тэг типа Coil Output, запустите режим "Monitor" и управляйте состоянием тэга. Это делается так: правый клик на имени тэга, Properties Read & Write. Далее в поле Value вводите 0 (отключить, OFF) или 1 (включить, ON) и жмете "Write!". Если все правильно настроено, выход перейдет в заданное состояние, что отразится на физическом состоянии выхода и на экране режима Monitor. Процесс обмена при управлении можно отследить с помощью сниффера и сравнить с обменом, происходящим при использовании вашего hercules.bigory писал(а): По поводу сниферов (cain & abel и WireShark), если бы с помощью программ удалось хотя бы выключить или включить дискретные выводы, то был бы смысл его использовать. То что показывает ON/OFF мне не понятно к чему это относится
-
- почётный участник форума
- Сообщения: 635
- Зарегистрирован: 29 сен 2008, 17:05
- Имя: Алексей Угрюмов
- Страна: Россия
- город/регион: СПб
- Благодарил (а): 13 раз
- Поблагодарили: 25 раз
Re: ICP CON pet7026
Wireshark чем хорош? Он умеет пакеты распарсивать в зависимости от протокола и показывать по полям. Модбас он тоже умеет. Вот если бы Вы им воспользовались, как Вам было сказано, то он бы Вам показал, что пакет, который Вы отсылаете не верный и на 5-ой позиции должно быть не 06, а 0С. И этот не верный пакет устройство игнорирует, поскольку не может распознать.bigory писал(а): По поводу сниферов (cain & abel и WireShark), если бы с помощью программ удалось хотя бы выключить или включить дискретные выводы, то был бы смысл его использовать. То что показывает ON/OFF мне не понятно к чему это относится
И если у Вас есть работающий OPC, то не сложно его заставить слать команды на запись в устройство, как, например, MuadDib сказал, а снифером посмотреть как он делает.
Alex.
-
- здесь недавно
- Сообщения: 5
- Зарегистрирован: 27 окт 2012, 15:56
- Имя: Игорь