leetro MPC01 Service Manual

MPC01 运动控制卡
操 作 手 册
3.2 版)
MPC01 运动控制卡操作手册(3.2 版)
目 录
1 概 述............................................................................1
1.1 MPC01 的软硬件简介 ........................................................................1
1.2 MPC01 的结构 ....................................................................................2
1.3 MPC01 的技术特性和使用范围 ........................................................2
1.4 MPC01 的运动控制功能 ....................................................................3
1.4.1
1.4.2
1.4.3
1.4.4
单轴运动控制 多轴独立运动控制 多轴插补运动控制 中断、光码盘反馈和其它能力
.............................................................................................3
.....................................................................................4
.....................................................................................4
.................................................................5
1.5 MPC01 型号说明 ................................................................................5
2 控制卡的安装..................................................................6
2.1 硬件安装..............................................................................................6
2.1.1
2.1.2
2.1.3
2.1.4
设置控制卡基地址 设置中断号 设置减速开关的方向 将控制卡插入PC机
.................................................................................................7
2.2 软件安装..............................................................................................8
.....................................................................................6
.................................................................................8
....................................................................................8
3 MPC01 接口 ....................................................................10
3.1 开关量信号接口................................................................................10
3.1.1 DB15
3.1.2 DB15
接口定义 接线方法
.........................................................................................10
......................................................................................... 11
3.2 脉冲量信号接口................................................................................12
3.2.1 DB25
3.2.2 DB25
接口定义 接线方法
.........................................................................................12
.........................................................................................13
4 运动控制系统的开发....................................................15
4.1 开发DOS环境下的运动控制系统....................................................15
4.1.1
4.1.2
4.1.3
4.1.4
4.1.5
链接运动函数库 简单的定位运动例程 简单的连续运动和回原点运动 多轴插补运动举例 中断产生及处理
4.2 开发WINDOWS下的运动控制系统 ...................................................21
开发
4.2.1
4.2.2
Visual Basic
调用动态链接库函数
.......................................................................................15
...............................................................................15
...............................................................16
...................................................................................18
.......................................................................................20
控制程序
.......................................................................22
...............................................................................22
I
MPC01 运动控制卡操作手册(3.2 版)
4.2.3
动态链接库中的函数
...............................................................................22
5 函数描述........................................................................23
5.1 控制卡和轴设置函数........................................................................23
5.2 运动指令函数....................................................................................29
5.2.1
5.2.2
独立运动函数 插补运动函数
...........................................................................................29
...........................................................................................31
5.3 制动函数............................................................................................36
5.4 位置和状态查询函数........................................................................36
5.4.1
5.4.2
位置查询函数 状态查询函数
...........................................................................................36
...........................................................................................38
5.5 中断管理和其它函数........................................................................40
6 新增功能及函数............................................................45
6.1 MPC01(3.2 )软件概述...................................................................45
6.2 新增功能说明....................................................................................45
6.2.1
6.2.2
运动指令执行方式 获取错误代码
6.3 运动控制系统的开发........................................................................47
6.3.1 MPC01
6.3.2 MPC01
6.3.3
开发
3.2
3.2
Windows
6.4 扩展库函数描述................................................................................50
6.4.1
6.4.2
6.4.3
批处理状态设置函数 错误代码函数 其它新增函数
6.5 常见问题及解决方法........................................................................55
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5.8
6.5.9
6.5.10
6.5.11
6.5.12
6.5.13
6.5.14
软件中对板卡进行初始化设置方法 读取编码器反馈 多指令连续运动 运动变速
...................................................................................................57
正确判断前一个运动指令是否执行完毕 减速、原点信号的使用 如何提高速度精度 如何实现方向信号超前于脉冲信号 如何利用Z脉冲实现精确回原点 运行
EXE
文件时系统显示找不到 如何将开发的软件系统制作成安装程序后发行给最终用户 运行
EXE
文件后死机 软件能够正常启动,但无法产生运动 如何在
Windows 9X
...................................................................................45
...........................................................................................47
版)软件的使用要求 版)软件的安装 环境下的运动控制系统
...............................................................................50
...........................................................................................51
...........................................................................................52
.......................................................................................56
.......................................................................................57
...........................................................................60
...................................................................................60
................................................................................61
操作系统环境下正确设置
.........................................................47
.................................................................47
.....................................................47
.......................................................55
...............................................58
.......................................................60
.............................................................61
DLL
文件
.............................................61
...............61
...................................................61
MPC01
卡中断号
..........62
II
MPC01 运动控制卡操作手册(3.2 版)
6.5.15
如何升级函数库
.......................................................................................62
6.6 错误代码表........................................................................................63
6.7 多指令连续运动时的升降速处理....................................................64
6.7.1
6.7.2
6.7.3
功能说明 相应库函数描述 使用方法及应注意的问题
...................................................................................................64
.......................................................................................64
.......................................................................64
7 函数索引........................................................................66
8 附录 ...............................................................................69
8.1 两轴步进控制系统示例....................................................................69
8.1.1
8.1.2
系统配置 控制电路接线图
8.2 单轴数字式伺服控制系统示例........................................................70
8.2.1
8.2.2
系统配置 控制电路接线图
8.3 PC打印机口用作I/O......................................................................72
8.4 PCI/O地址分配..............................................................................73
8.5 PC机中断线分配...............................................................................74
...................................................................................................69
.......................................................................................69
...................................................................................................70
.......................................................................................70
III
1

