碧波液压网 欢迎你,游客。 登录 注册

利用VC++6.0动态链接库实现三坐标测量机的CNC化

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

     

    1 引 言

    三坐标测量机作为一种三维的自动化、高精度几何尺寸测量工具, 其在制造业中正被日益广泛地应用。同时,随着计算机及相关技术的发展与应用,使三坐标测量机的应用功能也得到了极大的扩展。CNC 式三坐标测量机得到了越来越多的制造业厂家的关注。马达驱动式三坐标测量机一般可由游戏杆控制。CNC 式三坐标测量机除了具有马达驱动式的功能之外, 还可自动依照计算机所预先设定的程序执行测量, 甚至有些厂商出品的三坐标测量机,也提供了自动装拆工件。CNC 式三坐标测量机除提供尺寸测量( 点到点的测量) 外, 也可作曲面的轮廓测量( 点到点的测量及扫瞄测量) 。

    在目前世界专业测量软件如 Rational Dims 等日趋成熟的条件下, 采用动态链接库的方式使测量软件能方便地获取和发送数据到控制器是一种简便有效的方法。用 VC++6.0 按照 Rational 公司提供的标准动态链接库导出函数编写动态链接库, 可方便使用 Rational Dims 来实现 CNC 测量机功能。在本系统中采用了串口的方式来进行控制系统与 PC机的数据传输。

    2 串口通信

    在 Win32 下, 可以使用两种编程方式实现串口通信, 对于 MSCOMM控件在串口通信编程时很方便, 不必花时间去了解较为复杂的 API 函数, 只需在串口通信资源的属性(Properties)一项中配置串口及通信的一些属性。完成配置之后即可打开串口,进行数据读写。但由于控件木身对于接受缓冲区大小设置的限定, 为高速数据采集时的设计带来了麻烦。若接收缓冲区不能满足设计的要求, 当缓冲区内数据达到消息响应值并响应存储命令时, 而新采集的数据传输速度大于已接收到数据的存储速度,就会造成接收缓冲区的溢出, 直接导致系统的崩溃。第二种方法利用 API 函数来实现串口通信, 相对灵活一些, 可以解决第一种方法的缺点, 但其代码的重用性与可扩展性不好。我们通过编写一个串口通讯类, 并利用多线程编程, 可以解决以上所述问题。

    串口的操作可以有两种操作方式: 同步操作方式和重叠操作方式( 又称为异步操作方式) 。同步操作时, API 函数会阻塞直到操作完成以后才能返回( 在多线程方式中, 虽然不会阻塞主线程, 但是仍然会阻塞监听线程) ; 而重叠操作方式, API 函数会立即返回, 操作在后台进行, 避免线程的阻塞。

    无论那种操作方式, 一般都通过四个步骤来完成:

    ( 1) 打开串口

    Win32 系统把文件的概念进行了扩展。无论是文件、通信设备、命名管道、邮件槽、磁盘, 还是控制台, 都是用 API 函数 CreateFile 来打开或创建的。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论