How To Articles > How to Transfer Data from Modbus to Azure IoT

How to Transfer Data from Modbus to Azure IoT

How to Transfer Data from Modbus to Azure IoT


Open Automation Software can be used to transfer data from Modbus TCP, Modbus RTU, and Modbus ASCII devices to an Azure IoT Gateway, locally or over a network.  This tutorial walks you through downloading and installing OAS, configuring a Modbus and an Azure IoT driver, configuring Modbus and Azure IoT tags and implementing Data Route.

Step 1. Download and Install the Open Automation Software and Start the OAS Service

If you have not already done so, you will need to download and install the OAS platform.  Fully functional trial versions of the software are available for Windows, Windows IoT Core, Linux, Raspberry Pi and Docker on our downloads page.

On Windows run the downloaded Setup.exe file to install one or more of the Open Automation Software features. Select the default Typical installation if you are not sure what features to use or the Custom installation if you want to save disk space on the target system.  When prompted agree to the End User License Agreement to continue the installation.

For more detailed instructions and video tutorials, visit the installation guide for your system:
Windows Installation | Linux Installation | Raspberry Pi Installation | Dockers Installation

When the installation is finished the OAS Service Control application will appear.  Use this application to start the 4 Services. If this is the first time installing the software it will automatically enter Runtime with an example Tag Configuration.


Step 2. Configure Your Modbus Data Source

  1. First, you will need to open the Configure OAS application from the program group Open Automation Software.

  2. Select Configure >> License from the top menu and verify that Modbus is one of the available Drivers in the lower left of the form. The demo license will have this by default. If you do not see Modbus available, contact support@openautomationsoftware.com to update your license.

  3. Select Configure >> Drivers from the top menu.


  4. Select localhost or the remote service you wish to modify with the Select button to the right of the Network Node list.


  5. The Configure Drivers Screen will appear. Select Modbus from the Driver dropdown box.


  6. Enter a meaningful Driver Interface Name that you will refer to this physical connection when defining Tags with a Modbus Data Source.

  7. Specify the Connection as Ethernet or Serial.

  8. Specify the Modbus Type as Master or Slave. Master will be used when communicating to a Modbus device. Slave will be used when other Modbus masters will be communicating to OAS.

  9. When setting up a Slave interface over Ethernet set the IP Address to the computer IPv4 IP address or network node name if the master is on a remote PC. You can also use 127.0.0.1 or localhost if the Modbus master will be on the same computer.

For more detailed instructions on configuring your Modbus data source, click here to see our Getting Started Modbus tutorial or watch the video tutorial below:


Step 3. Configure Your Azure IoT Data Source

  1. First, you will need to open the Configure OAS application from the program group Open Automation Software.

  2. Select Configure >> License from the top menu and verify that Azure IoT is one of the available Drivers in the lower left of the form. The demo license will have this by default. If you do not see Azure IoT available, contact support@openautomationsoftware.com to update your license.

  3. Select Configure >> Drivers from the top menu.


  4. Select localhost or the remote service you wish to modify with the Select button to the right of the Network Node list.


  5. The Configure Drivers Screen will appear. Select Azure IoT from the Driver dropdown box.


  6. Enter a meaningful Driver Interface Name that you will refer to this physical connection when defining Tags with an Azure IoT Data Source.

  7. Enter the Azure IoT Device ID you want to use.

  8. Enter the Azure IoT Connection.

  9. Enter the Azure IoT Hub URL.

  10. Select the preferred Azure IoT Transport. Typically it is AMQP.

  11. Click the Add Driver button above the Driver list in the left pane to add the Driver Interface as an available selection when defining Tags in the next step.

For more detailed instructions on configuring your Azure IoT data source, visit our Getting Started Azure Iot Data Hub tutorial or watch the video tutorial below:


Step 4. Configure Your Modbus Tags

OAS provides multiple ways to add and define tags:

To add a Tag manually:

  1. In the OAS Configure Application, select Configure >> Tags from the top menu.


  2. Select localhost or the remote service you wish to modify with the Select button to the right of the Network Node list.


  3. Click on the Add Tag button located at the top of the Tag browser on the left portion of the screen.


  4. A dialog box will appear. Enter a name for your new tag and click ok.

  5. A configuration screen will appear for your new tag. Select your data source type in in the Data Source dropdown box.


  6. Specify the correct data type in the Data Type dropdown box.

  7. Click Apply Changes at the bottom right of the window.

For more detailed instructions on configuring your tags, click here to see our Getting Started Tags tutorial.


Step 5. Repeat Step 4 with Your Azure IoT Tags

Step 6. Configure the Target Tab of the Source Tags

  1. Select one of your source tags.

  2. Select it’s Target tab.


  3. Enable Write to Target

  4. Select the Target Type (Tag, OPC, Azure IoT, Azure IoT Edge, or MQTT) from the dropdown.

  5. Select the destination for the value to be sent. If Tag is selected then select Browse and select the desired tag from the localhost system or optionally a remote system for transfer over a network.



    Local: TagName.Value

    Remote: \\192.168.0.1\TagName.Value

    If OPC Item is selected select browse and select the OPC Server and Item



    If Azure IoT is selected then select the Driver Interface.



    If MQTT is selected then select the Driver Interface and Topic.




  6. Enter the desired float value Deadband field. Enter 0 for no deadband.

  7. If you want to specify a desired update frequency for the target check Write Continuously and enter the desired frequency. If Write Contentiously is unchecked the the target will be updated every time the source tag changes.

  8. Click the Apply Changes button to save your changes.

  9. Repeat this step for each tag that you want to transfer data from. This can also be done in bulk with CSV Import/Export or programatically.

For more detailed instructions on Configuring Data Route functionality, visit our Getting Started – Data Route tutorial or watch the videos below:

Multiple Tag Transfer

Tag to Tag Transfer

IoT Publish