OPC and GENESIS64

GENESIS64 is a suite of tools that you can use to create state display and control software for equipment, machinery, or devices that use the OPC open process control standards of OPCFoundation.org. OPC standards exist for both real time devices, as well as for historical data that can be logged and replayed at a later data. There are several OPC standards, and the specification give manufacturers a significant amount of flexibility over which type of data is contained in the tag values or registers. The following is a short listing of some of the OPC standards:  

  • OPC Data Access ( OPC-DA ), which provides real time communications between Human Machine Interface software/devices and data acquisition devices such as Programmable Logic Controllers.

  • OPC Alarms and Events ( OPC-AE ), which communicates event data and evaluates alarm conditions based on the definitions you use to set the boundary conditions that determine the state of the data.

  • OPC Historical Data Access ( OPC-HDA ), which specifies how OPC data can be stored in a log (either a physical file or in memory) to allow for later replay.

  • OPC Batch, which is a standard for batch processing.

  • OPC Security, which is a standard for controlling the client access to OPC devices.

  • OPC XML-DA, which specifies that OPC-DA data be communicated in XML format, and is used for software built on web platforms.

  • OPC Complex Data, which is a standard for binary data and XML documents.

  • OPC Commands, which is a set of control commands that you can use between devices and display systems.

In the list above the three most important standards are OPC-DA, OPC-AE and OPC-HDA, and different application and tools of the GENESIS64 suite work with these different standards. You can see OPC-DA data in Process Points in GraphWorX64, a Process Point being a label that displays the current value of the data source that you have connected that label to. Normally a Process Point displays the data of an OPC tag, which is a data source that has a specific address with one or more values (registers) being updated over time. Tags are often called points, because early in the development of OPC data sources were single valued. For this type of application, GraphWorX64 's Process Point is a real-time data display.

GENESIS64 and OPC standards provide the tools needed to automate the world's industries, from: airports, to water treatment plants, from HVAC and building controls to oil pipeline management, from pharmaceutical manufacturing plant recipe management to critical operations management in nuclear power plants. You can get some sense of the rich applications that can be created by opening the GenDemo application in the ICONICS Program Folder on the Start menu. The figure below, taken from the Industry Example screen provides a clickable starting point for you to view, deconstruct, and learn about how to create world class animation solutions.

The GENESIS64 Examples in the GenDemo Application

The AlarmWorX64 application, which has both client and server components, is another example of a real-time data display. Here the focus is on alarm and event type data that is specified by the OPC-AE standard. You can configure AlarmWorX64 to display real time alarm events inside a viewer application that originates on an alarm server application that is monitoring alarm-based OPC-AE devices. Another application, called the Alarm Logger can allows you to log alarm data into a file or into memory, and you can use an application to replay historical data using the replay parameters that you set.

The third major application used in the GENESIS64 suite, for the variation of data over time, is TrendWorX64, which uses the OPC-HDA standard to work with stored data. TrendWorX64, just like the AlarmWorX64 application, is a system of server and client applications as well as a logger. Since TrendWorX64 is meant to show the variance of data over time the display of the data is in chart or graph form that would allow these trends to be viewed conveniently. A common representation would be a strip chart with pens, but it is possible to represent aggregate data in formats such as pie charts or bar graphs.

Previous versions of the GENESIS64 automation suite before version 10 worked with the standards described above. The current version of GENESIS64 is based upon a newer OPC standard called OPC Unified Access or OPC UA which incorporates newer communication standards while retaining backwards compatibility. The original OPC communications model used first COM (the Common Object Model) or DCOM (Distributed COM) as their communication protocol and based applications on Microsoft's ActiveX technology. COM/DCOM was a Windows only standard that had issues with both configuration and security, and could be difficult to implement. OPC UA moves OPC communications to the Service Oriented Architecture () based on the Windows .NET Framework Architecture.

OPC UA adds better multi-platform support for C, Java, and .NET applications, better support for multi-threading and multi-processor support, and a strengthened security model. The Base Services that are part of OPC UA's definition defines an optimized TCP protocol that makes the high speed data logger GENESIS64 Hyper Historian possible. Another OPC UA protocol is a Web-service based protocol that is used by the WebHMI application to make different components of GENESIS64 available within a browser. In OPC UA data nodes respond to command events using a Full Mesh Network model to return process data such as AE, DA, etc. as well as additional metadata; all of which is supported by the namespace or addressing scheme used by OPC UA.

