软plc概述(个人资料整理)_第1页
软plc概述(个人资料整理)_第2页
软plc概述(个人资料整理)_第3页
软plc概述(个人资料整理)_第4页
软plc概述(个人资料整理)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

“先进制造技术”课程PAGEPAGE11哈尔滨理工大学研究生考试试卷考试科目:先进制造技术阅卷人:专业:机械制造及其自动化姓名:丁文彬14201000012015年06月28日软件PLC控制技术开放式数控系统是当前数控技术研究的热点。在发展高速高效高精度及智能化等性能的同时,功能的发展也要求越来越强,具体体现在尽量用软件来实现数控的所有功能,使硬件规模达到最小化。以PC为硬件平台,用软件来实现PLC(ProgrammableLogicController)的功能成为开放式数控系统中PLC的发展趋势。本文描述了软PLC技术的组成结构和应用特点,并对其技术优势和技术发展的制约因素进行了分析,探讨了软PLC技术在工业领域的应用控制方案。软PLC编译程序和模拟运行程序运行效率较高,显示出了硬PLC不可比拟的优越性,非常适合应用于开放式数控系统中。1.软件PLC(SoftPLC)技术1.1软PLC技术的形成背景传统PLC可靠性高、抗干扰能力强、专用化和模块化,适用于恶劣的控制现场,在工业控制领域和其他行业(如家电行业)得到广泛应用。然而,在20世纪90年代后期,随着计算机技术的迅速发展和广泛应用,人们逐渐认识到,传统PLC(本文简称硬PLC)自身存在着这样那样的缺点:难以构建开放的硬件体系结构;工作人员必须经过较长时间的专业培训才能掌握某一种产品的编程方法;传统PLC的生产被几家厂商所垄断,造成PLC的性价比增长很缓慢。这些问题都成了制约传统PLC发展的因素。近年来,由于计算机技术的迅猛发展以及PLC方面的国际标准IEC61131-3的制定和实施,一项打破传统PLC局限性的新兴技术发展起来了,按照国际标准,充分利用工业控制计算机IPC或嵌入式计算机EPC的硬件和软件资源,全部用软件来实现传统PLC的功能,这就是软PLC技术。其特征是:在保留PLC功能的前提下,采用面向现场总线网络的体系结构,采用开放的通信接口,如以太网、高速串口等;采用各种相关的国际工业标准和一系列的事实上的标准;全部用软件来实现传统PLC的功能。1.2软PLC基本概念1.SoftPLCSoftPLC(也称软逻辑SoftLogic)是一种基于IPC(工业控制计算机)或EPC(嵌入式)的软逻辑控制软件,与传统PLC一样,主要用于工业控制领域中的开关逻辑控制、顺序控制、定时控制、计数控制、模拟量控制、闭环过程控制(PID控制)等。2.IPC和EPCIPC和EPC除了具有通用的特点外,还分别具有以下特点:(1)IPC(工业控制计算机、IndustnalPC):稳定性强、可靠性高、抗干扰能力强实时性好。(2)EPC(嵌入式计算机、EmbeddedPC):集成度高、体积小、反应速度快、智能化、稳定性强、可靠性高、抗干扰能力强、实时性好。与通用PC相比,IPC和EPC非常适用于在环境恶劣的工业控制现场工作。3.嵌入式系统及嵌入式软件嵌入式系统通常由EPC或嵌入式控制器(也称智能控制器)和嵌入式软件组成,嵌入式软件又分为嵌入式操作系统和嵌入式应用程序,嵌入式操作系统的特点是程序短小、所需内存少,Microsoft公司推出的WindowsCE就是一个嵌入式操作系统,而SoftPLC可以作为一个嵌入式应用程序运行在嵌入式系统中。4.IEC1131和IEC1131-3(1)IEC1131是工业自动化控制领域中的最新国际标准,由IEC(国际电工委员会)于1994年5月颁布实施,它有世界范围的支持厂商,但独立于任何单一的公司,IEC1131国际标准包括五部分:①通用信息②设备与测试要求③编程语言④用户指南⑤通信(2)IEC1131-3是IEC1131国际标准的第三部分,也是工业控制编程唯一的国际标准,此编程标准包括五种编程语言:顺序功能图(SFC)语言、功能块图(FBD)、梯形图(LD)、指令表(IL)及结构文本(ST)。同时,此标准还允许在同一个程序中使用多种编程语言进行混合编程,从而可使编程者能选择不同的语言来适应特殊的工作。2.系统结构和应用特点2.1系统结构软PLC基于PC机,建立在一定操作系统平台之上,通过软件方法实现传统PLC的计算、控制、存储以及编程等功能,通过I/O模块以及现场总线等物理设备完成现场数据的采集以及信号的输出。根据传统PLC的组成结构,软PLC系统由开发系统和运行系统两部分组成。也可分为编辑环境和运行环境两部分。编辑环境与运行环境是客户/服务器模式,二者之间采用COM/DCOM通信机制,运行环境作为COM服务器,提供标准的通信接口;编辑环境作为COM客户端应用,本地或远程访问存取这些接口,进行下载代码、读取运行环境的运行信息等操作。根据IEC61131-3标准,软PLC系统的整体框图如图1所示。图1软PLC系统整体框图嵌入式系统通常由EPC或嵌入式控制器(也称智能控制器)和嵌入式软件组成,嵌入式软件又分为嵌入式操作系统和嵌入式应用程序,嵌入式操作系统的特点是程序短小、所需内存少,Microsoft公司推出的WindowsCE就是一个嵌入式操作系统,而软PLC可以作为一个嵌入式应用程序运行在嵌入式系统中。2.2软PLC技术应用控制方案SoftPLC运行系统除了单独运行外,还可以通过RS232,RS485,TCP/IP,DLL与HMI(或MMI)软件通讯构成监控和数据采集系统SCADA。SoftPLC控制功能的实现要与相应的I/O模块或现场总线配合,而且将SoftPLC开发系统设计的应用程序下载到SoftPLC运行系统中被执行才能完成相应的控制。这些I/O模块和现场总线负责现场输入信号的采集以及信号的输出,而SoftPLC则完成对输入信号的处理、控制程序的执行、信号的输出处理。控制原理如图2所示:图2SoftPLC控制原理示意图根据软PLC运行的硬件平台的不同,其控制功能的实现方案有以下3种:1)基于IPC或EPC的控制方案。在这种控制应用方案中,系统的软件平台可以采用WindowsNT,WindowsCE等,通用IO板卡和IO接线端子板(或现场总线卡、现场总线以及远程I/O模块)负责与工业控制现场打交道。采集上来的输入信号被软PLC运行系统处理,软PLC开发系编写的控制应用程序也被软PLC运行系统解释执行,最后将处理后的信号输出到本地(或远程)控制现场完成相应的本地控制(或远程控制)功能。图3基于IPC或EPC的控制方案2)基于嵌入式控制器或智能控制器的控制方案。嵌入式控制器是一个超小型计算机系统,一般没有显示器,其软件平台是嵌入式操作系统(如WindowsCE)。在这种控制方案中,软PLC运行系统可以作为一个固件被安装到嵌入式控制器中,开发系统编写的应用程序通过RS232或TCP/IP协议下载到此控制器中,因此整个系统就如同一个黑盒子运行并完成指定的控制功能。图4基于嵌入式控制器的控制方案3)基于传统PLC的控制方案。在这种方案中,传统PLC将只作为一个硬件系统平台,将软PLC运行系统安装到此传统PLC硬件中,然后将开发系统编写的PLC应用程序下载到此硬件系统并运行,即可实现PLC的控制功能。图5基于传统PLC的控制方案2.3技术实现以西门子公司开发的软件PLC产品为例说明它的构成方式。第一种,在PC机上安装专用程序,使PC机用作为可编程控制器。该PC机上的操作系统是基于实时功能的,如:WindowsNT或WindowsCE或Linux等,在西门子开发的应用软件Pro-Tool/Pro的支持下,实现控制和监视,在编程软件STEP7支持下,提供用户编程环境。该PC机上还集成了现场总线Profibus-DP的通信协议及Profibus-DP接口,用以实现与分布式I/O及其它现场设备的连接。第二种,将软PLC做成一块插板,安装在PC机的PCI总线插槽上。该PLC是可以独立工作的微机系统,与PC机无关,如有需要甚至可以用自身独立提供的电源。PC机可以容纳数个插槽式的PLC,并把它们当作集成模块,在操作系统支持下既独立又协调地工作。这种软PLC对操作系统、控制软件和编程软件的要求与第一种相同。在PC机的平台上,实现编程、运行、操作、监控数据存储及状态显示功能。当对实时控制的要求较低时,一般使用第一种结构,专用软件就直接安装在WindowsNT中,也可用带实时扩展子系统的软件,提高实时控制性能。如果对控制器的可靠性和控制性能要求较高,可选择插槽式PLC,因为它拥有自己的操作系统,有可靠的数据存储和准确的重新启动功能。图6软PLC在开放式数控系统中的架构2.4应用特点应用特点为:①体现了IPC,PLC和DOC先进技术的集成。可充分利用PC平台上的硬件和软件资源,使控制系统更具特色;②系统更开放,应用更方便。软件PLC通过自己开发工具提供的OPC功能和Active控件,既可连接Office软件,也可连接用VB,VC开发的软件;③基于PC+现场总线+分布式I/O的控制系统简化了复杂控制系统的体系结构,提高了通信效率和速度,降低了投资成本。2.5软PLC产品目前,在欧美等西方国家都把软PLC作为一个重点投资对象进行研究开发,已投入市场的软PLC产品较多,据了解,在美国底特律汽车城,大多数汽车装配自动生产线、热处理工艺生产线等都已由传统PLC控制改为软PLC控制,而国内能见到的软PLC产品的演示版或正式发行版有德国KW-software公司的MULTIPROGwt32、法国CJIntemational公司的ISaGRAF、法国SchneiderAutomation公司的ConceptV2.1以及WondeWare公司的InControl7.0等。目前国内已有一些著名的自动化软件公司(如北京亚控自动化软件科技有限公司)正在研究开发具有自主版权的中文软PLC产品,另外也有一些自动化工程公司开始代理销售和推广应用这些商用化的软PLC产品。(1)kw公司的MULTIPROGwt32产品特点:完全符合IEC1131-3国际标准,开发环境集成化,类似VC++6.0的开发界面,支持五种编程语言(包括两种文本语言ST,IL和三种图形语言LD,FBD,SFC),其中LD,FBD,SFC三种图形编程非常方便直观,仿真程序比较完善,但不支持五种编程语言之间的相互转换。(2)CJ公司的ISaGRAF产品特点:通过变量交叉表可查询变量的使用情况,可以方便加入用任何标准PLC语言编写的功能块,也可嵌入用C语言编写的功能块,可以编译生成适用于不同CPU的代码,仿真程序比较完善,源程序在仿真运行时可以进行监控,可以运行在任何一种工业计算机、微处理器、或配有I/O模块的PLC中,但不完全符合IEC1131-3国际标准,开发环境为非集成化的多窗口界面。(3)Wonderware公司的InControl7.0产品特点:与人机界面软件HMI具有良好的接口,支持LD,SFC,ST三种编程语言,开发环境集成化,编程简单,每个程序以文件形式进行管理。3.软PLC开发系统软PLC开发系统实际上就是带有调试和编译功能的PLC编程器,此部分具备如下功能:①编程语言标准化,遵循IEC61131-3标准,支持多语言编程(共有5种编程方式:IL,ST,LD,FBD和SFC),编程语言之间可以相互转换;②丰富的控制模块,支持多种PID算法(如常规PID控制算法、自适应PID控制算法、模糊PID控制算法、智能PID控制算法等等),还包括目前流行的一些控制算法,如神经网络控制;③开放的控制算法接口,支持用户嵌入自己的控制算法模块;④仿真运行,实时在线监控,在线修改程序和编译;⑤强大的网络功能。支持基于TCP/IP网络,通过网络实现PLC远程监控,远程程序修改。3.1软件构成及功能该软件采用C++作为开发语言,在开发设计过程中采用了面向对象的方法,以提高软件的可重用性。C++是微软开发的一门面向对象的程序开发语言,它具有面向对象语言的特性:封装、继承、重载和虚函数,程序的可移植性好,易于维护。而且C++语言的编译和执行效率都很高,所以用它编写的程序的性能比较好。此外,利用MFC技术,C++在图形编程方面也有比较强大的功能。该系统主要由PLC语言编辑编译模块和软件仿真模块组成。PLC语言编辑编译模块主要完成PLC程序的输入、显示和编译;软件仿真模块主要对PLC程序的逻辑结果进行模拟。该软件主要有以下几方面的功能:(1)梯形图的编辑:能够实现梯形图元素的输入、编辑(复制、粘贴和剪切)、存储和显示,如输入元素,输出元素。(2)指令表的编辑:能够实现语句和指令的输入、编辑、存储和显示。(3)梯形图向指令表的转换。(4)语法检查功能:主要是对程序的语法错误进行检查。对于梯形图而言,主要是检查梯形图的符号输入是否符合编程规则。对于指令表,则主要检查是否有指令和元素名称输入错误。(5)编译并解释PLC程序:扫描PLC程序,分析程序的逻辑关系,根据各个元素的预设状态,得出最终逻辑结果。(6)程序仿真:采用图形表达方式,对程序逻辑进行模拟。3.2PLC语言编辑模块该语言编辑模块由梯形图编辑模块和指令表编辑模块两部分组成。1.梯形图编辑模块组成梯形图的元素分为输入元素、输出元素、定时器、计数器、功能元素和连接元素。根据需要这里只选取输入元素、输出元素、功能元素和连接元素。其他元素可以在今后进行扩充完善。(1)数据结构的设计整个梯形图编辑模块采用行存储结构,每行为一个链结,整个梯形图用双向链表的数据结构来表示。梯形图是由若干行组成,每行又由若干个元素组成,梯形图的每一行也可以用双向链表来表示。选用双向链表的主要原因有两个:①梯形图的编辑过程是动态的,选用链表便于表达。在编辑过程中,梯形图的行数、每行的元素个数、类别都是未知的,整个编辑过程是一种动态存储过程。链表的存储结构便于表达这种动态存储过程。②针对梯形图的结构特点,选用链表易于操作。链表的操作是由指针来完成的,对于梯形图编辑过程中的复制、剪切、粘贴、删除、查找等功能都可以由指针操作方便地完成。根据梯形图的特点,设计三个类:梯形图元素类(CSoftPLCEIe类)、梯形图类(CSoftPLC类)和梯形图文档类(CSoftPLCDoc类)。类的主要代码如下:classCSoftPLCEle:publicCObjcct //梯形图元素类{public:CSoftPLCEIe(intnRow,intnCol,intnIDbitmap,CStringsLabcl);//构造函数 voidDrawBitmap(CDC*pDC);//绘制函数……protected: intm_nIDbitmap;//梯形图位图ID CStringstrLabcl;//梯形图的标号 intm_nRwv;//元素所在行 intm_nCol;//元素所在列……};classSoftPLC:publicCObject //梯形图类{ public: CSoftPLC(intnRowNum); //构造函数 CTypcdPtrList<CObList,CSoftPLCEIe*>m_plcEleList;//元素链表 voidDrawRowBitmap(CDC*pDC);//绘制函数 voidRemovePreSoftPLCEIe(intnCol);//删除函数 voidInsertSoftPLCEIe(intnCol,CSoftPLCEIe*pNewSoftPLCEIe);//插入函数 CSoftPLCEIe*FindSoftPLCEIe(intnCol);//查找函数……protected: CSoftPLC();//默认构造函数intm_nRowNum;//行号……};classCSoftPLCDoc:publicCDocumcnt//梯形图文档类{protected: CSoftPLCDoc();//默认构造函数 intm_nRowNum;//梯形图行数……public: CTypedPtrList<CObList,CSoftPLC*>m_plcList;//行双向链表CSoftPLC*NewSoftPLC(intnRow);//生成一个新的行voidRemovePreSoftPLC(intnRow);//删除行函数voidInsertSoftPLC(intnRow,CSoftPLC*pNewSoftPLC);//插入行函数……};(2)梯形图编辑模块的实现根据梯形图编辑的特点,选用支持屏幕滚动和多窗口操作的CScrollView类作为梯形图编辑器视窗的基类。为了编辑方便和界面整洁,将视分成一定间隔的行和列以形成大小相等排列整齐的方形输入区。通过对梯形图符号的分析,将其归纳为几种符号的基本图库,在屏幕上方做一个工具栏供用户选择。每一种梯形图元素图的大小与方形输入区的大小相等。编辑梯形图程序时,可以用鼠标直接选用工具栏中所需图素,将其放入视图中的某个位置。图7软PLC梯形图编辑界面2.指令表编辑模块在设计指令表编辑模块时,选用微软基本类库中的CEditView类作为基类。CEditView是一个具有文字编辑功能的类,它所使用的窗口是Windows的标准控件之一Edit,其SerializeRaw成员函数可以把Edit控件中的数据写到文件中。另一方面,由于该类是从CView类派生而来,支持多窗口操作并有文件预览功能。因此,指令表文件可以非常方便地在编辑视窗中进行编辑。图8软PLC指令表编辑界面3.3PLC语言编译技术PLC编译模块由梯形图语法检查模块、梯形图程序逻辑检查模块和指令表程序语法检查模块组成。梯形图程序语法检查模块检查用户PLC图形程序有无指令标记重复、指令地址越界等语法错误;梯形图程序逻辑检查模块检查PLC图形程序有无逻辑错误,如指令位置不正确、梯级中缺少输出指令等;语言程序语法检查模块检查用户语句程序有无拼写、指令格式、指令地址越界等语法错误。梯形图编译时以梯级为单位,梯级是相互影响的行组成的最小单元。编译时采用深度优先的扫描方法,按照从上到下从左到右的顺序进行,即在扫描过程中,遇到并联结点就转入下一行进行扫描,行与行之间的切换由指针的变换来实现,原先位置的指针被预先存储起来,待并联模块扫描完后,再从原来的位置开始往下扫描。梯级和扫描顺序见图。图9梯级和扫描顺序图在梯形图程序编译时,先将梯形图转换成指令表,然后通过对指令表的解释得出程序的逻辑。这样做是因为指令表更加接近机器语言,比较容易解释。在解释PLC程序时要注意几个规则:(1)解释程序按梯级来解释PLC程序;(2)每个梯级由若干个分支块组成,程序将按照顺序对其逐一进行解释;(3)解释过程中,构造两个变量,一个用于存储分支块的逻辑值,另一个用于存储分支块前面语句的逻辑值;(4)解释完一个分支块,将两个逻辑值做一次运算,按这样循环,直至解释完一个梯级,最后将运算后的逻辑值输出。按照以上规则,在解释过程中,构造一个堆栈来存储解释过程中的结果,这个分支块前面的值保存在堆栈中,整个分支块的逻辑值保存在一个临时变量中。下面举例说明几个常用指令的解释过程。(1)当解释程序发现LD或LDI指令时,将临时变量的值压入堆栈,临时变量赋值为1,临时变量与指令后面的元素进行“与”操作,将结果保存在临时变量中。(2)当解释程序发现AND指令时,临时变量与指令后的元素进行“与”操作,将结果保存到临时变量中。(3)当解释程序发现OR指令时,临时变量与指令后的元素进行“或”操作,将结果保存到临时变量中。(4)当解释程序发现ANB指令时,临时变量与栈顶的值进行“与”操作,将结果保存到临时变量中,同时堆栈将栈顶元素弹出。(5)当解释程序发现ORB指令时,临时变量与栈顶的值进行“或”操作,将结果保存到临时变量中,同时堆栈将栈顶元素弹出。(6)当解释程序发现OUT指令时,将临时变量与栈顶的值进行“与”操作,将结果保存在临时变量中,同时清空堆栈。3.4PLC仿真模块PLC仿真模块主要是对PLC程序的逻辑进行模拟。程序在编译的过程中,程序中所包含的元素会被提取出来按类别进行存储,以供PLC仿真程序调用。PLC仿真模块采用图形化界面,程序中所包含的PLC元素会按类别以表格形式列出,元素的不同颜色表示元素的开关状态。当用鼠标改变输入元素的状态时,输出元素的状态会按照程序逻辑进行改变,改变的结果可由颜色的变化来显示。图10软PLC仿真界面4.软PLC运行系统这一部分是软PLC的核心,完成输入处理、程序执行、输出处理等工作。通常由I/O接口、通信接口,系统管理器、错误管理器、调试内核和编译器组成:①I/O接口,可与任何I/O系统通信,包括本地I/O系统和远程I/O系统,远程I/O主要通过现场总线InterBus,ProfiBus,CAN等实现;②通信接口。通过此接口使运行系统可以和开发系统或HMI(或MMI)软件按照各种协议进行通信,如下载PLC程序或进行数据交换;③系统管理器,处理不同任务和协调程序的执行,而且从I/O映像读写变量;④错误管理器,检测和处理程序执行期间发生的各种错误;⑤调试内核,提供多个调试函数,如重写、强制变量、设置断点、设置变量和地址状态;⑥编译器,通常开发系统将编写的PLC源程序编译为中间代码,然后运行系统的编译器将中间代码翻译为与硬件平台相关的机器可执行代码(即目标码)。5技术优势及其发展的制约因素5.1技术优势软PLC解决了传统PLC的兼容性差、通用性差等问题,具有多方面的优势。1)软PLC的硬件体系结构不再封闭,用户可以自己选择合适的硬件组成满足要求的软PLC。2)传统PLC的指令集是固定的,而实际工业应用中可能需要定义算法。软PLC指令集可以更加丰富,用户可以使用符合标准的操作指令。3)PC机厂家的激烈竞争使得基于PC机的软PLC的性价比得以提高。4)传统PLC限制在几家厂商生产,具有私有性,因此

温馨提示

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

评论

0/150

提交评论