step7 中 scl 内的 计数器怎么 用 怎么 我每次编译都提示错误?

定时器 编译没问题  但是 计数器 类型是 counter 
   currval:= S_CU(c_no:=myc,cd:=true, cv:=cv);   我定义的 currval 和 c_no 都是 counter 类型  ,具体见下面的图片 , 我知道 在scl 里随便 一个 if   和加法 就能 替代计数器  ,但是 我就想 知道 在scl里 计数器怎么用 ,求 指导

图片说明:

step7 中 scl 内的 计数器怎么 用 怎么 我每次编译都提示错误?   

最佳答案

1、计数器分加(S_CU)、减(S_CD)和加减(S_CUD)三种功能可调用,并带BCD码类型返回值。
2、既然定义了myc为COUNTER类型,那么还需声明计数器其它的I/O形参用于调用。示例如下:
FUNCTION_BLOCK FB11 
VAR_INPUT 
  myc  : COUNTER ; 
END_VAR 

VAR_OUTPUT 
  RESULT       : INT ;
END_VAR

VAR
  SET : BOOL := TRUE ; 
  RESET : BOOL ;
  BCD_V: WORD ;      // BCD码数值
  BIN_V : WORD ;       // 二进制数值 
  INIT_V : WORD := 16#0089;
  ACT_Flag : BOOL ;
END_VAR

BEGIN    // 调用S_CD减计数
    BCD_V := S_CD (C_NO := myc,
          CD := TRUE , 
          S    := SET ,
          PV  := INIT_V,
          R    := RESET ,
          CV := BIN_V ,
          Q   := ACT_Flag) ;
    RESULT := WORD_TO_INT (BIN_V) ;     // OUT参数处理
END_FUNCTION_BLOCK

提问者对于答案的评价:
非常感谢您的指导 ,我试了下 在 fb 和fc 中 还是有点不同的,  还有就是  为什么要  Word_TO_ INT   ,我直接用 Word 不行吗

专家置评

TIA 博途下的SCL编程界面比较友好,计数器指令可以直接拖拽至程序中。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc225515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日
下一篇 2018年12月1日

相关推荐