Davide
Risposte nei forum create
-
AutorePost
-
Davide
PartecipanteHo contattato il cliente che purtroppo non è riuscito a visualizzare errori che potessero centrare con il software cMT-Viewer. Credo che ci sia un task pianificato su quel PC che probabilmente coinvolge la scheda di rete, forse legato al loro server DHCP interno.
Al momento il cMT-SVR è impostato con un indirizzo sulla LAN1 in DHCP e non statico, penso sia in DHCP anche il computer. Potrebbe centrare secondo te?
Provare a mettere gli indirizzi statici potrebbe essere un tentativo sensato?
Al momento il cliente vede l’errore di accesso negato quando prova a cliccare su una sezione dell’interfaccia con il blocco utente.
Non esiste la possibilità di capire se un utente sia stato disconnesso senza aver premuto il tasto di logout ed eventualmente riconnetterlo? (magari usando una macro).
Marzo 14, 2019 alle 3:07 pm in risposta a: Utilizzare ATC1000 per aggiungere porte seriali a SlimLine #46890Davide
PartecipanteHo acquistato 15 convertitori di questo tipo che sono stati installati in un quadro elettrico, testati e funzionanti. Solo che ho notato che durante il loro funzionamento se ricarico il programma sullo SlimLine (nel mio caso è una CPU MPS054), al termine del caricamento dello stesso sembra che tutti i canali vadano nello stato di FAULT.
Per ripristinare il loro funzionamento normale devo necessariamente togliere e rimettere l’alimentazione. A cosa potrebbe essere dovuto questo comportamento ?
Davide
PartecipanteGrazie per la risposta, ma quando intendi “Il programma è eseguito ciclicamente dall’alto verso il basso” significa che l’assegnamento di variabili viene valutato sempre alla fine del programma come avviene con le uscite fisiche? Se ciò fosse vero, significa che ad esempio nella seguente istruzione:
MIDx:=MIDx+1; (* Modbus index *)
IF (MIDx >= (SIZEOF(MdbCfg)/SIZEOF(MdbCfg[0]))) THEN ….Il valore MIDx valutato dall’istruzione IF non è quello incrementato di 1, ma quello attuale letto all’inizio del programma…
Inoltre se non ho interpretato male il programma, il primo comando di scrittura che il programma esegue lo lancia scrivendo un valore di MdbValue non ancora inizializzato perché all’avvio il segnale Done è ancora FALSE quindi non riesco ad assegnare il valore corretto contenuto nel buffer… o sbaglio?
Perdona la banalità delle mie domande 🙁
Davide
PartecipanteIn riferimento al programma esempio non riesco a capire due cose:
1- A cosa serve l’indice FMIDx?
2- Per quale motivo l’assegnamento della variabile MdbValue in caso di scrittura (FCode=16#10) viene effettuato solo dopo aver lanciato il comando Modbus (Done=true) e non prima?
Davide
PartecipanteMa se dovessi fare il contrario? Ovvero convertire da stringa a real con la funzione SysVarsscanf come mai il risultato è un numero del tipo 3.6721e-44 ?
-
AutorePost