Учебник. Развертывание издателя OPC

Издатель OPC — это полностью поддерживаемый продукт Майкрософт, созданный в результате открытой разработки, который устраняет разрыв между промышленными ресурсами и облаком Microsoft Azure. Чтобы обеспечить это, издатель подключается к ресурсам с поддержкой OPC UA или промышленному ПО для возможности подключения и публикует данные телеметрии в Центре Интернета вещей Azure в различных форматах, в том числе в стандартном формате IEC62541 OPC UA PubSub (начиная с версии 2.6).

Он выполняется в Azure IoT Edge в качестве модуля или в обычном Docker в качестве контейнера. Поскольку издатель использует кросс-платформенную среду выполнения .NET, его также можно запускать в Linux и Windows 10.

В этом руководстве описано следующее.

  • Развертывание издателя OPC.
  • Запуск последней выпущенной версии издателя OPC в качестве контейнера.
  • Указание параметров создания контейнера на портале Azure.

Если у вас еще нет подписки Azure, создайте бесплатную пробную учетную.

Предварительные условия

  • Необходимо создать Центр Интернета вещей.
  • Необходимо создать устройство IoT Edge.
  • Необходимо зарегистрировать устройство IoT Edge.

Развертывание издателя OPC из Azure Marketplace

  1. Укажите подписку Azure, которую нужно использовать. Если доступная подписка Azure отсутствует, ее необходимо создать.
  2. Выберите Центр Интернета вещей, в который издатель OPC должен отправлять данные. Если доступного Центра Интернета вещей нет, его необходимо создать.
  3. Выберите устройство IoT Edge, на котором должен выполняться издатель OPC (или введите имя нового создаваемого устройства IoT Edge).
  4. Щелкните Создать. Откроется страница Set modules on Device (Настройка модулей на устройстве) для выбранного устройства IoT Edge.
  5. Щелкните OPCPublisher, чтобы открыть страницу "Обновление модуля IoT Edge" издателя OPC, а затем выберите "Параметры создания контейнера".
  6. Укажите дополнительные параметры создания контейнера на основе использования издателя OPC (см. раздел ниже).

Все поддерживаемые образы Docker для издателя OPC Docker перечислены здесь. Для поддержки ресурсов, не относящихся к OPC UA, мы сотрудничаем с ведущими поставщиками услуг подключения и помогли им перенести программное обеспечение адаптера OPC UA в Azure IoT Edge. Эти адаптеры доступны в Azure Marketplace.

Указание параметров создания контейнера на портале Azure

При развертывании издателя OPC с помощью портала Azure параметры создания контейнера можно указать на странице "Обновление модуля IoT Edge" издателя OPC. Эти параметры создания должны быть в формате JSON. Аргументы командной строки издателя OPC можно указать с помощью ключа cmd, например:

"Cmd": [
    "--pf=./pn.json",
    "--aa"
],

Стандартный набор параметров создания контейнера модуля Azure IoT Edge для издателя OPC:

{
    "Hostname": "opcpublisher",
    "Cmd": [
        "--pf=./pn.json",
        "--aa"
    ],
    "HostConfig": {
        "Binds": [
            "/iiotedge:/appdata"
        ]
    }
}

При указании этих параметров издатель OPC будет считывать файл конфигурации ./pn.json. Для рабочего каталога издателя OPC при запуске задано значение /appdata, поэтому издатель OPC будет считывать файл /appdata/pn.json в контейнере Docker. Файл журнала издателя OPC будет записан в /appdata. В этом каталоге также будет создан каталог CertificateStores (используемый для сертификатов OPC UA). Чтобы все эти файлы были доступны в файловой системе узла IoT Edge, следует добавить в конфигурацию контейнера подключение тома с привязкой. Привязка /iiotedge:/appdata будет сопоставлять каталог /appdata с каталогом узла /iiotedge (который будет создан средой выполнения IoT Edge, если он отсутствует). Без этого подключения тома с привязкой все файлы конфигурации издателя OPC будут потеряны при перезапуске контейнера.

Подключение к серверу OPC UA с помощью имени узла без DNS-сервера, настроенного в сети, может быть выполнено путем добавления записи ExtraHosts в раздел HostConfig:

"HostConfig": {
    "ExtraHosts": [
        "opctestsvr:192.168.178.26"
    ]
}

Дальнейшие действия

Теперь, когда вы развернули издатель OPC в модуле Edge, его следует настроить: