suppaman Inserito: 28 aprile 2011 Segnala Share Inserito: 28 aprile 2011 Salve a tutti.Sto cercando di implementare una semplice diagnostica Profinet per capire quali nodi sono online e quali offline.Prendendo spunto da una vecchia discussione, mi sono creato la mia FB di diagnostica, sfruttando l'SFC51. Per il sistema Profibus-DP funziona tutto correttamente.Ora alla mia cpu 317-2DP ho aggiunto una CP343-1 con un paio di dispositivi Profinet IO collegati e configurati correttamente e perfettamente funzionanti.Controllando la guida in linea dell'SFC, nella lista dei vari valori da assegnare al parametro SZL_ID trovo 0094 e 0294 che si riferiscono rispettivamente a "Stato di riferimento dei telai nella struttura centrale/delle stazioni di un sistema IO-Controller" e "Stato attuale dei telai nella struttura centrale/delle stazioni di un sistema IO-Controller" Mentre per quanto riguarda il sistema DP esistono due codici differenti per l'interfaccia integrata e un interfaccia esterna, non vedo una cosa analoga per il Profinet. Infatti dando come ID 0094 o 0294 (ovviamente in esadecimale) la funzione mi ritorna il valore 8082, ovvero "L'ID SZL è sbagliata nella CPU oppure la SFC è sconosciuta."Ho guardato gli altri id szl ma non mi sembra ci sia nient'altro che possa fare al caso mio..A questo punto deduco che non è possibile utilizzare l'sfc come diagnostica pn tramite interfaccia esterna, possibile ?Voi che ne dite? Se così fosse, esistono altre strade per avere una diagnostica rapida dei nodi online/offline ?Grazie a tutti in anticipo. Link al commento Condividi su altri siti More sharing options...
Gianmario Pedrani Inserita: 28 aprile 2011 Segnala Share Inserita: 28 aprile 2011 ciao prova a dare un occhiata qui quando si usa il profinet si deve puntare agli indirizzi di diagnostica, comunque prova a dagli un occhiata alla quida che ti ho postato ciao. Link al commento Condividi su altri siti More sharing options...
suppaman Inserita: 28 aprile 2011 Autore Segnala Share Inserita: 28 aprile 2011 Avevo già letto la FAQ che hai linkato, e ho già provato a richiamare l'sfc con ID 694 hex, e mettendo il giusto numero del sistema master che è 64hex come nell'esempio, ma il ret_val torna sempre 8082. L'esempio infatti fa riferimento all'interfaccia integratalo stato delle stazioni di un sistema master DP opp. sistema PROFINET-IO, che sia collegato all'interfaccia DP opp. interfaccia Industrial Ethernet integrata di una CPU.Grazie comunque per la risposta.Nel frattempo continua a spulciare anche io sul sito siemens.. Link al commento Condividi su altri siti More sharing options...
Gianmario Pedrani Inserita: 28 aprile 2011 Segnala Share Inserita: 28 aprile 2011 La cp 341 che hai aggiunto riesci a mettermi il codice?? Link al commento Condividi su altri siti More sharing options...
Gianmario Pedrani Inserita: 28 aprile 2011 Segnala Share Inserita: 28 aprile 2011 Forse ho capito. Il problma è che la funzione che tu stai usando sfc51 viene utilizzate per fare diagnostica solo su porte intergate alla cpu, quando si utilizzano altre schede come in questo caso la cp341, bisogna utilizzare delle funzioni che trasmettono i dati dalla CPU alla scheda di comunicazione, queste funzioni le trovi nella libreria sotto la voce simatic net cp -> cp300 dentro a questa liberia trovi tutte le funzioni che servono per interagire con la cp di comunicazione, sul sito Siemens ho torvato questo esempio prova a dagli un occhiata, la funzione da utilizzare è la FB54 ti allego il lincktienimi informato ciao Link al commento Condividi su altri siti More sharing options...
suppaman Inserita: 28 aprile 2011 Autore Segnala Share Inserita: 28 aprile 2011 Hai ragione scusa, ho dimenticato il codice. E' una CP343-1 6GK7343-1EX30-0XE0In effetti sembrerebbe proprio come dici tu..Ho dato un occhiata all'esempio, e consultando il pdf di spiegazione e la guida in linea dell FB54 sono riuscito a capire come funziona.Per il momento ho lasciato da parte le FC11 e 12, ho preso in considerazione solo la diagnostica. Ho adattato l'esempio del link alla mia situazione, per fare una cosa veloce e vederla funzionare. Ho provato collegando e scollegando un'antenna RF180C ed effettivamente l'allarme funziona.Tenendo conto della classe di evento, per capire se è entrante o uscente, del numero del dispositivo e del numero del sistema IO riesco a gestire l'allarme di comunicazione dei IO Device.In realtà poi l'FB restituisce ulteriori dati, ma per adesso non li ho presi in considerazione.Appena avrò tutti i componenti e un attimo in più di tempo mettero in piedi tutto il sistema e testerò anche le FC PNIO_SEND / RECV, e magari modificherò anche la funzione di diagnostica per renderla riutilizzabile, insomma da tenere nelle librerie pronta all'uso.Vi terrò aggiornati.Grazie mille intanto per le dritte Link al commento Condividi su altri siti More sharing options...
Gianmario Pedrani Inserita: 28 aprile 2011 Segnala Share Inserita: 28 aprile 2011 Ok ottimo tienimi aggiornato e buon lavoro Ciao Link al commento Condividi su altri siti More sharing options...
suppaman Inserita: 2 maggio 2011 Autore Segnala Share Inserita: 2 maggio 2011 (modificato) Ok eccomi di nuovo.Ho aggiunto un ET200S con due moduli, un input e un output alla rete Profinet.Come mi aspettavo non riesco a leggere gli ingressi e le uscite direttamente dall'immagine di processo, interrogando quindi E 0.0 ad esempio leggo sempre l'ingresso a zero.Inserendo l'FC12 PNIO_RCV, nel puntatore any RECV riesco a vedere i bit di ingresso. Viceversa con l'FC11 comandando i bit del puntatore SEND riesco a comandare le varie uscite digitali. Tutto funziona come nell'esempio linkato nei post precedenti.Ora quello che volevo fare era sfruttare le varie informazioni ricevute dalla diagnostica.In particolare volevo almeno distinguere l'evento di device offline dall'evento di errore interno del device (per esempio nel mio caso, estrazione di un modulo i/o dell'et200s)Al momento l'unica cosa che ho notato che potrei sfruttare è il terzo byte del parametro Task Information TINFO. Ovvero il numero dell'OB nel quale viene richiamata la funzione.C'è una cosa in realtà che non ho capito, perchè è stata creata l'FB54 al posto di una normale FC, visto che aprendo l'istanza non vedo variabili statiche utilizzate..ma immagino che ci sarà un motivo..Un'ultima informazione per quanto riguarda il profinet, qual'è il numero massimo di dispositivi che si possono collegare al Profinet IO? Nella configurazione hw, nelle proprieta del device il numero massimo inseribile è 32, è davvero questo il limite oppure c'è qualche opzione "nascosta" dove è possibile aumentare il numero massimo dei nodi ? (come è possibile fare nella rete MPI e DP) Modificato: 2 maggio 2011 da suppaman Link al commento Condividi su altri siti More sharing options...
Gianmario Pedrani Inserita: 2 maggio 2011 Segnala Share Inserita: 2 maggio 2011 Per leggere le uscite e gli ingressi di una et200 collegata su una cp di rete, non puoi leggere direttamente la pew, in quanto non fa parte dell'immagine di processo della cpu, devi utilizzare le funzioni di send, e receve, la quantita di dati da scambiare deve essere la stessa dell'immagine di processo che ti fa vedere et200 es hai inserito una scheda da 8DI ed una scheda da 8D0.Con la funzione send trasmetti 1 byte e con la funzione recive leggi 1 byte, vedrai che cosi funziona... ciao Link al commento Condividi su altri siti More sharing options...
suppaman Inserita: 2 maggio 2011 Autore Segnala Share Inserita: 2 maggio 2011 Si si, avevo già provato e funziona. Per quanto riguarda invece il numero max di dispositivi sai dirmi qualcosa? Ho provato a guardare vari manuali e faq siemens, ma non sono riuscito a trovare nulla.. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora