This article will cover setting up an EtaPRO Data Interface to acquire data from an OPC Server. Specifically, this article refers to servers that meet the OPC Data Access (DA) specification. It assumes that you have the following already done:
- All necessary software installed and licensed. Which includes:
- EtaPRO Server
- EtaPRO Data Interface
- Ideally installed on the same machine as the OPC Server
- OPC DA Server
- Any OPC DA Client
- Have the computer name and IP Address of all the computers you'll work on
- Have the name of the OPC server
- Administrator rights to EtaPRO
- Administrator rights to the EtaPRO Server computer
- If the OPC Server and EtaPRO Server are on separate computers:
- Administrator rights to the OPC Server computer
- A working network between the OPC Server computer and the EtaPRO Server computer. Specifically on TCP/IP port 5575 (by default)
TIP: Try to install the EtaPRO Data Interface on the same machine as the OPC Server. By doing this you greatly reduce the chance you'll have to mess with DCOM. When the Interface is installed on the OPC Server computer, the Interface can buffer data if the connection to the EtaPRO Server is lost.
The first thing you'll need to do is create a new Data Interface. Open up the EtaPRO Data Interface Service Manager and click the Configurator button.
Choose OPC Interface from the Source combo box and leave EtaPRO selected in the Transport combo box.
Switch the Logging Level to High. This will increase the amount if information that is written to the log. If you run into problems setting up an interface, this will help diagnose the issue.
OPC Server Connection
The next step is to setup the connections to both the OPC Server and the EtaPRO Server. Switch to the Data Source tab and enter your OPC Server name into the OPC Server entry.
If your OPC Server on on a different machine from where the EtaPRO Data Interface is installed, you'll need to format the OPC Server entry differently. For Remote OPC Servers use this format MachineAddress|OPCServerName. Write the name of the server or the IP Address of the server, use the "pipe" character and then write the OPC Server name. Don't use any spaces between any of those items.
If you are unsure of your OPC Server name, use an OPC Client and try to browse the local computer. It should give you an option or two to try. If you don't know how to use an OPC Client, MatrikonOPC has some great resources as well as some Quick Start Videos.
Click Test Connect to test the connection between the EtaPRO Data Interface and the OPC Server. If everything is correct, you will receive a green Connection successful! If there is an issue, you'll get a red Connection Failed!
It is worth noting that connection attempts may take a long time. The communication protocol used by OPC has very long timeouts. Which means, if something isn't setup right or you have a typo in the OPC Server entry, it may take a very long time to return a failure message. It could be upwards of a few minutes, so be patient.
If you're trying to connect to a Remote OPC Server, and it doesn't connect, try using the IP Address instead of the Machine name or vice versa. If that doesn't work try connecting to it with a different OPC Client to see if all the permissions are setup correctly.
EtaPRO Server Connection
Before you try connecting to the EtaPRO Server, make sure that it is actually started and running. Obviously everything will be in alarm, but make sure that the server is started and the EtaPRO Client can connect.
Switch to the Data Transport tab, and put in the information for the EtaPRO Server, User, and Password. You can use either the Machine Name or the IP Address for the EtaPRO Server.
Click the Test Connect button to test the connection from the EtaPRO Data Interface to the EtaPRO Server. This will return a similar Success or Failure message. The connection to EtaPRO is equally as important as the connection to the OPC Server.
EtaPRO Connection Troubleshooting
If you can't connect and the EtaPRO Data Interface is installed on a different machine from the EtaPRO Server verify the network connection. The issue is usually that communication across TCP/IP Port 5575 isn't opened. You can try using Telnet to test the network communication. You may need to install the Telnet Client. You can telnet directly to the EtaPRO port to test communication using the command:
telnet [EtaPRO Server Address] 5575
It is not uncommon for IT Departments to block the use of PING. Therefore you may get a false negative result if you use that tool.
EtaPRO Tag Setup
Open up the EtaPRO Client and identify an acquired point that you not only expect to be available, but to be frequently changing. A point like Gross Generation is a good choice, Ambient Temperature would be a bad choice.
To start out with, only setup one point first.
Enable Edit Mode in the EtaPRO Client and then right-click on the point and select Data Point Configuration.
Click on the Function Setup tab, check the EtaPRO Data Interface button and select OPC Interface from the Instance Type combo box.
Put in the following for the various fields:
Instance = OPC
Refresh Rate ID = 1
Point Type = 2
The Instance field will link this point with the specific interface you just set up.
When the Instance fields are the same, the point is assigned to that interface. The interface will then attempt to look for that point on that OPC Server.
The Refresh Rate ID tells the EtaPRO Data Interface to acquire the data at the rate of whatever has been assigned for the rate with that ID. The EtaPRO Data Interface has a default acquisition rate of once per minute at the top of the minute.
The Point Type tells the EtaPRO Data Interface how the tag should be read.
Finding the Instrument ID
The InstrumentID field links the individual EtaPRO point up with the specific OPC Item. The InstrumentID = OPC Item ID this is how you tell an EtaPRO point which real world measurement.
Ideally, the OPC Item ID and InstrumentID should be the same as the EtaPRO Point ID, however this isn't always the case. Often times the formatting between the EtaPRO Point ID and the OPC Item ID are different, periods are swapped for pipes or slashes, or perhaps the deliminator is removed entirely. Sometimes they have different prefixes or suffixes.
To start with, try using the EtaPRO Point ID as the Instrument ID.
TIP: If you run into issues finding the OPC Item ID, use an OPC Client and explore the OPC Server. Every OPC Server is put together differently. However there is always a pattern. There are OPC Clients available that can output every OPC Item out to a text file. While that may seem like the surefire solution, depending on the OPC Server there may be 50 different suffixed OPC Items to the item that represents a single field measurement. The key is observation, patience and communication with the appropriate plant personnel.
So far you've done the following
- Created new Interface
- Connected the Interface to the OPC Server
- Connected the Interface to the EtaPRO Server
- Configured one EtaPRO Point to acquire data through the new Interface
That means you're ready to begin testing. Go back to the EtaPRO Data Interface Configurator and click the Test Interface button.
This will launch a test window that tests the acquisition process. It goes through all of the steps the interface goes through when the service actually starts. A log of all of the steps is displayed on the right message window and the results of the test are shown in the grid on the left.
This is where you can find out if the InstrumentID you entered is correct. If the InstrumentID you entered was not a valid OPC Item ID, you will see evidence of that both in the grid and in the message window. Try clicking Refresh a few times to verify that the value changes slightly. A rapidly changing value is easier to use during this process.
Depending on the OPC Server, it is possible to have everything setup correctly but the test could completely fail. This could be due to licensing restrictions on the OPC Server. Some OPC Servers limit the number of concurrent connections. Therefore you may not be able to run both the OPC Test Client and the EtaPRO Data Interface at the same time.
Once you have a successful test, return the the EtaPRO Data Interface Configurator and check the Interface Active box and then click OK. This tells the EtaPRO Data Interface Service to run this interface. Often for advanced troubleshooting, it is useful to have multiple interfaces setup with slightly different configurations. The Interface Active check box controls which one is actually the interface you want to run, while the rest just get saved for later use.
Then click Start to start the EtaPRO Data Interface Service.
This tests the EtaPRO Data Interface Service, which is slightly different that the interactive Test Interface you did previously. After you start the service, it is important to wait 5 minutes before continuing. There are a number of things that have to happen before you can see the data in EtaPRO and it is really easy to become impatient and jump to incorrect conclusions. So wait 5 minutes before going to the EtaPRO Client.
If everything worked, you will see your test point no longer in alarm and should have the very start of a trend. Right-click on the point and select Data Point Raw Data. If everything is working, you should see current timestamps, reasonable values and good quality.
Troubleshooting the First Point
If you don't see data or the point is still in alarm, don't assume that you entered something in wrong, it may be because that instrument is bad or that piece of equipment is off or that there is a problem with the way that OPC Item is configured.
Check the Logs
The first step is to check the logs. Since you set the Logging Level to High, the EtaPRO Data Interface will be writing all kinds of useful status messages as well as capturing any errors that occur. The logs can be found in a Logging folder located in the installation directory.
High Level Logging
If everything looks as though it is working, but you're still not seeing any data, it is often useful to look at the live data. Open up the EtaPRO Data Interface Configurator and find the Light Level Logging group. Set the Log Live Data option to True.
Click OK and then restart the EtaPRO Data Interface Service.
This will log the value of the point each time the EtaPRO Data Interface sends data to EtaPRO. From this you can verify if the EtaPRO Data Interface is actually sending data as well as the Timestamp, and/or Quality of the data value. This can help you determine which course of action to take.
First verify the status of the OPC Item using an OPC Client. Use an OPC Client to independently check the point. If the point isn't updating with the test client, go back and setup a different tag. In the case that the unit or the entire plant is offline, this makes your job exponentially harder. However even in these cases, there is usually one point that has some signal noise that will constantly change.
Check the time
It sounds simple, but remember you are working on setting up a time series historian, so time is important. Check the time and the time zone on both the OPC Server and the EtaPRO Server. It is very easy for one to be out of sync with the other. Check all of the clocks against an independent source, such as Google. Make sure that you compare the machine UTC time to the actual UTC time as well. Behind the scenes, the EtaPRO Data Interface works on UTC time. While it is uncommon, it is possible for the clocks to be correct but for the UTC time on the computer to be incorrect.
Log On Service User
If the point works in an OPC Client and the interactive Test Interface, then there may be a restriction on which users can communicate with the OPC Server. The OPC Server may not allow the Local System account to connect. You may need to have a new user created specifically for the EtaPRO Data Interface Service and tell the service to use that new user. To do this, open the Services management window and find the EPArchive Interface Service, right-click and select Properties. Click on the Log On tab, check the This account: option and then enter in the new account name and password.
Click OK and then restart the EtaPRO Data Interface Service.
OPC Server Permissions/Licensing
Because an OPC Server can be written by anyone, they all can behave slightly different. Each vendor has the choice to implement various features. Additionally, the DCOM settings greatly influence the behavior of the OPC Server. It is possible to limit the number of concurrent connections to the OPC Server. You may find it useful to disconnect any other OPC Clients. Also there may be a specific user account that you need to use to connect to the OPC Server.
Add the other points
With the first point working and storing data, you can now start adding other points. You may find it useful to configure 5-10 and then Reconfigure the unit. Once a minute, the EtaPRO Data Interface checks EtaPRO to see if any configuration changes have been made. If so, it automatically incorporates the appropriate changes and starts acquiring any newly configured points. Again, it may take upwards of 5 minutes for all of the changes to cascade through the system. The key is to stay organized and patient.
Once you've got all of the acquired points configured, its time to go back and turn down the Logging Level. Open up the EtaPRO Data Interface Configurator and change the Logging Level back to Low.
Click OK and then restart the EtaPRO Data Interface Service again. We want to do this to reduce the the size of the log files. By setting the Logging Level back to Low, you will only log the important events.