F146_RECV

接收数据(MEWNET链接)

此指令通过网络中的链接单元从另一站接收数据。

参数

输入

s1_Control (DWORD)

用于存储控制数据的32位区域

s2_AdrType (WORD, INT, UINT)

用于在目标站中存储数据的源操作数类型。请务必通过设置地址0来选择区域(例如,DT0WR0...)(源站的数据区域)

s2_AdrOffs (WORD, INT, UINT)

s2_AdrType中指定的源操作数的起始16位区域地址(源站的数据区域

d_Start (WORD, INT, UINT)

用于存储接收数据(目标站的数据区域)的起始16位区域地址 必须为常量

变量s2_AdrTypes2_AdrOffsd_Start必须为相同的数据类型。

标注

s1_Control的指定:

s1较高字节

s1较低字节

1. 链接编号选择(LK:1–3,站本身)

1.字单元发送选择

最多3个链接单元可连接到1 CPU。

F = 0

字单元选择

n2 = 0

选择字单元时设置“0”

此(LK)选择三个源链接单元。

n1 = 11–16

指定要发送的字数

2. 链接站编号选择(UN:1–63,另一站)

2.位单元发送选择

最多63个站可连接到1链接单元。

F = 1

位单元选择

然后,此(UN)选择目标站编号

n2 = 0–15

目标位编号

n1 = 0–15

源位编号

提示

有关详细信息,请参阅智能单元的相关技术手册。

示例

POU头

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

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_VARIN,,control_value,7,3,9,5,);
B(B_VARIN,,start_address,7,4,9,6,);
B(B_VARIN,,offset,7,5,9,7,);
B(B_VARIN,,output_value,7,6,9,8,);
B(B_CONTACT,,start,3,2,5,4,);
B(B_F,F146_RECV!,Instance,9,1,17,8,,?DEN?Ds1_Control?Ds2_AdrType?Ds2_AdrOffs?Dd_Start?AENO);
L(1,3,3,3);
L(5,3,9,3);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

POU本体

当变量start设置为TRUE时,执行此函数。

LD本体

	VAR
		start: BOOL:=FALSE;
			(*activates the function*)
		control_value: DWORD:=0;
			(*32-bit area for storing
control data*)
		start_address: WORD:=0;
			(*Starting 16-bit area
address for the source
operand specified in s2*)
		output_value: WORD:=0;
			(*Starting 16-bit area
address for storing data
received*)
		offset: INT:=0;
	END_VAR

ST本体

IF start then
    F146_RECV( s1_Control:= control_value, s2_AdrType:= start_address, n_AdrOffs:= offset,
              d_Start:= output_value);
END_IF;

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