利用MATLABsimulink的自动代码生成工具开发PLC程序

上传人:鲁** 文档编号:490209260 上传时间:2023-03-04 格式:DOCX 页数:5 大小:252.69KB
返回 下载 相关 举报
利用MATLABsimulink的自动代码生成工具开发PLC程序_第1页
第1页 / 共5页
利用MATLABsimulink的自动代码生成工具开发PLC程序_第2页
第2页 / 共5页
利用MATLABsimulink的自动代码生成工具开发PLC程序_第3页
第3页 / 共5页
利用MATLABsimulink的自动代码生成工具开发PLC程序_第4页
第4页 / 共5页
利用MATLABsimulink的自动代码生成工具开发PLC程序_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《利用MATLABsimulink的自动代码生成工具开发PLC程序》由会员分享,可在线阅读,更多相关《利用MATLABsimulink的自动代码生成工具开发PLC程序(5页珍藏版)》请在金锄头文库上搜索。

1、1. 对于大型的、比较复杂的控制系统,手工编程不仅耗费人力,而且准确率较低.MATLAB/simulink是一 种强大的模块化、图形化的编程工具,能够很方便的设计控制系统。MATLAB 2010a提供了从simulink模 型到PLC代码的自动生成功能。目前支持的PLC编程工具有:CoDeSys2.3,CoDeSys3。3,RSLogix5000,B&R Automation Studio 3。0,PLCOpen XML,Beckhoff TwinCat 2。11 以及 Generic.本文介绍了 MATLAB生成TwinCat 2。11的ST文档的方法,并使用TwinCat 2.11建立相应

2、的工程项 目。2。使用MATLAB/simulink生成PLC的st语言功能函数的方法MATLAB提供了很多demo 一备参考,本文以MATLAB demo中的plcdemo_simple.mdl为例。首先 在 MATLAB 命令行中执行命令 demo,选择 simulink PLC coderDemosBasic Introductions and ExamplesGenerating Structured Text for a Simple Simulink Subsystem,然后打开该模型。打开参数配置面板(Simulation-Configuration Parameters),进入

3、 PLC Coder 的选项页,将 Targer IDE 选为 Beckhoff TwinCat 2。11。然后应用.回到模型,右键点击 SimpleSystem,选择 PLC Coder-Generate Code For Subsystem。如果没有 错误,将在当前目录下生成plcdemo_simple.exp文件及诊断对话框。该文件即为ST语言的PLC文档如 下Scur c h已叩 Fctl+ SizeHerort ed D? -SummiryFLC co de e enerai ian EuccasEful for ulcdEmo热imDlEdubEFMt曲.penClose1 PLC

4、 Coder: plcdeao_siMple/SiMpleSubsys-tbblSerLHrated files:.I p 1 匚 工二、p 1 匸圧己皿口 弓i Hip 1 E . EEZp g 11 c d Emo. s i rTip 1 ep 1 c iJhiti 口 e im- PL 亡 Co de r PLC code e ene ra t i otl succ&s sful for pl cdemo e i mp 1 e S i ms2. 打开TwinCat的PLC Control,新建一个工程,命名为testmatlab,其中main程序选择SFC语言。下 面我们将刚才生成的文件

5、导入到TwinCat中,选择Projectlmport,选择刚才生成的 plcdemo_simple_subsystem.exp 文件。完成后 TwinCat 的 POUs 窗口中就有了 SimpleSubsystem (FB) 的功能函数文件双击该文件,即可看到具体的实现方法。该文件使用了 case of结构,故在调用时要注意 条件选择。通过查看全局变量,即可看到case的条件选择SS_INITIALIZE被赋值为2, SS_OUTPUT被赋值为3.先编译一下该项目,会出现一个Error3554的错误,双击该错误,将Program Call选为main()即可。 并将main中的转移条件改为

6、TRUE再次编译将不会出现错误。下面我们在main中调用MATLAB生成的那个PLC功能函数,并给定输入为正弦。为main添加三个变量如下:CALL_FUN: SimpleSubsystem;COUNT: REAL;(水生成正弦*) SIN_VAL: REAL;(水生成正弦*)添加两个顺序执行框图,转移条件均为TRUE,第一个命名为ADD_COUNT,第二个命名为CALLFUN, 末尾转移到ADD_COUNT块。初始化和ADD_COUNT采用IL语言编写,CALLFUN采用ST语言编写. 结果如下:各功能块如下:00010001LDSTLDST诞0007200320Q5202007Dooslr

7、jir TwinCAT PLC Cont rol - TestBatLab. pro* - Action CALLFUH (ST) JMAIN PRO已 POUsIE:B SimpleSubsatenri (FB)lrjf- TTinCAT PLC C out r L - test Bat Lab .pud# Action Init (IL)!MAIMfPHG已pulIE:”易 S irnpl eSubytern FEl 甘韦Eii-t Froject Iris ert Ex.tr as OriLiiLe Window HelpLCOUHT (IL)MAIN (PRG1File di t Fr

8、ojact Insert Extras tilina Wi ndo* HelpF.ile Edi t Erojact Insert Extras OiLLine iii ndow Help曰忖 _VAL=SIN(COUNT);CALI_ FUN;ssMethodType =3;CALL_FUN.U:SIN_VALCALL.FUNgjOTO33 丽 nnnft砸om-3下面可以享受你的成果了,完成后运行结果如下:皿唱爲論囁000200030001000800090010CALI_ FUN(U:=0)CALI_ FUN(ssMethodType:=2):COUNT0SINJ/AL3 POUsSin

9、pleSubsyenn (FB)00020003LDADDSTC.OUNT0.01COUNTjg|色旧|嘔|題|朗咽|論|制辎旦圆廖|锢|制制剝圍启|昭|嘔賭ffiOQPB*髦testBatlabprc* - IAIB (PEG-SFC1J1 File Edit Froject Ins ert E生traW Online Window Help:迪 POUs|蜀MAIN (PRG)G impl&G uber (FB)0001CICICIEOOOj0000005 aooE aoo? aoos 0009HiiTHtfffiRii Hii Iiii Hii ilii Hii WftffiiffitW

10、fffllWfffllWfffllWfffllHgfflliTHffigifflffi iHi iiii iHi iiii iHi iiii iHi iiii iHi iiii iHi iiii日CALLfFUNI1.Unitbelay_DSTATE0.2;9:i 551 97925511“.rtb Gain = 0:29371551 9792551II“.ssMethodType = 1 6#031“.U = 0.88270807ZE623S:.=09371551 9792551COUNT2:.059999SIN VAL= 0.8827081TRUEADD GOLTRUECALLFUNTRUE4ADDCOU

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号