1.1 MPC01 的软硬件简介

MPC01 控制卡是基于 PC ISA 总线的步进电机或数字式伺服电机的上位控制
单元,它与 PC 机构成主从式控制结构:PC 机负责人机交互界面的管理和控制系统 的实时监控等方面的工作(例如键盘和鼠标的管理、系统状态的显示、控制指令的 发送、外部信号的监控等等);MPC01 卡完成运动控制的所有细节(包括脉冲和方 向信号的输出、自动升降速的处理、原点和限位等信号的检测等等)。每块 MPC01 卡可控制 3 轴步进电机或数字式伺服电机,并支持多卡共用,以实现多于三个运动 轴的控制;每轴均可输出脉冲和方向信号,以控制电机的运转;同时,可外接原点、 减速、限位等开关信号,以实现回原点、保护等功能。各种开关信号由 MPC01 卡自 动检测并作出反应。
MPC01 卡分为 AB 两种类型:MPC01-A 和 MPC02-BMPC01-A 采用更先进 的控制芯片,具有 S 形升降速曲线,最高输出频率可达 2.4MHz,带有编码器反馈端 口,主要适用于数字式交流伺服系统或闭环的步进电机控制系统;MPC01-B 具有梯 形升降速曲线,最高输出频率可达 100KHz,主要适用于开环的步进电机控制系统。
MPC01 配备了许多功能强大、内容丰富的运动控制软件工具。MPC01 在插补 算法和运动函数的执行效率方面采用了更有效的方法,提高了插补精度和速度。这 些软件工具主要分为示范软件和运动函数库两大类。利用 MPC01 的示范软件既可以 很快地熟悉 MPC01 控制卡的软、硬件功能,又可以方便快捷地测试执行电机及驱动 系统在完成各种运动时的性能特性。MPC01 运动函数库用于二次开发,用户只要用 CC++或 Visual Basic 等编制所需的用户界面程序,并把它与 MPC01 运动库链接 起来,就可以开发出自己的控制系统,例如:数控系统、检测设备、自动生产线等。 MPC01 的运动函数库能够完成与运动控制有关的复杂细节(比如:升降速、直线插 补、圆弧插补等),这样就可以大大缩短控制系统的开发周期。
1
MPC01 运动控制卡操作手册(3.2 版)
光码
长线驱动
光电隔离

1.2 MPC01 的结构

MPC01 控制卡作为开发运动控制系统的平台,其结构是开放式的。该卡插在 PCISA 扩展槽内使用,同时使用控制卡的数量和各卡上的控制轴数可方便地配置; MPC01 卡提供了功能强大的运动控制函数库,并可以充分利用 PC 机现有的资源来 开发完美的运动控制系统。MPC01 控制卡的结构示意图如下:
PC
CPU
运动控制
函数库
ISA 总线
指令
状态
PC
MPC01
运动控制
智能 IC
理想位置 实际位置 状态等
脉冲发射 光电隔离
光电隔离
脉冲 方向
行程 减速 原点
DMC300 结构示意图

1.3 MPC01 的技术特性和使用范围

