В данной статье рассмотрим возможности сетевого обмена ПЛК210 модификаций 1х и 0х с точки зрения нагрузки. Для примера системы был взят реальный объект одного из клиентов ОВЕН. Общее количество сигналов, обрабатываемых контроллером, 5000.
В рамках теста построена следующая модель.
Испытуемый ПЛК является ModbusTCP-Master для 80 Slave-устройств (модули ввода-вывода), ModbusTCP-Slave для панели оператора, OPCUA-сервером для клиента на ПК. Настройка ModbusTCP производится через стандартную конфигурацию в дереве проекта CODESYS. Количество передаваемых сигналов по каждому виду связи приведено на рисунке ниже. При этом в таблице с результатами указано уже фактическое количество регистров памяти сетевого обмена. Направление стрелки показывает чтение/запись тегов. Режим чтения/записи во всех протоколах – циклический.
В проекте ПЛК производится «упаковка» получаемых данных в формат REAL, «распаковка» битовых масок, копирование данных между областями памяти ModbusTCP-Master и ModbusTCP-Slave, подсчёт времени обновления по каждому каналу ModbusTCP-мастера (2000 функциональных блоков). Данные размещены таким образом, чтобы формировать групповые Modbus-запросы.
Визуализация CODESYS не используется (из дерева удалён менеджер визуализации, удалена соответствующая задача).
Рис. 1. Схема модели испытуемого ПЛК
В тесте фиксируется загрузка ЦП (по узлу Debug в дереве проекта), среднее и максимальное время исполнения задачи MainTask, а также периоды опроса по всем протоколам.
Результаты сравнения модификаций ПЛК210-1х и ПЛК210-0х приведены в таблице ниже.
Таблица. Сравнения модификаций ПЛК210-1х и ПЛК210-0х
ПЛК210-11-CS
(3.5.1023.2023)
|
20-30 |
10 |
4,7 / 9,8 |
ModbusTCP-Master
960 регистров
|
500 / 100 |
480 / 90 |
Modbus TCP-Slave
1000 регистров
|
200 |
200 |
OPC UA-сервер
2000 тегов
|
100 |
300 – 600 |
ПЛК210-03-CS
(2.4.0601.0905)
|
100 |
10 |
6,4 / 10,8 |
ModbusTCP-Master
960 регистров
|
500 / 100 |
480 / 90 |
Modbus TCP-Slave
1000 регистров
|
200 |
300 |
OPC UA-сервер
2000 тегов
|
100 |
500 – 900 |
Выводы:
- В одинаковых задачах ПЛК210-1х оказывается более производительным за счёт обновлённого центрального процессора. Для ПЛК210-0х такая нагрузка критична (100% загрузки ЦП).
- Заданное время опроса slave-устройств по ModbusTCP выдерживается на обоих ПЛК.
- ПЛК210-0х в силу полной загрузки ЦП показывает более медленный обмен с ModbusTCP- и OPCUA клиентами.
Следует отметить, что в реальной задаче получаемые результаты могут отличаться в силу различных факторов: наличие визуализации и её сложность, более сложные алгоритмы в программе, нагруженность ПЛК другими задачами (обмен с БД, выполнение Python-скриптов и т.п.), оптимизация обмена (групповые запросы) и пр.