Esempio di OPC Data Access Automation Creazione di un OPC Client

Slides:



Advertisements
Presentazioni simili
Lez. 12 (10/11) - PBElementi di Programmazione1 Lezione 12 Esercizi.
Advertisements

Eventi di salvataggio VBA
UNO STRUMENTO PER INTERAGIRE CON GLI UTENTI DELLE PAGINE WEB
Java Stream e File. La classe File Per operare con lintero file java mette a disposizione la classe File Per utilizzare la classe File è necessario importare.
Estendere i linguaggi: i tipi di dato astratti
Utilizzare PHP 5 Corso Interazione Uomo – Macchina AA 2005/2006.
Lez. 6 (10/11) - PBElementi di Programmazione1 Lezione 6 Parametri Facoltativi Matrici Matrici di parametri.
File System Cos’è un File System File e Directory
Java: programmazione concorrente con condivisione di memoria
1 Astrazioni sui dati : Specifica ed Implementazione di Tipi di Dato Astratti in Java.
OPC XML Data Access Specification
Integrazione delle Informazioni Necessità di accedere ai dati di campo da qualunque parte dellimpianto Visione omogenea.
OPC Data Access Specification
1 System Call per Comunicazione tra Processi Pipe.
Interfaccia del file system
Modulo o Form in Html.
Esercizi su alberi binari di ricerca
Primo livello: Field Management. A questo livello le informazioni sono relative ai dispositivi di campo Secondo livello:
OPC Data Access Specification
O.O.P. Costruiamo la prima classe in VISUAL BASIC Corso abilitante riservato ad abilitati in altra classe classe di concorso A042 - INFORMATICA.
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
introduzione a Windows
Lezione 2 Programmare in ASP
Java Collections.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
Esercitazione sulla creazione di una raccolta locale Tutorial.
Visual Basic e accesso ai DATABASE
EBSCOhost Collection Manager Account selezionatore Tutorial.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Elenchi in Excel E’ possibile inserire le voci del nuovo elenco oppure
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
Esercizi su alberi binari di ricerca
HTML I Form in HTML5.
Introduzione all‘app Lync Windows Store Lync 2013.
ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.
Web Form Presentazione 2.3 Comunicazione integrata in rete| Prof. Luca A. Ludovico.
Microsoft Access Query (II), filtri.
Progettazione di dati e applicazioni per il Web S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera Copyright © The McGraw-Hill.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
Prog. applicazioni Web- 1 - Processo di sviluppo: Visione d’insieme.
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
IV D Mercurio DB Lezione 2
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
MySQL Database Management System
Lez. 12 (13/14)Elementi di Programmazione1 Lezione 12 Esercizi.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Google Visualization API
Servizi Internet Claudia Raibulet
E Windows SharePoint Services 2.0 Ivan Renesto Document Library how to use Windows SharePoint Services.
Esercitazione del 9 marzo 2007 Ereditarieta’. Richiami Definire sottoclassi (ereditarieta’) Overriding Specificatori di accesso (private, protected) Principio.
 Primo livello: Field Management. A questo livello le informazioni sono relative ai dispositivi di campo  Secondo livello:
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
+ Gestire la persistenza Nicolò Sordoni. + Meccanismi di persistenza dei dati In Windows Phone, come negli altri ambienti, abbiamo tre soluzioni principali.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Istruzioni per le operazioni di base in DIIGO. Registrarsi in Diigo: raggiungere l’indirizzo e cliccare su “Sign in” 1 2.
Gestire la navigazione. Creare un’app multi Controller La quasi totalità delle app è suddivisa in più ViewControllers, ognuno con specifiche funzionalità.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
ASP – Active Server Pages - 1 -Giuseppe Tandoi ASP – Active Server Pages Tecnologia per lo sviluppo di pagine dinamiche.
Transcript della presentazione:

Esempio di OPC Data Access Automation Creazione di un OPC Client http://www.opcfoundation.org/

Esempio di OPC Data Access Automation Creazione di un OPC Client L’OPC Client è stato realizzato: in Visual Basic® 6.0 usando la libreria OPC Automation 2.0 messa a disposizione dalla OPC Foundation in Progetto -> Riferimenti deve essere selezionata la libreria “OPC Automation 2.0”. Implementa solo servizi (lettura/scrittura) sincroni Non realizza ad esempio l’aggiornamento automatico dei dati

Esempio di OPC Data Access Automation Creazione di un OPC Client

