【论文摘要】填埋场渗漏检测系统是以Visualstudio2010为开发平台,C#为编程语言,Matlabr2009a为主要做图工具的软件。针对其数据成像功能,文章提出了一种以C#与Matlab混合编程的数据成像方法,它通过相关算法去除干扰数据达到成像效果,并将生成的Matlab图像嵌入到VC界面,使HDPE膜的成像效果更加明显并提升了系统的运行速度。 【论文关键词】COM组件;异常干扰数据;数据成像 垂直铺设防渗膜是环境工程领域常用的防渗处理手段,在铺塑过程中,由不同原因造成的防渗膜搭接不好、划破及漏点等问题会大大降低防渗膜的防渗效果,导致检测过程中存在一定的局限性。目前国内对于防渗膜的渗漏检测一般采用双电极法、电极栅格等,但其检测漏洞的效果不明显,不宜发现错误和异常且运行速度缓慢等。 C#语言继承了C/C++的优点,利用C#.NET开发的系统具有界面友好、执行速度快等优点,生成的可执行文件能有效保护算法和数据。Matlab是常用的科学及工程计算软件,具有强大的数据可视化功能。本文将C#.NET与Matlab混合编程的方法用于垂直防渗膜检测的数据可视化过程来模拟刻画垂直防渗膜的渗漏情况,通过算法去除干扰数据,并将检测的HDPE防渗膜数据生成的Matlab图像嵌入到VC界面中,相比传统的渗漏检测方法节约运行时间并有更佳的可视化效果。 1C#与Matlab混编的实现过程 在C#中调用Matlab使用MatlabDeployTool生成生成COM组件或者.NETDLL文件的方法。因为使用ComBuilder连接则十分简单,具有跨平台优势,软件版本的兼容性较好,COM组件成为本文首先的连接方式。 1.1数据准备 第一步:安装软件。按先后顺序依次安装VisualStudio2010、Matlabr2009a和MCRInstall.exe。安装MCRInstall.exe的过程:在matlab命令窗口输入mcr命令,得到MCRInstall.exe的路径,双击打开并安装。 第二步:利用MATLAB编译器将m文件编译为dll文件。 第三步:利用MATLABBuilderforCOM将m函数编译封装成COM组件。 新建一个项目,在MATLAB的命令窗口中输入“deploytool”。选择Project->AddFile添加相应的M文件,则M文件将作为类的方法出现在COM组件中,选择Build->COMObject编译和发布COM组件。 1.2COM组件的导入和编程 在新建C#工程中,引用生成的DLL文件。在C#.NET应用程序中使用该COM组件,右键单击工程项目下引用,在浏览中找到Xlunwen.dll的位置添加至引用中,添加完成后可在C#.NET中使用。使用COM组件需要调用组件中类的方法,创建包含这个方法的类的实例。代码如下: Xlunwen.Xlunwent=newXlunwen.Xlunwen(); MWNumericArrays=array2; t.Xiaolunwen(s);//其中Xiaolunwen为实现数据成像效果的M文件。 运行结果,如图1所示。 |