Vai al contenuto
PLC Forum


collegamento plc 1200 con stampante


kekkaz

Messaggi consigliati

Buongiorno, siccome sono alle prime armi con la programmazione, mi servirebbe una mano...

devo stampare , tramite una stampante collegata tramite rs 232 al plc 1200, data ora e se il test è andato a buon fine o no, e non so come fare....

potete darmi una mano? sto programmando in linguaggio kop.....

grazie mille...

 

Link al commento
Condividi su altri siti


Non spieghi nulla, non metti una foto, non dici dove ti pianti..è difficile darti una mano. La cosa che mi spaventa di più peró sono le persone che ti 'lanciano' su un impianto senza aver mai visto un plc. E questa non è colpa tua purtroppo..

Link al commento
Condividi su altri siti

Giuseppe Signorella

Ciao Kekkaz (pseudonimo alquanto ......originale :whistling:)

Ti do il benvenuto sul forum, ma nello stesso tempo ti invito a rileggere il regolamento che hai appena accettato.

Sollecitare una risposta dopo pochissimo tempo dall'inserimento del post, è contro il citato regolamento, (nonché irritante per chi legge).

Detto questo non si comprende bene quale sia la tua difficoltà.

Sintetizzando al massimo:

Estrai la data e l'ora dal PLC. Utilizza l'istruzione RD_sys_T, converti  la data è l'ora in una stringa di caratteri con l'istruzione VAL_STRING

Ti crei una una nuova stringa concatenando i valori convertiti (data+ORA+Esito prova). Hai la tua stringa da inviare alla stampante.

Apri la comunicazione con la porta seriale. La comunicazione deve essere di tipo punto punto. trovi le istruzioni sotto la voce comunicazione>processore di comunicazione.

Superfluo dire che la stampante e la porta seriale del PLC devono essere configurati con i medesimi dati. (Velocità parità ecc.)

Trasferisci la stringa da te creata al buffer della porta serial del PLC e con un fronte di salita sul REQ la invii alla stampante.

Puoi verificare l'esito della trasmissione con i parametri DONE, ERROR e STATUS.

CIao

 

 

Link al commento
Condividi su altri siti

ciao Giuseppe,

scusa per il sollecitamento....

sull'uscita della concatenazione finale leggo solo il giorno seguito da puntini, mica è un errore?

 non riesco a fare la comunicazione, ho usato il SEND_ptp per il trasferimento, ma sul BUFFER devo mettere la stringa che ho creato?

saluti

Link al commento
Condividi su altri siti

Giuseppe Signorella

sull'uscita della concatenazione finale leggo solo il giorno seguito da puntini, mica è un errore?

Su quale uscita? non e molto chiaro cosa vuoi dire. 

Link al commento
Condividi su altri siti

sull'uscita della concatenazione finale.....cioè quando devo leggere data+ora+esito finale....

vedo solo il giorno seguito da puntini non riesco a capire se la stringa è tutta formata....

 

Link al commento
Condividi su altri siti

Giuseppe Signorella

I puntini che seguono il testo, stanno ad indicare che una parte dell'informazione se pur presente non viene visualizzato perchè troppo lungo.

Creati una tabella di controllo, dove inserisci la stringa e li ti verrà visualizzata correttamente.

Inoltre, se la tua stringa ha una lunghezza ben definita, nella tabelle delle  variabili ti conviene dichiararne la lunghezza.

Ciao

Link al commento
Condividi su altri siti

non riesco a capire se sul BUFFER, dell'istruzione SEND_PTP, devo mettere la stringa da stampare???

il valore  LENGTH per una stringa???

saluti

 

Link al commento
Condividi su altri siti

  • 3 weeks later...

Salve, ho ancora un problema con SEND_PTP, all'uscita STATUS ho questo errore 16#7000 come posso attivare la trasmissione con la stampante, visto che quell'errore mi dice che non è attiva la trasmissione???

grazie

Link al commento
Condividi su altri siti

Giuseppe Signorella

Difficile darti una mano se continui a non dare informazioni su cosa hai fatto, quale istruzioni hai utilizzato, (Quindi come hai redatto il programma), come hai connesso la stampante al PLC, che tipo di stampante ecc.

Devi aprire una comunicazione seriale di tipo punto punto. All'interno del tuo programma ad esempio con un bit di avvio (primo ciclo) richiami l' istruzione che configura la porta (la inizializza con i parametri di comunicazione del tipo velocità controllo flusso parità ecc che devono coincidere con quelli della stampante),

L'istruzione deve essere correttamente configurata, ad esempio alla voce port devi indicare la porta fisica del plc dal quale devono uscire i dati.

Alla voce protocol devi indicare che la comunicazione e del tipo punto punto ecc.

Quando si inizializza  la porta, si interroga il bit di stato (Done errore e status) che ti indicano se la porta è stata inizializzata correttamente.

Se ha esito positivo passi allo stato successivo.(carichi il buffer ed invii) sempre con un fronte di salita, e anche qui si interrogano i bi di stato per verificare che la trasmissione sia andata a buon fine. Finche la trasmissione non è terminata non si generano altre eventi di trasmissioni altrimenti mi viene notificato un errore di invii multipli.

L'errore da te indicato potrebbe anche indicare che non è in corso alcuna trasmissione, in quanto l'istruzione non è eseguita. (Non ne sono certo perché vado a mente,)

Una particolare attenzione devi anche porla al parametro FLOWCTRL (Controllo flusso dati). 

La porta seriale (RS232)  funziona pressappoco in questo modo (semplifico per semplicità,  anche perch vado anche qui a memoria)

Si apre la porta di comunicazione, e viene data tensione su un pin che fa comprendere al dispositivo remoto che si vuole attivare una comunicazione.

Il dispositivo remoto se pronto a ricevere i dati alza a sua volta un altro pin per dire al dispositivo partners che puo trasmettere. Quando il   dispositivo ricevente riempie il buffer abbassa (o alza non lo ricordo)  il suddetto pin per dire al dispositivo trasmittente di interrompere la trasmissione. ecc.

Se imposti il parametro FLOWCTRL su nessun controllo, i dati vengono inviati dalla porta seriale senza alcun controllo. Questa impostazione va bene per piccole trasmissioni come nel tuo caso.

Ciao 

 

 

Link al commento
Condividi su altri siti

  • 2 years later...

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