Ho visto dal tuo progetto che hai inserito un certo numero di trasferimenti ciclici (Screenshot).
La funzione di trasferimento ciclico và usata con parsimonia, il pannello la esegue con la stessa priorità della grafica, quindi se è molto pesante (O se il dialogo con il PLC è lento) ti porta ad un rallentamento significativo delle prestazioni grafiche.
Il alternativa al data transfer ti consiglio di inserire i trasferimenti in una macro eseguita a tempo, la macro ha una priorità di esecuzione inferiore alla grafica, quindi non avrai rallentamenti sulla gestione grafica. Ecco un esempio di macro:
macro_command main()
short Var //Variabile di appoggio
// Ripetere queste due funzioni per ogni trasferimento.
GetData(Var, "PLC2_Siemens S7-1200", "MArea-AUT_CMD_BR2", 1)
SetData(Var, "PLC3_Siemens S7-1200", "DB14_HMI2(forno2)_to_PLC3[DB14]-Reg_Ciclo_Generale_PLC2", 1)
end macro_command
Come vedi ho eseguito il trasferimento da un PLC all’altro, ma puoi anche trasferire da PLC a HMI e viceversa. Naturalmente devi ripetere la coppia GetData, SetData per ogni variabile. Per diminuire il numero di istruzioni puoi raggruppare le variabili in posizioni consecutive così con un unica coppia di istruzioni puoi trasferire molte variabili.