MPC01 控制卡主要特征有:开放式结构、使用简便、功能丰富、可靠性高等。 MPC01 的特征体现在硬件和软件两个方面:在硬件方面采用 PC 机的 ISA 总线方式,
适用范围广,各种设置采用简单的跳线和拨码开关;MPC01 的接线方式采用 D 型插 头,可使用屏蔽线缆,并且所有的输入、输出信号均用光电隔离,提高了控制卡的 可靠性和抗干扰能力;在软件方面提供了丰富的运动控制函数库,以满足不同的应 用要求。用户只需根据控制系统的要求编制人机界面,并调用 MPC01 运动函数库中 的指令函数,就可以开发出既满足要求又成本低廉的多轴运动控制系统。
MPC01 的技术指标主要有:
z 3 轴步进或数字式伺服控制; z 脉冲输出速度可达 2.4MppsA 型)
100KHzB 型);
z 梯形、S 形加减速(A 型); z 运动中可变速; z 多轴高速线性插补; z 圆弧、椭圆和螺旋插补; z 可输出脉冲/方向或双脉冲信号;
z 每轴带有原点、减速和限位开关
等接口;
z 可外接编码器位置反馈(A 型); z 具有外部定时器中断; z DOS 环境下 C 语言运动函数库; z WINDOWS 环境下 DLL 库; z 演示和测试软件、例子程序。
2
概 述
正是由于 MPC01 的开放式结构,使之应用范围十分广泛,在使用步进电机和数 字式伺服电机的 PC 机运动控制系统中,都可以使用 MPC01 作为核心控制单元,例 如:
z 数控机床、加工中心、机器人等;
z X-Y-Z 控制台;
z 绘图仪、雕刻机、印刷机械;
z 送料装置、云台;
z 打标机、绕线机;
z 医疗设备;
z 包装机械、纺织机械;
等等。

1.4 MPC01 的运动控制功能

MPC01 控制卡的运动控制功能主要取决于运动函数库。运动函数库为单轴及多 轴的步进或伺服控制提供了许多运动函数:单轴运动、多轴独立运动、多轴插补运 动等等。另外,为了配合运动控制系统的开发,还提供了一些辅助函数:中断处理、 编码器反馈、间隙补偿等。下面简单介绍一下这些函数的功能。

1.4.1 单轴运动控制

单轴运动有三个基本的类型:
z 点位运动(pmove) z 连续运动(vmove) z 回原点运动(hmove)
这些运动又可以在常速模式或梯形速度模式下工作,因此,总共有六种基本运 动类型,列表如下:
con_pmove fast_pmove con_vmove fast_vmove con_hmove fast_hmove
以常速移动指定距离(图(a)) 以梯形速度移动指定距离(图(b)) 以指定的常速连续运动(图(c)) 加速后保持在指定高速的连续运动(图(d)) 以常速运动至原点(图(e)) 加速后快速移至原点位置(图(f))
3
MPC01 运动控制卡操作手册(3.2 版)
_p
V
V
位置到达
减速点
位置到达
acon
V
ccon_vmove dfast_vmove
V
econ_hmove ffast_hmove
注:DMC300A fast 类型函数,升降速可设置为 S 形。
带有升/降速控制的运动函数称之为快速(fast)运动函数,譬如:fast_pmove,
fast_vmove fast_hmove,而常速运动函数则称之为常速(con)运动函数,如 con_pmovecon_vmovecon_hmove
move
t
V
t
V
原点位置
t
运动速度图形
bfast_pmove
t
t
减速点
原点位置
t

1.4.2 多轴独立运动控制

多个运动轴能以独立的形式进行点位运动、连续运动和回原点运动(同时开始, 不一定同时到达)。这类运动一般在函数名的末尾以 2 3 来指明参加运动的轴数。 例如 con_pmove2 是一个两轴同时独立做点位运动的函数,fast_home3 是三轴独立做 回原点运动的函数。这一类函数总共有 12 个。

1.4.3 多轴插补运动控制

多轴插补函数能以特定的矢量速度执行线性、圆弧、椭圆和螺旋插补运动。参 与插补运动的各轴同时开始运动,并且按照特定的算法同时到达各自的目标位置。 线性插补函数允许两轴或三轴沿直线运动;圆弧类插补函数允许两轴沿着圆弧或椭 圆运动,以及三轴作螺旋运动。做直线插补运动时,可以采用均匀矢量速度方式或 梯形矢量速度方式。例如,fast_line3 函数让三轴以梯形矢量速度走直线运动。这一 类的函数总共有六个。
4

