Specifiche OPC (OLE for Process Control) Community Bticino



Documenti analoghi
BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Capitolo 1 Installazione del programma

IRSplit. Istruzioni d uso 07/10-01 PC

Guida all uso di Java Diagrammi ER

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Installazione del software Fiery per Windows e Macintosh

Manuale per la configurazione di AziendaSoft in rete

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Manuale Terminal Manager 2.0

SOMMARIO... 3 INTRODUZIONE...

Interfaccia KNX/IP - da guida DIN KXIPI. Manuale Tecnico

POSTA ELETTRONICA Per ricevere ed inviare posta occorrono:

MANUALE PARCELLA FACILE PLUS INDICE

VADEMECUM TECNICO. Per PC con sistema operativo Windows XP Windows Vista - Windows 7

Manuale Utente MyFastPage

Vlan Relazione di Sistemi e Reti Cenni teorici

BMSO1001. Orchestrator. Istruzioni d uso 02/10-01 PC

FPf per Windows 3.1. Guida all uso

Stampe in rete Implementazione corretta

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore.

GUIDA UTENTE BILLIARDS COUNTER (Vers )

APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

Manuale Operativo Adesione Attività. Promozionali FIPAV

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

GESGOLF SMS ONLINE. Manuale per l utente

BMSO1001. Management Utilities. Istruzioni d uso 02/10-01 PC

Registratori di Cassa

Guida di Pro Spam Remove

File, Modifica, Visualizza, Strumenti, Messaggio

LaCie Ethernet Disk mini Domande frequenti (FAQ)

Modulo 2 Uso del computer e gestione dei file

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

SCARICO DATI ONETOUCH Verio per EuroTouch Home GUIDA ALL USO

HORIZON SQL MENU' FILE

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

EasyPrint v4.15. Gadget e calendari. Manuale Utente

1) GESTIONE DELLE POSTAZIONI REMOTE

Utilizzo del Terminalino

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

e/fiscali - Rel e/fiscali Installazione

Progetto SOLE Sanità OnLinE

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Studio Legale. Guida operativa

GateManager. 1 Indice. tecnico@gate-manager.it

Guida alla registrazione on-line di un NovaSun Log

CERTIFICATI DIGITALI. Manuale Utente

Tutorial 3DRoom. 3DRoom

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

Schede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l.

Guida all Utilizzo dell Applicazione Centralino

WINDOWS XP. Aprire la finestra che contiene tutte le connessioni di rete in uno dei seguenti modi:

Gestione Laboratorio: Manuale d uso per l utilizzo del servizio Windows di invio automatico di SMS

Manuale per l utilizzo dell applicazione Client per il controllo remoto di apparecchiature da laboratorio

FRANCESCO MARINO - TELECOMUNICAZIONI

1.1 Installare un nuovo Client di Concept ed eseguire il primo avvio

UTILIZZO DEL SOFTWARE MONITOR

GUIDA ALL UTILIZZO DEL SOFTWARE SCANPROT

MERIDESTER SOFTWARE DI COMUNICAZIONE PER PC

MANUALE UTENTE. Computer Palmare WORKABOUT PRO

Fattura Facile. In questo menù sono raggruppati, per tipologia, tutti i comandi che permettono di gestire la manutenzione degli archivi.

Il web server Apache Lezione n. 3. Introduzione

I.N.A.I.L. Certificati Medici via Internet. Manuale utente

MANUALE PER LA GESTIONE DEL SERVIZIO DI NEWSLETTER

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

Infrastruttura wireless d Ateneo (UNITUS-WiFi)

Guida per l accesso alla rete dati Wireless Windows Vista

filrbox Guida all uso dell applicazione DESKTOP Pag. 1 di 27

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA

Guida iscrizione Community. istruzione.social.marche.it

Configurazione del servizio Dynamic DNS. Questa procedura ti guiderà durante i 4 passi necessari alla messa in funzione del servizio.

B R E V E G U I D A ( V I S I S L A B C O F F E E ) Breve guida page 1

Libero Emergency PC. Sommario

Procedura aggiornamento firmware

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

Procedura aggiornamento firmware

Gateway KNX/DALI 64/16 GW Manuale utente del Dali Control Service and Comissioning Wizard 1.2.1

SAP BusinessObjects Versione del documento: Manuale di installazione di Dashboards LiveCycle Data Services Gateway

INDIRIZZI IP AUTORIZZATI

LA GESTIONE DEI VEICOLI AZIENDALI CON MICROSOFT OUTLOOK

Interfaccia KNX/IP Wireless GW Manuale Tecnico

Manuale Gestore. STWS Web Energy Control - Servizio di telelettura sul WEB

STRUMENTO PER LA COMPRESSIONE E LA CRIPTAZIONE DI FILE

30 giorni di prova gratuiti, entra nel sito scarica e installa subito mypckey

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

MANUALE D USO DELLA PIATTAFORMA ITCMS

PROGETTO PER LA TRASMISSIONE DOCUMENTI RELATIVI ALL APPROVAZIONE DELLE MANIFESTAZIONI IN FORMA DIGITALE

PORTALE CLIENTI Manuale utente

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

Informazioni relative al Decreto legislativo 30 giugno 2003, n Codice in materia di protezione dei dati personali

LINEE GUIDA PER LO SCARICO PEC IN P.I.Tre

DINAMIC: gestione assistenza tecnica

ACCESSO AL PORTALE INTERNET GSE

On-line Corsi d Informatica sul Web

STUDIUM.UniCT Tutorial per gli studenti

Procedura di abilitazione alla Rete di Lombardia Integrata

Guida alla Prima Configurazione dei Servizi

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

Transcript:

Specifiche OPC (OLE for Process Control) Community Bticino Nome File OPC_Community_Bticino-v1_0_0-IT.pdf Data-ora 10/10/2007 12.47 Versione ultime emissione 1.0.0

Storia delle modifiche apportate Versione Data Autore 1.0.0 01/09/2007 Bticino S.p.A. Direzione Marketing e Sviluppo Prodotti (Sviluppo Software Embedded) Via L. Manara, 4 Erba (CO) Italy www.myopen-bticino.it Descrizione: RILASCIO PRIMA VERSIONE. MyOpen Community Pagina 2 di 58 Specifiche OPC

INDICE GENERALE Introduzione...4 1. Configurazione Impianto...5 1.1. Configurazione PC...6 1.1.1. Schema Configurazione...6 1.1.2. Configurazione OmniServer...6 1.1.3. Configurazione BTunnel...7 1.1.4. Un esempio di supervisione: Wonderware InTouch...8 1.1.5. Un esempio di supervisione: RSView...8 2. Esempio di Configurazione...10 2.1. Esempio Configurazione OmniServer e BTunnel...10 2.2. Sviluppo di un supervisore InTouch...13 3. Funzioni Gestite...21 3.1. Tabella delle variabili di comando relative agli scenari (WHO = 0)...22 3.2. Tabella delle variabili di stato relative agli scenari (WHO = 0)...25 3.3. Tabella delle variabili di comando relative a luci e dimmer (WHO = 1)...43 3.4. Tabella delle variabili di stato relative a luci e dimmer (WHO = 1)...51 3.5. Tabella delle variabili di sistema relative a luci e dimmer (WHO = 1)...53 3.6. Tabella delle variabili di comando relative agli automatismi (WHO = 2)...55 3.7. Tabella delle variabili di stato relative agli automatismi (WHO = 2)...57 4. Riferimenti...58 MyOpen Community Pagina 3 di 58 Specifiche OPC

