技术文章

当前页面: 首页 >技术文章 >基于LabWindows/CVI的酵母发酵监控系统上位机软件设计

基于LabWindows/CVI的酵母发酵监控系统上位机软件设计

供稿:653A294E-B5E1-4E23-9DC7-BFE7D2FF483E 2003/11/24 0:00:00

0 人气:5349

1.引言
酵母发酵监控系统一般是由发酵灌、下位机和上位机组成,下位机完成控制运算及发酵数据采集,上位机则对整个发酵过程进行实时监控,整理记录数据。随着生产设备和监测技术的不断提高,用户对酵母发酵监测系统的要求也越来越高,原有的监控系统上位机软件和开发工具也越来越不适应这些要求了。目前大多数上位机软件是用VB或VC++开发的,这些传统的开发工具都存在一些不足,如VB虽然能快速开发 Windows应用程序,但是其解释执行较差, VC++开发程序的过程比较复杂,况且对于数据库的操作也存在很多困难。因此,通过比较和分析,本设计采用LabWindows/CVI作为上位机软件系统的开发工具。2.LabWindows/CVI概述
LabWindows/CVI是美国NI(National Instrument)公司开发的Measurement Studio软件组中的一员,是一个用C语言构建仪器系统的交互式软件开发环境,包含了GPIB、RS-232、VXI总线、数据采集和分析库。此软件的重要特征就是简化了图形用户接口的设计,使用户能很容易地生成各种应用程序。由于LabWindows/CVI软件提供测试与测量、过程监测、工厂自动化以及其他应用方案,用户可以随意设计自己的测试程序,使其运行在能满足自己需要的平台上。3 酵母发酵测控系统上位机操作软件设计
3.1设计原理
本酵母发酵监控软件可对发酵过程中各种参数如温度、PH酸度、转速、溶氧浓度、发酵搅拌速度以及通气流量、罐压、消泡、补料量等进行采样,PID运算,然后根据控制要求去控制各种参数以达到最佳发酵控制状态,本文就是设计上位机主界面操作模块。3.2软件主界面的实现
监控系统上位机主界面操作模块又称为上位机软件人机交互面板,是监控软件输入和输出数据的接口。上位机主界面将下位机传送上来的发酵数据进行分析,用不同的形式显示,便于对整个发酵过程的实时监控,同时对历史数据、报警数据进行记录,便于查询。上位机主界面主要由主面板、标题栏、菜单栏、工具栏、显示窗和状态栏组成。如图3.1所示。

