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