步进电动机控制系统上位机程序设计_第1页
步进电动机控制系统上位机程序设计_第2页
步进电动机控制系统上位机程序设计_第3页
步进电动机控制系统上位机程序设计_第4页
步进电动机控制系统上位机程序设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上步进电动机控制系统上位机程序设计 摘要:从整体上简要介绍了步进电动机控制系统的结构及功能特点;详细介绍了上位机软的功能及实现方法。所设计的控制程序具有友好的人机交互特性,可设定多种运行模式,可实时显示系统运行状态,且可应用于需要复杂控制算法及控制功能的使用场合。关键词:混合式步进电动机;微型计算机;MCS一51单片机;Visual Basic;MSComm控件Abstract:The structure and functional characteristics of the stepper control system were introduced integr

2、ally,and the functions and implementation methods of the microcomputer programme were also introducedThis method had a friendly user interfaceThe several operation modes were set,the operation states of the system were displayed in real timeKey words:hybrid stepper motor;microcomputer;MCS一5 1 single

3、 chip;Visual Basic;MSComm widget0前言 随着工业生产和计算机技术的日新月异,微型计算机在工业控制领域的应用越来越广泛。利用微型计算机可以存储更多的数据,进行复杂的运算,还可以通过多种形式对信息进行显示。另外,还可以设计高效、友好的用户界面,对系统进行控制。本系统以单片机作为下位机而微机作为上位机,两者通过RS一232串行接口进行通信。上位机设计了友好的用户界面,以便对系统进行控制,下位机在得到控制命令之后,具体实施控制,并将系统的工作状态信息传给上位机进行显示处单片机采用8051,而上位机是在Windows XP操作系统下,用Visual Basic 60开发的

4、监控软件。在Windows监控软件开发中,如何实现微机与单片机之间的串行通信是一个较大的障碍,而且是设计的关键之一。系统利用了VB提供的特别便于串行口操作的电话机控件-MSComm,通过编写较简单的程序,完成了微机与单片机之间的串行通信。本文主要介绍了该系统上微位及软件的实现过程。1系统特点简述系统的控制对象是混合式步进电动机,通过上位机软件和下位机软硬件的良好配合,系统具有以下特点(1) 可以通过上位机控制界面进行控制,操作直观、方便;(2) 可以驱动包括两相、三相和五相混合式步进电动机在内的多种步进电动机,增强了系统的适用性;(3) 具有包括细分、升降频、正反转、预置频率以及预置步等多种控

5、制功能,拓宽了被控步进电动机的适用场合。使用者可以通过上位机控制界面实时地观测运行中的驱动系统的运行状态,同时还可以通过上机控制界面对系统进行控制,为了实现微机和单片机之间的数据交换,该系统使用了串行通讯方式。整个步进电动机控制系统如图1所示。2上位机程序总体流程在上位机软件编程语言的选择上,着重考虑的是便于界面的编写及可进行方便的串行通讯。为此,系统上位机使用了Visual Basic高级语言编程环境,这种语言特别便于界面编写,更重要的是,它具有一个特别方便的通信控件MSComm。MSComm控件的目的是为了让用户设计一个系统可以和串行端口进行沟通及传送数据。如上所述,上位机主要完成用户的交

6、互控制以及电机运行状态的实时显示,所以,上位机软件首先要能够根据用户输入的运行模式设定相应的变量及标志量;其次,还需要将下位机反馈的实时运行状态以图形化的方式显示出来。图2为其程序总体框架。下面,将以窗口的设计为顺序对上位机软件的总体流程进行较详细的阐述:用户设定输入窗口同时也是主界面窗口,其窗口设置如图3所示。它包括了程序运行的所有控制功能,具体表现为:(1)在电机运行方式设定区,用户可以通过选择各个列表框中列出的选项设定被控电机的运行方式。其中,电机类型选择包括:两相、三相及五相混合式步进电动机;细分模式选择包括:整步、二细分及四细分;正反转选择包括:正转及反转;预置模式选择包括:预置频率

7、及预置步。(2)在电机预置参数设定区,如果选择的是预置频率运行方式,用户便可以在第一个文本框中输入电机的运行频率,这样在启动运行时,系统便会控制电机从突跳频率逐渐加速到运行频率。在停止运行时,系统会控制电机逐渐减速直到停机为止;如果选择的是预置步运行方式,用户便可以在第二个文本框中输入电机运行的总步数,这样在启动运行后,每走一步系统便会在总步数上减去一步,直到减为零时停机。在该上位机软件中,为了便于用户及时了解系统的运行状态,电机的剩余步数以及实时运行频率均有图形化的显示,这些将在介绍相关窗口时一并介绍。(3)为能对程序随时发出各种命令,从而实现对电动机的实时控制,在操作区设置了包括启动运行、

8、暂停运行等六个按钮,这六个按钮基本上能够满足对程序流程的控制,从而达到对电动机的控制操作。为了能够保证下位机得到正确的运行参数,下位机需要进行必要的检测,如果接收错误,下位机会通知上位机重新发送数据,相应的,上位机也会用对话框的形式通知用户重新发送数据,出错对话框如图4a所示。反之,如果接收正确,下位机便会通知上位机可以开始运行了,相应的,上位机也会用对话框的形式通知用户可以开始启动运行了,接收正常对话框如图4b所示。当用户启动运行之后,便进入了OnComm子程序,此子程序的功能是得到电机的运行状态,并对其进行实时显示。据此,程序还包含了两个用于实时显示的窗口:剩余步数显示窗口,如图5所示;以

