Skip to main content

Modelli di primo livello

Un modello di primo livello è un modello per la pagina iniziale della visualizzazione generata. Contiene una cornice come segnaposto per le pagine e le schede specifiche dell'utente per passare alle diverse pagine. Facoltativamente sono presenti pulsanti per navigare tra le pagine e una riga di stato e indirizzo. Il modello di primo livello può essere selezionato nelle impostazioni del Generatore di visualizzazioni.

IL AC_ModuleBase libreria che fa parte dell'installazione standard di CODESYS Application Composer contiene tre modelli di primo livello: AC.GenVisu_Toplevel_Template, AC.Toplevel_Vertical_Template e AC.Toplevel_3S_Vertical_Template.

Figura 20. Modelli standard di primo livello
Modelli standard di primo livello


Figura 21. Modello di primo livello: AC_Toplevel_3S_Vertical_Template
Modello di primo livello: AC_Toplevel_3S_Vertical_Template


Oltre ai modelli preparati è anche possibile creare modelli di primo livello definiti dall'utente.

Figura 22. Elementi dei template di primo livello
Elementi dei template di primo livello


  • (1): Navigazione: Su / Indietro / Avanti

  • (2): cornice per visualizzare le pagine

  • (3): Scheda per la navigazione diretta alle pagine di primo livello

  • (4): riga di stato

  • (5): Riga dell'indirizzo: percorso dell'istanza del modulo visualizzato

Gli elementi del modello di visualizzazione sono identificati dai relativi nomi di elemento. Nell'elenco sottostante il nome degli elementi è scritto tra parentesi.

. Elementi obbligatori del modello
  • [Frame]: Frame principale in cui sono visualizzate le pagine di visualizzazione. Per ottenere i migliori risultati, il tipo di scala del fotogramma dovrebbe essere impostato su "isotropico".

  • [Tab_Template_1],[Tab_Template_2]: due elementi utilizzati per l'aspetto e la disposizione di tutte le schede. Tab_Template_1 definisce la posizione della prima scheda e l'aspetto di tutte le schede. Dalla posizione di Tab_Template_2 verrà calcolata la disposizione delle schede (orizzontale o verticale) e lo spazio tra le schede. Il colore dell'allarme verrà impostato se la gerarchia della pagina visualizzata è al di sotto dell'istanza rappresentata dalla scheda. Se l'elemento è un pulsante, verrà impostata anche la variabile di stato del pulsante. Se l'elemento è una cornice il colore dell'allarme non verrà utilizzato. Invece di ciò, la variabile switch frame sarà impostata su "1", se la scheda è selezionata (default 0).

. Elementi facoltativi del modello
  • [Up], [Back], [Forward]: Elementi per la navigazione che possono essere un pulsante o una cornice. Il tipo di elemento può essere un pulsante o una cornice. Nel caso di un frame, il frame deve contenere tre visualizzazioni che devono essere nel seguente ordine: Neutro, Premuto, Disattivato.

  • [Address]: Campo di testo che restituisce il percorso dell'istanza del modulo visualizzato.

  • [Status]: Campo di testo che visualizza il contenuto della variabile stringa globale ac.g_stVisuStatusBar dalla libreria AC_ModuleBase. Questa variabile può essere utilizzata nelle implementazioni del proprio modulo per visualizzare lo stato di una variabile.

Tutti gli altri elementi non vengono gestiti in modo specifico dal generatore di visualizzazione. Per la generazione, la visualizzazione del modello copia e modifica la copia. L'originale non è cambiato.

