Сколько данных влезает в один сетевой запрос к PMP20?

Проверено экспертом Опубликовано: 22.08.2024 2946 просмотров Помогло 72%

Ограничений два, и они разной природы. Первое — длина кадра: максимальная длина одного кадра протокола обмена составляет 256 байт, и в этот размер укладывается вся посылка. Второе — предельное количество элементов в запросе, своё для каждого кода функции.

Код функцииДействиеПредел за запрос
01Hчтение катушек2000
02Hчтение входных катушек2000
03Hчтение регистров хранения120
04Hчтение входных регистров120
05Hзапись одной катушкиодна
06Hзапись одного регистраодин
0FHзапись нескольких катушек2000
10Hзапись нескольких регистров120

Отсюда практическое правило проектирования: словных данных за один запрос проходит не больше ста двадцати регистров. Нужно двести — делайте два запроса подряд, разнеся их по времени и по разным адресам, а не увеличивайте количество в одной инструкции.

Что происходит при превышении. Ведомое устройство отвечает ошибкой длины, обмен по этому запросу не идёт, а данные в регистрах остаются старыми. Симптом характерный: часть переменных обновляется нормально, а один блок «замёрз» — как раз тот, где количество задано с превышением.

Совет по раскладке данных. Собирайте всё, что нужно верхнему уровню, в непрерывные блоки регистров: сто двадцать регистров одним запросом читаются в разы быстрее, чем те же данные, разбросанные по памяти и вычитываемые десятком коротких запросов. Время на установление соединения и накладные расходы кадра одинаковы и для одного регистра, и для ста двадцати.

Прикреплённая документация

Георгий Жуков Георгий Жуков Ведущий инженер

Этот ответ был полезен?

Не нашли ответ?

Инженер сервисной службы ответит на почту. Вопросы, которые повторяются, мы публикуем в базе знаний — без ваших контактов.

Вопрос из раздела Сколько данных влезает в один сетевой запрос к PMP20?