Jump to content
PLC Forum


Sign in to follow this  
sorecaro

Pic E Stringa Rs232

Recommended Posts


sorecaro

Buonasera e grazie per l'aiuto. Oggi ho fatto delle prove anche con il collegamento RS485, ma non cambia nulla.

Domani proverò con Hyperterminal.

Ho contatto la ditta produttrice del display(tech srl), chiedendo informazioni ma l'unica cosa che mi hanno mandato è il protocollo di comunicazione (già postato)e nulla più.

Purtroppo non so altro.

L'unica cosa che ho notato è la seguente:

se mi collego con RS232 l'uscita del max232n va sul pin RE3, pin per la ricezione UART, se invece mi collego con RS485 l'uscita del LB176A va sul pin RA1.

Il led rosso a destra del micro è collegato solo sull'anodo (uscita micro) mentre il catodo è libero

Edited by sorecaro

Share this post


Link to post
Share on other sites
accacca

Ecco sorecaro io mi credevo che fosse tutta'altra cosa il tuo display....

Sull'hw della scheda sai qualcosa ? Dovrebbe esserci il modo di fare il test dei led accendendo tutta la matrice per verificare se ci sono led guasti

(Spero non sia un comando seriale...)

Io non ho ancora capito (forse lo hai già scritto) è una scheda di recupero che forse funziona e in questo caso prima farei verifiche hw o è un prodotto sicuramente funzionante ?

Edited by accacca

Share this post


Link to post
Share on other sites
accacca

Mi è venuto un dubbio sorecaro quando usi hyperterminal come inserisci la stringa ?

Scusate ma ho riletto tutto (...dopo aver risposto) e ci sono alcune cose che non tornano

Il protocollo di comunicazione è monodirezionale, la comunicazione avviene solo dal
terminale al display
.

Per controllare ho collegato l'oscilloscopio all'uscita del max232n ( pin 11 / pin 10), ma nessun segnale.

No! collegati ai pin di ricezione e vedi se passi il max232. Forse ci sono dei jumpers da configurare per usare la seriale 232

E' vero che hai provato anche in 485 ma in quel caso c'è anche la variabile indirizzo.

Accertati che la tua comunicazione arrivi al micro poi si vede

Edited by accacca

Share this post


Link to post
Share on other sites
sorecaro

Buongiorno. Allora veniamo a noi. Il cliente che mi ha dato la scheda mi ha assicurato che la scheda è funzionante.

Per quanto riguarda il max232n cerco di spiegarmi meglio.

