Guida ricerche
|
 | Suddivisione in dominio Shared e User in JSup (Bozza) |
|
        
|
Un'applicazione JSup viene suddivisa, per supportare la multi-utenza, in due diversi domini:
- Shared: la parte comune, di sistema dell'applicazione; in altre parole è la parte che non dipende dall'utente e che deve funzionare anche in assenza dell'utente (si veda modalità di esecuzione). Per un'applicazione JSup in esecuzione viene creata un'unica istanza del dominio shared.
- User: la parte specifica del singolo utente. Per ogni utente che si collega all'applicazione JSup viene creata una sua propria istanza del dominio User, con logica e valori dei tag indipendenti dagli altri utenti.
Per ciascun dominio si può definire del codice valido per l'intero dominio:
- On startup: un JavaCode che viene eseguito all'avvio del dominio (dell'applicazione nel caso del dominio shared, alla connessione utente nel caso del dominio user).
- While active: un JavaCode che viene eseguito periodicamente mentre il dominio è attivo (deprecato, meglio usare codice Triggered/timed).
- On shutdown: un JavaCode che viene eseguito all'arresto del dominio (dell'applicazione nel caso del dominio shared, alla disconnessione utente nel caso del dominio user).
- Condition: codice associato ad una condizione (a sua volta un codice che ritorna vero/falso), alla condizione si può specificare cosa fare quando diventa vera la condizione, mentre la condizione è vera (con periodo di esecuzione indicato), quando la condizione diventa false e mentre la condizione è false (con periodo di esecuzione indicato).
- Triggered / Timed: codice che può essere eseguito sia quando cambia il valore (o viene forzato) di uno o più tag, oppure periodicamente ogni tot millisecondi, oppure può essere schedulato a livello di applicazione (in modalità edit) oppure può essere reso disponibile per la schedulazione da parte dell'utente (a runtime). Queste varie modalità di esecuzione non sono mutualmente esclusive.
- JavaCode function: funzioni scritte in JavaCode che possono accettare dei parametri, possono ritornare un valore (e anche lanciare eccezioni) e possono essere richiamate da codice JavaCode del medesimo dominio (ma le JavaCode function del dominio Shared possono essere rese disponibili anche per il dominio User) o anche da Math code. Possono essere richiamate anche da parte di Math code embedded in stringhe, per esempio descrizioni di allarmi o Tag I/O item calcolati.
- Key code: disponibile solo per dominio User, permette di associare (globalmente in tutta l'applicazione e non per una singola finestra) la pressione di un tasto (o una combinazione di tasti) all'esecuzione di un codice (JavaCode tipicamente.
- JavaCode common: Codice Java che permette di definire campi statici globali o anche metodi statici, anche se è meglio, quando è possibile, utilizzare delle JavaCode function a questo scopo.
Dominio Shared
Il dominio condiviso (di sistema) comprende:
- i tag shared del database delle variabili: Tools / Tag database;
- la comunicazione con i dispositivi esterni (per i tag shared per i quali vengono definiti degli I/O hook);
- la logica shared: File / Application properties / Edit SHARED code;
- la gestione degli allarmi;
- la gestione della storicizzazione delle variabili, degli allarmi e degli eventi: si veda JSup historian;
- l'istanza shared dello schedulatore di JSup;
- la gestione delle sezioni critiche di JSup (utilizzabili da JavaCode per sincronizzare l'accesso ad alcune risorse o operazioni da parte dei vari utenti connessi e/o della logica shared).
Dominio User
Il dominio user è specifico di ogni utente connesso all'applicazione JSup, nel senso che, se ci sono più utenti connessi, ogni utente dispone di un'istanza privata del dominio user indipendente da quella degli altri utenti. Quindi la scrittura di un tag user da parte di un utente non ha alcun effetto sul valore del medesimo tag per gli altri utenti.
Il dominio user comprende:
- i tag user del database delle variabili: Tools / Tag database;
- la logica user: File / Application properties / Edit USER code;
- le finestre grafiche con la relativa logica: Window / Window properties;
- l'istanza user dello schedulatore di JSup (il cui utilizzo è possibile, ma non comune).
L'utilizzo del dominio user è utile per implementare l'interfaccia utente.
Si veda, ad esempio: Programmazione settimanale utenze con JSup e PLC.
|
|
|
Ultimi documenti modificati |
|
|
|
Nessuna corrispondenza trovata
|
|
|