FUNCTION_BLOCK FB50
// Block Parameters
VAR_INPUT
// Input Parameters
Cbr:BOOL;//电机保护开关
Start:BOOL;//启停信号
StartTimSp:TIME;//星型运行时间
ChargeTimSp:TIME;//切换间隔时间
END_VAR
VAR_IN_OUT
// I/O Parameters
END_VAR
VAR_OUTPUT
// Output Parameters
NetRelay:BOOL;//主接触器
StarRelay:BOOL;//星型接触器
DeltaRelay:BOOL;//角型接触器
RunState:BOOL;//运行状态
Alarm:BOOL;//报警
END_VAR
VAR_TEMP
// Temporary Variables
END_VAR
VAR
// Static Variables
StartTim_Ton:Ton;//Ton系统功能SFB4(TON)延时接通定时器
ChangeTim_Ton:Ton;
END_VAR
StartTim_Ton(IN := Cbr AND Start // IN: BOOL
,PT := StartTimSp // IN: TIME
);
ChangeTim_Ton(IN := StartTim_Ton.Q // IN: BOOL
,PT := ChargeTimSp // IN: TIME
);
Alarm:=NOT Cbr;//保护开关跳闸报警
NetRelay:=Cbr AND Start;
RunState:=NetRelay;
StarRelay:=NetRelay AND NOT StartTim_Ton.Q;
DeltaRelay:= NetRelay AND ChangeTim_Ton.Q;
END_FUNCTION_BLOCK
程序运行如下