工控网首页
>

应用设计

>

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

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

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期,
投诉建议

提交

查看更多评论
其他资讯

查看更多

基于Modbus的智能工业控制器监控系统的设计

不要忽略PC总线技术的发展

基于PLC的电梯高精度位置控制的实现

蓝牙工业现场总线应用模型

一种基于PID神经网络的解耦控制方法的研究 /