Перед добавлением UA-сервера в проект, следует проверить его настройки и при необходимости внести в них изменения. После этого можно добавить UA-сервер в проект и задать для него параметры, соответствующие настройкам в самом UA-сервере.
При работе с UA-серверами встроенными в ПЛК следует учитывать, что они имеют ограниченную производительность, которая сильно зависит от следующих факторов:
•Частота опроса переменных - чем чаще опрос переменных со стороны скада-системы, тем больше нагрузка на ПЛК. Если в скада-системе задать частоту опроса всех переменных, равную 20 мс., то ПЛК будет пытаться каждые 20 мс. передавать значения и тратить на это все свои ресурсы. Если задать редкую частоту опроса, например 10 секунд, то нагрузка на ПЛК значительно снизится. Используйте максимально редкую частоту опроса переменных (допустимую для проекта).
•Количество опрашиваемых переменных - чем больше переменных опрашивается, тем хуже производительность ПЛК. Не импортируйте в скада-систему переменные UA-сервера, которые не нужны.
•Подписки с разной частотой опроса - чем больше подписок с разной частотой опроса, тем хуже производительность UA-сервера. Количество таких подписок зависит от настроек частоты опроса переменных в скада-системе. Например, если задать для 10 переменных частоту опроса 1 сек., а для других 10 переменных частоту 5 сек., то на UA-сервере будет создано две отдельных подписки: 1сек. и 5 сек. Не используйте слишком много разных настроек частоты опроса для переменных.
•Использование политик безопасности - если для подключения к UA-серверу используется любая "Политика безопасности" (т.е. она не равна None), то UA-сервер будет тратить ресурсы на шифрование и его производительность снизится.
•Объем программы ПЛК - чем тяжелее программа, загруженная в ПЛК, тем медленнее он будет работать. Если в ПЛК загрузить очень тяжелую программу (со сложными циклами, таймерами и вычислениями), то он будет расходовать все ресурсы процессора на обработку программы, из-за чего ресурсов на UA-сервер не останется.
•Цикл программы ПЛК - чем меньше время цикла программы ПЛК, тем больше на него нагрузка. В этом случае также может не хватать ресурсов для нормальной работы UA-сервера.
•Количество UA-клиентов - чем больше UA-клиентов подключено к ПЛК, тем ниже его производительность. Не подключайтесь к UA-серверу лишними клиентами.
В качестве примера рассмотрим данные по производительности UA-сервера ПЛК Siemens S7-1500 (firmware V2.9.x) из официальной документации Siemens. Так, рекомендуемое максимальное количество переменных UA-сервера для ПЛК Siemens 1510, 1511, 1511C, 1513, 1505S равно 1000 переменных, для ПЛК 1515, 1516 оно составляет 2000 переменных, для ПЛК 1517, 1518, 1507S составляет 10000 переменных. И это при условии, что кроме OPC-UA к ПЛК нет подключений по другим интерфейсам, частота опроса переменных не чаще 1сек., общая нагрузка на ПЛК не превышает 50% и не используются политики безопасности. При несоблюдении данных условий значения будут еще ниже.
Как видно, производительность UA-серверов встроенных в ПЛК достаточно ограничена и требует внимательной настройки не только параметров самого UA-сервера (описаны ниже), но и учета факторов влияющих на быстродействие UA-сервера (перечислены выше). Если производительности UA-сервера ПЛК не хватает (например в проектах с большим количеством переменных или высокой частотой опроса), то рекомендуется использовать UA-сервер, установленный на компьютер, а UA-сервер ПЛК выключить. В этом случае нагрузка перенесется с процессора ПЛК на гораздо более производительный процессор компьютера.
Дополнительно к перечисленным выше факторам, следует проверить доступные настройки UA-сервера. Для примера рассмотрим настройки UA-сервера, встроенного в ПЛК Schneider Electric Modicon M241:

Наиболее важными являются следующие параметры:
•Max subscriptions per session - максимальное количество подписок на сессию (по умолчанию: 20). В сочетании с параметром "Max monitored items per subscription" определяет общее максимальное количество тегов, которые можно получить с UA-сервера. Например, при значениях по умолчанию "Max subscriptions per session" = 20 и "Max monitored items per subscription" = 100, максимальное количество тегов UA-сервера будет равно: 20 * 100 = 2000. Если требуется получать с UA-сервера больше тегов, то необходимо внести изменения в опции "Max subscriptions per session" и "Max monitored items per subscription".
•Max monitored items per subscription - максимум тегов на подписку (по умолчанию: 100). Значение данной опции должно соответствовать параметру "Максимум тегов на подписку" в настройках UA-сервера в скада-системе.
•Max number of sessions - максимальное количество клиентов (например скада-система или другой UA-клиент), которые могут одновременно подключаться к UA-серверу. Если предполагается подключаться к UA-серверу не только через Simple-Scada, то следует убедиться, что данный параметр соответствует требуемому количеству одновременных подключений.
•Sampling rates (либо Server cyclic rate) - частота, с которой UA-сервер запрашивает данные с ПЛК. Чем ниже значение данного параметра, тем выше нагрузка на UA-сервер. Сначала рекомендуется протестировать работу со значением 1000 мс. Если UA-сервер будет работать стабильно, то при необходимости можно уменьшить значение данного параметра.
Как можно заметить, настройки UA-сервера ПЛК Modicon M241 по умолчанию ограничены: при таких параметрах, максимальное количество тегов, которые можно получить с данного UA-сервера = 2000. Если требуется получать с UA-сервера больше тегов, то необходимо внести изменения в опции "Max subscriptions per session" и "Max monitored items per subscription".
После завершения настройки UA-сервера, необходимо задать соответствующие параметры UA-сервера в скада-системе. К примеру, если на UA-сервере параметр "Max monitored items per subscription" = 100, то в настройках UA-сервера в скада-системе также необходимо задать параметр "Максимум тегов на подписку" = 100.
Если настройки самого UA-сервера или настройки UA-сервера в скада-системе заданы неправильно, то значения всех или части тегов могут не считываться с UA-сервера. При этом, в журнал сервера Simple-Scada будет выдана ошибка с описанием причин, например: "Bad_TooManyMonitoredItem - The request could not be processed because there are too many monitored items in the subscription"/ "Превышено максимальное количество тегов на подписку". При возникновении такой ошибки нужно убедиться, что параметр UA-сервера "Max monitored items per subscription" соответствует параметру "Максимум тегов на подписку" в настройках UA-сервера в скада-системе.