Cambio indirizzo IP da software

Attenzione !I messaggi sul forum potrebbero essere modificati dal nostro staff. La data e l'ora dei messaggi potrebbe non essere quella di invio ma quella di moderazione da parte dello staff. Grazie per l'attenzione.

Home Forum Controllori SlimLine e Netsyst (LogicLab) Cambio indirizzo IP da software

Questo argomento contiene 1 risposta, ha 2 partecipanti, ed è stato aggiornato da  Sergio Bertana 3 mesi fa.

Stai vedendo 2 articoli - dal 1 a 2 (di 2 totali)
  • Autore
    Articoli
  • #48228

    Marcello
    Partecipante

    In un sistema domotico costituito da uno slimline e da un HMI MT8070IER avrei la necessità di poter cambiare da HMI l’IP dello SlimLine (cortex7). Per quanto riguarda la configurazione su HMI non ci sono problemi perchè esiste una LB da mettere a TRUE quando si modifica l’IP di un dispositivo. Lo SlimLine necessita la scrittura (che non mi riesce) e il riavvio (che non mi riesce nemmeno quello). Per la scrittura ho letto che bisogna utilizzate un codice tipo questo:

    ok:=SysOSIDValue(TRUE, OSID_ETH0_IP, ADR(newIP));
    dove newIP è un Array USINT contenete i 4 valori dell’indirizzo

    Per riavviare ho provato un loop bloccante tipo questo WHILE (TRUE) DO END_WHILE; che entra in funzione solo se la variabile ok di cui sopra è a TRUE. Il risultato è che il PLC non si riavvia ma si mette in STOP e devo riavviarlo o attraverso LogicLab o spegnendo e riaccendendo il PLC. Inoltre l’indirizzo IP non cambia. Cosa posso fare?

    Aggiungo un’altra domanda: è possibile inviare allo SlimLine tramite l’FB HTTPClient dei comandi telnet? (quindi auto-inviarsi dei comandi) oppure è possibile dall’HMI? Chiedo questo perchè tramite toolly l’operazione di cambio IP è molto semplice ma complicata da spiegare ad un installatore, stessa cosa  vale per lo spiegargli di accedere alla webPage dello SlimLine…

    #48251

    Sergio Bertana
    Amministratore del forum

    Per cambiare l’indirizzo IP la funzione è corretta, ma dopo averlo impostato con:

    ok:=SysOSIDValue(TRUE, OSID_ETH0_IP, ADR(newIP));

    Occorre scrivere la configurazione in memoria FLASH, in modo che al riavvio venga accettato il nuovo valore, usa:

    ok:=SysOSIDValue(TRUE, OSID_CFG_WRITE, NULL);

    Per riaviare il sistema da programma è corretto quello che hai fatto (Vedi forum) ma non devi avere LogicLab connesso, perchè altrimenti il sistema si accorge di essere in debug e si ferma in stop.

    Per connetterti in Telnet puoi utilizzare il FB CLIManager, c’è un esempio nel manuale, se ti connetti a localhost sulla porta 23 puoi fare il login e gestire i comandi per impostare l’indirizzo IP e fare il reboot.

Stai vedendo 2 articoli - dal 1 a 2 (di 2 totali)

Devi essere loggato per rispondere a questa discussione.