Технология VNC в промышленной автоматизации
Сегодня почти ни одна компания не может обойтись без активного использования компьютеров. Поэтому будни системных администраторов весьма насыщены: порой им нужно обеспечить бесперебойную работу сотен людей, зачастую находящихся на разных этажах одного или даже нескольких зданий. Чтобы добраться до коллеги, которому нужна помощь, может потребоваться 5, 10 или 15 минут. А что, если проблемы настигли одновременно нескольких пользователей?
Жизнь сисадминов значительно упростили системы удалённого доступа, которые получили распространение не только в сфере администрирования, но и в других областях – том числе в промышленной автоматизации. В данной статье обсудим одну из подобных систем, которая называется VNC, и рассмотрим её применение в панелях оператора ОВЕН СП210.
История появления VNC
История VNC началась в середине 1990-х годов в исследовательской лаборатории Olivetti & Oracle в Кембридже, где велись разработки в области мультимедийных, коммуникационных и мобильных систем. В одном из проектов – Medusa – разработали систему ВКС (видеоконференцсвязи), основанную на сетевой технологии ATM (Asynchronous Transfer Mode). Для рабочих мест использовались Videotile – бюджетные моноблочные устройства с сенсорным экраном (тонкие клиенты). На этих устройствах запускалось приложение, которое организовывало трансляцию рабочего стола удалённого сервера и передавало ему команды оператора.
В первом прототипе использовалась X Window System, у которой было два существенных недостатка:
- она работала только на операционный системе Unix в то время, как рынок уже начинала захватывать Windows;
- она требовала использования довольно ресурсоемкого и медленно запускавшегося приложения.
В итоге сотрудники лаборатории создали кроссплатформенную систему, не требовательную к ресурсам и обеспечивающую минимальную нагрузку на канал связи. Так появилась VNC (Virtual Network Computing), основанная на протоколе RFB (Remote FrameBuffer), которая передавала непосредственно фрагменты содержимого фреймбуфера устройства и не требовала использования сложных графических API. Для оптимизации на каждом цикле обмена пересылалась информация только о «перерисованных» областях экрана.
VNC основана на клиент-серверной архитектуре: на устройстве, к рабочему столу которого требуется получить доступ, запускается VNC-сервер, а на рабочем месте оператора – VNC-клиент.
VNC в промышленной автоматизации
VNC быстро набрала популярность. Основные преимущества технологии – кроссплатформенность, открытость и нетребовательность к ресурсам «железа» и каналу связи – позволили ей занять определённую нишу в сфере автоматизированных систем управления. Типовым сценарием стал запуск на контроллере или промышленном компьютере VNC-сервера, к которому в качестве VNC-клиента подключалась либо HMI-панель, либо программа, запущенная на АРМ оператора.
Постепенно популярность VNC в промышленности снизилась – в частности, из-за требований к кибербезопасности. В исходной версии спецификации VNC описаны лишь базовые средства аутентификации, так что эта технология подходит исключительно для использования в локальных сетях. На смену ей пришли контроллеры со встроенными веб-серверами и веб-панели оператора – такие, как ОВЕН ВП110.
Тем не менее, в устройствах с ограниченными аппаратными ресурсами использование VNC до сих пор выглядит оправданным. Одним из примеров подобных устройств является линейка панелей оператора ОВЕН СП210.
Реализация VNC в панелях оператора СП210
Расширенные модификации панелей оператора СП210 (-Р) имеют интерфейс Ethernet, который позволяет подключать их к локальной сети объекта автоматизации. В состав прошивки панели входит VNC-сервер. Если оператору требуется поменять значения уставок или изменить режим работы оборудования, то вместо того, чтобы идти в цех и делать это «классическим» образом, нажимая на сенсорный экран панели – он может остаться на рабочем месте и подключиться к панели с компьютера или мобильного устройства.
Первоначальная настройка крайне проста: в системном меню панели на вкладке VNC пользователь указывает режим работы VNC-сервера. Доступно три варианта:
- сервер отключен;
- сервер включен и поддерживает только одно активное клиентское подключение;
- сервер включен и поддерживает несколько одновременных подключений (максимальное количество подключений зависит от свободных ресурсов панели – в частности, объёма оперативной памяти).

Вариант с несколькими одновременными подключениями является нежелательным – все подключённые операторы фактически делят общее «рабочее пространство» и могут мешать друг другу – например, постоянно пытаясь переключиться на нужный каждому из них экран.
В системном меню на вкладке Пароли требуется задать пароль, который будет использоваться в VNC-клиенте для подключения к панели (по умолчанию задан пароль 123456). Пароль является «общим» для всех операторов.