Introduzione Le OPC (OLE for Process Control) sono delle librerie che danno la possibilità ad un software SCADA (Supervisory Control and Data Acquisition) di accedere ad un sistema MyHome ([e]). Queste librerie vengono caricate in un programma server (OmniServer), il quale le rende accessibili allo SCADA e le mantiene in costante contatto con il sistema fisico (campo) connettendosi ad un gateway (es.: WebServer F452). Tramite lo SCADA sarà quindi possibile sviluppare un supervisore con la relativa interfaccia grafica per comandare e monitorare le variabili di campo. Poiché il software OmniServer è in grado di instaurare una sola connessione per ogni numero di porta destinazione, mentre il Gateway accetta connessioni monitor o comandi esclusivamente su porta 20000, si è dovuta implementare un applicazione di tunneling (BTunnel). Infatti OmniServer apre una connessione monitor sulla porta 20000 del Gateway direttamente, e apre tutte le altre connessioni necessarie su porte differenti nella macchina su cui è installato. Il traffico relativo a queste porte viene poi reinstradato da BTunnel (residente sulla medesima macchina) verso la porta 20000 del gateway. Conseguentemente lo stack relativo a un sistema di questo genere è quello di seguito riportato: InTouch (SCADA) OmniServer (OPC) BTunnel Web Server MyHome Figura 0.1 Architettura di comunicazione Tramite questa struttura il supervisore SCADA deve essere in grado di comandare e monitorare il sistema MyHome al quale è collegato relativamente ai sistemi supportati dalle OPC (Cap.3). MyOpen Community Pagina 4 di 58 Specifiche OPC

1. Configurazione Impianto Un semplice impianto supervisionato da un software SCADA tramite le librerie OPC si suddivide in tre elementi principali: il PC, il gateway OPEN-MyHome (per esempio il prodotto F452) e l impianto vero e proprio detto anche campo. Al posto di un normale PC è possibile installare un server che renda disponibili ad alcuni PC client il collegamento con il campo. Figura 1.1 Architettura dell impianto di riferimento La versione delle OPC pubblicate sulla community MyOpen BTicino ([a]) supportano la funzione MyHome comfort. Grazie a queste librerie ad esempio sarà possibile supervisionare un impianto SCS comprensivo di punti luce, dimmer, scenari ed automatismi. Il Gateway svolge esclusivamente il compito di collegamento tra PC e campo, rimanendo quindi indipendente alla configurazione delle due parti. Per questi motivi presteremo particolare attenzione soltanto alla configurazione dei software installati sul PC. L unico accorgimento necessario nella configurazione del Gateway consiste nel fare in modo che il PC con OmniServer possa accedere al WebServer senza che sia necessario l utilizzo della password OPEN (va impostato correttamente un range IP durante la configurazione da software). MyOpen Community Pagina 5 di 58 Specifiche OPC

1.1. Configurazione PC E necessario un PC con sistema operativo Windows XP SP2 e un collegamento ethernet attivo. Sulla macchina vanno installati tre software aggiuntivi, come precedentemente accennato, che sono BTunnel [a], OmniServer [b], e un generico software SCADA (per esempio InTouch [c] o RSView [d]). 1.1.1. Schema Configurazione Quello mostrato di seguito è uno schema esplicativo di come le applicazioni sopra elencate interagiscano tra di loro per comunicare con il bus SCS. Figura 1.2 Flusso delle informazioni In questo grafo è evidenziato come le informazioni fluiscono da e verso il supervisore (per esempio InTouch), partendo dal campo costituito da tutti i dispositivi connessi al bus SCS. Nei prossimi paragrafi è spiegato come configurare tutte le applicazioni che compaiono in Figura 1.2 per rendere operativo il sistema. 1.1.2. Configurazione OmniServer E stato testato il funzionamento delle OPC MyHome sia con InTouch che con RSView. MyOpen Community Pagina 6 di 58 Specifiche OPC

OmniServer ([b]) è l applicazione che si occupa di gestire le OPC. Queste costituiscono semplicemente un data base di variabili, che possono rappresentare sia stati degli attuatori di campo che variazioni di stato da inviare sul campo come comandi. La prima cosa da fare per configurare correttamente l applicazione dopo averla installata consiste nel copiare nella cartella di installazione di OmniServer il file contenente le OPC per il sistema MyHome, che ha estensione.dpd ed è disponibile sulla community MyOpen [a] nella sezione Strumenti di sviluppo -> Software. Per la precisione questo file deve essere copiato nella cartella /Software Toolbox/OmniServer/Samples che si può trovare alla posizione scelta durante l installazione del software (è importante non copiare contemporaneamente due file, anche se hanno denominazione diversa). A questo punto è possibile avviare l applicazione, che in questo modo sarà a conoscenza delle variabili che è possibile gestire e monitorare sul bus SCS (es.: stati di attuatori, comandi di accensione, ecc..). Ora dobbiamo impostare le modalità con cui OmniServer comunicherà con il Gateway per poter effettivamente controllare le suddette grandezze. Questa comunicazione viene gestita tramite la porta ethernet del PC (LAN), attraverso la quale vengono aperti tanti canali di comunicazione quante sono le sessioni che si aprono verso il Gateway. Sono qui di seguito elencati i passi da seguire per configurare la comunicazione con il Gateway: Innanzitutto è necessario impostare i Device di comunicazione, cioè i mezzi fisici attraverso i quali saranno aperte le connessioni: nel nostro caso questi mezzi sono costituiti da protocollo (TCP), indirizzo IP del Gateway, porta del Gateway, e timeout (solitamente settato a tre secondi per Device destinate a connessioni Monitor e 9 per quelle destinate a connessioni Comandi ). Il Gateway accetta connessioni solo sulla porta 20000, ma purtroppo OmniServer non permette di impostare più di un Device sulla stessa porta di un particolare indirizzo IP. Come precedentemente accennato quindi, si inseriscono i successivi Device con l indirizzo IP del PC in uso e con delle porte casuali (facendo attenzione a non utilizzare porte riservate) che verranno poi redirette al Gateway sulla porta 20000 dall applicazione BTunnel. Successivamente si impostano i Topic, che sono gli oggetti utilizzati dal software per collegarsi al Gateway. Questi vanno configurati tramite un nome, un intervallo di aggiornamento (di solito 6 secondi per Topici Comandi e 1 secondo per Topici Monitor ), e un protocollo di comunicazione. A questo punto deve essere possibile scegliere come protocollo di comunicazione quello corrispondente al nome del file.dpd che è stato precedentemente inserito nella cartella Samples (es.: BTICINO in caso il file fosse BTICINO.DPD). E poi necessario selezionare tra quelli creati al passo precedente il Device da associare al protocollo. A questo punto l applicazione è operativa: è cioè in grado di garantire la comunicazione tra il campo e le variabili del data base. In realtà OmniServer non è ancora completamente operativo perché i Device impostati sull indirizzo IP locale non sono ancora reindirizzati sul Gateway, cosa che sarà spiegata nel paragrafo 1.1.3. Per ulteriori dettagli è possibile fare riferimento al manuale di OmniServer, disponibile nella sezione Help del software. 1.1.3. Configurazione BTunnel Come precedentemente accennato, questa applicazione serve per redirigere alcune porte locali sulla porta 20000 del Gateway. Per questo motivo dopo averlo installato ed avviato, è necessario impostare (per ogni porta da reindirizzare) il numero della porta, l indirizzo IP del Gateway ed il MyOpen Community Pagina 7 di 58 Specifiche OPC

