F147_PR

Stampa parallela

Restituisce i codici ASCII per 12 caratteri memorizzati nell'area a 6 word specificata da s_Start tramite l'uscita delle word specificata da d se il trigger EN è TRUE. Se una stampante è collegata all'uscita specificata da d, viene stampato un carattere corrispondente al codice ASCII di uscita.

Parametri

Ingresso

s_Start (WORD, INT, UINT)

area a 16 bit iniziale per memorizzare 12 byte (6 word) dei codici ASCII (origine)

Uscita

d (WORD)

uscita delle word utilizzata per restituire i codici ASCII (destinazione)

Note

  • Solo le posizioni bit da 0 a 8 di d vengono utilizzate nella stampa effettiva. Il codice ASCII viene restituito in sequenza iniziando dal byte meno significativo dell'area iniziale. Sono necessarie tre scansioni per restituire 1 costante di carattere. Pertanto saranno necessarie 37 scansioni affinché tutte le costanti di carattere vengano restituite.

  • Dal momento che non è possibile eseguire istruzioni F147_PR multiple in una scansione, utilizzate il flag di stampa sys_bIsActive_F147_PR per essere certi che le istruzioni non vengano eseguite simultaneamente. Se le costanti di carattere vengono convertite in codice ASCII, si raccomanda l'utilizzo dell'istruzione F95_ASC.

Flag di errore

sys_bIsOperationErrorHold (passa a TRUE e resta TRUE)
  • se l'area finale per memorizzare i codici ASCII eccede il limite

  • se il trigger di un'altra istruzione F147_PR passa a TRUE mentre un'istruzione F147_PR viene eseguita

sys_bIsOperationErrorNonHold (passa a TRUE per una scansione)
  • se l'area finale per memorizzare i codici ASCII eccede il limite

  • se il trigger di un'altra istruzione F147_PR passa a TRUE mentre un'istruzione F147_PR viene eseguita

Esempio di connessione

  1.  (1) Tipo uscita a transistor (uscita: 9 o più punti)
  2.  (2) Stampante (interfaccia centronics)

Esempio

Variabili globali

Nella lista variabili globali si definiscono variabili alle quali possono accedere tutti i POU del progetto.

  1.  (1) Origine: Codice ASCII per 12 caratteri A, B, C, D, E, F, G, H, I e J
  2.  (2) Dato di controllo per la stampante
  3.  (3) Codici ASCII
  4.  (4) start: ON
  5.  (5) Destinazione
  6.  (6) Y9 - YF: inutilizzati
  7.  (7) Y8: per il segnale di strobe della stampante
  8.  (8) Da Y0 a YF: per i segnali di dati della stampante (da Y0 a Y7 corrispondono da DA A1 a DA A8 della stampante)

Intestazione del POU

Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU.La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.

	VAR
		Start: BOOL:=FALSE;
	END_VAR
	VAR_EXTERNAL
		PrintOutFlag: BOOL:=FALSE;
	END_VAR
	VAR 
		PrintOutString: STRING[12]:='ABCDEFGHIJ$L$R';
	END_VAR
	VAR_EXTERNAL
		Printer: WORD:=0;
	END_VAR
	VAR 
		@'': @'';
	END_VAR

Corpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 13 ;
        NETWORK_BODY
B(B_CONTACT,,Start,4,2,6,4,R);
B(B_F,F147_PR!,Instance,19,1,25,5,,?DEN?Ds_Start?AENO?Cd);
B(B_CONTACT,,PrintOutFlag,4,5,6,7,);
B(B_VAROUT,,Printer,25,3,27,5,);
B(B_F,Adr_Of_VarOffs_I!,Instance,9,7,18,11,,?D@'Var'?DOffs?CAdr);
B(B_VARIN,,2,7,9,9,11,);
B(B_VARIN,,PrintOutString,7,8,9,10,);
L(1,3,4,3);
L(6,3,19,3);
L(1,6,4,6);
L(6,6,10,6);
L(10,3,10,6);
L(19,4,19,9);
L(18,9,19,9);
L(1,0,1,13);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

IF DF(start) OR PrintOutFlag then
    F147_PR( Adr_Of_VarOffs( PrintOutString, 2), Printer);
END_IF;

L'ultima revisione: 2022-02-01Feedback su questa paginaPanasonic hotline