三坐标测量机控制原理

三坐标测量机获取测头触碰点相对于系统原点的三坐标值,然后经特定算法处理,得到尺寸公差或形位公差。测头在X、Y,Z三个相互垂直的导轨上进行复合运动,实现逐点测量;或按一定运动轨迹,实现扫描测量。因此在实现每一个轴的运动控制时,既要精确的位置控制,又要精确的轨迹插补控制,所以要对每轴何服运动的位置和速度都实现精确闭环控制。速度环由直流电机尾部的测速发电机反馈电压信号至伺服驱动器形成,由伺服驱动器采用比例增益处理,实现稳定的速度控制。位置环则由光栅尺读数头读取导轨上的光栅尺,反馈正交编码信号至运动控制卡,然后采用PID控制算法处理后形成,实现精确的位置控制。

三坐标测量机控制系统组成

整体组成

开放的测量机控制系统如图1所示,以PMAC2-Lite运动控制卡为核心。该控制卡具有四轴运动控制和数字量逻辑控制功能,支持PID控制算法,同时有32路数字量输人和输出接口。控制卡作为下位机,利用交叉网线与上位工控机连接,构成上下位机式开放式测量机控制系统,I/O接口卡具有32路数字量输入输出,通过排线连接控制卡的JTHW和JOPT接口,实现卡上电路与继电器、开关等外部数字量控制电路的光耦隔离,以及5V与24V电平信号转换,保护控制卡不受外部信号干扰和电流冲击。驱动接口卡通过排线连接控制卡JMACHI和JMACH2接口,转接输出三轴的±10V电压控制信号至伺服驱动器,同时以光耦隔离方式连接伺服驱动器报警、使能、回零和正负限位开关触发等信号,另外也能用光耦隔离方式接收光栅反馈的正交编码信号。因为测量机测头负载较小,但是运动换向频繁,所以采用可频繁启动、低速性能好、响应速度快的山洋T系列直流电机,并安装尾部测速发电机。选用AMC25A8直流伺服驱动器,输出PWM信号控制电机,并接收速度电压信号反馈,形成速度闭环。控制卡输出差动电压信号至伺服驱动器,驱动器输出PWM信号至电机,这种模式使整个系统响应速度快,实时性强,同时也有较好的抗干扰性。

测头坐标捕捉

测头触碰零件表面,获得触碰点的三坐标值是坐标测量机的核心功能。当测头触碰时,通常返回+5V的高电平信号,连接至控制卡JMACH2接口的驱动轴所对应的USER端子,然后在控制卡上设置1变量1xx97=0,I7mn2 =3,17mn³=2。这样当UERS端子检测到测头反馈高电平信号,控制卡立即在寄存器中锁存"xx"轴对应的光栅反馈编码值,读取该编码值,对比系统零点值,就获得该轴的坐标值。测头触碰信号被同时反馈到三个轴的USER端子,因为是控制卡硬件安时锁定编码值,所以可以准确地捕捉到触碰点X、Y、Z三坐标值,实现坐标捕捉功能。手柄控制实现手柄控制测头在X、Y、Z三个方向移动并测量,是重要的测量模式之一。手柄每个方向都是一个电位器,输出的电压信号正负、大小决定了轴的运动方向和速度。ACC-28B是四路模拟转数字扩展卡,可以采集3个方向的手柄输出电压,然后经ACC-8TS扩展接口卡连接到主控制卡。被采集的电压信号存贮在卡中手柄电压值寄存器中,利用周期运行的PLC程序循环读取,然后利用M变量直接赋值给PID滤波寄存器。如果三个轴都处于开环控制状态,这个操作实际上是为开环运动0指令赋值,确定运动速度。通过实时刷新寄存器中值,三个轴就处于0指令控制的开环运动状态,可实现手柄控制测头运动。

测量机软件系统

上位机软件

