xiehuipeng
级别: 探索解密
精华主题: 0
发帖数量: 7 个
工控威望: 132 点
下载积分: 537 分
在线时间: 17(小时)
注册时间: 2011-07-10
最后登录: 2019-09-11
查看xiehuipeng的 主题 / 回贴
楼主  发表于: 2013-03-05 01:06
1:有一台直流源的功能:只要输入0-10V电压就能对应输出0-2000A电流;
2:我用fx2nplc加个2ad模块,控制2ad输出0-10V来使直流源输出0-2000A范围内任意的电流值;
3:2ad模块的分辨率是 0-10V对应0-4000字。
4:程序中控制2ad的寄存器是D100。

现在问题来了-------
精度问题:实际中0-10v未必完全与0-2000A成线性。
比如理论上我要输出500A电流对应2ad输出2.5V(D100=1000字);输出1000A电流对应2ad输出5V(D100=2000字)。
实际中可能需要D100加减几个字才能精确的输出电流值:输出500A电流实际对应2ad输出2.7V(D100>1000字);输出1000A电流实际对应2ad输出4.8V(D100<2000字)。

我的解决方法是-----
1:为了能精确输出0-2000A的电流值,我把电流范围大致分为100段,每20A为一段视为线性。
2:手动调试时:控制D100能+1或者-1,分别记录钳形表显示电流20A、40A、60A...... 2000A时D100里对应的数字,存在以d500开始的100个寄存器里。
3:当我要精确输出一个电流值时,比如55.5A,我就取出40A与60A记录下来的值经过y=kx+b方程计算,得出y值传给D100,这样就能输出55.5A。
4:这种方法段数分得越多越细,精度就越高。但调试却非常非常耗时间。如果客户要输出0-4000A或者精度要求更高,那可不止记录100个数据,可能要成倍成倍的数据量。

所以请各位大神能帮忙想出一种控制方案来解决此种问题,小弟不胜感激。。。。
[ 此帖被xiehuipeng在2013-03-05 10:54重新编辑 ]
ffrffrffr
级别: 探索解密
精华主题: 0
发帖数量: 14 个
工控威望: 132 点
下载积分: 1370 分
在线时间: 3(小时)
注册时间: 2013-03-02
最后登录: 2013-04-28
查看ffrffrffr的 主题 / 回贴
1楼  发表于: 2013-03-05 17:59
可能要成倍成倍的数据量
爱海涛涛
级别: 略有小成
精华主题: 0
发帖数量: 217 个
工控威望: 352 点
下载积分: 548 分
在线时间: 1592(小时)
注册时间: 2010-08-24
最后登录: 2022-04-14
查看爱海涛涛的 主题 / 回贴
2楼  发表于: 2013-03-05 21:10
那这个电源有没有模拟量输出?
zx8008
级别: 略有小成
精华主题: 0
发帖数量: 83 个
工控威望: 235 点
下载积分: 1023 分
在线时间: 84(小时)
注册时间: 2008-11-08
最后登录: 2023-09-15
查看zx8008的 主题 / 回贴
3楼  发表于: 2013-03-05 21:15
有没有可能干扰原因的存在呢?
daisum
级别: 略有小成
精华主题: 0
发帖数量: 204 个
工控威望: 309 点
下载积分: 4496 分
在线时间: 13(小时)
注册时间: 2010-01-21
最后登录: 2023-05-15
查看daisum的 主题 / 回贴
4楼  发表于: 2013-03-07 14:03
PLC請改用FX-3U,其A/D,D/A範圍可設0~32000,比2N精密
kao2012
级别: 探索解密
精华主题: 0
发帖数量: 80 个
工控威望: 194 点
下载积分: 5583 分
在线时间: 50(小时)
注册时间: 2012-06-03
最后登录: 2013-08-05
查看kao2012的 主题 / 回贴
5楼  发表于: 2013-03-15 15:52
你把ad數據乘於1000(放大計算

amyall
级别: 探索解密
精华主题: 0
发帖数量: 25 个
工控威望: 199 点
下载积分: 471 分
在线时间: 57(小时)
注册时间: 2007-11-23
最后登录: 2024-04-15
查看amyall的 主题 / 回贴
6楼  发表于: 2013-03-16 11:39
干扰原因的存在
小布拉
擺个ㄗòsらˇ☆';...播出蕞媄麗啲记忆
级别: 工控侠客
精华主题: 0
发帖数量: 122 个
工控威望: 3795 点
下载积分: 21198 分
在线时间: 167(小时)
注册时间: 2008-12-29
最后登录: 2024-05-12
查看小布拉的 主题 / 回贴
7楼  发表于: 2013-03-21 16:51
建议用工程量转换公式做:
B=A*(HL-LL)/Span+LL
B=1800*(100+100)/4000-100=-10
另外和楼上兄弟说的一样,扩大1000倍或多少倍,做到精细。再使用这个公式进行换算,可以用作模拟量输入也可以反算用做模拟量输出,我现在所有模块量都是用这种。

还有一种方法就是PID,FX2N的PLC有一段程序是专用做PID的,你可以试试,不过输出的值是根据输入的值自动变化而变化的。
附件: 工程量转换.doc (31 K) 下载次数:41
网站提示: 请不要用迅雷下载附件,容易出错
┕☆
         .資料再好.    .吔只褆點綴′
         .想説嘚話全在訫裡... .資料.隨心爾變-...
小布拉
擺个ㄗòsらˇ☆';...播出蕞媄麗啲记忆
级别: 工控侠客
精华主题: 0
发帖数量: 122 个
工控威望: 3795 点
下载积分: 21198 分
在线时间: 167(小时)
注册时间: 2008-12-29
最后登录: 2024-05-12
查看小布拉的 主题 / 回贴
8楼  发表于: 2013-03-21 16:52
另外建议用浮点数来进行运算,这样更精准些。
同样你的模拟量模块也可以校正偏移和增量的,如果你的误差量是恒定的,那么可以用这种校正试试。
┕☆
         .資料再好.    .吔只褆點綴′
         .想説嘚話全在訫裡... .資料.隨心爾變-...