1.4.4 中断、光码盘反馈和其它能力

MPC01 的运动函数库也提供其它多种辅助功能。例如:中断管理函数,包括处 理中断服务、外部定时器中断、开/关控制卡至 PC 机的中断申请等;MPC01-A 型 的控制卡上每轴都有光码盘反馈信号的接口,能对光码盘反馈信号进行自动计数, 获得实际位置,尤其是在一些以步进电机作为执行机构的系统中,可以构成半闭环 的控制系统,以避免步进电机的丢步或过冲等现象;并且光码盘的 Z 相信号可配合 原点开关信号做精密的回原点定位;另外,还有间隙补偿函数,在机械结构存在间 隙时,往复运动的位置精度会受到影响,在电机每次改变方向时应进行间隙补偿。

1.5 MPC01 型号说明

MPC01 控制卡分为 AB 两种类型,控制轴数 1~3 轴可选。因此,其型号定义 为:
MPC 01 - 3 A
控制卡类型: A2.4MHz+S 曲线+光码盘反馈
运动控制卡
MPC 系列
B100KHz
控制轴数: 1:一轴 2:两轴 3:三轴
总线类型: 01ISA
5
MPC01 运动控制卡操作手册(3.2 版)

2 控制卡的安装

2.1 硬件安装

MPC01 控制卡对 PC 机的硬件要求十分简单:带有 ISA 插槽的 486 以上机型即 可。为了整个控制系统的可靠性,建议使用工控 PC 机。
MPC01 控制卡上有两个拨码开关,用于设定控制卡的基地址和中断号。SW1 用于设置 MPC01 PC 总线中的基地址,出厂设置为 0X300(十六进制 300H)。SW2 和两个跳线用于设置 MPC01 的中断号,用户可选择 IRQ235710111215 来中断 PC,也可以不用中断。出厂设置为“无中断”。
一般控制卡的安装步骤如下:
1.设置基地址;
2.设置中断号;
3.设置减速开关的方向;
4.将控制卡插入 PC 机。

2.1.1 设置控制卡基地址

MPC01 占用 PC 地址总线上的 16 个连续地址,其基地址(或起始地址)由拨码 开关设置。控制卡的地址设置要保证其 16 个连续地址不能与 PC 机内的其它板卡的 地址相冲突,否则,可能出现不可预计的现象。在多卡共用时,每块控制卡的基地 址也不能相同。控制卡的基地址出厂时设置为 0X300,即 0X300~0X30F 全部由 MPC01 占用。如果用户需要改变该设置,可通过拨码开关 SW1 来重新设置。SW1 上的 6 个开关分别对应 PC 机的以下 6 根地址线(A9~A4):
OFF1
地址线:A9 A8 A7 A6 A5 A4 缺省值: 1 1 0 0 0 00X300
拨码开关的位置为 ON 时,相应的地址线为 0。例如:如果把基地址设置为 0X300 (十六进制,其二进制数为 11 设置为:
开关 设置
注意:改变基地址设置后,应在应用程序中调用 set_board_base 函数,以便运动 函数库按照所设置的地址发送控制指令。如果设置的地址在 0X280 0X340 之间, 可调用 auto_set 函数自动完成软件的地址设置。在多卡使用时,应设置不同的基地
ON ON:0
SW1
1 2 3 4 5 6
0000 0000),其中 A9~A4 为 11 0000,则拨码开关的
1 2 3 4 5 6
OFF OFF ON ON ON ON
6
控制卡的安装
SW2
SW2
址。下表为部分地址设置:
基地址
0X280 0X290 0X300* 0X310 0X320 0X330 0X340
拨码开关状态 1A9 2(A8) 3(A7) 4(A6) 5(A5) 6(A4)
OFF(1) ON(0) OFF(1) ON(0) ON(0) ON(0) OFF(1) ON(0) OFF(1) ON(0) ON(0) OFF(1) OFF(1) OFF(1) ON(0) ON(0) ON(0) ON(0) OFF(1) OFF(1) ON(0) ON(0) ON(0) OFF(1) OFF(1) OFF(1) ON(0) ON(0) OFF(1) ON(0) OFF(1) OFF(1) ON(0) ON(0) OFF(1) OFF(1) OFF(1) OFF(1) ON(0) OFF(1) ON(0) ON(0)
*缺省地址。

