回复:S7-200Smart子程序编程思路之三

已锁定

holdkcsxyz

西门子1847工业学习平台

  • 帖子

    1579
  • 精华

    24
  • 被关注

    163

论坛等级:至圣

注册时间:2015-06-03

白金 白金 如何晋级?

发布于 2023-04-06 11:47:27

9楼




三段梯形减速介绍(这类似简易的”S”曲线,舍去指对数计算后计算量小很多)以下全是简单的初中数学物理级别的推导,除参考通用数学教材外,未参考任何资料。

 

公式一:A1=A3=A=1pp/(2ms)2平方=0.25pp/(ms)2平方毫秒(这个约束关系保证:开始减速段一和结尾减速段三的减速度都是采样时间里只相差1个脉冲)

 

公式二:(Vmax+(Vmax-A1*T1))*T1/2==S1段一面积公式(梯形面积上底速度加下底速度乘以时间差高度除以2)

 

公式三:[(Vmax-A1*T1)+(Vmax-A1*T1-A2*T2)]*T2/2==S2段二面积公式(梯形面积上底速度加下底速度乘以时间差高度除以2)

 

 

公式四:[(Vmax-A1*T1-A2*T2)+Vmin]*T3/2==S3段三面积公式(梯形面积上底速度加下底速度乘以时间差高度除以2)

 

公式五:Vmax-A1*T1-A2*T2=Vmin+A3*T3(最后一个段三S3梯形或三角形的速度约束公式)

 

公式六:T==T1/N1==T2/N2==T3/N3;三个阶段时间的人为约束公式:常取N==N1==N3==1;N2==2或者N2==1;N==N1==N3是非常重要的,它要求减速开始和减速结尾的时间对称,只有自己动手简单的推导全过程才能体会到这个对称是非常巧妙的。N==N1==N3可以使方程成一次线性,否则如果不相等就要解一个一元二次方程,有两个根,虽然可以根据约束条件取舍一个根,但这是我们不愿意看到的;估计取N==N1==N3==1;N2==2或者取N==N1==N3==1;N2==1/4/6/8/10......这些取法都可能是有用的,可用的形式,N2越大衔接处突变相对较小,但开始结束可能无法做到1pp/Ts。而且可以通过控制N2让方程有解。

 

公式七:S1+S2+S3==S总减速距

 

繁琐的推导结果:

公式八:A2=={(2*N+N2)*(Vmax+Vmin)*(Vmax-Vmin)-4*A*N*N2*S总减速距}/(2*S总减速距*N2)

公式九:T=={2*S总减速距*(Vmax-Vmin)}/P; 注:P是一个缓存的中间变量,公式八和九非常对称精巧

公式十:P==4*S总减速距*N*A+(2*N+N2)*(Vmax+Vmin)*(Vmax-Vmin)-4*A*N*N2*S总减速距


可以根据以上几个简单的公式编程......

实际上如果第一段和第三段里分别有个开始设定jerk时间参数变量,那么这个变量在离散的小段时间里:实际上jerk时间段里的每个2ms时间片里类似于一个逐渐等差数列脉冲个数序列,比如组成的位置序列是这样的100/99/97/94/90/85,固定的离散的微小时间片里位置和速度其实是一个相辅相成的参数……

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9438条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。