Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Diagnostica ET200S


Messaggi consigliati

Inserito: (modificato)

Salve a tutti,

ho un impianto con una CPU IM151-8, un paio di IM151-3 e un paio di lettori RFID, tutti collegati in Profinet; ho eseguito un po' di prove con la CPU e non mi richiama l'OB82 in caso di guasto dei moduli, ma l'OB85; fin qui, anche se non me lo aspettavo, ok.

Mi piacerebbe, in caso di guasto, avvisare tramite messaggio OP quale modulo è sconnesso e/o guasto; in Profibus ho sempre utilizzato RDSYSST per sapere chi è connesso o meno (con 0x292 mi sembra), ma in Profinet, anche se lo ho provate un po' tutte, non ci riesco; mi basta sapere il modulo e non il tipo di guasto, anche perchè manca il tempo di fare una diagnostica per bene, anche se, con calma e tempo, mi piacerebbe approfondire.

Qualche anima buona che mi indica la via ...

Dimenticavo: per questioni che non sto qui a spiegare, sto utilizzando TIA Portal V13 SP1.

Modificato: da drugo66

Inserita:

Drugo,

la diagnostica Profinet che io faccio è quella sotto descitta. L'avevo già allegata in una discussione precedente che ora non riesco a trovare.

Io non adoro la gestione degli OB di interrupt quindi ho sempre privilegiato una diagnosica che possa sempre ciclare.

TYPE UDT 996
VERSION : 0.1


  STRUCT 	
   INDEX_struttura : WORD ;	//0 telaio centrale; 1-64 Profibus 100-115 Profinet

   Bitmap_status : ARRAY  [1 .. 2048 ] OF //Stazione difettosa 0-2047
   BOOL ;	
  END_STRUCT ;	
END_TYPE

FUNCTION_BLOCK "Profinet-Dia"
TITLE =DIAGNOSTICA RETI PROFINET
AUTHOR : pigroplc

VERSION : 0.1


VAR
  Profinet_100 : STRUCT 	
   flagREQ : BOOL ;	
   flagBusy : BOOL ;	
   FineAggiornamento : BOOL ;	
   Nodo : UDT 996;	
  END_STRUCT ;	
END_VAR
VAR_TEMP
  ERROR : INT ;	
  header : STRUCT 	
   lunghezza : WORD ;	
   n_dr : WORD ;	
  END_STRUCT ;	
END_VAR
BEGIN
NETWORK
TITLE =Trigger per elaborazione ciclica



      UN    #Profinet_100.flagREQ; 
      UN    #Profinet_100.flagBusy; 
      L     S5T#1S; 
      SE    T     72; 
      U     T     72; 
      S     #Profinet_100.flagREQ; 
NETWORK
TITLE =SCANSIONE RETE PROFIBUS DP 100
// 
// Lettura Stazioni Presenti Profibus DP 100

      CALL "RDSYSST" (
           REQ                      := #Profinet_100.flagREQ,
           SZL_ID                   := W#16#694,
           INDEX                    := W#16#64,// Dorsale Profinet = 100 nella config Hw 

           RET_VAL                  := #ERROR,
           BUSY                     := #Profinet_100.flagBusy,
           SZL_HEADER               := #header,
           DR                       := "DB31".Profinet_100.Nodo);


      U     #Profinet_100.flagREQ; 
      UN    #Profinet_100.flagBusy; 
      R     #Profinet_100.flagREQ; 
END_FUNCTION_BLOCK

 

Inserita:

PigroPlc grazie !!

E' proprio vero che, a volte e soprattutto se sei stanco, basta poco per incasinarti la vita: non va, non funziona, ma l'errore è lì davanti a te e non lo vedi ...

Poi basta poco, una pausa (sono in ritardo come pochi e non se parla) oppure un amico (se così posso permettermi di definirti) che ti da la dritta corretta.

... continuavo a chiamare la funzione con INDEX = W#16#100 invece di W#16#64 e non l'ho "visto" finchè non ho scorso la tua di funzione.

Grazie ancora

Inserita:

Drugo,

vai tranquillo, puoi considerarmi un tuo amico (è reciproco), è stato un piacere esserti stato d'aiuto.

Pensa che se mi sono pure messo a commentarlo ci sarà pure stato un motivo ......:whistling:

Inserita:

Allora spero di ricambiare un giorno (magari quando avrò finito sta' benedetta linea), anche se credo di aver capito che le tue applicazioni sono più sofisticate di quelle che devo scrivere io ...

Ancora grazie

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...