MATLAB平台下的PLC实时控制系统分析.doc
《MATLAB平台下的PLC实时控制系统分析.doc》由会员分享,可在线阅读,更多相关《MATLAB平台下的PLC实时控制系统分析.doc(31页珍藏版)》请在三一办公上搜索。
1、MATLAB平台下的PLC实时控制系统分析PLC程序设计姓名:华祥 学号:94203109 班级:03942第一章 文献综述1.1 组态软件概述随着现代工业生产技术、工艺过程日趋复杂,生产设备及装置的规模不断扩大,企业生产自动化程度要求也越来越高,出现了各种工业自动控制系统。早期的工控系统多是专用的封闭系统,针对不同的生产工艺过程需要编制不同的控制件,工控软件开发周期长、困难大,工业被控对象稍有变动就必须修改源程序,且很难与外界进行数据交互,升级和增加功能都受到限制。新型的工业控制系统正以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统,它具有适应性强、开放性好、易于扩展、经济、
2、开发周期短等优点。通常可以把这样的系统划分为控制层、监控层、管理层三个层次结构。其中监控层对下连接控制层,对上连接管理层,它不但实现对现场的实时监测与控制,且在自动控制系统中完成上传下达、组态开发的重要作用。监控层的硬件以工业级的微型计算机和工作站为主,目前更趋向于工业微机;监控层的软件则是指组态软件。“组态 (Configuration)”的含义是使用软件工具对计算机及软件的各种资源进行配置,达到让计算机或软件按照预先设置自动执行特定任务、满足使用者要求的目的。组态软件是指一些数据采集与过程控制的专用软件,它是在工控系统监控层一级的软件平台和开发环境,是面向监控与数据采集的软件平台工具,具有
3、丰富的设置项目,使用方式灵活,功能强大。组态软件能以灵活多样的组态方式(而不是编程方式)提供良好的用户开发界面和简捷的使用方法,其预置的各种软件模块可以非常容易地实现和完成监控层的各项功能,并能同时支持各种硬件厂家的计算机和工/0设备,与高可靠的工控计算机和网络系统结合,可向控制层和管理层提供软、硬件的全部接口,进行系统集成。组态软件有着工业产品和软件产品的共同特点,其最突出的特点是实时多任务。例如,数据采集与输出、数据处理与算法实现、图形显示及人机对话、实时数据的存储、检索管理、实时通讯等多个任务要在同一台计算机上同时运行。组态软件的主要目的,是使使用者在生成适合自己需要的应用系统时,不需要
4、修改软件程序的源代码。下面是组态软件主要解决的问题:(1) 如何与采集、控制设备间进行数据交换;(2) 使来自设备的数据与计算机图形画面的各元素关联起来;(3) 处理数据报警及系统报警;(4) 存储历史数据并支持历史数据的查询;(5) 各类报表的生成和打印输出;(6) 为使用者提供灵活多变的组态工具,可适应不同应用领域要求;(7) 最终生成的应用系统运行稳定可靠;(8) 具有与第三方程序的接口,方便数据共享。自动化工程设计人员在组态软件中只需填写一些事先设计的表格,再利用图形功能把被控对象(如反应罐、温度计、锅炉、趋势曲线、报表等)形象地画出来,通过内部数据链接把被控对象的属性与I/O设备的实
5、时数据进行逻辑连接。当由组态软件生成的应用系统投入运行后,与被控对象相连的I/O设备数据发生变化后会直接带动被控对象的属性发生变化。若要对应用系统进行修改,也十分方便,这就是组态软件的方便性。从以上可以看出,组态软件具有实时多任务、接口开放、使用灵活、功能多样、运行可靠的特点。一般来说,工业过程控制系统的组态有如下一些内容:(1)控制组态控制组态是最重要的。控制组态又分为过程控制组态和顺序控制组态。过程控制组态主要针对连续量。当然,为了构成一个完整的过程控制系统,加入开关量以进行报警等事件处理也是必要的。顺序控制则主要是针对开关量的控制。在过程控制中,算法库是很重要的一部分,在建立控制算法库时
6、,将控制软件的算法和参数分离,并将各控制算法功能块固化在EPROM中,在进行组态时生成一个文件,该文件与各个算法相对应,并且含有该控制算法执行所必须的参数,这个文件被装到现场控制站的RAM内存中,因此更改容易,这样,我们就可以将控制算法模块编成标准形式,并且可以应用于很多应用系统中。在现场控制站中,诸多控制算法模块通常以一个库文件的形式因化在EPROM中,每个算法的入口和入口参数是己知的,这样,在执行时,CPU只是顺序地根据下装到RAM中的文件而依次调用各个子程序,返回参数。根据文件中的内容写回实时数据库中或输出。可见,过程控制组态是利用某种方法将适当的控制算法模块连接起来完成特定的控制功能。
7、过程控制组态一般在现场站进行。现场站的软件系统是整个组态软件中极其重要的一部分,一般现场站软件采用模块化结构设计,分为执行代码部分和数据部分,执行代码固化在EPROM中,而数据则保留在RAM中,开机时由网络装入。现场控制站的执行代码分为两部分:周期性执行部分和随机执行部分。周期性执行部分有:周期性数据采集、转换处理、越限检查、控制算法的周期性运算、周期性的网络数据通信以及周期性系统状态检测等等,一般由硬件时钟实时激活;随机执行部分主要是一些实时功能如信号故障处理、事件顺序信号处理、实时网络数据的接受等随机信号,一般由硬件中断激活.执行代码部分的各个功能模块大致可以分为输入输出处理模块、控制回路
8、运算模块等。输入信号的处理分为开关量输入处理,模拟量输入处理和脉冲量输入处理。开关量的输入主要用于进行报警检测,这在控制回路的构成中是必不可少的一环,它由开关状态决定。模拟量的输入处理则要复杂些,一般要经过尖峰信号抑制和数字滤波之后才可以送入实时数据库,同时,还要进行输入转换处理,将信号转换成工程单位所对应的物理量。模拟量的输出处理是对信号进行二进制编码,然后送入D/A转换通道即可,开关量的输出则相对简单,取出该位的值与其他各输出位一同输出即可。此外现场控制站还可能有脉冲量输入处理模块等。控制回路运算模块是形成控制规律的核心部分,目前的组态软件中大多包含如下的基本功能模块:加减乘除开方算法模块
9、、PID调节模块、选择控制模块等,其中PID为最常用且为广大工程人员掌握的控制算法之一,几乎所有的组态软件都包含各种类型的PID算法,如理想PID调节器、积分分离式PID调节器、不完全微分PID调节器、带死区的PID调节器等。从而可以满足不同的生产应用的需要。当然,控制算法中还有许多更高级一些的控制算法,如超前滞后补偿算法、SMITH算法、以及目前己开始应用的自适应控制算法、模糊控制算法等等。然而,仅有这些控制算法是不够完成一个实际系统的控制功能的,还要很多附加的功能才能保证系统的高可靠性和安全性,这些附加功能包括:控制死区和限幅提供PID算法的死区值和对输出进行限幅;控制方式的选择:有自动方
10、式、手动方式和串级方式等几种方式;控制算法跟踪,无扰切换,这个功能的加入是由于在工业现场控制中,很多工业过程需要复杂的控制策略才能达到最佳的效果,因此需手动到自动,自动到手动等切换。此外,在复杂控制系统中,串级控制的加入和切除也经常发生。在不同的控制方式进行切换时,一般不希望有较大的控制输出扰动,所以需要加入控制算法跟踪来实现控制方式之间的无扰切换,保证整个控制系统的可靠性和安全性。顺序控制的组态与过程控制的组态类似,在上位机进行组态,生成一个下装的目标文件,该目标文件下装到现场站,由现场站去执行。而在现场站中则固化了顺序控制的若千基本单元,如与或非逻辑运算、定时器和计数器、移位寄存器,从而构
11、成一个控制系统。(2) 数据库生成、趋势显示和报表技术在组态软件的构成中,数据的记录和分析也是重要的部分,因此数据库也占有很重要的地位,它分为实时数据库系统和历史数据库系统。实时数据库系统可将数据通过网络下装到现场控制站,也可将现场控制站的数据变为标准格式,通过网络传送给上位机。通过调用或检查实时数据库的信息,可及时地对系统发生的各种问题作出相应反应,历史数据库系统是将一段时间内的数据存储起来,进行趋势变化分析,同时也可以将一段时间内的重要数据组织起来,汇成表格以便于管理人员进行各种高层次的分析。(3) 显示部分显示部分是控制系统必不可少的功能之一。工业流程图画面可以使操作人员不必时刻在排列的
12、仪表盘上检查各仪表的数据或巡视整个过程的运行情况,只需轻松地坐在CRT显示终端前即可观察整个过程的工作情况。同时,还具有支持各种趋势曲线,历史曲线,棒图等功能。目前国内比较流行的国产工业自动化通用组态软件是组态王(KingView)。组态王配有加密锁,支持工程加密;驱动程序较为丰富,如支持DDE、板卡、OPC服务器、PLC、智能仪表、智能模块等;支持ActiveX控件、配方管理、数据库访问、网络功能、冗余功能;其扩展性强,可与管理计算机或控制计算机联网通信。作为人机接口的智能软件包,组态王是一种流行的PC机上建立工控的对象,它以Windows98/WindowsNT4.0中文操作系统为平台,具
13、有Windows的图形功能完备、界面一致性好和易学易用等特点;它为用户提供了从设备驱动、数据采集到数据处理、流程控制、动画显示、报表输出等组态工作的操作平台;它具有多任务、多线程功能,其系统框架采用VC+编程,提供丰富的设备驱动构件及丰富的图库元件。利用组态王软件可以大大减少工控软件的开发重复性和单一性,并可利用PC机丰富的软件资源,与组态王融合进行二次开发,达到扩展功能、提高智能化程度和提高参数精度的目的。1.2 组态软件数据交换技术与以往用计算机语言开发软件相比,组态软件具有成功率高,可靠性强,开发周期短,便于更改、扩充、升级等优点。但组态软件并非面面俱全,从对组态软件的使用和研究情况看,
14、这些问题主要表现在以下几个方面:(1) 在组态软件没有提供外部设备驱动程序时,它将无法实现和外部设备的通讯,这给用户在开发使用上造成了很大的不便。(2) 在数据库处理上,组态软件虽然提供了与各种数据库连接的有关数据库操作函数,但不能提供直接对多个表的操作或多个字段的操作。不能提供关系数据库所要求的直接数据库表格。(3) 在报表统计处理功能上,组态王虽然提供了这方面的功能,但报表的格式不能满足不同的需要,而且不能完成较为复杂的数据计算与处理。这就需要使用其它软件来进行数据库扩充或控制算法模块的调用。目前这方面的研究主要是基于以下几种技术:(1) DDE 标准DDE (Dynamic Data E
15、xchange)是在Windows平台下两个应用程序之间实时交换数据的有效方法,是基于消息的并且利用通常的Windows中的通信联络系统进行内部进程间的相互通信的方法。它采用客户/服务器模式,使用共享内存来实现进程之间的数据交换以及使用DDE协议获得传递数据的同步。DDE协议是不同应用程序之间共享数据的一个协议。(2) OPC 标准OPC (OLE for Process Control)定义了一个开放的接口,在这个接口上基于PC的软件组件能交换数据。这个标准是基于微软的OLE(现在称为ActiveX),COM, DCOM技术,由一系列用于过程控制和制造业自动化应用领域的标准接口、属性及方法组
16、成。由于得到了微软的NT技术的支持,OPC为多种多样的过程控制设备提供了公共的接口,为过程控制和工厂自动化提供真正的即插即用软件技术,使得过程控制和工厂自动化的每一系统、每一设备、每一驱动器能够自由地连接和通信,而与过程中的控制软件或设备无关。(3) ODBC 标准ODBC (Open Database Connectivity),即开放的数据库互连,是Microsoft建议并开发的数据库访问API标准,目的是实现异构数据库的互联,为异种数据库系统提供一个框架,实现了最大限度上的互操作性。ODBC标准规定了开放数据库互联的所有标准。支持ODBC标准的数据库产品都提供基于自己DBMS (Data
17、 Base Management System)的ODBC接口程序,如Access ,FoxPro, SQL server, Sybase, Oracle等均支持ODBC,支持ODBC标准的应用程序透过DBMS的ODBC接口程序,可以直接访问DBMS中的数据项,进行读写操作。第2章 MATLAB与组态软件的通信工业过程自动控制水平的提高,要求采用比传统PID更先进的高级控制功能,而这些高级控制功能是通用组态软件难以实现的。所以在针对控制要求较高的对象时需要开发新的监控软件以扩展原有系统的功能。组态王提供了友好的人机交互界面,强大的通讯功能,但是它的计算能力不强,难以实现复杂的控制策略。MATL
18、AB以矩阵和向量为基本数据单位,提供了强大的科学运算、灵活的程序设计流程、便捷的与其他程序接口,高效率的复杂算法等,并且它还提供大量的标准算法库,如系统辨识、神经网络、小波分析、数字信号处理等。但MATLAB本身也存在一些不足,如人机界面设计不方便、没有提供与计算机硬件的接口、无法进行端口操作,并且MATLAB一直被定位在科学计算、数学建模与仿真上,不能实现实时监控,始终未能应用于实际的控制系统中。如果使用组态王作为系统主控,进行实时数据采样、动态工艺图显示、数据汇总等工作,同时MATLAB作为后台应用程序进行控制算法的处理,这将有利于发挥组态王和MATLAB各自的优势,实现复杂系统的控制,在
19、实际的工程中必将达到较好的控制效果。这种混合编程技术中,最关键的是组态王和MATLAB之间的实时数据通讯。组态王和MATLAB数据通讯的方式主要有动态数据交换技术(DDE)和OPC、ODBC技术,本课题采用实时性较强的DDE通讯技术来实现两者之间的通讯。2.1 DDE概述DDE (Dynamic Data Exchange,动态数据交换)是Windows环境提供的一种基于消息的进程Ml通信(Inter Process Communication, IPC)的方法,它采用客户/服务器模式。进程间通讯包括进程之间和同步事件之间的数据传递。DOE使用共享内存来实现进程之间的数据交换以及使用DDE协议
20、获得传递数据的同步。DOE协议是一组所有的DOE应用程序都必须遵循的规则集。DDE协议可以应用于两类DDE应用程序:第一类是基于消息的DDE,第二类是动态数据交换管理库(DDEML)应用程序(使用动态连接库(DLL)。DDE应用程序可以分为4种类型:客户、服务器、客户/服务器和监视器。DDE会话发生在客户应用程序和服务器应用程序之间。客户应用程序从服务器应用程序请求数据或服务;服务器应用程序响应客户应用程序的数据或服务请求;客户/服务器应用程序既是客户应用程序又是服务器应用程序,它既可发出请求又可提供信息;监视器应用程序用于调试目的。DDE应用程序可拥有多重进发会话。DDE协议规定会话中的消息
21、必须同步控制,但应用程序可以在不同的会话之间异步切换。DDE应用程序采用3层识别系统:应用程序名(pplication)、主题(Topic)和项目名(Item)。应用程序名位于层次结构的顶层,用于指出特定的DDE服务器应用程序名。主题名更深刻地定义了服务器应用程序会话的主题内容,服务器应用程序可支持一个或多个主题名。项目名更进一步确定了会话的详细内容,每个主题名可拥有一个或多个项目名。DDE工作原理见图2-1。DDE客户DDE服务器图2-1 DDE工作原理与结构建立DDE会话后,客户应用程序和服务器应用程序可通过3种链接方式进行数据交换。3种链接方式为:冷链接(Cold Link)、温链接(W
22、arm Link)和热链接(Hot Link)。冷链接客户应用程序申请数据,服务器应用程序立刻给客户应用程序发送数据,服务器应用程序处于主动地位;温链接服务器应用程序通知客户应用程序数据项发生了变化,但并没有将已变化的值发送给用户应用程序;热链接当数据项发生变化时,服务器应用程序立即把变化后的值发送给客户应用程序,服务器应用程序处于主动地位。2.2 MATLAB 的DDE功能MATLAB作为客户应用程序时,支持文本格式的数据传送,可以使用MATLAB中的DDE 客户端模块所提供的函数与服务器进行数据通信 。MATLAB提供了7个客户函数, 它们分别是DDEinit函数建立MATLAB 和服务器
23、对话,如果建立成功,则返回1个通道号,以后任何其他DDE 操作均通过此通道进行; DDEadv函数建立链接; DDEreq函数用于从服务器请求数据; DDEpoke函数则从MATLAB向DDE 服务器应用程序发送数据; DDEcxec函数用于向DDE 服务器应用程序发送执行命令; DDEunadv函数是释放链接; DDEterm函数用于终止DDE服务器应用程序与MATLAB 之间对话。MATLAB的DDE通信功能需要通过编写M文件完成,此外作为客户应用程序,MATLAB还必须定义服务器应用程序的3个标识符。2.3 组态王与MATLAB的通讯设计为便于理解,这里以某控制系统为例进行说明。在组态王
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 平台 PLC 实时 控制系统 分析
链接地址:https://www.31ppt.com/p-3981239.html