Mastering Industrial Data Collection: A Beginner's Guide to Omron Controllers and Database Functionality

Explore Omron Controllers database.
Listen to this article

In this article, we will demonstrate how Omron’s Sysmac Studio and an NX machine controller can directly access a relational database without a separate computer or middleware.

In this article, we have a Sysmac Studio program running on an NX Machine Controller.

We use Sysmac Studio to move and use data from IoT sources and store some of this data in the NX Controller Database.

What are we going to store in the database?

We’re going to move and use data from a wind turbine and an outdoor weather station.

We’ll show you how to easily perform insert and select operations on this database.

But, before we get to the database functions, we’ll show you how Sysmac Studio can communicate with the sources providing the data.

In this demonstration, we are going to use MQTT to capture the wind turbine and weather station data.

MQTT communication

MQTT is a very popular publish/subscribe messaging communication protocol for IoT devices allowing the exchange of data via Cloud services.

MQTT

We delve deeper into these protocols and how they interact with Omron controllers in our free course ‘Omron PLC Basics: Fast-Track Training in NX & NJ Series‘.

MQTT uses an MQTT Server or Broker intermediary entity that enables MQTT clients to communicate.

The Server collects Published messages from MQTT clients and delivers the messages addressed to receivers that were Subscribed.

An MQTT Client can work simultaneously as a publisher or a subscriber on several topics.

In our example, the NX controller is an MQTT Client.

MQTT communication

OPC UA communication

Sysmac Studio and the NX machine controller can also speak using OPC UA which is another mechanism for transferring information between servers and clients.

Omron controllers can accomplish MQTT via Sysmac Studio communication Function Blocks.

For example, the Function Block MQTTClient controls the connection with the MQTT server.

Sysmac Studio has an MQTT Library with simple-to-use FBs to Connect, Ping, Publish & Subscribe to an MQTT server.

Sysmac Studio’s MQTT Library

JSON data format

OK…so far we’ve discussed how Sysmac Studio facilitates the movement of messages, but we haven’t discussed the message content or format.

In our Sysmac Studio program, we use JSON for the data format.

JSON (JavaScript Object Notation) is a very popular data format with the IoT and can be used to exchange data via MQTT.

OMRON has created a JSON library to convert Sysmac variables to JSON string and to extract variables from a JSON string.

Messages can be encoded with JSON at the source, communicated via MQTT, and decoded at the receiver using JSON.

JSON encoding and decoding

Accessing the database

Ok…let’s talk about the NX machine controller Database and how to access and use it.

Unlike most other PLCs or control systems, OMRON controllers do not need any additional software, hardware, or Server Middleware.

Connecting with an SQL DB is easily accomplished.

In our example, we chose MS SQL Server to interact with our controller DB. As you can see, there are several possible relational database-type servers to choose from.

To complete the connection, we add the Database server address and the Database Username/Password.

MQTT server address and the Database UsernamePassword

After assigning the DB Connection settings, the DB_Connect Function block allows the NX Machine Controller to directly access the SQL Database.

SQLServerConn is entered as the DBConnentName input on the function block.

DB_Connect Function block

As we mentioned earlier, with some simple coding, the Function Block MQTTClient controls the connection with the NX Controller MQTT server.

MQTTClient Function block

Ok…so…now we’ve got MS SQL working with our controller database and we’ve connected our MQTT server with the NX Machine Controller as an MQTT Client.

We’re ready to demonstrate the program operation.

Here we go…

Wind turbine and weather station data

JSON-encoded wind turbine data is being published to an MQTT Server every second.

JSON-encoded wind turbine data

The program also subscribes to a weather station. This real-time JSON-encoded data is updated every 5 minutes.

The weather station data includes temperature, pressure, humidity, wind speed, and other information.

JSON-encoded weather station data

We use JSONdecoder function blocks to decode the specific data from the JSON message. For example, the Get_Temperature FB produces an extTemperature value.

JSONdecoder function blocks

OK…now we insert the data into the database with DB_Insert.

We have 2 tables in the database – WindTurbine001 and MeteoStation.

DBInsert function block

How can we see what’s in the Database?

There are lots of free SQL client software applications and database administration tools available.

We use DBeaver to view the 2 tables and the data in each, in the database named turbines.

DBeaver

Before we proceed further if you’re finding this content valuable and wish to gain a more comprehensive understanding of Omron Controllers, consider signing up for our free course ‘Omron PLC Basics: Fast-Track Training in NX & NJ Series‘.

Database queries

Alright…now we’ll perform a database query using the Sysmac Studio DB_Select function.

With some simple coding, we select the top 5 temperatures from the Windturbine001 table and set them in descending order.

We can view the top 5 temps selected by clicking on the Sysmac Studio Watch Tab Page (Table) icon in the Toolbar.

Watch Tab Page (Table)

We’d like to show you the DB_Delete feature of the Sysmac Studio DB functions.

Users may want to clear old records from a database, and this can be easily accomplished with the DB_Delete function.

In our program, we’re using a normally open contact that we can operate to Execute the DB_Delete function block action.

DB_Delete function block

Summary

Alright…that’s all we wanted to show you for now.

Let’s recap a few key points.

Omron’s Sysmac Studio working together with an NX Machine Controller can directly access a relational database without a separate computer or middleware.

Sysmac Studio has several DB Function blocks to perform functions such as insert, select, and delete.

Omron’s Sysmac Studio incorporates MQTT for communication via a comprehensive MQTT Function Block library.

Sysmac Studio can also speak using OPC UA.

Sysmac Studio also incorporates encoding and decoding JSON libraries to convert Sysmac variables to JSON string and to extract variables from a JSON string.

Connecting with one of several possible relational database types servers to choose from is easily accomplished.

From Electrical Design to Automation: Importing EPLAN Electric P8 into Sysmac Studio

If you’re finding this content valuable and wish to gain a more comprehensive understanding of Omron Controllers, consider signing up for our free course Omron PLC Basics: Fast-Track Training in NX & NJ Series.

Join the Top 1% of Automation Engineers

Start Your 7-day Free Trial

Learn from Industry Experts

Start your learning journey today!
With a 7-day trial, then 25/month
Start Learning For Free