numero della porta del Gateway (nel nostro caso 20000). Una volta impostati questi parametri, è necessario salvare ed avviare il servizio. Una volta effettuate queste operazioni OmniServer è effettivamente connesso al campo, ed è in grado di ottenere ed inviare informazioni da e verso quest ultimo. Di questo software sono disponibili sulla community MyOpen ([a]) sia eseguibile che sorgenti, scaricabili dalla sezione Strumenti di sviluppo -> Software. 1.1.4. Un esempio di supervisione: Wonderware InTouch Wonderware InTouch ([c]) è un ambiente di sviluppo per creare applicazioni di supervisione SCADA (Supervisory Control and Data Acquisition). Per fare questo è necessario che InTouch si connetta ad un applicazione OmniServer che sia in grado a sua volta di connettersi col campo. Il software di supervisione crea un data base di variabili parallelo a quello del Server OPC, collegando le variabili del proprio a quelle corrispondenti nel Server. E quindi necessario per ogni variabile creata, indicare se esiste una variabile OmniServer alla quale essa è legata: in questo modo i due valori verranno aggiornati contemporaneamente. Questo tipo di aggiornamento è naturalmente valido in due direzioni: Monitor: se una variabile di monitor (ad esempio lo stato di una lampadina) cambia valore sul campo (es.: la lampadina si accende), allora OmniServer cambierà il valore della rispettiva variabile. InTouch leggendo questa variazione aggiorna il valore della variabile legata a quella modificata nel proprio data base, rendendo in questo modo visualizzabile l evento. Comandi: se una procedura InTouch causa la modifica del valore di una variabile definita di comando, allora la corrispondente variabile OmniServer viene forzata al nuovo valore, e questo causa l invio al Gateway di un particolare comando Open. La distinzione tra variabili di comando e variabili di stato o monitor viene fatta da OmniServer: sarà quindi cura dello sviluppatore SCADA utilizzare le corrette variabili per monitorare o comandare il campo. Il formato del nome delle variabili fornite sulla Community MyOpen è del tipo: 00FF_V_desc, dove ff è la funzione MyHome a cui si riferisce (esempio 01 - Illuminazione), V è il tipo di variabile (S = stato, C = Comando) e desc è un abbreviazione della descrizione della variabile stessa. Dalla community MyOpen ([a]) é scaricabile alla sezione Applicativi un esempio di progetto InTouch sviluppato per un piccolo impianto di prova. 1.1.5. Un esempio di supervisione: RSView RSView è un ulteriore esempio di ambiente di sviluppo SCADA, distribuito dalla Rockwell Automation [d]. Questo applicativo può svolge le stesse funzioni di InTouch, trattato nel paragrafo precedente: crea cioè un database di variabili interno all applicazione e si connette al software OmniServer con le stesse modalità di InTouch per tenere questo database aggiornato. E possibile lo MyOpen Community Pagina 8 di 58 Specifiche OPC

sviluppo di un interfaccia grafica come nel caso di InTouch, e si possono integrare nel software degli script in Visual Basic. MyOpen Community Pagina 9 di 58 Specifiche OPC

2. Esempio di Configurazione Di seguito un esempio di configurazione di un impianto costituito dallo starter kit BTicino che è possibile trovare sulla community MyOpen ([a]). 2.1. Esempio Configurazione OmniServer e BTunnel Dopo aver copiato il file.dpd nella directory di installazione di OmniServer, è necessario configurare i Device e i Topic, come spiegato nei precedenti paragrafi. Si è posto di avere configurato sul Gateway l IP 192.168.1.39, mentre il PC sul quale si lavora ha IP 192.168.1.103. Di seguito le schermate relative a queste configurazioni: Figura 2.1 Definizione dei Device MyOpen Community Pagina 10 di 58 Specifiche OPC

Figura 2.2 Definizione dei Topic Queste configurazioni devono essere ripetute per ogni connessione che si vuole instaurare verso il Gateway, che in questo caso ha indirizzo IP 192.168.1.39. Gli altri device impostati però non potranno essere diretti direttamente sulla porta 20000 del Gateway, ma dovranno avere l IP della macchina su cui risiede il software, ed una porta casuale non occupata. Questa porta verrà poi reindirizzata sul Gateway da BTunnel, che verrà configurato di conseguenza. Nelle schermate in Figura 2.3 e Figura 2.4 sono rappresentati la definizione di un topic da reindirizzare e la relativa configurazione di BTunnel. MyOpen Community Pagina 11 di 58 Specifiche OPC

Figura 2.3 Definizione del Device da redirigere Si noti che questo device ha impostato a 9 secondi il tempo di timeout, dato che sarà da destinarsi ad un topic di comando. BTunnel dovrà redirigere la porta 1000 sulla porta 20000 del Gateway, quindi la relativa configurazione sarà quella rappresentata nella Figura 2.4. Per configurare l applicazione è necessario ciccare col tasto destro del mouse sulla sua icona nella barra delle applicazioni, e scegliere Configura. MyOpen Community Pagina 12 di 58 Specifiche OPC

Figura 2.4 Configurazione BTunnel Dopo avere configurato l applicazione è necessario avviare il servizio, cliccando sul tasto Avvia. Il servizio stesso può essere arrestato con la pressione del tasto Stop. 2.2. Sviluppo di un supervisore InTouch Come detto in precedenza, InTouch è un software di supervisione, quindi l obiettivo che ci si deve porre è quello di creare una nuova applicazione capace di supervisionare l impianto. I primi passi consistono quindi nell aprire InTouch e creare una nuova applicazione. In Figura 2.5 la schermata di InTouch nella quale è possibile gestire le applicazioni esistenti: MyOpen Community Pagina 13 di 58 Specifiche OPC

Figura 2.5 Finestra gestione applicazioni Una volta creata la nuova applicazione bisogna aprirla per configurarla. L obiettivo di questo breve tutorial è di creare una finestra nella quale visualizzare lo stato di un punto luce dello starter kit e comandarlo. Naturalmente si suppone che le applicazioni OmniServer e BTunnel siano correttamente configurate ed avviate. o La prima cosa da fare è creare una nuova finestra InTouch delle dimensioni desiderate in cui inserire l oggetto che servirà per controllare il punto luce designato. Ecco come potrà apparire la finestra creata, per esempio col nome MainView : MyOpen Community Pagina 14 di 58 Specifiche OPC

Figura 2.6 Finestra applicazione Main View o A questo punto è possibile inserire nella finestra appena creata un cerchio o una figura qualsiasi che sarà il nostro segnalatore di stato della lampadina. Facendo doppio click su di esso appare una finestra: scegliamo Fill Color -> Discrete per impostare una variabile alla quale legare il colore di riempimento della figura: MyOpen Community Pagina 15 di 58 Specifiche OPC

Figura 2.7 Variabile legata al colore di riempimento o In questo modo abbiamo creato la variabile InTouch StatoLampada. Ora è necessario legare questa variabile a quella residente su OmniServer che è effettivamente connessa all impianto. Facendo doppio-click sul nome della variabile verrà visualizzata una finestra di dialogo: MyOpen Community Pagina 16 di 58 Specifiche OPC

