SUB

累加器的内容从操作数字段中定义的操作数中被减去。结果被传输到累加器。

参数

输入

未定义的输入 (INT, DINT, UINT, UDINT, REAL, LREAL)

第1个输入:被减数

未定义的输入 (INT, DINT, UINT, UDINT, REAL, LREAL)

第2个输入:减数

输出

未定义的输出 (INT, DINT, UINT, UDINT, REAL, LREAL)

作为输入输出:结果

标注

所有操作数必须为相同的数据类型。

示例

POU头

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

	VAR
		bStart: BOOL:=FALSE;
		iMinuend: INT:=0;
		iSubtrahend: INT:=0;
		iResult: INT:=0;
	END_VAR

在此例中,已声明输入变量(iMinuendiSubtrahendbStart)。相反,可以将常量直接输入函数(例如启用输入进行测试)。

LD本体

如果设置了bStart,则从iMinuend中减去iSubtrahend(数据类型INT)。结果将被写入iResult(数据类型INT)。

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,,minuend,6,3,8,5,);
B(B_VARIN,,subtrahend,6,4,8,6,);
B(B_VAROUT,,result,14,3,16,5,);
B(B_CONTACT,,enable,3,2,5,4,);
B(B_F,E_SUB!,Instance,8,1,14,6,,?DEN?D?D?AENO?C);
L(1,3,3,3);
L(5,3,8,3);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST本体

IF bStart then
    iResult:=iMinuend-iSubtrahend;
END_IF;

IL本体

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