资源描述:
信息技术 黄晓华, 等 V B 6 . 0环境下数控机床 串口通讯软件的设计 V B 6 . 0环 境下数控机床 串 口通讯 软件 的设计 黄晓华 , 王伟 , 营娟 , 王兴成 1 .南京理工大学 机械工程学院, 江苏 南京 2 1 0 0 9 4 ; 2 .大连海事大学 电气与 自动化学院, 辽宁 大连 1 1 6 0 2 3 摘要 应用 R S - 2 3 2串口来实现数控车间中P c机与数控设备之间的通信。以 F A N U C O i 立式 数控铣床为对象, 研究了MS C O MM控件, 设计了数控通讯系统电路 , 并利用 V B 6 . 0开发了串口 通讯软件来实现 P C机与其的数据交换 。 关键词 R S - 2 3 2串口; V B 6 . 0 ; MS C o m m控件; 串口通讯 中图分类号 T G 6 5 9 ; T P 3 I 文献标志码 B 文章编号 1 6 7 1 62 7 6 2 0 1 0 0 5 - 0 0 8 7 - 0 4 S e r i a l Co mmun i c a t i o n S o f t wa r e 0 f CNC M a c h i ne De s i g ne d b y VB6 . 0 HUANG Xi a o h u a , WANG We i , C AO J u a n , WANG Xi n g . c h e n g 1 .C o l l e g e o f Me c h a n ic a l E n g in e e r i n g , N a n j i n g Un i v e r s it y o f S c ie n c e a n d T e c h n o l o g y , N a n j i n g 2 1 0 0 9 4, C h i n a ; 2 .C o l le g e o f E l e c t r ic a l E n g i n e e r i n g a n d It s A u t o ma t i o n , D a l ia n Ma r it i me U n iv e r s i ty, D a l ia n 1 1 6 0 2 3 , Ch i n a Ab s t r a c t I n t h i s p a p e r , R S - 2 3 2 s e r ia l p o r t i s u s e d t o c a r r y o u t t h e c o mmu n i c a t i o n b e t we e n PC a n d N C ma c h i n e .We t a k e F AN U C OI C NC v e rt i c a l mi ll in g ma c h i n e f o r o b j e c t t o ma k e a s t u d y o f t h e MSC OMM c o n t r o l b o x ,d e s i g n h a r d wa r e c i r c u i t s o f C NC c o mmu n i c a 。 t i o n s y s t e m a nd d e v elop a s e n al c o mmun ic a t ion s o f t wa r e b y u s i n g VB6. 0. Ke y wor d s RS-23 2 s er i a l p o r t ;Visu a l Ba s i c 6. 0;MSCo mm c o n t r ol b o x; s er i a l c o mmu nic a t ion 0 引言 随着数控机床在企业中的广泛使用, D N C技术也得到了 迅速的发展。在数控车间, 无论是单机数控系统还是 D N C系 统, 技术上首先要解决的是底层数控设备与主机之间的通信 问题。R S . 2 3 2串行通讯接口由于具有结构简单、 价格低廉等 优点, 在工业控制领域一直占有重要的地位u 。目前, 计算 机上都配备两个标准的 R S - 2 3 2串行通讯接 口, 大多数数控机 床也具有 R S - 2 3 2 , R S - 4 2 2或 R S - 4 8 5串行通讯接口。因此, 在 数控车间 P C机与数控机床之间的数据交换大多数采用 R S . 232串行通讯方式。本文的主要任务就是利用 V B 6 . 0中的 M S C o m B控件编写专用 串口通讯软件, 来实 现 P C机 与 F A N U C O i 立式数控铣床的数据交换。 1 M S C O M M控件 的研究 利用 V i s u a l B a s i c 6 . 0来 开发 串 口通 讯软 件。在 V B 6 . 0中有 2种解决串口通讯问题的方法 1 调用 Wi n d o w s 的 A P I 函数来完成 ; 2 采用标准 MS C o m m控件来实 现。由于采用 A P I 函数的难度较大, 实现起来比较复杂, 因此常常采用第 2 种方法。MS C o m m控件过程简单 , 提 供了完善的串行数据发送和接收功能 , 能够使 P C机方便 地与外部设备通过串口进行数据交换, 还通过属性的方式 提供了串口参数的设置, 增强了系统的通用性 和可移植 性。在进行通讯之前 , 首先要正确设置 MS C O MM控件的 各个属性, 因此有必要搞清楚控件几个主要属性的含义。 C o mm P o r t 设置并返 回端 口号 , 必 须在 打开 端 口之 前 完成, 端 口号取值范围为 1 - 9 9, 缺省 1 ; S e t t i n g s 设置初始化参数 , 设定波特率、 奇偶校验、 数 据位及停止位, 其格式为“ B B B B, P, D, S ”; I n p u t 从接收缓冲区返回并清除其中的数据流; I n p u t L e n 设置并返回 I n p u t属性一次从接收缓冲区 中读取的字节数。若取 0 , 则表示 I n p u t 读取整个缓冲区 的内容 ; I n p u t Mo d e 设 置并返 回接收数 据 的类型 , 0为文本形 式 , 1为二进制形式 ; O u t p u t 向发送缓冲区传送数据流; I n B u f f e r s i z e和 O u t B u ff e r s i z e 分别设置接收缓冲区和 发送缓 冲区的大小 ; P o r t O p e n 设 置并 返 回端 口状 态 , T r u e为 打开 , F a l s e 为关闭 ; R t h r e s h o l d 为一阀值, 它确定当接收缓冲区内字节个 数达到或超过该值 后就产生代码为 C o m m E v R e c e i v e的 O n C o m m事件 ; S t h r e s h o l d 为一阀值, 它确定当发送缓冲区内的字节 个数少于该值 后就产 生代码 为 C o m E v S e n d的 O n C o m m 事件 ; C o m E v e n t 返回最新的事件或错误, C o mE v e n t 存有该 事件或错误的数值码。 M S C o m m控件提供了 2种处理串行通信的方式 1 查询方式 ; 2 事件驱动方式。事件驱动方式指的是 当端 口接收到数据 、 发送完数据或通信产生错误时, MS C o m m 控件都将触发 O n C o mm事件。该事件就会 自动捕获并处 基金项 目 国家 自然科学基金 资助项 目 0 6 9 7 3 2 8 作者简介 黄晓华 1 9 6 9 一, 男 , 江苏南通人 , 副教授 , 博 士, 从事 数字控制技术 等教学 与研究工作 。 Ma c h i n e B u i l d i Au t o m a ti o n , O c t 2 0 1 0, 3 9 5 8 7~ 9 D 8 7 信息技术 黄晓华, 等 V B 6 . 0环境 下数控机床 串口通讯软件的设计 理这些通信事件或错误, 通过检查控件中 C o m mE v e n t 属 性的值来获得通信事件或错误的信息 , 从而进行相应的处 理。文中采用2 , 它可靠性高、 程序响应实时性好。 2 机床通讯系统硬件连接电路设计 P C机与数控机床的连接方式, 有近距离和远距离两 种。下面分别对这两种情况进行分析。 2 . 1 P C机与数控机床直接连接 当P c机与数控机床的距离较近时, 通常采用屏蔽电缆 线直接相连。由于二者都采用标准的R S - 2 3 2接口, 所以电平 信号一致, 不需要做任何的信号转换。在这里依 F A N U C O i 系列立式数控铣床为实验对象, 该机床配有一个 2 5 针的R S 一 床之间的距离较远时, 上述直接相连的方式就不适用了。 目前人们都在直接连接方式的基础上不断进行改进, 如增 加传输距离、 扩展通讯卡、 转换成其它串行接 口标准等。 R S - 4 2 2串口采用平衡驱动、 差分接收电路, 从根本上取消 了信号地线, 大大减少了地电平所带来的共模干扰 , 传输 速率也大大提高, 通信距离最大可达 1 2 0 0 m。数控机床 上具有 R S - 4 2 2接 口, 但 P C机上只有 R S - 2 3 2接口, 二者不 能直接相连, 因此常采用 R S - 2 3 2 \ R S - 4 2 2转化器来实现二 者的通信 , 如图 2所示。在这里, 采用的是硬件手段, 与串 口传送数据的软件协议无关, R S 2 3 2 / R S 4 2 2转换器的电路 原理图如图3所示。 2 3 2标准异步串行接口, 各个引脚的含义如表 1 所示。 表 1 数控机床 R S - 2 3 2接口 2 5针脚 说明 图 2 利用 R S - 2 3 2 \ R S - 4 2 2转换器实现串口通 讯 P C机与该机床进行数据传输时, 屏蔽电缆线的一端 接 口 母头 与计算机的R S - 2 3 2接口 C O M1 或 C O M 2 配 合 , 另一端接口与数控机床的接口配合, 具体连接方式如 图 1 所示 。 T x D 2 S s 信息技术 黄晓华, 等 V B 6 . 0环境下数控机床 串口通讯软件的设计 M S C o m m1 . I n B u f f e r S i z e 1 0 2 4 设置接收缓冲 区的大小 MS C o mm1 . O u t B u ff e r S i z e 5 1 2 设置发送缓冲区的大小 MS C o mm1 . I n B u ff e r C o u n tO 清空输入缓冲区 MS C o mm1 . Ou t B u ff e r C o u n tO 清空输出缓冲区 En d S u b 图 4串口配置 窗体 3 . 2 数控程序发 送的流程与程序设计 为了实现数控程序的发送 , 首先选择数控机床的串口 并进行初始化参数设置, 接下来选择并打开要传送的数控 文件 , 然后向串口写入从文件读取到的数据。最后判断发 送是否结束, 是, 则关闭数控文件; 否, 则返回, 开始传送新 的数控文件。具体的流程如图 5所示。 图 5发送程序流程 图 Ma c h i n e B u il d i n g Au to m a t i o n , Oc t 2 0 1 0, 3 9 5 8 79 O 实现发送数控程序的主要代码 P riv a t e s u b s e n d C l i c k D i m S e n d B u f A s B y t e 发送数据缓冲区 D i m O u t D a t a A s S t ri n g 发送字符 串 将字符 串转化为二进制数据 F o r i 1 T o L e n O u t D a t a /2 R e v B u f C B yte ” &H” Mi d O u t D a t a , i I , 2 S e n d B u fC S t r S e n d B u f C S t r R e v B u f Ne x ti MS C o m m1 . O u t p u t S e n d B u f 数 据输出 E n d s u b 3 . 3 数控程序接收的流程与程序设计 在打开数控机床的串口时 , 将引起 O n C o m事件, 此 时通过 MS C o mm控件的 C o mmE v e n t 方法可获取产生 的事件或错误。判断是否有数据到达, 若有 , 则读取数 据并 保 存 数 据 ; 若 无 , 则 返 回。具 体 的 流 程 如 图 6 所示 。 MS C o m m控件 中只 有一 个 O n C o mm事 件。在 O n - C o m m事件处理过程 中, 可以通过判断 C o mm E v e n t 属性 值, 对于不同属性值转入不同事件处理过程 , 一般采用的 办法是 S e l e c t C a s e⋯E n d S e l e c t 。 图 6 接收程序流程 图 实现接收数控程序的主要代码 P ri v a t e S u b MS C o mml O n C o mm‘ 接 收数 据触 发 O n C o mm 事 件 D i m R e v B u f A s B y t e 接收数据缓冲区 D i m I n D a t a a s s t ri n g‘ 接收由通信端口发送过来的字符串, 并 判断之 S e l e c t C a s e MS C o m m1 . C o mm E v e n t‘ 根据 下面 C a s e语 句来处 理相应的事件或错误 C a s e c o mE v C D‘C D线的状态发生变化 C a s e c o mE v C T s‘ C T S线的状态发生变化 C a se c o mE v D S R ‘ D S R线 的状 态发生变化 8 9 信息技术 黄晓华, 等 V B 6 . 0环境下数控机床串口通讯软件的设计 C a s e c o m E v S e n d‘ 传输缓 冲区有 S t h r e s h o l d个字符 C a s e C o m E v Rc e i v e‘ 收到 Rth r e s h o l d个字符 If MS C o mm1 . Co mmE v e n t C o mEv Re c e i v e T h e n R e v B u f M S C o mm1 . I n p u t 接收数据 E n d I f E n d S e l e c t E n d S u b 最后, 关闭串口, 结束程序传输。关键代码如下 P r i v e S u b E tC l i c k 退 出按钮 MS C o mm1 . P o r t Op e n F a l s e En d En d S u b 3 . 4 串口通讯软件设计 中关键 问题的研 究 在此软件的编制和调试 过程中 , 有 以下几个问题 需要 注意 a P C机与数控机床之间数据的流动过程。当数据 要由 P C机传送到数控机床时, 首先被送到 P c机的输出 缓冲区, 然后通过 R S - 2 3 2接 口被送到数控机床的接收缓 冲区, 最后机床的 C P U再到接收缓冲区中将数据取出并 做一定的处理; 数据由数控机床传送到 P C机的过程也是 如此 , 如 图 7所示。 图7 P C机与数控机床之间数据流动过程 b 数据传送形式的选择。利用串口进行通信时, 一 般都是以文字形式传送。但在某些特定的情况下, 就需要 用二进制形式传送 , 如数据和文件。这两种传送方式可以 通过对 MS C o mm控件中I n p u t Mo d e 属性的设置来选取, 当 I n p u t Mo d e 0时 默认值 , 数据以文字形式传送 ; 当 I n - p u t M o d e 1时, 数据 以二进制形式传送。在本系统传输 数控程序采用的是二进制形式, 在发送过程中数据格式由 字符串转换为二进制。 C P C机与数控机床之间通信协议的相互匹配问题 是进行串口通讯设计的关键性环节。通信协议指的是通 信双方的一种约定, 如传送数据的格式、 同步方式、 传输速 度、 检纠错方式和控制字符定义等都做出了统一 的规定, 双方必须共同遵守。常采用的通信协议有起止式异步协 议和同步协议两类。而不同数控机床的通讯协议也有所 不 同。 d 握手方式 的选择。握手是一种控制数据流量的 方法 , 发送设备能够了解接收设备的准备情况, 同样 , 接 收设备也可以控制发送设备的数据发送。通常的握手方 式有硬件握手和软件握手, 这两种方式都用到从接收设 备返回到发送设备的信号。软件握手的信号是在 T X D 和 R X D上进行的, 它已建立了一些标准协议 , 最常用的 是 X O N / X O F F协议。本文选择硬件握手协议, 在发送和 接收过程 中利用 D T R, D S R, R T S和 C T S信 号线进 行 控 制。 4 结论 通过测试, 所开发的串口通讯软件成功地实现了P C 机与数控机床之间的数控程序的发送与接收 , 为后期实施 我校先进制造车间的 D N C系统奠定了基础。 参考文献 [ 1 ]范逸之. V i s u a l B a s i c 与 R S - 2 3 2串行通讯控制[ M] . 北京 中 国青年 出版社 , 2 0 0 2 . [ 2 ]李长林. V i s u al B a s i c 串口通信技术与典型实例[ M] . 北京 清 华大学 出版社 , 2 0 0 6 . [ 3 ]路增力, 宋玉林. V B中串口通讯的实现[ J ] . 江苏电器, 2 0 0 3 5 3 9 - 4 0 . [ 4 ] 梁振刚, 葛亮, 郝博. 基于V C的数控加工传输系统[ J ] . 装备 制造技术 , 2 0 0 8 4 7 6 - 7 8 . [ 5 ] 郭隐彪, 兰劲, 龚子伟. 远程制造的多功能数控接口技术[ J ] . 现代制造工程 , 2 0 0 5 1 4 2 - 4 5 . [ 6 ] 葛研军, 杨智, 崔建国. 数控加工网络化 D N C通讯系统[ J ] . 控制与检测 , 2 0 0 5 4 5 6 - 5 8 . [ 7 ]张良, 肖佩, 吴修德. 基于工业以太网的数控设备网络化研究 [ J ] . 计算机应用技术 , 2 0 0 7 , 3 4 2 3 5 - 3 7 . [ 8 ]李 国政 , 韩雪, 李长星 . D N C数控系统通讯网络的设计 与实现 [ J ] . 石油仪器 , 2 0 0 4 , 1 8 5 1 3 1 5 . [ 9 ]P e t e r W. G o h o n . M a s t e r i n g s e r i al c o m m u n i c a t i o n [ M] . 北京 电 子工业 出版社 , 1 9 9 5 . [ 1 0 ]B r o o k e N i g e l , H e r k k l o t T i m . C h o o s i n g a n d i m p l e m e n t i n g a s e ri al d a t a i n t e r f a c e [ J ] . E l e c t r o n i c E n g i n e e ri n g , 9 6 6 , 6 8 - 7 0 . 收稿 日期 2 0 1 00 3 2 3 欢迎投稿 欢迎刊登广告 欢迎订阅 9 0 h t t p / / Z Z H D . c h i n a j o u rna 1 . n e t . c n E - m a i l Z Z H D c h ai n a j o u r n a1 . n e t . c n 机械制造与自 动化
展开阅读全文