2.1.2 设置中断号

MPC01 提供两种中断:外部定时器中断和运动结束中断。中断号的设置由 SW2 和跳线 TIM IRQPCL IRQ 完成。TIM IRQ 用于确定外部定时器的中断号,PCL IRQ 用于确定运动结束的中断号。当跳线端子在上面时,相应的中断号由 SW2 12
34 选定;当跳线端子在下面时,相应的中断号由 SW2 5678 选定。
TIM IRQ
PCL IRQ
ON
1 2 3 4 5 6 7 8
中断号:15 12 11 10 7 5 3 2
SW2 的开关对应的中断号为:
开关
1 2 3 4 5 6 7 8
IRQ 15 12 11 10 7 5 3 2
例如:将外部定时器中断号设置为 IRQ12,运动结束中断号设置为 IRQ7,操 作 如下:
ON
TIM IRQ
PCL IRQ
1 2 3 4 5 6 7 8
中断号:15 12 11 10 7 5 3 2
1TIM IRQ 跳线端子在上面,并将开关 2 拨到 ON 状态,这样外部定时器中断
号为 IRQ12
2PCL IRQ 跳线端子在下面,并将开关 5 拨到 ON 状态,这样运动结束中断号
IRQ7
注意:
1. 跳线端子 TIM IRQ PCL IRQ 不能位于同一位置;
7
MPC01 运动控制卡操作手册(3.2 版)
2. 多卡共用时,不同的控制卡不能设置同一中断号,否则将不会产生中断;
设置后应调用 set_board_irq 通知运动函数库;
3. MPC01 控制卡的中断号的设置不能与其它硬件的中断号冲突,否则可能会
造成 PC 死机。

2.1.3 设置减速开关的方向

在某个轴的梯形速度(由 set_profile 设置)运 动过程中,如碰到减速开关,则该轴的运动速度 将自动从高速减到低速,并保持低速运行。一般 情况下,减速开关与原点接近开关配合使用,以 提高在高速回原点时的定位精度。将减速开关安 装在原点接近开关的前面,在高速回原点时,运 动机构先碰到减速开关,使之减速,并以低速靠 近原点接近开关,在到达原点位置时,停止运动。 如果没有减速开关,在高速回原点时,碰到原点 接近开关将立即停车,由于运动机构的惯性、原 点接近开关的有效工作范围等因素,将会降低回 原点的定位精度,并可能给机械造成冲击。
根据减速开关的安装位置,应设置 MPC01 控 制卡上减速开关的方向:
当跳线位于上方时,减速开关应安装在负向;
当跳线位于下方时,减速开关应安装在正向。
注意:这里的正、负向是指控制卡发送脉冲的 方向,可能与运动机构的实际运动方向并不一致。

2.1.4 将控制卡插入 PC

为了保证安全,插卡时应下列步骤操作:
SD-
SD+
1.关 PC 机,并切断电源;
2.打开 PC 机箱,选择未用的扩展槽,并插入 MPC01 控制卡;
3.固定 MPC01 控制卡,并盖好 PC 机;
4.连接 MPC01 与电机驱动器等;
5.接上电源,并启动 PC 机。

2.2 软件安装

MPC01 控制卡对操作系统的要求也十分简单:DOS6.0 及以上版本或 WINDOWS9X 均可。用户可根据自己的软件技术优势进行选择。
MPC01 配有 DOS 环境和 WINDOWS 环境下的运动函数库和演示软件,以满足
不同环境下的运动控制系统的开发和测试。MPC01 软件的安装非常简便,只需运行 安装程序,即可将相应的软件安装到硬盘上。
MPC01 卡的软件安装到硬盘的步骤如下:
1. MPC01 卡软件安装盘插入 A 盘驱动器(1.44Mb);
8
控制卡的安装
2. DOS 提示符下输入 A:\INSTALL,并回车;
3. 所有的 MPC01 软件将自动地安装在 C:\DMC300 目录下。
C:\DMC300 目录下,共有三个子目录:DEMODLLLIB
DEMO 目录中为 MPC01 卡的 DOS 环境下的演示软件,该演示软件为中文界面,
操作十分简单。利用该软件可以方便地改变每个控制轴的速度、加速度和运动距离 等,以完成对 MPC01 卡、电机和驱动器的性能测试等。
DLL 目录下为 MPC01 卡的动态链接库,用于 WINDOWS 环境下的控制系统的 开发,并且还包含了用于 VB 开发的模块 DMC300.BAS,以及用 VB 开发的示例程 序,参照示例程序,用户能够很快地掌握 DLL 库的调用方法。
LIB 目录中为 MPC01 卡的 C 语言运动控制函数库及相应的头文件,用于 DOS 环境下控制系统开发。同时该目录中也给出了简单的示例程序。
9
MPC01 运动控制卡操作手册(3.2 版)

