收藏 分销(赏)

galil应用编程指南.doc

上传人:仙人****88 文档编号:6984412 上传时间:2024-12-24 格式:DOC 页数:35 大小:254.50KB 下载积分:10 金币
下载 相关 举报
galil应用编程指南.doc_第1页
第1页 / 共35页
galil应用编程指南.doc_第2页
第2页 / 共35页


点击查看更多>>
资源描述
GALIL 数字运动控制器 应用编程指南(V1.0) 目录: 一、概述 3 二、程序的编辑、存储、下载及执行 3 1、程序编辑 3 2、程序存储 3 3、下载程序 3 4、执行程序 4 三、基于GALIL两字符命令集的编程应用举例 4 (一)、GALIL两字符命令集 4 (二)、运动编程 9 1、概述 9 2、命令格式 9 3、运动命令 10 4、运动编程 10 1)、PTP定位 10 2)、JOG方式 10 3)、2D直线和圆弧插补 11 4)、进给率修调 12 5)、直线插补 14 6)、阵列 15 7)、电子齿轮 16 8)、比例运动 17 9)、控制变量 18 10)、I/O接口 18 11)、多任务 19 12)记录数据方式 20 13)AUTOCAD图形文件.DXF转化成.DMC程序 21 (三)、应用编程举例 24 四、基于VB语言的编程及其ActiveX控件 31(一)、概述 31 (二)、在VB开发界面下添加ActiveX控件 31 (三)、VB语言的编程举例 32 五、基于VC/C/C++语言的编程及其动态链接库(DLLs) 34 附录: 35 一、 概述 DMC数字运动控制器是一种智能型控制器,内部有32位高速处理器、Flash存储器和动态RAM,能够进行高速插补运算、数据处理、I/O事件管理、存储用户程序、参数、变量、数组阵列;GALIL公司为广大用户提供了多种编程应用方法:(1)、基于两字符命令集的编程应用;(2)、基于VB语言的编程及其ActiveX控件;(3)基于VC/C/C++语言的编程及其动态链接库DLLS。 以上几种方法可以在当前所有版本的DOS、Windows、Linux、NT、LabView环境下运行。对于一些高级应用,还提供了AUTOCAD生成的.DXF文档自动转换软件,将.DXF格式文档转换成运动控制命令,控制各坐标轴作轨迹运动;也可以将.PLT格式的文档转换成运动控制命令;G code TO DMC软件工具是将G代码转换成运动控制命令。另外,还提供了电子凸轮生成软件工具ECAM,只要简单的将所要求的参数输入表格内即可自动生成ECAM运动控制程序。 二、 程序的编辑、存储、下载及执行 1、 程序编辑 当设备需要进行复杂的运动时,就需要根据所运动的轨迹来编写程序。编写程序有一个编辑窗口,在Terminal的界面下,有两种方法可以进入编辑窗口。一是用鼠标点击Editor按钮,立即出现编辑窗口;二是在Terminal下输入命令“ED”(注:命令必须用大写的英文字母,否则为无效的命令)也可进入编辑页面。编写程序时,一定要注意,程序开头要有标号,标号是以#XXXXXX表示,XXXXXX中第一位必须是大写的英文 字母,后面的五位既可以是英文字母,也可以是数字,或是两者的结合。但不能超过六位,如果超过了六位,程序只认前六位。另外,在一个程序中不能出现两个相同的程序标号(例如程序中的子程序),否则程序出错。 另外,程序结尾必须有结束命令“EN”,否则程序运行时出错。程序的命令详见后面的命令集;编程格式见后面的应用编程举例。 2、 程序存储 当程序编写完毕以后,为了防止误操作造成程序丢失或其他人员修改编写的程序,编程人员都需要保存编写的程序。点击“File”菜单,其下拉菜单中有“Save”,点击出现一窗口,输入要保存的文件名,点击“保存”,程序就保存在计算机的硬盘上,其后缀名为.DMC。 3、 下载程序 程序编写完毕以后,必须把程序下载到数字运动控制器中方可运行程序。其下载方法是:点击“File”菜单,其下拉菜单中有“Download File”,点击出现计算机忙的图标,稍等几分钟,当忙的图标变成可以运行的图标 以后,程序就下载完毕,关闭编辑窗口,退回到“Terminal”窗口。在“Terminal”窗口下输入命令“BP”把程序烧录到控制器的Flash中,防止突然停电或执行命令“RS”,造成程序丢失。可以用命令“LS”读控制器中的程序是不是所编写的程序。 4、 执行程序 一切都准备完毕(GALIL与伺服的接线都已完成,I/O触发信号所需要的接线都接好,例如输入/输出点的公共电源)假设程序的标号为#A,要执行该程序,输入命令“XQ#A”,所编写的程序如果没有错误,程序就开始执行。否则就会出现程序的某一命令处出现错误,这时就需要根据报警的提示检查程序。检查无误后,重新执行程序。 当需要设备一上电,程序就执行。只要把程序的标号编写成“#AUTO”即可。只要这个程序已经烧录到控制器中,控制器一上电或执行命令“RS”以后,该程序就开始执行。 三、 基于GALIL两字符命令集的编程应用举例 (一) 、GALIL两字符命令集 以下的命令集只是简单的介绍,要了解命令的格式、详细的介绍以及命令的定义范围。见GALIL的各种型号的“Command Reference”。 运 动 命 令 AB Abort motion 急停 AC Acceleration 设定加速度 BG Begin motion 开始运动 CD Contour data 轮廓数据(连续路径之位移增量) CM Contour mode 轮廓方式(连续路径方式) CR Circle 圆弧运动(半径、角度之设定) CS Clear motion sequence 清除矢量程序 DC Deceleration 减速度 DT Contour time interval Delta, Time 取样时间间隔(轮廓方式) EA Select Master cam axis 选定凸轮运动的主动轴 EB Enable cam mode 激活凸轮运动方式 EC ECAM Counter 设定凸轮原点 EG Start cam motion (ECAM GO, Engage) 开始凸轮运动 EM Modulus for CAM (CAM cycles) 从动轴的位移增量(凸轮运动) EP Master counts per table entry 主动轴的起点及增量(凸轮运动) EQ Stop cam motion 停止凸轮运动 ES Ellipse scaling 椭圆运动 ET Cam table entry 从动轴位移函数(凸轮运动) FE Find edge 寻边 FI Find index 寻找原点 GA Master axis for gearing 设定主动轴(电子齿轮) GM Gantry Mode 电子齿轮方式 GR Gear ratio 齿速比(电子齿轮) HM Home 返回原点 IP Increment position 增量位置(在运动状态下) IT Smoothing time constant-independent 平滑时间常数(平滑运动 ,S curve) JG Jog mode 点动方式(速度控制方式) KS Stepper smoothing 步进平滑常数(平滑的步进运动) LE Linear interpolation end 结束直线插补 LI Linear interpolation distance 直线插补距离 LM Linear interpolation mode 直线插补方式 PA Position absolute 绝对位置 PR Position relative 相对位置 SP Speed 速度 ST Stop 停止 TN Tangent 正切 VA Vector acceleration 矢量加速度 VD Vector deceleration 矢量减速度 VE Vector sequence end 结束矢量运动 VM Coordinated motion mode 矢量方式 VP Vector position 矢量位置 VR Vector speed ratio 矢量速度的倍率 VS Vector speed 矢量速度 VT Smoothing time constant-vector 矢量时间平滑常数(平滑的矢量运动) 程 序 流 程 AD After distance 等待某位置到达 AI After input 等待某个输入点ON AM After motion complete 等待运动完成 AP After absolute position 等待某绝对位置到达 AR After relative distance 等待某相对位置到达 AS At speed 在……速度 AT After time 等待某相对时间到达 AV After vector distance 等待某矢量位置到达 EI Enable Interrupts 激活中断方式 ELSE IF …….ELSE 逻辑判断语句 EN End program 结束程序 ENDIF Endof IF conditional statement 结束逻辑判断 HX Halt task 中断程序 IF IF conditional statement 假设 II Input interrupt 中断输入 IN Input variable 输入变量 JP Jump to program location 跳到指定的程序 JS Jump to subroutine 跳到子程序 MC After"In Position", Motion Complete 定位完毕 MF Forward motion past position 正向移动到某一个位置 MG Message 显示信息 MR Reverse motion past position 反向移动到某一个位置 NO No operation 作批注.无作用 RE Return from error subroutine 从处理错误返回主程序 RI Return from interrupt 从中断点返回主程序 TW Time out for "In Position" Time-out 事件 UI User Interrupt 用户中断输入 WC Wait for contour data 等待轮廓数据 WT Wait 等待 XQ Execute program 执行程序 ZS Zero subroutine stack 返回原始位置 #CMD ERR Bad command given 指令错误处理子程序 #ININT Interrupt Subroutine 中断处理子程序 #LIMSWL LIMIT Subroutine 限位处理子程序 #MCTIME Motion complete timeout occurred 逾时暂停处理子程序 #POSERR Error Subroutine 错误处理子程序 设 定 AF Analog feedback 模拟反馈 AL Arm latch 位置锁存 BA Brushless Axis 正弦波分割(无刷电机) BB Brushless Phase Begin 角度补偿(无刷电机) BC Brushless Calibration 电机补偿(无刷电机) BD Brushless Degree 分割相位角(无刷电机) BI Brushless Inputs 输入(无刷电机) BM Brushless Modulo 定义磁线宽度(无刷电机) BN Burn parameters 将参数存入FLASH BO Brushless Offset 偏置(无刷电机) BP Burn program 将程序存入FLASH BS Brushless Setup 安装(无刷电机) BV Burn variables 将变量存入FLASH BZ Brushless Zero 零点(无刷电机) CB Clear bit 清除I/O点的状态 CC Configure communication port2 设定Slave 通讯端口 CE Configure encoder type 设定encoder型式 CI Communication interrupt 中断通讯 CN Configure switches and stepper 设定开关和步进电机 CO Configure outputs 设定输出点 DA Deallocate arrays 定义数组大小 DE Define dual encoder position 定义辅助encoder的位置 DL Download 下载程序 DM Dimension arrays 定义数组 DP Define position 定义位置 DR Configure 2nd Communication Channel and the data update rate 设定DMA或Polling ED Edit mode 编辑方式 EO Echo off 关闭响应 LA List Arrays 显示数组名及大小 LL List Labels 显示程序的标号 LV List Variables 显示变量名称及记忆值 LS List Program 显示程序的指令内容 LZ Leading zeros 将有效值之前的零点移除 MO Motor off 电机关断 MT Motor type 定义电机类型 OB Define output bit 定义输出点 滤 波 器 设 定 DV Damping for dual loop 双回路控制阻尼 FA Acceleration feedforward 加速度前馈 FV Velocity feedforward 速度前馈 GN Gain 增益值 IL Integrator limit 积分极限 KD Derivative constant 微分常数 KI Integrator constant 积分常数 KP Proportional constant 比例常数 OF Offset 零点补偿 PL Pole 低通滤波的PID补偿 SH Servo here 激活伺服状态(servo on) TL Torque limit 转矩极限 TM ZR Sample time 采样时间 Zero 零点 状 态 CW (1)Copyright information 查询版权信息 (2)Data Adjustment bit on/off 数据调整位状态 QZ Return DMA information 查询DMA资料 RP Report command position 返回命令位置 RI Report latch 显示锁存位置 RL Report Latched Position 返回最新的锁存位置 SC Stop code 响应(传回,查询)电机停止的原因 TB Tell status byte 响应状态位 TC Tell error code 响应错误码 TD Tell dual encoder 响应辅助Encoder位置 TE Tell error 响应误差 TI Tell input 响应输入点 TP Tell position 响应位置 TR Trace 响应轨迹 错 误 极 限 BL Reverse software limit 负向软限位 ER Error limit 最大误差极限 FL Forward software limit 正向软限位 OE Off on error 位置错误关断电机 编 辑 器 ED Edit mode 编辑方式 (return) Save line 储存 (cntrl)P Previous line 上一行 (cntrl)I Insert line 插入一行 (cntrl)D Delete line 删除一行 (cntrl)O Quit editor 退出编辑器 函 数 运 算 @SIN Sine 正弦函数 @COS Cosine 余弦函数 @ABS Absolute value 绝对值 @FRAC Fraction portion 分数 @INT Integer portion 整数 @RND Round 循环 数 据 记 录 _BG Return the status of motion complete 运动是否完成 _BN Serial number of the board 控制卡序号 _DA Number of arrays available 可用的数组大小 _DL Number of available labels for programming 可用的编程序号 _DM Available array memory 可用的数组内存大小 _HM Status of Home switch 回零开关状态 (二)、运动编程 1. 概述 鉴于运动控制技术不断发展,应用也就变得比以往更为迫切,目前,各种各样的场合均采用伺服系统,如用旋转刀切割材料,在显微镜下对半导体晶片定位,同步贴标器等等。运动控制经常必须与其它事件(如点火继电器,指轮,监控开关等)进行同步。 为了进一步提高速度、精度和技术先进性的需要,新一代智能化运动控制器应运而生,这种控制器具有坐标联动、电子齿轮、板上程序存储器、符号化变量、与外部事件同步的可编程I/O等功能。 DMC运动控制器提供了功能强大且使用方便的编程语言,使用户能快速编程来解决任何运动控制方面的难题。能够把程序下载到DMC存储器,无需主机干预,即可执行。多任务功能同时执行8个用户程序,允许各独立任务同时执行。用DMC来执行复杂程序,让主计算机执行其它任务 ;不过,即使在程序正在执行中,控制器仍能随时接收来自主计算机的命令。 除标准运动命令外,DMC还提供许多命令,使其做出自行决定,这些命令包含各种跳转、事件触发及子程序。DMC还提供了用于检测、修正系统误差及处理来自外部开关的中断的自动子程序。 为了更高的编程灵活性,DMC提供了用户自定义变量、阵列及算术函数。 2. 命令格式 为了各种运动形态和应用,DMC提供了广泛的指令集,用2字符ASCII 命令代表这些指令,使编程简单得尤如英语ABC。例外,让X、Y轴开始运 动的指令规定为BGXY。 可以用指令来指定运动,对输出编程、检查输入状态,使运动与事件同步,如经过的时间、运动完成或输入等。关于整个命令列表,请参见产品目录中各种型号的运动控制器的对应部分。对于一些特殊应用,也能开发专用指令。 3、运动命令 主计算机能对运动控制器发命令来实现所控制的电机进行的运动。最简单 的运动是下例中所示的梯形包络速度轮廓运动,这个运动完整地由距离、转速、加/减速度来表达。 指定这些运动参数的最基本形式是通过“位置分辨率单位”。 4、 运动编程 1)、PTP定位 可以使各轴任意组合以PTP方式运行,只要对各轴分别指定目标位置(PA 或PR)、速度(SP)、加速度(AC)和减速度(DC)即可。任何一个轴的运动均可分别起动和停止。一旦开始运动(BG),控制器就产生梯形速度包络线,在运动期间,可随时改变速度和加速度。例如:我要设备的X轴移动10mm,丝杠螺距为5mm,编码器的分辨率为2500cts/转,经过GALIL四倍频以后,电机旋转一转需要10000cts。X轴移动1mm需要10000/5=2000cts/mm,所以要移动的距离为20000cts。其程序如下: 指令 说明 #A 程序标号 AC2000000 指定加速度 DC2000000 指定减速度 SP20000 指定运动速度 PR20000 指定距离 BGX X轴开始运动 EN 程序结束 执行上述程序,X轴就移动10mm。 2)、 JOG方式 例1、按给定速度一直运行 在JOG方式,对各轴给出JOG速度和方向(JG)、加速度(AC)、减速度(DC),一旦开始运动(BG),控制器就以预定的加速度按梯形包络加速到JOG速度;用平滑处理功能避免速度突变。停止指令(ST)使运动以预定的减速度停止。在运动当中,可随时改变JOG速度、方向、加速度和减速度,用TV指令可随时查询平均速度。例如:一个系统编码器分辩率为4000cts/r,要求电机以600rpm(10r/s)的速度运转, 且必须在100ms内加速到所要求的速度。简单计算表明:速度是40000cts/s,加速度为400000cts/s2。 指令 说明 #A 标号 JG40000 JOG速度 AC400000 加速度 BGX 开始X轴运动 EN 程序结束 执行上述程序以后,X轴按40000cts/s的速度一直运行。 例2、 电位器进行速度控制 要想对电机速度进行控制,连接一个电位器到模拟输入口#1,并读取其电 压值。按模拟输入比例大小设置电机速度,10V输入对应最大速度100,000cts/s; 限制加速度、减速度为500000cts/s2。其程序如下: 指令 说明 #A 标号 JG0 初始速度 AC500000 加速度 DC500000 减速度 BGX 开始运动 #LOOP 标号 JGAN〔1〕*10000 读取电位器电压值并更新速度 JG#LOOP 循环 EN 程序结束 例3、 用输入点启动/停止速度控制 假设,只有等到起动脉冲(用输入口1),X轴开始运动;当检测到该输入点为0时,X轴停止。 指令 说明 #A 标号 JG5000 速度 AI1 等待起动信号 BGX 开始运动 AI-1 等待输入变低 STX 停止运动 AMX 等待X轴完成 EN 程序结束 3)、2D直线和圆弧插补 矢量运动方式(VM)是非常有用的一种运动方式,这种方式能够描述由直线(VP)和圆弧(CR)组成的任意两维轨迹。在运动开始之前,可以给出多达511个直线或圆弧段; 在运动期间,可以发送附加段,无需停止即可实现很长的运动轨迹,对矢量速度(VS)、 矢量加速度(VA)、矢量减速度(VD)和运动平滑(VT)进行预先设定;在运动当中,可随时改变矢量速度,允许进给率修调,在拐角处减速,对指定的运动段分配不同速度。通过设定矢量速度为零可以很方便地实现运动期间的暂停,而增大矢量速度到100%来回复正常速度。 用规定运动平面为S和T的CA指令能够使两个坐标轴同时运行矢量方式。用户通过设置两组坐标运动,即能用一个控制器来实现完全分离的坐标系运动任务,它甚至能处理更为复杂的运动控制功能,如防撞运动。 矢量方式的另一个功能是切线跟踪,让第三轴与运动轨迹保持正切,这对于切割刀具而言是非常理想的。通过命令第三轴以相同速率跟随坐标轨迹还能实现螺旋线运动。 例1. 坐标运动 沿图示轨迹运动,起点A向B反时针运动。设矢量速度为匀速:5000cts/s,沿矢量方向的加、减速率:500000cts/s2。 命令 说明 #PATH 标号 VMXY 定义平面为XY VA500000 加速度 VD500000 减速度 VS5000 矢量速度 VP40000 运动AB CR500,-90,180 运动BC VP-1000,1000 运动CD CR500,90,180 运动DE VP0,0 运动EA VE 指示轨迹终点 BGS 开始运动 EN 程序结束 D(-1000,1000) C(4000,1000) E(-1000,0) A(0,0) B(4000,0) 4)、进给率修调 在某些场合,需要让机械操作人员能调整机器速度,这就称之为进给率修调。例如,当初次开动机器时,操作人员想逐渐提高速度,这个功能就很有用。 往往用一个电位计输出0~10V电压来实现速度控制,当电位计输出满量程10V时,机器就以全速运转,在任何情况下,速度均应与电位计电压成正比例。 为了实现这一功能,运动控制器读取电位计电压,按比例调整进给率。下例是用DMC来实现这个功能的说明。 例1:进给率修调 重复上例,加入进给率修调功能,操作人员产生0~10V的电压,把这个电压加到模拟输入口#1,设置进给率与电压成正比。 用两个程序实现这个运动,#MOVE和#SPEED两个程序以多任务(有关多任务见后面的多任务的举例)同时运行。程序#SPEED读取模拟输入,并不断调整矢量速度,第二个程序#MOVE除指定矢量速度外,其余与上例相同,两个程序列表如下。 指令 说明 #SPEED 标号 A=@AN〔1〕 读取模拟电压 V=A*2000 设定进给率 VSV 更新进给率 JP#SPEED 重复过程 EN 程序结束 #MOVE 标号 VMXY 指定XY平面 VP6000,0 移动到B点 CR1000,270,180 移动到C点 VP-6000,2000 移动到D点 CR1000,90,180 移动到E点 VP0,0 返回到A点 VE 轨迹终点 VA 100000 矢量加速度 VD 100000 矢量减速度 BGS 开始运动 EN 程序结束 例2:以最大进给率进行坐标运动 重复前例,设定进给率为允许的最大值。出于精度考虑,在圆弧段BC和 DE,必须将矢量速度限制在5000计数单位/sec;在直线段电机速度限制在25000计数单位/sec。使用控制器的功能对各运动段给出上限速度和下
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服