Segnetics

Вернуться   Segnetics > Форум Segnetics > Песочница

Песочница Удалённые с форума темы

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2019, 13:42   #1
maks
Senior Member
 
Регистрация: Dec 2012
Сообщения: 164
Благодарил(а): 5 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Modbus TCP. Работа нескольких slave в одном контроллере

Здравствуйте. ОРС сервер опрашивает трим по modbus tcp.
Необходимо сделать так, чтобы трим мог работать с несколькими id в запросе от сервера.
Т.е. сервер шлет <ip_trim> <id=1>, трим отвечает определенным набором данных. Сервер шлет <ip_trim> <id=2>, трим отвечает другим набором данных. Только самому на си прописывать?
maks вне форума   Ответить с цитированием
Старый 31.01.2019, 13:43   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 112
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Modbus TCP. Работа с id

Цитата:
Сообщение от maks Посмотреть сообщение
Только самому на си прописывать?
Думаю, да.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 01.02.2019, 09:37   #3
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Modbus TCP. Работа нескольких slave в одном контроллере

Цитата:
Сообщение от maks Посмотреть сообщение
ОРС сервер опрашивает трим по modbus tcp.
Необходимо сделать так, чтобы трим мог работать с несколькими id в запросе от сервера.
Т.е. сервер шлет <ip_trim> <id=1>, трим отвечает определенным набором данных. Сервер шлет <ip_trim> <id=2>, трим отвечает другим набором данных. Только самому на си прописывать?
Если мне не изменяет память, то Modbus TCP именно так и работает. Иначе как разделять запросы-ответы разных мастеров на один порт.

Для протокола Modbus TCP пакет выглядит следующим образом:

ид транзакции | ид протокола | длина пакета | адрес slave | код функции | данные

где
ид транзакции - два байта
ид протокола - два байта
длина пакета - два байта - длина следующей за этим полем части пакета
адрес slave - адрес подчинённого устройства, к которому адресован запрос. (бычно игнорируется, если соединение установлено с конкретным устройством).

Последний раз редактировалось ATS, 01.02.2019 в 09:58
ATS вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 02:28.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024