上位机操作系统为windows系统,软件用VC6.0及PComm32PRO动态链接函数库开发,具有状态监控界面、DMIS程序编辑下载、功能按钮界面和参数设置等模块。状态监控界面主要实现对三个轴的位置及速度的实时监控,对回零状态、限位状态、伺服驱动器等I/0信号的监控。为了减少系统资源占用,采用定时器消息响应函数OnTimer(UINT nIDEvent)每隔500ms来定时采集数据。在该函数中,再调用PComm32PRO中的库函数,来读取控制卡中M、Q等变量,获取上述值。例如获取X轴位置值,则用PmacGelResponseA(m_dwDevice,Buf_Xp,12,"#1p")库函数来实现。获取M变量数值,可以用PmacGelVariable()、PmacGetResponseA()等函数来实现。在消息响应函数的结尾,用UpdateData(FALSE)函数来刷新监控界面的显示。功能按钮界面具有回零、伺服上电、手柄控制等多个命令按钮,分别对应不同的消息响应函数。在这类函数中通过调用PmacGetResponseA()等库函数,调用控制卡上的PLC程序、运动控制程序和在线指令,综合起来实现相应的命令功能。例如执行101回零运动程序,可用PmacGetResponseA(m_dwDevice,Buf-XH,24,"&1 B101R"),来实现三轴的回零命令。控制卡在使用前,可以在上位机上通过对话框进行参数设置,以适应不同的工作环境。该功能利用PmacSeVariable()等库函数来实现。DMIS是一种测量数据通信标准、接口和测量高级语言,是广泛使用的美国标准。上位机具有DMIS程序编辑器,能编辑、解释DMIS测量程序,并下载到控制卡执行。DMIS程序被解释成卡上对应的运动程序、在线指令或PLC程序,利用它们实现测量程序功能。对不同测量要求的自动测量,既可以通过编写不同的DMIS程序实现,也可以直接设置测量按钮,然后编写相应的下位机运动控制程序来实现。下位机软件控制卡中的PLC程序周期性循环运行,能够完全访问卡上的变量和I/O端口,所以可用来读取变量值,并且能够响应外部数字量改变,在程序中调用其它运动控制程序。控制卡开机时,PLC 1参数设置程序,首先运行,设置1、M、P、Q变量值,对控制卡中的控制方式、I/O口定义、特定寄存器对应的变量等进行设置,初始化卡的工作环境。坐标值捕捉PLC程序在后台循环执行,一旦检测USER端子具有高电平信号,就读取已被硬件锁定的三个轴的光栅反馈值,从而获得触碰点的三坐标值。当处于手柄控制模式时,手柄控制PLC程序被循环运行,定时获取手柄电位器输入的电压值,直接赋值给PID滤波寄存器,更改O指令的值,实现三轴的手柄控制开环运行。运动控制程序可以实现期望的运动功能,比较重要的是回零运动程序和重复测量运动程序。这些运动程序由类Basic的高级语言和G代码组成,可以被上位机直接调用,或者PLC程序调用。重复测量运动程序可以利用一个程序循环体,调取事先存储的或用手柄控制获取的一系列测量点坐标,不断自动重复测量这些点,进行比对测量。

基于PMAC控制卡的开放式测量机控制系统,兼容性强,能实现精确的三坐标值硬件实时捕捉,可用手柄控制测头移动方向和速度,能编辑解释标准DMIS测量程序,能实现自动重复比对测量,是一种功能全面,高性能的测量机控制系统,能实现针对不同测量要求的柔性测量。


往期精彩

  • 分享   影像测量仪买回来了,怎么验收和校准?

  • 干货  三坐标光栅尺的安装特点

  • 推荐  学点有用的:过程能力指数Cp与Cpk计算原理详解

  • 必读   三坐标的汽浮导轨,你了解吗?

