声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2635|回复: 7

[基本模块类] 增量式PID的S函数

[复制链接]
发表于 2007-9-21 08:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我想做一个增量式PID的S函数,然后在SIMULINK中使用,想请教一下该怎么编写,小女子十分感谢!
回复
分享到:

使用道具 举报

发表于 2007-9-21 13:42 | 显示全部楼层
我也很想知道,怎么编写这个模块:'(
发表于 2007-9-21 14:09 | 显示全部楼层
这个问题记得前不久好像人问过,其实不用害怕怎么写s函数,按照s函数的规则写就是了(一个简单的办法就是改写toolbox\simulink\blocks\sfuntmpl.m),如果不会写S函数,还是先看看书吧。在S函数中实现du=Kp*(e(k)-e(k-1))+Ki*e(k)+Kd*(e(k)-2e(k-1)+e(k-2))不是件难事,输出u(k)=u(k-1)+du就是了。

评分

1

查看全部评分

发表于 2007-9-21 16:13 | 显示全部楼层
jack_boy ,你好,增量式是这样的吗?我只在输出这个函数改动了,不过好像不对,能指点一下吗,谢谢了
function [sys,x0,str,ts] = sfuntmpl(t,x,u,flag,Kp,Ki,Kd)
。。。。。。
sizes.NumOutputs     = 1;
sizes.NumInputs      = 1;
。。。。。。
function sys=mdlOutputs(t,x,u)
du=Kp*(e(t)-e(t-1))+(Kp*0.01/Ti)*e(t)+(Kd*Kp/0.01)*(e(t)-2e(t-1)+e(t-2));
sys(t)=sys(t-1)+du;
发表于 2007-9-22 08:39 | 显示全部楼层
原帖由 xptan 于 2007-9-21 16:13 发表
jack_boy ,你好,增量式是这样的吗?我只在输出这个函数改动了,不过好像不对,能指点一下吗,谢谢了
function [sys,x0,str,ts] = sfuntmpl(t,x,u,flag,Kp,Ki,Kd)
。。。。。。
sizes.NumOutputs     = 1;
sizes.NumInputs      = 1;
。。。。。。
function sys=mdlOutputs(t,x,u)
du=Kp*(e(t)-e(t-1))+(Kp*0.01/Ti)*e(t)+(Kd*Kp/0.01)*(e(t)-2e(t-1)+e(t-2));
sys(t)=sys(t-1)+du;
...

我先说两点吧
1、sys(t)代表的是什么意思呢?按照我的理解sys是一个向量,t代表仿真时间,sys[0.01]似乎含义不明确吧
sys(1),sys(2)……该这么写吧,如sys(1)=u(2)+du;
2、如果设定输入为1的话,实现起来可能会繁琐一点,得到u(k-1)的话,要定义一个变量uk_1初值为0,要动态修改的话,要将他设为全局变量global,或者在将其作为状态x。还有e(k-1)、e(k-2)也是要这么处理,感觉比较麻烦。让我做的话,我会选择多输入输入e(k)、e(k-1)、e(k-2)、u(k-1)、这样处理起来会方便一点,你觉得呢?
发表于 2007-9-22 09:24 | 显示全部楼层
谢谢楼上的,你写的我会试试的,不过感觉还是比较难,尤其第二点还是不太清楚该怎么编写,不过还是谢谢
发表于 2007-9-22 09:40 | 显示全部楼层
原帖由 xptan 于 2007-9-22 09:24 发表
谢谢楼上的,你写的我会试试的,不过感觉还是比较难,尤其第二点还是不太清楚该怎么编写,不过还是谢谢

发挥想像,编程的方法很多,每个人都不一样
第二点只是一点建议,按照自己的思路做,别人的当作参考
发表于 2007-9-24 10:24 | 显示全部楼层
是不是用离散模型更好点呢
function sys=mdlOutputs(t,x,u)
此处的sys是输入的表示

du=Kp*(e[t]-e[t-1))+Ki*e(t)+Kd*([t]-2e[t-1)+e[t-2)),
输出u[k]=u[k-1]+du

sys=u[k]
t作为采样时间

但是有点不明白的是e是已知的吗?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-6-2 08:04 , Processed in 0.059224 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表