用S7-200的高速计数器HSC累计来自模拟量/频率转换器(A/F)的脉冲来模拟电压值

题目:用S7-200 系列PLC CPU 214的高速计数器HSC累计来自模拟量/频率转换器(A/F)的脉冲来模拟电压值

***概述***

本例说明了如何利用CPU 214的高速计数器HSC及频率转换器来计算模拟电压。首先频率转换器将输入电压(0-10V)转换为矩形脉冲信号(0-2000Hz),再将此信号送入CPU 214高速记数器的输入端并累计脉冲数。当预置的间隔时间到后,通过累计脉冲数,计算出被测模拟电压值。
硬件要求
需要使用如下设备:
1台   CPU214          AC/AD/RLY或DC/DC/DC
1台  电压/频率转换器      SFW01(Trankner Company)
(地址:Engineering Office Trankner, Industrial Area North PF38,09618 Brand-Erbisdort,
Germany)
计数参数:      供电电压      24V DC
输入          0-10v DC
输出          方波,GND-24V
测量范围      0-10V 0-2000Hz
比率          200Hz/V (线性)

***程序结构***

主程序        在第一个扫描周期调用子程序SBR0
SBR0        高速计数器和定时中断的初始化
INT0        对高速计数器求值的定时中断程序

***程序和注释***

主程序在第一个扫描周期调用初始化程序SBR0,仅在第一个扫描周期标志位SM0.1=1由子程序实现初始化。首先,把高速计数器HSC1的控制字节SMB47置为16进制数’FC’其含义是:正方向计数,可更新预置值(PV),可更新当前值(CV),激活HSC1然后,用指令’HDEF’把高速计数器HSC1置成工作模式0,即没有复位或起始输入,也没有外部的方向选择。当前值SMD48复位为0预置值SMD52置为FFFF(十六进制).定时中断0间隔时间SMB34置为100ms,中断程序0分配给定时中断0(中断事件10),并允许中断。用指令HSC1启动高速计数器。每100ms调用一次中断程序0,读出高速计数器的数值后将其置零。通过HSC1计数值及变换关系(0-2kHz对应于0-10V)来求被测的模拟电压值。本例中,计数值仅除以2,然后置入输出字节QB0,以便通过LED来显示被测的电压值。显示值与10倍真实电压值相对应。例如,计数值为200除以2是100,那么被测的模拟电压值就是10.0V。因为计数器100ms内共有200个计数脉冲,这正与2000Hz-10V相对应, 假设计数值为104,则实际电压值应为5.2V注意:定时中断间隔时间可在5-255ms的范围内变化,然而通过设立一个标志,可根据需要来延长高速计数器的求值和复位时间,这样就有更长的扫描间隔,以便提高精确度,同时也会带来更长的更新时间。例如,定时中断设为100ms,每调用一次,标志增加1,仅当标志满10时,才对高速计数器求值和复位。也就是说,10V电压可接收的最大脉冲为2000,这样,求值精确到5/1000V,即精确度是上例的10倍,但同时速度也减慢了10倍。

程序下载:S7-200使用高速计数器累计脉冲来模拟电压值例程

解压密码

暂无优惠

已有0人支付

程序内容主要在SBR_0和INT_0这2个块里

S7-200使用高速计数器HSC累计脉冲来模拟输出电压值例程 1.jpg

S7-200使用高速计数器HSC累计脉冲来模拟输出电压值例程 2.jpg

1,本站所有资源来源于用户上传和网络搜集,如有侵权请邮件联系站长删除。
2,分享目的仅供大家个人的学习用途,请不要用于商业用途。
3,如果你也有好的源码或者教程,可以投稿到本站,采纳后有积分奖励。
4,本站提供的各类资源均不保证其可用性及完整性,也没有任何技术服务。
5,如有链接无法下载、失效、过期,请联系管理员处理。
6,本站资源部分需要积分只是赞助,仅用于本站服务器和日常运营所需,不提供任何技术支持。
快捷联系方式 Email:admin@lzbk.com QQ:361113272
蓝知博库 » 用S7-200的高速计数器HSC累计来自模拟量/频率转换器(A/F)的脉冲来模拟电压值

提供最优质的资源集合

立即查看 了解详情