Figura 2.8 Impostazioni variabile StatoLampada o Nella finestra qui sopra si deve impostare il Type (I/O Discrete) e il nome della variabile OmniServer (0001_S_11 per la lampada di indirizzo 11). Ora è necessario impostare il topic OmniServer da cui leggere il valore della variabile: è possibile farlo impostando un nuovo Access Name e poi selezionandolo al posto di Galaxy. MyOpen Community Pagina 17 di 58 Specifiche OPC

Figura 2.9 Aggiunta Access Name o Quella raffigurata è la finestra per l inserimento di un nuovo Access Name. OSRVPOLL è il nome dell applicazione che gestisce le variabili OmniServer, la cui icona è visibile nella barra delle applicazioni di windows, mentre TopMonitor è il nome di un topic di monitor OmniServer (vedi par. 1.1.2). Dopo aver aggiunto l Access Name, è necessario che questo venga selezionato per la variabile in oggetto. o E stata quindi creata la spia di stato della lampada. E ora necessario creare due tasti di comando: ON e OFF. La procedura è pressoché la equivalente a quella utilizzata per la spia di segnalazione, anche se la variabile correlata non dovrà più essere letta ma scritta su OmniServer, e quindi dopo avere fatto doppio-click sulla figura dovrà essere inserita in TouchPushButtons -> Actions. Inoltre il Topic scelto dovrà essere di tipo comandi. MyOpen Community Pagina 18 di 58 Specifiche OPC

Figura 2.10 Impostazione dell azione eseguita a seguito di un click sulla figura selezionata o La finestra che comparirà è quella raffigurata in Figura 2.10: Se la figura accenderà la lampada 11, setterà la variabile ComandaLampada ad 11. Anche in questo caso bisognerà legare la variabile InTouch a quella OmniServer e ad un Topic (questa volta di tipo comandi), ottenendo quindi una variabile così configurata: MyOpen Community Pagina 19 di 58 Specifiche OPC

Figura 2.11 Impostazioni variabile ComandaLampada Da notare che se il comando dovesse spegnere il punto luce anziché accenderlo, sarebbe legato non più alla variabile 0001_C_LightOn, ma sarebbe collegato al valore di 0001_C_LightOff. o E necessario a questo punto inserire due pulsanti per aprire le connessioni comandi e monitor verso il Gateway. Infatti se queste due connessioni fossero chiuse, non sarebbe possibile inviare comandi sul bus SCS. Per fare questo bisogna utilizzare le variabili di comando Gen_Start_CommandS e Gen_Start_MonitorS, naturalmente riferite ai rispettivi topic. A questo punto, dopo avere attivato le due connessioni, cliccando sulle figure definite come comandi si dovrà vedere il cambio stato dell attuatore sul bus, oltre che il cambio di colore della figura che funge da spia. Ecco una raffigurazione della finestra di supervisione così costruita: MyOpen Community Pagina 20 di 58 Specifiche OPC

Figura 2.12 Finestra di supervisione 3. Funzioni Gestite Le funzioni che possono essere gestite tramite un Server OPC dipendono dalle variabili che sono impostate al suo interno, e da come queste sono legate alle frame OPEN che vengono ricevute o trasmesse da e sul campo. La gestione implica quindi la corretta interpretazione delle frame in arrivo e la corretta formattazione delle frame trasmesse dal server. Nel caso della ricezione di una frame, perché questa sia gestita è necessario che il server riconosca tale frame, e che sappia che valore estrarne per salvarlo nella relativa variabile di stato. Si necessita quindi di due campi di memoria: il primo contiene la frame che è possibile ricevere, mentre il secondo contiene la variabile da settare in seguito al suo arrivo. Nel caso invece in cui si debba trasmettere una frame, serve avere una variabile da settare ad un determinato valore, che poi viene utilizzato per generare la stringa da spedire. Il risultato è che nel server dovranno essere residenti un numero di variabili pari al numero di frame da gestire (sia in trasmissione che in ricezione), ed in più vi dovranno essere le informazioni relative alle frame da generare e da interpretare. Nella tabella di seguito vi è l elenco di questi campi per quanto riguarda le funzioni open di scenari, automazione ed illuminazione rilasciate nella community MyOpen. MyOpen Community Pagina 21 di 58 Specifiche OPC

