您当前的位置:首页 > 计算机论文>计算机应用论文

梯度凝胶胶片制作装置控制系统程序设计

2015-12-11 17:15 来源:学术参考网 作者:未知

摘 要:设计了一种用于梯度凝胶胶片制作装置的控制系统,系统采用上下位机控制结构,下位机控制系统以C8051F020为微控制单元,由液晶屏、步进电机、键盘、光电耦合、串口通信等模块组成。上位机可完成参数设置、数值计算、控制过程管理等功能。该控制系统能够满足凝胶胶片浓度的梯度分布控制要求。

关键词:梯度凝胶胶片;控制系统;程序设计;串口通信
引言
  凝胶是一种进行生化检测所使用的材料。梯度凝胶胶片制作就是采用梯度凝胶的方法解决电泳分辨能力不够的问题,即让支撑介质的密度按照一定梯度分布,使运动较快的小质量蛋白质因较早遇到密度较高的支撑介质而减慢运动速度,从而使分布达到均匀,提高分辨能力。目前国内的梯度凝胶胶片制作过程需人工凭经验操作,过程费时费力,而且制作出的胶片质量差。为了节省精力、节省时间就需要设计一种自动化设备使胶体浓度按照一种自动化设备使胶体浓度按照一定梯度自动灌注,目前国产该设备还没有出现。
  文章介绍了一种控制系统装置用于梯度凝胶胶片的制作,即设计出一套真正由我国自行研制成功的全自动梯度凝胶胶片制作系统。
1. 系统总体构架
  该梯度凝胶胶片制作系统由上位微型计算机和下位单片机控制系统及机械装置组成[4]。其系统设计的基本构架如图1所示。
    
            图1 系统构架图
  对全自动梯度凝胶胶片制作系统的设计,硬件部分设计采用Cygnal 公司推出的C8051F系列单片机作为系统的主控芯片,并选用驱动能力强的步进电机驱动芯片SLA7026对系统的外围电路进行设计,以优化整个硬件电路系统,提高系统的工作能力。系统设计要求达到胶片制作技术的精度,即步进电机每向前或向后走一步所产生的位移量为0.005mm,同时所产生的体积变化量为△V=(3.5325e-3)ml,以达到先进的梯度凝胶胶片制作技术。系统软件设计主要在使用曲线插补法原理来控制步进电机的灵活运行,采用单片机C51技术对系统进行编程。
  梯度凝胶胶片的浓度要求按梯度均匀分布,所以两个灌胶器的进给量成一定的曲线变化,并且根据灌注凝胶胶片的浓度分布、数量的不同使灌胶器中凝胶和水的量也都不同,这些都取决于控制两个灌胶器的步进电机的灵活运行。
2. 控制系统电路
  系统硬件电路主要分为以下几部分,即系统主控制单元、步进电机控制电路、液体管路控制电路、系统电源电路。系统电路框图如图2所示。

图2 系统电路框图
3.控制系统软件设计
  在软件设计方面用单片机C51技术编程以达到胶片制作的技术要求,最终来实现更加先进的梯度凝胶胶片制作仪器。其系统软件工作主程序流程图6所示。
  
 
  
图3 系统主程序流程图
  其按键子程序即该系统所包括的各个功能子程序。在灌胶进行阶段,两个步进电机是受曲线插补原理控制的运动,所以,软件程序设计的难点主要是对步进电机的控制子程序设计上。
3.1上位机控制软件设计
  Matlab有强大的数值运算能力,先进的视觉化功能,开放及可延伸的架构,丰富的程序工具箱,在控制系统,图像处理,信号处理,神经网络等方面都有广泛的应用。在本设计中把Matlab强大的数学计算,曲线拟合功能和VB在图形化界面设计方面的优势结合起来,大大提高了程序的设计效率,缩短设计周期。
