プリントアウト
実行条件ENがTRUEのとき、s_Startで指定した6ワードのエリアに格納されている12文字分のアスキーコードを、dで指定するワード出力に出力します。プリンタがdで指定した出力に接続されていれば、アスキーコードに対応する文字が印刷されます。
入力
12バイト(6ワード)アスキーコードを格納する先頭16ビットエリア
出力
アスキーコードを出力するワード出力
実際の印刷には、dのBit no. 0~8の出力のみを使用します。アスキーコードは、開始エリアの下位バイトから順に出力されます。1文字定数の出力には、3スキャン必要です。従って、全文字定数の出力には37スキャン必要です。
複数のF147_PR命令を同時に実行することはできません。プリント命令実行中フラグsys_bIsActive_F147_PRを使用して、同時に実行することがないようにプログラムしてください。文字定数をアスキーコードに変換するときは、F95_ASC命令の使用をおすすめします。
アスキーコードを格納する終端エリアが範囲を超えるときON
F147_PR命令を実行中に、別のF147_PR命令の実行条件がTRUEになったときON
アスキーコードを格納する終端エリアが範囲を超えるときON
F147_PR命令を実行中に、別のF147_PR命令の実行条件がTRUEになったときON
グローバル変数リストでは、プロジェクト内のすべてのPOUからアクセスできる変数を宣言します。
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
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
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
IF DF(start) OR PrintOutFlag then
F147_PR( Adr_Of_VarOffs( PrintOutString, 2), Printer);
END_IF;