登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:[求助]请教SFB47设置和使用

点击:12144 回复:3

请教300PLC中SFB47的使用方法。我现在需要用一个旋转编码器来做位移控制,A,B相脉冲相位角相差90度,当旋转编码器顺时针转时,脉冲值增计数,逆时针转则减计数。碰到接近开关后计数值清零。因为旋转编码器在断电后不能保存脉冲值,因此接近开关也作编码器的零点位置。在200PLC中有高速计数器HSC指令,自己定义了I0.6 I0.7,其中I1.0复位脉冲值。在300PLC是SFB47,但是要写太多东西,我不是很清楚怎么使用。CPU是313C,我将A,B相脉冲分别接到2,3号脚,将接近开关信号接到了4号脚(HW GATE)。这个接法应该没有问题吧?然后再OB1调用SFB47。请问,我要实现上诉功能,需要做什么?哪位高手能将HW的设置和SFB47的设置告诉以下,不胜感激。
CALL  "COUNT" , DB30
      LADDR   :=
      CHANNEL :=
      SW_GATE :=
      CTRL_DO :=
      SET_DO  :=
      JOB_REQ :=
      JOB_ID  :=
      JOB_VAL :=
      STS_GATE:=
      STS_STRT:=
      STS_LTCH:=
      STS_DO  :=
      STS_C_DN:=
      STS_C_UP:=
      COUNTVAL:=
      LATCHVAL:=
      JOB_DONE:=
      JOB_ERR :=
      JOB_STAT:=
上面这么多东西,怎么弄?
07-01-16 19:38
SFB47用于控制PLC的晶体管接口的脉冲的宽度,,
如果要使用,必须在硬件组态中定义晶体管通道口,,
一般 300的PLC,313C,313C-2DP 315-2DP。这是我用过的PLC,通道口只有三个0.1.2,
定义好了后,(具体用法,一些说明,你再看看)才用在
SFB47中,设置通道口CHANNEL :=(0。1。2三个任选一个)
    JOB_VAL :=为脉通宽度,一般我设500
 LADDR   :=为使能端
其余可暂不定义,,具体的我也忘了,这样设好好,就可以在0。1。2中的一口输出一个500宽度的脉冲,,这个脉冲是可调的,,你可以在硬件组态中看,,
如果有疑问,再说,我现在在外边出差。。。
07-01-18 20:16
使能端应该可以不需要条件的吧?而且我现在需要的是连续计数,而不是频率。所以我认为 JOB_VAL 也是不需要的。我现在是什么也没定义。但是监控了以后,没有检测到任何脉冲信号。
07-01-23 21:54
laddr=:子模块地址
sw_gate:软件门
chanel:按照你的接法应设置0
COUNTVAL:=当前机数值
如有不明qq:284107158
07-06-02 09:47

工控新闻

更多新闻资讯