Espen Krogh, CEO Prediktor, Norges rep. OPC Foundation OPC UA Kurs OPC UA
About Prediktor Well- established A global organisation Employees Stable ownership 600 + solutions installed since 1995 Norway - Fredrikstad (HQ) China France 54 Employees and Kongsberg Maritime Business areas Solutions: Software: Instruments: MES, APC, OM OPC, time- series, analysis, CM fat/water/protein measurements
Solutions BU example: MES - Manufacturing Executions System Factories digital nervous system Production support and optimization system Immediate answers to: ú ú ú Bottlnecks Quality deviations Efficiency and yield Production tracking Rawmaterial optimization etc
Software BU example: Ormen Lange Flow Assurance System (FAS) Flow Assurance System: ú Surveilance and prediction of operational conditions in O&G facilities ú Advanced realtime simulation Ormen Lange project: ú ú ú ú Norways largest single investment ever The world s most advanced FAS All SW licenses in the system, except OLGA, from Prediktor Prediktor deliver SW infrastructure and MPC based choke control appliation
Instruments BU examples Kjøtt Lithells Nortura Malt kjøtt Nestlé kattemat Lactalis Camembert Fôr Felleskjøpet Kjøtt Taradellas
Program Intro: motivasjon, historie og organisasjon OPC Classic OPC UA Nytt i OPC UA vs OPC Classic Informasjonsmodeller OPC UA - teknisk oversikt
7 Motivasjon, historie og organisasjon
From electrons to interoperability Electrons Data Information Interoperability 8
Plug and play interoperability 9
OPC: Utfordringen Presentasjons lag Applikasjons lag Data lag Trender og plott Operatør skjermer Rapporter Data Analyse Regulering og styring Simulering Prosessdata Alarmer og Hendelser Tidsserier Leverandør X Generasjon N Leverandør Y Generasjon N Leverandør Z Generasjon N 10
OPC: Løsningen Presentasjons lag Applikasjons lag Data lag Trender og plott Operatør skjermer Rapporter Data Analyse Regulering og styring Simulering Prosessdata Alarmer og Hendelser Tidsserier OPC XML.net OPC 11
OPC Foundation Open 450 members Platform- neutral All areas of application All connections Productivity Industry standard Manufacturer- independent Interoperability Reliability Collaboration Device Integration IEC 61131-3 / PLCopen Analyzer Device Integration ISA- 95, ISA- 88 MTConnect Smard Grid Field Device Integration EDDL and FDT OPC Foundation is an arena for end- users, vendors and research innstitutions to meet, discuss and implement interoperability standards 12
OPC Foundation Etablert 1996 fra WINSEM Uavhengig organisasjon Hoved formål: ú Besørge interoperabilitiet mellom systemer- enheter og programvare på alle nivåer Leverer hovedsakelig spesifikasjoner (papir) ikke SW Medlemskap åpent for alle ú Avgift avhengig av org omsetningsstørrelse 13
Status 2012: 463 Medlems bedrifter Andre 18 Syd Afrika 7 Australia 6 Brasil 5 Kina 29 Europa 216 Nord Amerika 151 Japan 28 1997 Prediktor 2000 Baze Technology 2001 Institute For Energiteknikk 2003 Kongsberg Maritime 2010 Statoil 2011 University of Tromsø 2012 Cybernetica 2012 ITIS A/S 2012 Innova AS Tyskland Frankrike Sveits Østerrike Russland Sverige Finland Danmark Norge Belgia Storbritannia Italia Slovakia Irland Tsjekkia Polen Spania Nederland Romania Hvite russland Turkey Serbia Bulgaria Kroatia 70 60 50 40 30 20 10 0 14
15 OPC Classic
Classic OPC teknologi stack C/C++ Java VB Delphi OPC Client OPC Server DCOM RPC TCP-IP / UDP IPX / HTTP 16 Prediktor OPC Kurs as - Del 1
OPC Data Access Lesing av nåverdier f.eks: ú ú ú Måleinstrumenter/sensorer Styresignaler Beregnede verdier Skriving av nåverdier f.eks: ú ú Settpunkt i regulator Startkriterier i logikk programmer Verdier leses fra såkalte OPC Items ú Value int/float/bool/text/arrays ú Quality - kan jeg stole på at verdien er riktig? ú Timestamp - tidspunkt verdien gjelder for Items legges i grupper for abonnementsoppsett OPC Items har et navn i et navnerom og en unik ItemID (text) 17 Prediktor as OPC Kurs - Del 1
OPC DA - dynamikk i objekt modell OPC Name Space Browser OPC Gruppe 1 Navnerom Node a Leaf 1 Leaf 2 Leaf 3 OPC Item 1a OPC Item 1b OPC Klient OPC Server Obj Root Node b Leaf 4 Node c Leaf 5 OPC Item 2a OPC Gruppe 2 Leaf 6 OPC Item 2b
OPC Alarms & Events Eksponering av alarmlister fra et system til et annet Event typer: ú Simple Eksempel: en komponent feil meldt av systemet ú Condition (prosessalarmer) Eventer er assosiert med betingelser Eventer er tranisisjoner inn og ut av tilstander representert av Conditions og SubConditions Eksempel: FIC101 har oppnådd NivåAlarm Condition med HighAlarm som SubCondition ú Tracking (auditing) Ikke assosiert med betingelser Hendelser rundt operatørers interaksjon med mål objekter Eksempel: Setpunkt for FIC101 ble endret av operatørx 19 Prediktor OPC Kurs as - Del 1
Tilstandsmaskin for en OPC condition Disable Received Send Disabled notification Disabled Enable Received Send Enabled Notification Inactive-Acked-Enabled Sub-condition changes Send notfication of new sub-condition Becomes Active Send Condition Active notification Sub-condition changes Send notfication of new sub-condition Becomes Inactive Send Condition inactive notification Active-Acked-Enabled Valid Ack Received Send Acknowledged notification Valid Ack Received Send Acknowledged notification Becomes Inactive Send Condition inactive notification Active-Unacked-Enabled Invalid Ack Received Ignore Becomes Active Send Condition active notification Inactive-Unacked-Enabled Invalid Ack Received Ignore (For all enabled states) Enabled,... Quality changes Send Quality Changed notification 20 Prediktor OPC Kurs as - Del 1
OPC Historical Data Access (HDA) Lesing/skriving av historiske verdier ú Trender av målepunkter Enkel bearbeiding av historiske data ú Aggregater med statistiske funksjoner Eksponerer et standard api mot databaseklienter 21 Prediktor as OPC Kurs - Del 1
Eksempel OPC HDA klient 22 OPC Kurs - Del 1
OPC UA erstatter tidligere DCOM/XML OPC OPC Complex Data OPC Data Exchange OPC Security OPC Command OPC Data Access (DA) OPC DA Auto OPC Batch OPC Batch Auto OPC Common OPC Alarms & Events (AE) OPC AE Auto OPC XML OPC Historical Data Access (HDA) OPC HDA Auto OPC UA 23
24 OPC UA
OPC UA Spesifikasjon Utarbeidet i OPC Foundation 2004-2009 12 del- dokumenter, 1-13 (- 12) ú Kun del 1 er gratis ú Del 4 er den som er viktigst å lese 1000+ sider med teknisk dokumentasjon + companion standards PLCOpen, S95, DI, ADI, FDT, etc 25
OPC UA dokument struktur Kjernespesifikasjoner ú Part 1 Concepts ú Part 2 Security Model ú Part 3 Address Space Model ú Part 4 Services ú Part 5 Information Model ú Part 6 Mappings ú Part 7 Profiles Aksesstype spesifikasjoner ú Part 8 Data Access ú Part 9 - Alarms and Conditions ú Part 10- Programs ú Part 11 Historical Access Utility spesifikasjoner ú Part 12 Discovery ú Part 13 Aggregates 26
...men i bunn og grunn ikke mere enn dette 37 RPC kall Discovery - Republish MonitoredItem - GetEndpoints - TransferSubscriptions - CreateMonitoredItems - RegisterServer - DeleteSubscriptions - ModifyMonitoredItems - FindServers View - SetMonitoringMode - Browse - SetTriggering Session - BrowseNext - DeleteMonitoredItems - CreateSession - TranslateBrowsePathsToNodeids Method - ActivateSession - RegisterNodes - Call - CloseSession - UnregisterNodes - Cancel NodeManagement Attribute - AddNodes Subscription - Read - AddReferences - CreateSubscription - Write - DeleteNodes - ModifySubscription - HistoryRead - DeleteReferences - SetPublishingMode - HistoryUpdate - Publish Query - QueryFirst - QueryNext 27 SecureChannel
28 Nytt i OPC UA vs OPC Classic
Alle spesifikasjone samlet i en Før OPC Klient (DCOM basert) OPC DA Server OPC AE Server OPC HDA Server Nå OPC UA Klient OPC UA Server 29
Brannmur/internett vennlig OPC UA Klient OPC UA Server Før: ú Å åpne for DCOM gjennom brannmur krevde et sollid hull i brannmuren ú Umulig å rute over internett Nå: ú Kun et nålestikk i brannmur med UA binary, ingen hull med UA på W3C stack ú Ruter fint over internett 30
Kryss-plattform OPC UA kan implementeres på hvilken som helst plattform med en ANSI C compiler og en TCP IP stack implementasjon Implementering allerede gjort på bl.a.: ú Linux ú Mac ú Windows ú VxWorks ú Embedded ú Etc
OPC server PC ikke nødvendig lenger OPC Klient applikasjon fra Leverandør Y OPC Server Levrandør X OPC UA Fysisk utstyr IO enhet
Pålitelig kommunikasjon OPC UA Client (active) OPC UA Klient (stand by) OPC UA Server (active) OPC UA Server (stand by) Device/application exposed with OPC UA Legacy OPC: ú Nothing (proprietary vendor specific extensions) OPC UA: ú ú Fail- over redundancy Supports spooling, buffring pacages on bad transmission, and retransmit when transmission OK
En protokoll for alt fra embedded til enterprise nivå kommunikasjon OPC UA 34
35 Informasjonsmodeller
Informasjonsmodeller definisjon Wikipedia: An information model in software engineering is a representation of concepts, relationships, constraints, rules, and operations to specify data semantics for a chosen domain of discourse. It can provide sharable, stable, and organized structure of information requirements for the domain context. 36
Vi bruker alle informasjonsmodeller Verden er for kompleks for oss Vi forenkler vår oppfatning av virkeligheten vha informasjonsmodeller Nå et eksempel: 37
Et sett m virkelige, levende personer Anna Torild Per Petter Svein Tor Kåre Nils Laila 38
Informasjonsmodell observert av vaktmester Terje Spectator Match Participates Team B Manager Torild Anna Participates Coach Spectator Wing Team A Wing Tor Per Petter Beck Beck Svein? Vaktmester Terje Kåre Line Captain Keeper Nils Fru Rygge Otto Gunnar Laila
Informasjonsmodell for de same entitetene observer av nabofru Rygge Anna Mother Neigh- bourhood Lives in Lives in Neighbour Family 1 Mother Torild Lover Son Vandalist Family 2 Son Father Tor Per Petter Unknown Son Friend Svein Kåre Frequent guest Occasional guest Daughter Nils Girlfriend 40 Otto Gunnar Laila
Vi kan konkludere De same virkelige ting kan ta del I forskjellige informasjonsmodeller Modellene er ofte utvidet med abstrakte objekter, slik som match og neighborhood, og vi kobler objekter med typede relasjoner Ingen modell er mere riktig enn de andre, da hver modell brukes for forskjellige formål Forskjellige modeller kan eksistere samtidig 41
Definisjon av informasjonsmodeller, er essensielt for avansert interoperabilitet Computer systemer broker også informasjonsmodeller for å kommunisere Eksempler på informasjonsmodeller fra industrien: ú S- 95: Describes general structures in manufacturing companies, like process topologies, material structures and activity structures ú S- 88: Description of batch processes, recipes and batch activities ú PLCOpen: Description of control logic in sequence controlled systems ú OpenO&M (MIMOSA): Description of structures for maintenance and operations ú WITSML: Descriptions of data structures connected to wells from drilling operations 42
Data vs økende semantisk informasjon pipeline A 140.3 upstream to Quantity: pressure Unit: bara Name: PT- 18-1637A:X Description: production control valve 6.8 Quantity: pressure Unit: bara Name: PT- 18-1642:X Description: production control valve 43
For kommunikasjon søker vi interoperabilitet ú På tvers av disipliner ú Gjennom hierarkier ú På tvers av selskaper for mere og mere komplekse oppgaver med mere og mere data. Et fokus på informasjonsmodeller for varierende formål vil være en god strategi for å håndtere interoperabilitetesutfordringen 44
OPC UA and information models OPC UA is the only real- time communication protocol that has been designed to host foreign information models OPC UA clearly separates the protocol stack from the information model building capability OPC UA servers can expose different simultaneous information models at the same time OPC UA facilitates incremental strategies on information models ú ú ú A simple client can access all information in any UA server, even though he doesn t understand the semantics in the expressed information models A client can become more and more advanced as time goes by A server can incrementally implement support for more and more information models to facilitate future integration requirements 45
Today: Bilaterale communication strategies Enterprise ERP Vend B i.e. B2MML i.e. B2MML Asset Mgt Vend C? Prop vend. A/C? Integrated Operations Vend D? Prop vend. A/D? Arrows are never ending integration projects? IMS Vend. A IMS Vend. A IMS C Vend E Production system 1 Production system 2 Production system 3 46
We need: Multilaterale communication strategies Enterprise ERP Vend B Std ERP Model Asset Mgt Vend C Std maint.model Arrows between standard software Industry Integrated packages from Operations vendors Vend D Std Industry Model Std ERP Model Std maint. Model Std Industry Model Std ERP Model Std maint. Model Std Industry Model Std ERP Model Std maint. Model Std Industry Model OPC UA IMS Vend. A IMS Vend. A IMS C Vend E Production system 1 Production system 2 Production system 3 47
48 OPC UA - teknisk oversikt
UA Spesifikasjonslag Leverandør spesifikke modeller Standard informasjonsmodeller, OPC Foundation og andre DA AC HA Prog UA Base Services UA Stack 49
Transport og protokoll binding Protokoll stacker for forskjellige use case r ú API er uavhengig av protokoll ú Web Services for enterprise aksess ú Binary TCP protocol for sanntids kommunikasjon ú Plattform uavhengig implementeringer Robust kommunikasjon ú Sekvens nummerering ú Sesjon keep- alive mekanisme ú Synkronisering vha bufring og spooling ú Redundans støtte Innebygget sikkerhet ú Applikasjons autentisering ú Bruker autentisering ú Signerte og krypterte meldinger ú Integrert audit konsept Leverandør spesifikke modeller Standard informasjonsmodeller, OPC Foundation og andre DA AC UA Base Services UA Stack HA Prog 50
OPC UA protocol stack alternativer Message Encoding Layer Secure Channel Layer Message Transport Layer XML WS UA XML WS Secure Conversation SOAP 1.2 HTTP/HTTPS XML WS Native with SOAP HTTP UA Binary UA Secure Conversation UA TCP TCP/IP Native Binary
Performance on embedded devices example Prediktor UA toolkit ARMv5, 100MHz, 64MB ram, linux 2.6.25 100 Mb dedicated network between client and server Read performance (poll): Node count Min [msec] Max [msec] Avg. [msec] Reads/sec 1 4.5 15.2 5.5 181.8 10 7.2 15.9 8.1 1234.6 100 32.7 48.2 36.1 2770.1 1000 291.0 331.1 307.9 3247.8 Write performance: 52 Node count Min [msec] Max [msec] Avg. [msec] Writes/sec 1 4.5 7.0 5.2 192.3 10 6.8 13.0 7.6 1315.8 100 30.1 45.0 32.0 3125.0 1000 252.4 285.2 266.3 3755.2
Security Use of OPC UA security must be embedded in a security management system to provide meaningful security OPC UA is secure- by- design and addresses security concerns by providing ú authentication of Users Application instances (Software) ú Confidentiality and integrity by signing and encrypting messages ú Availability by minimum processing before authentication ú Auditability by defined audit events for OPC UA operations OPC UA allows to setup different levels of security OPC UA certificate management can be ú integrated into existing infrastructure of the site or ú newly set up based on requirements 53
OPC UA Base Services OPC UA API Protokoll uavhengeig OPC UA API Tjenester for ú Discover Servers and Endpoints ú Browse Server Address Space Instances Type System ú Read and Write current data ú Read History of Data and Events ú Call Methods ú Subscribe for Data Changes Events ú Create / Delete Nodes and References Generic Services ú No feature specific extensions ú Features added through Information Models Leverandør spesifikke modeller Standard informasjonsmodeller, OPC Foundation og andre DA AC UA Base Services UA Stack HA Prog 54
Standard innebygde informasjons modeller Data Acces ú Representation of Process Variables ú E.g. AnalogItemType with unit and range Alarms & Conditions ú Representation of Process Alarm Systems ú State machines for Alarm states ú Events for state changes ú Methods feedback like Acknowledge Historical Access ú Information about historized data and events Programs ú Representation of programs ú Manipulate programs like start, stop ú State of a program execution ú Result data handling Leverandør spesifikke modeller Standard informasjonsmodeller, OPC Foundation og andre DA AC UA Base Services UA Stack HA Prog 55
OPC UA companion modeller Standard Informatsjonsmodeller ú ú Domene- spesifikke modeller Industri- spesifikke modeller Utarbeides ved ú ú å samarbeide med andre standardiserings organisasjoner å adressere spesielle domenespesifikke behov Leverandør spesifikke modeller Standard informasjonsmodeller, OPC Foundation og andre DA AC UA Base Services HA Prog UA Stack 56
OPC UA informasjonsmodeller så langt S 95* MES* PLCO pen ADI FDI* Prog HA AC DA DI OPC UA base model 57 * in progress
Leverandør spesifikke modeller For å eksponere eksisterende semantiske modeler vha UA For å eksponere et domene som ikke er definert som en standard ennå i OPC UA For å bruke OPC UA som en implementeringsteknologi for egne/produkt- interne behov for å konseptualisere semantiske modeller Leverandør spesifikke modeller Standard informasjonsmodeller, OPC Foundation og andre DA AC UA Base Services HA Prog UA Stack 58
Inkrementell/iterativ strategi i å implementere OPC UA Leverandør spesifikke modeller Standard informasjonsmodeller, OPC Foundation og andre DA AC HA Prog UA Base Services UA Stack Klienter laget for Base Services kan fremdeles aksessere informasjon i høyere lag Inkrementelle og iterative utviklingsstrategier kan brukes for klienter Servere kan legge på informasjonsmodeller etter som de blir definert, og det er behov for implementering 59
Nytt i UA v 1.02 (høst 2012) Standard XML skjema for adresserom ú Offline browsing ú Addresserom import og eksport ú Standard lagringsformat for informasjons modeller Filoverføring mulig med FileType objekt HTTPs basert protokoll i stacken Nye katalog tjenester ú Local Directory Service (i UA v 1) ú Global Directory Service (tjener på port 4840) ú Ad- hoc discovery (ingen navnetjener) Forbedret redundans modus og nettverksredundans 60