基于VC++的制瓶机微机控制系统的串口通信

[09-12 18:28:48]   来源:http://www.88dzw.com  EDA/PLD   阅读:8953

文章摘要:创建一个标准的MFC AppWizard(exe)应用程序后,还要在应用程序类的InitInstance函数中初始化OLE/COM库(因为ADO库是一个COMDLL库),其代码如下:引入ADO库文件使用ADO前,必须在工程的stdafx.h文件里直接引入符号#import来引AADO库文件,以使编译器能正确编译。其代码如下:2.3 利用智能指针进行数据库操作ADO库包含有3个智能指针:_ConnectionPtr、_CommandPtr、_RecordsetPtr。其中_ConnectionPtr通常用来打开、关闭一个库连接。为进行库连接,可先创建一个实例指针,再用Open打开一个库连接。下

基于VC++的制瓶机微机控制系统的串口通信,标签:eda技术,eda技术实用教程,http://www.88dzw.com

  创建一个标准的MFC AppWizard(exe)应用程序后,还要在应用程序类的InitInstance函数中初始化OLE/COM库(因为ADO库是一个COMDLL库),其代码如下:


  引入ADO库文件

  使用ADO前,必须在工程的stdafx.h文件里直接引入符号#import来引AADO库文件,以使编译器能正确编译。其代码如下:



  2.3  利用智能指针进行数据库操作

  ADO库包含有3个智能指针:_ConnectionPtr、_CommandPtr、_RecordsetPtr。其中_ConnectionPtr通常用来打开、关闭一个库连接。为进行库连接,可先创建一个实例指针,再用Open打开一个库连接。下面以连接数据库db.mdb为例来加以说明:

  _ConnectionPtr connectPtr;

  connectPtr.CreateInstance("ADODB.Connection");//创建一个实例指针

  connectPtr->Open("Provider=Microsoft.Jet.OLE.DB.4.0;DataSource="db.mdb"," "," ",

  adModeUnKnown);//用Open打开一个库连接

  _RecordsetPtr通常会返回一个记录集,以提供一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,可以用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。_RecordsetPtr可以用来打开库内数据表,并对表内的记录、字段进行操作。也可以先创建一个指针,再用Open打开一个记录集,然后对记录集内的记录、字段进行各种操作,包括添加、删除、修改等等。

  3制瓶机控制系统的串口通信

  制瓶机控制系统的下位机由四个段控板和一个机控板组成,段控板的职责是控制制瓶机一段的所有动作,一般通过20路输出驱动20个电磁阀来实现;机控板的职责是根据现场机器的状态,为其它4个段控板提供基准信号和制瓶机的状态信息。通过上位机可设定不同段控板的电磁阀开闭值和产生基准信号所需要设定的值。制瓶机控制不同产品所对应的设定值也不相同。为了确保下位机运作的准确性,往往需要监控下位机当前状态和控制下位机不同段控板的单个电磁阀的起停。本系统的段控和机控板的主控芯片选用PIC24FJ64GA008,而上位机与下位机之间的通讯则遵循RS-232协议。

  3.1  独立串口通信类的创建

  创建独立的串口通信类的方法主要是在应用程序框架下,点击主菜单中的insert菜单下的NewClass项,并在弹出的对话框中的Class type中选择Generic Class。这是一种建立没有继承的类的方法。创建独立的串口通信类对串口操作的封装可以很好地实现各种自定义通信协议下的串口通信,而且符合面向对象的程序设计思想。本系统对串口的打开、初始化、读写、上位机发数据到下位机、下位机读数据到上位机、关闭等相关操作,都封装在windowsAPI函数写的独立串口类CcomPort中。当在每个要用到串口通信的窗体类中引用这个串口类后,就可以方便的使用。本系统是将PIC单片机通过端口COM1与计算机相连接,打开端口COM1的代码如下:


  上位机与下位机之间可以2400 bps/秒的通讯速率传输数据,且无奇偶校验,包括八位数据位和一位停止位。可通过下面的参数来设置DCB参数,从而初始化串口。其具体代码如下:

  DCB dcb;

  dcb.BaudRate=CBR_2400;//波特率

  deb.fParity=FALSE;//禁止奇偶校验

  dcb.ByteSize=8;

上一页  [1] [2] [3]  下一页


Tag:EDA/PLDeda技术,eda技术实用教程EDA/PLD
分类导航
最新更新
热门排行