西门子SCL编程之定时器函数的例子

FUNCTION_BLOCK TIMER
VAR_INPUT
  mytime       : TIMER ;
END_VAR
VAR_OUTPUT
  result       : S5TIME ;
END_VAR
VAR
  set          : BOOL ;
  reset        : BOOL ;
  bcdvalue     : S5TIME ; // 时基和BCD码形式的保持值
  binvalue     : WORD ;   // 二进制形式的时间值
  initialvalue : S5TIME ;
END_VAR
BEGIN
  Q0.0         := 1;
  set          := I0.0 ;
  reset        := I0.1;
  initialvalue := T#25S ;
  bcdvalue     := S_PEXT (T_NO := mytime ,
                  S            := set ,
                  TV           := initialvalue ,
                  R            := reset ,
                  BI           := binvalue ,
                  Q            := Q0.7) ;
// 更多输出参数的的处理
  result       := bcdvalue ;
// 显示输出
  QW4          := binvalue ;
END_FUNCTION_BLOCK
FUNCTION_BLOCK TIMER VAR_INPUT mytime : TIMER ; END_VAR VAR_OUTPUT result : S5TIME ; END_VAR VAR set : BOOL ; reset : BOOL ; bcdvalue : S5TIME ; // 时基和BCD码形式的保持值 binvalue : WORD ; // 二进制形式的时间值 initialvalue : S5TIME ; END_VAR BEGIN Q0.0 := 1; set := I0.0 ; reset := I0.1; initialvalue := T#25S ; bcdvalue := S_PEXT (T_NO := mytime , S := set , TV := initialvalue , R := reset , BI := binvalue , Q := Q0.7) ; // 更多输出参数的的处理 result := bcdvalue ; // 显示输出 QW4 := binvalue ; END_FUNCTION_BLOCK
经验分享 程序员 微信小程序 职场和发展