ProU说明   快速入门   指令说明   运动控制   EtherCAT   C语言   可视化   CAD   通讯   PCI控制卡   MECHATROLINK   程序模板   ProH   YKCAT   视觉组件   WinPLC   附录  
上一页 下一页

运动控制

1.轴运动曲线配置

指令原型 RetCode YK_AxisSetProfile(UInt32 axisIndex, AxisConfig config)
指令说明 轴参数配置
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 2个参数,参数的详细信息如下
axisIndex 轴索引。
config

参数集合:
Max_speed:最高速度
Min_speed:最低速度
Acc_time:加速时间
Dec_time:减速时间;
acc_type:加减速曲线(0 梯形,1 S曲线,2 多次曲线配合高级运动);
s_rate:保留;
inp:到位范围;

指令返回值 参考
相关指令
指令实例 例程

2.单轴绝对运动

指令原型 RetCode YK_AxisMovAbs(UInt32 axisIndex, double position, double speed)
指令说明 单轴绝对定位指令
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 3个参数,参数的详细信息如下
axisIndex 轴索引。
position 需要定位的绝对位置
Speed 定位的速度
指令返回值 参考
相关指令
指令实例 例程

3.单轴相对运动

指令原型指令说明 RetCode YK_AxisMovInc(UInt32 axisIndex, double position, double speed)
  单轴绝对定位指令
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 3个参数,参数的详细信息如下
axisIndex 轴索引
position 需要定位的相对位置
Speed 定位的速度
指令返回值 参考
相关指令
指令实例 例程

4.单轴速度运动

指令原型 RetCode YK_AxisMovSpeed(UInt32 axisIndex, int dir, double speed)
指令说明 单轴速度模式运动(点动)
指令类型 立即指令,调用后立即生效
指令参数 该指令共有3 个参数,参数的详细信息如下
axisIndex 轴索引
dir 方向: 1:正向点动;- 1:反向点动
Speed 点动速度
指令返回值 参考
相关指令
指令实例 例程

5.运行中改变位置

指令原型 RetCode YK_AxisChangePos(UInt32 axisIndex, double position)
指令说明 运行中改变位置
指令类型 立即指令,调用后立即生效
指令参数 该指令共有2个参数,参数的详细信息如下
axisIndex 轴索引
position 改变的位置
指令返回值 参考
相关指令
指令实例 例程

 

6.回零

指令原型 RetCode YK_AxisGoHome(UInt32 axisIndex, UInt32 homeMode, double highSpeed, double lowSpeed)
指令说明 单轴回原指令
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 4个参数,参数的详细信息如下
axisIndex 轴索引
homeMode 回原模式,1~35对应驱动器回零
101,102,107,111,133,134,135对应上位机回零
highSpeed 回原速度
lowSpeed 爬行速度
指令返回值 参考
相关指令
指令实例 例程

7.脉冲卡回零信号设置

指令原型 RetCode YK_AxisHomeInput(UInt32 axisIndex, Int32 limitIndexP, Int32 limitIndexN, Int32 homeIndex, Int32 probelIndex, Int32 probelPolarity);
指令说明 设置回零过程的输入信号编号,-1表示不设定;仅用于内置脉冲卡
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 4个参数,参数的详细信息如下
axisIndex 轴索引
limitIndexP 正限位IO编号(按照X的序号转换成10进制输入 例:PLC的X100则输入64,X10输入8)
limitIndexN 负限位IO编号(按照X的序号转换成10进制输入 例:PLC的X100则输入64,X10输入8)
homeIndex 零点IO编号 (按照X的序号转换成10进制输入 例:PLC的X100则输入64,X10输入8)
probelIndex 探针编号,脉冲卡内偏移地址:只能用脉冲卡的IO,且编号就是脉冲卡的IO,范围为(0-15)
probelPolarity 探针边沿 0=上升沿 1=下降沿
指令返回值 参考
相关指令
指令实例 例程

8.脉冲卡输入信号极性

指令原型 RetCode YK_AxisDIPolority(UInt32 axisIndex, Int32 limitP, Int32 limitN, Int32 home);
指令说明 设置轴输入信号的极性;仅用于内置脉冲卡
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 4个参数,参数的详细信息如下
axisIndex 轴索引
limitP 正限位极性,0=正常 1=取反
limitN 负限位极性,0=正常 1=取反
home 零点极性,0=正常 1=取反
指令返回值 参考
相关指令
指令实例 例程

