声明
Copyright @ 2010
深圳市合信自动化技术有限公司
版权所有,保留一切权利。
非经本公司
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
面许可,任何单位和个人不得擅自摘抄、复制本文件内容的部
分或全部,并不得以任何形式传播。
、TrustPLC、CoPanel 均为合信自动化技术有限公司的商标。
对于本文件中出现的其它商标,由各自的所有人拥有。
对于本文件中出现的其它软件版权,由各自的所有人拥有。
由于产品版本升级或其它原因,本文件内容会不定期进行更新。除非另有约
定,本文件仅作为使用参考,本文件中的所有陈述、信息和建议不构成任何明示
或暗示的担保。
运动控制 CPU的控制库“motion_ctrl_lib”的使用
一、功能介绍
motion_ctrl_lib功能块是专门为 TrustPLC的 226H而提供的,作为一个库函数给用户使
用。motion_ctrl_lib 只能在运控 CPU226H 上使用,用户无需复杂编程,只需调用和设置一
些简单的参数就可以使用,该系列 CPU具有 4轴独立控制功能,可以进行任意两轴的直线
插补和圆弧插补,同时支持线性加减速控制。
二、安装说明
2.1 添加库文件
在“文件”----“添加/删除库”,找到库文件“motion_ctrl_lib.mwl”,如下图所示。
在你存放的“motion_ctrl_lib”文件的位置,找到此文件,如下图所示,点“添加”按钮后
如下图。
点“确认”安装成功后,在
目录
工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录
树的“库”下可以看到新增加的 motion_ctrl_lib的库:
2.2 库指令中运动轴与 CPU的 I/O对应
CPU
上 IO
Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7 Q1.0 Q1.1
库程
序 IO
Pulse_0 Dir_0 Pulse_1 Dir_1 Pulse_2 Dir_2 Pulse_3 Dir_3 Q1.0 Q1.1
注:
1、 .Pulse_0 --------0轴脉冲输出 ; Dir_0 -------0轴方向输出 ;
.Pulse_1 --------1轴脉冲输出 ; Dir_1 -------1轴方向输出 ;
.Pulse_2 --------2轴脉冲输出 ; Dir_2 -------2轴方向输出 ;
.Pulse_3 --------3轴脉冲输出 ; Dir_3 -------3轴方向输出 ;
2、 Q0.0和 Q0.1 不支持编程软件中 PTO和 PWM高速脉冲输出。
2.3 motion_ctrl_lib库指令说明表
运控 CPU226H
函数名
指令名
称、功能
CTS7
216-1AH33-0A24
CTS7
216-1AH33-0B24
CTS7
216-1AH33-1A24
CTS7
216-1AH33-1B24
MC_EXT_RESET_EN
外部复位
坐标使能
指令
支持
MC_INIT_DIR
配置电机
方向指令
支持
MC_READ_POS
读位置指
令
支持
MC_PTP_R
单轴相对
运动指令
支持
MC_CIRCLE_R
两轴圆弧
插补运动
指令
不支持 支持
MC_SPEED_CTL
速度控制
指令
支持
MC_SET_POS_ZERO
软件回零
指令
支持
MC_LINE_R
两轴直线
插补运动
指令
不支持 支持
三、motion_ctrl_lib库功能说明
3.1外部复位坐标使能指令
① 函数名:MC_EXT_RESET_EN
② 功能:当调用该指令,设置是否使能外部 IO复位绝对坐标值.
注:轴号与外部复位信号的对应关系:
轴 0 ——I0.2 (HSC0)
轴 1 ——I1.0 (HSC1)
轴 2 ——I1.4 (HSC2)
轴 3 ——I0.5 (HSC4)
③ 参数
参数名
输入输出
属性
参数描述 类型 数值范围 备注
SET IN
SET 上升沿,设置外部复位使
能,每次调用时,SET应先复位,
然后再置 1
Bool 范围: 0~1
RESET IN
RESET 上升沿,禁止外部复位
使能。每次调用时,RESET应
先复位,然后再置 1
Bool 范围: 0~1
AXIS_NO IN 设置轴号,0/1/2/3 Byte 范围:0~3
3.2 配置电机方向指令
① 函数名:MC_INIT_DIR
② 功能:配置电机的方向
注:执行此指令只在 CPU上电第一个扫描周期执行一次;
③ 参数
参数名
输入输出
属性
参数描述 类型 数值范围 备注
DIR_LEVEL IN
配置方向信号为正向时的有
效电平。
DIR_LEVEL 为 1 时,设置对
应方向轴输出“1”时为电机
正转。
DIR_LEVEL 为 0 时,设置对
应方向轴输出“0”时为电机
反转。
bool 范围: 0~1
默认值:1,
即默认方向
轴 输 出 为
“1”时为电
机正转。
AXIS_NO IN 设置轴号,0/1/2/3 Byte 范围:0~3
3.3 读位置指令
① 函数名:MC_READ_POS
② 功能:读取每轴的绝对坐标值。一旦设定原点坐标后,那么该值会根据输出的脉冲和方
向的关系进行代数计算:正转输出一个脉冲:+1,反转输出一个脉冲:-1。最后得到的是
一个以设定点为原点的绝对坐标。
③ 参数
参数名
输入输出
属性
参数描述
数 据
类型
数值范围 备注
AXIS_NO IN 设置轴号,0/1/2/3 Byte 范围:0~3
ACT_POS OUT
当前轴的绝对坐标
(1个脉冲代表 1个单位坐标)
DINT
-2147483647~
+2147483647
此指令无错
误状态输出,
轴号必须设
置正确。
3.4 单轴相对运动指令
① 函数名:MC_PTP_R
② 功能:用作单轴点对点控制(单轴定长驱动)。调用一次可输出固定脉冲,通过最大、
最小速度和加减速时间的设定,输出的脉冲在启动时会逐渐的加速到最大的速度,当脉冲数
快要跑完时,脉冲的频率会自动减下来,以防止在启动或停止时的机器的惯性太大而引起振
动或卡死。
③ 参数
参数名
输入输
出属性
参数描述 数据类型 数值范围 备注
E_STOP
IN
紧急停止位。
1:有效
0:无效
bool 0/1
1、只有 Run ==1与
E_Stop ==0 时才能
运行
2、当 E_STOP 为 1
时,RUN内部复位。
AXIS_NO IN 设置轴号,0/1/2/3 Byte 0~3
该参数在运行过程
中不能修改
MIN_SPEE
D
IN
最小速度,即启动时或
停止时的速度。单位:
HZ。
DWORD 500~200000
MAX_SPEE
D
IN
最大速度,即运行中的
最大速度。单位:HZ
DWORD 500~200000
1、 最小速度的设
定要小于最大速度
2、此参数在运行过
程中可以修改
TA IN
加速 /减速时间,单位
ms
DWORD 10~200000
该参数在运行过程
中不能修改
SET_POS IN
输出的脉冲数,分正负。
正脉冲数表示沿X轴的
正方向,负脉冲数表示
沿着 X轴的负方向
DINT
-2147483647
~
+2147483647
该参数在运行过程
中可以修改,当新设
定值大于已输出的
脉冲数,那么最后输
出的脉冲会以新设
定值为准。当新设定
值小于已输出脉冲
数,那么会马上停止
脉冲输出。
RUN
IN/OU
T
运行使能位。
1:有效
0:无效
bool 0/1
1、只有 RUN ==1
与 E_STOP ==0 时
才能运行
2、当运行完成后,
RUN内部复位
3、当 E_STOP 为 1
时,RUN内部复位
STATUS OUT
输出状态字节:
7 6 5 4 3 2 1 0
Bit0:参数配置错误标
志
1—参数配置错误
0—参数配置正常
Bit1:运行标志
1—正在运行,该指令正在
输出脉冲,且指令未执行
Byte 0~255
Bit0注:
1、 只对轴参数进
行判断;
2、 MIN_SPEED/
MAX_SPEED/TA
等参数不作报错,会
自动设置成一个最
接近的合理值。
完。
0—不运行,因公共资源被
其他指令占用,所以指令还
没得以运行;或者指令已经
运行完毕
Bit2:完成标志
1—完成,指令执行完毕
0—未完成,指令未执行或
指令正在执行中但未完成
Bit3:忙标志
1:忙标志有效,该轴正在
被其它指令占用
0:忙标志无效,指令正在
执行或此执行已完成
ACT_POS
OUT
当前的相对坐标或本指
令已输出的脉冲数
DINT
-2147483647
~
+2147483647
ACT_SPEE
D
OUT 当前实际运行速度。 DWORD 500~200000
说明:该值可能跟实
际值会有一点偏差,
最大不超过 5K,跟加
速时间和设定的速
度有关
3.5 两轴圆弧插补运动指令
① 函数名:MC_CIRCLE_R
② 功能:可在任意两轴之间进行圆弧插补。
③ 参数
参数名
输 入
输 出
属性
参数描述
数 据
类型
数值范围 备注
E_STOP IN
紧急停止位。
1:有效
0:无效
bool 0/1
1、只有 RUN
==1
与 E_STOP ==0
时才能运行
2、当 E_STOP
为 1 时,RUN
内部置 0
CW IN
顺时针或逆时针插补标志。
1:顺时针
0:逆时针
bool 0/1
该参数在运行
过程中不能修
改
FULL IN
全圆标志。1-全圆
0-圆弧
bool 0/1
该参数在运行
过程中不能修
改
A_AXIS IN
插补 A轴的轴号。
插补需要两个轴,即虚拟的 A 轴
byte 0~3
注:该参数在运
行过程中不能
和 B 轴。我们需要映射到实际输
出的 0、1、2、3轴上。
该参数即可设定 A 轴映射到那一
轴上。如:3 表示 A 轴映射到 3
轴(Pulse_3和 Dir_3)上。
修改
B_AXIS IN
插补 B轴的轴号。
插补需要两个轴,即虚拟的 A 轴
和 B 轴。我们需要映射到实际输
出的 0、1、2、3轴上。
该参数即可设定 B 轴映射到那一
轴上。
byte 0~3
注:该参数在运
行过程中不能
修改
A_END
_POS
IN
如果 FULL 为 0,表示虚拟 A 轴
的终点(相对起点)坐标;
如果 FULL为 1,那么该点只表示
圆弧上不同于起点的另一点的(相
对起点)坐标,并非终点坐标。
DINT
-2147483647
~
+2147483647
B_END_
POS
IN
如果 FULL 为 0,表示虚拟 B 轴
的终点 (相对起点 )坐标;如果
FULL为 1,那么该点只表示圆弧
上不同于起点的另一点的坐标,
并非终点坐标。
DINT
-2147483647
~
+2147483647
1、插补的起点
坐 标 默 认 为
(0,0)。
2、单位:脉冲,
与实际位移转
换计算方法见*
注意 2
注:该参数在运
行过程中不能
修改
RADIUS IN
圆弧的半径。
1、分正、负。正数:表示走弧度
小于 180 的圆弧轨迹。负数:表
示走弧度大于 180度的圆弧轨迹。
2、 RADIUS的绝对值表示圆弧
的半径大小
DINT |R| <3 x 10^6
1、该参数在运
行过程中不能
修改。
2、单位:脉冲,
与实际半径转
换计算方法见*
注意 2
MIN_
SPEED
IN
长轴最小速度,即启动时或停止
时的速度。单位:HZ
DWO
RD
500~200000
MAX_
SPEED
IN
长轴最大速度,即运行中的最大
速度,单位 HZ
DWO
RD
500~200000
注:该参数在运
行过程中可以
修改
TA 加速/减速时间,单位 ms
DWO
RD
10~200000
注:该参数在运
行过程中不能
修改
RUN
IN/O
UT
运行使能位。
1:有效
0:无效
bool 0/1
注:
1、只有 RUN
==1 与 E_STOP
==0时才能运行
2、当运行完成
后,RUN 内部
置 0
3、当 E_STOP
为 1 时,RUN
内部置 0
STATU
S
OUT
输出状态字节:
7 6 5 4 3 2 1 0
Bit0:参数配置错误标志
1—参数配置错误
0—参数配置正常
Bit1:运行标志
1—正在运行,该指令正在输出脉冲,
并且还没执行完。
0—不运行,因公共资源被其他指令占
用,所以指令还未运行;或者指令已经
运行完毕
Bit2:完成标志
1—完成,指令执行完毕。
0—未完成,执行未执行或者指令正在
执行但没完成
Bit3:忙标志
1:忙标志有效,圆弧插补模块或相应
的轴被其他指令占用
0:忙标志无效,指令正在执行或此指
令执行完成
Byte 0~255
Bit0注:
1> 只对轴参数
配置错误进行
判断;
2>MIN_SPEED
/MAX_SPEED/
TA 等参数不作
报错,会自动设
置成一个最接
近的合理值。
ACT_A
_POS
OUT
A 轴的当前位置(相对坐标,本
次调用实际输出脉冲数),如果 A
轴配给 0 轴,那么该值就表示 0
轴的相对坐标。
DINT
-2147483647
~
+2147483647
ACT_B
_POS
OUT
B 轴的当前位置(相对坐标,本
次调用实际输出脉冲数),如果 B
轴配给 1 轴,那么该值就表示 1
轴的相对坐标。
DINT
-2147483647
~
+2147483647
ACT
_SPEED
OUT 当前的实际速度,单位:HZ
DWO
RD
500~200 000
说明:该值表示
长轴的速度,可
能跟实际值会
有一点偏差,最
大不超过 5K,跟
加速时间和设
定的速度有关
3.6 速度控制指令
① 函数名:MC_SPEED_CTL
② 功能:控制单轴输出脉冲的频率,可任意时候改变输出脉冲的频率(速度)。当接收到
软停止命令时,会自动减速停止。当收到紧急停止命令时,会马上停止脉冲输出,不经过减
速。
③ 参数
参数名
输 入
输 出
属性
参数描述 数据类型 数值范围 备注
RUN IN
运行使能位。
1:有效,
0:无效。
Bool 0/1
只有RUN =1与
E_Stop =0 与
SOFT_STOP=0
时才能运行
E_STOP
IN
紧急停止位。1:有效,0无效。
当收到有效紧急停止命令后,输
出脉冲会马上停止,不经过减速。
bool 0/1
只有 RUN =1
与 E_Stop=0 与
SOFT_STOP=0
时才能运行
SOFT_S
TOP
IN
软停止位。1:有效,
0:无效。
当收到有效软停止命令时,输出
脉冲会减速停止
Bool 0/1
DIR IN 脉冲的方向位 Bool 0/1
注:该参数在运
行过程中不能
修改
AXIS
_NO
IN 设置轴号,0/1/2/3 Byte 0~3
该参数在运行
过程中不能修
改
MIN
_SPEED
IN
最小速度,即启动时或停止时的
速度。单位:HZ
DWORD 500~200000
SET
_SPEED
IN
设定速度,在收到停止命令前,
输出脉冲会加速或减速到此速
度。
DWORD 500~200000
注意:
1、 最小速度
要小于设定速
度;
2、该参数在运
行过程中可以
修改
TA IN
加速时间,从最小速度到设定速
度的加速时间,单位:毫秒
DWORD 10~200000
TD IN
减速时间,从设定速度到最小速
度的减速时间,单位:毫秒
DWORD 10~200000
注:该参数在运
行过程中不能
修改
STATU
S
OUT
输出状态字节:
7 6 5 4 3 2 1 0
Bit0:参数配置错误标志
1—参数配置错误
0—参数配置正常
Bit1:运行标志
1—正在运行,该指令正在输出脉冲,
并且未执行完。
0—不运行,该因公共资源被其他指令
占用,所以指令还没得以运行;或者指
令已经运行完毕
Bit2:完成标志
1—完成,指令执行完毕。
0—未完成,执行没执行或者指令正在
执行中但没完成
Bit3:忙标志
1:忙标志有效,该轴正在被其它指令
占用
0:忙标志无效,指令正在执行或此执
行完成
Byte 0~255
Bit0注:
1> 只对轴参数
配置错误进行
判断;
2> MIN_SPEE
D/SET_SPEED/
TA/TD 等参数
不作报错,会自
动设置成一个
最接近的合理
值。
ACT
_SPEED
OUT 当前速度(频率)输出。 DWORD 500~200 000
说明:该值可能
跟实际值会有
一点偏差,最大
不超过 5K,跟加
速时间和设定
的速度有关
3.7 软件回零指令
① 函数名:MC_SET_POS_ZERO
② 功能:把绝对坐标复位。
注:当机器运动到某一位置时,调用该指令,相当于把该轴的原点设定在该位置。那么以
后每次调用“读绝对坐标”命令,就能得到相对于该点的坐标值。
③ 参数
参数名
输入输
出属性
参数描述 类型 数值范围 备注
SET IN
清零功能使能位。
在 SET上升沿把绝对坐标清 0,
每次调用时,SET应先置 0,然
后再置 1
bool 范围: 0~1
AXIS
_NO
IN 设置轴号,0/1/2/3 Byte 范围:0~3
3.8 两轴直线插补运动指令
① 函数名:MC_LINE_R
② 功能:可在任意两轴之间、平面上任意区域内进行直线插补功能。
③ 参数
参数名
输 入
输 出
属性
参数描述
数 据
类型
数值范围 备注
E_STOP IN
紧急停止位。
1:有效
0:无效
bool 0/1
1、只有 RUN =1
与 E_STOP =0
时才能运行
2、当 E_STOP
为 1 时,RUN
内部复位
A_AXIS IN
插补 A轴的轴号。
插补需要两个轴,即虚拟的 A轴和 B
轴。我们需要映射到实际输出的 0、1、
2、3轴上。
该参数即可设定 A 轴映射到相应轴
上。如3 表示A轴映射到3轴(Pulse_3
和 Dir_3)上。
Byte 0~3
B_AXIS IN
插补 B轴的轴号。
插补需要两个轴,即虚拟的 A轴和 B
轴。我们需要映射到实际输出的 0、1、
2、3轴上。
该参数即可设定 B轴映射到相应的轴
上。
Byte 0~3
该参数在运行
过程中不可修
改
MIN_SP
EED
IN 长轴最小速度,即启动时或停止时的
速度。单位:HZ
DWO
RD
500~200 000
注意:
1、最小速度要
MAX_S
PEED
IN
长轴最大速度,即运行中的最大速度,
单位 HZ
DWO
RD
500~200 000
小于最大速度
2、该参数在运
行过程中可以
修改
TA IN 加速/减速时间,单位 ms
DWO
RD
10~200000
A_POS IN 虚拟 A轴的终点(相对)坐标 DINT
-2147483647
~
+2147483647
B_POS IN 虚拟 B轴的终点(相对)坐标 DINT
-2147483647
~
+2147483647
1、 该参数在
运行过程中不
能修改
2、单位:脉冲,
与实际位移转
换计算方法见*
注意 2
RUN
IN/O
UT
运行使能位。
1:有效
0:无效
bool 0/1
注:
1、只有 RUN =1
与 E_STOP =0
时才能运行
2、当运行完成
后,RUN 内部
复位
3、当 E_STOP
为 1 时,RUN
内部复位
STATU
S
OUT
输出状态字节:
7 6 5 4 3 2 1 0
Bit0:参数配置错误标志
1—参数配置错误
0—参数配置正常
Bit1:运行标志
1—正在运行,该指令正在输出脉冲,并且
还没执行完。
0—不运行,该因公共资源被其他指令占用,
所以指令还没得以运行;或者指令已经运行
完毕
Bit2:完成标志
1—完成,指令执行完毕。
0—未完成,执行没执行或者指令正在执行
中但没完成
Bit3:忙标志
1:忙标志有效,直线插补模块或相应的轴
被其指令占用
0:忙标志无效,指令正在执行或此执行完
成
Byte 0~255
Bit0注:
1、 只对轴参数
配置错误进行
判断;
2、MIN_SPEED
/MAX_SPEED/
TA 等参数不作
报错,会自动设
置成一个最接
近的合理值。
ACT_A_
POS
OUT
A 轴的当前位置(相对坐标,本次调
用实际输出脉冲数),如果 A轴配给
DINT
-2147483647
~
0 轴,那么该值就表示 0 轴的相对坐
标
+2147483647
ACT_B_
POS
OUT
B 轴的当前位置(相对坐标,本次调
用实际输出脉冲数),如果 B轴配给
1 轴,那么该值就表示 1 轴的相对坐
标
DINT
-2147483647
~
+2147483647
ACT
_SPEED
OUT 当前的实际速度,单位:HZ
DWO
RD
500~200000
说明:该值表示
长轴的速度,跟
实际值会有一
点偏差,最大不
超过 5K,跟加速
时间和设定的
速度有关,
注意:
1、 当某轴调用运动控制指令后,那么该轴只有在重新上电复位或 CPU 停机时,才可以恢
复普通 IO的功能。
2、 直线插补指令(A_POS、B_POS),圆弧插补指令中(A_END_POS、B_END_POS、
RADIUS)计算方法:
POS-------插补指令中需填入的脉冲个数 ;
L -------坐标上实际点的绝对值,单位 mm ;
S -------运动轴上丝杆导程,单位 mm ;
M-------步进驱动器的细分或伺服驱动的分辨率(即电机转动一圈需要的脉冲个数);
计算公式:
POS = L*M÷S (单位:脉冲数)
四、应用例子
(例 1)单轴相对运动指令使用
(例 2)单轴相对运动指令使用
(例 3)两轴直线插补运动指令使用
(例 4)两轴圆弧插补运动指令使用
(例 5)混合运动控制指令使用
控制步进电机从A点到B点往返运动,步进电机细分 1000,丝杆导程 5mm,
A到 B的位移 L为 2000mm。
系统说明
本例设置 CPU226H第 0轴做点到点运动的参数。主要调用 MC_PTP_R来设定控制参数。
I0.2为A点硬件归零复位点(此点为行程开关量输入,设此点为机械原点);
I2.0为系统急停输入;
Q0.0为脉冲输出,Q0.1方向输出;
应用程序
见附件程序《指令混合使用实例》--------- 点对点运动 DEMO1.mwp