Download ManualeCodesys

Transcript
istanza, chiamiamola ad esempio TankLevel, una volta finita di scrivere apparirà la finestra per
l’assegnamento delle variabili come in figura 52, si vede che LevelFB è un tipo di variabile, mentre
TankLevel è un dato di quel tipo di variabile. Per definire un altro GA, bisogna inserire una riga
nella finestra, per fare questo bisogna cliccare con il tasto destro e cliccare su network(before)
oppure network(after), in questo modo si inserisce una riga prima o dopo della riga selezionata.
Inserendo più righe è possibile inserire tutti i GA che servono per il nostro controllo logico, come
in figura 53.
Una volta definiti tutti i GA bisogna inserire nel task configuration il programma FBD dove sono
presenti le definizioni dei vari GA. I GA definiti in questo modo diventano delle entità sempre
vive, in questo modo ogni singolo GA può incapsulare la diagnostica locale e lasciare alla politica
solo la diagnostica riguardante guasti ad alto livello (come possono essere una errata sequenza di
operazioni). La politica dovrà soltanto azionare il GA ed aspettare che il GA finisca la proprio
operazione, in questo modo c’è una completa divisione tra politica ed implementazione del meccanismo. Naturalmente ci dovrà essere una gestione di sincronizzazione, per i GA, ad esempio
per un GA di tipo Do-Done la politica dovrà dare il segnale Do controllando che il GA sia libero
(in stato di Ready) e una volta che ha ricevuto il segnale di Done, dovrà resettare il segnale di
Do (in maniera analoga il GA dovrà agire sul segnale di Done). Per la definizione dei singoli GA
per l’esempio dell’imbottigliatore si veda l’esempio ImbottigliatoreGA.pro
62