PLC控制和Matlab Simulink仿真模拟的一种翻译方法 外文翻译.docx_第1页
PLC控制和Matlab Simulink仿真模拟的一种翻译方法 外文翻译.docx_第2页
PLC控制和Matlab Simulink仿真模拟的一种翻译方法 外文翻译.docx_第3页
PLC控制和Matlab Simulink仿真模拟的一种翻译方法 外文翻译.docx_第4页
PLC控制和Matlab Simulink仿真模拟的一种翻译方法 外文翻译.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

plc控制和matlab / simulink仿真模拟的一种翻译方法teresa deveza .j. f. martins埃武拉大学,葡萄牙埃武拉 cts/ uninova和fct/ unl,里斯本,葡萄牙; jf.martinsfct.unl.pt摘要:本文提出了一种翻译方法即在matlab / simulink的效仿plc控制程序环境。翻译包自动地将plc控制程序转换成matlab / simulink环境软件语言。在matlab / simulink环境中,将plc控制程序翻译到一个matlab功能块,只要模拟运行时,这个功能块会控制工业过程的模型。翻译包输入有:plc型号,plc的数字类型输入和输出和plc控制程序文件。该翻包输出将是一个包含plc控制程序翻译的matlab / simulink环境兼容m文件。埃武拉大学的学生成功地采用这种封装形式,让他们可以通过这个matlab / simulink控制模型来测试自己的plc控制程序。关键字:自动化,教育,工业控制,仿真,建模。1.简介由可编程逻辑控制器(plc)控制自动化和控制过程中的实际测试有一种众所周知的问题1-3。有几种解决方案实现:比例模型,led的电池、交换机和人机界面(hmi),监督控制和数据采集系统(scada)系统或模拟工具。使用比例模型真实的过程是非常昂贵的并且难以适应不同的过程。毫无疑问,教plc控制的过程的最好方法是允许学生在一个几乎真实的环境来测试他们的项目,但其成本往往禁止其使用。使用led和开关集是极其混乱最终无趣。这种方法,只有小的时候才有效且被认为会严重降低学生的动机。有些hmi和scada系统允许功能,但非常昂贵,而不是用于目的和通常考虑物业的协议。一些基于pc机的过程模拟工具被开发出来,采用单片机技术与任何类型的plc4 ,设计工作。其他商业plc也可模拟工具(pc-sim卡simtsxpsim只是仅举几例)。然而,这些解决方案往往不适合被集成到其他的仿真的工具。利用matlab / simulink的5一直没有一个正规工业自动化plc教学方法控制过程。假设的型号的工业过程中实现的matlab / simulink本文提出了一种工具,它可以被用来实现在matlab / simulink plc控制程序环境。其基本思路是考虑plc作为一个matlab功能块,在控制程序matlab / simulink环境,当模拟运行时,将控制该工业模型运行。这项工作的主要目的是plc控制程序,写指令列表,自动翻译成matlab/ simulink软件语言。2. 工业过程建模实施工业生产线涉及大量的投资。在设计的每一个决定阶段应以非常关心保证自动化生产过程成功地实现了预期的效果。工业过程建模的问题是不容易的或唯一的,几种方法可以采用。这些过程可以被认为是一个离散事件系统,根据出现的各种不同的事件,其中涉及了动力系统的变化。工业生产系统保持在不断完善,这对保持供应商和过程集成商的竞争力非常重要。为了实现这一目标,一个高效的建模方法是一个基本的问题一个现代化的生产线,是一个高度集成的系统它由自动化工作站以及具有工具变化能力机器人、一个硬件处理系统和存储系统、plc控制的过程组成,并且计算机控制系统控制整个系统。每个控制工业过程被建模为一个传递函数(连续和/或离散)与一组输入和一组输出,如图1所示。输入的控制信号作用于的工业过程中的执行机构,输出信号取决于工业网络中的传感器和检测器取得的变量。图 1.工业过程模型matlab / simulink环境虽然不是那么经常使用的工业过程建模,但仿真包允许建立一个合适的建模和仿真工具连续,离散和混合离散/连续个子系统模型。如今,matlab / simulink的覆盖了广泛的应用领域,也可以用于建立自动化应用中的详细过程。3.plc建模一个plc(可编程逻辑控制器)的基本组成是:电源、控制程序和工作存储器、输入/输出电路和一个中央控制单元。 plc是最合适的,并广泛应用于当今工业过程技术。一个plc被看作是一个集成电路,包括逻辑元素与互连图案,其中一部分可由用户编程。一个plc仿真的电动梯的运行图。由于他们是连续的机器,效仿并联电路的工作原理,瞬间响应,plc可以用一个输入/输出图像表和扫描周期。控制程序运行时,plc连续执行一个扫描周期。该计划解决了布尔逻辑中的信息的输入表,输出和内部继电器表。此外,在输出的信息和内部继器表更新程序扫描过程中。plc中,布尔逻辑(plc控制程序)通常使用图形语言表示梯形图7。然而,plc控制面向文本的程序,还可以描述为stl(编程语言的语句表)和scl(结构化控制语言)。plc建模问题可以降低到仿真plc控制程序。对于plc的程序,有几个可以采取的办法。几位作者制定了具体的包验证plc程序8 - 9。这些软件包验证程序中使用的结构,其中包括,自动机网络。这些程序通常只验证程序结构而不验证是否达到预期的控制目标。另一种方法是在新一代的plc程序的其他形式主义,如petri网10,状态图或有限状态机器。如果原来的形式主义是无错的,这可能plc程序开发是一个有价值的工具。一些作者翻译plc开发软件包dsp代码的程序,以便它可以被用在非plc硬件。这些方法中没有一个是面向教育或采用于matlab / simulink的内环境。拟采用的方法常常被认为是仿照plc模拟控制程序,其中plc控制程序与工业过程交互作用,如图2所示。图 2. plc控制程序和工业过程的相互作用plc控制程序是循环的,其流动方式如下:中央控制单元的状态传送工业过程(plc的输入电路)到内部工作存储区,然后执行plc控制控制程序存储区中存储的程序,并通过输出电路的控制操作作用于工业过程执行机构在工业过程中执行。执行过程如图3所示。图 3. plc控制程序循环执行plc控制程序将产生输出将作为工业过程的输入端,同理工业过程的输端作为plc的输入控制程序输入端。4. plc/ matlab翻译方法 如前所述建议翻译方法假定该工业过程已经是模拟在matlab / simulink环境,如图4所示。图 4. plc操作和工业过程的相互作用工业plc控制的过程是由一个命名为“工业过程仿真模块“,基于matlab / simulink的模块来模拟的。此模块输出(传感器和检测器的输出)是工业过程的传感器和探测器的信号,这些信号将被作为输入信号输入到命名为“plc控制程序”的matlab / simulink块。工业过程仿真模块将效仿plc运行,且其输出将plc输出对应连接到执行器的输入。plc控制程序模块是拟议的方法的基石。它将效仿如图3所示的plc循环方式运行。此功能块是一个matlab的m文件。为了自动构建块学生必须做到以下几点:1.阅读plc控制过程中的具体要求。2.复制由教师提供在matlabl/ simulink环境下的matlab/ simulink的工业过程模拟块。 3.选择一个plc控制的过程; 4. 根据所给定的功能规范,阐述了各自的plc控制程序。例如使用grafcet的方法; 5.写下的plc控制程序采用梯形图或面向文本的编程语言; 6.把面向文本的plc控制程序保存在文本文件中; 7.以运行翻译包将plc控制程序转换到matlab / simulink的语言(matlab / simulink环境m文件功能块的plc控制程序8.测试开发的plc控制程序plc控制过程模型(matlab / simulink的m文件功能块“工业流程模拟块); 9.阐述了各自的工作报告在使用翻译包自动翻译学生的plc控制程序为matlab / simulink的语言之前,将要求学生知道以下信息: 1. plc的类型; 2. plc的输入和输出; 3. plc控制程序文件。a. plc的类型 plc类型的选择是至关重要的因为翻译规则的建立是根据制造商程序语法。虽然它们都是布尔逻辑但是每个plc制造商开发了自己的编程语法。以这种方式,翻译包应该知道plc制造商这样才能应用足够的翻译规则。b. plc的数字输入和输出plc的输入和输出点数清楚定义matlab / simulink的功能参数“plc控制程序”。此功能将负责执行plc控制程序内在matlab / simulink环境,并且将被创建为一个的m文件。 di1 din表示plc的数字输入,ai1至旨在dop表示表示plc的模拟量输入,do1plc的数字输出和ao1 aoq表示plc的模拟输出。 n和m,p和q分别表示在plc的数字输入,模拟输入,数字输出和模拟输出。重要的是要注意的是n +m定义的是复用器块(a)的维数,如图4所示。类似地,p + q定义为多路分配器块(b)所示的尺寸。function output= plc control program di1, .,din, .,ai1, .,aim ( ).plc control programin matlab/simulink language (1).output = do1, .,dop, .,ao1, .,aoq c. plc控制程序文件进行翻译plc控制程序的典型代表一种图形语言,被称为了梯形图。然而,几乎每一个plc软件编程包允许使用面向文本的编程语言。此外,他们允许的自动转换梯形图和文本的面向对象编程语言,反之亦然。拟议的翻译方法将认为plc控制程序面向文的编程语言编写的,在一个标准文本文件。这个并不代表问题,被称为,几乎plcsoftware编程的包可以保存这种格式的plc控制程序。图5以西门子plc为例子显示了一个简单plc控制程序的文本文件的研究。1 /2 / program title comments3 /4 network 15 ld i 0.06 a i 0.17 ld i 0.28 a i 0.39 old10 = q 0.011 /12 network 213 ld i 0.414 ld i 0.515 ctu c5, +616 /17 end图5.plc控制程序标准的文本文件plc控制程序翻译包是一个在visual basic中开发的软件工具,这翻译包自动地将plc控制程序的文本文件转换成通讯员matalb/ simulink的m文件。这个m文件,包含plc控制程序中描述matalb/ simulink的语言,持matalb/ simulink环境(1)中定义的函数。只有了解plc的输入/输出点数,转换工具才能建立正确的功能(1)的输入和输出参数的数目。应用一组转换规则将plc控制程序本身继电器翻译为一组plc的组指令列表。一个完整的plc指令表大致可以分为:布尔值比较输出定时器计数器数学运算递增/递减移动/移位程序控制其他一些指令转换规则将描述,考虑到西门子plc的指令列表。布尔指令将被翻译成matlab / simulink的语言使用标准的matlab布尔功能,如表1,其中i xy表示数字输入和q xy表示数字输出,x和y是考虑的数字,字节和位输入/输出。此外,do_g是一个matlab变量表示数字输出g和di_h的的是matlab的变量表示数字输入h。 bollean状态true将matalb环境表示1和false由0。表1 布尔指令翻译布尔指令plc指令matlab / simulink环境翻译与ld i a.ba i c.d= q e.fdo_g = di_h & di_i或ld i a.bo i c.d= q e.fdo_g = di_h | di_i非ldn i a.b= q c.ddo_g = di_i各种布尔指令组合利用上述规则转换。作为一个例子,该组指令(2)将被表示为(3)。ld i 0.0a i 0.1ld i 0.2old = q 0.0 (2) do_1 = (di_1 & di_2) | di_3 (3) plc运算指令通常布尔启用。这意味着使用matlab函数如果,以他们的行为。作为一个例子,在plc的整数(5)在加法指令(4)将被表示为matlab / simulink环境。 aiw0和aqw0分别表示一个plc的模拟输入和plc模拟输出。 ao_1是一个matlab变量表示第一模拟输出和ai_1是一个matlab变量表示第一个模拟输入。ld i 0.0+i aiw0 , aqw0 (4)if di_1ao_1 = ai_1 + ao_1 (5)endplc控制程序通常使用内部标志(位和可变的内部记忆体)来表示状态或存储模拟值。每当翻包找到了plc内部存储器,自动分配matlab / simulink环境变量。这些变量是米或v表示,因为它们是数字或模拟。 plc乘法指令(mul)往往涉及使用一个辅助内部存储器,可以看出,在(6)和(7),movw指令(移动值的一字变量 - 16位 - 到另一个)也使用。请注意,plc的内部变量vd指的是一个32位的变量。ld i 0.0movw +6 , vd4mul +9 , vd4 (6)if di_1v_4 = +6v_4 = +9 * v_4 (7)endplc计数器指令(ctud - 计数器上计数和下计数)可能需要多个布尔输入:一个用于计数,倒计时(如果这样)其他抵触计数器。由于计数是只上执行布尔输入的上升沿,matlab / simulink的翻译应该考虑到那布尔输入以前的态。请参阅(8)和(9)计数的例子,其中di_1_prev是一个matlabb的变量表的可变di_1的以前的状态。以前的状态,是指状态在以前的plc控制计划周期在这个例子中,通过到达计数4计数器bollean状态更改为true。在matlab环境c_10表示的bollean状态计数器10号,和c_10_value表示的计数值是相同的计数器ld i 0.0 / count upld i 0.1 / count downld i 0.2 / reset counter (8)ctud c10, +4if di_1 & di_1_prevc_10_value = c_10_value + 1endif di_2 & di_2c_1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论