3 MPC01 接口

MPC01 控制卡的接口为 15 芯(DB15)和 25 芯(DB25)的两个 D 型插头。DB15 为三个轴的开关量信号(原点、减速、限位等),采用 12~24DCV 光电隔离;DB25 为三个轴的脉冲量信号(脉冲、方向、编码器反馈等),采用 5DCV 高速光电隔离。 外接线可采用屏蔽线缆,以提高控制卡的抗干扰能力。

3.1 开关量信号接口

3.1.1 DB15 接口定义

DB15 的接口图如下:
EL3+ SD3 EL2+ SD2 EL1+ SD1 ALM 24V
DB15 的接口定义为:
编号 定义 编号 定义
8 7 6 5 4 3 2 1
各引脚功能如下:
z 引脚 124V)为 12~24DCV 的光电隔离电源,该电源由外部提供。 z 引脚 357SD1SD2SD3)输入减速开关信号,可根据控制卡上的跳线
外部报警(仅对 MPC01-A
限位开关 3+
减速开关 3
限位开关 2+
减速开关 2
限位开关 1+
减速开关 1
光隔电源(12~24DCV
8 7 6 5 4 3 2 1
15
EL3-
14
ORG3
13
EL2-
12
ORG2
11
EL1-
10
ORG1
9
NC
15 14 13 12 11 10
9
限位开关 3-
原点开关 3
限位开关 2-
原点开关 2
限位开关 1-
原点开关 1
未用
10
MPC01 接口
光隔电源地
光隔电源地
选择是正向运转时减速,还是负向运转时减速;
z 引脚 101214ORG1ORG2ORG3)输入原点开关信号; z 引脚 468EL1+EL2+EL3+)和 111315EL1-EL2-EL3-)输
入行程两端的限位开关信号。
z 引脚 2(ALM)为外部报警信号,当控制卡接收到该信号,该卡的各控制轴将
立即停止发送脉冲。该信号只对 MPC01A 型控制卡有效。

3.1.2 DB15 接线方法

DB15 接口输入均为开关量信号,其输入信号可以是触点型开关,也可以是 NPN 输出的传感器接近开关等。
1DB15 与触点型开关的接线方法
2DB15 NPN 输出的传感器接近开关的接线方法
24DCV
MPC01 外部信号
24DCV
上拉电阻
MPC01 外部信号
11
MPC01 运动控制卡操作手册(3.2 版)

3.2 脉冲量信号接口

3.2.1 DB25 接口定义

