...
The next message sent by the client is "OpenSecureChannel message". It is used to establish a communication channel to exchange data. In this message, the client and server agree on what type of encrypting and signing mode will be used (either "sign and encrypt" or "encrypt" only). OPCUA client in the D2000 System supports only unencrypted mode.
...
After activating the session, all types of messages that are intended for object management in the address space of the OPC UA server can be swapped. In this step, the client creates a subscription with the parameters set on the communication station level for all stations within the communication line.
The monitored items should be then inserted into these subscriptions. They correspond with the instances of I/O tags, which contain the parameters defined in the address dialog window.
From this moment, the server informs the client about the changes in the monitored objects by
Kotva | ||||
---|---|---|---|---|
|
...
- Simatic S-7 OPC UA Server
- Bernecker PLC embedded OPC UA Server
- Zenon OPC UA Server
...
Forced disconnection: If all stations on the line are in the simulation mode or the communication is stopped for them, the line will be disconnected (the communication socket will be closed). If the simulation is disabled for at least one station and the communication is not stopped for it (the Parameters tab of the Station type object), the line will be connected again.
Kotva | ||||
---|---|---|---|---|
|
...
Communication line category: OPC UA Client
Host address: OPC UA server address. You may set the name according
...
Communication line category: OPC UA Client
Host address: OPC UA server address. You may set the name according to UNC convention (e.g. "\\server" or "server", DNS names (e.g. "domain.com", "example.company.com") or IP address ("196.54.23.113"). In the case of redundant systems, multiple names/addresses separated by commas or semicolons can be entered.
The usage of the alternative path (the second or following name/address) is signalized by the FLB flag and a combination of FLN, FLO, FLP flags in the station value.
TCP port: TCP port of OPC UA server (e.g. 4840).
EndpointUrl: Endpoint address (e.g. opc.tcp://localhost:4840)
Encoding type: Type of encoding that is used for data exchange (currently only Binary encoding is supported).
...
Parameter name | Meaning | Unit | Default value | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Type of used client (driver for OPC UA communication):
| Default Secure | Default | ||||||||||||||||||
| Session text identifier. Session identifier should be unique within the client instance, making it possible to search problems faster in the client or server logs. | String | Kom process | ||||||||||||||||||
| The channel must be reopened before this time limit elapses. If the time is exceeded, the channel will be closed and unable to change data. | hh:mm:ss | 01:00:00 | ||||||||||||||||||
| Any message should be changed between client and server before this time limit elapses. If it is not sent, the sources within the session that are kept on the server are released. The primary work of this parameter is to remove the sessions that became inactive because of some unexpected reason. | mm:ss | 01:00 | ||||||||||||||||||
| Type of authentication used with the OPC UA server. Supported types are:
| Anonymous / Username | Anonymous | ||||||||||||||||||
| If Authentication type = Username, then user name used in the authentication. If Authentication type = Certificate, then path to user certificate (e.g. D:\user_cert.der). | ||||||||||||||||||||
| If Authentication type = Username, then password used in the authentication. If Authentication type = Certificate, then path to user private key (e.g. D:\user_private_key.pem). | ||||||||||||||||||||
| Security policy (only for Client Type = Secure; for Client Type = Default a security policy None is used):
| None Basic128Rsa15 Basic256 Basic256Sha256 Aes128Sha256RsaOaep Aes256Sha256RsaPss | None | ||||||||||||||||||
| A mode of message security in OPC UA communication (only for Client Type = Secure; for Client Type = Default a mode of message security None is used):
| None Sign Sign & Encrypt | None | ||||||||||||||||||
| Identifier of preferred Security Policy (only for Client Type = Default for password encryption). If the OPC UA offers several security policies, it is possible to select a specific one according to the identifier sent by the OPC server (the identifier can be found from the logs). Examples of an identifier (text form is in parentheses): PolicyId: 30 (0) PolicyId: 31 (1) PolicyId: 75 73 65 72 6E 61 6D 65 5F 62 61 73 69 63 31 32 38 52 73 61 31 35 (username_basic128Rsa15) PolicyId: 75 73 65 72 6E 61 6D 65 5F 62 61 73 69 63 32 35 36 53 68 61 32 35 36 (username_basic256Sha256) | - | - | ||||||||||||||||||
| Waiting after the connection is broken before the connection is re-established. | mm:ss.mss | 00:10.000 | ||||||||||||||||||
| Waiting after an unsuccessful connection attempt. | mm:ss.mss | 00:02.000 | ||||||||||||||||||
| It changes the number of information about communication. We recommend enabling the Extended/Full modes only when detecting the problems and debugging the communication. The "Full + Trace (Secure only)" mode is valid only for Client Type = Secure. | Normal/Extended/Full/ Full + Trace (Secure only) | Normal | ||||||||||||||||||
Kotva | dt | dt | Debug ThreadsThe parameter defines the thread(s) that will send the debug info about the communication. | Receiving/Sending/Others treads/All threads | All threads |
| Waiting after an unsuccessful attempt to create monitored items. If it is zero, the attempt is not repeated. If it is non-zero, the attempt is repeated after the defined wait. | sec | 0 | ||||||||||||
| Terminating the connection after receiving a ServiceFault. | YES/NO | NO | ||||||||||||||||||
| It changes the number of information about communication. We recommend enabling the Extended/Full modes only when detecting the problems and debugging the communication. The "Full + Trace (Secure only)" mode is valid only for Client Type = Secure. | Normal/Extended/Full/ Full + Trace (Secure only) | Normal | ||||||||||||||||||
| The parameter defines the thread(s) that will send the debug info about the communication. | Receiving/Sending/Others treads/All threads | All threads |
Note: all X509 certificates used in OPC UA communication can be found in the following subdirectories of Note: all X509 certificates used in OPC UA communication can be found in the following subdirectories of the kom-opcua directory in the application directory:
...
Full name | Description | Unit | Default value | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Defines the time interval for the server to send the information about the change of monitored items within the instance subscription by "Publish message". | mi:ss.mss | 00:05.000 | |||||||||||||||
| If the client does not send the request for data till the time defined by (LifeTime Count * Publishing Interval), the subscription expires. The value should be minimally 3 times higher than the "Requested Max KeepAlive Count". | Number | 1000 | |||||||||||||||
| If the objects of subscription are not changed, the server will send a keep-alive message after elapsing the time (Max Notifications Per Publish * Publishing Interval). The client will confirm this message when it sends a new request for data. | Number | 5 | |||||||||||||||
| The parameter defines the maximum number of notifications about the object change, which the server can send in one "Publish message". Zero indicates that the number of notifications is unlimited. | Number | 0 | |||||||||||||||
| The parameter enables/disables the publishing within the subscription. | YES/NO | YES | |||||||||||||||
| It defines a relative priority of a subscription. If the server should send more notifications, the subscription with higher priority is preferred. | 0-255 | 0 | |||||||||||||||
| This parameter enables creating an object queue with the defined length on the OPC UA server's side for each monitored item in a subscription. | Number | 0 | |||||||||||||||
| Timestamps used while reading a value:
| used
| Server - ServerTimestamp
| default
| - | Server | ||||||||||||
| Timestamps used to write a value:
Note: If the OPC server does not support the writing of timestamps, according to the standard it should return the Bad_WriteNotSupported (2155020288) | error code.- | None | |||||||||||||||
Kotva | wsc | wsc | error code. | - | None | |||||||||||||
| StatusCode item will be used when writing. Note: According to the standard, the OPC UA Wrapper returns the Bad_WriteNotSupported (2155020288) error code if the StatusCode entry is used when writing to the OPC DA Server version 2.05a. | YES/NO | YES | |||||||||||||||
| Write Status CodeStatusCode item will be used when writing.When an item of an array is written, the entire array is read first and then written. If this parameter is set to NO, only a specific array item is written, Note: According to the standard, if the OPC server does not support writing a specific array item, it should return the | Bad_WriteNotSupported (2155020288) error code | if the StatusCode entry is used when writing to the OPC DA Server version 2.05a.YES/NO | YES | ||||||||||||||
Kotva | wwa | wwa | Write Whole ArrayWhen an item of an array is written, the entire array is read first and then written. If this parameter is set to NO, only a specific array item is written, Note: According to the standard, if the OPC server does not support writing a specific array item, it should return the Bad_WriteNotSupported (2155020288) error code. Note: If this parameter is active, the "Write only" parameter must not be set at the I/O tag which addresses an item of the array. | YES/NO | NO. Note: If this parameter is active, the "Write only" parameter must not be set at the I/O tag which addresses an item of the array. | YES/NO | NO | |||||||||||
| Values that are not older than the specified time interval (compared to the timestamp of the current value of the I/O tag) will be accepted. After writing, it may happen that the value read back is older (usually by several ms) compared to the time of writing unless the communication computer and the OPC UA server have exact time synchronization. Error messages may appear in the line log: | hh:mi:ss | 00:00:00 | |||||||||||||||
| A way of reading values:
Note: The Subscribe+Read and Read modes should only be used if there is a problem with standard communication, as they are less efficient and have a higher overhead. | Subscribe Subscribe+Read Read | Subscribe | |||||||||||||||
| Ignoring filter parameters in the I/O tag configuration (Sampling type, DeadBand type, Trigger type). | YES/NO | NO | |||||||||||||||
| The maximum number of consecutive unconfirmed Publish requests (to which OPC UA server does not reply with a Publish Message), after which the connection will be closed. A value of 0 causes the connection to not be closed. Note: This parameter can be used to speed up the detection of a broken connection to the OPC UA server. | - | 0 |
Kotva | ||||
---|---|---|---|---|
|
...
"Copy tree" button or a keyboard shortcut Ctrl+Shift+C copies the names of tags and their addresses in all browsed branches into the WindowsclipboardWindows clipboard.
Checking the "Structured tags" option causes the variables (tags) to appear in the tree structure in addition to the objects, and the KOM process also attempts to read their descendants. This is useful for browsing OPC UA servers that support structured tags. You can also insert a tag into the address dialog window of the I/O tag by double-clicking the tag name in the tree structure.
...
Kotva | ||||
---|---|---|---|---|
|
...
Command | Syntax | Meaning |
---|---|---|
STWATCH | STWATCH StationName | TellThe command sends commands for the reading of values of all configured I/O tag |
LNALTERPATH | LNALTERPATH LineName QUERY LNALTERPATH LineName 1|2|3|4 | The command finds out which of the IP addresses configured on the line (1..4) the D2000 KOM process is connected to. The command breaks the current connection and connects to the IP address whose order is in the command (1..4). |
Kotva | ||||
---|---|---|---|---|
|
...