FP_DIRECT_IN

读取直接输入继电器

此指令使用直接执行命令读取输入继电器(X)的值。Input_X将在当前PLC循环内异步读取。

输入

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

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

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

输出

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

直接从Input_X读取的值

错误标志

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

示例

全局变量

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

POU头Copy code to clipboard

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

	VAR
		bValue: BOOL:=FALSE;
	END_VAR

LD本体Copy code to clipboard

当变量bReadInput设置为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,,bReadInput,4,1,6,3,);
B(B_F,E_FP_DIRECT_IN!,,15,0,23,4,,?DEN?DInput_X?AENO?CValue);
B(B_VARIN,,g_bDirectIn_X1,13,2,15,4,);
B(B_VAROUT,,bValue,23,2,25,4,);
L(1,0,1,5);
L(1,2,4,2);
L(6,2,15,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST本体Copy code to clipboard

if (bReadInput) then
    bValue:=FP_DIRECT_IN(g_bDirectIn_X1);
end_if;

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