-----
18.11.2017 форум перенесён на другой хостинг. О замеченых глюках просьба сообщать администраторам.
-----
На форуме обязательно:
  1. Заполнить свой профиль на Русском языке. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.
Рекламу на своём форуме мы не размещаем ни на каких условиях.

Контроллер EVCO как мастер по Modbus TCP

PLC, прочие контроллеры, промышленные компьютеры, операторские панели

Автор темы
yasa
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 04 окт 2016, 07:51
Имя: Кокшарова Виталина Александровна

Контроллер EVCO как мастер по Modbus TCP

Сообщение yasa » 14 окт 2016, 13:13

Здравствуйте! Есть контроллер EVCO EPK4DHQ, который выполняет роль как слэйва, так и мастера по Ethernet. В режиме slave я так понимаю нужно в Hardware разрешить данный режим, как и режим мастера, а переменные указываются там же, где и для передачи по Modbus RTU. А вот с режимом Master возникли проблемы...какие блоки библиотеки нужно использовать, и как правильно это все прописать...контроллер будет опрашивать несколько таких же контроллеров. Подскажите, пожалуйста, кто уже с этим сталкивался, заранее спасибо!


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2428
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 58 раз
Контактная информация:

Контроллер EVCO как мастер по Modbus TCP

Сообщение Михайло » 14 окт 2016, 17:18

В сети Ethernet мастера называются клиентами, а слэйвы - серверами. Долой рабовладельческий строй RS485! :crazy0to:
Может найдете функцию "Modbus TCP Client" или что-то в этом роде?


Автор темы
yasa
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 04 окт 2016, 07:51
Имя: Кокшарова Виталина Александровна

Контроллер EVCO как мастер по Modbus TCP

Сообщение yasa » 17 окт 2016, 08:42

Тут несколько мастеров-опросчиков регистров, но какой именно блок нужен...
У вас нет необходимых прав для просмотра вложений в этом сообщении.


Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 3223
Зарегистрирован: 07 окт 2011, 08:12
Имя: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 89 раз
Поблагодарили: 140 раз

Контроллер EVCO как мастер по Modbus TCP

Сообщение Ryzhij » 17 окт 2016, 09:37

Это у Вас различные параметры запросов всё одного и того же режима клиента.
Ведь для клиента(мастера) надо прописывать каждое обращение к каждому серверу(слейву) "персонально".
yasa писал(а):Источник цитаты но какой именно блок нужен..

Об особенностях применяемых Вами устройств-серверов(слейвов) кроме Вас никто тут не знает :ext_secret:
Сколько видов обращений - столько и настроек.
Удачи!
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может». Жан-Поль Сартр


fry
новенький
новенький
Сообщения: 2
Зарегистрирован: 24 ноя 2015, 00:16
Имя: Иванов Иван Семенович

Контроллер EVCO как мастер по Modbus TCP

Сообщение fry » 18 окт 2016, 21:48

Всем доброго времени суток! Начнем по порядку. Сетевая модель (OSI) протокола Modbus содержит 7 уровней средств взаимодействия, в которые входят физический, канальный, прикладной, транспортный и т.д. По этим понятиям вики и гугл в помощь. Но вкратце: физический уровень - это интерфейсы (RS485), канальный служит для формирования кадров (RTU, ASCII) и отправки их по сети, транспортный - обеспечивает надежную передачу данных (протокол TCP), а вот прикладной - верхний уровень модели, сама сущность Modbus, обеспечивает коммуникацию ведущий-ведомый через запросы с помощью кодов функций. Всем известные функции 0x01, 0x04 и др. Теперь вернемся к UniPro. Все библиотеки ModbusMaster представляют собой реализацию кодов функций протокола. Руководствуясь руководством UNI-PRO STANDARD LIBRARIES MANUAL видим, что ModbusMaster_ReadSingleCoilStatus - функция 0x01, ModbusMaster_ReadSingleInputStatus - функция 0x02, ModbusMaster_ReadSingleInputRegister - функция 0x04, ModbusMaster_ReadSingleHoldingRegister - функция 0x03 и т.д. А библиотеки Multiple позволяют работать с пачкой в 10 или 100 регистров или входов. Поэтому какая функция нужна, ту биб-ку и используем. Чаще всего производится чтение и запись регистров хранения, соответственно применяются биб-ки HoldingRegister.


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2428
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 58 раз
Контактная информация:

Контроллер EVCO как мастер по Modbus TCP

Сообщение Михайло » 19 окт 2016, 03:46

fry, медвежья услуга. :ext_book:

yasa, используйте подходящие для Вашей задачи функции ModbusMaster_TCP_WriteХХХХ и ModbusMaster_TCP_ReadХХХХ. Функции отличаются типом передаваемых данных. Вам нужно понять, что за данные будут курсировать между мастеромклиентом и слейвомсервером.

Аватара пользователя

megavolt86
авторитет
авторитет
Сообщения: 811
Зарегистрирован: 14 ноя 2013, 19:35
Имя: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 8 раз
Поблагодарили: 18 раз

Контроллер EVCO как мастер по Modbus TCP

Сообщение megavolt86 » 19 окт 2016, 04:27

Михайло писал(а):Источник цитаты функции ModbusMaster_TCP_WriteХХХХ и ModbusMaster_TCP_ReadХХХХ. Функции отличаются типом передаваемых данных. Вам нужно понять, что за данные будут курсировать между мастеромклиентом и слейвомсервером.

Не факт...через эти блоки клиент будет связываться с серверами, читать и записывать в них данные.
А вот чтоб сам плк выступал как сервер необходимо блоки слейв настраивать)))
:ext_secret:


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2428
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 58 раз
Контактная информация:

Контроллер EVCO как мастер по Modbus TCP

Сообщение Михайло » 19 окт 2016, 04:40

Блоки слэйва (сервера) могут отсутствовать. Сервер работает единообразно: если поступил запрос, то надо выдать ответ. Для такой логики можно ничего программировать, все должно быть готово.