matteorusich Inserito: 26 febbraio 2007 Segnala Inserito: 26 febbraio 2007 Ciao a tutti!!Qualcuno saprebbe dirmi come posso sapere con libnodave se il PLC è in Start invece che in Stop?...e magari anche qualcos'altro sulla diagnostica in generaleGrazie
Bruno Inserita: 27 febbraio 2007 Segnala Inserita: 27 febbraio 2007 Io non ho mai fatto quel tipo di controlli, ma leggendo della documentazione di libnodave ho visto che è possibile leggere i dati relativi al SZL:quindi sei in grado di conoscere praticamento tutto della diagnostica del PLC.Io ho fatto una prova veloce con:testISO_TCP -z 192.168.100.177 e ho visto che legge tutto il buffer SZL dando un sacco di informazioni (tra cui stato CPU)Se provi con il collegamento seriale è prevista una funzione per leggere anche solo uno specifico SZL_ID (controlla sul manuale siemens per la lista).Negli esempi potresti provare con :testMPI --szlID=0x0111 COM1 per leggere tipo della CPUtestMPI --szlID=0x0174 COM1 per leggere lo stato dei ledCiaoBR1
Bruno Inserita: 27 febbraio 2007 Segnala Inserita: 27 febbraio 2007 Ho appena fatto la prova con: testMPI --szlID=0x19 COM1 per leggere lo stato dei ledBellissimo !Si riesce a capire anche il lampeggio dei LED !BR1
matteorusich Inserita: 27 febbraio 2007 Autore Segnala Inserita: 27 febbraio 2007 Ciao BR1!mi sono dimenticato di aggiungere che stavo utilizzando visual basic...ho fatto alcuni tentativi, ma non riesco a capire come fare ad interrogare 0x19,(o comunque un qualsiasi ...x...)mi chiede ID ed index, ho provato dividendoli,ma studiando i risultati in run ed in stop le cose non cambiano...grazie, matteorusich
Bruno Inserita: 28 febbraio 2007 Segnala Inserita: 28 febbraio 2007 Appena possibile faccio una prova anche con VB6, ma controllando il software io farei così: ID = &H19 res = daveReadSZL(PLC.dConn, ID, 0, buffer(0))in questo modo (provato in C) hai tutti gli indici in una matrice e vedi indici e valori,se vuoi controllare solo il led di RUN dovrebbe essere: ID = &H19 Index = &H04 res = daveReadSZL(PLC.dConn, ID, Index, buffer(0))se vuoi controllare solo il led di STOP dovrebbe essere: ID = &H19 Index = &H05 res = daveReadSZL(PLC.dConn, ID, Index, buffer(0))P.S.Se hai un poco di pazienza cerco di modificare l'esempio nella sezione up_download in modo da testare i led(approffitterò di sabato sera, visto che la mia signora sarà incollata al televisore :brooding: per Sanremo)CiaoBR1
matteorusich Inserita: 1 marzo 2007 Autore Segnala Inserita: 1 marzo 2007 ho visto che mettendo &H19 oppure solamente 19 non cambia niente, quindi credo di aver rifatto nuovamente tutte le prove di ieri con esiti ugualmente negativi;in pratica richiamo la funzione( credo di richiamarla in modo corretto poichè se metto id 19 mi da ok e se per esempio metto id 1 mi da invalid szl), dopodiche visualizzo 500 byte letti dal buffer e 500 letture davegetu8(le 2 liste sono praticamente identiche), ma non ci sono differenze tra la prova con il plc in run e quella con il plc in stopciao
Bruno Inserita: 5 marzo 2007 Segnala Inserita: 5 marzo 2007 CiaoHo aggiornato l'esempio in VB6 con l'utilizzo dell librerie libnodavequi in allegato ti mostro le due videate con la lettura dello stato dei led (SZL_ID = 0x19 = 25)Buon divertimentoBR1
matteorusich Inserita: 6 marzo 2007 Autore Segnala Inserita: 6 marzo 2007 Grazie e mille BR1!!!!Sei stato davvero esauriente!!
Fabio66 Inserita: 8 marzo 2007 Segnala Inserita: 8 marzo 2007 Ciao a tutti.Ho letto la discussione ed anche un pò rapidamente quindi, perdonate se faccio una domanda la cui risposta è gia da qualche parte. Ho intenzione di usare la libreria Libnodave per comunicare via profibus (ovviamente sul pc c'è la 5611 o simile )oppure con la "saponetta" MPI . E' possibile realizzare questa cosa. grazie
Bruno Inserita: 8 marzo 2007 Segnala Inserita: 8 marzo 2007 La risposta è si se comunichi in MPI...ala problematica potrebbe essere a livello di licenze:1) Utilizzando la CP5611 o la "saponetta" USB devi utilizzare la DLL libnodave in modalità S7ONLINE (ID=50) che sfrutta a sua volta le librerie della siemens: per farla corta deve essere installato il software siemens per configurare l'interfaccia PG/PC 2) Se utilizzi la saponetta seriale o il collegamento TCP/IP la libreria libnodave è completamente autonoma e non hai problemi di licenze in quanto distribuita sotto licenza LGPL....vedi tu, io pago persino il canone rai !!!!Ciao BR1Comunque se scariche le librerie libnodave vi sono vari doc che ti spiegano tutto, cercando con parola chiave "libnodave" trovi anche su questo forum vari notizie.
adross Inserita: 8 marzo 2007 Segnala Inserita: 8 marzo 2007 Ho fatto una rapida analisi mentale ma confesso che il termine "saponetta" mi è nuovo.
Fabio66 Inserita: 9 marzo 2007 Segnala Inserita: 9 marzo 2007 Eh eh eh, devo dire che il termine saponetta io l'ho sentito da un amico ed ho inizioato pure io ad usarlo.Poi col tempo ho sentitoin giro che in tanti usano questo termine..Vorrei ringraziare Bruno per il consiglio. Il lavoro di sviluppo con la libreria LIBNODAVE lo farò a "tempo perso"quindi non sò quando inizierò. Il problema licenze mi era sconosciuto, anzi ... l'avrei proprio dimenticato.In effetti se si sviluppa qualcosa che richiede licenza di terzi, questa va ovviamente pagata.Oltre al consiglio che mi hai dato su dove reperire info sulla libreria, mi sai dire se c'è già stata una discussione su questo forum in merito alle licenze oppure dove posso reperire info su questo tema ?GrazieFabio
Bruno Inserita: 9 marzo 2007 Segnala Inserita: 9 marzo 2007 Sempre nei file txt e doc che trovi quando scarichi la libreria...altrimenti prova: https://sourceforge.net/forum/forum.php?thr...forum_id=205657e http://libnodave.sourceforge.net/index.phpciaoBr1
Luca Bab Inserita: 9 marzo 2007 Segnala Inserita: 9 marzo 2007 Scusate se mi intrometto ,per fare certi controlli , io sono molto piu' primitivo ( ma funzia )da PLC faccio il flip flop di un bitdall'altra parte controllo con 2 timer il bitse un timer mi si fa' = CPU in stop , se non mi si attivano i timer = CPU in runsalutiLuca
Bruno Inserita: 9 marzo 2007 Segnala Inserita: 9 marzo 2007 Io spero che questa discussione sia per qualcosa in più di vedere semplicemente se il PLC è in RUN o in STOP,anche perchè il PLC non deve mai essere in STOP.La parte interessante di certe funzioni è l'accesso a tutte le informazioni relative alla diagnostica del PLCed estese alle diverse unità, sottoreti DP, collegamenti Profibus DP, ecc.ecc.Ciao
leonardi.mair Inserita: 10 marzo 2007 Segnala Inserita: 10 marzo 2007 Ciao,io utilizzo Libnodave da VB,ho visto che se spengo il plc la funzione davereadbytes va in errore (vienea mancare il riferimento DC) e crea un errore fatale di windows chiudendomiil programma VB.C'è la possibilità di testare se il plc è acceso ?P.s.: ho provato a ricompilare i sorgenti c della libreria da VC 2005, ma con scarsi risultati... qualcuno ha già ricompilato i sorgenti ?
mirko.boggian Inserita: 7 ottobre 2008 Segnala Inserita: 7 ottobre 2008 Ciao a tutti! inizio cercando di rispondere a leonardi.mairC'è la possibilità di testare se il plc è acceso ?DaveReadBytes da quanto ho capito se tutto è andato a buon fine ritorna 0. Altrimenti altri valori tra cui -1001,-999 ecc.. Tale valore viene anche memorizzato in PLC.retVal per cui basta che nel tuo programma prima di effettuare operazioni con trolli che il PLC_retVal sia = 0! Se è != da 0 allora puoi pensare di disconnettere il PLC.Correggetemi se sbaglio ma a me funziona abbastanza bene... perchè abbastaza? io utilizzo la connessione Ethernet e la DaveReadBytes in caso non riesca a comunicare con il PLC ha un timeout altissimo!!!! Ecco la mia domanda:è possibile accorciare i vari timeout di connessione?Grazie 1000!
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