codesys 接口程序

------------------------------------------------------
------------------------------------------------------
INTERFACE I_count

METHOD M_count : INT
VAR_INPUT
    num1:INT;
    num2:INT;
END_VAR

PROPERTY Comment : STRING
    
PROPERTY Count : INT

------------------------------------------------------
------------------------------------------------------
FUNCTION_BLOCK FB_ADD IMPLEMENTS  I_count
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
    temp:INT;
END_VAR

METHOD M_count : INT
VAR_INPUT
    num1:INT;
    num2:INT;
END_VAR
    
temp:=num1 + num2;
M_count:=0;
IF temp >= 0 THEN
    M_count:=1;
ELSE
    M_count:=-1;
END_IF

PROPERTY Comment : STRING
Comment:='ADD';
    
PROPERTY Count : INT
Count:=temp;
    
------------------------------------------------------
------------------------------------------------------
FUNCTION_BLOCK FB_SUB IMPLEMENTS  I_count
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
    temp:INT;
END_VAR

METHOD M_count : INT
VAR_INPUT
    num1:INT;
    num2:INT;
END_VAR
    
temp:=num1 - num2;
M_count:=0;
IF temp >= 0 THEN
    M_count:=1;
ELSE
    M_count:=-1;
END_IF

PROPERTY Comment : STRING
Comment:='SUB';
    
PROPERTY Count : INT
Count:=temp;
    
------------------------------------------------------
------------------------------------------------------
PROGRAM P_test
VAR
    change:BOOL;
    Icount:I_count;
    FbAdd:FB_ADD;
    FbSub:FB_SUB;
    
    count:INT;
    result:INT;
    comment:STRING;
END_VAR

IF change THEN
    Icount:=FbAdd;
ELSE
    Icount:=FbSub;
END_IF

result:=Icount.M_count(150,200);
count:=Icount.Count;
comment:=Icount.Comment;

你可能感兴趣的:(codesys,codesys)