admin 管理员组文章数量: 1184232
2024年3月26日发(作者:c语言二级题库一共有多少)
传递函数从matlab/simulink向PLC控制代码的转换
s1s1
2
(5s1)(0.02s1)0.1s5.02s1
为例说明转换过程。 下面以在PLC中实现传递函数
1.将传递函数离散化
PLC Coder不支持转换连续时间类型的模型,需要先将传递函数离散化,用到matlab
中的c2d命令。
在matlab command window中输入如下命令:
>> H = tf([1 1], [0.1000 5.0200 1.0000]) %表示H是分子多项式为[1 1],分
母多项式为[0.1000 5.0200 1.0000]的连续传递函数。
>>Hd = c2d(H, 0.1) %表示将连续传递函数H转换成离散
传递函数Hd,c2d表示continuous to discrete,即连续到离散,或者说从拉氏变换变成
z变换,括号里面的H表示被转换的连续传递函数,0.1代表离散后的采样时间为0.1s。
之后得到
0.2114 z - 0.1917
z
2
- 0.9869 z + 0.006605
Hd
>> step(H,'-',Hd,'--') %查看两者的阶跃响应
图1 H及Hd的阶跃响应
可见阶跃响应一致。
nk里建立传递函数模型
在simulink中新建一个模型,拖入Discrete> Discrete Transfer Fcn模块,如图
2所示,之后双击将其参数设置如图3所示。
版权声明:本文标题:传递函数从simulink向PLC控制代码的转换 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1711398951a592125.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论