找回密码
 立即注册
首页 业界区 业界 汇川iFA Evolution平台 EVO 系列PLC 通过程序实现斜坡线 ...

汇川iFA Evolution平台 EVO 系列PLC 通过程序实现斜坡线性控制电机运行

诈知 5 小时前
1.gif
一、案例说明

电机平稳速度控制策略的核心是通过斜坡线性规划加减速过程,替代阶跃式的速度给定,从源头消除启停、调速时的速度突变带来的机械冲击和电流冲击,最终实现速度的平滑过渡,同时兼顾系统动态响应速度与运行稳定性,是伺服电机、步进电机、变频异步电机精准控制中最基础且核心的控制手段,其中斜坡给定是基础方案,T 型、S 型速度规划是进阶的精细化方案,广泛应用于机床、机器人、输送线、自动化产线等对动平稳性要求高的场景。
二、程序执行输出效果


三.线性平滑功能主要应用场景举例说明

1.大功率电机控制
大功率的电机的速度设定,不允许速度从0%直接上升到80%,需要有个斜坡,比如3%每秒的速度上升,否则会对电网造成很大冲击。
2.阀门控制
大口径的阀门,不允许打开和关闭的速度太快。造成对总管的压力突变或者水锤。
3.总结
经过上面两个案例介绍,其实都是需要个线性平滑的功能,对于功能而言实现这个功能,我们可以通过控制器去实现,例如变频器的加减速时间设定实现一个斜坡加减速的功能。
四.斜坡线性平滑算法原理

1.算法公式
3.png

2.控制示意图
4.png

五、程序编写

1.创建FB块
5.png

2.创建FB引脚参数
6.png

点击查看代码
  1. FUNCTION_BLOCK Ramp
  2. //PLC-Recorder | Ana
  3. //https://hiddenmap.cn
  4. VAR_INPUT
  5.     {attribute 'NetAccess':='readwrite'}
  6.     设置目标值: REAL;
  7.     {attribute 'NetAccess':='readwrite'}
  8.     平滑总时间: DINT;
  9.     {attribute 'NetAccess':='readwrite'}
  10.     设定最大值: REAL;
  11.     {attribute 'NetAccess':='readwrite'}
  12.     设定最小值: REAL;
  13.     {attribute 'NetAccess':='readwrite'}
  14.     执行周期: DINT;
  15. END_VAR
  16. VAR_OUTPUT
  17.     {attribute 'NetAccess':='readwrite'}
  18.     平滑输出值: REAL;
  19. END_VAR
  20. VAR
  21.     {attribute 'NetAccess':='readwrite'}
  22.     单步变化量: REAL;
  23.     {attribute 'NetAccess':='readwrite'}
  24.     步长变换系数: REAL;
  25.     {attribute 'NetAccess':='readwrite'}
  26.     偏差绝对值: REAL;
  27.     {attribute 'NetAccess':='readwrite'}
  28.     平滑输出值_T: REAL;
  29. END_VAR
  30. //PLC-Recorder | Ana
  31. //https://hiddenmap.cn
复制代码
3.程序
7.png

点击查看代码
  1. //PLC-Recorder | Ana
  2. //https://hiddenmap.cn
  3. //单步变化量
  4.     单步变化量 := (设定最大值 - 设定最小值) / DINT_TO_REAL(平滑总时间 * 1000 / 执行周期);
  5. //计算偏差绝对值
  6.     偏差绝对值 := 设置目标值 - 平滑输出值_T;
  7.     IF 偏差绝对值 < 0.0 THEN
  8.         偏差绝对值 := 偏差绝对值 * -1;
  9.     END_IF;
  10. //计算平滑输出值sm_out
  11.     IF 偏差绝对值 > 单步变化量 THEN
  12.         IF 设置目标值 > 平滑输出值_T THEN
  13.             步长变换系数 := 1.0;
  14.         ELSIF 设置目标值 = 平滑输出值_T THEN
  15.             步长变换系数 := 0.0;
  16.         ELSIF 设置目标值 < 平滑输出值_T THEN
  17.             步长变换系数 := -1.0;
  18.         END_IF;
  19.         平滑输出值_T := 平滑输出值_T + 步长变换系数 * 单步变化量;
  20.     ELSE
  21.         平滑输出值_T := 设置目标值;
  22.     END_IF;
  23.     平滑输出值 := 平滑输出值_T;
  24. //PLC-Recorder | Ana
  25. //https://hiddenmap.cn
复制代码
4.运行程序
8.png

9.gif

延伸小知识:PLC-Recorder专业数据采集与分析软件可以采集字符串变量,和数值变量一样便捷。
10.gif

11.gif


12.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册