DB25 的接口图如下:
D3+ P3+ D2+ P2+ D1+ P1+ O+5V E+5V E3 Z E3 A E2 B E1 Z E1 A
13 12 11 10 9 8 7 6 5 4 3 2 1
25 24 23 22 21 20 19 18 17 16 15 14
D3­P3­D2­P2­D1­P1­OGND NC E3 B E2 Z E2 A E1 B
DB25 的接口定义为:
编号 定义 编号 定义
13 12 11 10
9 8 7 6 5 4 3 2 1
各引脚功能如下:
z 引脚 7O+5V)为脉冲和方向信号的光电隔离电源(+5DCV)的正端,引脚 19
方向 3+ 脉冲 3+ 方向 2+ 脉冲 2+ 方向 1+
脉冲 1+ 光隔电源 5DCV1 光隔电源 5DCV2
光码盘 3 Z 光码盘 3 A 光码盘 2 B 光码盘 1 Z 光码盘 1 A
12
25 24 23 22 21 20 19 18 17 16 15 14
方向 3- 脉冲 3- 方向 2- 脉冲 2- 方向 1- 脉冲 1-
光隔离地 1
未用
光码盘 3 B
光码盘 2 Z 光码盘 2 A 光码盘 1 B
MPC01 接口
OGND)为该电源的地。该电源由外部提供,供三个轴的脉冲和方向信号的光 电隔离使用;
z 引脚 6(E+5V)为光码盘的光电隔离电源(一般为+5DCV,如果使用高于 5V
的隔离电源,定货时应特别说明)的正端,供三个轴的光码盘及其隔离使用。 当光码盘的供电为+5V 时,可与引脚 7O+5V)共用;如果光码盘与光电隔离 的电源不同,应注意共地;
z 引脚 8P1+)和 20P1-)、10P2+)和 22P2-)、12P3+)和 24P3-)分
别输出三个轴的差分式脉冲信号,引脚 9D1+)和 21D1-)、11(D2+)和 23D2-)、13(D3+)和 25D3-)分别输出三个轴的差分式方向信号。对于仅需 要单端式信号的驱动器,只要接该差分信号的正端即可(参见下图);对于接收 双脉冲信号的驱动器,P 端为正转(CW)脉冲输出端,D 端为反转(CCW)脉 冲输出端(这种情况下,应调用 set_output_mode 设置 MPC01 卡的脉冲输出模 式,参见 set_output_mode 函数说明);
z 引脚 1~514~17 分别输入三个轴光码盘反馈信号,第一轴:E1 A、E1 B、E1 Z,
第二轴:E2 AE2 B、E2 Z,第三轴:E3 AE3 B、E3 Z;仅 MPC01-A 型卡有 此接口。

3.2.2 DB25 接线方法

DB25 MPC01 的脉冲量信号接口,包括脉冲和方向的输出信号、编码器的反
馈信号,其接线方法分别如下:
1DB25 脉冲和方向输出接线方法
26LS32 或等效电路
+ +
- ­ OGND
MPC01 驱动器
差分信号接线方法
O+5V
+
-
MPC01 驱动器
单脉冲信号接线方法
13
MPC01 运动控制卡操作手册(3.2 版)
2DB25 编码器反馈信号的接线方法
E+5V
光隔电源地
MPC01 编码器信号
14
运动控制系统的开发

4 运动控制系统的开发

4.1 开发 DOS 环境下的运动控制系统

利用 MPC01 运动函数库可以直接开发 DOS 环境下的运动控制系统。MPC01
C 语言运动函数库能够完全处理运动控制方面的工作,因此开发者可以集中精力来
设计完美的人机界面,编制界面方面的程序(通常情况下,这方面的编程工作比处 理底层运动控制的工作量要少得多)。开发 DOS 环境下的运动控制系统,只需要一 个 C 语言编译器。MPC01 的 C 语言运动函数库是用 Turbo C 编译制作的。开发者可 以用 Turbo C2.03.0 或 Borland C+ +2.0、3.0、3.1 或更高的版本来与 MPC01 运动函 数库相链接。

4.1.1 链接运动函数库

MPC01 运动函数库的链接非常简单,首先在需要调用运动函数的程序模块中包 含头文件 dmc300.h,然后就可以调用库中的任意运动函数。程序编辑完后,编译这 个程序并将它与运动函数相链接。可以在集成环境下(以.mak 文件或.prj 文件的方 式)完成这项工作,也可以用行命令来完成。
需要特别注意的是:编译和链接工作一定要在大模式(Large memory model)下 进行。这是因为 MPC01 运动函数库是在大模式下产生的。
对于 MPC01 DOS 环境下 C 语言运动函数库,若用户使用 Borland C++开发 环境,应该将头文件中注释掉的 extern "C"{ }恢复,以便能够正确编译链接。若 使用 Trubo C 开发环境,则无需如此。

4.1.2 简单的定位运动例程

下面以一个简单的 例子来说明怎样开发运动控制程序。
让第一轴电机以下列梯形速度参数运动 5000 步:
起始速度(ls):400pps 高速(hs)6000pps 加/减速度:10000ppss
速度和加减速度单位如下:
pps=每秒脉冲数(pulse per second) ppss=每秒 ppspps per second);
15
MPC01 运动控制卡操作手册(3.2 版)
V
hs
ls
那么该运动控制程序如下:
/*pmovel.c 让轴 1 电机运动 5000 */
#include “dmc300.h”
void main ()
{
set_board_num(1); /*设置控制卡数目为 1*/ set_axe(1,1); /*卡号为 1 的控制卡上有一个轴*/ set_board_base(1,0x310); /*设置第一卡的基地址为 0x310*/ init_board(); /*初始化控制卡*/ set_profile(1,400,6000,10000); /*设置第一轴梯形速度曲线*/ fast_pmove(1,5000); /*第一轴快速移动 5000 个脉冲的距离*/ return;
}
请注意,如果调用 fast_pmove 函数,那么应先调用 set_profile 函数设置所需要 的梯形速度,否则,电机运转将使用缺省参数:set_profileaxis, 200, 800,10000)。 对于 con_pmove 运动,应先调用 set_conspeed 函数设置常速,否则 conspeed 的缺省 值是 200pps
加速
减速
t

