版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、江苏财经职业技术学院综合毕业设计标题:基于PLC的压入机控制系统设计系 别: 机械电子与信息工程学院专 业: 11111111111 学 号: 1222222222 姓 名: 1111111111 指导教师: 11111111111 2015 年5月28日 摘 要伴随着科技的不断创新和社会生产能效的不断进步,社会对于产品的要求也越来越发杂。产品的复杂性对生产上的技术精准度也更加严格。多样性的产品使产品的加工环境也极为复杂。复杂的现场操作环境,有些人是无法适应的。所以在现代化的生产实践中。用机械去取代人力,自动化的生产方式更加适应当前的生产方式。压入机是通过现代控制理论以及工业生产自动化的实践相
2、结合生产的自动设备。压入机可以代替人力去完成机械的压入动作,从而避免人在恶劣的生产环境下去进行生产操作。本篇论文主要研究的是通过PLC来控制压入机的一个程序设计系统。压入机的系统构成是由供应电源、感应装置、可编程控制器、驱动装置和传动装置构成。系统的主要工作原理是供应电源供电,外部的感应装置感应外部信号将信号传送到PLC中,PLC再综合收到的外部信号进行判断进行置位和复位动作,对驱动装置进行信号输出驱动,再通过传动装置带动压入机的运转,继而完成整个压入的完整动作。关键词:PLC;压入;控制 目 录TOC f t 样式1,1,样式2,1,样式3,1,样式6,1,样式7,1,样式8,1,样式9,1
3、,样式4,2,样式5,3 h HYPERLINK l _Toc5017 摘 要 PAGEREF _Toc5017 1 HYPERLINK l _Toc9851 目 录 PAGEREF _Toc9851 2 HYPERLINK l _Toc2517 引言 PAGEREF _Toc2517 3 HYPERLINK l _Toc19910 1 可编程控制器(PLC)的概述 PAGEREF _Toc19910 3 HYPERLINK l _Toc20969 1.1 可编程控制器 PAGEREF _Toc20969 3 HYPERLINK l _Toc18378 1.2 PLC的组成和工作原理 PAGE
4、REF _Toc18378 4 HYPERLINK l _Toc18612 1.2.2 PLC工作原理 PAGEREF _Toc18612 5 HYPERLINK l _Toc8703 1.3 PLC的发展趋势和现状 PAGEREF _Toc8703 6 HYPERLINK l _Toc14070 1.3.1 PLC的发展趋势 PAGEREF _Toc14070 6 HYPERLINK l _Toc14012 1.3.2 PLC的发展状况 PAGEREF _Toc14012 7 HYPERLINK l _Toc22487 1.4 PLC的分类 PAGEREF _Toc22487 8 HYPER
5、LINK l _Toc15862 1.4.1 功能分类 PAGEREF _Toc15862 8 HYPERLINK l _Toc28475 1.4.2 结构分类 PAGEREF _Toc28475 8 HYPERLINK l _Toc12468 1.4.3 I/O分类 PAGEREF _Toc12468 8 HYPERLINK l _Toc11228 1.5 PLC选型 PAGEREF _Toc11228 9 HYPERLINK l _Toc32087 1.5.1 选型依据 PAGEREF _Toc32087 9 HYPERLINK l _Toc31489 2 压入机的简述 PAGEREF _
6、Toc31489 10 HYPERLINK l _Toc15077 2.1 压入机的主要运用方面 PAGEREF _Toc15077 10 HYPERLINK l _Toc25346 2.2 压入机的结构原理 PAGEREF _Toc25346 10 HYPERLINK l _Toc15358 2.3 压入机应用的意义 PAGEREF _Toc15358 11 HYPERLINK l _Toc25352 3 基于PLC的压入机控制系统设计 PAGEREF _Toc25352 11 HYPERLINK l _Toc9760 3.1 基于PLC压入系统的概述 PAGEREF _Toc9760 11
7、 HYPERLINK l _Toc2467 3.2 基于PLC压入系统的控制要求 PAGEREF _Toc2467 11 HYPERLINK l _Toc6247 3.2.1 仿真GX-Works2 PAGEREF _Toc6247 15 HYPERLINK l _Toc16680 3.2.2 GX-works2模拟运行 PAGEREF _Toc16680 16 HYPERLINK l _Toc1258 结束语 PAGEREF _Toc1258 22 HYPERLINK l _Toc2046 致谢 PAGEREF _Toc2046 23 HYPERLINK l _Toc14949 参考文献 P
8、AGEREF _Toc14949 24 HYPERLINK l _Toc15417 附录 PAGEREF _Toc15417 25基于PLC的压入机控制系统设计引言可编程序控制器( PLC)是在逻辑电路开关的基础上,综合运用计算机技术、自动控制技术和通讯技术而发展起来,用来取代传统继电器的一种新型的工业控制装置。对于传统的继电器来讲,它的可靠性相对较高、程序相对简便、修护组装方便等优点。在工业控制方面被广泛地运用。压入机是种无人操作可独立进行生产加工的自动化设备,要求其结构必须可靠、稳定、准确和执行效率高。对于压入机而言,操作人员能够通过人机界面与PLC之间进行相互作用,是沟通PLC的桥梁。伴
9、随着人力资源的紧张以及人力成本的增加,传统的手工作业方式已不能适应当前的生产节奏。自动机械的推行,可以很好的解决了这一现状。在各式各样的自动化机械中,压入机是种运用比较广范的机台。传统的手工压入机,需要人去操作驱动马达,实现机台的运转,从而完成工件的加工。既费时又费力。而自动压入机的推行,可以缩减人力,实现机器的自动运转,无人看管的工作方式。本课题通过推现场生产的观察,以节约人力资源为理念,进行自动机台的设计研发。以达到精简人力,全面达成自动化的目标。主要是研究自动机的相关程序部分,即机台软元件。对PLC的逻辑控制系统设计。一个完善的PLC程序,可以出色的执行相关的机械动作。通过对PLC编程的
10、熟练运用,撰写自动程序。同时,还需要对机器的运转方式十分熟悉。通过模拟运行,实验是否能够达到理想的工作状态。1 可编程控制器(PLC)的概述1.1 可编程控制器于工业制造和阶段性的实践生产中,会运用到大批量的开关逻辑来达成顺序控制,能够按照预先设定好的顺序进行动作,通过逻辑联系来达成逻辑控制保护,以及对海量的数据采集。可编程序控制器,英文称 Programmable Controller,简称 PC。为了与个人计算机(Personal Computer)区别,把PLC当作可编程控制器的英文缩写。随着计算机的不断推进及跳跃性发展,PLC的功能也在不断的成熟。随着用户需求的不断提高和信息筛选和应用
11、网络的不断发展。PLC在原有的开关量的基本控制上,可达成事物的模拟处理以及运动的实时监控。可编程控制器是和个人PC一样,通过微处理器作为核心部件,去达成数字运算操作,在工业生产表现进行应用从而体现出它的实际价值。通过运用其内部存储单元来执行逻辑运算、顺序控制、定时/计数和算术运算等操作指令,并且通过存在的内部达成执行反馈进行信息的判断,对外部的输入、输出点的置位或复位来控制机械的动作或生产过程。PLC强大的控制能力以及超强的运算能力在过程控制得到极为广泛的应用,小到一些十分简单的家用设备,大到工业生产的过程,以及交通运输等等,无不体现出PLC存在的必要1.2 PLC的组成和工作原理图1-1 P
12、LC的组成和工作原理图由图1-1所示,我们可以看出PLC主要由:电源组件、中央处理器(CPU)、存储器、I/O扩展接口、外部设备接口以及输入输出接口组成,下面即对各主要部件作详细描述:(1)CPU:PLC与个人计算机的功用有些相类似,CPU同样是PLC的核心部件。它主要由寄存器、运算器、控制器以及能够实现各个部件之间的数据的传输以及控制输入输出状态的完整总线组成,核心作用是:收集存储用户撰写的程序以及数字文本;扫描诊断接收的程序是否存在语法上的错误;编译用户撰写的程序,并逐步进行扫描执行,将执行的结果存储在内部的寄存器里面;当PLC扫描寄存器时执行存储结果动作。(2)电源组件:电源为PLC持续
13、供应电源。电源类型主要有AD/DC型。(3)存储器:内部的存储器核心作用是能够存储自身的应用程序、用户撰写的程序及数据,对于PLC而言内部存储器的内存大小决定了PLC的可适应范围。(4)I/O扩展接口:PLC和外部建立起通信都是运用I/O来完成的。对于PLC而言,他不能直接识别外部信号,所以输入端子是将外部的电信号转换成PLC可识别的数字信号。输端子是讲PLC的数字信号转换成外部电路可识别的电信号。(5)外部设备接口:外接设备是沟通PLC的桥梁。可以对PLC进行输入、输出。一般的外部设备如上图所示。如上位计算机、图形监控系统、打印机等。1.2.2 PLC工作原理图1-2 PLC工作原理图从图1
14、-2所示,我们可以看出PLC的一个完整的扫描周期包括自诊断、通讯、输入采样、用户程序执行、输出刷新所用时间:(1)上电:对PLC进行持续供电保持电路,是PLC工作的前提条件。(2)RUN:只有把PLC打到RUN可以对PLC进行调试输入输出。(3)自诊断:PLC通过对自己内部电路以及用户撰写的程序等进行自我诊断,检查是否出现故障,若PLC诊断出现异常,PLC会停止工作,相对应后面的操作就不会执行。反之,PLC会正常的执行扫描动作。(4)通讯:是PLC对用户撰写的程序和内部程序的联系,将用户撰写的程序中数据传输到内部程序里面。(5)输入采样:PLC并不知道外部信号是个什么东西,在外部信号需要进行输
15、入时,这时候PLC就要通过一个人中间装置来识别,即映像寄存器来达成输入采样,使外部的电信号进行转换为0和1能够被PLC进行识别。(6)用户程序执行:PLC进行输入信号的采集存储,PLC对存储器的扫描做出的程序执行动作。即PLC对程序的扫描执行。(7)输出刷新:在PLC里,他不会直接的输出信号,即输出信号处于接通状态。只有在PLC完成扫描一个周期的时候,才能根据输出状态控制外部动作。PLC就是在不停地往复进行扫描来达成输入与输出。从自诊断执行开始到输出刷新我们把他理解为一个完整扫描周期。PLC遵循顺序扫描的逻辑方式,并且不断的进行循环往复的工作。1.3 PLC的发展趋势和现状1.3.1 PLC的
16、发展趋势(1)良好的人机交互界面PLC的软件和硬件的相互结构,很大程度上提高PLC的系统性能。软件的水平不断提高,能够帮助用户实现复杂程序的撰写。同时,又大大的降低了生产维护成本。可以更好的达成人和机器的紧密联系。目前的发展状况而言,PLC+(PLC+网络+IPC +CRT)的模式更容易被认可。(2)开放性和相互渗透性在PLC的发展过程,最初没有标准的设计形式,不同厂家的标准都不相同。系统无法做到兼容。在这种基础上,系统的开放性是必然的。有一个统一的标准。IEC现场总线的标准,即指令表、顺序功能图、梯形图、结构化文本、功能模块。(PAC)表示可编程自动化的控制器,是用于描述PLC和个人计算机的
17、功能结合体的控制器。传统的PAC概念是描述高端系统,而PC控制则是用来描述工业自动领域的控制实现平台。软PLC在中国,一般来说软PLC某种意义上就是在个人计算机运用实践里,基于Windows操作系统,通过用APP来达成PLC所具备的功能。(3)网络通讯能力PLC在PC已经拥有的CPU基础上增加了各种通信的外部接口,并且提供了完整的网络联通性。1.3.2 PLC的发展状况最早提出去代替继电器是美国的通用公司,但是美国另外一家公司,数字公司自主开发一种使用集成电路及电子运用技术的新型控制设备。这是真正意义上的第一代PLC。 为了和个人计算机区分,用PLC来作为英文缩写以示区别。在上个世纪8090年
18、代,PLC进入快速发展阶段,PLC运用能力实现了大幅度的提高,逐渐取代了在过程控制领域处于领导地位的DCS系统。目前,可编程控制器在制造业和重工业以及轻工业领域都有极为广泛的发展。改革开放开始的时候,我国开始对可编程控制器进行引进和运用。并且开始进行研发和生产的变更。企业对PLC的运用更加频繁。目前而言,我们国家可以自主生产中小型的PLC。随着现代化进程的不断推进,PLC在我国的运用会更加宽泛。PLC的发展是社会需求的必然结果,在未来的很长时间里PLC能够实现进一步的提高。从技术水平来说,计算机运用技术的不断创新发展必然可以达成更多的研究成果。能够将这些研究成果应用于可编程控制器的设计上来。P
19、LC的运算速率更快,智能性更加完善。从产品的规格方面来阐述,超小型化的PLC是未来实际需求的主要趋势。PLC不是一个单独的个体,他需要相应的配套设配来更同协调完成动作。所以未来的产品规格会更加齐全,配件更加丰富,性能更加稳定能够更好地适应工业就、控制要求。而目前市面上的主流厂家主导的情况也能够得到完美的改善。PLC的运用区间也会变得更加广泛。1.4 PLC的分类PLC的分类主要按照结构、功能以及I/O三大类方式进行区分。1.4.1 功能分类按照PLC的功能不同,可将PLC分为高档、中档、低档三种。(1)低档的PLC就是具备PLC的基本功能,包括逻辑运算功能、计时功能、计数功能,以及PLC的自我
20、诊断功能。同时,它还具有少量的输入/输出端,能够进行数据的比较、传输和通信等功能。主要运用于小型的单机逻辑控制系统。(2)中档的PLC具有低档PLC所有的功能。同时,它还有较强的输入输出功能。运用的范围宽泛,可运用于比较发杂的逻辑系统。(3)高档的PLC具有中档PLC的所有功能。同时,它还增加了函数及特殊功能函数的运算。高档的PLC通信功能更加强大,能够适用于大规模的过程控制,是实现工厂自动化的基础。1.4.2 结构分类结构分类又可以分为整体式、模块式和叠装式三种。(1)整体式是把CPU、电源、通信设备等部件集成为一体的PLC类型。(2)模块化的PLC各部件相对比较清晰,它的每个单元都是独立的
21、模块。(3)叠装式PLC是综合整体式和模块式的特点,综合运用构成。一般来说,整体式是一些比较低廉小型的PLC。大中型多选用模块式。1.4.3 I/O分类I/O分类又可以分为开关量输入(D/I)、开关量输出(DO)、模拟量输入(AI)、模拟量输出(AO)。即开关量和模拟量两种。(1)开关量是指只有开和关两种状态,即在PLC中的0和1两种状态信号。一般有按钮、光电开关、数字开关等。(2)模拟量是指持续变化的动态量,一般是物理量,如温度、电压、压力等变化量。1.5 PLC选型1.5.1 选型依据因PLC的系统控制功能为顺序控制,所以主要依据系统设计的 I/O 点数来确定选则 PLC 型号及 I/O
22、模块的型号。首先对PLC的选型我们要对输入输出点的预估,即I/O点。通常情况下,我们会对所预估的点数进行扩充留有足够的余量。一般扩充10%30%足够实际需求。但当我们真正和厂商订货时,还需要根据厂商提供的型号进行实际考虑。其次,是对存储器容量的需求,存储器的容量是PLC自身硬件所能提供存储单元的大小。程序容量是存储在存储器中用户程序的存储单位大小。对实际运用而言,程序容量必须要小于存储器的容量。在我们程序设计阶段,对于程序的容量我们无从得知,只有在程序调试之后才能有一个结果。为了有一个良好的预估,我们需要用存储器的容量来代替程序容量去做一个预估。再次,PLC的时间响应同样是选型的重要依据。PL
23、C的响音速度能够表示响应时间的多少。一个完整的响应包括,输入滤波的时间,输出的滤波时间和完整的扫描周期。PLC以顺序扫描的方式从左到右自上而下的方式进行。当输入信号小于扫描所用的时间的时候,对于所接收到信号无法做出一个准确的判断。因此,当对于一个短时性的输入信号来说,有必要选用速度的扫描PLC。当只需要一些小型的PLC就能够完成预定的目标时,一些价格比较低廉的编程器相对来说,是我们最优的选择。但如果用到多个PLC或者系统比较大的时候,选用功能性比较强,编程方便的编程器。无论是生产还是实验室的调试,一个功能完善可靠稳定可靠的PLC更能满足我们的实际需求。但当一些对系统要求非常高的时候,我们要决定
24、是否继续选用PLC。2 压入机的简述对于现代化工业而言,人力资源的短缺以及生产成本的增加。机械化的推进是唯一可以达成提高劳动利用率的目标,以及降低生产的原始成本。继续用人工生产方式已越来越不能适应当前的实践要求。而对于连续性的生产来讲,机械可以做到完美的执行。但对于现场生产而言,专用机床的使用时解决大批量生产自动化最有效的方式。压入机是种仿真机器人的动作方式,它可以按照预先设定好的顺序要求定位输出产品进行生产加工的自动化设备。2.1 压入机的主要运用方面(1)冲压注塑冲压注塑是种高温作业,操作的危险是不可避免的。为了合理的分配人工,合理的保护工人安全。对于这种高热量,高危险的作业需要去用压入机
25、来进行操作加工(2)定位裁切对于工件的裁切而言,压刀的锋利性和裁切的精准度都是有待考量的事件。对于压入机而言,它可以完美的完成定位运输。装载在其上的压刀可以伴随气缸的驱动完成工件的裁切动作,从而避免了人工裁切的不精准以及大大降低了危险性。目前来说,计算机开发技术的不断革新以及电子传感器的使用。我们可以对压入机的进行完善。压入机已经成为工业生产中提高生产效率的主导因素。2.2 压入机的结构原理目前的压入设备组主要应用于皮带传送、已经工件的定位和工件的压入铆合功能。能过满足工业自动化生产的需求自动形式的压入机运用于各个方面,它能够降低人的劳动强度,改变人的操作环境。一个人完整的压入机主要由执行机构
26、、驱动机构、和控制系统组成。(1)执行机构执行机构主要是动作的实现。一般采用的执行机构包括液压气缸、脉冲马达、伺服电机等。机台的骨架主要用来安装机器的动力源和各种执行机构等。(2)驱动机构一般我们常用的驱动机构主要是:液压驱动、气压驱动、电气驱动以及机械驱动四种。但在实际运用中,电气和气压的驱动方式运用的更为广泛,在运用比例中占的百分之九十以上。相对而言,我们运用液压和机械驱动会比较少。(3)控制系统本篇设计是采用PLC来进行动作的实现。对于PLC而言,它的编程比较简单、逻辑比较清晰、便于修改,最为重要的一点是它的可靠性比较强。一般的控制要素包含了动作的顺序、动作事件和机械的传动速度等。压入机
27、是以点位的监测进行制动。当工件移动到点位,会反馈信号,进而输出信号动作。2.3 压入机应用的意义机械能够适应各种各样的环境,在这些恶劣的环境下,人没法很好的完成加工要求。但机械可以不受任何影响的去工作。高强度单一的工作方式是对人身心的巨大摧残,不符合人道主义精神。而用压入机去取代人来工作,完全可以解放重复单一的工作给人带来的精神压力或造成不必要的人身伤害。机械生产自动化技术把机械产业发展到了一个前所未有的高度。在机械行业,自动机械关乎一个国家世界竞争力。在对于人才的储备也同样至关重要。加强工业创新能力。压入机的运用是符合时代的轨迹。3 基于PLC的压入机控制系统设计3.1 基于PLC压入系统的
28、概述对于PLC而言,一个完善的程序,可以很好的实现我们的设计要求。而对于本篇论文中的压入机来说,通过安装在机台上的感应装置来感应工件的位置,从而使输入端得到一个输入信号,继而编码输出信号完成机台的运转。完成我们所需要的机台的定位、移动、压入、搬运等动作。通过对程序的扫描输出,完成我们所需要的机台自行运转,继而达到自动化的运转方式。3.2 基于PLC压入系统的控制要求本篇毕业设计的压入机系统示意图如3-1所示。图3-1 压入机的工作示意图上电,机台进入待机全天候等待状态,前段流道保持运转状态。当机台上的来料感应到工件移动到位,机台的第一个定位PING进而进行定位。当第一个定位PING定位完成之后
29、,送料气缸开始动作推送工件。当机台上的压料感应到工件拖运到位后,送料气缸停止保持状态,从而我们开始工件的加工,即压刀下压。与此同时,第二个定位PING开始进行定位。当机器完成工件压入后。即感应器感应到切刀下落到位,切刀会进行置位。第一个定位PING会停止工作。当第一个定位回复到位和第二个定位完成,出料拖运动作。出料拖运进而拖动工件移动到搬运载具,继而搬运气缸回复到位,完成整个压入流程。到机台再次感应到工件时,机台循环运转。(1)输入、输出分配输入、输出分配如表3-1所示。表3-1 输入/输出分配表输入输出X0电源供电Y0来料定位出/回X1电源断电Y1切料拖运出X2来料到位感应Y2切料拖运回X3
30、定位PING到位感应Y3切刀出X4切料定位PING回复到位Y4出料定位出/回X5切料拖运到位感应Y5切刀回X6切刀下落到位感应Y6出料运输出X7切刀上升到位感应Y7出料运输回X10出料定位PING到位感应X11出料托运到位感应X12出料定位PING回复到位X13来料拖运原点感应X14切料拖运原点感应(2)控制动作控制动作如表3-2所示。表3-2 控制动作表指令动作X0闭合自动X1闭合急停X2闭合Y0工作X3闭合T0计时1ST0闭合Y1工作X5闭合Y1停 T1计时1ST1闭合Y3工作X6闭合Y3停 Y4工作 Y0停 Y5工作X4闭合Y2工作X7闭合Y5停 T2计时1SX10T2闭合 Y6工作X1
31、1闭合Y6停 T3计时1SX12闭合Y7工作X13闭合Y2停X14闭合Y7停(3)梯形图梯形图如图3-1,3-2,3-3所示。图3-1梯形图图3-2梯形图图3-3梯形图3.2.1 仿真GX-Works2GX-works是在Windows的基础上运行。主要针对三菱所生产的PLC进行设计、维护以及调试的工作。对比GX-developer的功能性,GX-works2性能和操作更加完善。同时,GX-works2支持在线模拟调试,相对而言适应性更加广泛。在GX-works2中,可以把工程分为两个类别,即简单工程和结构化工程。它还使用了标签的编程,在标签的编程中创建的程序能够通过自动编译分配软元件,可以作
32、为实际的程序来使用。相对而言,GX-works2可以根据用户的喜好来进行画面的排布,通过拖动悬浮的窗口,可以对画面的排列进行自由修改。GX-works2,通过模拟的、功能可以进行离线调试。在不连接可编程控制器CPU的情况下,能够对创建的顺序控制进行调试来确定是否可以正常的动作。GX-works2具备GX-developer的相同工作性能。主要是程序的创建、参数的设置、CPU写入/读取功能、监视/调试以及自我诊断。3.2.2 GX-works2模拟运行(1)PLC的写入。(2)PLC打到RUN 接通X000。当系统上电的时候M8002的触点可以把M0M5寄存器的状态置为最初状态。X000接通为主
33、程序执行的前提条件。(3)X000接通的前提下接通X002。(4)X002接通,M1自锁,状态寄存器M1置位Y000动作。(5)X000接通前提下接通X003。(6)X003接通,T0计时10SY001动作。(7)X000接通前提下X005接通(8)X005接通,Y1停止动作、T1计时10S Y3动作。(9)X000接通前提下X006接通。(10)X006接通,M2自锁,Y3 Y0停止动作,Y4 Y5动作。(11)X000接通前提下X004接通。(12)X004接通,M3自锁,Y002动作。(13)X000接通前提下X007 X010接通。(14)X007 X010接通,X007接通T2计时1
34、0S 后 M4自锁Y006动作。(15)在X000接通前提下接通X012。(16)X012接通,M5自锁,Y007动作。(17)当X013 X014接通时,Y002 Y007停止动作。结束语:对于自己的所编写的压入机,是运用于生产实践中的机器。而本篇论文研究的压入机系统是针对于它的自动化程序段。其发生故障和故障排查不在本篇论文的考虑方位之内。在搜集PLC的资料时,自己对它理解也逐渐加深。之前在书本上学的东西。只是单纯的知道他的一些功能。当自己真正去运用的时候,反而不知道该如何下手。从PLC发展到现在,它的运用非常宽泛。而且,它的品种比较丰富。不同的设计要求,要选用的PLC型号也不同。选用合适的
35、PLC可以避免不必要的资源浪费。在程序的编写上,自己还会犯一些低级错误,不过每次自己都会去努力找出自己的不足之处加以修改。在资料的整理过程里,自己对PLC目前的发展状况有了更深的了解。学习到了很多的新知识,让自己活的充实。自己开始喜欢上这种生活,充实而又有趣。在以后的生活工作中,努力做一名对社会有用的人。致 谢从最初的毕业选题提交开题报告和任务书,以及论文的编写过程,到最后完成论文的编写,每一步走的都显得有些磕磕绊绊,但在老师的孜孜教导下和与同学的热切讨论中,才有了头绪去完成。书本上的东西固然重要但没有实战经验还是没有足够的信心支撑自己去完成整篇论文。因此次研究课题所涉及的知识面比较宽泛且需要
36、一定的创新能力和实践经验,我在开始面对这个课题时一筹莫展,甚至搜集资料都无从下手。然而,人贵在坚持,我没有放弃,对于不懂的问题及时向导师寻求帮助或向其他同学讨教,努力通过各种渠道获取自己所需的知识。在不断的学习中,我取得了很大进步,不但成功完成毕业论文,而且实现了自我提升和完善。时光飞逝,三年的时间转瞬即逝。大学的生活即将结束。三年的学习生涯里。老师们用他们丰富的专业知识以及无私的奉献精神,给我们打下了坚实的专业基础。同时,教会了我们很多做人的道理。在此,我要向我的母校,我的导师,我的同窗表达最热烈的感谢,因为有他们的帮助,我才有信心走出大学这座象牙塔,面向未知的社会。最后,在这里,衷心地感谢
37、各位老师能在百忙之中评阅论文和参加答辩的各位老师!愿你们工作顺利、万事称心。参考文献1 王中杰,于章雄,柴天佑.智能控制综述J.基础自动化,20062 赵松年.机电一体化数控系统设计M. 机械工业出版社,19983 李运华.机电控制M.北京航空航天大学出版社,20034 邓星钟.机电传动控制M.华中科技大学出版社.20015 李静.机电一体化技术基础与产品设计M.机械工业出版社,19966 杨长能,张兴毅.可编程控制器基础及应用M.重庆大学出版社,19997 廖常初.PLC编程及应用(第3版)M.机械工业出版社,20118 高钦和,黄焱.PLC应用开发案例精选(第二版)M.人民邮电出版社,20
38、089 陆鑫盛,周洪.气动自动化系统的优化设计M.上海科学技术文献出版社,2000附录:语句指令表0 LD M80021 ZRST M0 M56 LD X0007 OR M08 ANI X0019 OUT M010 LD M011 MPS12 LD X00213 OR M114 ANB15 OUT M116 MRD17 AND x00318 OUT TO k1021 MRD22 AND X00523 OUT T1 K1026 MRD27 LD X00628 OR M229 ANB30 OUT M231 MRD32 LD X00433 OR M334 ANB35 OUT M336 MRD37 A
39、ND X00738 OUT T2 K1041 MRD42 LD X01043 AND T244 OR M445 ANB46 OUT M447MRD48 AND X01149 OUT T3 K1052 MPP53 LD X01254 OR M555 ANB56 OUT M557 LD M158 ANI M259 OUT Y00060 LD T061 ANI X00562 OUT Y00163 LD M364 ANI X01365 OUT Y00266 LD T 167 ANI M268 OUT Y00369 LD M270 MPS71 ANI T3 72 OUT Y00473 MPP74 ANI
40、 X00775 OUT Y00576 LD M477 ANI X01178 OUT Y00679 LD M580 ANI X01481 OUT Y00782 END附录资料:不需要的可以自行删除C语言编译器的设计与实现 我们设计的编译程序涉及到编译五个阶段中的三个,即词法分析器、语法分析器和中间代码生成器。编译程序的输出结果包括词法分析后的二元式序列、变量名表、状态栈分析过程显示及四元式序列程序,整个编译程序分为三部分:(1) 词法分析部分(2) 语法分析处理及四元式生成部分 (3) 输出显示部分一词法分析器设计 由于我们规定的程序语句中涉及单词较少,故在词法分析阶段忽略了单词输入错误的检查,
41、而将编译程序的重点放在中间代码生成阶段。词法分析器的功能是输入源程序,输出单词符号。我们规定输出的单词符号格式为如下的二元式: (单词种别,单词自身的值)#define ACC -2#define syl_if 0#define syl_else 1#define syl_while 2#define syl_begin 3#define syl_end 4#define a 5#define semicolon 6#define e 7#define jinghao 8#define s 9#define L 10#define tempsy 11#define EA 12#define E
42、O 13#define plus 14#define times 15#define becomes 16#define op_and 17#define op_or 18#define op_not 19#define rop 20#define lparent 21#define rparent 22#define ident 23#define intconst 24函数说明 读取函数 readline( )、readch( )词法分析包含从源文件读取字符的操作,但频繁的读文件操作会影响程序执行效率,故实际上是从源程序文件” source.dat ”中读取一行到输入缓冲区,而词法分析过程
43、中每次读取一个字符时则是通过执行 readch( )从输入缓冲区获得的;若缓冲区已被读空,则再执行readline( )从 source.dat 中读取下一行至输入缓冲区。扫描函数 scan( ) 扫描函数 scan( )的功能是滤除多余空格并对主要单词进行分析处理,将分析得到的二元式存入二元式结果缓冲区。变量处理 find( )变量处理中首先把以字母开头的字母数字串存到 spelling 数组中,然后进行识别。识别过程是先让它与保留关键字表中的所有关键字进行匹配,若获得成功则说明它为保留关键字,即将其内码值写入二元式结果缓冲区;否则说明其为变量,这时让它与变量名表中的变量进行匹配( 变量匹配
44、函数 find( ) ),如果成功,则说明该变量已存在并在二元式结果缓冲区中标记为此变量( 值填为该变量在变量名表中的位置),否则将该变量登记到变量名表中,再将这个新变量存入二元式缓存数组中。数字识别 number( ) 数字识别将识别出的数字填入二元式结果缓存数组。显示函数 显示函数的功能在屏幕上输出词法分析的结果( 即二元式序列程序),同时给出二元式个数及源程序行数统计。二语法分析器设计 语法分析器的核心是三张 SLR 分析表以及针对这三张 SLR 分析表进行语义加工的语义动作。编译程序中语法分析处理及四元式生成部分主要是以二元式作为输入,并通过 SLR 分析表对语法分析处理过程进行控制,
45、使四元式翻译的工作有条不紊的进行,同时识别语法分析中的语法错误。在处理 if 和 while 语句时,需要进行真值或假值的拉链和返填工作,以便转移目标的正确填入。1. 控制语句的 SLR 分析表1 设计过程如下: 将扩展文法GS S1)S if e S else S2)S while e S3)S L 4)S a;5)L S6)L SL用_CLOSURE方法构造LR(0)项目规范簇为:I0: S SS if e S else SS while e S S L S a ;I1: S SI2: S ife S else SI3: S while e SI4: S L L S L SL S if e
46、 S else SS while e S S L S a ; I5: S a; I6: S if e S else S S if e S else SS while e S S L S a ; I7: S while e S S if e S else SS while e S S L S a ; I8: S L I9: L S L SL L SL L S S if e S else SS while e S S L S a ; I10: S a ; I11: S if e S else SI12: S while e S I13: S L I14: S SL I15: S if e S el
47、se S S if e S else SS while e S S L S a ; I16: S if e S else S 构造文法G中非终结符的FOLLOW集如下:FOLLOW(S) = # S if e S else S得FOLLOW(S) = else S L 得FOLLOW(L) = 3) S S 得FOLLOW(S) = else , # L S 因为FIRST(S) = ,所以FOLLOW(S) = else , #, 在()项目规范簇中,只有9有“移进归约”冲突,L SL SL因为FOLLOW(L) FIRST(L) = 所以可以用方法解决以上冲突,最后我们得到的分析表如下:A
48、CTIONGOTO ifElsewhilea;e#SL0S2S3S4S511ACC2S63S74S2S3S4S5985S106S2S3S4S5117S2S3S4S5128S139S2S3S4R5S591410R4R4R4111512R2R2R213R3R3R314R615S2S3S4S51616R1R1R1static int action2011=/* 0 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 1, -1,/* 1 */ -1, -1, -1, -1, -1, -1, -1, -1,ACC, -1, -1,/* 2 */ -1, -1, -1, -1, -1,
49、 -1, -1, 6, -1, -1, -1,/* 3 */ -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1,/* 4 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 9, 8,/* 5 */ -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1,/* 6 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 11, -1,/* 7 */ 2, -1, 3, 4, -1, 5, -1, -1, -1, 12, -1,/* 8 */ -1, -1, -1, -1, 13, -1, -1, -
50、1, -1, -1, -1,/* 9 */ 2, -1, 3, 4,105, 5, -1, -1, -1, 9, 14,/* 10*/ -1,104, -1, -1,104, -1, -1, -1,104, -1, -1,/* 11*/ -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,/* 12*/ -1,102, -1, -1,102, -1, -1, -1,102, -1, -1,/* 13*/ -1,103, -1, -1,103, -1, -1, -1,103, -1, -1,/* 14*/ -1, -1, -1, -1,106, -1, -1,
51、-1, -1, -1, -1,/* 15*/ 2, -1, 3, 4, -1, 5, -1, -1, -1, 16, -1,/* 16*/ -1,101, -1, -1,101, -1, -1, -1,101, -1, -1;其中,前 9 列为 action 值,后 2 列为 goto 值;016 表示 17 个移进状态( 即 Si);-1表示出错;ACC 表示分析成功;而 100106 对应 7 个归约产生式:S SS if e S else SS while e SS L S a;L SL SL2. 算术表达式的 LR 分析表 2 设计如下:S EE E+EE E*EE (E)E i (过
52、程略)ACTIONGOTOI+*()#E0S3S211S4S5ACC2S3S263R4R4R4R44S3S275S3S286S4S5S97R1R5R1R18R2R2R2R29R3R3R3R3static int action1107=/* 0 */ 3, -1, -1, 2, -1, -1, 1,/* 1 */ -1, 4, 5, -1, -1,ACC, -1,/* 2 */ 3, -1, -1, 2, -1, -1, 6,/* 3 */ -1,104,104, -1,104,104, -1,/* 4 */ 3, -1, -1, 2, -1, -1, 7,/* 5 */ 3, -1, -1,
53、2, -1, -1, 8,/* 6 */ -1, 4, 5, -1, 9, -1, -1,/* 7 */ -1,101, 5, -1,101,101, -1,/* 8 */ -1,102,102, -1,102,102, -1,/* 9 */ -1,103,103, -1,103,103, -1;3.布尔表达式的 SLR 分析表3 设计如下:(过程略)S BB iB i rop iB ( B )B ! BA B &B ABO B |B OBACTIONGOTOiRop()!&|#BAO0S1S4S513781S2R1R1R1R12S33R2R2R2R24S1S4S511785S1S4S5678
54、6R4S9S10R47S1S4S514788S1S4S515789R5R5R510R7R7R711S12S9S1012R3R3R3R313S9S10ACC14R6S9S10R615R8S9S10R8static int action21611=/* 0 */ 1, -1, 4, -1, 5, -1, -1, -1, 13, 7, 8,/* 1 */ 1, 2, -1,101, -1,101,101,101, -1, -1, -1,/* 2 */ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,/* 3 */ -1, -1, -1,102, -1,102,10
55、2,102, -1, -1, -1,/* 4 */ 1, -1, 4, -1, 5, -1, -1, -1, 11, 7, 8,/* 5 */ 1, -1, 4, -1, 5, -1, -1, -1, 6, 7, 8,/* 6 */ -1, -1, -1,104, -1, 9, 10,104, -1, -1, -1,/* 7 */ 1, -1, 4, -1, 5, -1, -1, -1, 14, 7, 8,/* 8 */ 1, -1, 4, -1, 5, -1, -1, -1, 15, 7, 8,/* 9 */ 105, -1,105, -1,105, -1, -1, -1, -1, -1,
56、-1,/*10 */ 107, -1,107, -1,107, -1, -1, -1, -1, -1, -1,/*11 */ -1, -1, -1, 12, -1, 9, 10, -1, -1, -1, -1,/*12 */ -1, -1, -1,103, -1,103,103,103, -1, -1, -1,/*13 */ -1, -1, -1, -1, -1, 9, 10,ACC, -1, -1, -1,/*14 */ -1, -1, -1,106, -1, 9, 10,106, -1, -1, -1,/*15 */ -1, -1, -1,108, -1, 9, 10,108, -1, -
57、1, -1;LR 分析表控制语义加工的实现:当扫描 LR 分析表的当前状态为归约状态时,则在调用与该状态对应的产生式进行归约的同时,调用相应的语义子程序进行有关的翻译工作。现在对 LR 分析器的分析栈加以扩充,使得每个文法符号之后都跟着它的语义值。为了清晰起见,我们把这个栈的每一项看成由三部分组成:状态 state ,文法符号 syl 和语义值 val。编译程序实现算术表达式、布尔表达式及程序语句的语义加工时,都是按这种状态栈加工方式进行的。例如:( 5 + 3 ) * 6的分析过程序号STATEValsylinput10-#( 5 + 3 ) * 6 #202-#(5 + 3 ) * 6 #
58、3023#(5+ 3 ) * 6 #4026-5#(E+ 3 ) * 6 #50264-5-#(E+3 ) * 6 #602643-5-#(E+3 ) * 6 #702647-5-3#(E+E) * 6 #8026-8#(E) * 6 #90269-8-#(E)* 6 #1001-8#E* 6 #11015-8-#E* 6 #120153-8-#E*6#130158-8-6#E*E#1401-48#E#15ACC在分析过程中,第(3)步操作后的状态栈为 023,根据栈顶状态“ 3”和现行输入符号“ +”( input 栏字符串的第一个字符)查分析表 ACTION3,+=R4,即按第(4)个产生
59、式 En 来进行归约;由于产生式右部仅含一项,故去掉状态栈栈顶“3”;此时 2 变为新的栈顶状态,再查( 2,E)的下一状态 s:GOTO2,E=6,即将状态 6 和文法符号 E 压栈,最后得到第( 4)步的状态。第( 7)步操作后也是如此,当前状态栈为 02647,根据栈顶状态 7 和现行输入符号“ )”查分析表 ACTION7,)=R1,即按第(1)个产生式 EE1+E2进行归约;由于产生式右部有三项,故去掉状态栈栈顶的 647 三项;此时 2 变为新的栈顶状态,再查( 2,E)的下一状态 s:GOTO2,E=6,即将状态 6 和文法符号 E 压栈,最后得到第(8)步的状态。三中间代码生成
60、器设计:布尔表达式 布尔表达式在程序语言中有两个基本作用:一是用作控制语句( 如 if -else 或 while语句)的条件式;二是用于逻辑演算,计算逻辑值。布尔表达式是由布尔算符( &、| 、!)作用于布尔变量( 或常数)或关系表达式而形成的。关系表达式的形式是 E1 rop E2,其中 rop 是关系符( 如或),E1和 E2是算术式。在这里,我们只考虑前面给定文法所产生的布尔表达式:BB &B | B | B | ! B | (B) | i rop i | i遵照我们的约定,布尔算符的优先顺序( 从高到低)为:!、&、|,并假定&和|都服从左结合规则。所有关系符的优先级都是相同的,而且
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024中介服务项目协议
- 2024适用房产中介购房协议格式范本
- 2024年期建筑工人劳务承揽协议
- 2024年专利技术许可格式协议
- 2024年化玉米购销协议模板
- 2024届安徽省安庆二中、天成中学高中数学试题竞赛模拟(二)试题
- 2023-2024学年浙江省镇海中学高三高考冲刺第一次考试数学试题
- 2024年安全烟花爆竹零售协议样本
- 2024年材料采购协议典范
- 2024年度商品采购协议样式
- 原油电脱盐电脱水技术
- 小学生劳动教育评价细则
- 专业工程分包业主审批表
- XX公司员工跟投管理办法
- 道路运输安全事故报告、统计与调查处理制度
- 甘肃广播电视大学钢结构(本)不计分-3.3小测验答案
- 人员密集场所火灾疏散应急预案(精选14篇)
- 不合理处方登记表
- 养老机构护理管理制度与规范
- 国内外利用活性炭处理硫化氢的原理
- 京津冀异地就医直接结算政策
评论
0/150
提交评论