PDA

Просмотр полной версии : Цикл опроса Modbus Universal OPC Server



Tester
20.03.2014, 17:26
Добрый день...

В процессе анализа работы OPC сервера с Modbus устройствами возникли некоторые вопросы. Подключали ОВЕНовский модуль МУ-110-16к, а также собственную разработку, некий контроллер протокола Modbus RTU с доступными адресами чтения/записи.

Выяснилась следующая вещь - не зависимо от того, сколь малое значение можно ставить в поле периода опроса устройства OPC сервера, временно интервал между парами Tx Rx не может быть меньше интервала в примерно 252 мс.
То есть выглядит ситуация так в окне запросов (если смотреть снизу вверх, так как сообщения появляются в окне):
...
Rx .....
Tx .....
|
примерно 252 мс
|
Rx .....
Tx .....
|
примерно 252 мс
|
Rx .....
Tx .....
...
Интервал между Modbus запросом и ответом от подчиненного устройства колебался в пределах 8-16 мс в зависимости от устройства (наш контроллер был быстрее, модуль МВ медленнее, но в данном случае не суть важно).
Также этот период имели возможность наблюдать и на осциллографе, подключенным ко входам или соответсвующим контактам подчиненых устройств. (в этом случае был написан небольшой скрипт, циклически меняющий состояния значений регистров и с записью через функцию modbus.WriteHoldingRegistersAs...).

Собственно сам вопрос: это реально ограничение временных интервалов функционирования самой программы (OPC сервер) или еще что то? Для наших целей хотелось бы иметь эти времена как минимум в 2 раза меньшие, как максимум - в 4.
Версия OPC сервера 2.0.0.10.

SCADAMaster
20.03.2014, 18:08
Попробуйте обновить вашу версию до текущей - мы проводили работы по ускорению работы OPC сервера.
http://insat.ru/prices/info.php?pid=6944
Также в свойствах узла вам нужно задать межсимвольный таймаут. По умолчанию он равен 0 - в таком режиме межсимвольный тайумаут равен 50 мс. Задайте значение данной настройки 5-10 мс (можно меньше)

Tester
21.03.2014, 12:18
Хорошо, спасибо. Опробуем.

Tester
25.03.2014, 15:22
День добрый (еще раз).

Опробовали свежую версию Modbus Universal OPC Server - скорость обмена с оборудованием действительно существенно возрасла:

Для модуля МУ-110-16к удалось выставить следующие времена: межс.таймаут - 20мс, время ответа - 20мс, период опроса - 40мс.
По осциллографу, подключенному к выходам, давало где-то в районе 60 мс суммарно (16 Гц - что более менее приемлимо для наших задач).

Возник смежный вопрос, а именно - визуализация изменяемых значений переменных в самом OPC сервере, и что более важно, в MasterSCADA довольно низкая.
Подгружали конфигурацию OPC сервера в проект SCADA и наблюдали изменения значений в боковом поле от дерева оборудования на запущенном проекте.
Система с частотой 1 Гц или даже медленнее отслеживала циклические изменения переменной. Вывести на мнемосхему изменяемое значение пока не пробовали.

Какие тут будут рекомендации по ускорению процесса отображения значений? Cтавили в дереве оборудования период опроса OPC сервера 50мс , полный период опроса - 100
мс, период опроса дерева объектов, тоже в районе 100 мс, версия SCADA 3.4.

SCADAMaster
25.03.2014, 15:35
Что вы итогом хотите получить что требуется такая скорость визуальногообновления переменных?
Поступают ли данные в скаду или нет, отслеживается на закладке "Данные" у переменной в скаде. http://screencast.com/t/V3aPUMnLS
Отрисовка же в дереве происходит с частотой примерно раз в 1 сек т.к. с одной стороны это не загружает систему, а с другой более быстрая визуализация просто не требуется для оператора.

Tester
26.03.2014, 19:30
Я уточню немного наши потребности - для нас, конечно же, важно будет то, чтобы на интерфейсе оператора (на отрисованной мнемосхеме) в режиме исполнения вот эти значения, которые будут выведены из переменных, которые получают их от OPC сервера обновлялись с частотой не хуже хотя бы 10 Гц. То как отображается информация в интерфейсе самого OPC сервера, или в дереве системы, конечно же не так важно, поскольку оператор в режиме исполнения не будет видеть эти вещи, а будет видеть полноэкранный интерфейс с кнопками, индикаторами, полями значений, может быть трендами и т.п. Просто некоторое время назад, мы делали проект с простеньким интерфейсом (были SCADA+OPCСервер+модули ввода/вывода ОВЕН) там что то не очень быстро данные обновлялись, хотя возможно тогда была старая версия OPC сервера, которая медленно общалась с приборами - в общем надо смотреть.
Вы можете пояснить для начала вот этот момент - на мнемосхеме выведенные значения будут отображаться максимально быстро (с учетом выставленных значений соотв.периодов опроса) или там тоже введено ограничение по периодичности вывода информации?

SCADAMaster
26.03.2014, 19:56
Вы можете пояснить для начала вот этот момент - на мнемосхеме выведенные значения будут отображаться максимально быстро (с учетом выставленных значений соотв.периодов опроса) или там тоже введено ограничение по периодичности вывода информации?
Дополнительных ограничений на вывод в мнемосхемах у нас нет. Данные будут обновляться с тем периодом, каким установил пользователь. Однако если характеристики компьютера не позволяют обновлять переменные с установленным периодом, то период опроса будет снижаться.

Tester
27.03.2014, 12:42
Спасибо, что развеяли сомнения. Будем проверять на практике.