百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

[西门子PLC] 脉冲轴凸轮曲线算法—S7-1200(五次曲线加直线

moboyou 2025-05-08 13:36 9 浏览

随着现代智能装备制造领域的快速发展,机械电子化、硬件软件化成为当今工业发展趋势。传统机械凸轮结构简单可靠,但机械凸轮制造的要求和成本高,其形状和轨迹固定,设计调整困难,并且升级机械凸轮、修改凸轮曲线需要改件,改件涉及大量库存,并且周期长、难度大。为解决机械凸轮存在的问题,提出将电子技术与机械凸轮结合,通过构造凸轮曲线模拟机械凸轮的运动轨迹,达到与机械凸轮系统相同的主、从轴之间的相对运动,电子凸轮应运而生。电子凸轮具有精度高、速度快、稳定性好、成本低等优点,广泛应用在包装、印刷、木工、锂电、硅晶等先进制造行业,例如:枕式包装机刀轴与膜轴的运动、飞剪设备刀轴与材料轴的运动、电池方型卷绕机等。电子凸轮逐渐取代机械凸轮,成为工业发展的趋势,在自动化领域有重要意义。



一、曲线算法

本项目选择五种基本的曲线,即直线、梯形曲线、三次曲线、五次曲线、S形曲线作为研究对象进行相关曲线算法的研究,通过曲线公式对曲线的位移、速度、加速度、加加速度曲线进行计算与仿真。

(1)、直线算法

对于涉及到匀速运动、精度要求不高且对运动轨迹要求较少的工业场合,例如:物料处理系统中使用传送带运输物料、直线车削加工、装配线上器件的输送以及直线焊接等场合。这些场合都涉及到直线算法的应用,直线的运动状况是匀速运动,速度曲线是一条平行于X轴的直线,速度恒定,位移均匀增加。直线算法公式内容如下:

(2)、五次曲线算法

对于一些需要频繁启停且要缓起缓停的高速运动场合,例如:机械臂快速精准的定位运动、产品装载设备、工业机器人高精度高速度运动和医疗机器人精确平稳手术作业等场合,这些场合都涉及到五次曲线算法的应用。五次曲线的运动状况是加速度没有冲击现象,曲线弯曲程度较大,五次曲线适合模拟一些复杂的运动曲线。五次曲线算法公式内容如下:

二、MATLAB仿真效果

(1)、直线的仿真

直线算法的公式为,计算直线需要对直线的位移值和时间参数进行计算,设置初始位置为,终点位置为,总位移设为,计算总位移量,直线的速度值恒定,设速度值为,运动时间设为,计算时间。设当前点位对应的时间为,根据直线算法公式,对直线的位移和速度进行计算。

在MATLA软件中,设置直线轨迹始末时刻的时间、初始的位置和速度值,对直线公式设置合适的步长,通过直线算法的公式对直线轨迹的输出值进行计算,使用MATLAB软件的subplot图像规划功能,对直线的位移图像和速度图像的分布进行合理的规划,使用MATLAB软件的plot绘图功能进行绘图操作,将直线图像直观地展示,如图所示。

(二)、五次曲线的仿真

根据三次多项式进行计算得到的轨迹图像,可以直观地看出三次曲线的位移值和速度值是连续的,但是,在初始时刻和结束时刻的加速度值是不连续的,存在着冲击现象,这是是三次曲线在实际应用中存在不足的地方[11]。为了使加速度的轨迹连续,以达到消除冲击现象的目的,需要初始时刻的位置值、速度值和加速度值,以及结束时刻的位移值、速度值、加速度值,共有六个条件需要满足,因此使用五次多项式:

设起始时刻为,结束时刻为,总时间为,根据五次多项式,得出五次曲线的位移公式:

对位移公式求导,得出速度公式:

对速度公式求导,得出加速度公式:

对加速度公式求导,得出加加速度公式:

根据所需的条件:初始位置、结束位置、起始速度、结束速度、起始加速度、终止加速度,定义轨迹的总距离,求得五次多项式的系数:

五次曲线相比于三次曲线,由于多项式公式的阶数和系数增加,导致所需的计算量有所增加,但是根据曲线图像可以直观地看出,五次曲线的轨迹相比于三次曲线的轨迹更加稳定,速度曲线也更加平滑,加速度曲线也不存在突变的问题,消除了三次曲线起始和结束的时刻存在冲击的缺点。并且随着多项式公式阶数的增加,需要满足的约束条件也会增加

三、1200PLC仿真效果加程序

直线

直线:

//直线轨迹初始化

//计算执行轨迹所需要的参数

//输入参数

REGION 输入

#P0 := #Param.P0;

#P1 := #Param.P1;

#Vm := #Param.Vel;

#Am := #Param.Acc;

#Jm := #Param.Jerk;

END_REGION

REGION 参数计算

#Pf := ABS(#P1 - #P0); //到达目标位置所需要的距离

#Tf := #Pf / #Vm; //到达目标位置所需要的时间

END_REGION

REGION 输出

//

#NoVar := 0;

#Tff := #Tf;

//轨迹参数映射

#ArrA[0] := #Pf;

#ArrA[1] := #Tf;

END_REGION

//直线轨迹生成

//输出对应轨迹值

//输入参数

REGION 输入

//

#P0 := #Param.P0;

#P1 := #Param.P1;

#Vm := #Param.Vel;

#Am := #Param.Acc;

#Jm := #Param.Jerk;

//轨迹参数

#Pf := #ArrA[0];

#Tf := #ArrA[1];

IF #P1 < #P0 THEN

#Vm *= -1;

END_IF;

END_REGION

REGION 生成轨迹

IF #inT < #Tf THEN

//匀速期间

#q_0 := #P0 + #Vm * #inT; //输出位置

#q_1 := #Vm; //输出速度

ELSE

#q_0 := #P0 + #Vm * #Tf;

#q_1 := #Vm;

END_IF;

END_REGION

REGION 输出

//轨迹

#NoVar := 0;

#q[0] := #q_0;

#q[1] := #q_1;

#q[2] := 0;

#q[3] := 0;

END_REGION

五次曲线

五次曲线:

//五次曲线轨迹初始化

//计算执行轨迹所需要的参数

//输入参数

REGION 输入

#P0 := #Param.P0;

#P1 := #Param.P1;

END_REGION

REGION 参数计算

#Pf := ABS(#P1 - #P0);

#Tf := #Param.T;

#V0 := 0;

#V1 := 0;

#Acc0 := 0;

#Acc1 := 0;

//

#A0 := #P0;

#A1 := #V0;

#A2 := #Acc0 / 2;

#A3 := (20 * (#Pf) - (8 * #V1 + 12 * #V0) * #Tf - (3 * #Acc0 - #Acc1) * #Tf ** 2) / (2 * #Tf ** 3);

#A4 := (-30 * (#Pf) + (14 * #V1 + 16 * #V0) * #Tf + (3 * #Acc0 - 2 * #Acc1) * #Tf ** 2) / (2 * #Tf ** 4);

#A5 := (12 * (#Pf) - (6 * #V1 + 6 * #V0) * #Tf - (#Acc0 - #Acc1) * #Tf ** 2) / (2 * #Tf ** 5);

END_REGION

REGION 输出

#NoVar := 0;

#Tfff := #Tf;

//轨迹参数

#ArrA[0] := #Pf;

#ArrA[1] := #Tfff;

#ArrA[2] := #A0;

#ArrA[3] := #A1;

#ArrA[4] := #A2;

#ArrA[5] := #A3;

#ArrA[6] := #A4;

#ArrA[7] := #A5;

END_REGION

//五次曲线轨迹生成

//输出对应轨迹值

//输入参数

REGION 输入

#P0 := #Param.P0;

#P1 := #Param.P1;

//轨迹参数

#Pf := #ArrA[0];

#Tf := #ArrA[1];

#A0 := #ArrA[2];

#A1 := #ArrA[3];

#A2 := #ArrA[4];

#A3 := #ArrA[5];

#A4 := #ArrA[6];

#A5 := #ArrA[7];

IF #P1 < #P0 THEN

#A1 *= -1;

#A2 *= -1;

#A3 *= -1;

#A4 *= -1;

#A5 *= -1;

END_IF;

END_REGION

REGION 生成轨迹

IF #inT <= #Pf THEN

//位置

#q_0 := #A0 + #A1 * #inT + #A2 * #inT ** 2 + #A3 * #inT ** 3 + #A4 * #inT ** 4 + #A5 * #inT ** 5;

//速度

#q_1 := #A1 + 2 * #A2 * #inT + 3 * #A3 * #inT ** 2 + 4 * #A4 * #inT ** 3 + 5 * #A5 * #inT ** 4;

//加速度

#q_2 := 2 * #A2 + 6 * #A3 * #inT + 12 * #A4 * #inT ** 2 + 20 * #A5 * #inT ** 3;

//加加速度

#q_3 := 6 * #A3 + 24 * #A4 * #inT + 60 * #A5 * #inT ** 2;

ELSE //最后的轨迹

//位置

#q_0 := #A0 + #A1 * #Pf + #A2 * #Pf ** 2 + #A3 * #Pf ** 3 + #A4 * #Pf ** 4 + #A5 * #Pf ** 5;

//速度

#q_1 := #A1 + 2 * #A2 * #Pf + 3 * #A3 * #Pf ** 2 + 4 * #A4 * #Pf ** 3 + 5 * #A5 * #Pf ** 4;

//加速度

#q_2 := 2 * #A2 + 6 * #A3 * #Pf + 12 * #A4 * #Pf ** 2 + 20 * #A5 * #Pf ** 3;

//加加速度

#q_3 := 6 * #A3 + 24 * #A4 * #Pf + 60 * #A5 * #Pf ** 2;

END_IF;

END_REGION

REGION 输出

//轨迹

#NoVar := 0;

#q[0] := #q_0;

#q[1] := #q_1;

#q[2] := #q_2;

#q[3] := #q_3;

END_REGION

#非标自动化#

相关推荐

声学EI要完稿?十步速写法

【推荐会议】国际声学与振动会议(ICAV)会议号:CFP23112A截稿时间:2025年4月20日召开时间/地点:2025年8月15-17日·新加坡论文集上线:会后3个月提交EiComp...

结构力学!EI会议图表规范秘籍

推荐会议:国际结构与材料工程进展大会(ISME2026)会议编号:EI#73521截稿时间:2026年3月10日召开时间/地点:2026年8月15-17日·德国柏林论文集上线:会后4...

傅里叶级数物理意义的直观理解:利用傅里叶级数逼近方波信号

上篇文章将向大家介绍频谱的概念,对傅里叶级数、傅里叶积分、傅里叶变换进行了数学的推导,并解释了它们各自的物理意义。推导过程见我的上一篇文章:频谱分析——频谱概念(傅里叶变换、级数、积分及物理意义)如下...

通过对航空发动机整机振动进行分析,有何控制方法?

前言针对航空发动机整机振动问题的复杂性和多样性,以整机振动的振源分析为出发点,总结国内外关于转子系统故障、气流激振、轴承故障、齿轮故障和结构局部共振等引起的整机振动的研究情况。结合航空发动机整机结构动...

MATLIB中使用PCA

主成分分析PCA(PrincipalComponentsAnalysis),奇异值分解SVD(Singularvaluedecomposition)是两种常用的降维方法降维致力于解决三类问题:降维...

数据处理|软件:让科研更简单2

书接上回,继续介绍免费的数据处理软件。eGPS一款热图绘制专用软件,热图就是用颜色代表数字,让数据呈现更直观,对比更明显。优点:小巧方便,基本功能齐全,包括数据转换、聚类分析、颜色调整等等缺点:常见的...

电力系统常用的通讯协议及其在Speedgoat系统中的实现

在电力系统中,IEC61850协议、DNP3协议、ModbusTCP广泛应用于远程终端设备(RTU)、智能电子设备(IED)交互以及监控和数据采集(SCADA)系统。一、IEC61850协议IE...

电子工程师的常用仿真软件

不知道从事电子行业的工程师,有没有使用模拟仿真工具,仿真软件网上又有很多,初学者,可能只知道Multisim和Proteus。一般Multisim适合在学习模拟电路和电路分析原理课程时使用,便于理解电...

技术论文|异结构混沌系统的组合同步控制及电路实现

欢迎引用[1]李贤丽,马赛,樊争先,王壮,马文峥,于婷婷.异结构混沌系统的组合同步控制及电路实现[J].自动化与仪器仪表,2022,No.276(10):80-84.DOI:10.14016/j.cn...

现场︱某110KV主变事故过程仿真分析

三峡电力职业学院、河南省电力公司洛阳供电公司的研究人员李莉、任幼逢、徐金雄、王磊,在2016年第6期《电气技术》杂志上撰文,针对某110KV变电站主变差动保护跳闸事故,结合事故相关检测数据,通过MAT...

光伏发电系统篇:单级式并网系统实时仿真

在全球积极推动清洁能源转型的大背景下,光伏发电作为重要的可再生能源利用方式,得到了广泛关注和迅猛发展。目前常用的光伏并网及光伏电站主要拓扑结构有单级式和双级式。相较于传统的多级式系统,单级式光伏发电并...

光伏发电系统篇:三电平并网逆变器实时仿真

一、三电平并网逆变器在能源转型加速的当下,分布式能源接入电网需求大增。三电平并网逆变器凭借低谐波、高功率密度等优势,有效提升电能转换效率,于新能源并网发电中担当关键角色。常见的三电平电路拓扑结构包括二...

自制3.5KW大功率逆变器,很简单,看过这个电路原理就懂了

前言拿下8000元奖金的项目,是什么水平?本项目经过联合湖南科技大学光伏逆变以及电力电子研究生团队共同探讨方案。项目成本:1200元,获得奖金:8000元!参加赛事:立创开源硬件平台_星火计划·外包赛...

圈内分享:电容式加速度计接口电路非线性建模与仿真设计

摘要:非线性是Sigma-Delta(ΣΔ)加速度计系统的关键指标之一。基于一个五阶ΣΔ加速度计结构,分析了其主要的非线性模块,在MATLAB中建立了整体结构的行为级模型,并利用根轨迹法进行了稳...

基于Matlab/Simulink建立一种Thevenin/RC电池模块仿真模型

本文以锂电池数学模型为基础,在Matlab/Simulink的仿真系统中,建立了一种Thevenin/RC电池模块仿真模型,通过实际工况试验,测试精度在允许误差范围内,为电池SOC/SOH研究提供了极...