把厚书读薄,可提高学习效率
把薄书读厚,可增强自学能力
示教机器人写毛笔字并不容易
一、插补
对于数控机床、机械手等多轴运动系统,其刀具或末端工具运动轨迹连续化的过程,就可以称之为插补。
也就是说对于一个空间运动轨迹曲线或者零件轮廓,我们已知某些点和一些约束条件数据,然后按照某种算法来计算已知点之间的中间点,又叫“数据点的密化”,这就是插补。
插补方式有直线插补、圆弧插补、抛物线插补或样条线插补。以直线插补为例,就是把一条空间曲线用若干条很短的的直线段来近似。
二、CODESYS轴组运动控制的一些基础知识
轴组运动包含直线、圆弧和PTP运动。
PTP运动(Point to Point点对点)是指系统按最短的路径到达目标位置,其运动轨迹无法预测。与之相对应的另一种运动模式——CP运动(Continuous Path连续路径)是指系统按指定路径到达目标,其运动轨迹可预测。在具体实践中,PTP通常适用于短距离、快速的运动,而CP适用于长距离、需要精确控制轨迹的运动。
在CODESYS中控制这三类轴组运动有很多功能块指令,其中有一些指令管脚是三者共有的。
1. SMC_POS_REF
该数据表示TCP的位置,类型为UNION,可以是笛卡尔坐标系(X,Y,Z,A,B,C),也可以是轴坐标系(A0,……,A5)。
2. SMC_COORD_SYSTEM
该数据表示位置的坐标系,类型为ENUM。
3. MC_BUFFER_MODE
该数据表示将运动命令插入命令的运动队列中的方法,类型为ENUM。
4. MC_TRANSITION_MODE
该数据表示混合连续的运动模式,类型为ENUM。
5. SMC_ORIENTATION_MODE
该数据表示如何为CP运动插补定向,类型为ENUM。
6. SMC_Movement_Id
该数据表示运动的标识符,轴组的每次运动都会收到唯一的非零标识符(除非发生溢出,否则至少要经过2^64次移动,其实就是这个标识符是64位了
),类型为ULINT。7. SMC_Homing该指令用于实现控制器回零。
三、直线运动控制实例
【任务描述】
定义三个虚轴并关联成轴组,进行直线运动。按下启动按钮后,三轴坐标沿直线移动到[x,y,z]=[100,100,100]的位置停下。可视化界面上绘制出直线运动轨迹。
【任务实施】1.新建工程由于现场没有合适硬件,用仿真来模拟。新建一个标准工程,设备选择“CODESYS SoftMotion Win V3”,编程语言选择LD。2.设置虚轴(1)添加三个轴,并分别命名为“Axis_X、Axis_Y、Axis_Z”。如果没有SoftMotion则说明建立工程时,设备选择不合适(如下图就不对
),可以右键点击Device,选择Enable SoftMotion即可激活SoftMotion,然后就可以在SoftMotion下添加轴(本例选择虚拟驱动器)了。
(2)对虚轴双击,对“Soft Motion 驱动,通用”进行参数设置。
3.设置轴组
(1)添加轴组。
(2)对轴组进行设置。
选择运动学模型。双击轴组即可进入运动学模型设置窗口,不同的运动学模型对应不同的参数,本例选择“TRAFO.Kin_Grantry3”。看不懂英文术语没关系,在选择窗口里对每个模型都有详细描述,本例就是三轴龙门系统。这一步其实就是跟三轴布局的机械结构对应起来,不同的机械结构对应了不同的运动方式,也就是不同的运动学模型,不同的正逆解算法。
轴关联和任务关联。轴关联就是把运动学模型的三个轴和需要驱动的那三个轴进行关联——也就是把运动学模型的轴映射到实际轴;任务关联就是指在何时调用轴组任务。
4.编写PLC程序。
(1)PLC程序如图所示。
其逻辑就是先让各轴上电,然后轴组待命,再准备好必要参数(这里是轨迹终点数据aPos),然后启动直线运动模块。
(2)直线运动指令MC_MoveLinearAbsolute或MC_MoveLinearRelative,表示将轴组(工具位置TCP)线性移动到指定坐标系中的某个绝对/相对位置。
(3)轴组使能指令MC_GroupEnable,表示让轴组Standby。待命之后,才能控制进行各类运动。如果运动控制块的jerk未赋值,GroupEnable模块将发出错误提示。
(4)3D轨迹显示程序。由于其中调用了SMC_PositionTracker功能块,需与视图配合使用,未添加相关视图时编译本程序会报错。
5.制作视图并关联变量。(1)将各个控件从可视化工具箱拖到视图窗口中,其中控制面板ControlPanel和路径3D控件在Special Controls里面。
(2)关联变量是可视化制作最重要的一步。RotDrive控件显示各个实际轴旋转的情况,文本框显示坐标系里各轴的坐标位置变化情况以及对应速度;按钮关联启动变量,启动整个程序。它们均关联到图中标签对应的变量即可。控制面板是控制路径显示的不同视角,其关联方法是进入“引用”➡“VisuElem3DPath.ControlPanel”➡“vc”,然后关联到“ShowPath.typeVSControl”。这里表示控制面板操作时究竟是哪里的程序在工作。路径3D显示整个系统的TCP运动轨迹,进入“跟踪描述”➡“跟踪数据”关联到“ShowPath.SMC_PT.vs3dt”;再进入“控制”➡“控制数据”关联到“ShowPath.typeVSControl”,这里表示数据显示界面被哪里的程序控制。(3)关联变量时出了一些小问题,具体可见——这是BUG还是错误操作导致?——在CodeSys的可视化编程中变量关联操作遇到的。另外可视化界面如果选择中文,在加载时总是容易出现控件显示不全、图片资源加载不了或者类似下面的错误 |