Adolfo62 Inserito: 4 marzo 2006 Segnala Inserito: 4 marzo 2006 Scusatemi se ho aperto una ulteriore discussione riguardo al Libnodave, ma sto' provando ad eseguire una connessione con un S7216 in vano da un paio di ore seguendo le istruzioni allegate, c'è mica qualche anima buona che mi passerebbe qualche esempio semplice semplice del codice per eseguire questa benedetta connessione al PLC.Grazie mille per la disponibilitàAdolfo
Gabriele Corrieri Inserita: 4 marzo 2006 Segnala Inserita: 4 marzo 2006 Ciaofornisci qualche altro dato, il codice che hai scritto, ad esempio, eventualmente se vuoi pubblicare l'intero progetto VB6 e non hai spazio web contattami in privato.Ciao
Adolfo62 Inserita: 5 marzo 2006 Autore Segnala Inserita: 5 marzo 2006 Intanto grazie per l'attenzione e la tempestività, praticamente io ho preso il file (modulo .BAS) del programma di esempio allegato alla DLL ho cambiato le dichiarazioni da PRIVATE a PUBLIC e ho provato scrivendo il codice che dovrebbe connetermi al PLC, l'ultima prova l'ho fatta con le seguenti istruzioni:ph = setPort(com1, 9600, 0)Text1 = phdi = daveNewInterface(ph, ph, "IF1", 0, daveProtoPPI, daveSpeed187k)Call daveSetTimeout(di, 500000)res = daveInitAdapter(di)Text2 = resdc = daveNewConnection(di, 2, 0, 2)res = daveConnectPLC(dc)quello che non mi torna è che praticamente che io abbia il PLC collegato oppure no non ottengo nessuna variazione.Dove sto' sbagliando? Adolfo
Bruno Inserita: 5 marzo 2006 Segnala Inserita: 5 marzo 2006 C'è qualcosa che non va:1) Con che tipo di interfaccia ti vuoi connettere ?2) Nel caso tu stia utilizzando un PC Adapter collegato sulla COM1 devi sistemare il baud rate in modo opportuno (19200 o 38400).Riesci a fornire qualche informazione in più ? (scrivi pure)Io utilizzo le librerie di LibNoDave sia in VB6 che in C#, se posso ti aiuto volentieri.CiaoBR1
Gabriele Corrieri Inserita: 5 marzo 2006 Segnala Inserita: 5 marzo 2006 Ciaosecondo me l'errore sta quidi = daveNewInterface(ph, ph, "IF1", 0, daveProtoPPI, daveSpeed187k)dove c'è davespeed187k, devi riportare 9,6Kbps, guarda cosa dice l'. a riguardo.Ciao
Adolfo62 Inserita: 5 marzo 2006 Autore Segnala Inserita: 5 marzo 2006 Il tipo di interfaccia che sto usando per questo "Esperimento" è la classica PPI per S7 200 tramite seriale, francamente ho iniziato le prove con il Baudrate a 9,6K e da li non mi sono mosso, effettivamente come mi avete fatto notare c'è un errore tra il baudrate con cui ho aperto la com ed il valore invocato nella funzione DveNewInterface, comunque anche correggendo tale valore a 9K come indicato da manuale non cambia nulla. comunque se puo' essere utile vi indico i valori che ottengo dalle variabili del codice scritto, che come ho gia detto non cambiano sia che il PLC sia collegato oppure no.ph = -1di = 33425112res = 0dc = 33431480res1 = daveConnectPLC(dc) valore = -1025Adolfo
Bruno Inserita: 6 marzo 2006 Segnala Inserita: 6 marzo 2006 Ciao da codici errori sembra che:ph = -1Non ha funzionato la setport: la tua variabile com1 come è dichiarata e cosa contiene ?deve essere STRING e deve contenere la stringa "COM1" se collegata alla porta seriale COM1:daveConnectPLC(dc) valore = -1025 significaTimeout when waiting for PLC responsepotrebbe essere una conseguenza della setport.CiaoBR1
Bruno Inserita: 6 marzo 2006 Segnala Inserita: 6 marzo 2006 Scusate, mi ero dimenticato:l'interfaccia seriale PPI funziona diversamente dalla MPI, la parità deve essere settata a "E" Evennon a "O" Odd.Altra domanda sei collegato con una seriale convenzionale o stai usando un convertitore USB ?Riprova e facci sapere.CiaoBR1
Adolfo62 Inserita: 6 marzo 2006 Autore Segnala Inserita: 6 marzo 2006 Invio l'ultima versione del codice che ho usato con allegato i valori di risposta ottenuti ph = 0di = 0dc = 0res = -1BAUD$ = "19600"port = "COM1"parity$ = "E" come indicato da BRUNOph = setPort(port, BAUD$, Asc(Left$(parity$, 1))) ph = 720Text1 = phdi = daveNewInterface(ph, ph, "IF1", 0, daveProtoPPI, daveSpeed19k) di = 33556184res = daveInitAdapter(di) res = 0 (zero) MpiPpi = 2 dc = daveNewConnection(di, MpiPpi, 0, 0) dc = 33562552res1 = daveConnectPLC(dc) res1 = -1025Text2 = res1grazie a tutti per l'interessamentociao Adolfo
Bruno Inserita: 6 marzo 2006 Segnala Inserita: 6 marzo 2006 Sembra che siamo sulla strada giusta, spero solamente che il baud rate sia a 9600 e non 19600 (spero in un errore di battitura), quindi:BAUD$ = "19600"Tutti i passaggi sembrano andati bene tranne l'ultimo, ma ho notate che nell'esempio fornito da Thomas (autore della libreria) non viene testato...hai provato ad eseguire una lettura dopo la daveConnectPLC(dc) (che è quella che ti va in errore) ?Hai provato a testare l'hardware con l'eseguibile fornito con le DLL (testPPI.exe) ?Sempre verificando gli esempi di Thomas prova a scriveredi = daveNewInterface(ph, ph, "IF1", 0, daveProtoPPI, daveSpeed187k) DAIII Sei vicino alla luce....BR1
Adolfo62 Inserita: 6 marzo 2006 Autore Segnala Inserita: 6 marzo 2006 Grazie mille Bruno per il tuo aiuto e grazie anche a tutti gli altri, comunque venendo al problema ho provato a modificare il codice in varie maniere ottenendo i soliti risultati, ho allora come da te consigliato eseguito il testPPI sotto ti espongo i risultati:C:\win1>testppi -s COM1timeout in _daveExchangePPI!Trying to read 64 bytes (32 words) from data block 1. This is V memory of the 200.Press return to continue.timeout in _daveExchangePPI!Trying to read 16 bytes from FW0.Press return to continue.timeout in _daveExchangePPI!timeout in _daveExchangePPI!Mi viene il dubbio .... non sarà mica colpa del WIN XP PROF SP2 ? oppure del cavo PPI datato?Ormai è diventata una questione di onore devo riuscire a collegarmi.Grazie ancoraAdolfo
Adolfo62 Inserita: 6 marzo 2006 Autore Segnala Inserita: 6 marzo 2006 EVVIVA!!!!! Finalmente ci sono riuscito, sistemando il baudrate del PLC a 9,6K il testPPI e riuscito, quindi smanettando con il codice in VB sono riuscito ad eseguire il collegamento ed a mandare in STOP e poi far ripartire il PLC.Se avrò ulteriori amnesie non esiterò a postare ancora, Grazie veramente a tutti.Adolfo
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