收藏 分享(赏)

传递函数从simulink向PLC控制代码的转换.doc

上传人:gnk289057 文档编号:7219765 上传时间:2019-05-10 格式:DOC 页数:4 大小:253KB
下载 相关 举报
传递函数从simulink向PLC控制代码的转换.doc_第1页
第1页 / 共4页
传递函数从simulink向PLC控制代码的转换.doc_第2页
第2页 / 共4页
传递函数从simulink向PLC控制代码的转换.doc_第3页
第3页 / 共4页
传递函数从simulink向PLC控制代码的转换.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、传递函数从 matlab/simulink 向 PLC 控制代码的转换下面以在 PLC 中实现传递函数 为例说明211(5)0.).5.0ss转换过程。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 转换成离散传递函数

2、 Hd,c2d 表示continuous to discrete,即连续到离散,或者说从拉氏变换变成 z 变换,括号里面的 H 表示被转换的连续传递函数,0.1 代表离散后的采样时间为 0.1s。之后得到 20.14 z-.97Hd- 86+05z step(H,-,Hd,-) %查看两者的阶跃响应图 1 H 及 Hd 的阶跃响应可见阶跃响应一致。2.simulink 里建立传递函数模型在 simulink 中新建一个模型,拖入 Discrete Discrete Transfer Fcn 模块,如图 2 所示,之后双击将其参数设置如图 3 所示。图 2 Discrete 中的 Discret

3、e Transfer Fcn 模块图 3 Discrete Transfer Fcn 模块参数设置再在 Ports&Subsystem 中拖入输入和输出端口,如图 4,与刚刚的离散传递函数输入输出相连,最后全选三个模块,单击右键Creat Subsystem,生成子系统,再右击生成的 SubsystemPLC Coder Generationenable“treat as atomic unit”勾选弹出的对话框里面的“Treat as atomic unit”选项,并将 Sample time 设置为 0.1s,如图 5 所示.图 4 Ports&Subsystem 中的输入和输出端口图 5

4、 弹出的对话框设置到此离散函数模型建立完毕,并且为顺利进行 PLC Coder 转换做了相应设置。3.PLC Coder 转换模型右击 SubsystemPLC Coder GenerationOptions,在弹出的对话框里,Target IDE 选择 KW-Software Multiprog 5.0,然后点击 Generate code,将会生成代码。图 6 生成代码成功单击上图对话框里面 Generated files 下面的连接,可以查看生成的代码,并且在窗口顶部会显示该文件所在的位置。4.代码的导入在 Multiprog 中新建好工程后,点击 fileImportImport PLCOpen xml file,找到刚刚生成的.xml 文件,并单击 Import,导入到 Multiprog 中,生成功能块“Subsystem”,可查看其内部算法和定义好的输入输出量及中间变量,内部算法如下图:到此,该传递函数向 PLC 控制代码的转换完成,不过要注意的是,传递函数在离散化的时候采样时间取得 0.1s,在 Multiprog 中用到该模块的时候,需要设置0.1s 执行。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报