F151_WRT

写入智能单元的内存

将数据写入智能单元的共享内存。

参数

输入

s1_BankSlot (WORD, INT, UINT)

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

s2_Start (WORD, INT, UINT)

CPU共享内存中数据的起始地址

n_Number (INT)

指定要写入共享内存的字数

d_Start (WORD, INT, UINT)

指定智能单元中用于存储写入数据的起始地址(目标地址)

标注

将初始数据的n_Number字从CPU的s2_Start指定的区域写入s1_BankSlot指定的智能单元的共享内存的d_Start指定的地址。

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

指定s1_BankSlot

  • 不带库的智能单元

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

  • 带有库的智能单元

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

   
 

名称

序号

 

FP3扩展数据存储单元

AFP32091

AFP32092

 

FPS扩展数据存储单元

AFPG201

错误标志

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

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

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

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

示例

POU头

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

	VAR
		Start: BOOL:=FALSE;
			(*activates the function*)
		SlotNo: WORD:=16#0D;
			(*if start is TRUE, this value
will be written to the address
1 from the unit-slot 0*)
		CPUDataToWrt: ARRAY [0..4] OF INT:=[5,10,15,20,25];
		NoWordsToWrite: INT:=5;
		DestinationAddr: INT:=0;
	END_VAR

POU本体

当Start开启时,CPUDataToWrt中定义的五字数据被写入智能单元共享内存(位于插槽0中)的以0到4开始的地址中。

  1. 槽号
  2. CPU
  3. 智能单元
  4. 5字

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_VARIN,,SlotNo,11,3,13,5,);
B(B_VARIN,,CPUDataToWrt[0],11,4,13,6,);
B(B_VARIN,,NoWordsToWrite,11,5,13,7,);
B(B_VARIN,,DestinationAddr,11,6,13,8,);
B(B_CONTACT,,Start,7,2,9,4,);
B(B_F,F151_WRT!,Instance,13,1,21,8,,?DEN?Ds1_BankSlot?Ds2_Start?Dn_Number?Dd_Start?AENO);
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
    F151_WRT( s1_BankSlot:= SlotNo,
         s2_Start:= CPUDataToWrt[0],
         n_Number:= NoWordsToWrite,
         d_Start:= DestinationAddr);
END_IF;

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