用PLC高速计数器和电压/频率传感器测量模拟电压信号的方法
每100ms调用一次中断程序0,读出高速计数器的数值后,将其置零。通过HSC1计数值及变换关系来求被测的控制母线电压值。本例中,采用参数为输入0~500V、输出0~10kHz的V/F传动器,100ms时间累计脉冲最多为1kHz,在中断程序中用乘法指令MUL将该计数值乘5,则100ms内最多脉冲累计数为1k×5=5kHz,从而实现显示值与10倍的真实电压值相对应,假设经乘法指令运算后计数值为2200Hz,则实际电压值相应为220V。然后将经程序处理的计数值置入输出字节QBO,以便通过LED来显示被测的模拟电压值。高速计数器和V/F传感器测量模拟电压信号的主程序、子程序和中断程序如下所述。
主程序
LD SM0.1 //用初次扫描存储器位(SM0.1)调用执行初始化操作的子程序。由于采用这样的子程序调用,后续扫描不会再调用这个子程序,从而减少了扫描时间,也提供了一个结构优化的程序。
CALL SBR_0 //调用初始化子程序SBR_0
子程序
SBR0 SM0.0 //启动子程序0
LD SM0.0 //SM0.0总是1
MOVB 16#FC,SMB47 //设置高速计数器HSC1控制字节:上升沿复位,上升沿启动,1X计数速率,正向计数,可改变方向,可更新PV(预置值),可CV(当前值),激活HSC1。
HDEF 1,0 //定义高速计数器,选用HSC1工作于模式0
MOVO 0,SM048 //HSC1当前值清0
MOVD 16#FFFF,SMD52 //将预置值装入SMD52
MOVB 100,SMB34 //设置定时中断0间隔时间为100ms
ATCH 0,10 //中断连接指令,中断程序为INT_0,事件号为10
EN 1 //允许所有中断
HSC 1 //编程计数器SHC1,使设置生效
中断程序0
INT 0 //启动中断程序
LD SM0.0 //SM00总是1
MOVD HSC1,AC0 //把HSC1的计数值存入累加器AC0
MOVD AC0,VD100 //把计数值存入VD100
MOVD 0,SM048 //HSC1当前值清0
MOVB 16#C0,SMB47 //重新设置HSC1控制字节:上升沿复位,上升沿启动,4X计数速率;反向计数,不改变计数方向,不更新PV,可更新CV,激活HSC1。
HSC 1 //启动高速计数器HSC1
MUL 5,VD100 //把HSC1的计数值乘以5
MOVB VB103,QB0 //在输出端Q00至Q0.7显示10倍被测控母电压值
4 结语
以上方法已用于GZS2智能型高频开关直流电源等控制系统(变电站、发电厂用直流电源),实践证明,该方法进行模拟电压信号测量,具有精度高(最高可达5/1000V),抗骚扰性强,运行可靠等优点,具有较大的实用价值和广泛的应用前景。
- 基于Zigbee技术家用无线网络的构架(12-14)
- 无线通信领域中的模拟技术发展趋势(蜂窝基站)(09-22)
- 新一代移动通信系统及无线传输关键技术(06-19)
- 蜂窝移动通信基站电磁辐射对人体影响的探讨(04-10)
- 基站升级换代中平衡性能与成本(10-06)
- 在3G与Wi-Fi之间切换 H3C 运营商WLAN解决方案(01-15)