MPC014微型运动控制器
使
用
说
明
系统概述
MPC014微型运动控制器采用高性能控制芯片制作而成。集成普通IO,模拟量输出,步进电机和伺服电机控制。性能稳定可靠,使用简单方便,可代替运动控制器,运动控制卡用于各中小型机械设备。
◆ RS485通讯,简单可靠,可多个控制器组网工作。
◆ 7路光耦隔离输入,9路光耦隔离晶体管集电极开路输出。
◆ 最大脉冲输出频率为2MHz,脉冲输出使用脉冲+方向方式。
◆ 二路0-10v模拟量输出。
◆ 输入输出口都带有独立指示灯,运行状况一目了然。
◆ 四轴独立运动控制,任意两轴直线插补,任意两轴圆弧插补。
◆ 每轴可设一路硬件回原点,两路电机信号输出。
◆ 在线运行方式带1000级指令缓存深度,指令先进先出,控制器与PC端无需高速实时通讯。
◆ 提供DLL动态链接函数库,可用于Window2000/XP/7平台二次开发。控制器仅有21条函数指令,易学易用。
◆ 单电源12V-24V直流供电。
◆ 控制器体积小巧,可安装于狭小空间。
电气性能
|
|
|
|
|
|
|
-134,217,728~+134,217,727 (28 位)
|
|
|
|
|
|
|
|
|
|
|
|
|
端口排列
接线方法
MPC014控制器的输入信号采用光藕隔离共阳接口形式,输出采用晶体管极电极开路输出。 输出最大电流200MA.输入端和输出端外接电压最大24V。
输出接线图:
输入接线图:
COM
; O5 h0 e+ E, Y: k( k
|
与
电机驱动器接线图:
指示灯
MPC014控制器的每个端口都对应有一个指示灯。上电后,第1位和第2位的指示灯在在线工作模式下快速闪烁。输入口X0-X6分别对应第6位到第12位的指示灯。输出口Y0-Y8分别对应第21位到第13位的指示灯。输出口Y0,Y2,Y4,Y6只能作为电机脉冲输出口,不能作为普通输出口控制。当有脉冲输出时,对应的指示灯会快速闪烁。当通讯时,A和B端口对应的指示灯点亮,通讯结束后指示灯熄灭。
当DA1,DA2有电压输出时,对应的指示灯会点亮。当电压输出为0时,对应的指示灯熄灭。
运动控制函数编程开发
MPC014微型可编程控制无需安装任何驱动便可使用。可用RS485转接头分别接入控制器A,B接口和电脑串口,也可直接使用USB转RS485转换头。控制器与电脑串口通讯速率为115200bps,数据位为8位,停止位0位,无校验。使用
函数前先将mpc.dll导入开发工具中。
函数定义如下:
unsigned char inp_move(unsigned char cardno,unsigned char no1 ,unsigned char no2 , long pulse1 ,long pulse2 ,unsigned char mode )
函数名: inp_move
功能:二轴直线插补
参数:
cardno 卡号
no1 X轴轴号
no2 Y轴轴号
pulse1,pulse2 X-Y轴移动的距离,范围(-8388608~+8388607)
mode 0:相对坐标 1:绝对坐标
返回值:
0 失败 1 成功
注意:二轴插补的速度以
X轴速度为基准,
Y无须设定。
unsigned char inp_arc(unsigned char cardno ,unsigned char no1,unsigned char no2, long X , long y, long i, long j,unsigned char mode )
函数名: inp_arc
功能:二轴圆弧插补
参数:
cardno 卡号
no1 参与插补X轴的轴号
no2 参与插补Y轴的轴号
x,y 圆弧插补的终点位置(相对于起点),范围(-8388608~+8388607)
i,j 圆弧插补的圆心点位置(相对于起点),范围(-8388608~+8388607)
mode 0:顺时针插补 1:逆时针插补
返回值:
0 失败 1 成功
注意:
X-Y插补的速度以
X轴速度为基准,
Y无须设定。
unsigned char set_speed(unsigned char cardno ,unsigned char axis ,unsigned int acc ,unsigned int dec ,unsigned int startv ,unsigned int speed )
函数名: set_speed
功能:设置轴速度
参数:
cardno 卡号
axis 轴号(1-6)
acc 加速时间(ms)
dec 减速时间(ms)
startv 启动频率(*100Hz)
speed 运行频率(*100Hz)
返回值:
0 失败 1 成功
unsigned char set_soft_limit(unsigned char cardno ,unsigned char axis ,unsigned char mode, long pulse1 , long pulse2 )
函数名: set_soft_limit
功能:设置轴软件限位
参数:
cardno 卡号
axis 轴号(1-6)
pulse1 负方向限位脉冲值,范围(-8388608~0)
pulse2 正方向限位脉冲值,范围(0~+8388607)
返回值:
0 失败 1 成功
unsigned char pmove(unsigned char cardno ,unsigned char axis,long pulse , unsigned char mode)
函数名: pmove
功能:单轴运行
参数:
cardno 卡号
axis 轴号(1-6)
pulse 输出的脉冲数 >0:正方向移动 <0:负方向移动 范围(-268435455~+268435455)
mode 0:相对位置 1:绝对位置
返回值:
0 失败 1 成功
unsigned char wait_delay(unsigned char cardno ,unsigned int value)
函数名: wait_delay
功能:等待延时数
参数:
cardno 卡号
value 延时量(1-10000)MS
返回值:
0 失败 1 成功
unsigned char set_command_pos(unsigned char cardno ,unsigned char axis, long value )
函数名: set_command_pos
功能:设置轴逻辑位置
参数:
cardno 卡号
axis 轴号(1-6)
pulse 位置脉冲数,范围(-268435455~+268435455)
返回值:
0 失败 1 成功
unsigned char wait_pulse(unsigned char cardno ,unsigned char axis, long value )
函数名: wait_pulse
功能:等待轴脉冲数
参数:
cardno 卡号
axis 轴号(1-6)
pulse 位置脉冲数,范围(-268435455~+268435455)
返回值:
0 失败 1 成功
unsigned char write_bit(unsigned char cardno , unsigned char number, unsigned char value)
函数名: write_bit
功能:写输出口状态
参数:
cardno 卡号
number 端口号(0-8) Y0-Y8
value 状态(0,1) 0 输出低电平 1 输出高电平
返回值:
0 失败 1 成功
unsigned char sudden_stop(unsigned char cardno ,unsigned char axis)
函数名: sudden_stop
功能:轴停止
参数:
cardno 卡号
axis 停止的轴号(1-6)
返回值:
0 失败 1 成功
unsigned char wait_in( unsigned char cardno, unsigned char number, unsigned char value)
函数名: wait_in
功能:等待输入口状态
参数:
cardno 卡号
number 端口号(0-6) X0-X6
value 状态(0,1) 0 输入低电平 1 输入高电平
返回值:
0 失败 1 成功
unsigned char wait_stop(unsigned char cardno ,unsigned char axis)
函数名: wait_stop
功能:等待轴停止
参数:
cardno 卡号
axis 需要停止的轴号
返回值:
0 失败 1 成功
unsigned long get_number(unsigned char cardno )
函数名: get_number
功能:获取唯一序列号
参数:
cardno 卡号
返回值: 32位序列号
unsigned char get_status( unsigned char cardno)
函数名: get_status
功能:获取各轴工作状态
参数:
cardno 卡号
返回值: 8位二进制,1-6位分别代表1-6轴状态,0表示停止中,1表示运行中。
unsigned long get_command_pos( unsigned char cardno, unsigned char axis)
函数名: get_command_pos
功能:获取轴逻辑位置
参数:
cardno 卡号
axis 轴号
返回值: 位置脉冲数,范围(-268435455~+268435455)
unsigned char set_cardno(unsigned char cardno)
函数名: set_cardno
功能:设置卡号
参数:
cardno 卡号(1-255)
返回值:
0 失败 1 成功
unsigned char
no_link (void)
函数名:
no_link
功能:取消通讯连接
返回值:
0 失败 1 取消连接成功
unsigned char
link (void)
函数名:
link
功能:通讯连接
返回值:
0 失败 1 通讯连接成功
unsigned char
read_bit(
unsigned char
cardno,
unsigned char
number)
函数名:
read_bit
功能:读单个输入点
参数:
cardno 卡号
number输入点(
0-6)
返回值:
0 失败 1 成功
Unsigned int
read_fifo_count(
unsigned char
cardno)
函数名:
read_fifo_count
功能:读剩下缓冲数
参数:
cardno 卡号
返回值 剩下缓冲数
unsigned char
set_da (
unsigned char
cardno,
unsigned char
number,
unsigned
int value)
函数名:
set_da
功能:设置
Da输出电压
参数:
cardno 卡号
number输出通道(
1-2)
value (0-10000)mv
返回值:
0 失败 1 成功
unsigned char
get_out(
unsigned char
cardno,
unsigned char
number)
函数名:
get_out
功能:读单个输出点
参数:
cardno 卡号
number输出点(
0-6)
返回值:
0 低电平 1 高电平
|