SOPC分析仪器信息管理及系统调试
扫描二维码
随时随地手机看文章
引言
基于SOPC的在线分析仪器平台从数据采集到显示已经可以完成分析仪器的基本功能,但是随着仪表在线检测、显示、传送等要求逐渐提高,以及方便仪器与PLC、DCS等生产过程自动化的仪表相连,有必要为分析仪器设计信息管理系统。
1信息管理系统界面设计
测量界面采用双缓存图片。把一个图像作为缓存,两个图像就是双缓存了。一个作为前台缓存,一个作为后台缓存。即:创建一个绘制缓冲区,以bufImage表示,先将主要的图形元素一个一个地绘制到此缓冲图像上,再将此缓冲图像一次性绘到代表屏幕的Graphics对象上。
本设计在VisualC++界面编程中使用了Skin++。Skin++是一款通用的软件换肤套件,目前支持各种版本操作系统,Windows9x、Windows2000、WindowsXP、Windows2003等,并支持VC、VB、C#、PB、Delphi、C++Builder等各种开发语言。Skin++换肤的效果较好,程序本身也比较稳定。
另外,本文在界面设计中也采用了复合文件,结构化存储,这是微软组件思想的起源。
系统的功能模块包括用户管理、成分选择、仪器状态、参数设置、非线性验证、TCP/IP传输等。主界面如图1所示,对应的分析仪器测量界面如图2所示。
图1上位机测量界面
1.1系统登录界面
系统登录界面用户分为两级:管理员和普通用户。当输入完用户名和密码并按下“确定”按钮后,程序会在数据库中查询用户名和密码是否匹配。在确认匹配之后,程序根据用户的级别分配权限,然后进入主界面等待用户下一步的操作。
图2四组分测量界面
在登录成功后,系统会进入测量界面。如果用户名输入错误,则会提醒用户输入的不是用户名而不能进入系统,系统也会给出相应的提示信息。
1.2用户管理
管理员可以通过“用户管理”界面添加、删除、更改普通用户的设置,普通用户也可以修改密码。图3所示是系统用户管理界面。管理员和用户都能根据实际情况,点击列表头可以实现用户的升降序重新排列。操作可使得用户管理界面更加人性化。
图3用户管理界面
1.3成分选择
通过图4所示的成分选择界面,可以根据不同的要求选择不同的通道号(通道1〜通道4)和选择不同的成分(H2、CO、SO2、NO、NO2),单位也可以选择。因为比较常用的气体单位为“%”和“ppm”,所以单位设置了这两个选择。选择确定后,在测量界面也会有相应的更新。
图4成分选择界面
1.4仪器状态和参数读取
本系统的仪器状态和参数读取界面如图5所示。仪器状态界面的主要功能就是让用户可以方便地知道仪器信息,便于下一步操作。
图5仪器状态和参数读取界面
1.5非线性验证
本设计采用5次方程代替能斯特方程的方法来求出气体组分含量,并在上位机通信这一块设计了直接利用能斯特方程来验证数据,这一验证方法对于用户来说更具有说服力。图6所示是系统的非线性验证界面。
图6非线性验证界面
其中C++中部分代码如下:
voidCNolinearDlg::OnBtnCompute()
{
UpdateData();//空间->变量
if(m_fP0==0||m_nVf==0||m_nV0==0)
{
MessageBox(_T("P0,Vf,V0不能为0!"),_T("基于SOPC的在线分析仪器平台"),MB_ICONWARNING);
return;
}
if(m_fPf<=m_fP0)
{
MessageBox(_T("Pf必须大于P0!"),_T("基于SOPC的在线分析仪器平台"),MB_ICONWARNING);
return;
}
doublex=log10(m_fPf-m_fP0);
doublex1=x/((double)m_nVf/m_nV0)*m_nV;
doublex2=(m_nVf*log10(m_fP0)-m_nV0log10(m_fPf))/((double)m_fPf-m_fP0);
doublex3=x1+x2;
m_fPx=pow(10,x3);
UpdateData(FALSE);
}
1.6TCP/IP传输
TCP/IP传输是方便数据能够通过互联网把实时数据传到本地监控中心或环境监测中心,其TCP/IP通讯界面如图7所示。在基于SOPC的在线分析仪器平台,可以利用NiosII这个用户可定制的CPU来增加新的外设、新的指令,分配外设的地址等。用户可以直接在客户端通过IE浏览器访问服务器,浏览存储在Flash中的信息。根据Web服务器的原理,Altera公司新提供的NichestackTCP/IPStack协议设计实现了应用程序提供的标准的Socket接口以及TCP/IP等协议[%
图7TCP/IP通讯界面
由于设计采用了Altera公司低端的一款FPGA,数据存储能力比较有限,所以在设计中通过RS232读出数据,再通过上位机传输给网络。TCP/IP通讯功能已经在某公司实时监控视频传输中成功实现。
2系统调试和数据验证
图8所示是最小二乘法拟合氧含量和输出电压的曲线图。
电压/mV
图8最小二乘法拟合氧含量-输出电压曲线
操作时可选取10个数据点,在最常用的Excel中实现最小二乘曲线拟合。3”是根据样气浓度选择的待测气体的测量点,x为传感器输出电压值,/为对应的样气中的氧含量值,n为拟合多项式的次数。其中x和v取值分别为表2中的标准气值和传感器输出电压。从n=2即二次多项式拟合开始,经过试验,当n=5时,即拟合多项式的格式为:
y=f(x)=ax+bx+cx+dx+ex
设计以该5次方程替代能斯特方程,能够精确地计算出氧气含量,精度满足仪器设计要求[3]。Excel最小二乘法实现氧含量与对应输出电压曲线拟合如图8所示。图中曲线为输出电压的拟合曲线。拟合多项式系数和拟合精度评定如表1所列。
表1拟合多项式系数和拟合精
多项式系数 |
多项式糸数值 |
a |
-8.384E-18 |
b |
9.05305E-14 |
c |
-3.21524E-10 |
d |
12317E-07 |
e |
1.19545E-05 |
将拟合多项式系数a,b,c,d,e通过仪表键盘输入到仪表系统中,当开启仪表“非线性校准”功能时,仪表将根据5次方程将检测到的电压信号换算成浓度信号并显示在测量界面。将氧化错传感器加热到700控制标准气体流量280ml/min,分别通入五组标准样气,测量结果如表2所列。
表2五组标准样气测量结果
标准样气 % |
输出电压mV |
仪器显示值 % |
误差 |
0 |
-23 |
0.000 |
0.000 |
0.763 |
2183 |
0.761 |
-0.003 |
1.52 |
3301 |
1.52 |
0.000 |
2.24 |
3984 |
2.23 |
-0.004 |
2.97 |
4749 |
2.97 |
0.000 |
由表2可见,用最小二乘原理拟合曲线代替能斯特计算公式,仪器测量的氧含量整体误差小于0.5%,达到0.5级表的要求。换几组气测试,测试结果也在误差范围内。其测试结果如表3所列。
表3其他气体测量结果
标准样气 % |
输出电压mV |
仪器显示值 % |
误差 |
0.0919 |
199 |
0.091 |
-0.001 |
0.778 |
2355 |
0.779 |
0.001 |
1.973 |
3295 |
1.971 |
-0.001 |
本文首先对上位机的信息管理的核心做了部分设计,包括了非线性验证和TCP/IP通讯的实现;然后对基于SOPC的在线分析仪器智能平台的数据处理做了验证,结果表明,本仪表能达到0.5级表的要求。
20211106_61865a96bae4e__SOPC分析仪器信息管理及系统调试