ultimo07 Inserito: 9 dicembre 2013 Segnala Share Inserito: 9 dicembre 2013 Buongiorno , non riesco a capire come interrompere lo stato di ricezione permanente dei dati della porta rs 485 del plc per effettuare una trasmissione dati, praticamente ho fatto uno programma cn interrupt che gestisce sia trasmissione che ricezione bene peró quando il plc si porta in ricezione permanente non riesco a trasmettere . Qualcuno piú esperto potrebbe darmi un suggerimento ? Grazie in anticipo. Link al commento Condividi su altri siti More sharing options...
busanela Inserita: 9 dicembre 2013 Segnala Share Inserita: 9 dicembre 2013 peró quando il plc si porta in ricezione permanente non riesco a trasmettere Mi sembra di intuire che non viene eseguita la fine della routine di interrupt RCV; il perchè e cosa devi fare per rimediare, senza vedere il software, è difficile da capire. Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 9 dicembre 2013 Autore Segnala Share Inserita: 9 dicembre 2013 E forse é proprio quello non ho usato l'istruzione reti nel programma , proveró , la gestione di questi tipi di comunicazione non é tanto semplice soprattutto per chi non l ha mai fatta , grazie .Mi sembra di intuire che non viene eseguita la fine della routine di interrupt RCV; il perchè e cosa devi fare per rimediare, senza vedere il software, è difficile da capire. Non ho usato mai l' instruzione di fine perché negli esempi della siemens non é mai presente . Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 9 dicembre 2013 Segnala Share Inserita: 9 dicembre 2013 Se non termini la sub di ricezione, ma anche quella di trasmissione, il programma non può funzionare bene. Solitamente l'interrupt di ricezione si limita a prelevare il carattere ricevuto dal buffer rx, con buffer vuoto si esce. Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 9 dicembre 2013 Autore Segnala Share Inserita: 9 dicembre 2013 Grazie metteró l istruzione di fine a tutte le sub routine di interrupt sono stato ingannato dagli esempi del manuale . Ciao grazie. Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 10 dicembre 2013 Autore Segnala Share Inserita: 10 dicembre 2013 Tutto ok ho sistemato ,peró il problema rimane perché l operazione ricevi da programma rimane attiva per ricevere l evento e non só come disabilitare l operazione per poter inviare dei dati prima che intervenga la sub routine di interrupt di fine ricezione. Come posso uscire dallo stato rx senza ricevere per passare ad una trasmissione ? Ciao. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 11 dicembre 2013 Segnala Share Inserita: 11 dicembre 2013 Se hai fatto le cose per bene nella routine di Rx entri solo su interrupt. L'interrupt è pendente solo se nel buffer Rx è presente un carattere. Normalmente quando scatta l'interrupt svuoti il buffer e termini la sub immediatamente. Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 11 dicembre 2013 Autore Segnala Share Inserita: 11 dicembre 2013 Ciao , esatto per prendere devo abilitare la rx cioé azzerare il buffer rx altrimenti la sub routine non scrive nel buffer stesso , adesso dato che il plc é sempre cn ricezione abilitata perché aspetta degli sms in ricezione , come esco da questo stato di ricezione per poter inviare un sms ad un operatore generato da un allarme ? Devo uscire dallo stato di rx per poter effettuare una tx , ho provato anche a modificare sm87.7 portandolo a 0 ma niente da fare. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 11 dicembre 2013 Segnala Share Inserita: 11 dicembre 2013 Scusa, ma allora non ci siamo capiti! Lo stato di Rx non deve essere abilitato, è abilitato il solo interrupt di Rx. Quando entra un carattere nel buffer di ricezione, automaticamente scatta la sub associata all'interrupt di RX. Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 11 dicembre 2013 Autore Segnala Share Inserita: 11 dicembre 2013 Ok vedo faccio prove poi Vi dico esito . Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 11 dicembre 2013 Segnala Share Inserita: 11 dicembre 2013 Lo hai letto il capitolo 6 del manuale di sistema dello S7-200? Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 11 dicembre 2013 Autore Segnala Share Inserita: 11 dicembre 2013 Certamente e non solo quello anche il libro di bergamaschi . Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 11 dicembre 2013 Autore Segnala Share Inserita: 11 dicembre 2013 prendiamo questo esempio , se si toglie l ' ultimo blocco in basso la ricezione non funziona giusto ? prendiamo questo esempio , se si toglie l ' ultimo blocco in basso la ricezione non funziona giusto ?Se carico il programma come da esempio non ricevo dati con rx abilitato come passo ad una trasmissione se ho il blocco rx attivo ? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 11 dicembre 2013 Segnala Share Inserita: 11 dicembre 2013 Questo è un vecchio esempio che avevo allegato ad un mio tutorial. Si usa la seconda seriale dello S7-226 in modalità freeport. Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 11 dicembre 2013 Autore Segnala Share Inserita: 11 dicembre 2013 Ok grazie vedo che ne esce fuori . Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 12 dicembre 2013 Autore Segnala Share Inserita: 12 dicembre 2013 Ho guardato i programmi ed ho visto che per ricevere come tecnica avete usato i puntatori , cosa che io ho evitato perché non sono riuscito a configurare il programma con quel tipo di configurazione. Saluti. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 12 dicembre 2013 Segnala Share Inserita: 12 dicembre 2013 I puntatori ti semplificano la vita, ma questo non ha nulla a che vedere con il tuo problema. Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 14 dicembre 2013 Autore Segnala Share Inserita: 14 dicembre 2013 Vediamo se esce qualcosa di costruttivo. Al primo ciclo ho settato smb30 , smb87, smb88, smb89 , smw90, smb94. Poi come da foto ho abilitato gli interrupt per gli eventi li ho abilitati e ho fatto una trasmissione dati per settate il modem . Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 14 dicembre 2013 Autore Segnala Share Inserita: 14 dicembre 2013 sbinterrupt 0 di fine ricezione resetta Q0.0 e termina sbinterrupt 1 di fine trasmissione abilita la ricezione e q0.0 Link al commento Condividi su altri siti More sharing options...
ultimo07 Inserita: 14 dicembre 2013 Autore Segnala Share Inserita: 14 dicembre 2013 Il programma da stop a run abilita i parametri di comunicazione trasmette.le stringhe per il set delle impostazioni del modem , il modem risponde i dati vengono messi nel buffer di ricezione correttamente .Da qua in poi non riesco piú a ricevere dati ma solo a trasmettere . Dove sbaglio , perché anche se la ricezione é chiusa non riesco piú a ricevere ? Saluti. 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