Skip to main content

Restrizioni

Versioni dei sistemi runtime

Il progetto di avvio deve essere caricabile ed eseguibile su entrambi i controller. Un aggiornamento senza interruzioni del sistema runtime con diverse versioni di questi sistemi di runtime è reso possibile da una funzionalità CODESYS Redundancy Configuration componente aggiuntivo.

Attività e comunicazione in tempo reale

Consentite solo attività cicliche. Attività di tipo Evento, Stato, o A ruota libera non può essere sincronizzato.

Esattamente un'attività (l'attività di ridondanza) è sincronizzata con la funzionalità di CODESYS Redundancy Configuration. Sono possibili altre attività e applicazioni, ma queste vengono eseguite in modo non sincronizzato sui PLC.

Inoltre, il sistema di ridondanza che influisce sull'esecuzione dei compiti e sulla comunicazione deve soddisfare determinati requisiti in tempo reale: il tempo di trasmissione dei messaggi (richiesta e risposta) della comunicazione ridondante deve rientrare in un intervallo di tempo prestabilito e occorre tenere conto della variazione di temporizzazione dei compiti. Il collegamento di comunicazione utilizzato a tale scopo dovrebbe essere impiegato esclusivamente per la comunicazione ridondante.

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 delle applicazioni e dei nomi delle attività

La modifica del nome dell'applicazione ridondante o dell'attività ridondante costituisce una modifica significativa e non è possibile effettuarla mentre il sistema è in modalità ridondante. A seguito di tale modifica, è necessario riconfigurare entrambi i PLC. Come descritto nella sezione “Introduzione” (al punto “Configurazione del sistema di ridondanza”).

Valore per il timeout

Il valore di timeout specificato deve essere maggiore della somma del tempo di jitter dell'attività e del tempo massimo di jitter di comunicazione.

Entrambi i tempi dipendono dal sistema. Entrambe le funzionalità – attività in tempo reale e comunicazione in tempo reale – richiedono la definizione di un timeout massimo specifico. Durante l'esecuzione, quando il jitter dell'attività è elevato e il trasferimento dei messaggi subisce ritardi, si verifica un timeout. Durante l'attesa di un messaggio dall'altro PLC, il sistema presume che l'altro PLC non sia più in esecuzione. Di conseguenza, il PLC in attesa e il PLC mittente passano alla modalità autonoma. Ciò comporta perdite di sincronizzazione e problemi di comunicazione sul bus di campo.

Importante

In situazioni particolari, può succedere che entrambi i controller del sistema di controllo ridondante 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 si applica, quindi il secondo controller passa alla modalità standalone.

  • Se AutoSyncEnabled = 1 si applica, quindi il secondo controller entra inizialmente in modalità autonoma. Dopo aver ricevuto il messaggio ritardato, questo 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.

Nel Configurazione di ridondanza editor, in Impostazioni di ridondanza scheda, nella Generale scheda, si definisce il timeout che porta il PLC attivo alla modalità standalone.

Inoltre, il valore viene memorizzato nel file di configurazione del runtime (esempio: CODESYSControl.cfg) con la voce StandbyWaitTime.

Temporizzatore IEC

Tempi di esecuzione diversi su entrambi i PLC possono causare «urti» (valori di uscita diversi) quando si cambia PLC. Per evitare ciò, i valori del timer IEC vengono bloccati durante l'esecuzione di un'attività IEC. Chiamate dai timer IEC ( TON) quando si esegue un'attività IEC portano quindi 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 delle 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.

Per ulteriori informazioni, vedere quanto segue: Attività e comunicazione in tempo reale

Map on Existing

Mappatura su variabili esistenti

Il metodo di mappatura I/O “Map on Existing” (mappatura degli I/O su variabili esistenti) non è consigliato quando si utilizza il componente aggiuntivo CODESYS Redundancy Configuration . Questo tipo di variabili non viene memorizzato nelle aree dati di ingresso o di uscita, ma nel punto in cui sono state dichiarate. Di conseguenza, non vengono sincronizzate 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 i rispettivi handle di file nelle aree dati che non sono soggette al controllo della ridondanza. Ogni PLC apre i propri file indipendentemente l'uno dall'altro. Un handle condiviso non è supportato. Un handle di file creato su un PLC deve non essere utilizzato per accedere ai file sull'altro PLC o sui file sul PC locale.

Durante la compilazione, il sistema verifica che gestiscano le variabili (RTS_IEC_HANDLE, CAA.HANDLE) si trovino in un'area sottoposta a controllo ridondante. Viene emesso un avviso per ogni variabile di handle rilevata in tale area.

Gestione degli 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 Configuration non possono essere combinati. I requisiti di tempo di SoftMotion non può essere soddisfatto quando si utilizza la ridondanza.