1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

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

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

Модератор: Специалисты SE

Закрыто

Автор темы
Arthur
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 06 авг 2016, 10:54
Имя: Политико Артур Зурабович
Страна: Россия
город/регион: Брянск

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

Сообщение Arthur »

Доброго времени.
Возникла необходимость вычитать данные из контроллера по 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
эксперт
эксперт
Сообщения: 1031
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 34 раза
Поблагодарили: 110 раз

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

Сообщение leon78 »

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

Автор темы
Arthur
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 06 авг 2016, 10:54
Имя: Политико Артур Зурабович
Страна: Россия
город/регион: Брянск

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

Сообщение Arthur »

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

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

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

Вернуться в «ПЛК»