雷赛运动控制卡能不能用c语言_基于PMAC控制卡的三坐标测量机控制系统相关推荐

  1. 雷赛运动控制卡能不能用c语言_弱电知识之三:跟我学做全彩屏,认识LED全彩屏的模组、控制卡...

    哈罗大家好,我是行者!我们生活中会经常看到户外的大型LED全彩屏,也经常看到大型礼堂的LED全彩屏. 室内LED全彩屏 那么你们是否也想拥有这样一门制作技术呢?如果想,跟我来一步一步的学习吧.今天我们 ...

  2. 机器视觉,运动控制,C#联合雷赛运动控制卡

    机器视觉,运动控制,C#联合雷赛运动控制卡,C#联合凌华控制 卡源 说明: C#联合雷赛运动控制卡源码 程序里面带有凌华控制卡的封装类 实现回原点,jog运动,位置运动,速度运动 实时监控输入输出信号 ...

  3. 雷赛运动控制卡_EeIE智博会展商推荐雷赛智能—智能装备运动控制领域的知名品牌和行业领军企业...

    01 企业简介 深圳市雷赛智能控制股份有限公司(展位号:7A031),是智能装备运动控制领域的知名品牌和行业领军企业.自1997年成立以来,雷赛智能(SZ.002979)一直以"聚焦客户关注 ...

  4. 图形外部加文字 r语言_将外部图形卡连接到笔记本电脑的最佳方法

    图形外部加文字 r语言 Laptops, especially gaming laptops, are a study in compromises. Smaller machines are lig ...

  5. 基于单片机交通灯控制的c语言程序设计,基于单片机控制的交通灯毕业设计

    摘  要 随着现代社会对交通运输的日趋依赖,交通灯成为了人们生活中不可或缺的一部分.传统的交通灯虽然在一定程度上可以满足指挥路口交通的需要,但随着城市规模的不断扩大,原有的交通灯已经表现出明显的缺点: ...

  6. python代替易语言_基于hook的python机器人,彻底取代itchat

    本文档部分由itchat与wxpy的开发文档修改得出 禁止不规范转载 WechatBot WechatBot是一个半开源的微信个人号接口,使用python调用微信从未如此简单. 使用不到20行的代码, ...

  7. java web 多语言_基于 Selenium WebDriver 实现多语言环境下自动化截图

    到此,一个 Junit4 test case 就在 Eclipse 中建成 , 如代码清单 1. 清单 1. 将脚本导入 Eclipse package com.example.casePackage ...

  8. pettitt检验r语言_基于Kriging方法和Pettitt检验的数据冲突判别

    基于 Kriging 方法和 Pettitt 检验的数据冲突判别 李建勋 ; 唐子豪 ; 张永进 ; 王小江 [期刊名称] <计算机工程与应用> [年 ( 卷 ), 期] 2020(056 ...

  9. 温度闭环控制C语言,计算机基于PID算法的模拟温度闭环控制系统.docx

    PAGE PAGE # 目录 目录 摘耍 温度闭环控制系统仿真 摘要 控制系统主要由控制器和控制对象两部分组成,通过一定的控制方法使系统 达到所要求的控制性能.控制模式有开环控制.闭环控制和复合控制三 ...

最新文章

  1. IDEA快捷键拆解系列(五):Navigate篇
  2. 【转】ora-00031:session marked for kill处理oracle中杀不掉的锁
  3. contourArea函数
  4. JavaScript——分时问候
  5. [LeetCode] Binary Tree Paths - 二叉树基础系列题目
  6. Java Switch语句及性能剖析(转载补充)
  7. 如何在Java中将字节数组转换为十六进制字符串?
  8. JAVA面向对象OOP、类、属性、方法、样例代码
  9. 【转】Android Fragment中使用SurfaceView切换时闪一下黑屏的解决办法
  10. robots笔记以免忘记
  11. 怎样卸载干净Oracle
  12. nx零件库插件_3DSource企业自定义零件库插件
  13. html 网页背景图片根据屏幕大小CSS自动缩放
  14. google地图标记
  15. 【谈薪】校招社招如何谈薪
  16. 行车记录仪全国产化电子元件推荐方案
  17. 经典算法——筛选法求素数(素数筛选)
  18. 瞬变电磁matlab,基于Matlab的矿井瞬变电磁超前探测三维显示技术
  19. ffmpeg 音频拼接
  20. HTML可以写一个非常漂亮的简历你还不来看看吗?赶紧收藏备用吧!!!

热门文章

  1. LintCode 802. 数独(回溯)/ LeetCode 37. 解数独
  2. 剑指Offer - 面试题60. n个骰子的点数(动态规划)
  3. LeetCode 268. 缺失数字
  4. 如何在python中打开文件_Python文件处理:创建、打开、追加、读、写
  5. python中向类中动态添加新特性及删除属性方法
  6. java 使用jar_Java 使用JAR文件
  7. java 监控 配置 文件怎么打开_java实现文件变化监控的方法(推荐)
  8. 这可能是你与 AI 大神们近距离接触的唯一机会……
  9. ACL2020 奇葩论文标题大赏
  10. 使用numpy实现神经网络模块