并行打印输出
如果触发器EN为TRUE,则通过d指定的字输出,输出由s_Start指定的6字区域中存储的12个字符的ASCII代码。如果打印机连接到由d指定的输出,则打印与输出ASCII代码对应的字符。
输入
用于存储12个字节(6个字)ASCII代码(源型)的起始16位区域
输出
用于输出ASCII代码(目的地)的字输出
在实际打印输出中仅使用d的位位置0至8。ASCII代码从起始区域的较低字节开始按顺序输出。1个字符常量输出需要三次扫描。因此,需要37次扫描才能输出所有字符常量。
由于无法在一次扫描中执行多个F147_PR指令,因此请使用打印输出标志sys_bIsActive_F147_PR以确保它们不会同时执行。如果字符常量转换为ASCII代码,则建议使用F95_ASC指令。
如果用于存储ASCII代码的结束区域超出限制
如果在执行一个F147_PR指令时另一个F147_PR指令的触发器变为TRUE
如果用于存储ASCII代码的结束区域超出限制
如果在执行一个F147_PR指令时另一个F147_PR指令的触发器变为TRUE
在全局变量列表中,定义项目中所有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;