9、及频率实时显示窗口如图6所示。其中,频率实时显示窗口可以显示电机的升降频过程。3上位机各子程序功能实现过程在介绍各子程序实现方法之前,这里先要介绍一下对MSComm控件属性的初始化过程:(1)端口初始化。将端口初始化为COMI,即MsCommlCommPort=1 o(2)串行口参数初始化。设置初始化参数Settings的格式为“BBBB,P,D,S”,为了与下位机进行匹配,程序中初始化Settings=“9 600,N,8,1”,其意为“所使用的通讯端口是以每秒9 600 bit的速度作传输,不作字符校验,每帧数据为8 bit,而停止位为1 bit”。 (3)事件响应方式选择。MSComm提

10、供了两种处理通信问题的方法,一是事件驱动方法,一是查询法,本程序采用了事件驱动法来响应串行口事件。(4)设置引发接收事件的字节数。本程序初始化其值为1,即一旦寄存器中有数据则立刻引发OnComm中的接收事件。(5)串行通讯格式选择。进行串行通信时有两种传输方式:字符形式和二进制形式本程序采用了二进制方式,即MsCommlIputMode=1。最后,在初始化好上述各项属性之后,我们需要将串口打开,即MSCommlPortOpen=True。31界面初始化子程序在本子程序的主要工作包括以下几部分: (1)对电机运行方式及预置参数设定窗口中的各控件进行初始化。初始化运行方式设定区的四个列表框,主要是

11、利用方法Addltem为各列表框添加内容,另外,还要将预置参数设定区的两个文本框的内容清空。(2)初始化程序中用到的变量或标志量比如,初始化画频率曲线时要用到的x轴起始点X为0等。(3)最后,要将串口打开,即MSCommlPortOpen=True。32运行模式初始化子程序本子程序主要是根据用户对运行方式的选择对数组State的相关位进行初始化,由于列表框中的每一个成员都唯一对应着一个数字,比如:图3列表框中,成员“两相混合式步进电动机”对应0,成员“三相混合式步进电动机”对应1,以此类推,所以我们根据各列表框反馈的数字便可以知道用户的选择,知道了用户的选择,接下来便是初始化State数组的对

12、应位,比如,State(1)的值代表着用户所选的电机类型,如果用户选择两相混合式步进电动机,则将该位置为0。这样,下位机在得到数组State后便可以通过元素State(1)来得到电机类型信息,从而进行更进一步的处理。33预置处理子程序本子程序主要是在用户确定预置输入之后,根据预置参数设定区中两个文本框的内容得到用户的预置。并将其个位、十位及百位分别存入State(7)、State(6)及State(5)中,这样,下位机在得到State数组后对其上述三位进行简单的处理便可以得到用户通过上位机输入的预置数。34 MSCommlOnComm子程序当寄存器中有数据的时候便会进入此子程序,所以,此子程序

13、的功能便是接收下位机通过串口传上来的数据,对其进行简单的处理后根据预置模式对其进行实时显示,预置步模式时便显示剩余步数;预置频率模式时便在初始化图形化显示界面的基础之上显示实时运行频率。其流程图如图7所示。图7 MSCommlOnComm子程序流程图对该子程序需要解释以下几个处理过程的具体含义:接收数据并进行处理:主要是得到下位机传上来的数据并进行相应的处理,实现语句如下:Receive=MSCommlInput Y= 2(Receive(3)100+Receive(2)10+Receive(1)即Receive(1)一Receive(3)各代表实时数据的个位、十位和百位,经以上处理,y便是要

14、显示的实时数据。实时显示剩余步数:这一部分的程序较简单,只有一句:Form3TextlText=“当前剩余步数为:”+Str(Y)。其中,Form3指的便是图5所示的剩余步数显示窗口。初始化图形化显示界面:这一部分主要包括以下内容:(1)坐标轴的生成;(2)网格的生成。这一部分的程序在有关使用VB画图的文献中有详细介绍,这里不作详细的介绍。实时显示运行频率:这一部分主要是在初始化好的图形化显示界面上以曲线的形式实时显示运行频率,如图6所示。这一部分的编程思想是:如果画的是第一个频率点则用命令PSet只画一个点;如果画的不是第一个频率点,则从上一个频率点,画线到现在这个频率点。这样便可以画出完整的频率曲线。该部分的语句如下:If X=0 ThenForm2PSet(X,y)ElseForm2Line一(X,y)End Tf4结语本文所提出的程序设计方法具有较大的通用性,且用户界面友好。经过测试,所设计的上位机监控软件与下位机软硬件相配合,不但实现了文中提出的所有功能,满足了控制要求,而且使得控制操作简单易行。以本文提出的程序设计方法为基础,再结合步进电动机的具体应用环境,嵌入合适的控制算法,可完成各种需要复杂运动的步进电动机控制系统设计。3总结与展望将dSPACE实时仿真系统应用于运动控制系统的研究与开发当中,充分利用该系统提供的强大的数据运算能力及各种成熟的硬

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论