3.2上位机数据处理功能的实现
  由本系统的功能要求,可以将上位机的功能概括为:1、制作梯度凝胶胶片参数设置;2、制作胶片所需胶、水溶液体积的计算;3、步进电机运动曲线的拟合。并要将拟合曲线的系数及计算结果胶、水的体积显示在界面上。
  程序设计方法和实现功能如下:
  1)在VB所建的用户界面工程项目中加入MatrixVB库  在【工程】(Project)”下拉菜单中单击【引用】(Refrences)”,在弹出的对话框中选用MMatrix项目,系统将加载MMatrix.DLL文件,加载完毕之后就可以在VisualBasic项目中使用MatrixVB函数了。
  2)VB程序中矩阵的生成  MatrixVB矩阵的的生成方式和普通的Visual Basic数组没有什么不同,只要在声明中声明维数即可。
  当数组需要被当作矩阵处理的时候,MatrixVB自动将其转换为矩阵。通常有两种方法生成矩阵:1、利用矩阵操作生成矩阵;2、利用函数生成矩阵。本系统上位机程序设计中,采用前者。将胶和水体积、步进电机的步进步数数组通过矩阵操作函数“mabs( )”将其转换为矩阵。并对生成的矩阵进行矩阵运算。
  3)矩阵元素的操作  用户界面中需要显示经过数据计算后得到的胶、水溶液的体积,和步进电机运动曲线的参数,而在数据处理的程序中这些量都是以矩阵的元素存在于函数变量中,因此需要对矩阵元素进行操作,MatrixVB提供了两种直接对矩阵元素进行操作的方法:使用括号定位和使用实部rN和虚部iN定位。在本系统的程序设计中使用了后者。例如:将步进电机运动曲线的参数显示到窗口中,由于通过Matlab中的曲线拟合函数对步进电机的运动曲线的拟合,其系数是以矩阵的形式表示的,可以使用X.r1(n)来对运动曲线系数矩阵进行操作。
3.3与下位机通信功能的设计
  本设计利用VB中的通讯空间MSComm,它全面地提供了使用RS-232串行通信进行上层开发的所有细节,它既可以使用查询的方式又可以使用事件驱动方式来完成串行通信。
3.3.1通讯程序的设计
  1)通信命令的流程  通过传输控制命令,上位机,即计算机可以控制下位机对执行器件(步进电机、丝杠、注射器)的运动。
  2)程序编写的过程  Visual Basic中的通信程序编写步骤如下:
  ①引用MSComm控件,赋予适当的对象名称。设置串行端口号码;
  ②在适当的事件程序中令MSComm控件对象的PortOpen属性为True,以打开串行通信端口;
  ③准备发送命令时,将命令字符串进行必要的组合,然后使用Output命令发送;
  ④等待命令发送并由控制模块部分执行后,由下位机返回执行结果;
  ⑤由MSComm控件的Input命令获取执行结果;
  ⑥其它的程序处理。
  3)字符串的处理  字符串的运用是串行通信的主要内容,所有的数据交换均以字符串的形式进行。Visual Basic一般在两种进制之间切换,使用Hex和Val函数已经足够,但还需特别注意整数和长整数之间的不同:整数使用2个字节存储数值,而长整数则是使用4个字节存储数值。
3.3.2上下位机的通信协议
  通信命令是由8个字节构成, 第一个字节作为起始位,后跟一个命令码,中间的五个字节为命令参数,最后一个字节为校验位。当下位机在等待状态下接受到99H时表示将有命令传送过来,然后根据后边的不同的命令码,以及后边的命令参数转向不同的服务子程序中继续执行。通信命令的最后一个字节为校验字节。在执行相应的子程序之前要对下位机接收的控制命令进行校验,并将校验结果发送给上位机。虽然串行通信有自身的校验功能,但是当数据量大、传送速度较快的时候,难免会出现错误。因此这里在串行通信自身校验功能的基础上再设定一个校验字节,以确保数据的正确传送。上位机将前边六个字节的数据进行求和运算后得到的结果作为校验字节与前边的字节一起传送给下位机。下位机接受完这些数据后,也将前边七个字节进行求和运算,并将得到的结果与上位机传送过来的校验字节进行比较,如无误,则表明传送无出错,然后进行有效数据的存储;如果出错则要将错误信息发送给上位机请求重新发送这一控制命令。
4.系统测试
  上位机将拟合步进电机运动的曲线发送给下位机后,下位机系统将按照得到的步进电机运动曲线运行。当制作的梯度凝胶胶片的数量和浓度范围不同时,步进电机的运动曲线也不同,也就是说胶和水的进给量不同。
5.结束语
  该全自动梯度凝胶胶片制作装置控制系统可由一台计算机根据需要控制1~20套灌胶装置同时进行工作,制作过程配料多少和灌胶速度可控,无需人工参与,自动化程度高。该全自动梯度凝胶胶片制作装置控制系统已在实验室模拟测试中运行调试,测试结果证明该控制系统解决了梯度凝胶胶片制作难,质量不易控制以及批量制作时一致性差的问题,且结构简单、性能稳定,可广泛应用于梯度凝胶胶片生产线中。
参 考 文 献:
. http:// ml /2006-01-05. (in Chinese)
基金资助:陕西省教育厅专项科研基金资助(04JK242)

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页