Vai al contenuto
PLC Forum


labview verso PIC


playste

Messaggi consigliati

Salve a tutti vi spiego la mia situazione ho un PIC con la possibilità di collegarla con una porta seriale rs232, tutta la parte hardware è ok funzionante, il mio problema sorge nel momento dove devo comandare il PIC mediante una interfaccia grafica a pc, utilizzo come software labview 7.1 per crearmi l'interfaccia xrò capita che non sempre il pic mi scrive, adesso il pic è programmato per chiedere alla rs232 la lampada che mi deve accendere dunque mi compila il bus degli indirizzi poi attendere la scrittura del programma verso il pic del valore di accensione della lampada.

qualcusa sa consigliarmi una programmazione del pic magari più corretta della mia e del programma, mi basterebbe anche solo una dritta.

per il momento grazie a tutti.

per chiarimenti chiedete pure. worthy.gif

Link al commento
Condividi su altri siti


Ciao,

Non riesci a procurarti uno sniffer seriale? (es portmonitor) questo utile programma mostra i byte trasmessi e ricevuti sulla seriale in questa maniera vedi dove si blocca il protocollo.

Poi si parte a fare congetture

Link al commento
Condividi su altri siti

scusami l'ignoranza ma intendi un software dove mi faccia vedere cosa mi passa sulla seriale??? perche' (= perchè) ho già un programma che mi mostra cosa passa sulla seriale ma nel momento in cui io apro questo software e labview il software mi dice che non è possibile vedere perchè la COM1 è già occupata da labview

Modificato: da Fulvio Persano
Link al commento
Condividi su altri siti

E' ovvio che non puoi usare la stessa porta seriale.

L'ideale sarebbe disporre di due PC di cui uno serve a monitorare il colloquio. Però se disponi di una seconda porta puoi usare lo stesos PC, si riduce l'efficienza ma funziona.

Da ultimo non usare abbreviazioni tipo "xkè", il regolamento lo vieta perchè rendono il messaggio meno comprensibile, il risparmio di tempo è inesistente e possono irritare i vecchiacci come me smile.gif . Rispetta sempre il regolamento, ne trarremo giovamento tutti.

Link al commento
Condividi su altri siti

si scusami purtroppo è l'abitudine del cellulare utilizzare abbrevizioni.

se riesco domani sera vado a fare ulterriori prove poi vi dico, nel frattempo sapete consigliarmi qualcosa per migliorare il mio programma sul PIC in modo tale da gestirlo nel migliore dei modi???

grazie a tutti e scisatemi per prima

Link al commento
Condividi su altri siti

L'idea di nvalpiani credo sia quella di niserire un programma che cattura il traffico seriale senza "requisire" la risorsa.

Prova a far partire prima il programma di monitor seriale e poi labview.

Comunque in questi casi sarebbe meglio provare una cosa alla volta

Con il tuo porgramma di monitor, se riesci, spedisci caratteri al PIC così vedi quello che arriva e cosa risponde

Poi prova labview con un altro PC per vedere se tutto ok e alla fine metti insieme le due cose

Modificato: da accacca
Link al commento
Condividi su altri siti

ho provato a fare partire prima il software poi labview ma niente uno dei 2 si blocca.

il mio problema è avere una conferma della mia scrittura sul pic per prepararlo alla recezzione e scrittura dei dati dal pc.

Grazie a tutti adesso proverò a collegare la seriale facendola passare su un'altro pc x monitorare il traffico.

Link al commento
Condividi su altri siti

  • 2 weeks later...

Per catturare il traffico sulla seriale del pc, che sia una uart interna, una su pcmcia o una usb to serial non importa, è sufficiente utilizzare un programma gratuito che si può scaricare da questo sito: http://www.serial-port-monitor.com/

Dopo l'installazione, per utilizzarlo è sufficiente avviarlo prima del programma applicativo per la comunicazione seriale. Si seleziona la porta seriale da monitorare e tutto il traffico da e per il nostro programma verrà visualizzato sulla finestra del serial port monitor.

Se il programma in LabView e/o quello sul PIC non funzionano correttamente questo programma può dare una mano a risolvere i problemi perché permette di vedere qualsiasi byte.

La uart del PIC è impostata correttamente? Di che PIC si tratta? Quale è il suo clock? Per esempio, il baud rate generator del pic è settato correttamente?

Poi non ho capito bene come deve funzionare il sistema, ovvero chi fa cosa.

Leggo "il pic è programmato per chiedere alla rs232 la lampada che mi deve accendere dunque mi compila il bus degli indirizzi poi attendere la scrittura del programma verso il pic del valore di accensione della lampada": che vuol dire?

Secondo me il PIC deve essere programmato per comportarsi da slave, il software su pc da master.

Con un protocollo il master interroga il micro e gli chiede quale è il suo stato e lo mostra all'utente. A questo punto, se è questo lo scopo, l'utente decide di accendere e/o spegnere la lampada inviando un opportuno comando al micro.

In questo modo il micro non deve fare altro che attendere: la seriale in ricezione può lavorare in interrupt. All'arrivo dei vari byte bufferizza tutto quanto, alla ricezione del terminatore di stringa o al completamento del frame elabora i dati ed attua.

Link al commento
Condividi su altri siti

il mio scopo è avere il controllo dimmer da pc di 8 lampade, il pic manda sulla serriale il numero di lampada dunque compila il bus degli indirizzi e attende la scrittura dal programma del valore di accensione della lampada compilando così il bus dati finita la scrittura del bus dati il pic rimanda il bus indirizzi con la seconda lampada e il programma scrive il valore e così via fino all'ultima lampada giunto all'ultima lampada ricomincia dalla prima.

non so se sn stato abbastanza chiaro.

il nome del pic e il clock te lo so dire perchè adex non me lo ricordo.

comunque per adesso grazie questa sera provo subito il programma

Link al commento
Condividi su altri siti

  • 5 weeks later...

Secondo la mia esperienza non e' un problema di protocollo, ma qualcosa di piu' intricato a livello di sistema.

Il problema di perdere il flusso dati seriale mi capita spesso e volentieri quando faccio operazioni strane (p.es. collegamento/scollegamento anche del solo cavo seriale), e mi capita indifferentemente su ARM, 8051 e PIC.

Il ripristino l'ottengo solo riavviando il PC.

Ti consiglio di verificare che non ci siano transienti vaganti e se puoi non usare converitori USB/seriale.

Link al commento
Condividi su altri siti

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...