Mi sono collegato al pin 10 e poi 11 per vedere se il display invia qualche dato in uscita ( anche se sul manuale c'è scritto che la comunicazione avviene solo da pc verso display)

In ricezione il Max funziona, il dato arriva al micro del display(controllato con oscilloscopio)

la stringa che invio da pc è stata copiata pari pari dal manuale che ho postato.

Purtroppo sull'hardware del display non so nulla, ho chiesto lo schema ma niente.

Ho controllato i componenti che ci sono, tutto ok.

Penso che sto sbagliando ad inviare la stringa, ma sto seguendo il manuale

Share this post


Link to post
Share on other sites
accacca

Due controlli canonici

il quarzo oscilla?

Il segnale di reset è ok ?

Non leggo le sigle dei componenti ma cercando i datasheet potresti cercare di capire se i segnali sono corretti

Probabilmente anche con led spenti il micro fa un refresh periodico

Il problema è riuscire ad essere certi che il micro è in funzione

Incaponirsi a inviare stringhe da seriale non so se è una buona cosa potrebbe esserci un cadavere dall'altra parte,

Solo come promemoria (lo avrai sicuramente fatto)

controlla baudrate magari con oscilloscopio per avere certezza (chiedi conferma del baudrate)

controlla impostazioni start/stop/parità anche queste verificabili con oscilloscopio

ma anche sti personaggi potevano mettere un comando di feedback per capire se la connessione è ok

Share this post


Link to post
Share on other sites
sorecaro

Ricontrollato tutto, clock micro ok, impostazioni stringa, baudrate, tutto giusto.

Il micro non da segni di vita.

Share this post


Link to post
Share on other sites
sorecaro

SEGNALE RS232

6c260c0fd80942d6d0f4ddf0cac7a9b3.JPG


SEGNALE DOPO IL MAX232N

20be007c1c4f53f0aed56cc3ccb48e18.JPG


STRINGA INVIATA

e61b3b525586adbd10e0e118a6ef5d53.JPG

Edited by sorecaro

Share this post


Link to post
Share on other sites
sorecaro

Per 5 secondi il display ha FUNZIONATO, ora più nulla. Ricontrollato tutto, il quarzo non funziona più, sul piedino 79 OSC2 del micro ci sono 500mV, sul piedino 80 OSC1 sempre 500mV.

Il quarzo è da 4,8MHz, con due condensatori da 10pF.

Lo sostituisco con uno da 4.9152 MHz e condensatori da 22pF

Share this post


Link to post
Share on other sites
accacca

vedo le cose da distanza infinita quindi il mio parere lascia il tempo che trova ma per me il quarzo è l'ultimo nella lista dei colpevoli

Se cambi anche il valore cambi, anche se di poco, tutte le temporizzazioni interne baudrate della seriale compreso

Io non cercherei avventure. se ha funzionato una volta deve funzionare di nuovo altrimenti dobbiamo ridiscutere la fisica dalle fondamenta.

Adesso sei sicuro che un messaggio funzioan e lo puoi utilizzare per le prove.

Controlla bene noi (io) facciamo le ipotesi più disparate poi si scopre che è una saldatura da rivedere o un morsetto serrato male.

L'alimentatore è adatto per aimentare quel display ?

Share this post


Link to post
Share on other sites
sorecaro

Accacca hai ragione ma era l'unico quarzo che avevo a disposizione, domani mi arriva quello da 4.8. Come alimentazione sto usando un alimentatore da laboratorio, quindi lo escluderei.

Speriamo di venirne a capo

Share this post


Link to post
Share on other sites
sorecaro

Buonasera, oggi pomeriggio sono riuscito a trovare dei file .dll per la trasmissione con il display. Posso servire a capire meglio il protocollo???

Share this post


Link to post
Share on other sites
pomat

Buonasera, oggi pomeriggio sono riuscito a trovare dei file .dll per la trasmissione con il display. Posso servire a capire meglio il protocollo???

Detta così sembra che, nonostante tutto, ancora non hai ben chiaro se il problema è legato all'hardware o alle stringhe seriali inviate.

Queste dll presumo siano fornite per agevolare la creazione di programmi in C(++) per Windows, ci ho preso?

Per far ciò normalmente le librerie sono accompagnate come minimo da un elenco delle funzioni che mettono a disposizione, di solito in questi casi si tratta di un'interfaccia di programmazione (api) per la preparazione e il successivo invio dei messaggi sul canale seriale, in modo che il programmatore non debba preoccuparsi del protocollo a basso livello - codici funzione, crc, ...

Questo per dire che la dll è una libreria "compilata", dalla quale magari si può estrarre un elenco [dei "prototipi"] delle funzioni in essa contenute, il che può essere in parte utile a capire meglio il protocollo (anche se avere della documentazione relativa all'api a volte è indispensabile), ma se hai bisogno di conoscere i dettagli implementativi del protocollo a basso livello, temo che del compilato non te ne faccia nulla, ti serve il codice sorgente.

Per 5 secondi il display ha FUNZIONATO, ora più nulla.

Mi sunoa strano che questo possa essere legato alle stringhe inviate, dato che, se capisco bene il manuale precedentemente postato, il dispositivo dovrebbe mantenere una memoria "circolare" delle stringhe ricevute (comandi inclusi). Forse inviare a raffica messaggi a distanza di 1 secondo l'uno dall'altro come ho visto che cercavi di fare, magari non è proprio l'ideale per i tempi di risposta del dispositivo. Devo comunque darti atto che molte cose sono poco chiare, ad esempio, come si gestiscono le diverse righe del display? Cosa vuol dire il comando stop e che differenza c'è con lo "stop infinito"?

Share this post


Link to post
Share on other sites
sorecaro

Il display ha funzionato per 5 secondi, quindi penso che sia un problema di stringa e non di hardware.

Purtroppo come informazioni ho solo quel manuale che ho postato, nulla di più. Ho provato a reperirne altre, ma senza risultato.

Ho provato ad inviare la stringa con programmi diversi, hyperterminal e simili, con tempi di invio diversi, ma non è successo nulla tranne quei 5 secondi.

Ho ricontrollato tutti i componenti, saldature, connessioni, integrati, tutto ok.

Per quanto riguarda le librerie dll le ho trovate su un cd che mi ha dato il cliente, ma non c'era nient'altro, librerie ed il famoso manuale che ho postato.

L'unica prova che mi viene in mente è di provare con una connessione rs485, cambiando indirizzo e CRC, e vediamo cosa succede.

Se anche cosi no và non sò cosa altro fare.

Share this post


Link to post
Share on other sites
Livio Orsini

Io ho invece l'impressione che le cause siano di tipo circuitale e non software.

Share this post


Link to post
Share on other sites
accacca

Sucsa sorecaro so che è facile fare le "omelie" agli altri

Nella tua situazione è inutile passare da RS232 a RS485 cambiare programma ...sperando che così funzioni

Prima di tutto devi accertarti che scheda e micro siano funzionanti. Il cliente utilizza già il display su altri prodotti ? può fare un test della scheda con una sua applicazione ?

Quando sei certo di micro e hardware verifica che la comunicazione arrivi al micro corretta come tempi e pattern dei byte (start/stop ecc.)

Solo adesso si parla di software di 232 o 485 ecc. Se i primi due punti non sono certi si rischia di perdere solo tempo.

Se ha funzionato per qualche secondo devi analizzare cos'è cambiato subito dopo, Devi riprodurre le stesse condizioni di prova, lo hai fatto una volta devi riusicre anche una seconda.

Condivido l'osservazione di pomat inutile inviare ogni secondo qualcosa durante il test del software. Ma il display non ha nessun feedback nemmeno un segnale che dice aspetta non sono pronto a ricevere dati (di soltio è un controllo su segnali RTS/CTS della RS232)

Edited by accacca

Share this post


Link to post
Share on other sites
sorecaro

Domani farò altre prove con RS232, se ha funzionato una volta deve funzionare anche la seconda

Inviato dall'app. Mobile di PLC Forum da iPhone6,2

Share this post


Link to post
Share on other sites
sorecaro

Scusate la domanda, sicuramente inutile :-) Cambierebbe qualcosa se il protocollo fosse ModbusRTU ?? Perche se fosse cosi cambierebbe tutto. Giusto??

6b4b31aec4e6785465a078bde27c21d6.jpg

Edited by sorecaro

Share this post


Link to post
Share on other sites
sorecaro

Ho fatto questa domanda perché oggi parlando con un elettrico dello stabilimento dove si trovava il display mi ha detto che il display funzionava in rs232 ma volte lo collegavano ad un inverter con protocollo rs485 modbusRtu.

Scusatemi se posto le informazioni un po' alla volta, ma le sto scoprendo pian piano

Share this post


Link to post
Share on other sites
Livio Orsini

Ciaramente se quel display è predisposto per lavorare in Modbus RTU con protocollo elettrico RS485 devi usare questi protocolli altrimenti il display rimane cieco e sordo.

Share this post


Link to post
Share on other sites
sorecaro

Grazie Livio. Come posse far eseguire al Pic il protocollo modbusRtu ? Sto cercando su internet ma non trovo nulla

Share this post


Link to post
Share on other sites
sorecaro

C'è un qualche software che mi permette di inviare una stringa in formato modbusRtu su porta seriale?? Così facendo vedo se effettivamente è lui il protocollo da usare

Share this post


Link to post
Share on other sites
Livio Orsini

Il protocollo te lo devi scrivere, ma è banale.

Share this post


Link to post
Share on other sites
pomat

il display funzionava in rs232 ma volte lo collegavano ad un inverter con protocollo rs485 modbusRtu

Vuoi dire che su rs232 il protocollo è totalmente proprietario, mentre su rs485 è basato su Modbus? Mi suona strano...

Anche se fosse, non ti basta conoscere il Modbus a livello generale, devi sapere come usarlo nel caso specifico (function code attesi, indirizzi dei registri da accedere, ordine dei byte, codifica dei dati, ...) altrimenti brancoli comunque nel buio.

Se conosci le specifiche, a quel punto le stringhe Modbus te le puoi scrivere direttamente da solo, come dice Livio, oppure per le prove puoi aiutarti con software specifici, in rete ne trovi vari, io spesso ho usato questo (offre un periodo trial di 30 giorni).

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...