Adr_Of_Var

返回输入或输出地址

此函数返回非过载系统指令的输入或输出处的变量的地址。

参数

输入

未定义的输入 (ANY)

此引脚必须连接到允许数据类型为INTWORD的基本函数的输入/输出

生成输入/输出变量的16位起始地址

输出

未定义的输出 (ANY_IN_UNITS_OF_WORDS)

需要16位起始地址的输入/输出变量

标注

  • 根据输入/输出Var处的变量,在输入/输出Adr处生成16位起始地址。此输入/输出必须直接连接到非过载系统指令的16位输入或输出。

  • 仅限LD和FBD编辑器:使用[指令]窗格中的[输入指令][输出指令]将所需指令插入编程窗口。

示例

DUT

[DUT]下分配结构化数据类型,其中声明了结构的各种非布尔变量。

POU头

所有用于编程此函数的输入和输出变量已在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存储卡管理(C)...]正确格式化IC卡,而且如有必要,以地址100开头的值应在IC卡上可用。

LD本体

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卡

  • 读、写共享内存

最后更新日期: 此页面上的反馈松下热线