基于VB 6.0智能电子自旋共振仪系统绘图模块实现

时间:2010-07-14

  近年来,电子顺磁共振(electron paramagnetic resonanee,EPR)或称电子自旋共振(electron spin resonance,ESR)技术已成为一门新型的科学技术。它的应用领域非常广泛,特别是在物理、化学、医学方面的应用更为突出,许多电子生产厂家向市场推出了不同型号的电子自旋共振仪器,其硬件的发展非常迅速,然而相应的系统软件的支撑却比较薄弱,所以电子自旋共振仪器的系统支撑软件的开发将成为一个新的热点。

  1  绘图模块的开发环境

  对某一个系统的开发,开发者可以选用各种编程语言来完成,通常使用的语言如C++,Java,PB,Visual Basic等,各种语言有各自的优点与缺点,基于不同的用户需求选用的语言也有所不同。该实验系统的开发中选用了Visual Basic 6.0,选用它的主要原因是:

  (1)Visual Basic 6.0具有友好的可视化界面;

  (2)Visual Basic 6.0自带的通信控件可以方便地与智能电子自旋共振仪器进行通信;

  (3)Visual Basic 6.0中的画线功能可以自由地绘出绘图区中的谱线;

  (4)程序代码易于以后的修改与扩充。

  2绘图区实现

  在此使用图片框(pictuer 2)来显示共振谱线,所以步就是要在窗体上定位图片框,并为其设置外观及其他属性。在该实验中,绘图区(picMain)中显示曲线有坐标值,所以首先画出图片框,然后在图片框中定制曲线生成区。定制图片框或绘图区都要先确定他们在窗体的哪个位置。所以下面先阐述VB中坐标系的定义。

  2.1  坐标系的确定

  VB坐标系介绍:VB里有3种坐标系,屏幕坐标系、窗体坐标系和窗体内的对象坐标系。这3种坐标系都是以其左上角为坐标原点,与平常使用的几何坐标系不一致,常使人们绘图时感到不习惯。VB允许编程人员自定义坐标系,根据需要定义坐标原点的位置。默认的坐标系统是容器的左上角的坐标为(0,0),右下角坐标为(Width,Height),为了根据自己的需要来定义坐标系统,用到了Scale相关属性。

  通过设置ScaleLeft和ScaleTop来设置左上角的坐标。实验中右下角坐标为:


  2.2  设置绘图区网格

  定制好了绘图区,为了绘图区的美观,绘图中区加了横纵相交的网格。横坐标固定只有5个细分格,纵坐标固定4个细分格。部分代码如下:


  2.3  设置坐标

  根据绘图区的大小与高度绘制x轴和y轴。

  3  绘图模块实时曲线的生成

  画好绘图区及坐标系后,就要在绘图区绘制实时曲线,实时曲线的绘制一般借助于Timer控件来完成,使用Timer控件,定期将串口或是其他仪器中监测到的数据送往pk_main,而曲线的绘制一般画成折线图,采用PictureBoxl的Line方法绘制。用Line方法可以在窗体或图片框上绘制一条直线或绘制一个矩形。

  Line方法的一般格式:


  其中:(x1,y1)为始点坐标;(x2,y2)为终点坐标;颜色可以使用RGB函数,规定画线或画矩形的颜色。代码如下:

  3.1  曲线的生成

  曲线的生成为:


  3.2  时钟更新曲线

  时钟更新曲线为:


  这样,就完成了在绘图区中显示从单片机实时采集到的数据的任务。

  4  双游标读取某两点的数值差

  用4条线来描述双游标。首先在绘图区上放置4条直线控件,4条线放置成2对坐标形式(十字相交)。并设置4条线的属性:

  4条直线的名称分别为线c0_x,c0_y,c1_x,c1_y。

  颜色分别为c0_x.bordercolor=&H000000FF&;c1_x.bordercolm &H00FFFF00&。

  4.1  获取任意点的坐标值

  通过在曲线上单击鼠标左键来获得坐标值


  4.2  任意点坐标值的显示

  因为获取的是任意点的坐标值,所以鼠标放在曲线的任意位置时,坐标C0()与坐标C1()的值相应的要改变。

  某点的坐标如图1所示。


  实验生成的曲线如图2所示。


  5  结语

  电子自旋共振仪数据支撑系统,基于VB6.0平台,代码简单、容易扩充。学生可以根据个人需求进行系统功能的扩充。系统设计的控制程序将所测得的数据绘制成动态曲线显示在绘图区中,实验数据的采集更为直观和准确。

上一篇:探讨关于UPS电源系统的配置、安装及维护
下一篇:基于DSP与数字温度传感器的温度控制系统

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料