FP_DIRECT_OUT

写入直接输出继电器

此指令使用直接执行命令写入输出继电器(Y)的值。Output_Y将在当前PLC循环内异步写入。

输入

Value FP0H, FP-XH(BOOL)FP7: (BOOL, WORD, DWORD)

直接写入Output_Y的值

输出

Output_Y FP0H, FP-XH(BOOL)FP7: (BOOL, WORD, DWORD)

包含要直接写入的FP地址或显式用户地址的全局变量。

FP0H, FP-XH:FP地址的有效范围为向其分配真正输出引脚的Y0–Y109F。否则PLC会出现运算错误。

错误标志

sys_bIsOperationErrorHold(变为TRUE并保持为TRUE)
  • 如果使用索引寄存器指定的区域超出限制。
sys_bIsOperationErrorNonHold(对于一次扫描变为TRUE)
  • 如果使用索引寄存器指定的区域超出限制。

示例

全局变量

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

POU头Copy code to clipboard

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

	VAR
		bWriteOutput: BOOL:=FALSE;
	END_VAR

LD本体Copy code to clipboard

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

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bWriteOutput,5,1,7,3,);
B(B_F,E_FP_DIRECT_OUT!,,15,0,24,4,,?DEN?DValue?AENO?COutput_Y);
B(B_VARIN,,bValue,13,2,15,4,);
B(B_VAROUT,,g_bDirectOut_Y1,24,2,26,4,);
L(1,0,1,5);
L(1,2,5,2);
L(7,2,15,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST本体Copy code to clipboard

if (bWriteOutput) then
    bValue:=FP_DIRECT_OUT(g_bDirectOut_Y1);
end_if;

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