Configurazione del monitoraggio dello scambio I/O e dello stato del dispositivo
Monitoraggio ModbusTCPClientSideExample progetto
Nel
ModbusTCPClientSideExampleprogetto, aprire ilPLC_PRG.prg.stprogramma.Dichiarare due variabili denominate
readValueEwriteValueDi tipoWORD.Definire una variabile
maxValueDi tipoWORDcon il valore100.Inserisci il seguente codice nella tua implementazione:
IF writeValue > maxValue THEN writeValue := 0; END_IF IF readValue = writeValue THEN writeValue := writeValue + 1; END_IF
Nota
Non appena viene stabilita la comunicazione Modbus, questo codice verrà incrementato continuamente
readValueEwriteValuefino al raggiungimento del limite.Apri l'editor del
Modbus_TCP_Serverdispositivo e passare al Mappatura I/O tab.Espandere le voci per
Channel 1EChannel 2.Mappa
PLC_PRG.readValueper ilChannel 2[0]voce. La variabile riceve il valore letto dalla richiesta in seguito.Mappa
PLC_PRG.writeValueper ilChannel 1[0]voce. La variabile fornisce il valore da scrivere.Il risultato è il seguente:

Torna a
PLC_PRG.prg.stDelModbusTCPClientSideExampleprogetto.Dichiarare una variabile
serverComStateDi tipoIoDrvModbusTCP.ModbusTCPComState.Dichiarare una variabile
serverErrorCodeDi tipoIoDrvModbusTCP.MB_ErrorCodes.Aggiungi il seguente codice alla tua implementazione e regola il nome del server in modo che corrisponda al nome utilizzato sotto Dispositivi. In questo progetto di esempio, il nome è
Modbus_TCP_Server.serverComState := Modbus_TCP_Server.ComState; serverErrorCode := Modbus_TCP_Server.byModbusError;
Ciò consentirà di monitorare lo stato della comunicazione e il codice di errore corrente utilizzando le uscite del blocco funzione del dispositivo.
Monitoraggio ModbusTCPServerSideExample progetto
Nel
ModbusTCPServerSideExampleprogetto, aprire ilPLC_PRG.prg.stprogramma.Dichiarare due variabili denominate
registerValueEtempValueDi tipoWORD.Inserisci il seguente codice nella tua implementazione:
tempValue := registerValue;
Apri l'editor del
ModbusTCP_Server_Devicedispositivo e passare al Mappatura I/O tab.Espandere la voce per Registri di detenzione.
Mappa
PLC_PRG.registerValueper ilHolding Registers[0]voce. La variabile contiene il valore del registro.Il risultato è il seguente:

Torna a
PLC_PRG.prg.stDelModbusTCPServerSideExampleprogetto.Dichiarare una variabile
serverDeviceClientConnectionsDi tipoUINT.Dichiarare una variabile
serverDeviceErrorCodeDi tipoUINT.Inserisci il seguente codice nella tua implementazione:
serverDeviceClientConnections := ModbusTCP_Server_Device.uiClientConnections; serverDeviceErrorCode := ModbusTCP_Server_Device.ErrorCode;
Questo codice ti permetterà di monitorare il numero attuale di client connessi a questo server e il codice di errore corrente del server.
Nota
Ora la configurazione per la comunicazione Modbus e il monitoraggio dei dispositivi sono completi.