![plc机械手控制系统_第1页](http://file4.renrendoc.com/view11/M00/0C/39/wKhkGWXgGUWAFAwdAAJ-_iG__GA274.jpg)
![plc机械手控制系统_第2页](http://file4.renrendoc.com/view11/M00/0C/39/wKhkGWXgGUWAFAwdAAJ-_iG__GA2742.jpg)
![plc机械手控制系统_第3页](http://file4.renrendoc.com/view11/M00/0C/39/wKhkGWXgGUWAFAwdAAJ-_iG__GA2743.jpg)
![plc机械手控制系统_第4页](http://file4.renrendoc.com/view11/M00/0C/39/wKhkGWXgGUWAFAwdAAJ-_iG__GA2744.jpg)
![plc机械手控制系统_第5页](http://file4.renrendoc.com/view11/M00/0C/39/wKhkGWXgGUWAFAwdAAJ-_iG__GA2745.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEI摘要本论文论述了一种应用PLC来实现的机械手控制系统。应用西门子S7-200CPU226PLC对该控制系统进行设计,应用STEP7-Micro/WIN软件编写控制系统的控制程序。控制程序分为五部分,分别为主程序、公共程序、手动程序、自动程序和回原点程序。主程序主要用来调用后面几个子程序;公共程序主要用于自动程序和手动程序相互切换的处理;手动程序主要用于手动控制机械手的运行;自动程序主要用于切换步进、单周期和连续的运行状态来控制机械手的运行;所编的程序通过仿真软件验证是正确的,实现了机械手控制要求,并且应用MCGS组态软件设计该控制系统的人机界面。人机界面直观的展示了机械手工作的全部过程。关键词:机械手;PLC;MCGSAbstractThepaperdiscussesanapplicationofPLCtorealizerobotmanipulatorcontrolsystem.ApplicationoftheSiemensS7-200CPU226PLCcontrolsystemdesign,applicationSTEP7-Micro/WINsoftwaredevelopmentcontrolsystemcontrolprogram.Controlprogramisdividedintofiveparts,namelythemainprogram,publicprogram,manualprocedures,automatedproceduresandhomingprocedures.Mainprogramusedtocallbackseveralsubprograms;publicprocedureusedmainlyforautomaticprogramandmanualswitchingbetweenprograms;manualprocedureusedmainlyformanualcontrolrobotmanipulatoroperation;automaticprocedureusedmainlyforswitchingstep,singlecycleandcontinuousoperatingstatetocontroltheoperationoftherobotmanipulator;compiledbysimulationsoftwareverificationprogramiscorrect,toachievearobotmanipulatorcontrolrequirementsandapplicationMCGSconfigurationsoftwaredesignofthecontrolsystem,man-machineinterface.Machineinterfaceshowsthewholeprocessintuitiverobotmanipulatorwork.Keywords:Manipulator;PLC;MCGSPAGEIII目录13687第1章绪论 1265731.1机械手的发展 151571.2课题的背景和意义 168481.3国外研究现状 289521.4国内研究现状 214699第2章可编程控制器概述 479852.1PLC简介 438882.1.1PLC的起源概述与定义 4177102.1.2PLC的特点 449792.1.3PLC的主要功能 444392.2PLC的主要性能指标 5289982.3西门子S7-200系列PLC 6188352.3.1S7-200PLC简介 624452.3.2S7-200PLC主要功能模块介绍 67021第3章控制系统硬件设计 9110253.1控制要求及工作过程 9154353.2控制系统PLC选型 10226203.3系统I/O地址分配表 1093123.4限位开关选择 11290183.5系统电气控制接线图 11587第4章控制系统软件设计 1218044.1STEP7Micro/WIN编程软件简介 12134334.2程序流程图 1245664.3编写梯形图 13160654.3.1主程序梯形图 13182184.3.2公共程序梯形图 1396954.3.3手动程序梯形图 15290874.3.4自动程序梯形图 16101604.3.5回原点程序梯形图 201721第5章程序仿真 23159665.1仿真软件简介 23204535.2程序仿真过程 2335475.2.1手动程序仿真 23267545.2.2回原点程序仿真 2657345.2.3自动程序仿真 278417第6章MCGS组态软件介绍 3271416.1MCGS组态软件概述 3258036.1.1MCGS简介 32290156.1.2MCGS的通用版的主要特点和基本功能 3253876.1.3MCGS的编程语言 3242786.1.4MCGS的数据结构 3290996.1.5MCGS的作用 33273876.2工程的建立与变量的定义 3383336.2.1工程的建立 33310096.2.2变量的定义 34278376.2.3变量定义的步骤 3477646.2.4设备与变量连接 3658796.3工程画面的建立 37114596.3.1机械手模拟画面的制作 39134276.3.2运行策略的建立及脚本程序的编写 40106496.4动画连接 43120846.4.1垂直移动动画连接 4446546.4.2水平移动动画连接 44258696.4.3工件移动动画的实现 45131796.5组态运行 46957结论 4828231致谢 4913035参考文献 4921932附录A英文原文 5125356附录B中文翻译 5617132附录C程序梯形图 60PAGE45绪论机械手的发展机械手是当前自动控制领域中出现的一种较为新颖的技术,是近几十年发展起来的一种高科技自动化生产设备,是工业机器人的一个重要分支,是现代工业生产中能到用到的重要技术组成。从20世纪90年代初期起,在国家“863”计划支持下至今,机械人的迅速发展、研制和生产已成为高技术领域迅速发展起来的一门新兴的技术,它大大促进了机械手的发展,使得机械手能更好地实现与机械化和自动化的有机结合,并且在工业生产中得到了广泛的应用,取得了良好的效果。利用机械手技术进行工业生产,并且通过对PLC技术的准确掌控,也能够大大提高工业生产效率。机械手按驱动方式可分为液压式、气动式、电动式、机械式。就当前应用来看,机械手主要采用的是气动驱动或者液压的控制方式进行操作,这种方式具有很大的优越性,不仅结构简单,而且非常便于控制和掌握。它具有结构简单、重量轻、动作迅速、平稳、可靠、节能和不污染环境、容易实现无级调速、易实现过载保护、易实现复杂的动作等优点。所以,气动机械手被广泛应用于机械制造业、半导体及家电行业、化肥和化工,食品和药品的包装、精密仪器和军事工业等。1.2课题的背景和意义在现代工业中,生产过程的机械化、自动化已成为突出的主题。随着工业现代化的进一步发展,自动化已经成为现代企业中的重要支柱,无人车间、无人生产流水线等等,已经随处可见。同时,现代生产中,存在着各种各样的生产环境,如高温、放射性、有毒气体、有害气体场合以及水下作业等,这些恶劣的生产环境不利于人工进行操作。工业机械手是近代自动控制领域中出现的一项新的技术,是现代控制理论与工业生产自动化实践相结合的产物,并以成为现代机械制造生产系统中的一个重要组成部分。工业机械手是提高生产过程自动化、改善劳动条件、提高产品质量和生产效率的有效手段之一。尤其在高温、高压、粉尘、噪声以及带有放射性和污染的场合,应用得更为广泛。在我国,近几年来也有较快的发展,并取得一定的效果,受到机械工业和铁路工业部门的重视。本题采用S7-200PLC,对机械手的上下、左右以及抓取运动进行控制。该装置机械部分有滚珠丝杠、滑轨、机械抓手等;电气方面由交流电机、变频器、操作台等部件组成。我们利用可编程技术,结合相应的硬件装置,控制机械手完成各项活动。1.3国外研究现状美国最早是20世纪40年代后期,在原子能实验室中首先运用机械手来搬运放射性材料,人在安全间对机械手进行操控和实验,它的机体上安装一回转长臂,端部装有电磁铁的工件抓放机构,结构和功能都比较简单,但经过多年的研究和发展,目前在美国、欧洲、日本等工业发达国家已成为重要产业,已经发展到第三代机械手(机械人),现已逐步推广到工业生产等诸多领域。国外的机械手技术发展很快,目前主要用于机床、横锻压力机的上下料,以及点焊、喷漆等作业,可按照事先指定的作业程序来完成规定的操作。1.4国内研究现状我国从1974年也开始研制可编程序控制器,1977年开始工业应用。目前它已经大量地应用在楼宇自动化、家庭自动化、商业、公用事业、测试设备和农业等领域,并涌现出大批应用可编程序控制器的新型设备。掌握可编程序控制器的工作原理,具备设计、调试和维护可编程序控制器控制系统的能力,已经成为现代工业对电气技术人员和工科学生的基本要求。作为离散控制的首选产品,PLC在我国的应用已有30年的历史,PLC自20世纪70年代后期进入中国以来,应用增长十分迅速。PLC进入中国时最初是从成套设备引进应用,由于PLC价格昂贵,引进的PLC主要用于冶金、电力、自动化生产线等大的设备和系统。在引进国外PLC产品的过程中,我国也曾组织了相关单位消化、吸收PLC的关键技术,试图对PLC进行国产化。到80年代在上海、北京、西安、广州、长春等20多家科研单位、大专院校和工厂研制和生产PLC产品,但终因缺乏资金和后续研究力量、生产技术相对落后,都没有成功实现产业化,PLC产品运作是否成功不是由简单的一两种因素决定的。近10年来,越来越多的中小设备开始采用PLC进行控制。MCGS组态软件一共分成三款,分别是MCGS通用版,网络版和嵌入版。MCGS是北京昆仑通态公司众多开发人员用了12个月的时间开发出的一款国内先进的组态软件,MCGS无论是在操控界面的简单易懂程度、内部功能的强大性、系统的可扩充性、客户的使用情况以及概念设计上都有极大的提高,使MCGS成为国内组态软件中极其优秀的存在,可以使国产的组态软件走的更快更远。MCGS提供解决实际问题的完整方案和开发平台,能够完成采集数据、数据处理、安全报警、流程控制、动画显示、趋势曲线和报表输出以及监控等功能,并支持国内外众多数据采集与输出设备。可编程控制器概述2.1PLC简介2.1.1PLC的起源概述与定义可编程控制器(ProgrammableController,英文缩写为PC、后又称为PLC)是由上世纪60年代提出,首先是为了取代继电器控制装置。经过了半个世纪的发展,PLC的应用范围也变得更加的广泛。随着数字时代的到来,信息技术的飞速发展从而带动了各个行业的自动化进程、PLC起强大的开关量控制以及逻辑控制,使得自身在现代化行业中的作用变得尤为突出。PLC可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令。并通过数字式和模拟式的输入和输出,控制各种类型的机械或生产过程。PLC及其有关外部设备,都应按易于与工业系统连成一个整体,易于扩充其功能的原则设计。强调了PLC应直接应用与工业环境,它必须具有很强的抗干扰能力,强大的适应能力,和广阔的应用范围。2.1.2PLC的特点PLC可靠性高,控制系统稳定,同时在半世纪的发展和总结中,已经形成了完善的功能,具有很强的适应行。PLC的编程语言相较于其他编程语言更加简单,从而系统设计周期较短,维护也更加方便。PLC众多的功能模块,极大的丰富了PLC的控制领域,能够满足在不同情况下的控制要求。2.1.3PLC的主要功能1.开关逻辑控制这是PLC的最基本功能。PLC也是之所以具有强大的逻辑运算功能的原因,根据它,PLC可以实现各种或简单,或复杂的逻辑控制,所以PLC才能取代传统的继电器控制系统,普及于工业控制领域。2.模拟量控制在工业生产控制过程中,有多种连续变化的物理量,例如温度、压力、流量、液位和速度等。由于PLC中的CPU只能对数字量进行处理,所以A/D和D/A转换模块在PLC中被运用,将输入的模拟量通过A/D转换后送达PLC的CPU处理。而CPU处理的数字量结果,经D/A转换后,转换成模拟量去控制被控设备,以完成对连续量的控制。3.闭环控制过程PLC可以进行模拟量的开环控制,也可以进行模拟量的闭环控制。为了对控制过程中的某个变量进行PID控制,就要配置PID的控制单元或模块。4.定时控制由于PLC具备了定时功能,故为那些需要定时功能的用户提供了一些定时器,这些定时器既可以让用户在自己编写程序时设定,又可以通过开关在外部进行设定,用来实现定时、延时的功能。5.计数控制由于PLC具备了计时功能,故为那些需要计时功能的用户提供了一些计时器,这些计时器既可以让用户在自己编写程序时设定,又可以通过开关在外部进行设定,用来实现计数的功能。6.顺序(步进)控制采用PLC进行步进控制在工控中是比较常见的,可以采用语言——顺心功能图(SequentialFunctionChart,SFC)进行设计。在编写程序的时候,可以适当的使用移位寄存器和顺控指令编写程序。7.数据处理数字运算、数据传送、数据转换、数据显示、打印和数据通信等,都可以被具有了数据处理能力的现代PLC所运行。8.通信和联网 具有通讯功能的现代PLC不仅能进行远程的I/O控制,还能使PLC与PLC或与PC之间的通信,从而构成“集中与分散”的分布式控制系统,实现工厂自动化。PLC还可以与其他智能控制设备(如变频器、数控装置)实现通信。PLC与变频器组成联合控制系统,可提高控制交流电动机的自动化水平。2.2PLC的主要性能指标虽然PLC的产品型号众多,各具特色,但主要性能通常是由以下几种指标进行综合描述的:1.输入/输出点数(I/O点数)。I/O点数是PLC非常重要的一项指标,在选用PLC时,要根据控制对象的I/O点数要求确定机型。PLC的I/O点数主要包括主机的I/O点数和最大扩展点数。当主机的I/O点数不能满足控制要求时,可以外接I/O模块。通过总线电缆将主机与I/O扩展模块相连接,由主机进行寻址,因此I/O模块的最大扩展点数受到CPU的I/O寻址能力的限制。2.存储容量。内存容量决定所能存放的用户控制程序的最大量。在PLC中程序指令是按“步”存放的(一条指令往往不止一“步”),一“步”占一个地址单元,一个地址单元一般占2B(16位的CPU)。例如,一个内存容量为1000步的PLC,可推知其内存为2KB.应注意到“内存容量”实际是指用户程序容量,它不包括系统程序存储器的容量。程序容量与最大I/O点数大体成正比。3.扫描速度。扫描速度是衡量PLC执行程序快慢的指标。扫描速度常用执行1000步指令所需的时间表示,单位为毫秒/千步,有时也以执行一步指令的时间表示,其单位为微秒/步。4.指令条数。PLC具有的指令种类越多,就说明它所具有的软件功能越强,所以指令条数的多少是衡量PIC软件功能强弱的主要指标之一。5.内部寄存器。PLC内部有许多寄存器,用以存放变量状态、中间结果和数据等,还有许多辅助寄存器给用户提供特殊功能,以简化整个系统设计。因此,寄存器的配置情况是衡量PLC硬件功能的一个主要指标。6.功能模块。PLC除了主机和扩展单元外,还可以配接各种功能模块口主控模块可实现基本控制功能,功能模块的配置则可实现一些特殊的专功能。因此,功能模块的配置反映了PLC的功能强弱,是衡量PLC产品档次高低的一个重要标志。2.3西门子S7-200系列PLC2.3.1S7-200PLC简介西门子S7-200是由德国西门子公司研制的小型PLC,可以单机运行,由于可以在多种模块和多种人机界面中选择,因此系统的集成度非常高,也可以方便的将PLC网络组织成功。于此同时,它配备了多功能的编程软件和组态软件,可以更加简单的对控制系统进行设计,完成大多数的问题都不是问题,同时它不易发生故障,而且可以快速的运行,继承和发挥了它在大型PLC领域的技术优势,有丰富的指令集,具有强大的多种集成功能和实时特性,其性价比高,所以在规模不大的领域是较为理想的控制设备。2.3.2S7-200PLC主要功能模块介绍1.CPU模块S7-200的CPU模块包括一个中央处理单元、电源以及数字I/O点,这些都被集成在一个紧凑、独立的设备中。CPU负责执行程序,输入从现场设备中采集信号,输出部分输出控制信号,驱动外部负载。S7-200系列PLC中可提供4种不同的基本型号的8种CPU供选择使用,其输入/输出点数的分配如表2.1所示。表2.1S7-200系列PLC中CPU22X的基本单元型号输入点输出点可带扩展模块数S7-200CPU22164—S7-200CPU222862个扩展模块78路数字量I/O点或10路模拟量I/O点S7-200CPU22414107个扩展模块168路数字量I/O点或35路模拟量I/O点S7-200CPU22624162个扩展模块248路数字量I/O点或35路模拟量I/O点S7-200CPU226XM24162个扩展模块248路数字量I/O点或35路模拟量I/O点2.I/O扩展模块当CPU的I/O点数不够或需要进行特殊功能的控制时,就要进行I/O扩展,I/O扩展包括I/O的扩展和功能模块的扩展。S7-200系列PLC主要有6种扩展单元,它本身没有中央处理器,只有连接基本单元才能正确使用,用来扩展I/O点数,S7-200系列PLC扩展单元型号及输入/输出点数的分配如表2.2所示。表2.2S7-200系列PLC扩展单元型号及输入/输出点数类型型号输入点输出点数字量扩展模块EM2218无EM222无8EM2234/8/164/8/16模拟量扩展模块EM2313无EM232无2EM235313、编程器正在运行的PLC,是不能使用编程器的。编程器是为了用户程序的编制、存储和管理等功能运行的,在用户进行调试时候,监控和检测被送入PLC的用户程序。S7-200系列PLC能够使用许多种编程器,最常用的是简单编程器和智能编程器。简易型编程器是微型的,简单实用,价格低廉,可以很好的进行编程和监控,但是不能很好地进行显示,只能运用比较复杂的指令表的输入方式。智能型编程器是运用计算机进行编程的,可以使用专门的编程软件在计算机上进行编程,能应用梯形图编程语言进行程序的编写,而且可以实现在线监控,拥有强大的功能,也很直观,STEP7-Micro/WIN是S7-200系列PLC的专用编程软件。控制系统硬件设计3.1控制要求及工作过程如图3-1所示是一台工件传送的机械手的工作示意图,其作用是将工件从A点传递到B点。如图2所示,是一台工件传送的机械手运动示意图,其作用是:机械手的升降和左右移行作分别由两个具有双线圈的两位电磁阀驱动液压缸来完成,其中上升与下降对应电磁阀的线圈分别为YV3与YV1,左行、右行对应电磁阀的线圈分别为YV5与YV4。一旦电磁阀线圈通电,就一直保持现有的动作,直到相对的另一线圈通电为止。机械手的夹紧、松开的动作由只有一个线圈的两位电磁阀驱动的液压缸完成,线圈(YV2)通电夹住工件,线圈(YV2)断电,松开工件。机械手的工作臂都设有下、上限位和右、左限位的位置开关SQ1、SQ2和SQ3、SQ4,夹持装置不带限位开关,它是通过一定的延时来表示其夹持动作的完成。机械手在最上面、最左边的状态为机械手的原位。系统设有手动操作方式和自动操作方式。自动操作方式又分为单步进行、单周期、和连续操作方式。机械手在最上面和最左边且松开时,称为系统处于原点状态。进入单周期、步进和连续工作方式之前,系统应处于原点状态,如果不满足这一条件,可以手动工作方式,进行手动操作控制,使系统返回原点状态。手动操作:就是用按钮操作对机械手的每步运动单独进行控制。单周期工作方式:机械手从原点开始,按一下起动按钮,机械手自动完成一个周期的动作后停止。连续工作方式:机械手从初始步开始一个周期接一个周期地连续工作。按下停止按钮,并不马上停止工作,完成最后一个周期的工作后,系统才会返回并停留在初始步。步进工作方式:没按一次起动按钮,机械手完成一步动作后自动停止。步进工作方式常用于系统的调试。如图3.1所示,机械手用来将工件从A点搬运到B点,一共6个动作,分3组,即上升/下降、左移/右移和放松/夹紧。即:左移←上升←放松←下降图3.1机械手样图3.2控制系统PLC选型本次毕业设计采用S7-200系列PLC完成设计,在一开始的系统设计要求可知,整个机械手控制系统共有17个开关量输入点,5个开关量输出点。根据PLC的选型规则,对输入/输出点数量的选择;对在线和离线编程的选择;根据是否联网通信选型,综合这些对PLC性能指标要求,选用了S7-200CPU226,S7-200CPU226以它的性能可基本满足设计要求。3.3系统I/O地址分配表根据控制要求,系统的输入/输出地址分配情况如表3.1所示。表3.1系统输入/输出地址分配表输入名称输入点编号输出名称输出点编号下限位下降Q0.0上限位上升Q0.1左限位右行Q0.2右限位左行Q0.3手动夹紧Q0.4回原点单步单周期连续启动停止下降上升右行左行夹紧放松3.4限位开关选择限位开关就是用以限定机械设备运动极限位置的电气开关。限位开关有接触式的和非接触式的。接触式的比较直观,机械设备的运动部件上,安装上行程开关,与其相对运动的固定点上安装极限位置的挡块,或者是相反安装位置。当行程开关的机械触头碰上挡块时,切断了(或改变了)控制电路,机械就停止运行或改变运行。由于机械的惯性运动,这种行程开关有一定的“超行程”以保护开关不受损坏。非接触式的形式很多,常见的有干簧管、光电式、感应式等。3.5系统电气控制接线图系统的电气控制接线图如图3.1所示。图3.1系统电气控制接线图控制系统软件设计4.1STEP7Micro/WIN编程软件简介STEP7Micro/WIN编程软件为用户开发、编辑和监控自己的应用程序提供了良好的编程环境,它简单、易学,能够解决复杂的自动化任务。适用于所有西门子S7-200PLC的软件编程;同时支持STL、LAD、FBD三种编程语言,用户能够根据需要来自由的选择这三种编程语言;软件包有详尽的说明,能够简明有效的教会初学者相关的知识,使其尽快入门;具有多个语言的版本,可以方便各国的用户使用该软件;同时能够保护程序代码的安全,使密码功能运用到了实处。PLC内部这些存储器的作用和继电接触控制系统中使用的继电器十分相似,也有“线圈”与“触点”,但它们不是“硬”继电器,而是PLC存储器的存储单元。当写入该单元的逻辑状态为“1”时,则表示相应继电器线圈得电,其动合触点闭合,动断触点断开。所以,内部的这些继电器称之为“软”继电器。4.2顺序功能图顺序功能图如图4.1所示。图4.1顺序功能图4.3编写梯形图4.3.1主程序梯形图主程序梯形图如图4.2所示。图4.2主程序梯形图主程序主要完成对各个子程序的调用。按下手动开关I0.4,调用手动程序;按下步进开关I0.6、单周期开关I0.7或连续开关I1.0,调用自动程序;按下回原点开关I0.5,调用回原点程序。4.3.2公共程序梯形图公共程序梯形图如图4.3所示。图4.3公共程序梯形图由于单周期、步进和连续运行都必须是机械手要停留在初始位置且Q0.4为0,因此设置一个原点标志位M0.5,当左限位开关I0.2以及上限位开关I0.1的常开触点和表示机械手放松的Q0.4的常闭触点成串联电路接通时,“原点条件”存储器位M0.5变为1。设置M0.0为自动运行的初始步标志位,在系统处于手动或回原点状态时,且当机械手处于原点位置时,初始步对应的M0.0被置位,为进入单周期、步进和连续工作方式做好准备。当系统运行手动和回原点工作方式时,必须将初始步之外的各步对应的存储器位(M2.0-M2.7)复位,否则,当系统从自动工作方式切换到手动工作方式,然后又切换到自动工作方式时,可能会出现同时有两个活动步的情况,导致系统出错。4.3.3手动程序梯形图手动程序梯形图如图4.4所示。图4.4手动程序梯形图按下下降按钮I1.3后,机械手下行到触发下限位开关I0.0时停止下降;按下夹紧按钮I1.7后,机械手夹紧;按下上升按钮I1.4后,机械手夹紧上升,直到触发上限位开关I0.1时停止上升;按下右行按钮I1.5后,机械手夹紧右行,直到触发右限位开关I0.3后停止右行;按下下降按钮I1.3后,机械手夹紧下降,直到触发下限位开关I0.0后停止下降;按下放松按钮I2.0,机械手放松;按下上升按钮I1.4,机械手上升,直到触发上限位开关I0.1后停止上升;按下左行按钮I1.6,机械手左行,直到触发左限位开关I0.2后停止左行;此时机械手回到初始位置。手动操作时用I1.3-I1.7对应的5个按钮控制机械手的上升、下降、左行、右行和夹紧。为了保证系统的安全运行,在手动程序中设置了一些必要的联锁,如限位开关对运动的极限位置的限制,上升与下降之间、左行与右行之间的互锁用来防止功能相反的两个输出同时为ON。为了使机械手上升到最高位置时才能左右移动,应将上限位开关I0.1的常开触点与控制左、右行的Q0.2和Q0.3的线圈串联,以防止机械手在较低位置运行时与别的物体碰撞。4.3.4自动程序梯形图自动程序梯形图如图4.5所示。图4.5自动程序梯形图打开连续开关I1.0并按下起动按钮I1.1,且机械手在初始位置时,机械手以连续方式运行。机械手下移,触发下限位开关I0.0后停止下移,机械手开始夹紧,机械手夹紧后开始上移,触发上限位开关I0.1后停止上移,机械水开始右移,触发右限位开关I0.3后停止右移,机械手开始下移,触发下限位开关I0.0后机械手停止下移,机械手放松,放松后机械手上移,触发上限位开关I0.1后停止上移,机械手左移,触发左限位开关I0.2后停止左移,完成一个周期,并且开始下一个周期。若进行单周期,则完成一个周期,机械手就会停下,不会进行下一个周期的循环,若进行单步,则按一下起动按钮I1.1,机械手才会进行一个动作。单周期、步进和连续这三种工作方式主要是通过“连续”标志位M0.6和“转换允许”标志位M0.7来区别的。1.步进与非步进的区别。通过设置一个存储位M0.7来区别步进与非步进,并把M0.7的常开触点接在每个控制代表步的存储器位的程序中,它们断开时禁止步的活动状态的转换。如果系统处于步进工作方式,I0.6为ON状态,则常闭触点断开,“转换允许”存储器位M0.7在一般情况下为0状态,不允许步与步之间的转换。当某一步的工作结束后,转换条件满足,如果没有按起动按钮I1.1,M0.7处于0状态,不会转换到下一步。一直要等到M0.7的常开触点接通,系统才会转换到下一步。如果系统工作在连续、单周期工作方式时,I0.6的常闭出点接通,使M0.7为1状态,串联在各电路中的M0.7的常开触点接通,允许步与步之间的正常转换。2.单周期与连续的区别。在连续工作方式时,I1.0为1状态。在初始状态按下起动按钮I1.1,M2.0变为1状态,机械手下降。与此同时,控制连续工作的M0.6的线圈“通电”并自锁。当机械手在步M2.7返回最左边时,I0.2为1状态,因为“连续”标志位M0.6为1状态,转换条件满足,系统将返回步M2.0,反复连续的工作下去。按下停止按钮I1.2后,M0.6变为0状态,但是系统不会立即停止工作,在完成当前工作周期的全部操作后,在步M2.7返回最左边,左限位开关I0.2为1状态,转换条件满足,系统才会返回并停留在初始步。在单周期工作方式时,M0.6一直处于0状态。当机械手在最后一步M2.7返回最左边时,左限位开关I0.2为1状态,转换条件满足,系统返回并停留在初始步。按一次起动按钮,系统只工作一个周期。4.3.5回原点程序梯形图回原点程序梯形图如图4.6所示。图4.6回原点程序梯形图在回原点工作方式时打开回原点开关I0.5,按下起动按钮I1.1,机械手上行,升到上限位开关I0.1时,机械手左行,到左限位开关I0.2时,将Q0.4复位,机械手松开。这是原点条件满足,M0.5为ON,在主程序中,自动运行的初始步M0.0被置位,为进入单周期、步进和连续工作方式做好了准备。程序仿真5.1仿真软件简介西门子S7-200的仿真软件Simulation1.2版是从西班牙原版1.2直接汉化过来的,支持TD200仿真界面和增减计数器等多种指令。5.2程序仿真过程5.2.1手动程序仿真如图5.1,机械手在原点位置,上限位开关I0.1和左限位开关I0.2接通,打开手动开关I0.4。图5.1手动-原点如图5.2所示,按下起动按钮I1.1,线圈Q0.0得电,下降电磁阀通电,机械手下降。图5.2手动-下降如图5.3所示,机械手下降至下限位开关I0.0,停止下行,按下夹紧按钮I1.7,夹紧线圈Q0.4通电,夹紧电磁阀通电,机械手开始夹紧。图5.3手动-夹紧如图5.4所示,按下上行按钮I1.4,上升线圈Q0.1通电,上升电磁阀通电,机械手开始夹紧上升。图5.4手动-夹紧上升如图5.5机械手上升至上限位开关I0.1停止上行,按下右移按钮I1.5,右移线圈Q0.2通电,右移电磁阀通电,机械手夹紧右行。图5.5手动-夹紧右行如图5.6机械手右行至右限位开关I0.3,停止右行,按下下降按钮I1.3,下降线圈Q0.0通电,下降电磁阀通电机械手夹紧下行。图5.6手动-夹紧下降如图5.7机械手下行至下限位开关I0.0,停止下行,按下放松按钮I2.0,夹紧线圈Q0.4失电,夹紧电磁阀失电电,机械手开始放松。图5.7手动-放松如图5.8按下上升按钮I1.4,上升线圈Q0.1通电,上升电磁阀通电,机械手开始上行。图5.8手动-上升如图5.9所示,机械手上行至上限位开关I0.1,停止上行,按下左移按钮I1.6,左移线圈Q0.3通电,左移电磁阀通电,机械手开始左行。图5.9手动-左行如图5.10所示,机械手左行至左限位开关I0.2,机械手停止左行,回到原点位。图5.10手动-回到原点5.2.2回原点程序仿真如图5.11所示,下限位开关I0.0与右限位开关I0.3接通,机械手在右下方,打开回原点按钮I0.5。图5.11回原点-右下位如图5.12所示,按下起动按钮I1.1,上升线圈Q0.1通电,上升电磁阀通电,机械手上行。图5.12回原点-上升如图5.13所示,机械手上升至上限位开关I0.1,停止上升,左移线圈Q0.3通电,左移电磁阀通电,机械手开始左行。图5.13回原点-左行如图5.14所示,机械手左行至左限位开关I0.2后,停止左行,回到原点位置。图5.14回原点-到原点5.2.3自动程序仿真如图5.15所示,上限位开关I0.1与左限位开关I0.2接通,机械手处于原点位置,打开单周期开关I0.7。图5.15自动-原点位如图5.16所示,按下起动按钮I1.1,下降线圈Q0.0通电,下降电磁阀通电机械手下行。图5.16自动-下行如图5.17所示,机械手下行至下限位开关I0.0后,停止下行,夹紧线圈Q0.4通电,夹紧电磁阀通电,机械手开始夹紧,上升线圈Q0.1通电,上升电磁阀通电,机械手上行。图5.17自动-夹紧上行如图5.18所示,机械手上行至上限位开关I0.1后,机械手停止上行,右移线圈Q0.2通电,右移电磁阀通电,机械手开始右行。图5.18自动-夹紧右行如图5.19所示,机械手右行至有限位开关I0.3后,机械手停止右行,下降线圈Q0.0通电,下降电磁阀通电,机械手开始下降。图5.19自动-夹紧下行如图5.20所示,机械手下行至下限位开关I0.0后,停止下行,夹紧线圈Q0.4失电,夹紧电磁阀失电,机械手开始放松,上升线圈Q0.1通电,上升电磁阀通电,机械手上行。图5.20自动-放松上行如图5.21所示,机械手上行至上限位开关I0.1后,停止上行,左移线圈Q0.3通电,左移电磁阀通电,机械手左行。图5.21自动-左行如图5.22所示,机械手左行至左限位开关I0.2后,停止左行,机械手回到原点位停止。图5.22自动-回到原点位若开始选择的是单步开关I0.6,则机械手每次动作前都要按下起动按钮I1.1才可以,若开始选择的是连续开关I1.0,则机械手运行一个周期回到原点后会继续进行下一个周期。MCGS组态软件介绍6.1MCGS组态软件概述6.1.1MCGS简介MCGS(MonitorandControlGeneratedSystem,监视与控制通用系统)是北京昆仑通态自动化软件科技有限公司研发的一套基于Windows平台的,用于快速构造和生成上位机监控系统的组态软件系统,主要完成现场数据的采集与监测、前端数据的处理与控制,可运行于MicrosoftWindows95/98/Me/NT/2000/xp等操作系统。MCGS组态软件包括三个版本,分别是网络版、通用版、嵌入版。具有功能完善、操作简便、可视性好、可维护性强的突出特点。通过与其他相关的硬件设备结合,可以快速、方便的开发各种用于现场采集、数据处理和控制的设备。用户只需要通过简单的模块化组态就可构造自己的应用系统,如可以灵活组态各种智能仪表、数据采集模块,无纸记录仪、无人值守的现场采集站、人机界面等专用设备。6.1.2MCGS的通用版的主要特点和基本功能MCGS6.2通用版拥有简单灵活的可视化操作界面;实时性强、良好的并行处理性能;丰富、生动的多媒体画面;开放式结构,广泛的数据获取和强大的数据处理功能;完善的安全机制;强大的网络功能;多样化的报警功能;实时数据库为用户分部组态提供极大方便;支持多种硬件设备,实现“设备无关”;方便控制复杂的运行流程;良好的可维护性和可扩充性;用数据库来管理数据存储,系统可靠性高;设立对象元件库,组态工作简单方便;实现对工控系统的分布式控制和管理。6.1.3MCGS的编程语言MCGS全中文组态软件,采用C++语言编制,核心为组态结构。构架合理、连接灵活,结构层次清晰,方便用户的定制开发。它是基于WIN95/98/NT视窗结构,能够快速构造和生成数据管理、报警处理、流程控制、动画显示、报表输出等界面,轻松实现各种工程曲线、报表、数据浏览、远程通讯、远程采集、远程诊断等功能的先进软件。6.1.4MCGS的数据结构MCGS数据库管理功能强大,分为数据前处理(可以对设备采集进来的数据进行多种数值处理)、数据后处理(可通过各种内部函数、运算符、脚本程序对实时采集的数据进行处理)、实时数据处理(提供数据浏览,各种曲线、报表等功能构件,对存盘数据库的数据进行查询、排序、运算等操作),同时可以挂接外部数据库,实现ODBC接口和OLE实时调用,可以和SOL、Server、Oracle、Access等数据库相连,提供多种数据转换方式,每种方法都可以独立使用或组合使用。6.1.5MCGS的作用MCGS全中文组态软件是真正的32位程序,支持多任务、多线程,提供近百种绘图工具和基本图符。使用ActiveDLL把设备驱动挂接在系统之中,支持数据采集板、智能模块、智能仪表、PLC、变频器、网络设备,它支持ActiveX控件,包括温控曲线、实时曲线、计划曲线、历史曲线、XY曲线、实时报表、历史报表、单行报表、配方管理、数据库管理、数据库浏览统计、多媒体输出等众多构件。工程组态软件MCGS的最大优点是组态方便,它融会了中外工控组态软件的众多长处,只要是稍具外语常识,即可以方便组态。6.2工程的建立与变量的定义6.2.1工程的建立1.在文件菜单中寻找并点击“新建工程”选项,系统将自动生成新建工程,默认的工程名为:“新建工程0.MCG”。2.打开文件菜单,选中“工程另存为”,就可弹出文件保存窗口进行保存。3.在文件名一栏内输入“机械手操作模拟”,点击“保存”按钮,工程被保存,工程建立结束。如图6.1所示。图6.1MCGS工作台窗口6.2.2变量的定义在进行变量的定义之前,先要分析系统,确定变量。本系统最少需要15个变量,如表6.1。表6.1系统变量分配表变量名类型初值注释起动0启动,SB1输入,1有效停止开关型0复位,SB2输入,1有效夹紧开关型1夹紧,输出,0有效放松开关型1放松,输出,0有效上移开关型1上升,输出,0有效下移开关型1下降,输出,0有效左移开关型1左移,输出,0有效右移开关型1右移,输出,0有效定时器启动开关型0定时器启动,1启动,0停止定时器复位开关型0控制定时器复位,1复位计时时间数值型0代表定时器计时时间时间到开关型0定时器时间到为1,否则为0工件夹紧标志开关型0夹紧为1垂直移动量数值型0动画参数水平移动量数值型0动画参数6.2.3变量定义的步骤1.单击的“实时数据库”选项卡,进入“实时数据库”窗口,如图6.2所示。窗口中列出了一些系统已有变量的名称,将上表5.1中数据变量添加到列表中。2.单击工作台右侧第一个“新增对象”按钮,即可在数据对象列表中增加了新的数据对象,如图6.3所示。3.双击选中的数据对象,打开“数据对象属性设置”窗口。4.将“对象名称”改为:应该输入的对象名;“对象初值”改为表6.1中的对应初值;“对象类型”选择表6.1中对应的对象类型;在“对象内容注释输入框”内输入表6.1内对应的注释;输入所有的数据对象。5.单击“确定”并按下“保存”按钮。如图6.4所示。图6.2MCGS实时数据库窗口1图6.3MCGS实时数据库窗口2图6.4MCGS实时数据库窗口36.2.4设备与变量连接1.在工作台“设备窗口”中双击“设备窗口”图标进入设备窗口。2.点击工具条中的“工具箱”图标,打开“设备工具箱”。3.单击“设备工具箱”中的“设备管理”按钮,弹出如图6.5所示窗口。4.在可选设备列表中,双击“通用设备”。5.双击“模拟数据设备”,在下方出现模拟设备图标。双击模拟设备图标,将“模拟设备”添加到右侧选定设备列表中,单击确认并保存。6.在工作台“设备窗口”中双击“设备窗口”图标进入。设备被添加到设备组态窗口中,如图6.6所示。7.双击“设备0-[模拟设备]”,进入模拟设备属性设置窗口,如图6.7。8.设置内部属性完成之后单击确认,完成内部属性设置。单击保存,完成设备与变量连接。图6.5MCGS设备管理窗口图6.6MCGS设备组态窗口图6.7MCGS设备属性设置窗口6.3工程画面的建立1.在“用户窗口”中单击“新建窗口”按钮,建立“窗口0”。如图6.8所示。2.选中“窗口0”,单击“窗口属性”,进入“用户窗口属性设置”。3.将窗口名称改为:机械手动作模拟;窗口标题改为:机械手动作模拟,其它不变,单击“确认”。图6.8MCGS工作台窗口图6.9MCGS用户窗口属性设置窗口6.3.1机械手模拟画面的制作在用户窗口中,双击机械手动作模拟窗口,进入动画组态如图6.10;在工具栏中单击工具箱,调出工具箱如图6.11,在工具箱中选中常用符号,调出常用图符;利用常用图符中的各种图形,在动画组态窗口中画出简易机械手;在工具箱中选中标准按钮画出控制按钮,完成整个画面的设计如图6.12。图6.10动画组态图6.11工具箱图6.12机械手模拟画面6.3.2运行策略的建立及脚本程序的编写1.运行策略的建立进入“运行策略”窗口,点击进入“循环策略”窗口,如图6.13所示。图6.13组态策略循环策略1右键单击工具条,点击“新增策略行”,增加一策略行。点击“策略工具箱”中的“脚本程序”将鼠标指针移到策略块图标上,单击鼠标左键,添加脚本程序构件。如图6.14所示。图6.14组态策略循环策略22.机械手自动控制脚本程序的编写双击“脚本程序”工具条进入脚本程序编辑环境,编辑脚本程序脚本程序如下:IF启动=1AND停止=0THEN定时器启动=1定时器复位=0ENDIFIF启动=0THEN定时器启动=0ENDIFIF停止=1AND计时时间>=44THEN定时器启动=0ENDIFIF定时器启动=1THENIF下移=1THEN垂直移动量=垂直移动量+20ENDIFIF上移=1THEN垂直移动量=垂直移动量-20ENDIFIF左移=1THEN水平移动量=水平移动量-20ENDIFIF右移=1THEN水平移动量=水平移动量+20ENDIFIF0<计时时间<5THEN下移=1EXITENDIFIF5<计时时间<7THEN夹紧=1下移=0EXITENDIFIF7<计时时间<12THEN夹紧=1上移=1工件夹紧标志=1EXITENDIFIF12<计时时间<22THEN右移=1上移=0EXITENDIFIF22<计时时间<27THEN右移=0下移=1EXITENDIFIF27<计时时间<29THEN放松=1下移=0夹紧=0EXITENDIFIF29<计时时间<34THEN放松=1上移=1工件夹紧标志=0EXITENDIFIF34<计时时间<44THEN左移=1上移=0EXITENDIFIF计时时间>=44THEN定时器复位=1左移=0放松=0EXITENDIFENDIFIF定时器启动=0THEN上移=0下移=0左移=0右移=0ENDIF6.4动画连接画面编辑好以后,需要将画面与前面定义的数据对象即变量关联起来,以便运行时,画面上的内容能随变量变化。6.4.1垂直移动动画连接1.在机械手动作模拟画面中选中需要垂直移动的图形并双击,弹出“属性设置”窗口。2.在“位置动画连接”一栏中勾选“垂直移动”这一项,并单击“垂直移动”选项卡,进入“垂直移动”页。3.按照图6.15,在“表达式”的空白处填入:“垂直移动量”。在垂直移动连接栏中填入图中的参数。单击“确认”按钮,保存刚刚的设置。4.进入运行环境,查看机械手的动作是否正确。图6.15动画组态垂直属性设置6.4.2水平移动动画连接1.在机械手动作模拟画面中选中需要水平移动的图形并双击,弹出“属性设置”窗口。2.在“位置动画连接”一栏中勾选“水平移动”这一项,并单击“水平移动”选项卡,进入“水平移动”页。3.按照图6.16,在“表达式”的空白处填入:“水平移动量”。在水平移动连接栏中填入图中的参数。单击“确认”按钮,保存刚刚的设置。4.进入运行环境,查看机械手的动作是否正确。图6.16动画组态水平属性设置6.4.3工件移动动画的实现1.选中上工件,在“属性设置”页选择可见度。2.进入“可见度”页,在表达式一栏填入:工件夹紧标志;当其非零时,选择:对应图符可见。意思是:当工件夹紧标志为1时,上工件可见;当工件夹紧标志为0时,上工件不可见。如图6.17所示。3.选中并双击下工件,将其可见度属性设置为与上工件相反,即当工件夹紧标志非零时,对应图符不可见。如图6.18所示。图6.17上工件可见度属性设置图6.18下工件可见度属性设置6.5组态运行单击保存按钮,将对组态所做的修改进行保存。之后将MCGS组态软件重启,点击“文件”中的“进入运行环境”,点击“工程下载”,待下载完成后启动运行。运行图如图6.19所示。图6.19机械手组态运行通过运行组态,证明了所编组态是正确的,可以运行。第六章结论本次设计中研究了PLC在机械手控制系统中的应用,根据控制要求完成了能切换手动、单步、单周期、连续和回原点五种控制方式,能实现机械手的上移、下移、左移、右移和夹紧的程序设计,该程序经过仿真运行无误。再使用组态软件MCGS编辑画出机械手模拟运行界面,组态界面进过运行正确无误。机械手控制系统采用PLC进行控制,大大提高了该系统的自动化程度,减少了大量的中间继电器、时间继电器和硬件接线,提高了控制系统的可靠性。同时,使用PLC进行控制可方便更改生产流程,增强控制功能。实现机械手控制系统的不同工作需求,机械手控制系统具有了很大的灵活性和可操作性。在设计的这段时间里也认识到了自己的一些不足,要努力改正。附录A英文原文ProcediaEngineering15(2011)1234–1238TheStudyofSoftPLCRunningSystemQuanLiang,LiLiaaSchoolofMechanicalEngineering,ShenyangUniversityofTechnology,Shenyang110870,ChinaAbstractPC-basedautomaticcontrolsystemislowcost,opengood,easytouse,etc.,soitbecomesanewdirectionintheautomationtechnology.TheformulationofinternationalstandardsEIC61131-3notonlynormalizesthefieldofindustrialcontrolprogramminglanguage,butalsoprovidestheconditionsforthedevelopmentofPLCtechnology.ThispaperintroducesthetheoryofsoftPLC,discussesthePLCsoftwaremodelsandimplementationsbasedontheEIC61131-3standard,detaileddescribestheprincipleandimplementationofsoftPLCoperatingsystemprograms,designssoftPLCrunningsystemsoftwarebasedonindustrialPC,constructssoftlogiccontrolsystembasedonindustrialPC.Finally,thereal-timeperformanceandreliabilityofthesoftPLCwereverified.Theresultsshowthatthesystemisreliableandcontroleffectisgood.1.IntroductionSoftPLCtechnologyisanewtypeofcontroltechnologybasedonPC,comparedwiththetraditionalPLC,whichhasanopenarchitecture,powerfulnetworkcommunicationscapabilityandincreaseddataprocessingcapability,canmeettherequirementsofmodernindustrialautomation,isahotspotinthefieldofindustrialautomationatpresent.ThesocalledsoftPLC,istouseaPCasthehardwaresupportplatform,usesoftwaretoachievethebasicfunctionoftraditionalPLC.PLCcontrolfunctionsareencapsulatedinthesoftware,runningonthePCenvironment..ThiscontrolsystemprovidesaPLCcontrolsystemofthesamefeatures,butwiththeadvantagesofthePC’s.AccordingtothetraditionalstructureofPLC,TheachievementofsoftPLCisdividedintotwoparts,thedevelopmentsystemandrunningsystem.SoftPLCrunningsystemisthecoreofthesoftPLC,executestheprogramandprocessestheinputandoutput.ThispaperdescribesthecharacteristicsofthetraditionalPLCanddevelopingtrends,anddescribesthearchitectureofthesoftPLC,thesoftwaremodel.Further,accordingtointernationalstandardIEC61131-3andwithreferencetoSiemensS7-200instructionset,theinstructionsetofsoftPLCrunningsystemisdesigned.Then,thearchitectureofsoftPLCrunningsystemisintroduced,thewholeoperatingsystemwastested.Thetestfunctionsshowthatthefunctionofthesystemreachedtheexpectedrequirementandrunningwell.2.SeveralrealizationschemeofsoftPLCAtpresent,therearethreekindsofschemeforsoftPLCcontrolsystem.OneisthetraditionalPLCcontrolsystem.ThisschememakesthePLChardwareasthehardwareplatform,andcustomizesPLCrunningsystemforitshardware,thensolidifyitinthePLC.ThedisadvantageofthiscontrolprogramisthattherunningsystemiscustomizedforcertainPLCmanufacture,systemmaintenanceandupgradesaredifficult,andnotopen.Thesecondcontrolschemeisbasedonembeddedcontroller.Embeddedcontrollerisasuper-smallcomputersystem,itssoftwareplatformistheembeddedoperatingsystem.Thiscontrolschemeismoresuitableinasmallreal-timecontroller.ThelastoneisacontrolschemebasedonindustrialPC(IPC).Inthiscontrolscheme,thesystem’ssoftwareplatformcanbeusedWindowsNTandotherreal-timeoperatingsystems,thehardwareinterfacesusingacommonI/OcardorI/Oterminalboard(orfiledbuscards,andremoteI/Omodule)[10].SoftPLCwhichbasedonindustrialPCcontrolsystemcantakefulladvantageofPC-richsoftwareandhardwareresources,easytobuildbuscontrolsystemandnetworkcontrolsystems.ThisarticlewillstudythesoftPLCwhichbasedonindustrialPCoperatingsystem.3.SoftPLCrealizationmethodbasedonIEC61131-3standardIEC61131-3standardisthefirstinternationalstandardwhichprovidesstandardizedprogramminglanguageforthesoftwaredesignoftheindustrialautomationandcontrolsystem.IEC61131-3standardisbasedontheworkingofIECworkgroupwhichabsorbsandreferencesworldwidemanufacturersofthePLCprogramminglanguageandforminganewinternationalprogramminglanguages.ThesoftwaremodelwhichbasedonIEC61131-3standardisshownbelow.ThecollocationofthePLCsoftwaremodelanddifferenthardware,manykindsofactualcontrolsystemcanbebuild.Inthedesignofapplicationsoftware,theprogrammingdesignwhichbasedonIEC61131-3standardfollowstheprinciplesofsoftwaremodular,whichdividesacomplexprojectintoseveralindependentmodules,everymoduledividescommonlyusedproceduresintoseveralfunctionalunits,whichisprogram,functionalblockandfunction,encapsulatestheseunitesandconstructsthebaseofprogramming.4.RealizationofSoftPLCSystemVirtualMachineSoftPLCrunningsystemisthecoreofthewholesoftPLCsystem,whichtakeschargeoftheadministrationofwholesystem,interpretstheprogram,andexchangedatawithprogrammingsystem.TheconstructionofsoftPLCrunningsystemisdividedintothreeparts,whichis:communicationmodule,runningcoremoduleandI/Odrivermodule.Theschemefigureofthewholeconstructionisshownfigure3.ThecoreoftherunningsystemissoftPLCrunningvirtualmachine,whichinterprets,organizesandexecutestheapplicationprogramming.ThispapermainlyintroducestherealizationofsoftPLCrunningsystemvirtualmachine.4.1.OperatingprincipleandconstructionofvirtualmachineTheessenceofvirtualmachineissimilartothehardwareofcomputer’sCPU,thekernelfunctionisrepeatedlygettingvalue,interpretingcodesandexecutingprocess,onlyforsoftPLC,thesefunctionsarefinishedbysoftware.Therealizationofthesefunctionsisdividedintotwoways:oneisbasedonregister,theadvantageofthismethodisfastinstructionsexecutingvelocity,transparentprocessandeasytodebug;theotherisbasedonstack,whichissuitablesustainsmallprogram,occupyfewinternalmemory,andquicklycallfunctions.Becausetheshortcutofthestackincallingfunctions,thisschemeisadoptedbythispaperasdesigningvirtualmachine.Thefunctionmoduleofvirtualmachineincludes:instructionreadingsubmodule,instructionanalyzingsubmodule,logicinstructionsubmodule,functionoperatinginstructionsubmodule,etc.4.2.FormulationoftargetcodeTargetcodeisthecodewhichrunninginvirtualmachine.InthesoftPLCwhichstudiedinthispaper,targetisakindofbinarycode,whichiscompiledinsoftPLCdevelopingsystems,andfinishingcontrolfunctionbyexecutinginsoftPLCrunningvirtualmachinesystem.Therelationoftargetcode,virtualmachineandoperatingsystemareshowninfigure3.CombiningIEC61131-3standard,onePLCproject’sstructurelevelscanbedividedinto:configuration,resources,taskandruntimeprogram,etc.IntheSoftPLCwhichrealizedinthispaper,oneconfigurationcorrespondoneplcsystem,everyconfigurationcanhasseveralresources,theconceptoftaskisdescribedinresources.Thewholesystemisasmultithreadingprogram,andexecutingseveralcontroltaskatthesametime.Theformatoftargetcodeis:thefilewhichproducedindevelopingsystemisakindofformfile,whichcandescribevariouskindsconfigurationsinsystem,compilercanalsoproducecontrolalgorithmwhichrunningavirtualmachine.4.3.InstructionsystemofvirtualmachineThevirtualinstructionwhichdevelopedinthispaperincludes19fundamentalinstructions,4functioninstructionsand3programcontrolinstruction.Thefundamentalinstructionincludes:LD,AND,OR,OUT,LDN,ANDN,ORN,LDI,ORI,ANDI,OUTI,LDNI,ORNI,NOT,SET,CLEAR,ALD,OLD;functioninstructionincludes:TON,TONR,TOF,COUNT;controlinstructionincludes:SUBCALL,RETURN,END.4.4.Thesoftwaredesignofvirtua
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校学生会联谊舞会策划书
- 人教版九年级数学下册锐角三角函数《解直角三角形及其应用(第1课时)》示范教学课件
- 沈阳凯致五金公司销售问题研究
- 盛融万恒府城铭邸招标控制价的编制
- 信息系统安全等级保护基本要求(三级要求)
- (打印版)英语六级词汇表
- 市政工程占道施工方案
- 中医皮肤性病学
- 实验诊断学第二次测试
- 统编版《道德与法治》六年级下册第1课《学会尊重》精美课件(第2课时)
- 关节积液性骨化的病理生理机制研究
- 物质的变化课件九年级化学科粤版上册
- 从业人员培训试卷
- 小学美术 人教版 五年级上册 第10课 美术单元作业设计 彩墨脸谱
- 新冠孕妇产房待产及分娩防控流程图
- 安川伺服器五系列操作器 JUSP-OP05A-1-E 针脚说明
- 小而美:持续盈利的经营法则
- 中国儿童严重过敏反应诊断与治疗建议(2022年)解读
- CPK-数据自动生成器
- 临床试验中的统计学
- 辩护词案例 最精彩的辩护词模板
评论
0/150
提交评论