基于PCI总线的机床主轴控制系统.pdf
控制与检测 组合机床与自动化加工技术 文章编号 1 0 0 1 2 2 6 5 2 0 1 0 0 6 0 0 6 6 0 4 基于 P C I 总线的机床主轴控制系统 王锐 东 , 令 晓 明 , 赵 阳 兰州交通 大 学 光 电技 术 与智能控 制教育 部重 点实验 室, 兰州 7 3 0 0 7 0 摘要 文章设 计 了一 种基 于 P C I 总线的机床 主轴控 制 系统 , 解决 了以往 机床 主 轴利 用 率较低 和 实时控 制 较差的问题。实践表明, 此 系统可以有效地提 高机床的切削效率和加工精度 , 并同时提 高了机床 的 自动 化水 平 , 大大降低 了机 床操作 人 员的 劳动 强度 。 关键词 P C I 总线 ; 模/ 数 转换 ; 自适应控 制 ; 机床 主轴 中图分 类号 T H1 6 ; T G 6 5 文献标 识码 A Co n t r o l S y s t e r m f o r M a c hi n e To o i Sp i n dl e Ba s e d o n PCI Bu s W ANG Ru i d o n g,LI NG Xi a o mi n g,ZHAO Ya ng K e y L a b o r a t o r y f o r O p t o E l e c t r o n i l T e c h n o l o g y a n d I n t e l l i g e n t C o n t r o l Mi n i s t ry o f E d u c t i o n,L a n z h o u J i a o T o n g U n i v e r s i t y ,L a n z h o u 7 3 0 0 7 0,Ch i n a Ab s t r a c t A k i nd o f c o n t r o l s ys t e r m wa s d e s i g n e d f o r M a c h i n e To o l S pi n d l e wh i c h b a s e d o n t he PCI b us ,I n o r d e r t o i mpr o vi n g t h e pr e v i o u s i s s ue o f M a c h i n e To o l S pind l e t h a t n o t g o o d u s e o f . Pr a c t i c e ha s s ho wn t h a t , Th i s s ys t e m c a n e f f e c t i v e l y i mpr o v e t h e e ffi c i e n c y o f M a c h i ne To o l s ,c u t t ing a n d pr oc e s s ing a c c u r a c y,An d i mpr o v e t h e a u t o mati on l e v e l of t h e ma c h ine ,Gr e a t l y r e d u c e s t h e l a b o r i n t e ns i t y o f ma c h ine o pe r a t o r s . Ke y wo r dsPCI b us ;a n a l o g /d i g i t a l c o n v e r t e r ;a d a pt i v e c o n t r o l ;ma c h ine t o o l s p ind l e 0 引 言 随着 自动化 技 术不 断地 发 展 , 数 控机 床 的功能 越 来越 丰富 , 它所 加工 的工件 种类 也不 断地 增加 , 同时对 主轴控制系统也提出了更高的要求 , 传统 的主轴控制 系统已不能很好的满足生产要求。 首 先 , 传 统 的 数 控 机 床 保 持 一 个 恒 定 的 进 给 速 度 ⋯ , 这 个进给 速 度 由加 工程 序 预 先 设定 好 。但 在 实 际 的生 产 中 , 进 给量是 要求 不断 变化 的 , 从 而使 刀具 的 利用率 不高 。其 次 , 数 控 系 统要 求 对 机 床 进行 平 滑 的 控制 , 以避免产生较大的冲击而影响零件的加工质量, 对 昂贵 的进 口刀具 的破 环 。再次 , 随 着 C P U的快 速 发 展 , 基 于图形 的操 作 系统 迅 速 普 及 、 多媒 体 、 视 频 处 理 和网络传输的大量应用。传统数控机床所使用的 I S A 总线 已逐渐成 为 了系统 数据传 输瓶 颈 。 综上所述 , 设计一种新型的数控机床主轴的控制 系统 已成为了装备制造领域的迫切需求。本文所设 计 的控 制系统 采 用 了先 进 的 P C I 总 线 , 由于其 独 立 于 C P U的结 构 , 使 总线 形 成 了一 种 独特 的 中间缓 冲器 设 计 , 从 而 与 时钟 频 率 无关 , 使 高性 能 的 C P U功 能 得 以 充分 的发 挥 。并 通 过 主 轴 相 关 数 据 的实 时采 集 和 控 制 , 使数控机床性能得到了最佳应用, 使其可以适应材 质 、 切削参 数要求 多变 的工件 , 同时又 能 自动保 护机 床 和 主轴系统 以及 较 昂 贵 的进 口刀 具 , 保 证加 工 的顺 利 进 行 。 1 主轴控制系统 总体方案设计 该 系统 主要 由前 端数 据 采 集 系统 , 数 据监 测 和 控 制 终端 , 机 床主轴 控制 系统三 部分组 成如 图 1所示 。 图 1 系统总体 框架图 其中前端数据采集系统由传感器和 P C I A / D数据 采集 卡组成 , 此部 分 主 要 完成 对 以下 三个 数 据 的 实 时 采集 。 收稿 日期 2 0 0 9一l 22 2 作者简介 王锐东 1 9 8 4 一 , 男 , 甘肃天水人 , 兰州交通大学在读硕士研究生 , 研究方向为光机 电一体化 , Em a i l 2 5 4 l 3 l 5 6 2 q q . c o m。 - 6 6 2 0 1 0 年第6 期 控制与检 测 1 切 削力 切 削力 能 使 机 床 、 刀 具 及工 件 产 生 变 形 , 并 因此 降低加 工精 度 。切 削力 随 刀具 磨损 而 增 加 , 从而可推知刀具 的磨损量 , 在检测切削力时若超过限 度 , 通 过报 警便可 防止 刀具 破损 , 本 系 统 中选 用 了主 轴 功率传 感器 对其 进行测 量 。 2 温度 检测 主轴 在运 转 的过程 中刀具 和工 件 间 的温度 对刀 具磨 损 和 切 削 效 率 有 较 大 影 响 , 而 随 着 磨 损程度 的增 大而 上 升 , 切 削 温 度 还 造 成 刀 具 及 工 件 的 热膨胀及变形而降低加工精度, 本文采用热电偶传感 器对其 进行 检测 。 3 空切 检测 空 切 检 测 可 以提 高 主 轴 的 利 用率 , 减 少机床 空 切 时 间 , 增 加 有 效 切 削 时 间 , 以 提 高 生 产 率 。 当工 件接 触 刀 具前 的一 瞬 间要 求 迅 速 变 换 速 度 , 以免碰伤 刀具 。此处 采用 非接 触 方 式 的霍 尔效 应传 感 器进 行空 切检测 。数 据监 测 和控 制 终端 由高性 能 的工 控机 组 成 。其 不 断 接 收 来 自数 据 采 集 系 统 采 集 的数 据 , 并对其 进行 运算 和处 理 。 当 上 位机 发 现数 据 出 现异 常 时 , 可 以及 时进行 报警 , 并 采 取相 应措 施 进行 处 理 , 以防止 危 险的发 生 。 上位 机运算 后 的结果 通过 机 床 主轴 控制 系 统下 发 到机 床 主轴 。以 实 现对 机 床 相 关 参 数 的调 整 和 控 制 。 根据 系统 的特点 , 本文 设 计 了采 用 P I D控 制 模 型 参 考 自适 应控 制 的方法 。被 控对 象 是机 床 主轴 , 刀具 , 工 件所 组成 的一个 极 其 复 杂 的非 线 性 系 统 , 其 中热 电偶 传感 器检测 到得 温度 采 用 模 糊 P I D控 制 的 方 法 , 其 控 制规 律如 下 u 『 T , f 。 £ d ] L J 0 U J 其 中 e t r t 一Y t 、 r t 为输 入变 量 、 Y t 为输 出变 量 、 e t 为控 制偏差 、 。 为 比例 系数 、 , 积 分 时 间 常数 、 微 分 时间常 数 , 主轴功 率传感 器 和霍 尔效应 传 感器进 行切 削力 和 切 检 测 , 当 系统 受 到各 种 随机 的 因 素干扰后 , 切削过程的状态参数发生变化, 采用传统 的 P I D控制其控制精度不高 , 本文采用模 型参考 自适应 控制进 行对 其控 制 J , 如 图 2所示 。 图 2 模型参考 自适应 系统 在 MR AC控 制 中于给定 的评 价指 标进 行判 别 和 比 较 , 得 到性 能指标 偏 差 , 然 后 再 输 出校 正 信 号 , 对 系 统 的输入 变量 进行 修 正 , 从 而 使 切 削 过 程 向预 定 的 指 标 和条件 转变 , 由计算 机 的输 出 的直 接 去 控 制 执 行 机 构 网 网 一 鬻 篁 墅 篓 i 控制与检测 组合机床与自 动化加工技术 系统所使用的 P C I总线是 当前最流行 的总线之 一 ,是 由 I n t e l 公 司首先 推 出 的一种 局部 总 线 。它定 义 了 3 2位 的数据 地址 总线 , 并 且可 以扩 展 为 6 4位 , 其 支 持 突发读写操 作 , 也 可 以支 持多组 外 围设 备 。由于 P C 1 支持设 备 即插 即用 , 所 以 P C I 设 备 不 占用 固定 的 内存 地址 空间或 I / O地 址空 间 , 从而 达 到资源 最 大 的利用 。 同时, P C I 局部 总线还具有兼容性强、 功能齐全、 适合 各种机 型 、 低 成本 、 高 效益 等优 点 , 使 P C I 总 线 既迎 合 了当今 的技术 要求 , 又能满 足未 来 的需要 , 是业 界公 认 的最具 有发展 前途 的总线 标准 之一 。 目前 实 现 P C I 接 口的方 法 主要 有 三种 使 用 可 编程 逻 辑 器 件 C P L D 、 使 用 F P G A和使 用专 门的 P C I 接 口芯 片 。 通 过 比较 , 本 文采用专 用 芯片 P C I 9 0 5 2来 实现 , 它 也是 P C I 控制 板卡 的核心 。可 以实现 将 复杂 的 P C I 总 线接 口转 化 为 相 对 简 单 的 用 户 接 口。P C I 9 0 5 2采 用 1 6 0脚 塑 封 P Q F P封 装结 构 , 其 信 号 引 脚 可 以 分 为 四 组 电源 、 地 脚 串 行 E E P R O M 接 口引 脚 , P C I 系统 接 口 引脚 和本地 总线接 口引脚 P C I 9 0 5 2应用 中最重 要 的部 分是配 置它 的串行 部 空 间 的大小 。本 文 中采用 Mi c r o c h i p公 司的 9 3 L C 4 6 B来配 P C I 总线控制 器控制 数 据 在上 位 机 和数 据存 储 模 块之 间的传输 ; 数 据存 储 模 块 为 数模 转 换 模块 提 供 稳 定 的 1 2位 数 据 , 直 到 该数 据 被覆 盖 , 因 此 在 P C I 9 0 5 2 接口芯片和 P C I 总线之间, 就只要将相应的信号线进 行连接 , 便可 以实 现 P C I 总 线 和锁 存 器 之 间 的数 据 交 换 。在 本 系 统 中 模 数 转 换 芯 片 选 用 了 常 见 的 DAC7 5 41 。 3 P C I 板卡的驱动程序设计 P C I 软 卡设计 主要包 括 底层 驱 动程 序 开 发 和测 试 程序开发。P C I 总线的操作, 需要通过操作系统来 管 理 , 调用相 应 的驱 动 程序 来 完 成 。驱 动 程序 是 位 于 上 层控 制软件 和计 算 机 硬件 之 间的 中 间层 程 序 , 它 负 责 上层 软件 与硬件 的通信 , 把 硬件 资 源 在计 算 机 内进行 分 配 。因此 , 驱 动 程 序 的好 坏 直 接 决 定 设 备 的性 能。 现 对 P C I 板 卡 的 WD M 驱动程 序进行详 细介 绍 。 WD M 即 Wi n 3 2驱动程 序模型 , 是微软 公 司推 出的 全新驱动程序模式 。它 旨在通过提供一种灵活的方式 简化 驱动程 序 的开 发 , 在 实现 对 新 硬件 支 持 的基 础 上 减少 并降低所 必 须 开发 的驱 动 程序 的数 量 和 复杂 性 。 WD M驱 动 的开 发采用 驱 动 开发 软件 工具 包 D r i v e r S t u - d i o , 它包 含 V t o o l s 、 D r i v e r Wo r k s和 S o fl l C E等开 发 工 具 。用 D r i v e r Wo r k s 所生 成 的 WD M 程序 框架对 于开发 人员 来说非 常简单 , 但实 质 上 D r i v e r Wo r k s 最终 调 用 的 仍是 D D K所 提供 的基本 函数 , 所 以开 发 WD M 必 需有 D D K支持 。 该硬件的驱动程序开发大体过程是首先配置开发 环境 , 然后 测试 配置 环 境 , 接 着 搭 建 驱动 程 序 框架 , 最 后增 加驱 动程序读 写操作 函数 。必 须添 加硬 件读 写操 作 函数 , 应 用 程序 才 能 和 P C I 接 口卡 进行 通 讯 。这 是 本 文的关 键所在 , 主要使 用硬件访 问 函数 i n b 和 o u t b 实现驱动程序和接 口卡的通信。在通讯过程中, 应 用 程序一 次读写 一个字节 的数据 。驱 动程序 用 到 的主 要 功能 函数 及添加 代码 如下 1 P C I D A I O C T L Wr i t e 函数 此 函数是将应 用 程 序发 送 的数据 p l n B u f f e r [ 0] 写 入局 部空 间的 i o I n S i z e一1 地址 单元 中。 函数 主要 代码 如 下 PCI DAI OCTLWr i t e KI r p I { P UC HAR p l n B u f f e r P UC HA RI . I o c t l B u f f e r ; / / 取得缓 冲区指针 U L O N G i o I n S i z e I . I o e t l I n p u t B u f f e r S i z e ; / / 得 到输入缓 冲 区 大 小 m I o R a n g e 1 . o u t b i o I n S i z e一1 , p l n B u ff e r [ 0 ] ; / / 将 数据 写 入 i o l n S i z e 一1 地址单元中 I . I n f o r ma t i o n 1; / / 写 入 了一 个 字 节 } 2 P C I D A I O C T L R e a d 函数 此 函数的主要 功能是 读取 锁存 器组 当前 的值 。函 数 主要 代码 如下 P CIDAI OCTLRe a d K l r p I { P U C H A R p O u t B u f f e r P U C H A RI . I o e t l B u f f e r ; / / 取 得 缓冲区指 针 p O u t B u f f e r [ 0 ]m Me m o r y R a n g e 1 . i n b 0 ; / / 读 两个 字 节 的数据 p O u t B u f f e r [ 1 ] m Me m o r y R a n g e 1 . i n b 1 ; I . I n f o r m a t i o n 2 ; / / 读 出了两个字节 } 3 P C I D A I O C T L U S E R 0 函数 此 函数通 过改变 P C I 9 0 5 2配置 寄存 器 5 0 h单元 的 值 , 使 U S E R 0的输 出为 0或 1 , 并 与 A L E信号 相结 合 , 作为两路 锁存 器的锁存 信号 。 函数 的主要 代码如下 PCI DAI OCTLUS E R0 KI r p I { P UC HAR p l n Bu f f e r P U C HARI . I o e t l Bu f f e r ; / / 取得缓 冲区指针 UL O NG i o I n S i z eI . I o c t l I n p u t B u ff e r S i z e ; / / 得到输 入缓 冲区大小 m I o R a n g e 0 .I o u t b i o I n S i z e , p l n B u f f e r [ 0 ] ; / / 写入数据到 i o n S i z e 单元 I . I n f o r ma t i o n 1 ; } 4 S e r i a l R e a d 函数 2 0 1 0 年第6 期 控 制 与检 测 此 函数 根据应 用 程 序 的参 数 值 n的 大小 , 依 次 读 出 P C I 9 0 5 2配 置 寄存 器 0~n一1单 元 的值 , 用 十 六 进 制表示 , 在驱 动程序 调试 时调 用 。代码 实现 与 P C I D A I OCTL R e a d 基 本相 同 。 4 驱动程序和应用程序的通信 为 了达 到应 用 程 序 和 P C I 板 卡 进 行 通 信 , 必 须 要 借助驱动程序来完成。应用程序和驱动程序通信流程 图如图 4所示 , 在 Wi n d o w s 中 , 应 用程 序 中使 用 C r e a t e Fi l e,Re a d Fi l e,W r i t e Fi l e,De v i c e I o Co n t r o l ,Cl o s e Ha n d l e 几个 A P I 来指 示驱 动程 序完 成某 种 任务 。几 个 函数 的 说 明如下 图 4 应 用 程 序 和 驱 动 程 序 通 信 流 程 图 应用 程 序 中 使 用 R e a d F i l e来 让 驱 动 读 取 硬 件 设 备 , 使 用 Wr i t e F i l e来 让 驱 动 写 硬 件 设 备 , 使 用 D e v i c e I o C o n t o r l 来 让 驱 动 完 成 某 些 驱 动 支 持 的 功 能 。 而 R e a d F i l e , Wr i t e F i l e ,D e v i c e I o C o n t r o l 这 三 个 A P I 都 需 要一个句 柄作 为 参 数 , 以确 定 他 们 是 要 哪个 驱 动来 完 成 他们 的 请 求 。 这 个 句 柄 是 通 过 C r e a t e F i l e获 得 的。 使 用 C l o s e H a n d l e关 闭这个 句柄 。简单 的说就 是 , 应用 程 序 中 , 首 先 要通 过 C r e a t e F i l e获得 一 个 设 备句 柄 , 之 后 应用 程 序 可 以 以 这 个 句 柄 为 参 数 , 使 用 R e a d F i l e , Wr i t e F i l e , D e v i c e I o C o n t r o l让驱动程序 执行某 种操作。 当不再使 用 时 , 通 过 C l o s e H a n d l e关 闭这个 句柄 。 这几 个 A P I 都 位 于 Wi n 3 2子 系统 的三大模 块 中的 K e r n e 1 . d l l 中 , 他们 最终会 通 过系统 服 务 函数 调用 内 核 中 的 相 应 的 函 数 , 如N t C r e a t e F i l e , N t R e a d F i l e等 。 N t C r e a t e F i l , N t R e a d F i l e的作 用是 穿越 用 户 模 式 的边 界 进 入 内核 模式 , 进 入 内核模 式 后 就会 调 用 系统 服 务 函 数 而 N t C r e a t e F i l e , N t R e a d F i l e等 函 数 中 , 会 创 建 一 个 I R P I / O R e g u e s t P a c k a g e 即输 入输 出请 求包 , 是驱 动 程序 开发 过程 中的重 要数 据结 构并 用 传人 的参 数 初始 化这 个 I R P , 然后 将这个 I R P发 给驱 动 程序 , 让 驱 动做 处 理 。相 应 的 N t C r e a t e F i l e产 生 I R P M J C R E A T E 的 I R P , N t R e a d F i l e产 生 I R P MJ R E A D 的 I R P 。驱 动 得 到这 些 I R P , 根据 情况做 处 理 , 对 于 I R P M J R E A D, 会 调用 驱动 中处 理 I R P ~ MJ R E A D 的部 分 , 可 能 最 后 引 起读 硬件 的操 作 。 5 结束语 本 系统采 用集 散控 制方 法对 机 床 的切 削力 、 温 度 、 空切进 行实 时检 测 。将检 测 到 的数据 通 过 P C I 总线 直接送 人 上位机 , 采 用 P I D控 制 模 型参 考 自适 应 控 制 的方 法 。达 到 了对 机床 实 时监 测 , 实 时控制 的要求 。 自适应算法的引入 , 使系统表现出了较好 的适应性 , 并 提高 了对机 床 主 轴 控 制 的 精 度 。实 验 表 明 , 系 统 能 够 较好 的满 足实 际生 产 要 求 , 有效 地 提高 了主 轴 的 利 用 率及切 削加 工精 度 。 [ 参考文献 ] [ 1 ]黄华 , 李爱平.基 于恒功 率约束 的 自适 应加工 控制 系统开 发 [ J ] .同济大学学报 , 2 0 0 8 , 3 6 7 9 5 7 9 6 1 . [ 2 ]W . T . L e i ,M. P . S u n g ,L . Y . L i n , J . J . H u a n g .F a s t r e a l t i m e N U R B S p a t h i n t e r p o l a t i o n f o r C N C m a c h i n e t o o l s [ J ]I n t e r n a t i o n a l J o ur n a l o f Mac hi n e To ol s a n d Ma nu f a c t u r e 2 0 07,4 7 1 0 1 5 3 01 5 4 1 . [ 3 ]逢肩寿 , 肖顺根 , 宋萌萌 .数控机床切削加工过程 的模型参 考 自适应控 制研 究 [ J ] .机 床与 液压 , 2 0 0 9 , 3 7 , 3 5 4 55. [ 4 ]刘艳 明.自适应控 制在 数控 机床 中的应用 [ J ] .组 台机 床 与 自动化加l丁技术 , 1 9 9 0 , 1 2 1 1 4 5 4 7 . [ 5 ]薛林.高速 P C I 采集卡 的设计 与实现 [ D] .南京 南京理丁 大 学 , 2 0 0 6 . [ 6 ]J C h r i s C .Wi n d o w s WD M设 备驱动程序开发指 南 [ M] .北 京 机械工业 出版社 , 2 0 0 0 . [ 7 ]张帆 , 史彩成 ,Wi n d o w s 驱 动开发 技术详 解 [ M] .北 京 电 子 T 业 版 社 , 2 0 0 8 . [ 8 ]黄迅 , 孙政顺 .利用 Wi n D r i v e r 开发 P C I 设 备驱动程序[ J ] . 电子技术应用 , 2 0 0 1 , 7 1 8 1 51 6 . [ 9 ]苏 恒 数 控 机床 .误 差 运 动 的 在机 检 测 与 误 差 分 量 辨 识 [ D] .上海 上海交通大学 , 2 0 0 3 . 编辑赵蓉 ’ll ’’ l’ll l’l ’’’’ ’ 、 i 申请优先审稿须知 j 为振兴我国机械装备制造业 ,弘扬民族科学文化 精 神, 提 升 期 刊 质 量 , 本 刊 从 即日 起, 凡 是 符 合 本 刊 报i ; 道 范围 且同 时受到“ 国家8 6 3 计划资 助项目 ” 、 “ 国家 自然科学基金资助项 目” 、 “ 国家重点科技攻关资助项 目” 等国家级基金资助项 目的原创论文, 本刊可优先审 稿, 一经录用 , 优先发表, 欢迎业内人事、 专家、 学者踊 跃投稿 来稿注明 “ 优先审稿” 字样 。 注 1 . 本刊正常审稿时间一般为一个月, 优先审稿时间 为 1 5 2 0天; ; 2 . 本 刊 正 常 发 表 文 章 周 期 为 来 稿 后6 8 个 月 , 优i ; 先发 表 文章 周期 为5 6 个 月。 本刊编辑部 V 、‘tItlII IlIl Itlllllllll‘‘lll‘l l‘l‘ ttttlIIIIII