[西门子] 西门子MCD+PLC+Matlab实现倒立摆控制:算法+仿真+控制的完美结合

[复制链接]
查看24606 | 回复0 | 2024-2-28 10:00:47 | 显示全部楼层 |阅读模式
加入博途之友,与优秀工程师有约



一、概述

      倒立摆系统的整定是自动控制理论中的典型问题,在网路上或者书籍中可以找到不少相关的资料知识,整定算法也多式多样,模糊PID、LQR、以及本文用到的PID等。

      在传统的倒立摆实验中,常用的仿真工具组合Matlab+Adams、或者构建一个传递函数在Simulink仿真等,或者直接用单片机搭建一套实物系统,在网路上也有见到用汇川或者倍福PLC搭建实物倒立摆系统。

二、实现思路

  在本文中使用到的环境正如标题所示Matlab+MCD+PLC,其中Matlab用到是Simulink,PLC用到的是西门子的PLCSIM Advanced,MCD为NX MCD,为纯软件在环仿真,实验分两步走:

1、Simulink(控制算法)+MCD(物理环境),这一步主要是利用MATLAB丰富的算法模型,方便的搭建控制算法(虽然倒立摆控制算法已经很成熟了,大家以点带面,领悟精神即可)。

2、PLC SIM(从Simulink中移植算法)+MCD(物理环境),完整实现倒立摆从起摆到整定过程。

三、程序设计及实现

第一步:在MCD中构建倒立摆模型的物理仿真环境,在Simulink中搭建并级PID控制器。



      在Simulink中搭建控制模型,为了方便实验参数调整,这里提前将Simulink调整为定步长。



      实现效果:从波形和实际效果可以看到效果符合预期,且对于手动拖拽摆棍,这种施加外力因素下,也有较好的整定效果。



演示视频


video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_2975171481070600196

小结:至此我们已经实现了双环的控制,并且得到了较好的效果。其实省去了动力学模型分析以及传递函数构建,而是直接放在了MCD的物理环境中。(当然PID等参数我也没有计算,有兴趣的朋友可以推导下)。

第二步:将Matlab中的控制算法离散化移植到PLC中,为了贴合实际环境,采用了工艺对象轴控制滑台的运动,MCD继续引用之前的测试环境。



实现效果:这一步完整实现了倒立摆从起摆到整定的过程。

演示视频


video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_2975168860603678722

总结:相比于用PLC编写控制程序,使用Matlab构建控制算法显然会更快捷,再加上MCD中趋近于实际的物理环境,可以使得仿真更为便利。

感兴趣的企业朋友可以添加作者微信号



芮老师的书籍

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则