当前位置:
工控论坛
> >
产品
>
PLC
>
国产PLC交流
我要发帖
用PLC高速计数器实现测量模拟量信号的方法
点击:
404
| 回复:
2
gljia
关注
私信
精华:0帖
求助:1帖
帖子:14帖 | 17回
年度积分:4
历史总积分:7804
注册:2005年5月09日
发表于:2013-03-09 11:04:13
楼主
用
PLC
高速计数器实现测量模拟量信号的方法(光电隔离、抗干扰、低成本)PLC的模拟量模块却不尽如意,表现在工作现场特别容易受外界环境干扰,信号波动太大,虽然加大了信号滤波时间,但仍然无法获得良好的可用数据,这究竟是为什么呢?
1、模拟量采集要求信号本身环境要好,包括
传感器
、仪表的供电良好!模拟量传输线路尽量避开强电电缆和高、中、低频干扰,例如:高频焊管机、中频加热炉和
变频器
的输出到电机的电缆等,否则,给你的真实信号中加点“佐料”,从而污染了信号源;
2、
电气
系统接地在施工设计中就要特别重视,如果现场接地处理不好,轻者干扰PLC系统正常工作,重者在带有模拟量的控制回路中根本不能使用或者会损坏传感器、PLC的
电源
、模拟量等模块。
如果说上面的注意事项仅仅是施工设计中需要注意的话,而下面的情况你就需要花更大的功夫了:
1、PLC的模拟量采集模块,没有采用模拟量与PLC回路隔离方式,因此,模拟量输入、输出回路就需要特别当心,如果传感器或者输入回路串入高电压信号,当心其损坏PLC主机?
2、
PLC模块
采用了高速采样方式,可分辨0.25ms的信号变化,这本来是件好事,但实际使用其来却十分讨厌,因为它太敏感了,以致影响了模拟量信号的正常采集,如果遇到信号回路串入干扰、屏蔽不良,则想去掉干扰,单靠增加滤波时间是根本无法解决这类问题,我们曾经就遇到此类问题,不得已,将输入信号经RC滤波回路过滤后才能勉强工作!
由于PLC控制的某些系统,经常要测量各类模拟电压/电流信号,以往通常用电压/电流传感器进行采样,由PLC的模拟量扩展模块进行运算处理。电压传感器输出是模拟量,在电磁骚扰较强的环境中,容易出现较大的测量误差;同时,由于占用模拟量扩展模块宝贵的输入点(模拟量扩展模块价格接近中、小型PLC的价格,且输入点极少),使系统的性价比降低。当用电压/电流/频率转换器进行采样,进而用
PLC高速计数器
计数,能较好地解决上述问题,VFC或IFC转换器输出是脉冲信号,该信号在电磁骚扰下变化极小;另外,该信号是数字量,可直接接入PLC高速计数器的输入点。
CPU224有HSC0-HSC5共6个高速计数器,每个高速计数器都有多种工作模式以完成不同的功能,在使用一个高速计数器时,根据系统的控制需要,首先要给计数器选定一种工作模式,可用高速计数器定义指令HDEF来进行设置。只有定义了计数器和计数器模式,才能对计数器的动态参数进行编程。编程时,每个高速计数器只能使用一条HDEF指令。每个高速计数器都有一个控制字节,包括允许或禁止计数,计数方向的控制,要装入的计数器当前值和要装入的预置值。
V/F传感器把测量的模拟电压信号按着固定的比率转换成矩形脉冲信号,
首先,VFC或IFC变送器将输入电压(电流)转换为脉冲信号,再将此信号送入高速计数器HSC1的输入端,并累计脉冲数。通过设置定时中断0的间隔时间,来控制高速计数器累计脉冲的时间,当预置的间隔时间到后,根据累计脉冲数,计算出被测电压(电流)值。
编程原理:
主程序在第一个扫描周期调用子程序SBR0;
SBR0高速计数器和定时中断的初始化;
INT0对高速计数器求值的定时中断程序;
程序和注释
主程序在第一个扫描周期调用初始化子程序SBR0,仅在第一个扫描周期标志位SM01=1。由子程序SBR0实现初始化。
首先,把高速计数器HSC1的控制字节MB47置为16进制数FC,其含义是:正方向计数,可更新预置值(PV),可更新当前值(CV),激活HSC1。
然后,用定义指令HDEF把高速计数器HSC1设置成工作模式0,即没有复位或启动输入,也没有外部的方向选择。当前值SMD48复位为0,预置值SMD52置为FFFF(16进制)。定时中断0间隔时间SMB34置为100ms,中断程序0分配给定时中断0,并允许中断,用指令HSC1启动高速计数器。
每100ms调用一次中断程序0,读出高速计数器的数值后,将其置零。通过HSC1计数值及变换关系来求被测的电压值。
以上方法已用于多个自控项目,实践证明,该方法进行模拟电压信号测量,具有精度高,抗干扰性强,运行可靠等优点,具有较大的实用价值和广泛的应用前景。
分享到:
收藏
邀请回答
回复楼主
举报
泰山小刀
关注
私信
精华:0帖
求助:2帖
帖子:3帖 | 13回
年度积分:0
历史总积分:60
注册:2013年3月07日
发表于:2013-03-12 14:03:23
1楼
有三菱方面的论文不,对西门子不敢兴趣
回复
引用
举报
大头兄
关注
私信
精华:0帖
求助:3帖
帖子:11帖 | 58回
年度积分:0
历史总积分:241
注册:2008年9月06日
发表于:2013-04-07 10:24:48
2楼
学习了,这是一个好方法!
不过采用100ms中断来换算模拟量,比plc的扫描周期慢多了,除非对速度要求不高。
回复
引用
举报
热门招聘
相关主题
三菱SFC编程实例
[9427]
求助S7-200与PC通信问题
[12483]
为什么放大电路会产生自激振...
[8737]
请教高手指导破解PLC密码
[11100]
3KW的电动机空开、接触器、热继...
[14951]
组态王图库(几百种图片)
[53257]
三菱编程专门解码软件(本人花...
[11883]
MCGS嵌入版,没有触摸屏怎么样...
[17769]
台湾丰炜PLC与三菱PLC兼容吗...
[7941]
西门子plc400 extf红灯亮了,...
[13209]
官方公众号
智造工程师
客服
小程序
公众号