返回输入或输出地址
此函数返回非过载系统指令的输入或输出处的变量的地址。
输入
此引脚必须连接到允许数据类型为INT、WORD的基本函数的输入/输出
生成输入/输出变量的16位起始地址
输出
需要16位起始地址的输入/输出变量
根据输入/输出Var处的变量,在输入/输出Adr处生成16位起始地址。此输入/输出必须直接连接到非过载系统指令的16位输入或输出。
仅限LD和FBD编辑器:使用[指令]窗格中的[输入指令]或[输出指令]将所需指令插入编程窗口。
在[DUT]下分配结构化数据类型,其中声明了结构的各种非布尔变量。
所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。
VAR
start: BOOL:=FALSE;
DutNonBoolean: @'Dut_NonBoolean';
END_VAR
这里声明了在上述DUT中分配的数据类型的变量DutNonBoolean。在POU头或本体中未使用值分配变量DutNonBoolean的元素,因为在执行函数F12_ICRD之后会覆盖变量DutNonBoolean的值。
当变量start设置为TRUE时,执行函数F12_ICRD。此函数读取IC卡上以地址100开头的值并将信息写入变量DutNonBoolean。请勿忘记必须通过菜单 正确格式化IC卡,而且如有必要,以地址100开头的值应在IC卡上可用。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 12 ;
NETWORK_BODY
B(B_COMMENT,,It reads the values on the IC card from address 100 and writes theø^information to the variable DutNonBoolean,2,0,27,2,);
B(B_F,P12_ICRD!,Instance,9,2,17,7,,?DEN?Ds1_Start?Ds2_Number?AENO?Cd_Start);
B(B_VARIN,,start,7,3,9,5,);
B(B_VARIN,,100,7,4,9,6,);
B(B_VAROUT,,DutNonBoolean,26,4,28,6,);
B(B_F,Adr_Of_Var_O!,Instance,18,4,26,6,,?D?C);
B(B_F,Size_Of_Var!,Instance,10,10,17,12,,?D?C);
B(B_VARIN,,DutNonBoolean,8,10,10,12,);
B(B_F,INT_TO_DINT!,Instance,17,10,25,12,,?D?C);
L(17,5,18,5);
L(1,0,1,12);
L(7,6,9,6);
L(7,6,7,9);
L(7,9,26,9);
L(26,9,26,11);
L(25,11,26,11);
END_NETWORK_BODY
END_NET_WORK
END_BODY
更多示例项目(FPWIN Pro安装的目录"样例"):
读、写IC卡
读、写共享内存