9.设置上位机回零用的探针信号

指令原型 RetCode YK_AxisHomeProbe(UInt32 axisIndex, Int32 type, Int32 extInput, Int32 probePolarity)
指令说明 设置上位机回零用的探针信号,以软件的方式查询探针
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 4个参数,参数的详细信息如下
axisIndex 轴索引
type

0 = 驱动器 probe0 信号

1 = 驱动器 probe1 信号

2 = 驱动器 Z 相

3 = 驱动器正限位

4 = 驱动器负限位

5 = 驱动器零位

9 = 全局 IO

extInput 当 type = 9 时,该参数有效,指定总线 IO 的输入编号
probePolarity

探针边沿

0 = 上升沿

1 = 下降沿

指令返回值 参考
相关指令
指令实例 例程

 

 

10.停止轴运动

指令原型 RetCode YK_AxisStop(UInt32 axisIndex)
指令说明 轴停止函数:绝对运动,相对运动,点动,以及回原的停止命令
指令类型 立即指令,调用后立即生效
指令参数 该指令共有1 个参数,参数的详细信息如下
axisIndex 轴索引
指令返回值 参考
相关指令
指令实例 例程

11.轴IO停止

指令原型 RetCode YK_AxisStopIO(UInt32 axisIndex, UInt32 inputIndex, UInt32 enable);
指令说明 设置轴停止的IO信号,IO触发时使轴停止
注意:脉冲卡只能用脉冲卡的IO,卡自动偏移从X0开始,总线只能用总线的IO。
指令类型 立即指令,调用后立即生效
指令参数 该指令共有3 个参数,参数的详细信息如下
axisIndex 轴索引
inputIndex 输入点IO编号,10进制
enable 状态:0=禁用,1=启用
指令返回值 参考
相关指令
指令实例 例程

12.电机上电

指令原型 RetCode YK_AxisPowerOn(UInt32 axisIndex)
指令说明 轴上电,伺服使能
指令类型 立即指令,调用后立即生效
指令参数 该指令共有1 个参数,参数的详细信息如下
axisIndex 轴索引
指令返回值 参考
相关指令
指令实例 例程

13.电机下电

指令原型 RetCode YK_AxisPowerOff(UInt32 axisIndex)
指令说明 轴下电,伺服下使能
指令类型 立即指令,调用后立即生效
指令参数 该指令共有1 个参数,参数的详细信息如下
axisIndex 轴索引
指令返回值 参考
相关指令
指令实例 例程

14.轴状态

指令原型 RetCode YK_AxisGetStatus(UInt32 axisIndex, out UInt32 status)
指令说明 轴当前状态读取
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 2个参数,参数的详细信息如下
axisIndex 轴索引
Status

读取带的轴状态按照bit位代表一种状态
BIT0=BUSY 轴忙
BIT1=NOT 负硬限位
BIT2=POT 正硬限位
BIT3=HOME 原点信号
BIT4=WARN 报警信号
BIT5=READY 使能信号
BIT6=SOFTNOT 负软限位
BIT7=SOFTPOT 正软限位

指令返回值 参考
相关指令
指令实例 例程

15.获取轴错误信息

指令原型 RetCode YK_AxisGetError(UInt32 axisIndex, out UInt32 error)
指令说明 获取轴错误信息代码,读后清零
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 2个参数,参数的详细信息如下
axisIndex 轴索引
error

错误代码

指令返回值 参考
相关指令
指令实例 例程

16.获取轴错误信息代码内容

指令原型 String GetAxisErrorString(UInt32 error)
指令说明 驱动器报警复位
指令类型 立即指令,调用后立即生效
指令参数 该指令共有1个参数,参数的详细信息如下
error 错误代码
指令返回值

if (200 == error)
return "位置跟随误差过大";

if (201 == error)
return "插补模式设置错误";

if (202 == error)
return "目标位置无法到位";

if (203 == error)
return "圆弧插补参数错误";

if (204 == error)
return "轨迹运动错误";

if (205 == error)
return "规划器资源耗尽";

if (206 == error)
return "轴未上电";

if (207 == error)
return "CSP模式未开启DC";

if (208 == error)
return "CSP模式速度给定异常";

if (209 == error)
return "跟随模式发生限位报警";

return "";

相关指令
指令实例 例程

17.获取轴实际位置

