Restrizioni
CODESYS versione
Il progetto di avvio deve essere caricabile su entrambi i controller. L'aggiornamento continuo del sistema in fase di esecuzione per le diverse versioni di runtime dei controller è reso possibile CODESYS Redundancy funzionalità.
Compito e comunicazione in tempo reale
Consentite solo attività cicliche. Attività di tipo Evento, Stato, o A ruota libera non può essere sincronizzato.
IL CODESYS Redundancy la funzionalità sincronizza esattamente un'attività (Attività di ridondanza). Sono possibili altre attività e applicazioni, ma vengono eseguite in modo non sincronizzato su entrambi i PLC.
Inoltre, il sistema di ridondanza che influisce sull'esecuzione delle attività e sulla comunicazione deve soddisfare determinate esigenze in tempo reale: l'esecuzione dei messaggi (richiesta e risposta) della comunicazione di ridondanza deve avvenire entro un intervallo di tempo definito in precedenza e il jitter dell'attività deve essere considerato. Il collegamento utilizzato a tale scopo deve essere utilizzato esclusivamente per
L'esecuzione di attività in tempo reale significa che l'attività dell'applicazione controllata dalla ridondanza ha un jitter limitato. La comunicazione in tempo reale significa che un messaggio inviato tramite il collegamento di ridondanza deve essere ricevuto dall'altro PLC entro un determinato tempo.
Tempo di esecuzione dell'attività
La durata della messaggistica (tempo di richiesta e risposta) aumenta il tempo di esecuzione dell'attività: il tempo totale di esecuzione dell'attività è maggiore quando viene utilizzata la ridondanza.
Modifica dei nomi dell'applicazione e dell'attività
La modifica dei nomi dell'applicazione ridondante o dell'attività ridondante è una modifica significativa e non è possibile durante il funzionamento ridondante. Questo perché, dopo una modifica, è necessario riconfigurare entrambi i PLC come descritto in "Guida introduttiva" in "Configurazione del sistema di ridondanza".
Valore per il timeout
Il valore specificato per il timeout deve essere maggiore della somma del tempo di jitter dell'attività e del tempo massimo di jitter di comunicazione.
Entrambi i tempi sono specifici del sistema. Entrambe le funzionalità, attività in tempo reale e comunicazione in tempo reale, sono necessarie per specificare un timeout massimo specifico. In fase di esecuzione, quando il jitter dell'attività è elevato e il trasferimento del messaggio è ritardato, si verifica un timeout. In attesa di un messaggio dall'altro PLC, il sistema presume che l'altro PLC non sia più in funzione. Di conseguenza, il PLC in attesa e il PLC di invio passano alla modalità standalone. Ciò comporta perdite di sincronizzazione e problemi di comunicazione sul bus di campo
Suggerimento
Si definisce il timeout quando il PLC attivo passa alla modalità standalone nel Configurazione della ridondanza editor, in Generale scheda del Impostazioni di ridondanza scheda. Inoltre, il valore viene memorizzato nel file di configurazione di runtime (esempio: CODESYSControl.cfg) con la voce StandbyWaitTime.
Importante
In alcuni casi, può succedere che entrambi i controller ridondanti passino inaspettatamente alla modalità di simulazione.
Causa: quando l'esecuzione dell'attività di ridondanza sul controller attivo viene interrotta o ritardata in modo significativo, il messaggio di sincronizzazione potrebbe arrivare sul controller di standby solo dopo la scadenza del timeout.
Il comportamento risultante dipende dal AutoSyncEnable bandiera:
Se
AutoSyncEnable = 0, quindi il secondo controller passa alla modalità standalone.Se
AutoSyncEnabled = 1, quindi il secondo controller entra inizialmente in modalità autonoma. Dopo aver ricevuto il messaggio di ritardo, il controller passa alla modalità di simulazione, seguita da un ulteriore tentativo di connessione
Soluzione:
Per evitare questo problema, è necessario assegnare un'alta priorità all'attività di ridondanza per ridurre al minimo il rischio di interruzioni o ritardi.
Alternativa: abilita l'attività watchdog con un valore di timeout inferiore al timeout di ridondanza.
Alternativa: sincronizza i controller manualmente.
Temporizzatore IEC
Tempi di esecuzione diversi su entrambi i PLC possono causare "bump" (valori di uscita diversi) quando si commutano i PLC. Per evitare ciò, i valori del timer IEC vengono congelati durante l'esecuzione di un task IEC. Chiamate da temporizzatori IEC (esempio: la funzione TON) quando si esegue un task IEC quindi portano sempre agli stessi valori del timer, anche se il tempo fisico continua a scorrere. Pertanto, le implementazioni dovrebbero attendere in modo inattivo (possibilmente in un ciclo). Questo perché i valori del timer IEC non cambiano nella scansione dell'attività corrente.
Puntatori, riferimenti e interfacce
Le POINTER TO, REFERENCE TO, e INTERFACE le istruzioni (e le istanze di interfaccia) per esprimere le relazioni tra le unità applicative non funzionano con le applicazioni ridondanti sincronizzate.
POINTER le variabili non devono essere dichiarate nelle aree dati controllate dalla ridondanza. Questo perché i dati controllati in modo ridondante vengono trasmessi all'altro PLC durante la sincronizzazione. Tuttavia, i puntatori non sono validi sull'altro PLC perché lì potrebbe trovarsi un altro layout di memoria.
Durante la compilazione, la funzione di ridondanza verifica che un puntatore si trovi in un'area controllata in modo ridondante. Viene visualizzato un avviso per ogni puntatore trovato lì. Il controllo può essere disattivato nel file di descrizione del dispositivo con la seguente voce:
<Device>
<Custom>
<Redundancy DisablePointerChecks="true">EtherCAT DC
Questa estensione di ridondanza è destinata più all'industria di processo che all'automazione di fabbrica. Per questo motivo, gli azionamenti EtherCAT con clock distribuiti non sono supportati. Tuttavia, gli I/O EtherCAT sono supportati.
Vedi anche la sezione "Compito e comunicazione in tempo reale" di cui sopra.
"Mappa su esistente": mappatura su variabili esistenti
Il metodo di mappatura I/O "Map on Existing" (mappatura di I/O a variabili esistenti) non è consigliato per l'uso con CODESYS Redundancy. Questi tipi di variabili non sono memorizzati nelle aree dati di input o output, ma dove sono dichiarati. Di conseguenza, non sono sincronizzati durante il funzionamento.
Variabili di rete
Le variabili di rete con accesso in scrittura non devono essere utilizzate perché vengono inviati più telegrammi di scrittura contemporaneamente. Le variabili di rete con accesso in lettura sono consentite
Accesso ai file
L'accesso ai file non deve essere utilizzato perché dati di file diversi possono causare "urti" sui diversi PLC quando vengono scambiati.
Se si utilizzano file, è necessario dichiarare gli handle di file nelle aree dati che non sono soggette a controllo di ridondanza. I file devono essere aperti separatamente su entrambi i PLC. L'handle di file di un altro PLC non deve essere utilizzato per accedere ai file sul PC locale.
Durante la compilazione, CODESYS Redundancy controlli che gestiscono le variabili (RTS_IEC_HANDLE, CAA.HANDLE) si trovano in un'area controllata in modo ridondante. Viene emesso un avviso per ogni variabile handle rilevata in tale area.
Gestione utenti di sicurezza online
Se si utilizza una gestione degli utenti di sicurezza online, è necessario configurare entrambi i PLC con lo stesso nome utente e password. Altrimenti, servizi online come write variable o online change non vengono trasmessi al PLC di standby.
SoftMotion
CODESYS SoftMotion e CODESYS Redundancy non possono essere combinati. I requisiti di tempo di SoftMotion non può essere soddisfatto quando si utilizza la ridondanza.