admin 管理员组

文章数量: 1086019


2024年3月26日发(作者:c语言二级题库一共有多少)

传递函数从matlab/simulink向PLC控制代码的转换

s1s1

2

(5s1)(0.02s1)0.1s5.02s1

为例说明转换过程。 下面以在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所示。


本文标签: 传递函数 离散 转换 模型 语言