4.1.3 简单的连续运动和回原点运动

连续运动函数使电机按照一个特定的速度一直运转,直到调用 sudden_stop decel_stop 使其停止,或者遇到限位信号、外部报警信号等。这些函数被称之为 vmove 函数,是因为电机以一特定的速度(velocity)运动。下面的程序为连续运动的例程, 执行时要求输入一个常速度,并以此速度作连续运动,直到按任意键停止:
/*vmove..c 文件用来测试 vmove 运动*/
#include <stdio.h>
#include <conio.h>
#includedmc300.h
void main()
{
int dir; double con_speed;
set_board_num(1); /*设置控制卡数目为 1*/ set_axe(1,1); /*卡号为 1 的控制卡上有一个轴*/
16
运动控制系统的开发
init_board();/*初始化控制卡*/ printf(“\n Please input a speed of con_vmove \n”); scanf(“%f, &con_speed); printf(“\n Please input a direction of vmove \n(1 for positive while -1 for the negative)\n”); scanf(“%d”,&dir); printf(“\n Hit enter to start motion:\n”); getch();
set_conspeed (1,con_speed); con_vmove(1,dir); /*令第一轴以常速连续运转*/ printf(‘\n Press any key to stop vmove motion”); getch(); sudden_stop(1); /*急停指令*/ return;
}
调用回原点运动函数可以使机床或运动台返回原点,这些函数以常速或梯形速 度运动,直到 MPC01 卡接收到相应的原点接近开关发出的信号为止。下面是一个调 用 con_hmove 的例子,达到原点时运动将自动停下来。
/*vmovel.c 文件用来测试 vmove 运动*/
/*hmovel.c:file for testing hmove*/
#include <stdio.h>
#include <conio.h>
#include ”dmc300.h”
void main()
{
int dir; double con_speed;
auto_set(); /*自动检测控制卡并自动设置*/ init_board(); printf(‘\n Please input a speed of con_hmove\n”); scanf(“%f”,&con_speed); printf(“\please input a direction of hmove\n(1 for positive while-1 for negative)\n”); scanf(“%d”,&dir); printf(“\n Hit enter to start motion:\n”); getch();
set_conspeed (1, con_speed); con_hmove(1,dir) wait_done(1); return;
}
17
MPC01 运动控制卡操作手册(3.2 版)

4.1.4 多轴插补运动举例

多轴插补运动包括线性、圆弧和螺旋线运动,它们的运动速度由矢量速度(常 矢量速度或梯形矢量速度)决定。下面是一个简单的直线运动的例子:
电机 2 坐标轴
目标点 P(pos1,pos2)
当前点 电机 1 坐标轴
/*line.c 演示两个轴以梯形速度走直线运动*/
#include”dmc300.h”
void main()
{
set_board_num(1); set_axe(1,2); init_board(); /*初始化控制卡*/
set_vector_profile(600,3000,10000);/*设置矢量梯形速度*/ fast_line2(1,5000,2,10000); /*轴 1 移动 5000 个脉冲,轴 2 移动 10000 个脉 冲,各轴的速度为梯形矢量速度在各轴上的分量*/ return;
}
注意:直线运动可以分为两类:常速模式(con_line)和快速模式(fast_line)。上 述例子演示的就是一个以梯形速度走直线运动的例子。在这种模式下,矢量低速、 矢量高速和矢量加速度应在调用前给定,否则这些参数将取缺省值。在常模式下, 只需设置常矢量速度。
下面是一个简单的圆弧插补的例子:
电机 2 坐标轴
终点 P(pos1,pos2)
cen1cen2
圆心 angle
当前点 电机 1 坐标轴
18
Loading...
+ 56 hidden pages