Vai al contenuto
PLC Forum


Pic E Stringa Rs232


sorecaro

Messaggi consigliati


  • Risposte 55
  • Created
  • Ultima risposta

Top Posters In This Topic

  • sorecaro

    30

  • Livio Orsini

    9

  • accacca

    7

  • pomat

    7

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

Modificato: da sorecaro
Link al commento
Condividi su altri siti

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 ?

Modificato: da accacca
Link al commento
Condividi su altri siti

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

Modificato: da accacca
Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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 ?

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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"?

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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)

Modificato: da accacca
Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

6b4b31aec4e6785465a078bde27c21d6.jpg

Modificato: da sorecaro
Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

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

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