Adr_Of_VarOffs

返回带有偏移量的输入或输出地址

此函数在基本函数的输入或输出处返回带有偏移量的变量地址。

参数

输入

Adr (ANY)

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

生成输入/输出变量的16位偏移量地址

Offs (INT)

需要16位偏移量地址的输入/输出变量

输出

Var (ANY_IN_UNITS_OF_WORDS)

需要16位最终地址的输出变量

标注

  • 从输入/输出Var中的变量,在输入/输出Adr中生成由输入/输出Offs中的给定值所引出的16位地址。此输入或输出必须直接连接到基本函数的16位输入或输出。此函数只能作用于字符串的应用数据,即不带字符串头的字符。

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

示例

全局变量

在全局变量列表中,定义项目中所有POU都可以访问的变量。

POU头

所有用于编程此函数的输入和输出变量已在POU头中声明。所有编程语言使用相同的POU头。

	VAR_EXTERNAL
		ReceiveBuffer: ARRAY [0..15] OF WORD:=[16(0)];
	END_VAR
	VAR 
		Receive: BOOL:=FALSE;
		ReceiveString: STRING[30]:='';
	END_VAR
	VAR CONSTANT 
		StringTotLenPos: INT:=0;
		StringActLenPos: INT:=1;
		StringHeaderSize: INT:=2;
	END_VAR
	VAR 
		@'': @'';
	END_VAR

LD本体

当设置了Receive且接收到接收结束字符,即设置了R9038时,通过串行接口接收的缓冲区ReceiveBuffer中的字符被复制到字符串ReceiveString的应用数据区域。接收到的字符数存储在ReceiveBuffer[0]中;后跟接收到的字符串的字符。因此,ReceiveBuffer可从此位置直接被复制到字符串的这个区域中。(请参阅数据类型STRING。)必须根据系统寄存器417和418中的设置在全局变量列表中分配缓冲区ReceiveBuffer的位置(有关详细信息,请参阅设置用于CPU的接收缓冲区)。

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 10 ;
        NETWORK_BODY
B(B_COIL,,sys_bIsComPort1ReceptionDone,7,1,9,3,);
B(B_CONTACT,,Receive,16,1,18,3,);
B(B_F,F10_BKMV!,Instance,20,0,28,5,,?DEN?Ds1_Start?Ds2_End?AENO?Cd_Start);
B(B_VARIN,,ReceiveBuffer[0],18,2,20,4,);
B(B_VARIN,,ReceiveBuffer[15],18,3,20,5,);
B(B_F,Adr_Of_VarOffs_I!,Instance,20,6,29,10,,?D@'Var'?DOffs?CAdr);
B(B_VARIN,,StringActLenPos,18,8,20,10,);
B(B_VAROUT,,ReceiveString,29,7,31,9,);
L(1,2,7,2);
L(9,2,16,2);
L(18,2,20,2);
L(28,3,28,6);
L(20,6,28,6);
L(20,6,20,8);
L(1,0,1,10);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

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