3.1. Tabella delle variabili di comando relative agli scenari (WHO = 0) NOME TIPO RANGE DI CONTENUTO DESCRIZIONE MESSAGGI OPEN INVIATI VALORI 0000_C_Delete_All Integer 1 Indirizzo della Cancella tutti gli 0000_Cmd_Del_All scenari memorizzati *0*42*{0000_C_Delete_All} sulla specificata 0000_C_Delete_All_E_{Ext} Integer 1 Indirizzo della Cancella tutti gli 0000_Cmd_Del_All_Ext ( scenari memorizzati *0*42*{0000_C_Delete_All_E_{Ext}}#4#{Ext} presente sulla sull estensione specificata (indicato 0000_C_Delete_{Scen} Integer 1 (Scen: 1 16) 0000_C_Delete_{Scen}_E_{Ext} Integer 1 (Scen: 1 16 0000_C_Disable_{Scen} Integer 1 (Scen: 1 16) 0000_C_Disable_{Scen}_E_{Ext} String 1 (Scen: 1 16 Ext Indirizzo della Indirizzo della presente sull estensione Ext Indirizzo della Indirizzo della presente sull estensione Ext 0000_C_Lock String 1 Indirizzo della da Ext) Cancella lo scenario specificato (indicato da Scen) dalla specificata (indicata da Ext) Cancella lo scenario specificato (indicato da Scen) dalla specificata (indicata da Ext) Disattiva lo scenario (indicato da Scen) presente sulla specificata Disattiva lo scenario (indicato da Scen) presente sulla specificata (indicato da Ext) Blocca la centralina scenari MyOpen Community Pagina 22 di 58 Specifiche OPC 0000_Cmd_Delete *0*42#{Scen}*{0000_C_Delete_{Scen}}## 0000_Cmd_Delete_Ext *0*42#{Scen}*{0000_C_Delete_{Scen}_E_{Ext}}#4#{Ext}## 0000_Cmd_Disable *0*{Scen}#0*{0000_C_Disable_{Scen}}## 0000_Cmd_Disable_Ext *0*{Scen}#0*{0000_C_Disable_{Scen}_E_{Ext}}#4#{Ext}## 0000_Cmd_Lock *0*43*{0000_C_Lock}

0000_C_Lock_E_{Ext} String 1 ( 0000_C_Start_Prog_{Scen} String 1 (Scen: 1 16) 0000_C_Start_Prog_{Scen}_E_{Ext} String 1 (Scen: 1 16 0000_C_StartUp_{Scen} String 1 (Scen: 1 16) 0000_C_StartUp_{Scen}_E_{Ext} String 1 (Scen: 1 16 0000_C_Stop_Prog_{Scen} String 1 (Scen: 1 16) 0000_C_Stop_Prog_{Scen}_E_{Ext} String 1 (Scen: 1 16 Indirizzo della presente sull estensione Ext Indirizzo della Indirizzo della presente sull estensione Ext Indirizzo della Indirizzo della presente sull estensione Ext Indirizzo della Indirizzo della 0000_C_Unlock String 1 Indirizzo della Blocca la centralina scenari presente sull estensione Ext Inizia la programmazione dello scenario Scen sulla specificata Inizia la programmazione dello scenario Scen sulla specificata (presente sull estensione Ext) Attiva lo scenario Scen sulla centralina scenari specificata Attiva lo scenario Scen sulla centralina scenari specificata (presente sull estensione Ext) Conclude il processo di programmazione dello scenario Scen sulla specificata Conclude il processo di programmazione dello scenario Scen sulla specificata (presente sull estensione Ext) Sblocca la centralina scenari specificata 0000_Cmd_Lock_Ext *0*43*{0000_C_Lock_E_{Ext}}#4#{Ext}## 0000_Cmd_Start_Prog *0*40#{Scen}*{0000_C_Start_Prog_{Scen}}## 0000_Cmd_Start_Prog_Ext *0*40#{Scen}*{0000_C_Start_Prog_{Scen}_E_{Ext}}#4#{Ext}## 0000_Cmd_Start *0*{Scen}*{0000_C_StartUp_{Scen}}## 0000_Cmd_Start_Ext *0*{Scen}*{0000_C_StartUp_{Scen}_E_{Ext}}#4#{Ext}## 0000_Cmd_Stop_Prog *0*41#{Scen}*{0000_C_Stop_Prog_{Scen}}## 0000_Cmd_Stop_Prog_Ext *0*41#{Scen}*{0000_C_Stop_Prog_{Scen}_E_{Ext}}#4#{Ext}## 0000_Cmd_Unlock *0*44*{0000_C_Unlock} MyOpen Community Pagina 23 di 58 Specifiche OPC

0000_C_Unlock_E_{Ext} String 1 ( Indirizzo della presente sull estensione Ext Sblocca la centralina scenari specificata (presente sull estensione Ext) 0000_Cmd_Unlock *0*44*{0000_C_Unlock_E_{Ext}}#4#{Ext}## MyOpen Community Pagina 24 di 58 Specifiche OPC

3.2. Tabella delle variabili di stato relative agli scenari (WHO = 0) NOME TIPO RANGE DI VALORI 0000_S_Delete_{Scen} Integer 1 (Scen: 1 16) 0000_S_Delete_{Scen}_E_{Ext} Integer 1 (Scen: 1 16 0000_S_DeleteAll_{Num} Discrete 0 1 0000_S_DeleteAll_{Num}_E_{Ext} Discrete 0 1 CONTENUTO DESCRIZIONE MESSAGGI OPEN RICEVUTI Indirizzo della Indirizzo della presente sull estensione Ext Contiene l indirizzo della centralina scenari dalla quale è stato cancellato lo scenario Scen Contiene l indirizzo della centralina scenari presente sull estensione Ext dalla quale è stato cancellato lo scenario Scen Se alla centralina scenari Num sono stati cancellati tutti gli scenari, allora la a 1; in caso contrario è 0 Se alla centralina scenari Num presente sull estensione Ext sono stati cancellati tutti gli scenari, allora la variabile viene posta a 1; in caso contrario è 0 0000_Scen_Del *0*42#{Scen}*{0000_S_Delete_{Scen}}## 0000_Scen_Del_Ext *0*42#{Scen}*{0000_S_Delete_{Scen}_E_{Ext}}#4#{Ext}## 0000_Scen_Delete_All *0*42*{Num}## 0000_Scen_Delete_All_Ext *0*42*{Num}#4#{Ext}## MyOpen Community Pagina 25 di 58 Specifiche OPC

0000_S_Disable_10_{Num} Discrete 0 1 0000_S_Disable_10_{Num}_E_{Ext} Discrete 0 1 0000_S_Disable_11_{Num} Discrete 0 1 0000_S_Disable_11_{Num}_E_{Ext} Discrete 0 1 Se lo scenario 10 della centralina scenari Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 10 della centralina scenari Num presente sul bus esteso Ext è stato disattivato, allora la variabile viene posta a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 11 della centralina scenari Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 11 della centralina scenari Num presente sul bus esteso Ext è stato disattivato, allora la variabile viene posta a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la MyOpen Community Pagina 26 di 58 Specifiche OPC 0000_Scen_Disable_10 *0*10#0*{Num}## 0000_Scen_Disable_10_Ext *0*10#0*{Num}#4#{Ext}## 0000_Scen_Disable_11 *0*11#0*{Num}## 0000_Scen_Disable_11_Ext *0*11#0*{Num}#4#{Ext}##

0000_S_Disable_12_{Num} Discrete 0 1 0000_S_Disable_12_{Num}_E_{Ext} Discrete 0 1 0000_S_Disable_13_{Num} Discrete 0 1 0000_S_Disable_13_{Num}_E_{Ext} Discrete 0 1 Se lo scenario 12 della centralina scenari Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 12 della centralina scenari Num presente sul bus esteso Ext è stato disattivato, allora la variabile viene posta a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 13 della centralina scenari Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 13 della centralina scenari Num presente sul bus esteso Ext è stato disattivato, allora la variabile viene posta a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la MyOpen Community Pagina 27 di 58 Specifiche OPC 0000_Scen_Disable_12 *0*12#0*{Num}## 0000_Scen_Disable_12_Ext *0*12#0*{Num}#4#{Ext}## 0000_Scen_Disable_13 *0*13#0*{Num}## 0000_Scen_Disable_13_Ext *0*13#0*{Num}#4#{Ext}##

0000_S_Disable_14_{Num} Discrete 0 1 0000_S_Disable_14_{Num}_E_{Ext} Discrete 0 1 0000_S_Disable_15_{Num} Discrete 0 1 0000_S_Disable_15_{Num}_E_{Ext} Discrete 0 1 Se lo scenario 14 della centralina scenari Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 14 della centralina scenari Num presente sul bus esteso Ext è stato disattivato, allora la variabile viene posta a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 15 della centralina scenari Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 15 della centralina scenari Num presente sul bus esteso Ext è stato disattivato, allora la variabile viene posta a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la MyOpen Community Pagina 28 di 58 Specifiche OPC 0000_Scen_Disable_14 *0*14#0*{Num}## 0000_Scen_Disable_14_Ext *0*14#0*{Num}#4#{Ext}## 0000_Scen_Disable_15 *0*15#0*{Num}## 0000_Scen_Disable_15_Ext *0*15#0*{Num}#4#{Ext}##

0000_S_Disable_16_{Num} Discrete 0 1 0000_S_Disable_16_{Num}_E_{Ext} Discrete 0 1 0000_S_Disable_1_{Num} Discrete 0 1 0000_S_Disable_1_{Num}_E_{Ext} Discrete 0 1 Se lo scenario 16 della centralina scenari Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 16 della centralina scenari Num presente sul bus esteso Ext è stato disattivato, allora la variabile viene posta a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 1 della Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 1 della Num presente sul bus esteso Ext è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la 0000_Scen_Disable_16 *0*16#0*{Num}## 0000_Scen_Disable_16_Ext *0*16#0*{Num}#4#{Ext}## 0000_Scen_Disable_1 *0*1#0*{Num}## 0000_Scen_Disable_1_Ext *0*1#0*{Num}#4#{Ext}## MyOpen Community Pagina 29 di 58 Specifiche OPC

0000_S_Disable_2_{Num} Discrete 0 1 0000_S_Disable_2_{Num}_E_{Ext} Discrete 0 1 0000_S_Disable_3_{Num} Discrete 0 1 0000_S_Disable_3_{Num}_E_{Ext} Discrete 0 1 Se lo scenario 2 della Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 2 della Num presente sul bus esteso Ext è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 3 della Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 3 della Num presente sul bus esteso Ext è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la 0000_Scen_Disable_2 *0*2#0*{Num}## 0000_Scen_Disable_2_Ext *0*2#0*{Num}#4#{Ext}## 0000_Scen_Disable_3 *0*3#0*{Num}## 0000_Scen_Disable_3_Ext *0*3#0*{Num}#4#{Ext}## MyOpen Community Pagina 30 di 58 Specifiche OPC

0000_S_Disable_4_{Num} Discrete 0 1 0000_S_Disable_4_{Num}_E_{Ext} Discrete 0 1 0000_S_Disable_5_{Num} Discrete 0 1 0000_S_Disable_5_{Num}_E_{Ext} Discrete 0 1 Se lo scenario 4 della Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 4 della Num presente sul bus esteso Ext è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 5 della Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 5 della Num presente sul bus esteso Ext è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la 0000_Scen_Disable_4 *0*4#0*{Num}## 0000_Scen_Disable_4_Ext *0*4#0*{Num}#4#{Ext}## 0000_Scen_Disable_5 *0*5#0*{Num}## 0000_Scen_Disable_5_Ext *0*5#0*{Num}#4#{Ext}## MyOpen Community Pagina 31 di 58 Specifiche OPC

0000_S_Disable_6_{Num} Discrete 0 1 0000_S_Disable_6_{Num}_E_{Ext} Discrete 0 1 0000_S_Disable_7_{Num} Discrete 0 1 0000_S_Disable_7_{Num}_E_{Ext} Discrete 0 1 Se lo scenario 6 della Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 6 della Num presente sul bus esteso Ext è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 7 della Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 7 della Num presente sul bus esteso Ext è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la 0000_Scen_Disable_6 *0*6#0*{Num}## 0000_Scen_Disable_6_Ext *0*6#0*{Num}#4#{Ext}## 0000_Scen_Disable_7 *0*7#0*{Num}## 0000_Scen_Disable_7_Ext *0*7#0*{Num}#4#{Ext}## MyOpen Community Pagina 32 di 58 Specifiche OPC

0000_S_Disable_8_{Num} Discrete 0 1 0000_S_Disable_8_{Num}_E_{Ext} Discrete 0 1 0000_S_Disable_9_{Num} Discrete 0 1 0000_S_Disable_9_{Num}_E_{Ext} Discrete 0 1 Se lo scenario 8 della Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 8 della Num presente sul bus esteso Ext è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 9 della Num è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la Se lo scenario 9 della Num presente sul bus esteso Ext è stato disattivato, allora la a 1: se lo scenario non è mai stato abilitato o è ancora abilitato, la 0000_Scen_Disable_8 *0*8#0*{Num}## 0000_Scen_Disable_8_Ext *0*8#0*{Num}#4#{Ext}## 0000_Scen_Disable_9 *0*9#0*{Num}## 0000_Scen_Disable_9_Ext *0*9#0*{Num}#4#{Ext}## MyOpen Community Pagina 33 di 58 Specifiche OPC

0000_S_Lock_{Num} Discrete 0 1 0000_S_Lock_{Num}_E_{Ext} Discrete 0 1 0000_S_Memory_Full_{Num} Discrete 0 1 0000_S_Memory_Full_{Num}_E_{Ext} Discrete 0 1 0000_S_NA_{Num} Discrete 0 1 Se la centralina scenari Num è stato bloccato, allora la variabile viene settata a 1; in caso contrario è 0 Se la centralina scenari Num presente sul bus esteso Ext è stato bloccato, allora la variabile viene settata a 1, altrimenti rimane a 0 Se la memoria della Num è piena, questa a 1; in caso contrario è 0 Se la memoria della Num, presente sul bus esteso Ext, è piena, allora questa variabile viene settata a 1; in caso contrario contiene 0 Se la centralina scenari Num non è disponibile, questa a 1; in caso contrario contiene 0 0000_Scen_Lock *0*43*{Num}## 0000_Scen_Lock_Ext *0*43*{Num}#4#{Ext}## 0000_Scen_Mem_Full *0*46*{Num}## 0000_Scen_Mem_Full_Ext *0*46*{Num}#4#{Ext}## 0000_Scen_NA *0*45*{Num}## MyOpen Community Pagina 34 di 58 Specifiche OPC

0000_S_NA_{Num}_E_{Ext} Discrete 0 1 0000_S_Start_Prog_{Num} Integer 1 16 0000_S_Start_Prog_{Num}_E_{Ext} Integer 1 16 0000_S_StartUp_10_{Num} Discrete 0 1 0000_S_StartUp_10_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_11_{Num} Discrete 0 1 Numero dello scenario Numero dello scenario Se la centralina scenari Num presente sul bus esteso Ext non è disponibile, allora questa variabile viene posta a 1; in caso contrario contiene 0 Contiene il numero dello scenario che si sta programmando sulla centralina scenari Num Contiene il numero dello scenario che si sta programmando sulla centralina scenari Num presente sul bus esteso Ext scenari Num viene avviato lo scenario 10, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 10, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 11, questa variabile viene posta a 1; in caso contrario è 0 0000_Scen_NA_Ext *0*45*{Num}#4#{Ext}## 0000_Scen_Start_P *0*40#{0000_S_Start_Prog_{Num}}*{Num}## 0000_Scen_Start_P_Ext *0*40#{0000_S_Start_Prog_{Num}_E_{Ext}}*{Num}#4#{Ext}## 0000_Scen_Start_10 *0*10*{Num}## 0000_Scen_Start_10_Ext *0*10*{Num}#4#{Ext}## 0000_Scen_Start_11 *0*11*{Num}## MyOpen Community Pagina 35 di 58 Specifiche OPC

0000_S_StartUp_11_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_12_{Num} Discrete 0 1 0000_S_StartUp_12_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_13_{Num} Discrete 0 1 0000_S_StartUp_13_{Num}_E_{Ext} Discrete 0 1 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 11, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 12, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 12, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 13, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 13, questa a 1; in caso contrario è 0 0000_Scen_Start_11_Ext *0*11*{Num}#4#{Ext}## 0000_Scen_Start_12 *0*12*{Num}## 0000_Scen_Start_12_Ext *0*12*{Num}#4#{Ext}## 0000_Scen_Start_13 *0*13*{Num}## 0000_Scen_Start_13_Ext *0*13*{Num}#4#{Ext}## MyOpen Community Pagina 36 di 58 Specifiche OPC

0000_S_StartUp_14_{Num} Discrete 0 1 0000_S_StartUp_14_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_15_{Num} Discrete 0 1 0000_S_StartUp_15_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_16_{Num} Discrete 0 1 scenari Num viene avviato lo scenario 14, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 14, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 15, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 15, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 10, questa variabile viene posta a 1; in caso contrario è 0 0000_Scen_Start_14 *0*14*{Num}## 0000_Scen_Start_14_Ext *0*14*{Num}#4#{Ext}## 0000_Scen_Start_15 *0*15*{Num}## 0000_Scen_Start_15_Ext *0*15*{Num}#4#{Ext}## 0000_Scen_Start_16 *0*16*{Num}## MyOpen Community Pagina 37 di 58 Specifiche OPC

0000_S_StartUp_16_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_1_{Num} Discrete 0 1 0000_S_StartUp_1_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_2_{Num} Discrete 0 1 0000_S_StartUp_2_{Num}_E_{Ext} Discrete 0 1 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 16, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 1, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 1, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 2, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 2, questa a 1; in caso contrario è 0 0000_Scen_Start_16_Ext *0*16*{Num}#4#{Ext}## 0000_Scen_Start_1 *0*1*{Num}## 0000_Scen_Start_1_Ext *0*1*{Num}#4#{Ext}## 0000_Scen_Start_2 *0*2*{Num}## 0000_Scen_Start_2_Ext *0*2*{Num}#4#{Ext}## MyOpen Community Pagina 38 di 58 Specifiche OPC

0000_S_StartUp_3_{Num} Discrete 0 1 0000_S_StartUp_3_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_4_{Num} Discrete 0 1 0000_S_StartUp_4_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_5_{Num} Discrete 0 1 scenari Num viene avviato lo scenario 3, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 3, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 4, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 4, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 5, questa variabile viene posta a 1; in caso contrario è 0 0000_Scen_Start_3 *0*3*{Num}## 0000_Scen_Start_3_Ext *0*3*{Num}#4#{Ext}## 0000_Scen_Start_4 *0*4*{Num}## 0000_Scen_Start_4_Ext *0*4*{Num}#4#{Ext}## 0000_Scen_Start_5 *0*5*{Num}## MyOpen Community Pagina 39 di 58 Specifiche OPC

0000_S_StartUp_5_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_6_{Num} Discrete 0 1 0000_S_StartUp_6_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_7_{Num} Discrete 0 1 0000_S_StartUp_7_{Num}_E_{Ext} Discrete 0 1 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 5, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 6, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 6, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 7, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 7, questa a 1; in caso contrario è 0 0000_Scen_Start_5_Ext *0*5*{Num}#4#{Ext}## 0000_Scen_Start_6 *0*6*{Num}## 0000_Scen_Start_6_Ext *0*6*{Num}#4#{Ext}## 0000_Scen_Start_7 *0*7*{Num}## 0000_Scen_Start_7_Ext *0*7*{Num}#4#{Ext}## MyOpen Community Pagina 40 di 58 Specifiche OPC

0000_S_StartUp_8_{Num} Discrete 0 1 0000_S_StartUp_8_{Num}_E_{Ext} Discrete 0 1 0000_S_StartUp_9_{Num} Discrete 0 1 0000_S_StartUp_9_{Num}_E_{Ext} Discrete 0 1 0000_S_Stop_Prog_{Num} Integer 1 16 Numero dello scenario scenari Num viene avviato lo scenario 8, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 8, questa a 1; in caso contrario è 0 scenari Num viene avviato lo scenario 9, questa variabile viene posta a 1; in caso contrario è 0 scenari Num, presente sul bus esteso Ext, viene avviato lo scenario 9, questa a 1; in caso contrario è 0 Contiene il numero dello scenario, presente sulla Num, di cui si è appena conclusa la programmazione 0000_Scen_Start_8 *0*8*{Num}## 0000_Scen_Start_8_Ext *0*8*{Num}#4#{Ext}## 0000_Scen_Start_9 *0*9*{Num}## 0000_Scen_Start_9_Ext *0*9*{Num}#4#{Ext}## 0000_Scen_Stop_P *0*41#{0000_S_Stop_Prog_{Num}}*{Num}## MyOpen Community Pagina 41 di 58 Specifiche OPC

0000_S_Stop_Prog_{Num}_E_{Ext} Integer 1 16 0000_S_Unlock_{Num} Discrete 0 1 0000_S_Unlock_{Num}_E_{Ext} Discrete 0 1 Numero dello scenario Contiene il numero dello scenario, presente sulla Num facente parte della centralina scenari Ext, che si è appena finito di programmare Se la centralina scenari Num viene sbloccato, questa a 1; nel caso in cui la non sia stata ancora sbloccata una volta, allora la variabile contiene 0 Se la centralina scenari Num, presente sul bus esteso Ext, viene sbloccato, questa variabile viene posta a 1; nel caso in cui la centralina scenari non sia stata ancora sbloccata una volta, allora la variabile contiene 0 0000_Scen_Stop_P_Ext *0*41#{0000_S_Stop_Prog_{Num}}*{Num}#4#{Ext}## 0000_Scen_Unlock *0*44*{Num}## 0000_Scen_Unlock_Ext *0*44*{Num}#4#{Ext}## MyOpen Community Pagina 42 di 58 Specifiche OPC

3.3. Tabella delle variabili di comando relative a luci e dimmer (WHO = 1) NOME TIPO RANGE CONTENUTO DESCRIZIONE MESSAGGI INVIATI DI VALORI 0001_C_AllOff Discrete 0-1 Flag che spegne tutte le luci Trigger: 0001_AllOff *1*0*0## 0001_C_AllOn Discrete 0-1 Flag che accende tutte le Trigger: 0001_AllOn 0001_C_Blink_0_5 String Indirizzo di un punto o di un gruppo di luci 0001_C_Blink_1_0 String Indirizzo di un punto o di un gruppo di luci 0001_C_Blink_1_5 String Indirizzo di un punto o di un gruppo di luci 0001_C_Blink_2_0 String Indirizzo di un punto o di un gruppo di luci 0001_C_Blink_2_5 String Indirizzo di un punto o di un gruppo di luci 0001_C_Blink_3_0 String Indirizzo di un punto o di un gruppo di luci luci Variabile che attiva la funzione di lampeggio ogni 0,5 secondi della luce a cui punta (o delle luci alle quali punta) Variabile che attiva la funzione di lampeggio ogni secondo della luce a cui punto (o delle luci alle quali punta) Variabile che attiva la funzione di lampeggio ogni 1,5 secondi della luce a cui punta (o delle luci alle quali punta) Variabile che attiva la funzione di lampeggio ogni 2 secondi della luce a cui punta (o delle luci alle quali punta) Variabile che attiva la funzione di lampeggio ogni 2,5 secondi della luce a cui punta (o delle luci alle quali punta) Variabile che attiva la funzione di lampeggio ogni 3 secondi della luce a cui punta (o delle luci alle quali punta) *1*1*0## Write Message: 0001_Cmd_Blinking_0_5 *1*20*{0001_C_Blink_0_5}## Write Message: 0001_Cmd_Blinking_1_0 *1*21*{0001_C_Blink_1_0}## Write Message: 0001_Cmd_Blinking_1_5 *1*22*{0001_C_Blink_1_5}## Write Message: 0001_Cmd_Blinking_2_0 *1*23*{0001_C_Blink_2_0}## Write Message: 0001_Cmd_Blinking_2_5 *1*24*{0001_C_Blink_2_5}## Write Message: 0001_Cmd_Blinking_3_0 *1*25*{0001_C_Blink_3_0}## MyOpen Community Pagina 43 di 58 Specifiche OPC

0001_C_Blink_3_5 String Indirizzo di un punto o di un gruppo di luci 0001_C_Blink_4_0 String Indirizzo di un punto o di un gruppo di luci 0001_C_Blink_4_5 String Indirizzo di un punto o di un gruppo di luci 0001_C_Blink_5_0 String Indirizzo di un punto o di un gruppo di luci Variabile che attiva la funzione di lampeggio ogni 3,5 secondi della luce a cui punta (o delle luci alle quali punta) Variabile che attiva la funzione di lampeggio ogni 4 secondi della luce a cui punta (o delle luci alle quali punta) Variabile che attiva la funzione di lampeggio ogni 4,5 secondi della luce a cui punta (o delle luci alle quali punta) Variabile che attiva la funzione di lampeggio ogni 5 secondi della luce a cui punta (o delle luci alle quali punta) 0001_C_GlobalState Discrete 0 1 Permette di eseguire l aggiornamento degli stati di tutte le luci 0001_C_LightOff String Indirizzo di una luce o di un gruppo di luci 0001_C_LightOff_Sp_{Num}_E_{Ext } Integer Velocità di spegnimento 0001_C_LightOff_Sp_{Num} Integer Velocità di spegnimento Variabile che attiva la funzione di spegnimento di una luce o di un gruppo di luci Variabile che attiva la funzione di spegnimento di una luce o di un gruppo di luci ad una velocità data Variabile che attiva la funzione di spegnimento di una luce o di un gruppo di luci ad una velocità data Write Message: 0001_Cmd_Blinking_3_5 *1*26*{0001_C_Blinking_3_5}## Write Message: 0001_Cmd_Blinking_4_0 *1*27*{0001_C_Blinking_4_0}## Write Message: 0001_Cmd_Blinking_4_5 *1*28*{0001_C_Blinking_4_5}## Write Message: 0001_Cmd_Blinking_5_0 *1*28*{0001_C_Blinking_5_0}## Trigger: 0001_Update_Light *#1*0## Write Message: 0001_Cmd_LightOff *1*0*{0001_C_LightOff}## Write Message: 0001_Cmd_Light_Off_Speed_Ext Trigger: 0001_Cmd_Light_Off_Speed_Ext *1*0#{0001_C_LightOff_Sp_{Num}_E_{Ext}}*{Num }#4#{Ext}## Write Message: 0001_Cmd_Light_Off_Speed_Local Trigger: 0001_Cmd_Light_Off_Speed_Local *1*0#{0001_C_LightOff_Sp_{Num}}*{Num }## MyOpen Community Pagina 44 di 58 Specifiche OPC

0001_C_LightOff_SpG{Num} Integer Velocità di accensione 0001_C_LightOff_SpG{Num}_E_{Ext } Integer Velocità di accensione 0001_C_LightOn String Indirizzo della luce o del gruppo di luci 0001_C_LightOn_Sp_{Num}_E_{Ext } Integer Velocità di accensione 0001_C_LightOn_Sp_{Num} Integer Velocità di accensione 0001_C_LightOn_Sp_G{Num} Integer Velocità di accensione 0001_C_LightOn_Sp_G{Num}_E_{E xt} Integer Velocità di accensione 0001_C_State String Indirizzo di una luce o dimmer 0001_C_Dimm100_{Perc}_S_{Speed} String Indirizzo di una luce o dimmer Variabile che attiva la funzione di accensione di una luce o di un gruppo di luci ad una velocità data Variabile che attiva la funzione di accensione di una luce o di un gruppo di luci ad una velocità data Variabile che attiva la funzione di accensione di una luce o di un gruppo di luci Variabile che attiva la funzione di accensione di una luce o di un gruppo di luci ad una velocità data Variabile che attiva la funzione di accensione di una luce o di un gruppo di luci ad una velocità data Variabile che attiva la funzione di accensione di una luce o di un gruppo di luci ad una velocità data Variabile che attiva la funzione di accensione di una luce o di un gruppo di luci ad una velocità data Richiede lo stato di una singola luce o dimmer Setta il livello e la velocità di dimming Write Message: 0001_Cmd_Light_Off_G_Speed_Local Trigger: 0001_Cmd_Light_Off_G_Speed_Local *1*0#{0001_LightOff_SpG{Num}*#{Num}## Write Message: 0001_Cmd_Light_Off_G_Speed_Ext Trigger: 0001_Cmd_Light_Off_G_Speed_Ext *1*0#{0001_LightOff_SpG{Num}_E_{Ext}}*#{Num}#4#{Ext}## Write Message: 0001_Cmd_LightOn *1*1*{0001_C_LightOn}## Write Message: 0001_Cmd_Light_On_Speed_Ext Trigger: 0001_Cmd_Light_On_Speed_Ext *1*1#{0001_LightOn_Sp_{Num}_E_{Ext}}*{Num}#4#{Ext}## Write Message: 0001_Cmd_Light_On_Speed_Local Trigger: 0001_Cmd_Light_On_Speed_Local *1*1#{0001_LightOn_Sp_{Num}}*{Num}## Write Message: 0001_Cmd_Light_On_G_Speed_Local Trigger: 0001_Cmd_Light_On_G_Speed_Local *1*1#{0001_LightOn_Sp_G{Num}*#{Num}## Write Message: 0001_Cmd_Light_On_G_Speed_Ext Trigger: 0001_Cmd_Light_On_G_Speed_Ext *1*1#{0001_LightOn_Sp_G{Num}_E_{Ext}}*#{Num}#4#{Ext}## Write Message: 0001_Update_Single_Light *#1*{Num}## Write Message and Triggers: 0001_Cmd_Dim100_{Perc}_S_{Speed} *#1*0001_C_Dimm100_{Perc}_S_{Speed}*#1*{Perc}*{Speed}## MyOpen Community Pagina 45 di 58 Specifiche OPC

0001_C_Dimm100_Req_Value String Indirizzo di una luce o dimmer 0001_Dimm_100_Perc String Indirizzo di un dimmer o di un gruppo di dimmer 0001_Dimm_20_Perc String Indirizzo di un dimmer o di un gruppo di dimmer 0001_Dimm_30_Perc String Indirizzo di un dimmer o di un gruppo di dimmer 0001_Dimm_40_Perc String Indirizzo di un dimmer o di un gruppo di dimmer 0001_Dimm_50_Perc String Indirizzo di un dimmer o di un gruppo di dimmer 0001_Dimm_60_Perc String Indirizzo di un dimmer o di un gruppo di dimmer 0001_Dimm_70_Perc String Indirizzo di un dimmer o di un gruppo di dimmer Richiede lo stato del dimmer Variabile che attiva la funzione di accensione al 100% di intensità del dimmer (o del gruppo di dimmer) a cui punta Variabile che attiva la funzione di accensione al 20% di intensità del dimmer (o del gruppo di dimmer) a cui punta Variabile che attiva la funzione di accensione al 30% di intensità del dimmer (o del gruppo di dimmer) a cui punta Variabile che attiva la funzione di accensione al 40% di intensità del dimmer (o del gruppo di dimmer) a cui punta Variabile che attiva la funzione di accensione al 50% di intensità del dimmer (o del gruppo di dimmer) a cui punta Variabile che attiva la funzione di accensione al 60% di intensità del dimmer (o del gruppo di dimmer) a cui punta Variabile che attiva la funzione di accensione al 70% di intensità del dimmer (o del gruppo di dimmer) a cui punta Write Message and Triggers: 0001_Cmd_Dimm100_Req_Value *#1*{0001_C_Dimm100_Req_Value}*1## Write Message: 0001_Cmd_Dimmer_100 *1*10*{0001_Dimm_100_Perc}## Write Message: 0001_Cmd_Dimmer_20 *1*2*{0001_Dimm_20_Perc}## Write Message: 0001_Cmd_Dimmer_30 *1*3*{0001_Dimm_30_Perc}## Write Message: 0001_Cmd_Dimmer_40 *1*4*{0001_Dimm_40_Perc}## Write Message: 0001_Cmd_Dimmer_50 *1*5*{0001_Dimm_50_Perc}## Write Message: 0001_Cmd_Dimmer_60 *1*6*{0001_Dimm_60_Perc}## Write Message: 0001_Cmd_Dimmer_70 *1*7*{0001_Dimm_70_Perc}## MyOpen Community Pagina 46 di 58 Specifiche OPC