Важный момент: в проекте панели может использоваться система аутентификации пользователей – например, чтобы ограничить доступ к некоторым экранам и элементам только для соответствующей категории сотрудников. Но эта система не имеет привязки к VNC – оператор, удалённо подключившийся к панели в момент работы с ней другого специалиста, может невольно получить доступ к «секретным» экранам проекта. Поэтому, если в проекте требуется обеспечить разграничение прав пользователей, пароль VNC стоит выдавать только самой «привилегированной» категории сотрудников.
Обзор VNC-клиентов
Для подключения к панели потребуется специальная утилита – VNC-клиент (VNC Viewer). Одна из таких утилит входит в состав ПО «Конфигуратор СП210», используемого для разработки проектов панелей оператора.
Для использования утилиты требуется подключиться к панели с помощью команды Инструменты – VNC и MQTT, указав пароль удаленного подключения (не путайте его с паролем VNC). Пароль настраивается в системном меню на вкладке Пароли. По умолчанию его значение – 12345678.
После подключения перейдите на вкладку VNC, введите пароль VNC и нажмите на кнопку Запустить VNC. Откроется окно VNC-клиента, в котором будет отображаться экран панели. Для ввода данных используйте мышь и клавиатуру своего компьютера.


Этот вариант удобен для отладки, но имеет ограничения – требует установки конфигуратора панелей и доступен только для ОС Windows. Поэтому в реальных системах в большинстве случаев будет использоваться отдельный VNC-клиент. В его интерфейсе для подключения к панели потребуется ввести всего три параметра:
- IP-адрес панели;
- Номер порта VNC (в СП210 используется стандартный для VNC порт 5900, который не может быть изменен);
- Пароль VNC, заданный в системном меню панели.
Обзор VNC-клиентов
Рассмотрим самые популярные утилиты. Они являются бесплатными и не требуют какой-то либо регистрации для загрузки.
1. RealVNC Viewer
«Золотой стандарт» от разработчиков самой технологии. В отличие от других утилит основан на проприетарных программных решениях и закрытом исходном коде. Имеет версии для всех присутствующих на рынке операционных систем – в том числе, для macOS и iOS. https://www.realvnc.com/en/connect/download/viewer/
Есть и коммерческая версия RealVNC Connect с расширенными возможностями и встроенными средствами информационной безопасности.
2. UltraVNC
Open Source VNC-клиент для Windows. Прост и удобен в использовании.
3. TightVNC
Open Source VNC-клиент, первые версии которого были созданы российским разработчиком Константином Каплинским. Доступен для Windows. Поддержка Linux есть только в старых версиях утилиты – 1.3.x. Рассчитан на работу в сетях с низкой скоростью передачи данных.
https://www.tightvnc.com/download.php
4. TigerVNC
Open Source VNC-клиент, частично основанный на коде TightVNC. Доступен для Windows, Linux и macOS.
https://github.com/TigerVNC/tigervnc
5. Remmina
Remmina – утилита-«комбайн», объединяющая в себе функции клиентов протоколов удалённого подключения (VNC, RDP, SSH и др.). Доступна только для Linux.
инструкция по установке, GitLab
6. VNC-клиенты для Android
Для операционной системы Android доступны как Open Source VNC-клиенты (AVNC, bVNC, MultiVNC), так и утилиты с закрытым исходным кодом, например, VNC Viewer от Termux Studio LLC.
Как выбрать утилиту?
Специальных правил нет, но можно ориентироваться на следующие соображения:
- если требуется подключаться к панели с различных устройств, у которых разные операционные системы, то разумно использовать RealVNC Viewer как самое кроссплатформенное решение из доступных;
- если использование ПО с закрытым исходным кодом является приемлемым, выбирайте RealVNC Viewer;
- если предпочтительнее использовать ПО с открытым исходным кодом, выбирайте тот вариант, который доступен для вашей операционной системы.
Несмотря на серьезный возраст, технологию VNC с успехом продолжают использовать в различных информационных системах – в том числе, и в промышленной автоматизации. Она обеспечивает удалённый доступ к панели оператора СП210 в рамках локальной сети объекта автоматизации или офиса, в котором разрабатывается проект для панели. Настройка займёт не больше пары минут, зато существенно облегчит отладку и эксплуатацию, позволив взаимодействовать с панелью, не отходя от рабочего места.