指令原型 RetCode YK_AxisGetPosRt(UInt32 axisIndex, out double position)
指令说明 获取轴实际位置
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 2个参数,参数的详细信息如下
axisIndex 轴索引
position 轴实际位置
指令返回值 参考
相关指令
指令实例 例程

18.获取轴规划位置

指令原型 RetCode YK_AxisGetPosCmd(UInt32 axisIndex, out double position)
指令说明 获取轴规划位置
指令类型 立即指令,调用后立即生效
指令参数 该指令共有2个参数,参数的详细信息如下
axisIndex 轴索引
position 轴规划位置
指令返回值 参考
相关指令
指令实例 例程

19.二轴直线插补(绝对模式)

指令原型 RetCode YK_AxisLine2Abs(UInt32 axisIndex, UInt32[] axis, double[] pos, double speed)
指令说明 两轴直线插补(abs)
指令类型 立即指令,调用后立即生效
指令参数 该指令共有4个参数,参数的详细信息如下
axisIndex 轴索引
axis 两轴索引 例:uint32 axis[2] = {0, 1}; //两轴分别为0轴和1轴;
pos 两轴插补坐标 例:double pos[2] = {10000, 20000}; //两轴位置分别为10000和20000;
speed 两轴插补合成速度 例:double speed = 30000;
指令返回值 参考
相关指令
指令实例 例程

20.二轴直线插补(增量模式)

指令原型 RetCode YK_AxisLine2Inc(UInt32 axisIndex, UInt32[] axis, double[] pos, double speed)
指令说明 两轴直线插补(inc)
指令类型 立即指令,调用后立即生效
指令参数 该指令共有4个参数,参数的详细信息如下
axisIndex 轴索引
axis 两轴索引 例:uint32 axis[2] = {0, 1}; //两轴分别为0轴和1轴;
pos 两轴插补坐标 例:double pos[2] = {10000, 20000}; //两轴相对位置分别为10000和20000;
speed 两轴插补合成速度 例:double speed = 30000;
指令返回值 参考
相关指令
指令实例 例程

21.二轴圆弧插补

指令原型 RetCode YK_AxisCircleCenterAbs(UInt32 axisIndex, UInt32[] axis, double[] pos, double speed, double[] center, int dir)
指令说明 两轴圆弧插补(沿中心坐标)
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 6个参数,参数的详细信息如下
axisIndex 轴索引
axis 两轴索引 例:uint32 axis[2] = {0, 1}; //两轴分别为0轴和1轴;
pos 两轴插补坐标 例:double pos[2] = {10000, 20000}; //两轴位置分别为10000和20000;
speed 两轴插补合成速度 例:double speed = 30000;
center 中心坐标 例:double canter[2] = {30000, 12000}; //两轴插补的中心坐标为x30000,y20000;
dir 方向,圆弧运动的插补方向
指令返回值 参考
相关指令
指令实例 例程

22.三轴直线插补(绝对模式)

指令原型 public static extern RetCode YK_AxisLine3Abs(UInt32 axisIndex, UInt32[] axis, double[] pos, double speed)
指令说明 三轴直线插补ABS
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 4个参数,参数的详细信息如下
axisIndex 轴索引
axis 三轴索引 例:uint32 axis[3] = {0, 1, 2}; //两轴分别为0轴和1轴和2轴;
pos 三轴插补坐标 例:double pos[3] = {10000, 20000, 30000}; //三轴位置分别为10000和20000和30000;
speed 两轴插补合成速度 例:double speed = 30000;
指令返回值 参考
相关指令
指令实例 例程

23.三轴直线插补(增量模式)

指令原型 public static extern RetCode YK_AxisLine3Inc(UInt32 axisIndex, UInt32[] axis, double[] pos, double speed)
指令说明 三轴直线插补INC
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 4个参数,参数的详细信息如下
axisIndex 轴索引
axis 三轴索引 例:uint32 axis[3] = {0, 1, 2}; //三轴分别为0轴和1轴和2轴;
pos 三轴插补坐标 例:double pos[3] = {10000, 20000, 30000}; //三轴位置分别为10000和20000和30000;
speed 三轴插补合成速度 例:double speed = 30000;
指令返回值 参考
相关指令
指令实例 例程

24.四轴直线插补(绝对模式)

