微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PCI总线的真空差压铸造控制设计

基于PCI总线的真空差压铸造控制设计

时间:12-13 来源:互联网 点击:

高级C++语言,在Visual C++6.0 下进行控制软件程序的代码编辑、编译、调试等工作。软件结构如图4 所示。

(1)硬件管理模块:管理PCI-1716 数据采集卡及驱动程序,是连接控制软件与被控对象的 桥梁。本模块将PCI-1716 板卡驱动程序及数据结构封装成了CCardCtrl 类,在对板卡管理之前必须添加必要的库文件。首先安装研华设备管理器,然后在创建的VC++工程中添加 driver.h 头文件和adsapi32.lib 设备驱动库。

(2)人机交互模块:主要完成工艺参数设置,显示铸造设备运行状态、所有参数信息,并 完成以下功能:在设置窗口设置工艺参数和修改管理员密码;在流程和实时数据显示窗口显 示各测点的实时数据;在跟踪曲线窗口实时绘制上下铸罐的压力走势图;在报警窗口显示报 警信息。

(3)数据管理模块:定时存储铸造数据,即时完成表格、曲线等形式数据的打印等。该模块采用数据库技术,设计了CData 类来管理铸造数据,用数据文件的形式备份数据。设计 了CADOconn 类运用ADO 接口技术连接SQL Server 2000 数据库管理系统作为数据管理工 具。为了方便调用,提高程序运行效率,将采集的压力数据、阀门的处理数据和工步等信息 数据采用MFC 中已有的数据存储结构,方便快捷的处理数据。为了数据类型安全,防止内 存泄露,选择template 版本定义如下::CTypedPtrArray data。

(4)控制模块:该模块是整个控制系统的核心,为了提高程序的执行效率,本设计采用了 多线程技术将定时采集控制与监控界面定时刷新分别放在两个线程。实时数据采集模块采用 Windows 多媒体定时器TimeSetEvent()函数,该函数定时精度可达1ms,将定时采样、工艺 控制定义在lpFunction 回调函数中,本系统采样间隔为50ms。另外,在定时器使用完毕后, 应及时调用TimeKillEvent()将之释放。工艺运行模块是控制模块的核心,它执行的精确与否 将直接影响铸件的质量。工艺运行模块根据采集到的压力值按照设定的工艺曲线,通过控制 算法计算出相应的数字与模拟控制数据经硬件管理模块完成开关阀与气动薄膜调节阀的精 确调控。

5、结论

硬件上 4 路压力检测电路和2 路调节阀控制电路达到了极高的线性度(非线性度<2%)。 压力测量范围为0~1.0MPa,测量分辨率15.0Pa;输出模拟量精度在±0.1%。软件上提供了 快捷的工艺参数设置,直观的实时压力数据、压力曲线和工艺进程跟踪,方便的历史数据记 录查询和灵活的声光电报警等功能。图5 为真空度24KPa、充型和保压压差40KPa、充型延 时10 秒、保压压力250KPa、保压时间40 秒的工艺参数模拟运行曲线。实验证明整个控制 系统运行稳定、人机交互性强、响应速度快、控制精度高、基本达到设计要求。

本文作者的创新点是:将 PCI 总线技术引入到真空差压铸造控制系统中,避免了监测与控 制分开带来的硬件电路设计的复杂性;Visual C++和SQL Server 数据库技术的应用,使控 制软件操作简单、人机交互直观和方便历史数据的分析。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top