Importantly, OPC UA has the following characteristics built into it:

  • Data Buffering, where data is transmitted and acknowledged so that its delivery is assured.

  • Data Redundancy which provides alternate data pathways, data failover to mirrors, and other technologies.

  • Heartbeat signals that provide a timing function that establishes the state of a connection and additional actions.

  • A Security Model which defines access mechanism to OPC data based on authentication and authorization, and which uses encryption and access through a certificate and signature model.

  • An Address Space Model that allows data sources and their values to be mapped.

  • Data Access, Alarms and Conditions, and Historical Access standards that provide backwards compatibility to the standards that are described above.

  • Services and Service Mappings that allow data sources to be managed by a network or internet working service model. Communication is through a defined communication stack using a set of OPC UA APIs (for .NET, Java, etc.) that allow applications to access these services.

You can read more about OPC standards at the OPC Foundation web site.

The OPC UA standard makes a number of important changes in the way GENESIS64 application can be run, as you will see in the next section, streamlining how data can be accessed and displayed.

Unified Data Display and Access

There are two places in which you can display process data inside the GENESIS64 application suite:

  • GraphWorX64 - The GraphWorX64 application is an object oriented vector based design tool that creates display files that can be run inside a runtime mode of the GraphWorX64 application. The GraphWorX64 display is a container application, but whereas in older versions of GENESIS64 the container was used to contain ActiveX objects, GraphWorX64 can contain .NET controls. You can place Windows Forms, WPF controls, and importantly AlarmWorX64 Viewer , TrendWorX64 Viewer , EarthWorX viewer, the Smart Pin control, and even the GraphWorX64 viewer itself into the display. Therefore, the great majority of GENESIS64 HMI displays are created within a GraphWorX64 display. This flexibility allows you to display real time data, alarms, trends, geographical data and so forth in a single interface.

A GraphWorX64 Display

  • Workbench - The Workbench application, new to the GENESIS64 suite, is an application framework which also can contain various controls in its work surface. You can open all of the major viewers inside the Workbench application, but (with the exception of GraphWorX64 ) one control at a time. The Workbench is unique in that you can use it to open configuration forms that allow you to manage all of the services and support databases that are used for enabling the different aspects of the GENESIS64 services and servers.

The Workbench is the central tool used to configure and manage the various servers and services required to access and use OPC data. Shown in the figure below is the FrameWorX server OPC UA Client Configuration form, with the menu that allows you to add or remove buttons from the navigation pane. All of the applications, tools, and features that are shown in the menu are available within the Workbench . When you open several of the GENESIS64 applications such as GraphWorX64, AlarmWorX64, TrendWorX64, or EarthWorX you see a design surface upon which you can manipulate the different objects and controls that are part of your automation solution. You can see how the different components of GENESIS64 communicate with the Workbench in the architecture diagram shown below.

The GENESIS64 System Architecture

The Workbench provides a unified interface that GENESIS64 components can communicate through.

When you open a server such as the FrameWorX Server you see a set of Configuration Forms that allow you to control objects and properties. The FrameWorX Server is a middleware server that can translate communications from one type of server such as OPC DA or GenBroker (another ICONICS communication server) to another format such as OPC UA, and visa versa. FrameWorX server is a central server that is required for most of the applications in the suite to run properly.

The FrameWorX Server within the Workbench Application

All of the applications that comprise the GENESIS64 automation suite are built on the principles of object oriented programming. If you have ever programmed in Visual Basic or another Microsoft visual language, then you are familiar with many of the principles required to understand building successful applications. In the figure below the process point in the lower right corner of the display of a booster station (AvaVal_38) has been selected and its position in the object hierarchy is shown in the Explorer pane at the top of the right hand side of the display. The process point is a dynamic label, and the properties of the dynamic action (here a tag value update from a data source) is displayed in the Dynamics pane below the Explorer. When the DataSource property is selected an Ellipsis button appears that lets you specify the data source.

A Sample Display in Configuration Mode with a Process Point Selected

GENESIS64 also centralizes the specification of data sources contained in its various databases, outside data sources, the specification of substitution strings or variables called aliases, and even the construction of expressions within an application called the Data Browser. The figure below shows a sample tab of the Data Browser that appears when the DataSource property was described. In this particular process point an expression was built using the Expression tab (which replaces the Expression Editor from previous GENESIS64 versions). The Data Browser can create expressions using other parts of the Data Browser. Here the expression uses a local simulator, which is a mathematical function that simulates an OPC data tag output. In the Data Browser tabs you can:

  • Assign an OPC UA tag to a data source.

  • Use an alias (global, local, or language) that is a variable substitution for a string

  • Specify a simulation function

  • Or create an expression that uses any element of the Data Browser.

The Data Browser

The Data Browser provides a consistent inrterface for variable expression.

The Data Browser is a great time saver, and the expressions it creates are verified to be syntactically correct freeing the user from having to learn a great deal of arcane formatting and syntax.

See also:

OPC Overview