指令原型 public static extern RetCode YK_AxisLine4Abs(UInt32 axisIndex, UInt32[] axis, double[] pos, double speed)
指令说明 四轴直线插补ABS
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 4个参数,参数的详细信息如下
axisIndex 轴索引
axis 四轴索引 例:uint32 axis[4] = {0, 1, 2, 3}; //四轴分别为0轴和1轴和2轴和3轴;
pos 三轴插补坐标 例:double pos[4] = {10000, 20000, 30000, 40000}; //四轴位置分别为10000和20000和30000和40000;
speed 四轴插补合成速度 例:double speed = 30000;
指令返回值 参考
相关指令
指令实例 例程

25.四轴直线插补(增量模式)

指令原型 public static extern RetCode YK_AxisLine4Inc(UInt32 axisIndex, UInt32[] axis, double[] pos, double speed)
指令说明 四轴直线插补INC
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 4个参数,参数的详细信息如下
axisIndex 轴索引
axis 四轴索引 例:uint32 axis[4] = {0, 1, 2, 3}; //四轴分别为0轴和1轴和2轴和3轴;
pos 三轴插补坐标 例:double pos[4] = {10000, 20000, 30000, 40000}; //四轴位置分别为10000和20000和30000和40000;
speed 四轴插补合成速度 例:double speed = 30000;
指令返回值 参考
相关指令
指令实例 例程

26.启动探针

指令原型 RetCode YK_AxisProbeStart(UInt32 axisIndex, ProbeSelect sel, ProbeEdge edge)
指令说明 探针读取启动指令
指令类型 立即指令,调用后立即生效
指令参数 该指令共有3 个参数,参数的详细信息如下
axisIndex 轴索引
sel 选择探针类型
Probe1 = 0 //探针1
Probel = 1 //探针2
MotoZ = 2 //Z相
edge 选择读取时的脉冲沿
UpEdge = 0, //上升沿
DownEdge = 1, //下降沿
指令返回值 参考
相关指令
指令实例 例程

27.停止探针

指令原型 RetCode YK_AxisProbeStop(UInt32 axisIndex)
指令说明 探针停止读取数据
指令类型 立即指令,调用后立即生效
指令参数 该指令共有 1个参数,参数的详细信息如下
axisIndex 轴索引
指令返回值 参考
相关指令
指令实例 例程

28.获得探针状态

指令原型 RetCode YK_AxisProbeStatus(UInt32 axisIndex, ref double pos)
指令说明 读取探针状态
指令类型 立即指令,调用后立即生效
指令参数 该指令共有2个参数,参数的详细信息如下
axisIndex 轴索引
pos 读取到探针时的位置
指令返回值 参考
相关指令
指令实例 例程

29. 轴当量配置

指令原型 RetCode YK_AxisSetEquiv(UInt32 axisIndex, double unit_pls);
指令说明 轴当量配置
指令类型 立即指令,调用后立即生效
指令参数 该指令共有2个参数,参数的详细信息如下
axisIndex 轴索引
unit_pls 每个用户单位对应的脉冲数量
指令返回值 参考
相关指令
指令实例 例程

30. UG跟随配置参数

指令原型 RetCode YK_FollowUGProfile(UInt32 axisIndex, FollowUG cfg)
指令说明 UG跟随配置参数
指令类型 立即指令,调用后立即生效
指令参数 该指令共有2个参数,参数的详细信息如下
axisIndex 轴索引
cfg UG跟随参数
指令返回值 参考
相关指令
指令实例 例程

31. UG跟随启动

指令原型 RetCode YK_FollowUGStart(UInt32 axisIndex, FollowType type, double speed)
指令说明 UG跟随启动
指令类型 立即指令,调用后立即生效
指令参数 该指令共有3个参数,参数的详细信息如下
axisIndex 轴索引
type UG跟随参数
speed 跟随速度
指令返回值 参考
相关指令
指令实例 例程

 

 

40.轨迹运动:清除表格数据

指令原型 extern RetCode YK_TableClear(UInt32 axisIndex);
指令说明 清除表格数据
指令类型 立即指令,调用后立即生效
指令参数 该指令共有2个参数,参数的详细信息如下
axisIndex 主轴索引
指令返回值 参考
相关指令
指令实例 例程

41. 轨迹运动:启动表格定位

指令原型 extern RetCode YK_TableStart(UInt32 axisIndex);
指令说明 启动表格定位
指令类型 立即指令,调用后立即生效
指令参数 该指令共有2个参数,参数的详细信息如下
axisIndex 主轴索引
指令返回值 参考
相关指令
指令实例 例程
注意事项

1.轨迹运动需要在ProH的系统设置开启高级运动

2.未使用轴当量配置函数前,最高运行速度被限制在5000 pulse/s

