What you’ll take away:1. OPC UA: how it is implemented and used in
Systemplatform2. Troubleshooting3. Outline
Brand & Industries or Technology:Wonderware
• System platform
WW 19OPC UADive into
Dr. Peter von TluckUwe Schoss
Focus of presentation:We will try to get some light into OPC UA in general and how Wonderware is using OPC UA. This includes some demo, showing configuration and some ideas for troubleshooting OPC UA issues.
Agenda
>ArchestrA Service Bus (short outline)>OPC UA Client Service> Supported Technologies> Compatibilities> Known Issues>Q&A
What is ASB?
• ASB is an integration framework using Service-Oriented Architecture that allows disparate process information and control systems to communicate and inter-operate with each.
OPC UA Client Agenda
Introduction to the OPC UA Specification• OPC UA Client Service in ASB• OPC UA Client Service
• Installation & Packaging• Configuration and Deployment • Runtime• Diagnostics
• Backup/Restore & Import/Export
• OPC UA Digital Certificate Management• OPC UA Compliance and Certification
Invensys proprietary & confidentialSlide 23
Introduction to the OPC UA Specification
OPC UA Client Service in ASB
OPC UA Client Service Installation & Packaging
Configuration and Deployment
Runtime
Diagnostics
Backup/Restore & Import/Export
OPC UA Digital Certificate Management
OPC UA Compliance and Certification
OPC UA Characteristics• Implementable in Embedded Devices to Corporate Servers• Support C, C++, .NET, JAVAPlatform Neutral
• User configurable endpoints• User configurable transport protocols• Firewall friendly
Service Oriented
• Incorporates DA, HDA, A&E• Support ERP, MES applicationsUnified Model
• Application authentication using digital certificates• User authorization and authentication• Support message encryption and signing
Secured
• Application defines “Profiles” to ensure interoperability• Compliance testing to ensure adherence to specification• Include both client and server certification
Interoperable
• Consists of 12 –part specification Specification
26
OPC-UA Address Space
• Full Mesh – Network Model • Unlimited Named/Typed Relationships• “Views” are used to present hierarchies
Base: Unified Object Model
OPC UA Object
Variables ___ ___ ___
Methods ___() ___() ___()
Events
OPC DA and HDA
OPC A&E
> Object provides current and historical data, events and methods
> Objects, variables and methods visible as nodes in address space
> Typed references between nodes
> Meta information provided by type system, references and properties
API
Proxy /Stubs
WSDL / SOAPor TCP / Binary
Services Binding
Abstract UA ModelSpecification
Communication Layering
Tool orLanguageDependent(e.g. .NET)
Scalable Platform Independent Messaging Model
.NET (WCF) Version
Portable C/C++ Version
Java Version
Business Model, Adaptable to Platform Independent Messaging Models (e.g. WSDL)
28
OPC UA Client in ASB
Service Host
Service Host
3 rd Party /External OPC
UA Server
Service Host
ArchestrA OPC UA Client
Service
Service Manager
ASB
OPC UA Client Overview
App ServerInTouch
ArchestrA Discovery
Service
Config Service
Core Services and Repository
ArchestrA MxData Consumer
GR Browsing Service
ArchestrA MxData Provider
Security Service
Service Repository
Digital Certificate
Management
Watchdog Service
OPC UA
MX
MX
COMIBrowse
IData
IData
IData
Installer
IBrowse
OPCUASDK
Installation and Packaging OPC UA Client Service install, is a package of required binaries which is imported into
SR node of WSP 2014 P01 or newer
OPC UA Client is also installed as part of other products such as Recipe Plus, Sim Central, Etc.
ASB is a pre-requisite for OPC UA Client Service when installed as part of other products.
Use the ‘Setup.bat’ file in the package to install or uninstall the OPC UA Client Service on the SR node.
To Install, open a command prompt as an administrator and type the command ‘Setup.bat /install’
To Uninstall, open a command prompt as an administrator and type the command ‘Setup.bat /uninstall’
Integration with System Platform
WSP 2014 P01 is OPC UA Client Service ready● OPC UA Client Service can be imported into WSP 2014 P01
● Service editor is used to configure/deploy OPC UA Client Service
● MxConsumer is used to connect the OPC UA Client Service to Application Server
● The ArchestrA Attribute Browser is used to browse external OPC UA Server items, exposed through the OPC UA Client Service
Launch Service Editor
OPC UA Client Service is configured and deployed from the ‘ArchestrA services’ editor within the IDE. Use the ‘ArchestrA Services’ menu button to launch the ‘ArchestrA services’ editor.
OPC UA Server Endpoint Selection
• OPC UA Server can only be connected through endpoint URLs that it exposes.• The OPC UA Client Service editor can browse OPC UA Server endpoints after the OPC UA
Server registers its endpoints with the OPC UA Discovery service• Some OPC UA Servers do not register with the OPC UA Discovery Service
Security Settings
• Driven primarily by the security configuration of the OPC UA Server• Security options are prescribed by the OPC UA Specification• OPC UA Client Service supports ‘None’, ‘Sign’ and ‘Sign and Encrypt’ secure messages• OPC UA Client Service supports ‘None’, ‘Basic256 ‘and ‘Basic128Rsa1’ security policy
Port Assignment
• OPC UA Client Service editor is capable of Auto Assigning or Manual Assigning communication ports to the service’s IData and IBrowse endpoints.
• Port numbers for auto assignment are in the range of 10000 to 15000
Namespace Aliases
• An OPC UA Server can organize their items in one or more namespace URIs. • OPC UA Client Service editor displays OPC UA Server namespaces available• OPC UA Client provides shortcuts/aliases to namespaces exposed by OPC UA Servers.
Check-in and Node Assignment
OPC UA Client Service Configuration• Save and Check-in service
• Assign service to node(s). This will define the node where a service instance will run.
Deployment
• OPC UA Client Service Deploy• Deploy/Undeploy service
• Note: Deployment can also be done as part of platform deployment.
Accessing OPC UA Client Service Runtime Data in IData
Scenario Syntax
To access the data for items in the default Namespace
ScopeName : UAItemReferenceorScopeName ://UAItemReference
Example: SampleServer:PLCport.PlCobject.N40:0SampleServer://PLCport.PlCobject.N40:0
To access the data for items with the complete Namespace URI
ScopeName :UANS(UANamespaceURI)UAItemRef(UAItemReference)
Example: SampleServer:UANS(http://test.orig/UA/Data/)UAItemRef(10847)
To access the data for items with the Namespace alias
ScopeName :/UANamespaceAlias/UAItemReferenceorScopeName :UANS(UANamespaceAlias)UAItemRef(UAItemReference)
Example: Sampleserver:/AliasNS/10847Sampleserver:UANS(AliasNS)UAItemRef(10847)
Array Element Write
• OPC UA Client Service supports single element write to an array • Subject to the support of the OPC UA Server• OPC UA Server prescribe the array element write syntax• Caveat: Refer to CR 130158
Supported Protocols OPC UA Client Service connects to OPC UA Servers using the following protocols:
opc.tcp:// OPC specific Best performance/Least overhead/Minimum resources Binary payload No XML Parser Best interoperability(Binary is explicitly specified, Fewer degree of freedom during implementation) Uses arbitrarily chosen port
http:// Universal Text payload Firewall friendly Uses standard port
Performance and Scalability
OPC UA Client Service’s publish throughput is 100k values/sec
Lab testing of the OPC UA Client Service included about 40 Runtime(IData) Clients & 10 Browse(IBrowse) Clients
Performance and throughput is also affected by the other components participating in the ASB framework and the hardware employed.
10000 20000 30000 40000 50000 60000 70000 80000 90000 1000000
200
400
600
800
1000
1200
Time taken to publish PSI6.S5
Item Count
Avg
. T
ime
in M
illi
seco
nd
s
System Items Support
OPC UA Client Service provides system health and diagnostics through a set of system items in a special namespace “$SYS$DIAG”
• Global System ItemsThe global diagnostic items provide the service level information of allthe client connections<domain>:/$SYS$DIAG/Global/<Item>Example:- UAServer1:/$SYS$DIAG/Global/ItemCount
• Connection System ItemsThe connection diagnostic items provide the information of a specificconnection in the ASB<domain>:/$SYS$DIAG/Conn=<ConnIndex>/<Item>Example:- UAServer1:/$SYS$DIAG/Conn=0/ItemCount
• Subscription System ItemsThe subscription item contains diagnostic information for a specificSubscription<domain>:/$SYS$DIAG/Conn=<ConnIndex>:<SubIndex>/<Item>
• UA Client System ItemsThe UA Client object contains diagnostic items for connectivity to the OPC UA Server<domain>:/$SYS$DIAG/UAClient/<Item>
Backup/Restore
OPC UA Client Service Backup with ArchestrA• All services configured on ArchestrA System Platform will be backed-up with ArchestrA backup• The backup ASB configuration is stored inside the .CAB file.
All services are imported during restore process of ArchestrA System Platform This applies to other ASB services in System Platform Backup and Restore is also possible in the System Platform environment
Import/Export
• OPC UA Client Service export• Services are exported to a “.aaSCfg” file• Service export file can contain multiple service instances.• Multiple services can be exported using ctrl+select.
• OPC UA Client Service import• Service import is performed at the root node.
Digital Certificate Management• The OPC Foundation prescribes that a digital certificate is the means to authenticate
between an OPC UA client and OPC UA server.• Digital Certificate management can be done using the OPC Foundation provided “UA
Configuration Tool” application• Detailed steps are available in the OPC UA Client Service Users Guide
Digital Certificate Management
• The ‘UA Configuration Tool’ is part of ‘OPC UA SDK 1.01 Test Applications Setup’ download which is a free application from OPC Foundation, www.opcfoundation.org.
OPC UA Compliance
• OPC Foundation provides a compliance test tool and test cases• The compliance test tool is a free tool and is available from the OPC Foundation web site• 500+ test cases are executed• All OPC UA Client test cases are Manual• The OPC UA Client Service is OPC UA compliant• We will pursue the OPC Foundation compliance certification in the near future
Supported OSSame as that of System Platform 2014 and System Platform 2014 P01
> Windows 7 SP1 (Professional, Enterprise, Ultimate)> Windows 8 Professional> Windows 2008 R2 SP1> Windows 2012> Corresponding virtualization environment (Hyper-V , VMware 5.x)
Supported SQL Server VersionsSame as that of System Platform 2014 and System Platform 2014 P01
> SQL Server 2008 SP3 Express (32-bit)> SQL Server 2008 R2 SP1, SP2 Express (32-bit)> SQL Server 2012 Express (32-bit)
> SQL Server 2012 SP1 (Standard, Enterprise)> SQL Server 2008 SP3 (Standard, Enterprise)> SQL Server 2008 R2 SP1, SP2 (Standard, Enterprise)> SQL Server 2012 (Standard, Enterprise)> SQL Server 2012 SP1 (Standard, Enterprise)
Supported .NET Versions
> System Platform 2012 and 2012 P01> Only .NET 4.0 can be used
> System Platform 2014 and 2014 P01> .NET 4.5 is installed as a pre-requisite
Compatible System Platform Version for OPC UA Client Service
> OPC UA Client requires latest ASB Framework version 2 which is shipped with WSP 2014 P01
> Only nodes installing WSP 2014 P1 will be able to access the OPC UA Client Service
Known Issues
> L00128109: The ArchestrA Graphic Symbol editor is not accepting the OPC UA tag, when it contains the characters such as "\, (, ), space", in graphic animations. The workaround is to add the keyword ATTRIBUTE() before specifying the OPC UA tag
.
Known Issues
> L00128670: The item reference comparison in Application Server is case insensitive. For example, the following two item syntaxes are considered as those of the same item in Application Server:
Server1:/instance8/Item1
Server1:/instance8/ITEM1
For this reason, if you advise the OPC UA Server items with invalid case from Object Viewer and then advise the same items with valid case, the valid case items also do not get the data updates. Please be aware of this behavior when connecting the UA Client Service to any UA Server that supports case sensitive tags.
Note: This issue is observed only with the MxConsumer Service in the Application Server, and not with other IDataClients connected to the UA Client Service.
The work around is to remove invalid case items from the Object Viewer before adding valid case items.
> .
Known Issues
L00130158: Even though the OPC UA specification has a provision of write values to an array and/or array element, not all the devices and their software drivers support arrays and individual array element read/write access. You need to consult the driver vendor(s) to know if array element reads/writes are supported.
The following are examples of array element write:
Assume the external I/O device data tag TagArray01 is connected by the OPC UA Client Service with a Namespace of Sample1, allowing the array element to be directly written, the sample script that writes to the device from the Wonderware System Platform will be:
> Declarations Section: Dim ScriptTag as indirect;
> In the OnScan script assuming the I/O:ScriptTag.BindTo("Sample1:TagArray01");
> In the Execute script, where writes need to be made to the external I/O device tag: ScriptTag[1] = 10; 'Write a value of 10 to the first element of the external I/O device tagScriptTag[5] = Me.myObjAttributeValue; 'Send the value of the attribute "myObjAttributeValue" in the current object to the fifth element of the external I/O tag
> .
Known Issues
L00130972: If the reserved word local, global or closest is used as the Scope Name for the OPC UA Client, the consumer of the OPC UA Client may not be able connect to it. It is highly recommended not to use the stated reserved words as the Scope Name.