图3-1
图3-1 软件主界面
3.2.1 主面板的设计
1.运行LabWindows/CVI后,先建立一个新的工程窗口,在工程窗口重单击菜单项[File]/[New] /[user Interface], 探出用户编辑窗口,可以创建一个新面板,并在面板上添加相应的控件。
2.面板和控件的属性设计
LabWindows/CVI使用函数GetPanelAttribute和 SetPanelAttribute来设置面板的属性。GetPanelAttribute函数原型如下:
int status=GetPanelAttribute(int panelHandle,int panelAttribute, void *attribute Value);
其中,panelHandle为面板的句柄。panelAttribute为面板属性常量,attribute Value为返回的属性值。SetPanelAttribute 函数的结构和使用方法与GetPanelAttribute函数类似。
如果需要修改控件的属性,则需要调用函数GetCtrlAttribute和 SetCtrlAttribute,两者的用法与修改面板属性函数类似。如果需要修改控件的值,则调用函数GetCtrlVal和SetCtrlVal。另外,LabWindows/CVI提供了用来编辑最新访问的文件列表的Menuutil.fp文件,调用该文件中的函数就可以实现调用复杂的Windows API函数。Menuutil.fp文件中包含的主要函数有:
MU_ReadRegistryInfo(从注册表中读出数据); MU_WriteRegistryInfo(将数据存储到注册表中);MU_GetFileListFromIniFile(从INI文本中读出文件列表数据);MU_PutFileListFromIniFile(将菜单列表中的数据存储到初始化文本数据中)。
3.2.2工具栏的设计
1.工具栏属于高级控件,先在工程中加入工具栏仪器驱动器,调用函数完成工具栏的安装。在安装工具栏之前,先要创建工具栏需要的相应的.bmp文件,即工具栏上按钮图标的图形文件,在工程目录下创建名为buttons的文件夹,并向文件添加.bmp文件。
2.工具栏的属性设计
LabWindows/CVI的应用驱动器提供了一些高级控件,所以可以通过加载驱动器的方法实现工具栏的属性设计。单击工程窗口的[Instruments]/[Load]菜单项,在弹出的文件选择框中选择需要加载的仪器驱动器文件(.fp文件)。已加载的仪器驱动器文件显示在工程窗口的Instruments菜单中。3.3上位机操作软件应用程序的建立
1. 生成 .uir文件。
将设计的主面板及各个子面板所在的文件保存在 .uir文件中。
2. 源程序文件的生成。
当完成面板各个控件的设置后,就可以产生程序的代码函数了。具体方法为:把已完成的面板定为当前响应状态,在[Code] 菜单中,选中 [Generate]中的[All Code],在弹出的对话框中选定函数主面板和退出函数,就能产生与用户接口文件相对应的框架代码函数。
3.添加程序代码
上一步自动生成的是控件对应的函数的框架,要使控件完成一定的功能,必须添加程序代码来控制控件。其中main()函数是程序的入口,它的功能是初始化程序,装载用户面板并显示,如要完成其他功能须添加代码。下面简单介绍一下main()函数的代码。
/*主函数*/
int main (int argc, char *argv[ ])
{
if (InitCVIRTE (0, argv, 0) == 0) /* Needed if linking in external compiler; harmless otherwise */
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0, "发酵.uir", PANEL)) < 0)
return -1;
mima1panelHandle = LoadPanel (0, "发酵.uir", PANEL_12);
DisplayPanel (mima1panelHandle);
//进入密码面板
password1=PasswordCtrl_ConvertFromString(mima1panelHandle,PANEL_12_STRING);
PasswordCtrl_SetAttribute(mima1panelHandle,password1,ATTR_PASSWORD_MASK_ CHARACTER,42);
strcpy (caozuo, "111111");
//调用GetOptionsForUIR函数,从注册表中读取文件列表并添加到菜单中 GetOptionsForUIR();
//安装工具栏
toolbarHandle=InstallToolBar(panelHandle) ;
//显示面板并进入消息循环
RunUserInterface ();
//消息循环结束后,释放工具栏句柄
Toolbar_Discard (toolbar);
//调用SaveOptionsForUIR函数,将文件列表储存到注册表中
SaveOptionForUIR();
return 0;
}
4.生成工程文件
选择工程窗口中的[Edit]/[Add File To Project]菜单项,将以上生成的发酵.uir,发酵.h,发酵.c文件加入工程,在运行前存储工程文件为发酵.prj。
5.建立安装程序
当一个应用程序开发完毕后,需要将应用程序制作成安装盘,以便能够安装在操作系统中运行。LabWindows/CVI提供了发布应用程序软件包的工具,利用该工具可以方便地制作应用程序的安装程序。
在建立安装程序前,必须先生成应用程序的可执行文件。在工程窗口中,选择菜单项 [Build]/[Create Standalone Executable],生成可执行文件。
在工程窗口中,选择菜单项 [Build]/[Create Distribution Kit],弹出生成软件包对话框,对各项设置进行选择后即可制成相应的安装程序。
4.小结
总之,本软件可实现同时对多台下位机的运行过程的测控、管理。通过I/O驱动程序将数据从不同的数据源获取实时生产数据,通过组态、运行,将采集到的工况信息处理、还原,供上位机显示。让管理人员看到生产过程的实际运行状况,同时可以将数据以直观、形象的趋势曲线、报表形式显示出来。
参考文献:
1. NI. LabWindows/CVI instrument driver developers guide[M], Austin(USA): Nation Instrument ,1998.
2. NI. LabWindows/CVI programmer reference manual[M], Austin(USA): Nation Instrument , 1998.
3. 谢洪波、顾晓辉、王晓鸣,LabWindows/CVI 软件在动态测试中的应用,电脑开发与应用,2002年,第15卷,第5期,

更多内容请访问 653A294E-B5E1-4E23-9DC7-BFE7D2FF483E(http://home.gongkong.com/profile/?uid=0-9652-22AE915C10E0)

手机扫描二维码分享本页

工控网APP下载安装

工控速派APP下载安装

 

我来评价

评价:
一般