F150_READ

从智能单元读取的数据

从智能模块中的共享内存读取数据。

参数

输入

s1_BankSlot (WORD, INT, UINT)

指定智能模块共享内存中的库/插槽编号

s2_Start (WORD, INT, UINT)

指定智能模块共享内存中的起始地址(源数据地址)

n_Number (INT)

指定要读取的字数

d_Start (WORD, INT, UINT)

CPU中用于存储读取数据的起始地址(目标地址)

标注

存储在s1_BankSlot指定的智能单元/模块的共享内存中的n_Number字数据,从s2_Start指定的地址被读取,并存储在CPU的d_Start指定的区域中。

输入处的变量参数数量受PLC的可用索引寄存器所限制。

指定s1_BankSlot

  • 不带库的智能单元

    指定已安装目标智能单元的插槽编号。

    1.  (1) 高位字节
    2.  (2) 较低字节
  • 带有库的智能单元

    指定已安装目标智能单元的插槽编号(十六进制常量)和库号(十六进制常量)。

    1.  (1) 高位字节
    2.  (2) 较低字节
   
 

名称

序号

 

FP3扩展数据存储单元

AFP32091

AFP32092

 

FPS扩展数据存储单元

AFPG201

错误标志

sys_bIsOperationErrorHold(变为TRUE并保持为TRUE)
  • 如果s1_BankSlot超出指定范围的限制

  • 如果读取的数据超出d_Start的区域

sys_bIsOperationErrorNonHold(对于一次扫描变为TRUE)
  • 如果s1_BankSlot超出指定范围的限制

  • 如果读取的数据超出d_Start的区域

示例

POU头

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

	VAR
		Start: BOOL:=FALSE;
			(*activates the function*)
		SlotNo: WORD:=16#03;
			(*if start is TRUE, this value
gets 2 words from the address
1 from the unit-slot 0*)
		AddrDataToRead: INT:=19;
		NoWordsToRead: INT:=4;
		DestAddrCPU: ARRAY [0..3] OF INT:=[4(0)];
			(*Starting address in CPU to store data read*)
	END_VAR

POU本体

读取存储在智能单元共享内存(位于插槽3中)的AddrDataToRead中指定的从19开始的地址中的4字数据。然后,当Start开启时,将其存储在数组DestAddrCPU中。

  1.  (1) 插槽编号
  2.  (2) 智能单元
  3.  (3) CPU
  4.  (4) 4字

LD本体

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_F,F150_READ!,Instance,13,1,21,8,,?DEN?Ds1_BankSlot?Ds2_Start?Dn_Number?Dd_Start?AENO);
B(B_VARIN,,SlotNo,11,3,13,5,);
B(B_VARIN,,NoWordsToRead,11,4,13,6,);
B(B_VARIN,,NoWordsToRead,11,5,13,7,);
B(B_VARIN,,DestAddrCPU[0],11,6,13,8,);
B(B_CONTACT,,Start,7,2,9,4,);
L(9,3,13,3);
L(1,3,7,3);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST本体

IF start then
    F150_READ( s1_BankSlot:= SlotNo,
         s2_Start:= AddrDataToRead,
         n_Number:= NoWordsToRead,
         d_Start:= DestAddrCPU[0]);
END_IF;

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