Vai al contenuto
PLC Forum


Collegamento Alla Stampante Seriale.


Messaggi consigliati

Inserito:

Stò realizzando un'applicazione per un controllo accessi mediante badge magnetico che al verificarsi di alcuni eventi vengano stampati mediante una stampante seriale alcune informazioni, tipo l'ora di accesso, il nome dell'utente associata a quel badge, ecc. ecc.

Ora il mio problema è il seguente:

La stampante non stampa immediatamete le informazione, ma credo che attenda che il buffer della stampante sia pieno, pertanto se la stringa che invio è inferiore a 42 caratteri, non viene stampata. La stampa avverrà in concomitanza di un altro evento che cumulati superano i 42 caratteri.

Ora ho risolto il problema inserendo quando la stringa è inferiore a 42 caratteri, degli spazi vuoti, ma mi piacerebbe capire se esiste un'altra soluzione.

Inoltre esistono delle istruzioni specifiche per far compiere alla stampante alcune operazioni? tipo l'avanzamento automatica della carta? da inserire tra i seguenti segni <> come se volessi premere il tasto CTRL o altrò?

Grazie


Livio Orsini
Inserita:

Dipende molto dalla stampante. Ci sono caratteri di controllo che, in genere, permettono di effettuare il salto pagina. Se la stampante è conforme in toto ad ASCII c'è il comando per "pagina nuova" similmente a "riga nuova" (LF == line feed).

Inserita: (modificato)

Grazie per la risposta.

Dove posso trovare una eventuale tabella dei comandi di controllo con la relativa associazione/funzioni che svolgono?

Un'ultima cosa, tali comandi vanno sempre inseriti tra i simboli <>? ad esempio <LF==>

Grazie

Modificato: da baltimora
Inserita:

Cerca una tabella ASCII, se non ce l'hai su di un manuale la trovi senz'altro in rete. Dalla tabella ritrovi il numero esadecimale che corrisponde a ciascun comando: Ad esempio LF = 0Ah, CR = 0Dh (ritorno a capo), etc.

Se la tua stampante è "normale" inviando la sequenza 0A 0D esegue un salto di riga con ritorno a capo. Cito questi perchè li so a memoria.

Inserita:

Il form feed (FF) ha codice esadecimale 0Ch (12 decimale)

Questo è il link alla tabella completa con spiegazioni

  • 1 month later...
Inserita:

Non dovrebbe bastare un comando "flush" sulla seriale, a prescindere dalla stampante?

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