Vai al contenuto
PLC Forum


Comunicazione Seriale


Messaggi consigliati

Inserito:

Devo realizzare una comunicazione seriale con una stampante termica, il protocollo è del tipo rs232 ma con livelli TTL (0-5 Volt). La comunicazione avviene ad una velocità di 600 bps 8 bit no parità quindi il segnale sarà composto da Bit start (livello logico 0) - bit 0..7 (dati) - bit stop (livello logico 1).

Il Plc in questione è un 226 con estensione digitale (utilizzo la Q2.0 come uscita di trasmissione). Veniamo al mio problema.

Non avendo la risoluzione adeguata con i timer di fabbrica (1 ms) ho cercato di realizzare i ritardi attraverso una for-next il problema però è che non sono riuscito a reperire nessuna informazione riguardo al tempo di esecuzione delle istruzione di questo genere (per le operazione booleane è di 0,22 microsecondi).

Con un baud rate di 600btp mi servono dei timing da 1,666666 millisecondi quindi dovrei eseguire + di 7500 istruzioni :blink: booleane per arrivare al mio scopo, pertanto ho pensato di utilizzare un ciclo for-next.

Qualcuno mi aiuta?


Inserita:

Scusa perchè complicarti la vita? Con la 226 hai 2 porte seriali, la seconda la programmi in modo free port (basta leggere l'help on line e l'assistente) ed hai risolto tutto senza strane temporizzazioni.

Inserita:
:smilie_nono: :smilie_nono: purtroppo sono già tutte e 2 impegnate, in una un touch panel e nell'altra un pc che mi funge da supervisore
Inserita:

Non sono un esperto di 200, quindi non so se hai la possibilità di aggiungere un modulo seriale in più....

Quello che vuoi fare è, secondo me, troppo complicato e , in ogni caso, dubito che riusciresti a creare una connessione affidabile.

Ciao

Inserita:

Ho trovato nel manuale del 200 tutti i tempi di esecuzione di ogni operazione. Lunedì cercherò di cavarci qualcosa.

Inserita:

Le porte seriali sono RS485, puoi sempre pensare a sfruttare il multipoint che permette la 485. E' senz'altro più semplice che quello che cerchi di fare. Tra l'altro è altamente inaffidabil Tempi inferiori a 5 ms non sono compatibili con le CPU S7-22x

Inserita:

Ok Livio grazie per il consiglio. Mi servirà un adattatore di livello però (la stampante accetta rs232 o ttl mentre le porte del 226 usano il protocollo rs485).

Inserita:
Mi servirà un adattatore di livello..

Certamente ma non solo. Devi avere un adattatore che sia indirizzabile altrimenti alla stampante arrivano tutti i comandi che invii sulla linea.

Inserita:

Ho risolto............ho inserito dei ritardi software per l'esattezza 6 divisione di dword e lavora benissimo. Se a qualcuno interessa posso postare il codice.

:thumb_yello: :thumb_yello:

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