s7-200高速计数器脉冲模式为什么触发不止一次并且当前值重置但没有复位的效果?

s7-200 高速计数器HC0 输入端I0.0 高电平有效,模式脉冲
SBR_0
TITLE=子程序注释//执行子程序进行自由口和高速计数器的初始化
Network 1 // 网络标题
// 自由口的初始化
LD     SM0.0
MOVB   16#09, SMB30

Network 2 
// 数据块初始化
LD     SM0.0
MOVB   16#1, VB100                 //发送的内容字符"1"
MOVB   16#31, VB101

Network 3 
// 高速计数器初始化
LD     SM0.0
MOVB   16#F8, SMB37                //针对0计数器的控制字节
HDEF   0, 1                        //第0个计数器, 模式1脉冲方式
MOVD   0, SMD38                    //高速计数器的当前值和设定值
MOVD   1, SMD42
ATCH   INT0, 12                    //申请中断指令 12事件为HSC0 CV=PV(当前值=预设值)
ENI                                //允许中断指令
HSC    0

INT_0
LD     SM0.0
A      SM4.5                       //通讯端口闲置时为1
XMT    VB100, 0
MOVD   0, SMD38                    //高速计数器的当前值和设定值
MOVD   1, SMD42
HSC    0                           //使高速计数器0有效
=      Q0.4

我发现用手去闭合输入端,一次输出不止一个"1",脉冲不是从低到高的一瞬间吗?还有闭合几次程序就无输出了,我在中断程序里边重新赋值当前值和设定值的,请高手解答下,谢谢!

最佳答案

你的高速计数器预设值怎么设置为1(SMD42),和当前值怎么是0。
一次人工触发高速输入口,实际上在连接过程中高速计数器已经接受到几个脉冲了。
参考高速计数器初始化程序:
LD     SM0.1
MOVB   16#FC, SMB37
HDEF   0, 9
MOVD   VD100, SMD38
MOVD   16#FFFFFFFF, SMD42
ATCH   长度到达:INT1, 12
ENI
HSC    0

提问者对于答案的评价:
首先谢谢您的回复!我的实际需求是测自行车的速度,有一个干簧管,导通时高电平发送字符"1"代表1圈,所以计数从0到1就可以了,最主要的问题是我在中断12事件里将SMD38重新置为0,为什么实际的效果是运行几次后没有置位呢?

最佳答案作者回复:
换一种思路试试,如自行车旋转一周产生若干个脉冲,你检测一个脉冲可能会出现类似计数器计数不准的问题。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月6日 下午6:36
下一篇 2017年11月6日 下午6:36

相关推荐

  • PID向导中SP的设定

    压力传感器输入PLC的PID去控制泵,量程0~1MPA对应4~20MA,需稳定在0。5MPA请问在PID向导中SP的高低范围如何设?增益和积分项大致在那个范围?谢谢namelife…

    SIMATIC S7-200 2021年7月4日
  • 温度控制问题

    请教高手200的PLC最多只能用8个PID回路,现场有十多个温度点都需要通过PID来控制温度,输出方式是普通的继电器控制,请问有什么好的方法? 问题补充:如果要自己编写PID程序,…

    SIMATIC S7-200 2021年7月5日
  • 软件安装?

    在装STEP7 MicroWIN V4.0 SP3 的时候,装到工业以太网安装的时候突然停止了,没有出现任何错误,是什么原因? &…

    SIMATIC S7-200 2021年7月5日
  • S7200 PID

    请教各位专家:        比如说我用的0~10V对应0~50度的传感器,做了个PID去控制一个电…

    SIMATIC S7-200 2021年7月5日
  • 电池卡的使用

    想PLC在长时间停电后时钟不还原初始值,实时时钟一直在工作中,计划加电池卡。问题1:带电池卡的实时时钟(6ES7 297-1AA20-0XA0)与BC 293,…

    SIMATIC S7-200 2018年12月5日
  • 有硬件版本的问题吗?

    06年的系统plc为cpu226,现在想扩展一个输入模块可以扩展吗?这个要不要考虑硬件版本问题? 最佳答案 cpu226,现在想扩展一个输入模块可以扩展吗?最多扩展模块的数目为7,…

    SIMATIC S7-200 2020年10月31日
  • PLC200扫描狗超时报警。

    可以正常运行!每天会有1-2次跳到这个报警,跳报警的动作是同一个动作。我来简述下具体的事件:我按下停止按钮,隔了3-5S,PLC跳扫描狗超时报警。按下停止按钮,是停了两台电机。 问…

    2021年7月5日
  • cpu224无法通信

    一cpu224带一TD400C,它俩之间通信没问题,经查参数设置无问题,我想用笔记本电脑修改程序发现不能通信(用的是PC\PPI电缆),用该电脑及电缆与其它cpu224通信没问题.…

    SIMATIC S7-200 2021年7月5日
  • EM231 4通道RTD模块及EM277模块,订货问题。

    “6ES7 231-7PC22-0XA0“和“6ES7 277-0AA22-0XA0”是不是已经停产了?有没有替代型号? 问题补充:补充:在手册里,没有找到CN…

    SIMATIC S7-200 2017年6月1日
  • 程序到底有多大

    从保存的程序文件属性里看,程序有29K,从编译的信息窗看,仅4K不到,为啥相差这么大? 最佳答案 程序文件保存的是程序的信息,包含了程序、结构、语言等很多,而编译后的文件变成了二进…

    SIMATIC S7-200 2020年11月1日