技成培训网 技成学习APP 技成工具箱

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 西门子PLC > 西门子PLC高速计数器的模拟控制和测速控制

西门子PLC高速计数器的模拟控制和测速控制

饶等 发布于2021-07-26 10:55 139 2 标签:西门子PLC,PLC案例,新手攻略

【免费下载】PLC软件下载_PLC软件安装教程_PLC手册下载_PLC案例下载!

【免费学习】 变频器精品课程_西门子PLC精品教程_三菱PLC精品教程!


在上一篇文章中给大家介绍了西门子S7-200 PLC的高速计数器的基本使用方法(没看过的朋友记得翻回去看一下哦,不然程序有可能会看不明白),而一般来说高速计数器常用于模拟控制和测速控制,下面就分别讲一下这两个控制例子的程序设计和编程思路。

一、高速计数器的模拟控制

高速计数器的模拟控制是用S7-200 PLC的高速计数器来累计来自模拟量/频率转换器(A/F)的脉冲来模拟电压值的。假设频率转换器将输入电压(0-10V)转换为矩形脉冲信号(0-2000Hz),再将此信号送入CPU 高速记数器的输入端并累计脉冲数。当预置的间隔时间到后,通过累计脉冲数,计算出被测模拟电压值。

主程序:



主程序中在第一个扫描周期调用初始化程序SBR0,仅在第一个扫描周期标志位SM0.1=ON时由子程序实现初始化。

子程序:



在子程序中,首先把高速计数器HSC1的控制字节SMB47置为16#FC,其含义是:加计数,可更新预置值(PV),可更新当前值(CV),用指令HDEF把高速计数器HSC1置成工作模式0,即没有复位或起始输入,也没有外部的方向选择。当前值SMD48复位为0,预置值SMD52置为FFFF(十六进制),定时中断0间隔时间SMB34置为100ms,用ATCH指令将中断程序0分配给中断事件10,即定时中断0,并用ENI指令允许中断,用指令HSC启动高速计数器HSC1。

中断程序:



因为定时中断0间隔时间SMB34置为100ms,所以每100ms调用一次中断程序0,读出高速计数器的数值存到VD100,后将其置零。案例是通过频率转换器将输入电压(0-10V)转换为矩形脉冲信号(0-2000Hz),通过HSC1的计数值及变换关系(0-2000kHz对应于0-10V)来求被测的模拟电压值。SHR-DW为右移指令,将VD100的二进制位右移一位,相当于是除于2,也就是将VD100的脉冲数除以2,然后将低位的VB103输出到QB0,以便通过Q0.0~Q0.7的LED来显示被测的电压值,显示值与10倍真实电压值相对应。

关于计算部分,我们举例计算一下,假如计数值为200,200除以2是100,那么被测的模拟电压值就是10.0V。因为计数器100ms内共有200个计数脉冲,这正好与2000Hz-10V相对应, 假设计数值为104,则实际电压值应为5.2V。注意:定时中断间隔时间可在5-255ms的范围内变化,我们可以通过设立一个标志,可根据需要来延长高速计数器的求值和复位时间,这样就有更长的扫描间隔,以便提高精确度,同时也会带来更长的更新时间。

二、高速计数器的测速控制

高速计数器的测速控制是利用高速计数器来实现测量转速,比如说测电机的转速。其中会利用到脉冲数和电机转速的计算。设计思路是主程序中调用子程序进行初始化,子程序中做高速计数器及中断的定义,中断程序中做转化计算部分,下面我们详细看一下程序。

主程序:



在PLC上电运行的第一个扫描周期执行一次子程序,用于程序运行的初始化设置。

子程序:



在子程序中,首先对VB0和VD0进行清零,VB0用于记录累加数据的次数,VD0累加数据的中间变量。接着设置高速计数器HSC0的控制字节为16#F8,即更新当前值,加计数,用指令HDEF把高速计数器HSC0置成工作模式0,为单相计数输入,没有外部控制功能。当前值SMD38复位为0,定时中断0间隔时间SMB34置为50ms,用ATCH指令将中断程序0分配给中断事件10,即定时中断0,并用ENI指令允许中断,用指令HSC启动高速计数器HSC0。

中断程序:



中断程序是每隔50ms扫描刷新一次,采用加法指令将高速计数器HC0的当前计数值和累加数据变量VD0相加一次,用于数据的累加,同时用递增指令对VB9进行加1,即记录累加的次数,这里再执行一次HSC指令是为了将初始值寄存器SMD38再次写入高速计数器HC0,使当前值为0,以便于下一次的定时采样。



当累加数据的次数等于32次时,执行运算指令,除法指令除以32是计算出累计脉冲数的平均值,乘以100是将平均值转化成以转/分单位的数据,并存到VD4中,用DI_I指令是将双整数转换成整数,存储到VW10中,VW10就是电机的转速,后面的传送指令是对VB0和VD0进行清零,用于下一次重新开始累加。

以上就是高速计数器的模拟控制和测速控制,这几个控制可能在实际应用中会应用的较多,还是有必须掌握一下的哦,你学废了吗?

(技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)

电工精品教程

立即扫码免费学习


电工题库宝典

立即扫码免费下载

超全PLC学习资料包

立即扫码免费下载

故障查询小程序

立即扫码免费使用

若有收获,就点个赞吧!

分享到:

微信扫一扫分享

阅读与本文标签相同的文章

西门子PLC PLC案例 新手攻略

相关推荐

热门文章 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签