3.使用轴当量配置函数后,速度未能达到理想速度时,通过放大轴当量

42. 轨迹运动:增加2轴线性插补(绝对模式)

指令原型 RetCode YK_TableLine2Abs(UInt32 axisIndex, UInt32[] axis, double[] pos, double speed, double acc,BufferMode buff_mode, TransitionMode trans_mode, double[] trans_para);
指令说明 增加2轴线性插补(绝对模式)
指令类型 立即指令,调用后立即生效
指令参数 该指令共有8个参数,参数的详细信息如下
axisIndex 主轴索引
axis 轴列表
pos 位置
speed 运动速度
acc 加减速时间
buff_mode 缓冲模式(默认是2)
trans_mode 过渡模式(默认是3)
trans_para 过渡参数,和过度模式相关(默认是1)
指令返回值 参考
相关指令
指令实例 例程

43. 轨迹运动:增加圆弧插补(绝对模式)

指令原型 public static extern RetCode YK_TableCirCenter(UInt32 axisIndex, UInt32[] axis, double[] pos, double[] center, double speed, double acc,BufferMode buff_mode, TransitionMode trans_mode, double[] trans_para, Int32 dir);
指令说明 增加圆弧插补(绝对模式)
指令类型 立即指令,调用后立即生效
指令参数 该指令共有10个参数,参数的详细信息如下
axisIndex 主轴索引
axis 轴列表
pos 位置
center 圆心位置
speed 运动速度
acc 加减速时间
buff_mode 缓冲模式(默认是2)
trans_mode 过渡模式(默认是3)
trans_para 过渡参数,和过度模式相关(默认是1)
dir 旋转方向 0=逆时针 1=顺时针
指令返回值 参考
相关指令
指令实例 例程

44. 轨迹运动:增加3轴线性插补(绝对模式)

指令原型 RetCode YK_TableLine3Abs(UInt32 axisIndex, UInt32[] axis, double[] pos, double speed, double acc,BufferMode buff_mode, TransitionMode trans_mode, double[] trans_para);
指令说明 增加3轴线性插补(绝对模式)
指令类型 立即指令,调用后立即生效
指令参数 该指令共有8个参数,参数的详细信息如下
axisIndex 主轴索引
axis 轴列表
pos 位置
speed 运动速度
acc 加减速时间
buff_mode 缓冲模式(默认是2)
trans_mode 过渡模式(默认是3)
trans_para 过渡参数,和过度模式相关(默认是1)
指令返回值 参考
相关指令
指令实例 例程

45. 轨迹运动:增加 IO输出(时间参考)

指令原型 RetCode YK_TableOutputTime(UInt32 axisIndex, UInt32 out_index, UInt32 open, double delay);
指令说明 增加 IO输出(时间参考)
指令类型 立即指令,调用后立即生效
指令参数 该指令共有8个参数,参数的详细信息如下
axisIndex 主轴索引
out_index 输出点编号,10进制
open 开关状态:1=开IO, 0=关IO
delay 时间(ms):正数:提前关,延时开 负数:延时关,提前开
指令返回值 参考
相关指令
指令实例 例程

注意:提前的动作写在运动指令前面,延迟的动作写在运动指令后面

45. 轨迹运动:增加 IO输出(距离参考)

指令原型 RetCode YK_TableOutputDist(UInt32 axisIndex, UInt32 out_index, UInt32 open, double dist);
指令说明 增加 IO输出(距离参考)
指令类型 立即指令,调用后立即生效
指令参数 该指令共有8个参数,参数的详细信息如下
axisIndex 主轴索引
out_index 输出点编号,10进制
open 开关状态:1=开IO, 0=关IO
delay 距离(mm):正数:提前关,延时开 负数:延时关,提前开
指令返回值 参考
相关指令
指令实例 例程

注意:提前的动作写在运动指令前面,延迟的动作写在运动指令后面

50. 轴软限位配置

指令原型 RetCode YK_AxisSetLimit(UInt32 axisIndex, double limit_p, double limit_n);
指令说明 轴软限位配置
指令类型 立即指令,调用后立即生效
指令参数 该指令共有8个参数,参数的详细信息如下
axisIndex 主轴索引
limit_p 正向软限位
limit_n 反向软限位
指令返回值 参考
相关指令
指令实例 例程

 

 

上一页 下一页
Copyright © 2020 深圳市优易控软件有限公司 www.proutech.com