Manufacturers that support OPC UA: B&R, Beckhoff, Beijer, Fanuc, Lenze and more.
- Prepare the machine
- Add a data source
- Find the address of your OPC UA variables
- Add variables
- Test variables
- Live data, Historical data, Alarming
Prepare the machine
The StrideLinx router supports the following methods of authentication with the OPC UA server on your machine. Make sure your OPC UA server is configured to support at least one of these.
|Message security mode
In the next chapter, when you add the data source, you need to select which authentication method you want to use. Regardless of your choice, communication between the StrideLinx router and the StrideLinx Cloud is always secure (more info).
Add a data source
The machine will need to be added as an OPC UA data source.
- Go to Fleet Manager > Devices and click on your device name.
- In the left menu, at Services, click on the icon and select Data source > OPC UA.
- Enter the requested information (details below) and click on Add.
Field Description Name Enter a name for the data source. Identifier The identifier is entered automatically and ensures that every data source remains unique, even if they share the same name. IP address Enter the IP address of your machine. Leave empty if you're using an StrideLinx Agent. Port The port number will be entered automatically (port 4840 for OPC UA). Authentication Select an authentication method that your OPC UA server supports and enter your credentials if required. For more information, please view Prepare the machine. Polling sleep time
The StrideLinx router will continuously request data from the machine. This then enables you to log aggregated values, like the average value or the maximum value that occurred, and to trigger alarms when certain conditions are met.
The polling sleep time is the time that the StrideLinx router waits before asking data again, after it just received data from the machine.A polling sleep time of 100ms is recommended. In the rare case that you are experiencing a high CPU load on the machine, you can increase this setting to reduce the load.
Find the address of your OPC UA variables
You'll need to know your variable's data type and address.
The following table shows an overview of all equivalent data types in the StrideLinx Cloud.
|In StrideLinx Cloud
The variable's address consists of a namespace index, identifier type, and identifier. Below we'll be using UaExpert to find these attributes.
- Open UaExpert, go to Server and select Add.
- Enter a Configuration Name, go to the Advanced tab, enter "opc.tcp://" followed by the IP address and port number (default 4840) separated by a colon (e.g. opc.tcp://192.168.140.10:4840), and press OK.
- Go to Server and select Connect.
- In the Address space window, find and select your variable.
- The variable's NamespaceIndex, IdentifierType, and Identifier will appear in the Attribute window in the top right.
Once you've added a data source and have your OPC UA addresses, you can start adding variables.
- Go back to the StrideLinx Cloud.
- Under your Data source, go to Variables and click onAdd variable.
- Enter the requested information (details below) and click on Add.
Field Description Name Enter a name for the variable. Identifier
This identifier is a computer-friendly rewrite of the "Name" and ensures that every variable remains unique, even if they share the same name.This identifier is not the same as your OPC UA variable's Identifier (value "20001" in the top-right corner of the example image shown above). That, instead, needs to be entered in the field Value.
Type Select the variable's data type (bool, int, float, etc). Length (for String data types only) The String length. Namespace The namespace index is the first part of the variable's address. Find the address of your OPC UA variables. Identifier type The identifier type is the second part of the variable's address. Find the address of your OPC UA variables. Value
The identifier value is the third part of the variable's address. Find the address of your OPC UA variables.If you are reading data from an array, append the identifier value by ;ir=<index>. For example, if the identifier value would be 20001 and the array index that you want to read is 5, then you enter: 20001;ir=5
Factor Multiplies the value. Leave empty if the data type is boolean. Unit Displayed behind the value (e.g. kg).
- Repeat step 11 for every variable you want to add or click Import from CSV-file near the top right corner to add variables in bulk instead.
You have now made the changes in the StrideLinx Cloud, but these are not yet active in your device. You will need to push your changes to your device for them to take effect.
Temporary disconnectAfter this next step, the config push, the device may temporarily disconnect and LAN communication may be temporarily interrupted while it's applying the new settings. This only takes a moment.
- Click on Push config to device in the top right corner.
The variables test is recommended to check if all added variables are configured correctly. It shows the value of all variables if everything is configured correctly and shows an error if something is not configured correctly.
- Click on Run test near the top right corner.
- The test will attempt to update values every 0.5 seconds.
- Is the test showing unexpected values? Check the addresses and data types of the variables.
- Is the test showing a timeout error? Check that the data source is configured correctly and the machine is connected and powered on. If you are still getting a timeout error, contact your IT to make sure the test is not blocked. The test sets up an outgoing connection from your computer to the StrideLinx router using:
Port Transport protocol Application protocol 443 TCP WebSocket
- Is the test showing a different error? Consult the table below for common error messages and possible ways to resolve the error.
Error message Details BADDISCONNECT
Communication error. Possible causes:
- The IP address in the data source is incorrect and does not match the machine.
- The port setting in the data source is incorrect and does not match the port on which the OPC UA server on the machine is listening.
- The machine is not running an OPC UA server. Make sure that the machine is compatible with OPC UA and that its OPC UA server is running.
Authentication or security error. Possible causes:
- The configured authentication in the data source is incorrect. Check the authentication settings in the machine and adjust the settings in the StrideLinx Cloud data source accordingly.
- The machine is not compatible with the supported authentication and security methods. Check the authentication and security settings in the machine and adjust them accordingly. On some machines you may need to enable Anonymous, set Message security mode to None, or disable User Administration.
Addressing error. Possible causes:
- The variable does not exist in the machine.
- The variable's address is incorrect.
- If the variable is an element of an array, make sure that in the machine the property Show array elements is set to TRUE. In B&R hardware, this setting is found by going to the Config view, then finding the OPC UA mapping file, and then finding the array.
Request error. The machine cannot handle the amount of variables that are being requested. The StrideLinx router will request all configured variables in a single request and the machine can only handle a certain amount of variables per request. Possible solutions:
- Increase the limit in the machine. The setting may be named "Nodes per read operation".
- Remove variables from the StrideLinx Cloud to reduce the number of variables being requested.
Connection error. The OPC UA communication between the StrideLinx router and the machine was abruptly disconnected. Possible solution:
- Make sure that the (physical) connection is stable (e.g. no loose connector or broken cable).
Connection error. The OPC UA server did not timely respond to the StrideLinx router's OPC UA message. Possible solutions:
- Set the Polling sleep time in the data source to 100 ms or higher to reduce the CPU load on the machine.
- Reduce the CPU load in any other manner.
Live data, Historical data, Alarming
Now that the data source and variables have been set up, you can continue below.