Ad eccezione degli elementi di visualizzazione sopra menzionati, il generatore di visualizzazione cerca di non modificare nessun elemento che è stato modificato manualmente. Alla prima generazione della visualizzazione, viene copiato il modello di visualizzazione descritto. Questa copia, finché non viene eliminata dall'utente, verrà modificata solo nelle generazioni successive e non ricopiata. Ciò avviene trattando una visualizzazione di primo livello di un'esecuzione precedente del generatore come se fosse un nuovo modello di visualizzazione (il modello originale non verrà mai modificato), sebbene non venga copiato. Pertanto, se sono presenti schede aggiuntive, queste verranno aggiunte a quelle già esistenti. Tutte le altre proprietà ed elementi non verranno toccati, se possibile, in modo che i pulsanti, le schede, ecc. aggiunti manualmente dall'utente mantengano la loro posizione.

Suggerimento

L'eliminazione, ad esempio, dei pulsanti di navigazione ne comporta la perdita. Per generarli, la visu di livello superiore deve essere eliminata e rigenerata

Allineamento delle linguette

Le schede verranno allineate orizzontalmente da sinistra a destra o verticalmente dall'alto verso il basso. La posizione relativa dell'elemento del modello Tab_Template_1 E Tab_Template_2 definisce l'allineamento: Se la distanza verticale degli elementi è maggiore della distanza orizzontale, gli elementi verranno allineati orizzontalmente, altrimenti verticalmente.

In caso di allineamento verticale, tutte le schede ottengono la stessa larghezza, che è la larghezza minima alla quale possono essere visualizzati tutti i nomi delle schede. Nel caso di un allineamento orizzontale, ogni scheda ottiene la larghezza minima che può visualizzare il suo nome. In entrambi i casi l'altezza delle linguette sarà impostata all'altezza del primo modello (Tab_Template_1).

Per il posizionamento viene copiato il primo modello e adattato per ogni scheda.

Il posizionamento inizia dalla posizione del primo modello: la distanza tra due schede risulta dalla distanza orizzontale o verticale tra i due modelli. Questa distanza può essere anche negativa, in tal caso la scheda successiva si sovrappone alla precedente e la dipinge sopra perché è più avanti. Nel caso dell'allineamento verticale, la generazione viene interrotta con un errore se verso il basso non c'è abbastanza spazio per accogliere tutte le schede. Non viene creata alcuna seconda colonna di schede. In caso di allineamento orizzontale, verrà creata una nuova riga se la scheda successiva non si adatta più orizzontalmente alla visualizzazione. Se ciò accade per la prima tabulazione di una riga, la generazione viene interrotta con un errore.

Può succedere che non ci sia abbastanza spazio per la scheda. Nel caso dell'allineamento orizzontale, ciò avviene quando si passa a una nuova riga. Quando sono allineate verticalmente, ciò accade quando la larghezza delle schede è maggiore dello spazio previsto nel modello. In questi casi si cerca di creare più spazio. A causa di questo allineamento automatico degli elementi ci sono quattro casi possibili per disporre le schede:

  • Allineamento orizzontale delle schede: tutte le schede devono essere completamente sopra la cornice

  • Allineamento orizzontale delle schede: tutte le schede devono essere completamente sotto la cornice

  • Allineamento verticale delle linguette: tutte le linguette devono trovarsi completamente sul lato sinistro del telaio

  • Allineamento verticale delle schede: tutte le schede devono trovarsi completamente sul lato destro del telaio

Se l'allineamento delle schede non corrisponde alla restrizione di cui sopra verrà creato un messaggio di errore.

Se non c'è abbastanza spazio per le schede, la cornice viene ridotta di conseguenza. Tutti gli elementi tra le schede e la cornice vengono spostati. La posizione di un elemento viene interpretata come "tra schede e cornice" se non è completamente al di fuori del limite esterno del primo modello di scheda (vedi esempi di disposizione orizzontale di seguito).

La creazione della visualizzazione verrà interrotta se la modifica della dimensione del frame portasse a valori negativi.

Figura 23. Esempio di elementi tra tabulazioni e frame
Esempio di elementi tra tabulazioni e frame


Figura 24. Esempio per elementi "esterni" di schede e frame
Esempio per elementi "esterni" di schede e frame