发表于:2007/12/13 13:37:00
#0楼
小弟是新手,第一次用到高速计数器,求助各位前辈高手!我用的是西门子S7-224CN
我先用HSC向导建了一个hsc程序,选HSC0,模式1。
HSC INIT:初始化HSC0
PV输入:VD100 CV输出:VD200
EXTERN_RESET:外部输入中断
COUNT_EQ:预置值中断
HC0编程选1步,完成。
=======================================================================================
生成的STL如下:
主成序:
LD SM0.1
CALL 初始化HSC0
初始化HSC0:
LD SM0.0
MOVB 16#F8, SMB37 //设置控制位:增计数;复位有效逻辑 HIGH(高);已使能;
MOVD VD200, SMD38 //装载 CV
MOVD VD100, SMD42 //装载 PV
HDEF 0, 1
ATCH 外部输入中断, 28 //中断程序 外部输入中断:HC0 的外部复位
ATCH 预置值中断, 12 //中断程序 预置值中断:HC0 的 CV = PV
ENI
HSC 0
外部输入中断:空的。
预置值中断:
LD SM0.0
MOVB 16#80, SMB37 //设置控制位:
HSC 0
===============================================================================================
我把编码器接在I0.0,复位接在I0.2.可一点反应都没有啊!计数器当前值也没变化。外部输入中断为什么是空的。
请高手前辈帮我把程序完善一下好吗?只要计数器能运行到预设值输并置位M10.0,再给个复位信号能复位就行。先谢谢了!
我的qq是:846036502 邮箱是:syg2005@126.com
我先用HSC向导建了一个hsc程序,选HSC0,模式1。
HSC INIT:初始化HSC0
PV输入:VD100 CV输出:VD200
EXTERN_RESET:外部输入中断
COUNT_EQ:预置值中断
HC0编程选1步,完成。
=======================================================================================
生成的STL如下:
主成序:
LD SM0.1
CALL 初始化HSC0
初始化HSC0:
LD SM0.0
MOVB 16#F8, SMB37 //设置控制位:增计数;复位有效逻辑 HIGH(高);已使能;
MOVD VD200, SMD38 //装载 CV
MOVD VD100, SMD42 //装载 PV
HDEF 0, 1
ATCH 外部输入中断, 28 //中断程序 外部输入中断:HC0 的外部复位
ATCH 预置值中断, 12 //中断程序 预置值中断:HC0 的 CV = PV
ENI
HSC 0
外部输入中断:空的。
预置值中断:
LD SM0.0
MOVB 16#80, SMB37 //设置控制位:
HSC 0
===============================================================================================
我把编码器接在I0.0,复位接在I0.2.可一点反应都没有啊!计数器当前值也没变化。外部输入中断为什么是空的。
请高手前辈帮我把程序完善一下好吗?只要计数器能运行到预设值输并置位M10.0,再给个复位信号能复位就行。先谢谢了!
我的qq是:846036502 邮箱是:syg2005@126.com