Passo 1: Raccolta delle Informazioni sugli OPC Servers disponibili in un Nodo Viene fornita la lista dei Servers, presenti nella macchina specificata dall’indirizzo IP o dal corrispondente URL. Se non viene specificato nessun indirizzo viene fornita la lista degli OPC Servers della macchina locale. GetOPCServers (Optional Node As Variant) As Variant Metodo dell’Oggetto OPCServer Restituisce i nomi (ProgIDs) degli OPC Servers. Si utilizza uno di questi ProgID nel metodo Connect. Il servizio fornisce un array di stringhe. L’indirizzo del Node è l’indirizzo IP che può essere di tipo “www.vendor.com” o “180.151.19.75”.

Passo 1: Raccolta delle Informazioni sugli OPC Servers disponibili in un Nodo Set AnOPCServer = New OPCServer OPCServerList.Clear NodeServerName = Text2.Text AllOPCServers = AnOPCServer.GetOPCServers(NodeServerName) For i = LBound(AllOPCServers) To UBound(AllOPCServers) OPCServerList.AddItem AllOPCServers(i) Next i Note: OPCServerList è definita come ListBox AllOPCServers è locale di tipo Variant

Passo 2: Connessione con l’OPC Server Selezionato   Connect (ProgID As String, Optional Node As Variant) Metodo dell’Oggetto OPCServer Viene invocato per stabilire una connessione con un OPC Data Access Server. ProgID: È una stringa che identifica un OPC Data Access Server. Node: Specifica l’indirizzo IP della macchina con cui connettersi

Passo 2: Connessione con l’OPC Server Selezionato Dim ConnectedServerName As String Dim NodeServerName As Variant On Error GoTo MostraErroriConnect Set ConnectedOPCServer = New OPCServer 'Viene istanziato un oggetto OPCServer ConnectedServerName = OPCServerName.Text NodeServerName = Text2.Text ConnectedOPCServer.Connect ConnectedServerName, NodeServerName GoTo SaltaErroriConnect MostraErroriConnect: Set ConnectedOPCServer = Nothing Call MostraErrori("Connect", Err.Number) SaltaErroriConnect: If Not ConnectedOPCServer Is Nothing Then form1.Caption = "Server Connesso"

Passo 3: Visualizzazione delle Proprietà del Server a cui ci si è Connessi Le proprietà del Server possono essere ottenute tramite il pulsante “Proprietà”. Queste vengono visualizzate in una schermata secondaria

Passo 3: Visualizzazione delle Proprietà del Server a cui ci si è Connessi Dim ConnectedOPCServer As OPCServer Form2.Show Form2.Label5.Caption = ConnectedOPCServer.StartTime Form2.Label12.Caption = ConnectedOPCServer.CurrentTime Form2.Label16.Caption = ConnectedOPCServer.LastUpdateTime Form2.Label17.Caption = ConnectedOPCServer.MajorVersion Form2.Label18.Caption = ConnectedOPCServer.MinorVersion Form2.Label19.Caption = ConnectedOPCServer.BuildNumber Form2.Label20.Caption = ConnectedOPCServer.VendorInfo Form2.Label21.Caption = ConnectedOPCServer.ServerState Form2.Label22.Caption = ConnectedOPCServer.LocaleID Form2.Label23.Caption = ConnectedOPCServer.Bandwidth Form2.Label24.Caption = ConnectedOPCServer.ServerName Form2.Label25.Caption = ConnectedOPCServer.ServerNode

Passo 3: Visualizzazione delle Proprietà del Server a cui ci si è Connessi

Passo 4: Creazione di un Gruppo Il tasto “Aggiungi” permette la creazione e l’aggiunta di un nuovo gruppo a quelli esistenti. Il gruppo così creato avrà il nome e l’Update Rate specificati nelle corrispondenti caselle.

