Introduction
This article presents a comprehensive walkthrough for establishing Azure IoT Edge on the Windows platform, enabling it to run Linux-based containers. Additionally, it delves into the setup of a standalone OPC UA Publisher module, designed to subscribe to tags on a demonstration Kepware OPC UA server. This guide covers the latest version 2.9.6, of the OPC Publisher module.
To streamline your experience and eliminate on-premises requirements, we’ll leverage virtual machines on the Azure platform. While our demonstration simplifies the process, in actual factory settings, this VM-based setup could also be implemented at the factory level in real-world scenarios.
Note - In the below diagram, you can see two separate virtual machines: one for the Kepware OPC UA Server and another for the edge VM (EFLOW) running the OPC Publisher. However, in practice, we streamline our setup by using just one Azure VM. This single VM hosts both Kepware and the IoT Edge gateway (EFLOW) with the OPC Publisher. This consolidation makes things more efficient and easier to manage, simplifying our system architecture.

Pre-requisites
- Azure Subscription
- Azure CLI
- Industrial connectivity software supports OPC UA.
Industrial connectivity software
In this example, we’re using KepwareEX for our industrial connectivity needs. But keep in mind that there are plenty of other options out there that support OPC UA as well.
Create virtual machine
- az login
- az group create: name rg_iiotsample — location west Europe
- az vm create: Location west Europe — resource-group rg_iiotsample — name edgevm — image MicrosoftWindowsServer:WindowsServer:2019-Datacenter-gen second:latest — size Standard_D2s_v3 — public-ip-sku Standard — admin-username avikas: security-type Standard
Install KepwareEX
- Download the KepServerEx Demo and install it using default settings.
- Make sure to remember the password, as we will need this later.
Configure KepServerEx
- After installation, right-click on KepServerEx on the System Tray.
- Click OPC UA Configuration Manager in KepWare Administration.
- Enter Credentials: The username is ‘Administrator’. Password is what was entered during installation.
- On the Server Endpoints tab, click Add and add a new endpoint opc.tcp://<PrivateIP>:49320 and make sure it's enabled as illustrated below

- Close the OPC UA Configuration Manager.
- Right-click again on KepServerEx on the System Tray and click Configuration.
- On the File Menu bar, Click ‘Open’.
- Select LineSimulationDemo.json (You will need this file installed locally on the Windows Machine).
- On the left panel, Navigate to Project -> Connectivity -> Simulator. You will see 4 lines, each with 3 tags as illustrated below.

Configure firewall
- New-NetFirewallRule: DisplayName "Allow EdgeVM to connect to KepServer" -Direction Inbound -LocalPort 49320 -Protocol TCP -Action Allow
IoT Edge gateway
In this example, we’re utilizing Azure IoT Edge for Linux on Windows (EFLOW). This platform allows the execution of containerized Linux workloads alongside Windows applications. This approach is beneficial for manufacturing environments accustomed to managing Windows infrastructure. It empowers customers to seamlessly run production Linux-based cloud-native workloads on Windows. You can find more information about Azure IoT Edge for Linux on Windows here.





Join the conversation! Your thoughts help the community grow.