Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Чтение данных по Modbus Plus

SCADA, серверы, АРМ верхнего уровня, диспетчерские

Автор темы
Arthur
новенький
новенький
Сообщения: 2
Зарегистрирован: 06 авг 2016, 10:54
Ф.И.О.: Политико Артур Зурабович

Чтение данных по Modbus Plus

Сообщение Arthur » 06 авг 2016, 11:24

Доброго времени.
Возникла необходимость вычитать данные из контроллера по Modbus Plus.
Написал программку для чтения данных. Использую функции для работы с Master Path (Вызываю MbxWriteMpCmd из mbxapi.dll).
Всё необходимое адресное пространство я вычитываю за 92 операции чтения (за 1 чтение не более 125 регистров). В итоге, время затрачиваемое на чтение необходимого адресного пространства у меня занимает более 6 секунд!!!!! :shock:
Маркер "бегает" достаточно шустро (смотрел через MBX Demo, в среднем 20 - 25мс). Сеть одноранговая, в сети 2 узла, ЦПУ и АРМ. АРМ соединён с ЦПУ через PLC USB-MODBUS PLUS CONVERTER. Длина шнура более 3м.
Я в Modbus Plus - новичок. Читал про Peer Cop, но толком ничего не понял. На сколько быстрее с помощью неё можно вычитать данные? Вообще вычитать такой объём данных за приемлемое время (максимум за 1 секунду) это реально? :ges_help:


leon78
завсегдатай
завсегдатай
Сообщения: 565
Зарегистрирован: 25 июл 2008, 09:06
Ф.И.О.: U.L.A.
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

Чтение данных по Modbus Plus

Сообщение leon78 » 06 авг 2016, 14:41

1. Контроллер отвечает на запрос в конце цикла сканирования.
2. За один цикл сканирования можно сделать ограниченное число запросов (число "путей" скорее всего 8, точнее не помню).
3. Т.е. теоретически возможное минимальное время опроса = длительность скана контроллера х количество блоков регистров х количество используемых "путей" (не более 8).
Peer Cop не поможет, по нему можно передавать небольшое число регистров.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.


Автор темы
Arthur
новенький
новенький
Сообщения: 2
Зарегистрирован: 06 авг 2016, 10:54
Ф.И.О.: Политико Артур Зурабович

Чтение данных по Modbus Plus

Сообщение Arthur » 06 авг 2016, 16:30

Спасибо за ответ!
Хотелось бы уточнить следующее:
1 - там кажется получается так:
Узел получает маркер - делает запрос данных, контроллер отправляет квитанцию;
Контроллер получает маркер - отправляет данные узлу, узел отсылает квитанцию о доставке. Или вы о том, что адрес узла контроллера всегда меньше чем адреса других узлов и он в конце цикла получает маркер?
2 - Как я понял, за 1 цикл (за время удержания маркера), можно сделать только 1 запрос. (Хотя вот тут могу ошибаться). Количество путей - это количество одновременных взаимодействий, но слать команды можно только при наличии маркера, так?
3 - Где-то читал, что одноранговая сеть способна передавать: (20к регистров / количество узлов в сети). У меня 2 узла, но мои 3к регистров вычитываются очень долго.

Про Peer Cop я читал что он способен 500 регистров одним махом (в одной транзакции) вычитать... Интересно было бы послушать людей, кто действительно конфигурил MB+ драйвер для него...

Хотелось узнать, сколько действительно (на практике) способна MB+ передавать регистров? У кого есть такие данные?


Вернуться в «Верхний уровень автоматизации»



Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и 1 гость