Passo 4: Creazione di un Gruppo Bisogna prima creare l'oggetto OPCGroups collection (dall'oggetto OPCServer) Add(Optional Name As Variant) As OPCGroup: Metodo dell’Oggetto OPC Groups Crea un nuovo oggetto OPCGroup e lo aggiunge alla collezione. Name è il Nome del gruppo. Il nome deve essere univoco. Se non viene fornito nessun nome il server ne genera uno. Il gruppo eredita i valori di default (o quelli impostati come default nell'OPCGroups collection): es. Gruppo attivo, deadband 0 Dopo che un gruppo è aggiunto i suoi attributi possono essere modificati (Es UpdateRate; Default=1000 msec.)

Passo 4: Creazione di un Gruppo Dim ConnectedOPCServer As OPCServer Dim ConnectedServerGroup As OPCGroups Set ConnectedServerGroup = ConnectedOPCServer.OPCGroups Set ConnectedGroup = ConnectedServerGroup.Add(OPCGroupName.Text) ConnectedGroup.UpdateRate = Val(GroupUpdateRate.Text) ConnectedGroup.IsSubscribed = True ConnectedGroup.IsActive = True ConnectedGroup.DeadBand = 10

Passo 5: Creazione Browser & Esplorazione Items Disponibili   Permette l’esplorazione delle risorse messe a disposizione dal Server, la cui organizzazione può essere di tipo gerarchica o flat. Nel primo caso gli item vengono raggruppati formando una struttura ad albero con “foglie” (sottoinsieme di Items) e “nodi”. Se è di tipo flat vengono mostrati unicamente gli Item. L'oggetto OPCBrowser deve essere creato utilizzando un metodo dell'OPCServer object.

Passo 5: Creazione Browser & Esplorazione Items Disponibili CreateBrowser Metodo dell’Oggetto OPC Server Crea un oggetto OPCBrowser Visualizza l’organizzazione del Server, che può essere di tipo gerarchico o flat L’Oggetto OPCBrowser ha un attributo (Organization) che restituisce il tipo di organizzazione interna (OPCHierarchical o OPCFlat). ShowLeafs Metodo dell’Oggetto OPCBrowser Visualizza i nomi delle foglie relativi alla posizione corrente della "navigazione" (nel caso in cui l’organizzazione del server sia di tipo “gerarchica”).

Passo 6: Aggiunta di un Item nel Gruppo Dopo aver selezionato un Gruppo è possibile aggiungervi un Item tramite Item Collection: OPCItems. Dim mygroup As OPCGroup Set OneOPCItem = mygroup.OPCItems.AddItem(Text1.Text, mygroup.ClientHandle)  AddItem (ItemID As String, ClientHandle As Long) Metodo dell’Oggetto OPCItems Crea un nuovo oggetto OPCItem e lo aggiunge alla collezione. ItemID: nome dell’Item selezionato da aggiungere. ClientHandle identificativo interno al client  

Passo 7: Lettura Proprietà Items Selezionando un gruppo e azionando il pulsante “Proprietà Items”, è possibile visualizzare una form contenente le informazioni relative agli Items appartenenti al gruppo specificato. Queste comprendono: ItemID, Value, DataType, Quality e TimeStamp.

Passo 7: Lettura Proprietà Items Read (Source, Optional Value, Optional Quality, Optional TimeStamp) Metodo dell’Oggetto OPCItem Legge un Item dal Server, o dalla cache o dal device (0 o 1) Legge l’ultimo valore letto dal Server Vengono letti: Value, Quality, TimeStamp Gli attributi che sono restituiti sono tra loro sincroni

Passo 7: Lettura Proprietà Items Form3.Timer1.Interval = Grp1.UpdateRate 'Mostra gli attributi degli items appartenenti alla collezione del gruppo selezionato. L’aggiornamento e’ periodico (update rate) For i = 1 To ItemCount Set Itm = itms.Item(i) 'Prendi l'item i-esimo della collezione. Itm.Read (1) 'Viene invocato il metodo Read sull'oggetto OPCItem corrente. Form3.ListView1.ListItems.Add 'Aggiungiamo al listview le informazioni seguenti Form3.ListView1.ListItems.Item(i) = Itm.ItemID Form3.ListView1.ListItems.Item(i).SubItems(1) = Itm.Value Form3.ListView1.ListItems.Item(i).SubItems(2) = Itm.CanonicalDataType Form3.ListView1.ListItems.Item(i).SubItems(3) = Itm.Quality Form3.ListView1.ListItems.Item(i).SubItems(4) = Itm.TimeStamp Next i

Passo 8: Scrittura Proprietà Items Selezionando un Item è possibile modificarne il valore Write (Value As Variant) Metodo dell’Oggetto OPC Item Scrivere il valore Value nel server Nota Bene: il valore viene scritto nel Device

Passo 9: Eliminazione Item Remove (Count As Long, ServerHandles() As Long, ByRef Errors() As Long) Metodo dell’Oggetto OPCItems Rimuove uno o più OPCItem contenuti nella collezione Count: il numero di items che devono essere rimossi. ServerHandles(): array di identificatori usati dal server per gli item processati ByRef Errors() array di Long che indicano il successo delle operazioni effettuate sugli items

Passo 10: Eliminazione Gruppo Remove(ItemSpecifier As Variant) Metodo dell’Oggetto OPCGroup Rimuove l’OPCGroup specificato ItemSpecifier: nome di un OPCGroup.   ConnectedServerGroup.Remove (List2.List(List2.ListIndex)) List2.Clear ListView2.ListItems.Clear Command2.Enabled = False Command4.Enabled = False Command3.Enabled = False For i = 1 To ConnectedServerGroup.Count List2.AddItem (ConnectedServerGroup.Item(i).Name) Next i

Passo 11: Disconnessione dal Server   Disconnect Metodo Oggetto OPCServer Disconnette il client da un OPC Server. Dim ConnectedOPCServer As OPCServer ConnectedOPCServer.Disconnect