PMAC运动控制系统.ppt
,运动控制系统 制作人:丁富伟 2011年10月,5.1 开放式运动控制系统 5.2 PMAC运动控制器 5.3 PCI运动控制卡设计,基于PC的伺服运动控制系统是一种开放式结构的系统,可以充分利用PC机的资源和第三方软件资源完成用户应用程序的开发,将生成的应用程序指令通过PC并行总线传送给运动控制器,运动控制器根据来自PC机的应用程序命令,按照设定的运动模式,向驱动器发出运动指令,完成相应的实时运动规划。,5.1 开放式运动控制系统,5.1.1 开放式数控系统,一般数控系统由3部分组成: 1,MMC:人机接口 2,CNC:运动控制部分, 包括伺服部分,但一般 主轴在PLC部分。 3,PLC:机床的顺控部分,人机接口,NC控制器,伺服驱动器,数控机床,传感器,机床强电,MMC,CNC,PLC,5.1 开放式运动控制系统,1、传统数控系统,数控系统软件功能模块,数控装置,控制模块,管理模块,电机运动控制,位置运动控制,插补计算,刀补计算,速度处理,G功能处理,监控处理,中断处理,PLC处理,误差补偿,数控软件功能模块,电机运动控制,插补计算,刀补计算,监控处理,中断处理,匀速控制,加/减速控制,直线、圆弧插补,螺旋线 、空间插补,刀具半径补偿,刀具长度补偿,键盘处理,显示处理,报警处理,急停处理,部分控制模块功能,随着数控技术的发展,数控系统变得越来越复杂,暴露出许多自身固有的缺陷。最大的问题是,这些数控系统都是专门设计的,它们具有不同的编程语言、非标准的人机接口、多种实时操作系统、非标准的硬件接口等,这些缺陷造成了数控系统使用和维护的不便,也限制了数控技术的进一步发展。 为了解决这些问题,人们提出了“开放式数控系统”的概念。这个概念最早见于1987年美国的NGC(Next Generation Controller)计划, NGC控制技术通过实现基于相互操作和分级式的软件模块的“开放式系统体系结构标准规范(SOSAS)”找到解决问题的办法。一个开放式的系统体系结构能够使供应商为实现专门的最佳方案去定制控制系统。,2、开放式数控系统,(1)开放式数控系统的定义,IEEE关于开放式系统的定义: 一个开放式数控系统应能够在多平台上运行,能够与其他系统进行操作,并能够给用户提供一致的交互界面 ; 系统互换性; 可伸缩性; 可移植性; 互操作性; 可扩展性; 不依赖于硬件、模块化;,(2)开放式数控系统的结构形式:,PC连接型NC 即将现有原型CNC与PC用通用串行线直接相连的一种组成形式:DNC PC嵌入型NC 即在传统的专用数控机床中嵌入PC技术,PC与CNC之间用专用总线连接。 系统。 运动控制器+PC型 即在通用PC的扩展槽中插入运动控制卡,完全采用以PC为硬件平台的数控系统。PMAC运动控制器 全软件型NC 即完全采用PC的全软件形式的数控系统。NC的全部功能处理全由PC进行,并通过装在PC扩展槽中的接口卡等进行控制。STEP-NC,(3)PC嵌入型NC,即在传统的专用数控机床中嵌入PC技术,PC与CNC之间用专用总线连接。其优点是原型CNC几乎可以不加改动的使用,且数据传送速度快、系统响应快。其目的是增加数控系统的计算机功能,实现联网和大规模数据处理。如FANUC公司的150/160/180/210系统、Siemens840D系统、Num1060系统、AB9/360等数控系统。,(4)软件数控,它的CNC软件全部装在计算机中,而硬件部分仅是计算机与伺服驱动和外部I/O之间的标准化通用接口。目前由于存在着操作系统的实时性标准统一性及系统稳定性等问题,这种系统目前正处于探求阶段,还没有大规模投入到实际的应用中。目前全软件型NC的典型产品有美国MDSI公司的Open CNC、德国Power Automation公司的PA8000 NT等。,常用的运动控制器主要包括PLC、PC-Based运动控制卡、专用系统和驱动器集成运动控制。 运动控制卡是一种PC-Based的运动控制器,主要厂商包括Delta TAU (PMAC)、GALIL (DMC)、Bardor、Trio(英国翠欧)、NI、Advantech、Adlink、Googol(固高)、雷赛、众为兴、成都步进、摩信等。PMAC在高端市场表现最好,GALIL也表现不错。从数量上讲,国内的厂商的出货量更多,但是主要针对低端市场。,(5)基于运动控制卡的开放式数控系统,计算机,运动控制器 基本模块,I/O模块,PCI总线,数控系统 (运动控制器),伺服 驱动器,开关量 I/O,其它I/O,伺服辅助控制信号,运动控制指令,位置反馈,伺服电机,主轴 驱动器,5.1.2基于运动控制器的数控系统(功能概图),5.1.2基于运动控制器的数控系统(PCI总线),数控装置,控制模块,管理模块,电机运动控制,位置运动控制,插补计算,刀补计算,速度处理,G功能处理,监控处理,中断处理,PLC处理,误差补偿,5.1.2基于运动控制器的数控系统(软件系统),PMAC-Programmable Multi-Axis Controller是可编程多轴运动控制器,也称运动控制计算机. 它主要由MOTOROLA DSP CPU与DELTA TAU公司开发和特制的用户门列IC组成. 主要功能: 控制伺服轴 PLC 数据采集,5.2PMAC运动控制器,1、PMAC运动控制器结构,基于PC(它本身也是一台计算机) 可控制各类电机步进,交/直流服,线性电机,液压伺服. 可接受各类反馈增量绝对码盘,光栅尺,激光干涉仪,电位计,磁致伸缩传感器,旋转变压器等. 多总线结构PC, VME, STP, PCI, 104, MACRO. 一卡可同时控制8个轴,可扩展到128个轴连动. 后台PLC可扩展到1024点. 可独立运行RS-232,422 由主机通过接口或总线发送指令 在板DPRAM选项 在板A/D转换选项 32位在板I/O PWM, DAC 输出模式,2、PMAC的开放式结构,3、PMAC系列运动控制器,20MHz Motorola DSP 56001系列数据信号处理器 8路(数模转换)16位DAC输出 16个码盘通道输入 16个通用I/O I/O扩展端口 越程极限,回原点,伺服放大器报警,使能标志信号接口 LCD和VFD显示端口 Bus and/or RS-422通信 脱机运行 G-Code 编程(可自定义),PMAC 1 的标准配置,线性,圆弧, 三次轨迹计算,样条插补 256个运动程序存储能力 64个异步PLC程序存运行 超大程序的实时下载执行功能 64位位置计数范围 位置环,速度环,电流环三环矢量控制能力 曲线加减速控制 自定义伺服算法能力 电子齿轮 先进的PID及扩展伺服算法,一、执行运动程序 1. PMAC 在某一时间执行一个运动, 并执行有关运动的所有计算 2. PMAC 总是在实际运动之前,正确地调和即将执行的运动 二、执行PLC程序 1. 以处理器允许的时间尽可能快的扫描PLC程序 2. PLC适用于某些异步于运动程序的运动过程 三、伺服环更新 1.对于每一个电机, PMAC都以一个固定频率(2KH左右)自动对其进行伺服更新 2. 伺服环根据运动的设计者编写程序公式,从当前的实际位置和指令位置增加指令的数值 四、换相更新 1. PMAC 以9KHZ的频率自动进行换向计算和控制; 2. PMAC 测量并估算 转子的磁场定向,然后处理电机的相之间的指令,1)PMAC 的功能,五、资源管理 1. 常规管理 定期自动执行资源管理功能,以确认谁正常 2. 报警 跟随误差限制、 硬件超程限制、软件超程限制、 放大器报警 3. 看门狗的更新 在每个PLC扫描之间, PMAC 执行上述任务保证自身的正常更新,如果这些功能不能在最小的频率内检测,卡上的看门狗将报警 六、与主机通信1.随时与上位机实时通讯,甚至在一个运动序列中间;2.将命令放入一个程序缓冲区以便以后执行;3.如果命令非法则将向上位机主机报错。 七、任务优先级 1.任务是按照优先级电路组织起来,使应用程序以最优化、高效、安全的运行 2. 优先级是固定的,但是他们的频率时可以由用户控制的,1)PMAC 的功能,1.机床-磨床/车床/铣床/电加工/攻丝 2.检验-半导体/机械 3.喷涂-混合涂料和喷涂 4.焊接-机械/半导体 5. 印刷-快速印刷 6.张力控制-织物处理 7. 食品加工-混合/分切/处理,8. 包装-塑料/食品 9. 材料处理-半导体贴片加工 10. 车辆控制-汽车/电车/叉车 摄像控制-远距离控制 机器人-3到 6轴抓举和搬运 通用自动化-输运带/同步控制,2)PMAC 的应用领域,3)PMAC 的典型开放式应用,硬件,软件设置及定义,系统编程,4)PMAC 的应用系统建立,5)PMAC 的指令,初始化和变量设置 提前定义其含义 有的影响卡的全局 有的是电机的定义 有的是坐标系的定义 有的是编码器的定义,1. I-变量 (1024),6)受控制电机的运动方式,Ix20 加速时间 (Jog, Home) Ix21 S-曲线加速时间 (Jog, Home),Ix20 加速时间 (Jog, Home) Ix21 S-曲线加速时间 (Jog, Home),6)受控制电机的运动方式,Ix20 加速时间 (Jog, Home) Ix21 S-曲线加速时间 (Jog, Home),6)受控制电机的运动方式,7)通过设置 I变量可以控制以下典型 P.I.D 伺服环,Following Error 跟随误差,Commanded Position 指令位置,Actual Position 实际位置,=,-,P (proportional gain比例增益) Ix30 Spring刚性,刚度 I (integral gain积分增益)Ix33 D (derivative gain微分增益) Ix31 Shock Absorber 减震,吸收,8)重要P变量及其功能,P变量是用户全局变量,可用于PMAC编程中的计算,48位浮点形式 1024 P变量从 P0 to P1023,可用于: 1.计算P100=P101*(sin(45) 2. 软件触发 IF( M1!= 1 AND P10 = 0),利用P变量及DSP进行大量运算,OPEN PROG 1 CLEAR WHILE(1=1) IF(P10) P2=SIN(P1)+COS(P1) p3=2 IF(P13) P2=SIN(P1)+COS(P1) P3=2 w w IF(P199) P2=SIN(P1)+COS(P1) p3=99 ENDIF w w ENDIF ENDIF X2000 P1=P1+1 ENDWHILE CLOSE,8)用户定义坐标系,允许定义的轴: X,Y,Z,U,V,W,A,B,C X,Y,Z: 传统上的主要直线轴 U,V,W: 传统上的第二直线轴 A,B,C: 传统的旋转轴 (A 围绕 X, B 围绕 Y, C 围绕 Z) 位置翻转 (Ix27),将电机和坐标轴绑定 #1-X #2-Y #3-Z,笛卡尔坐标轴可以是直线轴电机的组合: #1 - A11X + A12Y + A13Z + B1 #2 - A21X + A22Y + A23Z + B2 #3 - A31X + A32Y + A33Z + B3 这样允许坐标系旋转和平移,可推广到更多轴的方式,9)编写PMAC运动程序,运动指令 X1000 Y2000 Z3000 U(P1*3.14159) V(20*SIN(Q6) DWELL, DELAY 模态指令 ABS, INC, FRAX, NORMAL LINEAR, RAPID, CIRCLEn, SPLINEn, PVT TA, TS, TM, F 变量赋值 variable = expression 逻辑控制表达式 N, O, GOTO, GOSUB, CALL, RETURN G, M, T, D (special CALL statements) IF, ELSE, ENDIF, WHILE, ENDWHILE 辅助表达式 COMMAND, SEND, DISPLAY ENABLE PLC, DISABLE PLC,Logic Operators逻辑操作符 less than or equal to) <(less than) Functions函数(计算) SIN, COS, TAN, ASIN, ACOS, ATAN, ATAN2, SQRT, LN, EXP, ABS, INT,9)编写PMAC运动程序,PMAC 程序结构,建立一个程序: CLOSE ;关闭所有缓存区 DEL GAT ;清除缓存区数据 Erase any defined gather buffer Coord. System 1, point to Beginning of Program 1, Run,9)编写PMAC运动程序,10)PMAC运动程序执行,PMAC程序的运行模式: 在线命令方式执行PMAC运动指令(命令行方式) 下载到PMAC缓冲区内,再发送运行命令方式,开始一个程序 指向一个坐标系,用在线指令: 在数据期,用作字节使能。 PAR 奇偶校验信号。它通过 AD31:00 和C/BE3:0进行奇偶校验。,接口控制信号 FRAME#:当一个主控设备请求总线时,采样FRAME#、IRDY#,若均为无效电平,并且同一时钟的上升沿GNT#为有效电平,就认定以获得总线控制权。在主控设备发起传输时,将FRAME#驱动为有效电平,并一直保持,直到开始传输最后一个数据时将FRAME#驱动为无效电平。 IRDY# :主设备准备好信号。当与TRDY# 同时有效时,数据能完整传输。在写周期,IRDY# 指出数据已在AD31:00上;在读周期,IRDY#指示主控器准备接收数据。 TRDY# :从设备准备好信号。预示从设备准备完成当前的数据传输。在读周期,TRDY#指示数据变量已在AD31:0中;在写周期,指示从设备准备好接收数据。 STOP# :从设备要求主设备停止当前数据传送。 LOCK# :锁定信号。用于锁定目标存储器地址。 IDSEL: 初始化设备选择。在参数配置读写传输期间,用作设备配置寄存器的片选信号。 DEVSEL # :设备选择信号。该信号有效时, 表明总线上某设备被选中。,仲裁信号 REQ# :总线占用请求信号。任何主控器都有它自己的REQ#信号。 GNT# :总线占用允许信号,指明总线占用请求已被响应。任何主设备都有自己的GNT#。,总线命令,总线命令在地址期 C/BE3:0#线有效时被译码,表明事务的类型,0000 中断确认 中断识别命令 0001 特殊周期 提供在PCI上的简单广播机制 0010 I/O读 从I/O口地址中读数据 0011 I/O写 向I/O地址空间写数据 0110 存储器读 从内存空间中读出数据 0111 存储器写 向内存空间写入数据 1100 多重存储器读 只要FRAME#有效,就应保持存储器管道连续, 以便大量传输数据,数据传输,Master置REQ# 仲裁器许可(GNT#) FRAME#, AD放slave地址,C/BE#放命令信号 地址译码,slave置DEVSEL# IRDY#,TRDY# AD放数据 master只剩最后一组数据时将FRAME#置高 放开IRDY#释放总线控制权,数据传输,数据传输由启动方(主控)和目标方(从控)共同完成 所有事件在时钟下降沿同步,在时钟上升沿对信号线采样,系统时钟 标志传输开始与结束 地址/数据复用总线 命令/字节使能信号 master可以传输数据标志 slave可以传输数据标志 slave发现自己被寻址时置低应答,#,a. 总线主控设备获得总线控制权后,将FRAME#驱动至有效电平,开始此次传输。同时启动方将目标设备的地址放在AD总线上,命令放在C/BE#线上。 b. 目标设备从地址总线上识别出。 c. 启动方停止启动AD总线,同时改变C/BE#线上的信号,并驱动IRDY#至有效电平,表示已作好接收数据的准备。,系统时钟 标志传输开始与结束 地址/数据复用总线 命令/字节使能信号 master可以传输数据标志 slave可以传输数据标志 slave发现自己被寻址时置低应答,#,d. 目标设备将DEVSEL#驱动至有效电平,将被请求的数据放在AD总线上,并将TRDY#至有效电平,表示总线上的数据有效。 e. 启动方读数据。 f. 目标设备未准备好传送第二个数据块,因此将TRDY#驱动至无效电平。,系统时钟 标志传输开始与结束 地址/数据复用总线 命令/字节使能信号 master可以传输数据标志 slave可以传输数据标志 slave发现自己被寻址时置低应答,#,g. 第6个时钟,目标方已将第三个数据块放到数据总线上,但启动方未准备好,故因此将IRDY#驱动至无效电平。 i. 启动方知道第三个数据块是要传输的最后一个,将FRAME#驱动至无效电平,停止目标方,同时将IRDY#驱动至有效电平,完成接收。 j.启动方将IRDY#驱动至无效电平,总线回到空闲状态。,系统时钟 标志传输开始与结束 地址/数据复用总线 命令/字节使能信号 master可以传输数据标志 slave可以传输数据标志 slave发现自己被寻址时置低应答,#,4、双口RAM:快速双向数据交换通道,要实现PC机和运动控制卡之间的数据传送,必须在PC机和运动控制卡之间建立起双向的数据交换通道,双口RAM是一种性能优良的快速通信器件,适用于多CPU分布式系统及高速数字系统的场合。它提供了两路完全独立的端口,每个端口都有完整的地址、数据、控制线。对器件两边的使用者而言,它与一般RAM并无大的区别,只有在两边同时读写同一地址单元时,才发生争用现象,利用双口RAM提供的指示信号,采用合适的通信规则,可以避免争用,实行快速数据交换。,上位PC机与单片机8031之间选用2KX8位的带中断请求信号INT和忙信号BUSY的IDT71321,I/O寻址控制,11位地址线,8位数据线,IDT71321提供了硬件判优和中断判优两种方式,分别利用INT和BUSY引脚信号。 当两端口争用同一地址单元式,由片内硬件电路,根据两边的地址、片选、读写信号到达的先后顺序,裁决哪端口有使用权。如左端口优先使用,则自动将右端口的BUSYR信号拉为低电平,通知右侧暂停读写操作。 当使用中断功能时,每个端口各分配一个固定的双口RAM单元,称为信箱或消息中心,左端为7FEH,右端为7FFH.其时序逻辑是当右端写7FEH单元时,左INTL变低触发中断,左端口读7FEH时,将INTL置1清中断。左端情况类似,只是对7FFH单元操作。当使用中断判优时,右端口不应写7FFH单元,左端口不应写7FEH单元,两单元中按约定置入用户握手信息。,运动控制卡选择: DSP是一种特别适合于进行数字信号处理运算的微处理器。采用哈佛结构、多级流水线、专用的硬件乘法器及特殊的DSP指令等。 通用微处理器的ALU(算术逻辑单元)只能进行加、减及逻辑运算,乘法指令是由加法和移位来实现的,故需许多个指令周期来完成。 DSP由于具有专用的硬件乘法器(一个或两个),可在一个指令周期内完成至少一次乘法,同时还有一次加法。,5、基于PC的伺服运动控制系统设计分析,上位机选择: 上位机(IPC、CNC、PC)硬件选择; 上位机操作系统选择(根据运动控制卡的功能),FPGA/CPLD逻辑可编程控制器件代替复杂的逻辑和时序电路。,1)PCI接口运动控制卡设计 微处理器系统(处理器、辅助电路、板载存储器),完成系统的管理协调,位置控制。 PCI通信接口包括PCI接口逻辑,高速双端口存储器。 反馈处理主要包括数字滤波、鉴相、倍频、计数等,获取各轴实际位置等。 模拟量输出提供8根实轴驱动模块的8路模拟信号。 I/O处理模块。,2)运动控制器PCI通信接口设计,PCI通信接口包含4个部分: a)PCI逻辑完成PCI总线接口信号的实现,提供了PCI总线信号转变为目标设备所需要或可以使用的接口信号,这些信号可以供上位机通过少量I/O端口对下位机的存储器进行读写操作。这里采用3个I/O地址单元,两个是预置数端口,另一个是数据端口。地址可以通过IOCS、BCS、IOW、IOR、A0和A1的组合实现。,b)可预置数计数器占用两个I/O端口,数据位数根据不同容量的DPRAM的地址线位数决定。由上位机在访问存储器之前将存储器中的数据区起始地址送预置数端口地址,计数器的技术输出与DPRAM的一侧地址线相连,但上位机对数据端口执行一次读写操作,计数器中的计数值就自动加1,指向DPRAM的下一个存储单元。预置数端口的地址译码与C/BE信号配合,使得该端口从AD15.0取数。 c)读写控制逻辑实现对DPRAM的读写使能和时序的控制。 d)双端口随机存储器(DPRAM)有两套完整的总线结构,提供内部仲裁允许两套总线同时读写,完成数据在两个异步系统中的共享。 通信接口的数据传输由上位机对预置数端口预置起始地址开始,随后上位机对数据端口的反复读写就可以与运动控制卡成批交换数据。,演讲结束:需要更多资讯,欢迎加Q316868915 谢谢观看!,