Ridondanza del client TCP
Per aumentare la disponibilità del sistema, è possibile utilizzare un secondo controller con un client Modbus TCP ridondante combinato con CODESYS Redundancy. IL CODESYS Redundancy Agisce come "backend" per sincronizzare l'applicazione sui due controller. La ridondanza nativa del sistema Modbus (SR) garantisce uno scambio dati fluido con i dispositivi di campo.
Il client Modbus TCP con CODESYS Redundancy viene utilizzato tramite il RedundancyManager blocco funzione dal IoDrvModbusTCP
biblioteca.
Utilizzo
Per ogni client TCP utilizzato, è necessario creare un'istanza di RedundancyManager
blocco funzione in un'area dati non sincronizzata, come un elenco di variabili globali. Inoltre, è necessario aggiungere DataSyncAlways
voce nel file di configurazione del sistema runtime (*.cfg
) per sincronizzare i dati all'inizio di ogni ciclo.
[CmpRedundancy] DataSyncAlways=1
Comportamento
Anche quando il RedundancyManager
viene utilizzato il blocco funzione, non vengono eseguite azioni di commutazione o sincronizzazione da CODESYS Modbus La comunicazione Modbus reagisce solo allo stato di ridondanza del rispettivo controller.
Quando viene attivato un collegamento ridondante esistente tra i due controllori, la comunicazione Modbus avviene solo tramite il controllore attivo. Quando il controllore attivo viene commutato, la comunicazione Modbus del controllore ora passivo viene interrotta e stabilita sul controllore ora attivo.
Quando il sistema viene avviato inizialmente senza un collegamento di ridondanza, la comunicazione Modbus viene stabilita solo tramite il controller con ID 1.
Se il collegamento di ridondanza viene perso in modalità runtime, la comunicazione Modbus diventerà attiva su entrambi i controller. Eventuali problemi causati da ciò, come la comunicazione duplicata, non vengono gestiti da questo blocco funzione.