Обмен данными через MODBUS TCP

dimar72
Сообщения: 103
Зарегистрирован: 19 июл 2013, 10:30

Re: Обмен данными через MODBUS TCP

Сообщение dimar72 »

У меня так.
Изображение

Андрей
Сообщения: 10
Зарегистрирован: 18 фев 2013, 08:10

Re: Обмен данными через MODBUS TCP

Сообщение Андрей »

Здравствуйте, Кто нибудь смог командой ETHRW связать больше 8 контроллеров SE ? У меня мастер больше чем с 8 слейвами этой командой никак не связывался.

killbill2
Сообщения: 52
Зарегистрирован: 28 июл 2015, 13:15

Re: Обмен данными через MODBUS TCP

Сообщение killbill2 »

Андрей писал(а):Здравствуйте, Кто нибудь смог командой ETHRW связать больше 8 контроллеров SE ? У меня мастер больше чем с 8 слейвами этой командой никак не связывался.
Я еще не пробовал. Ну пока что могу приложить программу которая обменивается с одним слейвом ( Проверено на реальном железе.записывает в 16 областей, считывает из 16 по 50 регистров. По поводу областей пока не заморачивался- многие повторяются). НО, там необходимо еще допрописывать случаи когда ошибки передачи-иначе в моем случае связь зависнет до перезагрузки. Было бы конечно хорошо если б кто-нибудь выложил программу с обработкой ошибок, обходом, условием опросов и т.д.
Вложения
Рабочий несколько.rar
(3.21 КБ) 185 скачиваний

tvent
Сообщения: 1019
Зарегистрирован: 11 янв 2011, 17:02

Re: Обмен данными через MODBUS TCP

Сообщение tvent »

Собственно вариантов всего два: результат взводит соответствующий ethernet модулю (порту) бит в регистрах D1395 и D1396.
Вложения
D600  используется для фиксации и сброса ошибок связи подключенных  устройств
D600 используется для фиксации и сброса ошибок связи подключенных устройств
ETHRW.png (12.15 КБ) 1604 просмотра

killbill2
Сообщения: 52
Зарегистрирован: 28 июл 2015, 13:15

Re: Обмен данными через MODBUS TCP

Сообщение killbill2 »

Спасибо! Невнимательно прочитал на счёт D1396- я думал что эта ошибка только для левосторонних модулей DVP-EN01. А опрос у вас как идёт? по таймеру? счётчику? или как то еще? я имею ввиду сами маркеры как взводятся? И вот еще какой вопрос как слейв поймет что связь оборвалась и скинет все данные в нули?

tvent
Сообщения: 1019
Зарегистрирован: 11 янв 2011, 17:02

Re: Обмен данными через MODBUS TCP

Сообщение tvent »

killbill2 писал(а): А опрос у вас как идёт? по таймеру? счётчику? или как то еще? я имею ввиду сами маркеры как взводятся? И вот еще какой вопрос как слейв поймет что связь оборвалась и скинет все данные в нули?
Это кусок подпрограммы (FB). У меня опрос устройств происходит по условиям. Перед ETHRW желателен таймер паузы в 100- 200 мс.
Слейву "фиолетово" есть связь или нет. Это забота мастера.
Последний раз редактировалось tvent 22 ноя 2018, 18:45, всего редактировалось 1 раз.

tvent
Сообщения: 1019
Зарегистрирован: 11 янв 2011, 17:02

Re: Обмен данными через MODBUS TCP

Сообщение tvent »

Андрей писал(а):Здравствуйте, Кто нибудь смог командой ETHRW связать больше 8 контроллеров SE ? У меня мастер больше чем с 8 слейвами этой командой никак не связывался.
Есть ограничение по количеству мастеров и слейвов/клиентов.
Вложения
Ethernet.png
Ethernet.png (27.48 КБ) 1597 просмотров

Андрей
Сообщения: 10
Зарегистрирован: 18 фев 2013, 08:10

Re: Обмен данными через MODBUS TCP

Сообщение Андрей »

Да, я знаю про ограничения, если делать опрос слейвов с паузой больше 4 сек, то можно опрашивать больше. Только 4 сек слишком много. 4 сек проверены опытным путем, 3,5 сек связь только с 8.

tvent
Сообщения: 1019
Зарегистрирован: 11 янв 2011, 17:02

Re: Обмен данными через MODBUS TCP

Сообщение tvent »

8 мастеров×8 слейвов=64 клиента +1сервер/мастер. Должно работать.
Или 16 мастеров "сводить" на ПК.(((

Олег
Сообщения: 795
Зарегистрирован: 18 янв 2011, 23:06

Re: Обмен данными через MODBUS TCP

Сообщение Олег »

ETHRS может работать через UDP, т.е. количество соединений тут не имеет значения. Можно организовать обмен на своём протоколе.

В инструкции есть описание, что DCISoft ищет модули в сети используя широковещательный запрос, ( как бы узнать какой адрес он использует, 255 в конце?) Т.е. теоретически каждый контроллер может отправлять через ETHRS широковещательную посылку, и принимать от других широковещание, определяя по полученным данным кто их отправил. Не хотите поэкспериментировать?

Ответить