基于VB的压机位置控制系统程序设计与研究
VB的压机位置控制系统程序设计与研究
乔文刚1 蔡卫娟1 刘海法2 邢静宜1
摘要:本文以压机位控系统为例介绍了利用VB进行控制系统程序设计的方法。利用VB可实现良好的人机界面,同时又能发挥C语言向底层硬件编程的优势,克服了VB进行输入输出接口操作的难题。另外,本文还介绍了PID控制程序的设计方法。
关键词:VB;程序设计;PID控制算法;动态链接库
1 系统结构组成
压机是一种应用非常广泛的机器之一,由当初简单追求压制力和压制速度到对压制精度的近乎苛刻的要求。为此我们采用基于VB的微机实时控制系统对压机进行控制,。此外,该自动控制系统能实现对各种材料的压制,可根据用户的要求任意设置参数,除了自动操作部分另外还单独设置了手动操作以便于停车调试和系统测试。该系统硬件部分采用PCI-7484AD/DA多功能板卡,软件采用Visual 。
2 对硬件的访问接口
在工业控制领域内,越来越多的工控用户开始要求其界面的人性化,而VB恰恰能很好地满足这一要求,但是VB不具备直接对硬件I/O地址进行访问的能力,需要调用DLL函数实现对I/O口的访问和控制。
动态连接库DLL是一种基于ARGIN: 0cm 0cm 0pt">图1 压机位控系统构成
装入该DLL的有关信息,因此在ARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: ">(1)Declare Function pci7484check Lib "" (ByVal dal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: ">此函数用于查找板卡,返回值为板卡句柄。
(2)Declare Function pci7484ad Lib "" (ByVal hplx As Long, ByVal addr As Boolean, ByVal ch%) As Integer
此函数为是AD采集函数。,应用程序调用DATA=PCI7484ad(hplx,false,i),hplx为句柄addr默认为false, i为通道号(0-15)对应板上16路通道。
(3)Declare Sub pci7484da Lib "" (ByVal hplx As Long, ByVal addr As Boolean, ByVal data%, ByVal ch%)
此函数为DA输出函数
(4)Declare Function pci7484close Lib "" (ByVal hplx As Long) As Integer
此函数为关闭句柄函数,返回值为1,对板卡调用开入开出函数后必须调用此函数归还句柄。
但要注意的是我们要把自己DLL放在C:/ 目录下(DLL默认路径)。也可以放在某个制定的目录下,然后在VB调用时声明具体路径即可。这样就可以在VB中直接调用硬件了。
3 数字PID控制算法程序设计
在使用工业板卡的场合,遇到需要进行PID控制的工艺时,如果不是采用组态软件进行开发的话,就必须使用高级语言做出PID的控制程序。本文采用时钟中断程序来执行PID控制算法。
由于计算机控制是一种采样控制,它只能根据采样时刻的偏差来计算控制量。因此要用数字形式的差分方程代替连续的微分方程,即可得到离散的PID表达式:
(式1)
式中:
—采样周期,必须使T足够小,
才能保证系统有一定的精度;
—第次采样时的偏差值,即输入信号与反馈信号之差,
内衣专业知识 来自淘豆网m.daumloan.com转载请标明出处.