This is topic ModBUS_TCP: опрос по нескольким портам in forum Мониторы Реального Времени / Real Time Monitors at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/35/t/000481.html

Posted by Alexander_ (Участник № / Member № 7778) on :
 
Здравствуйте. Можно ли заставить Trace Mode распределять запросы к одному ModBUS-Slave устройству по нескольким портам, например 502, 503, 504, 505? Можно ли предопределить, какие регистры, по каким портам будут опрашиваться? Как это сделать?

Спасибо за поддержку.
 
Posted by Nico (Участник № / Member № 5342) on :
 
-одному устройству в один момент времени один номер порта
-для каких целей нужна такая специфика
 
Posted by Alexander_ (Участник № / Member № 7778) on :
 
Хочу ускорить скорость обмена по сети за счет того, что ПЛК будет параллельно вести обработку запросов по каждому порту: таким образом, количество задействуемых портов становится почти обратно пропорционально периоду полного цикла опроса.

Возиться с групповыми запросами хочется не особо. У меня тот случай, когда запрашиваемые регистры сильно рассредоточены по области памяти, причем типы хранимых данных идут вперемежку. Это, во-первых, усложняет организацию групповых запросов (в плане разработки), а во-вторых (что более важно) дает весьма скудный выигрыш по сравнению с работой по нескольким портам. К тому же, обрабатывая запросы от ТМ вручную, через контроллер, я заметил, что она сама старается оптимизировать трафик и объединяет запросы по смежным регистрам, хранящим переменные одного типа, хотя в Источниках/приёмниках по каждой переменной создан отдельный канал Modbus. Так что частично групповое чтение уже реализуется, и эффект от моего вмешательства будет того меньше.

Для чтения везде использую функцию (0х3).
 
Posted by Nico (Участник № / Member № 5342) on :
 
быстрей не будет. гораздо проще групповой запрос
или по авто-группировке каналов или через CALL.ChGreq
 
Posted by Alexander_ (Участник № / Member № 7778) on :
 
Я представляю, как работает программа целевого ПЛК, и воспроизвел ее в лабораторных условиях: быстрее будет! Протокол там обрабатывается "вручную", доля загрузки ПЛК на предоставление данных ТМ пренебрежимо мала. ПЛК за один цикл по одному порту принимает (или не принимает) один и только один запрос на чтение/запись данных. Касательно чтения этот запрос может требовать от 1 до 128 регистров данных (согласно Modbus). Да, увеличение количества запрашиваемых регистров в одном пакете Modbus -- это один путь к ускорению обмена. Но группы регистров разрознены, и, кроме того, групповые запросы уже сами по себе частично реализуются ТМ. Гораздо разумней использовать то, что целевой ПЛК ведет мониторинг сетевого обмена по 5 сокетам, соответствующих 5 портам. Тогда за один цикл могут быть приняты до 5 запросов. И хотя цикл ТМ у меня много больше цикла ПЛК, недостатка в запросах от ТМ нет: переменных куча. И даже за сравнительно огромный цикл ТМ -- ПЛК не успевает отработать весь список и полностью "разгрести" буфер.

Все еще жду конструктивного ответа от техподдержки.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Такой режим Modbus-обмена в Trace Mode 6 не поддерживается.

Мы рассмотрим возможность и целесообразность введения такого режима в последующих версиях Trace Mode.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2