Il task IEC 61850 generato automaticamente è ottimizzato in modo tale che GOOSE Publisher e GOOSE Subscriber vengano eseguiti nello stesso task. In ogni caso, l'esempio B richiede 60 ms per una procedura di ping-pong completa. Questo è plausibile e può essere spiegato con la figura seguente.
Sebbene il task applicativo («PLC_PRG») possa aumentare il ping o il pong ogni 10 ms, deve attendere che il task IEC 61850 (tempo di ciclo 20 ms) sottoscriva o pubblichi i nuovi dati da o verso l'altro PLC. Di conseguenza, occorrono 70-10 = 60 ms per un ping-pong completo.
Fasi di ottimizzazione
-
Ridurre anche il tempo di ciclo del task IEC 61850 a 10 ms. Questo aumenterebbe le prestazioni, ma entrambi i task sono ancora asincroni e devono aspettarsi a vicenda.
-
Unire entrambi i compiti e ottimizzare l'ordine di esecuzione secondo il principio dell'IPO.
-
Input_ GOOSE Sottoscrittore
-
Processo: In questo esempio, aumentare il ping o il pong.
-
Output: Editore GOOSE
-
Questo comportamento può essere ottenuto con la seguente configurazione nell'editor IEC 61850.
-
Impostare «Task Prio I Interval» del task IEC 61850 su 10 ms.
-
Inserire qui il nome dell'applicazione utente (prima era vuoto): «PLC_PRG».
-
Poiché ora il task «PLC_PRG» è chiamato dal task IEC 61850, il task "normale" che chiama il PLC_PRG deve essere cancellato (croce rossa nella figura precedente).
-
Eseguire la stessa procedura per l'esempio B1.
Con queste impostazioni il tempo totale di andata e ritorno del ping-pong si riduce a 10 ms, come si può osservare in Wireshark.
Il formato del tempo in Wireshark è stato impostato su «Secondi dal precedente pacchetto visualizzato». In questo log il ping impiega ~ 4,5 ms, il pong ~ 5,5 ms ➔ ping-pong = 10 ms.
A seconda del tipo di CPU e delle dimensioni dell'applicazione, le prestazioni possono essere ulteriormente migliorate riducendo l'intervallo del task IEC 61850 a meno di 10 ms.



