ZMC600E EtherCAT主站控制器为了满足不同的自动化应用需求,在硬件接口上面,精心设计了1路EtherCAT主站接口,ms 周期任务抖动 ±5μs 以内;3 路以太网接口,其中1路是千兆网口;2路RS485;2路CAN;32个用户I/O,其中16路DI,16路DO,输入支持最多2路正交编码或两路脉冲计数;1个USB3.0接口;支持TF卡;系统电源采用高稳定隔离电源,支持掉电检测;提供多种程序加密手段,保护用户应用软件知识产权。
ZMC600E 示意图及接口图如下所示:
ZMC600E EtherCAT主站控制器为设备制造商提供多轴数、多IO点数控制的新一代可靠智能的运动控制解决方案,提供空间直线、圆弧插补算法,可以广泛应用于注塑行业、冲压行业、车床行业、搬运码垛、关节机器人、喷涂、玻璃机、压铸机、包装设备、3C设备、锂电池设备、纺织、流水线工作站、非标自动化装备、特种机床等高端设备应用。
插补通常涉及至少两个轴的协同工作。首先,通过建立坐标系,将运动轴映射到相应的坐标系中。然后,运动控制器依据插补算法来控制各个轴的运动,实现所需的轨迹。在常见的插补类型中,直线插补用于实现两个点之间的直线运动,而圆弧插补则用于实现沿圆弧轨迹的运动。这两种插补都依赖于算法的实时计算,以保证轨迹运动的精度和平稳性。简而言之,插补是数控系统中确保机械部件按照预定轨迹精确、高效运动的一种技术。
以二轴为例简化说明,如图2所示,圆的插补运动:将通过一定的算法,逐步计算出圆弧的离散点,并控制两个轴按这些点进行协调运动,最终加工出目标圆弧路径。这一过程能够实现精确的曲线轨迹控制,确保机械部件沿指定的圆弧轨迹平稳移动。
空间圆弧默认为三维,构造圆弧时,方向逆时针为正、除起始点和终点外,辅助参数输入分为三种:
辅助点为圆弧上的点,其优势在于,路径方向唯一,且实际辅助点可以通过示教获得。
辅助点为圆心点,正常情况下是有两个方向的解,因此需要额外指定方向。但与起点、终点的夹角不能是180度,否则有无数解;缺点在于圆心处于障碍物区间时无法通过示教获得。
辅助点为与与原点形成的向量为平面法向量,向量长度为半径坐标,方向根据右手原则。但已知半径下,圆心在它们的中垂线上,同样有两个解。算法会选择起点和终点之间距离较短的那个圆,即总的运动角度最多为180度。缺点是圆弧角度必须小于或等于180°。
创建直线轨迹规划
创建圆弧轨迹规划
删除轨迹规划的句柄
设置起始位置
设置终点位置
开启轨迹规划
获取当前轨迹规划经过的总距离
获取某个经过距离点的规划信息
int main()
{
double startPos[3] = { 0, 10, 20 };
double endPos[3] = { 10, 0, -20 };
trajectory_handle handle = trajectory_new_line(3);
trajectory_set_start_pos(handle, startPos);
trajectory_set_end_pos(handle, endPos);
trajectory_set_plan(handle);
double dist = trajectory_get_plan_distance(handle);
for(double d = 0; d <= dist; d+=0.1)
{
double pass_dist[3];
trajectory_get_plan_slice(handle, d, pass_dist);
std::cout << "pass_dist :" << pass_dist[0] << "," << pass_dist[1] << "," << pass_dist[2] << endl;
}
trajectory_delete(handle);
return 0;
}
2. 圆弧插补示例:起始点 { -10,0,10 },终点 { 10, 0, 5 }, 经过圆弧点 {0, 10, 7.5}
代码如下:
int main()
{
double startPt[3]= { -10, 0, 10 };
double auxPt[3] = { 0, 10, 7.5 };
double endPt[3] = { 10, 0, 5 };
trajectory_handle handle = trajectory_new_arc(0, auxPt, 0);
trajectory_set_start_pos(handle, startPt);
trajectory_set_end_pos(handle, endPt);
trajectory_set_plan(handle);
double dist = trajectory_get_plan_distance(handle);
for (double d = 0; d <= dist; d+=0.1)
{
double pass_dist[3];
trajectory_get_plan_slice(handle, d, pass_dist);
std::cout << "pass_dist :" << pass_dist[0] << "," << pass_dist[1] << "," << pass_dist[2] << endl;
}
trajectory_delete(handle);
return 0;
}
执行结果如图下图所示:
ZMC600E运动控制器 配备了直线和圆弧插补算法,这些算法能够灵活应对各种应用需求,确保轨迹的精确性。掌握这些运动插补技术,有助于提高设备的控制精度和工作效率,为工业生产带来显著的效益提升。
EtherCAT 系列文章
【新品上市】ZMC900E 国产高性能EtherCAT总线控制器
【新品上市】ZLG致远电子PCIe EtherCAT通讯卡产品正式发布!
【技术分享】面对快速迭代的技术,怎能忽视设备升级的高效与灵活性?
【技术分享】灵活连接,无限可能—探索EtherCAT的拓扑艺术
【技术分享】EtherCAT技术赋能工业储能,优化GOOSE网络实时性与效率
【技术分享】人形机器人时代已来,解锁未来智能奥秘
【技术分享】EtherCAT 分布式时钟简介
【200个电机驱动】如何实现EtherCAT分布式供电?
【200个电机驱动】如何同步运行?--基于EtherCAT的柔性电机驱动系统
【200个电机驱动】如何快速搭建柔性自动生产线?
【插针机PLC开发】用AWBlock开发运动逻辑
【插针机HMI开发】用AWTK开发人机界面
【技术分享】EtherCAT 数据帧格式和寻址方式简介
【技术分享】“脱胎换骨”--插针机运动控制
【技术分享】EtherCAT总线如何对从站固件进行升级?
【技术分享】EtherCAT冗余技术如何实现通信线缆断开的补救?
【技术分享】如何精准分析人形机器人运动数据?
【技术分享】为何EtherCAT在运动控制总线中如此受欢迎?
【产品应用】ZMC600E运动控制器T型、S型速度规划详解
【产品应用】使用PCIe EtherCAT通讯卡控制IO从站step by step(一)
【产品应用】使用PCIe EtherCAT通讯卡控制IO从站step by step(二)
【产品应用】ZMC900E控制器之ROS2环境安装指南
【产品应用】EtherCAT主站控制器系统实时性测试
【产品应用】ZMC900E 国产EtherCAT主站控制器 — 电源口传导骚扰整改
【产品应用】ZMC300E EtherCAT主站控制器实现复杂的运动轨迹规划原理及应用
【产品应用】手把手带你使用ZMC300E绘图
【产品应用】三个步骤,让你的EtherCAT电机转起来
【产品应用】EtherCAT如何保障高效率、高实时性、高灵活性的现场总线通讯
【产品介绍】ZMC601E总线型边缘控制器 — 引领制造型企业数字化转型
【产品介绍】ZMC600E EtherCAT主站控制器全新上市
【产品介绍】ZLG推出新一代工业机器人解决方案,为工业机器人注入新的活力