关键词:
编程过程(精选九篇)
编程过程 篇1
通过宏程序编程和自动编程两种途径都能完成许多使用常规手工编程无法实现的零件特征加工。用户宏程序通过变量来实现用直线对一些不规则线条的拟合, 而自动编程则是凭借计算机的强大的运算能力计算出各个点, 用它们之间形成的直线实现对曲线的拟合。两者之间也有着很大区别。
一、各自的特点
1. 从便捷性
(1) 宏程序编程之前要经过仔细的加工工艺分析, 根据不同的零件和生产要求进行计算, 然后据此编制加工程序, 并且前提要求操作员比较熟悉宏程序的编程。
(2) 自动编程看似比较繁琐, 但其实生成NC程序的过程很接近于一个标准化的步骤, 在师傅的指导下很快就能掌握操作的方法。其前提是有参数化的或是自己制作的零件模型。
(3) 宏程序天生就短小精悍, 只要合理适当地应用宏程序, 一个常规零件的加工程序不会超过60行, 换算成字节, 至多会有2KB, 而常规的机床存储空间大体都在128~256KB之间, 一个机床里一般可以存储上百个宏程序。
(4) 宏程序结合了机床功能和数控指令系统的特点, 采用模块化的程序设计思想进行编程, 合理利用G41, G42刀具补偿指令, 当刀具磨损或者换刀以后只需要修改刀补就能达到一定的精度, 有些零件几何参数发生变化只需要修改宏程序中的变量赋值而不需要改变整个程序。自动编程中刀具磨损或者当零件的几何参数改变时, 都要重新建模, 重新设置加工参数, 重新生成数控程序才能达到加工要求
2. 从机床反应速度
为了对复杂的加工运动进行描述, 宏程序必然会最大限度地使用数控系统内部的各种指令代码, 例如直线插补G01指令、圆弧 (螺旋) 插补G02/G03指令等, 因此机床在执行宏程序时, 数控系统的计算机可以直接进行插补运算, 运算速度极快, 伺服电动机响应快, 机床反应迅速, 加工效率极高。
3. 从加工精度
自动编程产生的加工程序的精度受多方面因素的影响, 首先它受CAD/CAM软件建模时的计算精度, 不同软件之间CAD图档的转换精度的影响, 其次受自动编程软件在生成NC刀具轨迹时的计算精度影响
4. 从调试难度
(1) 宏程序的调试相当复杂, 往往会出现加工出的零件某个地方不对, 可是又不容易从程序上找出错误的地方。还有就是机床上的设置对宏程序的影响往往很不容易看出来, 导致加工的零件错误。这些问题对于接触宏程序不久而且缺乏指导的人来说可是是非常致命的。
(2) 自动编程软件的调试相对简单, 配合自带的加工仿真组件, 使用者可以清楚明了的看到零件的加工过程。不过软件偶尔也会出现实际加工路径与软件上模拟出的不一样的情况或是加工路径不合常理, 效率低下的情况。当遇到这种情况的话, 我们可以自己尝试解决, 比如更换加工顺序, 调整加工路径等方法, 不行的话也可以上网查找解决方法。
5. 从应用范围
(1) 随着技术的发展, 工业零件的复杂性和精度也越来越高, 已经有相当一部分零件的加工开始采用自动编程, 而且确实也有一部分零件用宏程序加工不了或是不易编出程序。
(2) 目前机床的发展日新月异, 采用高速切削技术以及拥有强大运算能力的机床也会越来越多, 这些机床配合自动编程软件将会一定程度上弥补自动编程的缺陷, 使各种复杂的加工在精度及速度上大幅提高, 从而满足客户越来越高的加工要求。
二、编程方式选择
数控程序的质量其判定标准可归纳为:
(1) 完备性:即不存在加工残留区域。
(2) 误差控制:包括插补误差控制、残余高度 (表面粗糙度) 控制等。
(3) 加工效率:即在保证加工精度的前提下加工程序的执行时间。
(4) 安全性:指程序对可能出现的让刀、漏刀、撞刀及过切等不良现象的防范措施和效果。
(5) 工艺性:包括进/退刀、刀具选择、加工工艺规划 (如加工流程及余量分配等) 、切削方式 (刀轨形式选择) 、接刀痕迹控制以及其他各种工艺参数 (进给速度、主轴转速、切削方向、切削深度等) 的设置等。
6. 如果要达到以上要求我们编程人员要做好掌握以下知识:
(1) 熟悉常用的钻、铣、镗、磨、刨床的结构、工艺特点; (2) 有较好的夹具基础。熟悉加工材料的性能。 (3) 扎实的刀具理论基础知识, 掌握刀具的常规切削用量等。特别要熟悉数控机床用的刀具系统。 (4) 了解被加工零件的装配要求、使用要求。
(2) 一些老师傅说过, 工艺是程序的灵魂, 程序是工艺的身体。实际加工中编程方式的选用在日常的加工中, 零件是变得越来越复杂, 很多的编程员或者操作者都懒于思考手工编程的应用, 特别是宏程序的应用, 更有一些操作者做什么零件都依靠软件来编程, 最后连用手工编辑几条直线, 圆弧也不会, 更别说用宏程序编辑加工了。但是手工编程是最基本工, 都是必须掌握的。不能落在一边, 要利用起来。俗话说:书读百遍不如手过一遍。我们在手工编程中能更好的充分展示这些加工的工艺特点, 为更好的使用自动编程奠定基础, 促进自动编程更加完善。
当我们遇到简单的零件时自然可以用手工编程来完成, 稍复杂的规则零件则完全可以用用户宏程序来实现。而遇到一些带曲面的规则零件, 我们完全可以利用自动编程的特征, 采用手工编程 (可以包含宏程序) +自动编程的方式来实现加工, 首先采用手工编程编出出包含整个程序 (不包括曲面部) , 然后采用自动编程加工那些复杂的曲面, 然后将自动编程产生的程序改作一个子程序, 最后在手工编制的程序中调用曲面加工子程序。对于形状复杂或轮廓不是由直线、圆弧组成非圆曲线零件;或者是空间曲面零件即使由简单几何元素组成, 但程序量很大, 因计算相当繁琐, 手工编程困难且容易出错, 必要的时候采用自动编程的方法。
摘要:数控床的加工主要是编程加工, 其程序的编制效率和质量在很大程度上决定了产品的加工精度和生产效率。尤其是随着数控加工不断朝高速、精密方向的发展, 提高数控编程的质量和效率对于提高制造企业的竞争力有着重要的意义。CAM软件自动编程和手工编程有着各自的特长, 我们要充分利用这两种编程模式, 在工作中和学习中提高效率, 提升我们的编程水平。
可编程控制器应用程序的设计过程 篇2
1.启动、停止和保持控制
使输入信号保持时间超过一个扫描周期的自我维持电路构成有记忆功能元件控制回路的基本环节,它经常用于内部继电器、输出点控制回路,基本形式有两种。
(1)启动优先式。图1是启动优先式启动、保持和停止控制程序。
当启动信号X0=ON时,无论关断信号X1状态如何,M2总被启动,并且当X1=OFF( X1=ON )时通过M2常开触点闭合实现自锁。
当启动信号X0=OFF时,使X1=ON(X1=OFF)可实现关断M2。
因为当X0与X1同时ON时,启动信号X0有效,故称此程序为启动优先式控制程序。
(2)关断优先式。图2为关断优先式启动、保持和停止控制程序。
当关断信号X1=ON(X1=OFF),无论启动信号状态如何,内部继电器M2均被关断(状态为OFF)。
当关断信号X1=OFF(X1=On)时,使启动信号X0=ON,则可启动M2(使其状态变为ON),并通过常开触点M2闭合自锁;在X0变为OFF后仍保持M2为启动状态(状态保持为ON)。
因为当X0与X1同时为ON时,关断信号X1有效,所以此程序称为关断优先或控制程序。
2.逻辑控制的基本形式
(1)联锁控制。在生产机械的各种运动之间,往往存在着某种相互制约的关系,一般采用联锁来实现。用反映某一运动的联锁信号触点去控制另一运动相应的电路,实现两个运动的相互制约,达到联锁控制的要求。联所控制的关键是正确地选择和使用联锁信号:
不能同时发生运动的联锁控制;
互为发生条件的联锁控制;
顺序步进控制。
在实践中,顺序步进控制的实例很多。在顺序依次发生的运动之间,采用顺序步进的控制方式。选择代表前一个运动的常开触点串在后一个运动的启动线路中,作为后一个运动发生的必要条件。同时选择代表后一个运动的常闭触点串入前一个运动的关断线路里,这样,只有前一个运动发生了,才允许后一个运动可以发生,而一旦后一个运动发生了,就立即使前一个运动停止,因此可以实现各个运动严格的依赖预定的顺序发生和转换,达到顺序步进控制,保证不会发生顺序的错乱。
集中控制与分散控制。在多台单机连成的自动线上,有在总操作台上的集中控制和在单机操作台上分散控制的联锁。
自动控制与手动控制。在自动或半自动工作机械上,有自动工作控制与手动调整控制的联锁。
(2)按控制过程变化参量的控制。在工业自动化生产过程中,仅用简单的联锁控制不能满足要求,有时要用反映运动状态的物理量,像行程、时间、速度、压力、温度的量进行控制。
按时间控制也是常用的。交流异步电动机采用定子绕组串接电阻实现减压起动,利用时间原则控制减压电阻串入和切除的时间。交流异步电动机星形起动。三角形联结运行的控制采用时间原则控制。交流异步电动机能耗制动时,定子绕组接入直流电的时间也可用PLC控制。按速度原则控制在电气传动中也屡见不鲜。
二、应用程序设计方法
PLC用户的设计没有固定模式,靠经验是很重要的。一般应用程序设计可分为经验设计法、逻辑设计法、利用状态流程设计法等。
1.经验设计法
利用前面介绍过的各种典型控制环节和基本单元控制电路,依靠经验直接用PLC设计电气控制系统,来满足生产机械和工艺过程的控制要求。
用经验设计法设计PLC应用的电控系统必须详细了解被控对象的控制要求才能动手设计。由于该方法的基础是利用经验,所以设计的结果往往很不规范,而且往往需经多次反复修改和完善才能符合设计要求。由于依赖经验设计,故要求设计者有丰富的经验,要能掌握、熟悉大量控制系统的实例和各种典型环节。
经验法设计用PLC程序时可以大致按下面几步来进行:分析控制要求、选择控制原则;设计主令元件和检测元件,确定输入输出信号;设计执行元件的控制程序;检查修改和完善程序。
在设计执行元件的控制程序时,一般又可分为以下几个步骤:按所给的要求,将生产机械的运动分成各自独立的简单运动,分别设计这些简单运动的基本控制程序;根据制约关系,选择联锁触点,设计联锁程序;根据运动状态选择控制原则,设计主令元件、检测元件及继电器等设置必要的保护措施。
2.PLC应用程序的逻辑设计方法
逻辑设计方法的基本含义是以逻辑组合的方法和形式设计电气控制系统。这种设计方法既有严密可循的规律性,明确可行的设计步骤,又具有简便、直观和十分规范的特点。
逻辑设计方法的理论基础是逻辑代数。而继电器控制系统的本质是逻辑线路。看一个电器控制线路会发现,线路的接通或断开,都是通过继电器等元件的触点来实现的,故控制线路的种种功能取决于这些触点的开、合二种状态。因此电控线路从本质上说是一种逻辑线路,它符合逻辑运算的各种基本规律。PLC是一种新型的工业控制计算机,在某种意义上我们可以说PLC是“与”、“或”、“非”三种逻辑线路的组合体。而PLC的梯形图程序的基本形式也是“与”、“或”、“非”的逻辑组合。它们的工作方式及其规律也完全符合逻辑运算的基本规律。因此,用变量及其函数只有“0”、“1”两种取值的逻辑代数作为研究PLC应用程序的工具就是顺理成章的事了。
我们知道,逻辑代数的三种基本运算“与”、“或”、“非”都有着非常明确的物理意义。逻辑函数表达式的线路结构与PLC语句表程序完全一样,可以直接转化。
多变量的逻辑函数“与”运算和梯形图表达式如图3所示。
FY1=∏Xi=X1•X2•…•Xn
多变量“或”运算如图4所示。
FM1=∑Xi=X1+X2+…+Xn
用逻辑设计法对PLC组的电控系统进行设计一般可分为下面几步。
首先明确控制任务和控制要求。通过分析工艺过程绘制工作循环和检测元件分布图,取得电气执行元件功能表。
其次是要详细绘制电控系统状态转换表。通常它由输出信号状态表、输入信号状态表、状态转换主令表和中间记忆装置状态表四个部分组成。状态转换表全面、完整地展示了电控系统各部分、各时刻的状态和状态之间的联系及转换,非常直观,对建立电控系统的整体联系、动态变化的概念有很大帮助,是进行电控系统的分析和设计的有效工具。
有了状态转换表,便可进行电控系统的逻辑设计。包括列写中间记忆元件的逻辑函数式和列写执行元件(输出端点)的逻辑函数式两个内容。这两个函数式组,既是生产机械或生产过程内部逻辑关系和变化规律的表达形式,又是构成电控系统实现控制目标的具体程序。
PLC程序的编制就是将逻辑设计的结果转化。PLC作为工业控制计算机,逻辑设计的结果(逻辑函数式)能够很方便的过渡到PLC程序,特别是语句表形式,其结构和形式都与逻辑函数非常相似,很容易直接由逻辑函数式转化。当然,如果设计者需要由梯形图程序作为一种过渡,或者选用的PLC的编程具有图形输入的功能,则也可以首先由逻辑函数式转化为梯形图程序。
程序的完善和补充是逻辑设计法的最后一步。包括手动调整工作方式的设计、手动与自动工作方式的选择、自动工作循环、保护措施等。
3.利用状态流程图的程序设计方法
如前所述,状态流程图又叫状态转移图,它是完整地描述控制系统的工作过程、功能和特性的一种图形,是分析和设计电控系统控制程序的重要工具。利用状态流程图进行程序设计时可以按以下几步进行。一是按照机械运动或工艺过程的工作内容、步骤、顺序和控制要求画出状态流程图。二是在画出的状态流程图上以PLC输入点或其它元件定义状态转换条件。当转换条件的实际内容不止一个时,每个具体内容定义一个PLC元件编号,并以逻辑组合形式表现为有效转换条件。三是按照机械或工艺提供的电气执行元件功能表,在状态流程图上对每个状态和动作命令配上图上实现该状态或动作命令的控制功能的电气执行元件,并以对应的PLC输出点的编号定义这些电气执行元件。
很多PLC生产厂家都专门设计了用于编制步进顺序控制程序的指令。三菱FX2系列PLC和配置的大量状态器(S0—S899)就可用于步进顺序控制程序的设计。
用步进指令设计PLC程序时,通常是利用状态流程图,而且设计的程序与状态流程图有严格的而明确的对应关系。
设计时,首先要按工艺及控制要求画出系统的状态流程图,用状态器(S0—S899)对各状态命名,标出与各状态对应的执行元件的PLC输出编号和各状态条件的PLC输入编号。然后就可以用STL/RET指令编程。
图5是一个包含用选择性分支、跳转和局部循环的自动工作机械的状态流程图。
4.程序调试和模拟运行
PLC应用程序设计完成以后,可以在实验室里或办公室里进行模拟调试和运行。程序检验是第一步,将编好的应用程序输入编程器,经过程序检验,改正编程语法和数据错误,再逐条搜索与所设计程序核对无误后传入CPU模块RAM存储器中。
(1)信号的模拟。用模拟开关模拟输入信号,开关的一端接入相对应的输入端点,另一端作为公共端,接在PLC输入信号电源的负端(当要求输入信号公共端为正端电源时)输入程序后,扳动开关,接通后断开输入信号,来模拟机械动作使检测元件状态发生变化,并通过输入、输出端点的指示灯来观察输入输出端点的状态变化。
(2)按状态转换表进行模拟运行。首先对照输入信号状态表,设置好原始状态情况下所有输入信号的状态,再使PLC运行。按工步状态在一个工作循环里逐步转换的顺序,依次发出状态转换主令信号,则系统将依次进行工步状态转换。每发出一个状态转换主令信号,系统将结束一个工步状态转入下一个工步状态。仔细观察输出端点指示灯,并与执行元件动作节拍表对照,看各输出端点的状态是否在每个工步状态里都与执行元件动作节拍表里要求的状态一致。如果是一致,说明PLC应用程序设计正确,符合控制要求。这样逐步检查,以使其都达到状态。
检查和修正编程错误。当模拟运行带某一工步状态,发现某个输出点的显示与执行元件动作节拍表要求的状态不一致时,则编程有错需要修改。这里首先检查标号是否有错;逻辑函数是否正确;PLC程序是否有误;输入程序是否正确,一般说来,经过上述几点检查,定会找出并改正存在的错误。
用户程序通过调试和修改,正确通过模拟运行,设计任务即告完成,转入现场使用调试。
极限编程过程的研究与改进 篇3
极限编程是一种轻量级的软件开发方法论。极限编程从实践中来,是对实践的总结,也是经过实践检验的,其主要特征是要适应环境的变化和需求的变化,充分发挥开发人员的主动精神[1]。极限编程承诺降低软件项目风险,改善业务变化的反应能力,提高开发期间的生产力,为软件开发过程增加乐趣,相信这些足以吸引每个人的眼球[1]。在极限编程的项目开发中,首先引入了四个变量:成本、时间、质量和范围,通过研究变量之间的相互作用,将项目开发分析的更为透彻。为了能够成功地实施极限编程,极限编程制定了四个准则:沟通、简单、反馈、勇气;十二条原则:小型发布、规划策略、系统隐喻、结对编程、测试、简单设计、重构、代码集体所有、持续集成、每周40小时工作制、现场客户、编码规范,以及对开发人员的工作要求:编码、测试,倾听和设计。极限编程是一个非常庞大的知识库,每一项都是一门值得深究的学问[2]。
1 极限编程标准过程
极限编程是一种简洁、高效、优良、通用的软件开发方法。但死板的根据极限编程开发过程来开发软件也是难以奏效的。极限编程方法的许多关键实践都有其不可避免的局限性。如图1所示,标准的极限编程分为设计阶段和开发阶段。在开发阶段,开发人员通过现场客户提供的用户故事确定系统需求。根据系统需求,使用系统隐喻实践方法确定系统如何运作、新的功能以何种方式加入到系统中。在开发阶段,系统通过迭代的开发方式进行开发。在开发过程中,首先将测试代码写好,再以结对编程的方式编写代码,直至所有的测试都得以通过。在整个开发过程中,要求对系统进行持续集成,随着需求的改变,不断的进行回归测试。
2 极限编程的改进
根据中小型系统开发中的特点,极限编程标准过程具有一些局限性,实际应用中需要根据其自身特征,对极限编程过程进行改进。
2.1 局限性
2.1.1 自动化测试的局限性
极限编程开发的核心是使用自动化测试。但是对中小型项目开发过程来说,自动化测试往往没有必要。主要有以下两个方面的原因:
1)“测试优先”原则没有成为一种习惯。大部分软件开发人员习惯先开发后测试的开发流程,很不习惯极限编程中的“测试优先”原则,影响系统测试效率。
2)部分系统需要使用手工可测试方法。例如,在开发网络页面程序时,尽量少采用图形界面的测试框架。因为一方面,Web页面变动会比较大。需要测试脚本做很大改动甚至重写,增加工作量;另一方面,对于不同的浏览嚣,按钮的位置都会有所不同。所以,不是所有的测试都能通过工具实现自动化。
2.1.2 结对编程的局限性
结对编程是极限编程中的一种非常有效的改善沟通的重要实践方法,也是极限编程与其他软件开发方法的重要区分。结对编程指由两个程序员在同一台电脑上共同构建解决同一问题的代码。虽然结对编程是一种比较好的实践方法,但是在所有情况下都采用结对编程是不现实的,它具有其自身的局限性[3],如图2具体显示了传统编程与结对编程开发代码总量的差别[4]。
因此,结对编程并不适应中小型系统开发的要求,尤其是不能满足中小型系统开发过程要求快速、灵活的策略。
2.1.3 持续集成的局限性
极限编程提倡在一天中集成系统多次,而且随着需求的改变,要不断的进行回归测试。但是对于一个中小型系统来说,由于代码量、模块有限,过于频繁的进行持续集成会对系统开发起到反作用,阻碍了系统开发效率。[5]
2.2 具体改进
通过上文对极限编程标准过程部分实践方法局限性的分析,针对中小型系统开发的特点,本文提出了对极限编程标准过程的改进,对标准极限编程中的部分实践方法进行修改,建立较为完整的过程体系。给出一套适应中小型系统设计开发的极限编程改进过程。
2.2.1 手工测试代替自动化测试
中小型系统一般采取快速、小团队的开发模式。但自动化测试需要人力、时间开发自动化脚本,需要开发人员去适应先测试后开发的原则。但是这些对人力、时间的需求会占据中小型系统开发中原本不富裕的人力、时间资本;另外,在项目界面发生变化时需要对测试脚本做很大修改甚至重新编写测试代码,增加工作量;而且自动化测试要求使用专业测试工具,这些因素导致在中小型系统开发过程中采用自动化测试会加大开发成本,降低开发效率。所以,在极限编程改进过程中,采用手工测试方法,取代自动化测试。
2.2.2 传统的单人编程代替结对编程
虽然结对编程可以促进编程人员的团队协作、集体开发能力。但中小型系统往往需要快速开发,时间长短是衡量中小型系统开发的重要标准。首先,公司不会给开发人员充分的时间适应结对编程。另外,短时间内完成大量的代码,对于中小型系统开发是非常重要的。但是通过上文的分析,对于代码量的开发方面,结对编程远远比不上单人编程。所以,在极限编程改进过程中,决定用传统的单人编程代替结对编程。
2.2.3 放弃持续集成
对于一个中小型系统来说,由于代码量、模块有限,过于频繁的进行持续集成,会对系统开发起到反作用,阻碍系统开发效率。并且在持续集成会遇到一些突发情况:比如一些比较大的需求变更,开发工作量比较大,不能在一个发布周期内完成,或者开发的功能中有一部分应客户要求暂缓上线。问题就出现了:按照极限编程要求的持续集成的实践方法,一个未完成的功能会集成到即将发布的软件版本里,或者是不能上线的功能被集成到软件版本里。这样的版本是不能发布的,否则会有很多问题。但是,其他的发布内容对客户来说仍然很重要,唯一的办法只能是将不能发布的部分分离出来。但这样对开发工作量大的需求变更来说困难太大,许多程序包括测试都要回退,而且只能手工完成,花时间不说,更大的问题是发布版本的质量难以保证,甚至会引起系统混乱。所以在极限编程改进过程中,放弃持续集成。
通过以上的分析,具体极限编程改进过程图如图3所示。
开发人员通过现场客户提供的用户故事确定系统需求和系统用户角色。根据系统需求,使用系统隐喻实践方法构建系统的体系结构、功能模型以及系统规范。在构建系统框架后,通过迭代开发方式进行系统开发,主要完成系统功能的增量迭代。开发过程中,使用单人编程方式进行具体代码的开发,并应用手工测试进行开发完成后的功能块测试。
3 结束语
本文以极限编程为背景,对极限编程的过程改进进行研究。首先,在对极限编程的标准过程进行分析的基础上,给出了适用于中小型系统开发的,以用户故事、系统隐喻及迭代开发为主要实现方法的极限编程改进过程。其次,将极限编程改进过程应用于实际的软件项目管理系统的设计开发中,解决了标准极限编程过程在中小型系统开发过程中无法与实际需求相吻合的不足。
参考文献
[1]夏显鄂,梁洪峻.敏捷软件开发与计划驱动开发的概述比较[J].计算机工程与设计,2007,28(16):4035-4037,4062.
[2]蒲菊华,熊璋,吴振兴,等.XP方法及其应用研究[J].计算机工程,2003,29(2):99-101.
[3]梁海华,朱淼良.大型复杂项目的极限编程改造方案[J].计算机工程,2008,34(11):88-90
[4]Potter N S.Making Process Improvement Work:A Concise Action Guide for Software Managers and Practitioners[M].Addison WesleyProfessional,2002:2-3,47-49,85-90.
编程过程 篇4
“数控车加工工艺与编程操作”是一门涉及数控技术应用专业的方向课程,学生只有通过本门课程的学习,才能对零件加工做出工艺分析,编写零件的程序,从而在数控车床上加工出产品。所以,该课程具有具足轻重的地位,建设质量直接影响人才培养质量。
【关键词】教学模式;数控车;课程建设;加工工艺与编程操作
一、国内“数控车加工工艺与编程操作”课程建设现状
在国内,许多院校借鉴德国、日本等发达国家的先进职业教育理论和课程建设成果,对“数控车加工工艺与编程操作”课程进行了初步的开发。但由于国情不同,国家宏观政策环境和学校内部管理机制严重滞后于课程体系改革的要求,地区经济社会发展的差异性导致改革效果不理想。在中职“数控车加工工艺与编程操作”课程内容几乎千篇一律,不能反应最新数控知识,理论和实践课时比例严重失调,数控机床系统落后,现代化数控设备较少,实训指导教师无企业工作经验,技能水平低,考核形式单一,不能正确反映学生水平,达不到教学做一体化的现代教学模式。
二、基于以工作过程为导向的教学模式“数控车加工工艺与编程操作”课程建设思路
根据产业发展实际需要,和企业专家共同研究数控加工行业人才需求,岗位职业标准,以学生职业能力培养为目标,共同制定课程标准。以工作过程为导向重构课程内容,根据岗位典型工作任务提炼出学习情境。教学时间按照项目任务化开展,项目涉及进阶式的实际设计案例为线索来进行。通过“教学做”一体化的课堂教学,创新教学模式。变革教学方法,改革考核评价工作运行机制,激发学生学习主动性和兴趣,开发出基于工作过程为导向的“数控车加工工艺与编程操作”课程。
三、基于以工作过程为导向的教学模式下的“数控车加工工艺与编程操作”课程开发设计
(一)企业专家和教师共同制定课程标准
我们数控技术专业组邀请企业技术专家和相关行业的能工巧匠,与专业教师一起开展了“数控车加工工艺与编程操作”课程建设研讨会。从数控车床操作工工职业岗位的实际工作任务所需的专业知识、专业技能与职业素养要求、数控车床操作工等职业技能鉴定要求、学生今后可持续发展要求等发面,共同确定了本课程的培养目标,制定了课程标准,并在专业人才培养计划中加以实施,实现课程与岗位对接。
(二)以工作过程为导向重构课程内容
本课程以典型工作任务转化而来的学习情境为教学内容,把学习情境分解为若干个工作任务,以此为载体设计教学环节,形成能营造真实工作情境、高度仿真企业工作环境的教学案例。
具体方法是对相应岗位技术核心能力要素加以提炼,将职业标准融入到课程中。整合该课程内容,构建了“数控车加工工艺与编程操作”课程的学习项目。
在学习情境中,设计了多个工作过程的学习任务单元。这些工作任务既包含了零件加工系统的相关基础知识,也包含了数控车加工工艺,机械制造的原理。
(三)创新教学模式
理实结合,以“教学做”一体化的教学形式开展课程教学,“数控车加工工艺与编程操作”实践性非常强。授课在“理实一体化”教室有利于理论与实践的结合。通过以学生为主体,老师为主导的教学模式改革,可以使学生变被动为主动,提高学习兴趣和积极性。
具体教学过程按照项目教学六步法,每个“项目”又分解为六个任务,每个任务包含了完成任务所需的专业知识、专业技能和职业素养要求。主要包括零件图样的识读与车削工艺分析、零件工艺及编程知识准备(其中包含拓展知识)、数控车工艺文件填写与识读、程序编写及优化、车床操作及加工、项目过程评价及零件的检测、每个项目都配有思考与练习。
让学生自主思考、分组讨论、给出方案,最后动手操作。通过这样容融“教学做”为一体的教学方式,学生获得解决实际问题的能力。使学生感受真实工作情境,体验企业工作流程,岗位操作规程和职业素质,保证了学生学习与实际工作的一致性。学生学习目的性更明确,主动性更强,学习效果也大大提高。
(四)变革教学方法和教学手段
为了提高“数控车加工工艺与编程操作”课程的教学效果,除了在教学内容、小学组织、教学设计上下功夫外,还采用多种教学方法,开展了启发式、互动式教学的研究与实践,探讨应用了角色扮演法,头脑风暴法,项目教学法,小组讨论法等多种教学方式交叉进行,调动学生积极性。以学生为主体,加强独立学习和操作技能,注重培养学生独立分析和解决问题的能力。
本课程采用课件、录像、动画、微课等多种教学手段,解决学习的难点与和重点,演示操作步骤和操作规范,扩展行业新的动态信息,达到事半功倍的效果。
同时,依靠现代网络信息技术,利用网络课程平台进行课程教学。网络课程平台中的教案、课件、教学录像等教学资源都是免费的,供学生自学。除此之外,学生还可以与任课教师进行交流,提出对课程的提问和建议,极大地提高了学生学习的的积极性和主动性,同时也扩大了学生的知识面,学生自学能力明显提高。
(五)构建多元化考核评价工作运行机制
建立过程考核(任务考核)与期末考核(课程考核)相结合的方式,过程考核占70%,期末考核占30%(见表1)。
采取评价主体多元化和评价内容多元化的方式,考核分为过程评价与期末考核两部分。将教师评价和学生自评、小组互评相结合,将职+业素养和专业知识、专业技能相结合。
四、总结
编程过程 篇5
1 Java编程语言
1.1 Java语言由来
Java是由Sun公司根据嵌入式软件的需求,将C++语言进行了更改,开发出的命名为Oak的面向对象语言更名而来,在1995年Sun正式发布了Java和Hot Java浏览器后,IBM,Apple,微软等各大公司,都争相购买Java的使用许可证,并建立了相应新的Java平台来研发自己的产品。在2006年,Sun公司宣布要将Java技术免费让外界使用,在2007年Java的源代码已可以让任何开发人员使用并修改,为Java语言的发展和其他语言的诞生奠定了良好的基础。
1.2 Java语言的特点
Java由C++衍生而来,属于计算机高级语言之一,剔除了C++一些不会经常使用的语句,比C++更加简单占用内存也变得比较少,更容易让人熟悉,与底层硬件无关,只需要一次编写就能完成在各个不同平台环境下运行,这是Java语言与生俱来的优势。随着Java语言的发展,其程序的编写难度是不断降低的,程序员也把重心放在为Java语言编写与框架设计,Java变得更具规模化且实用性得到提升。
1.3 Java语言当前发展情况
就目前的发展情况来看,Java编程语言深受程序云喜爱,各大知名企业都很热衷于购买Java的许可证,进而深入对Java语言的开发研究,开发与应用系统不断增多使得Java语言也在不断地完善与被创新,无形中对各个领域的蓬勃发展注入了生机与活力。
1.3.1 常用环境
Java经过几十年的不断发展,拥有了一些较为清晰的框架,进而发展为多种分支,如根据Java2为中心可以分成企业版的J2EE平台,标准版J2SE平台及微型版的J2ME,每个平台具有不同的特点,在长期实践下发现还是标准版J2SE广为大众所接受,在企业中的应用也很广泛。基于Java语言使用是自由的前提下,更多用于企业环境,随着科技水平日新月异,IT产业得到顺利发展,许多企业也在不断地转型中,企业版本中的J2SE平台促使Java编程显著提升,使得计算机的变成占用内存更小,服务器增大。
1.3.2 促进PC时代到来
计算机是IT领域发展的基础,然而计算机现在已经不是访问互联网的唯一方式,目前各种电子产品已经涌入了IT领域,大大推动了IT领域发展与创新,由于传统的客户机已经不能很好地满足系统的要求,PC比较传统客户机却具有更大的优势,另外Java语言应对PC的要求都能一一满足,且降低了内存直接可以在不同终端运行,其被识别范围也是非常之广,所以最终PC时代极大可能会成为将来的主流。
2 RSA算法研究
2.1 RSA算法简析及信息交换过程
2.1.1 算法简析
RSA算法属于公钥密码体制,是目前使用最为广泛的,在经过各种各样攻击的影响下,RSA算法的安全性受到了比较大的冲击,但同时其算法也在一直进行改进,模在持续增多,由于RSA算法一般都是大整数间进行模的幂计算与模的相乘计算,造成其运行速度比较慢。RSA的体制在理论上是安全的,但在实际运用中发生的情况都是不一定的,由于不同的系统对于速度与安全性等有不同的要求,造成攻击者可以根据系统特性去攻击RSA密码体制,从而成功破译,所以需要不断改进RSA算法来提高其安全性。
2.1.2 实现信息交换过程
当双方进行信息交换时,一方生成出一对密钥后需要将其中一把密钥作为公开密钥提供给另一方,另一方需要使用已知公钥再加密信息后发送给对方,之后在进行一系列加密措施,这样的好处在于无须让用户交换密钥,这样的运作是为了让密钥不那么容易被解密,但是同时也有一些不足,即加密与解密所花时间也会相应增长,由于这个因素导致只适合于对少量数据加密保证实施进度。
2.2 RSA算法基础计算
RSA算法体制需要数学基本知识作为基础,涉及素数、模运算、单向函数等大量数学知识,这些即为其算法的本质。下面是RSA算法的基本流程图
2.2.1 素数
定义是一个大于1的整数,如果这个数它的整因数只有1与本身,那么这个数就称为素数(或者质数),不然就是合数,例如2,3,5等等这样的数即为素数。
2.2.2 模数计算
这里假设一个正整数N,如果用N去分别除以a,b两个整数,计算出的结果的余数相同,就可称a,b对于模数N来说同余数,记作a=b(modm),如果不一样就说a,b对模数N来说不同余,则记作a≠b(modm)
2.2.3 单向函数计算
将f设为一个函数,在任意给定x情况下,轻易可以计算出y使y=f(x),但相反任意给定y,计算x使f(x)=y却很难,这样的情况下就可以将f称为一个单项函数。例如函数式f(x)=a^x,根据基本的数学知识知道a^x可以将x个a相乘算出结果,但是如果面对的是给定任意y,计算a^x=y这样的计算还没用发现一个很有效的计算出的方法,这里也可以将f(x)=a^x看作单项函数。
2.3 针对RSA密码体制的解析
从现有理论分析,RSA密码的安全性是取决于大模数因数分解结果,越困难越难破解,在实际中从技术分析来说这是不一定的,因为没有任何数据证明分解大模数就可以保证一定能攻击破解RSA密码,实际上大模数的因数分解一直难以找到有效解决方法,对业界专家来说是十分头疼的问题,但是在广泛应用中证明了RSA算法安全性是十分可靠的,但是在一些情况下如果密钥的设置不当则会带来相应安全问题,通过分析可以发现RSA存在目前几种缺陷。
2.3.1 运行速度较慢
在大数分解过程中,模数的大小造成分析是否困难,大数的模幂运算是算法的核心,通常来说,RSA安全系数与模数长度成正比,模数越大影响造就算法安全性提升,同时也会造成解析时间变长,所以运行的速度受到影响就会大大减慢了。应对这样的问题,技术人员找出了一些应对方法,如使用专门的硬件去实现其算法,以及适当选择实现算法参数也能加快运行速度。
2.3.2 素数问题
早在2000多年前,就有古希腊学者给出了证明素数是无穷无尽的,而且因为素数毫无规律可循的原因,导致根本无法找到一个可以代表全体素数的公式,现在素数产生都是随机生成的,然后通过素数判别法来判断是否是素数,可以通过确定性素数判定法和概率性素数判定法来判定。
2.3.3 安全性面临新考验
3 用Java语言实现RSA算法
3.1 编程中算法的描述
RSA加密算法属于非对称加密算法的一种,与对成加密不同的就是需要两个密钥,已知RSA公钥体制是以数论的寻求两个大素数当它们相乘的乘积足够大的情况下,按照现今条件很难将它们的乘积分解,在这样的体制中,每个用户拥有一对密钥,公开密钥与私密密钥,公开密钥知道的,但是私密密钥是保密的,加密算法公开但是私密密钥由公开密钥决定,但由于大素数相乘结果来分解非常困难,所以难以根据公钥计算出私钥。
RSA的构造过程即根据用户所输入的p(公开)与q(私密)的bits随机产生的大素数,公式是:n=p*q选择Java语言作为编程语言是因为由于安全要求,n的位数要尽可能大一些,甚至达到1024b以上,Java则可以很方便地处理大数据。随机选择密钥e,e的要求是和(p-1)*(q-1)相互为质数。解密密钥d要满足n与d互质,最后e和n作为公钥,d是私钥。加密信息的密文为:ci=mi^e(mod n)解密密文为:
3.2 秘钥对的产生与源程序
实现RSA算法的重要技术就是产生随机数,密码的安全性也是建立在随机数基础上的,因而大素数都是由随机数产生而来,大素数直接影响着密码是否安全,另一个技术方面体现在素数检测方面,当产生了两个随机大素数后,要检测两个大素数是否是由随机序列构成的整数,避免被重复会造成的安全性降低。在程序中根据输入的p,q位数值Bit,用Big Integer(Bit10,rand)方法随机产生素数p,q,e,t=(p-1)*(q-1),因为e的位数和p,q相同,则一定满足e<t。源程序如下:
由于在Java语言中大数big Integer具有应对大数处理和将大数进行运算等功能,用Java编程就可以很轻易地获取大数数据并且编写RSA公钥算法的程序,
4 总结
由于Java语言具有平台无关性特点,若是不对编写后的语言进行加密很容易使用户经过一些手段获取源码使信息发生泄漏,运用RSA加密算法对文件进行加密,从而可以达到防止盗用、保护版权等目的。使用Java编程实现RSA旨在将技术应用于各个不同系统平台,RSA公钥算法从提出到现在已经差不多有25年,经历了种种考验也,被认为是目前最优秀的公钥之一,不仅如此,RSA公钥算法还是第一个能同时应用于密码签名和数字签名的算法,大大简化了其操作流程,容易让人理解,由于Java语言其可被自由在不同平台使用且都能很好地兼容的特点,所以可以在不同的平台上用Java编程来实现RSA算法,保证了其可操作性和安全性强的优势。
参考文献
[1]王惠玲.基于Java的IDEA加密算法探讨[J].中国科技信息,2010(22).
[2]张萍萍.基于RSA的公钥密码理论分析[J].信息科学,2011(2).
[3]邵丽萍.Java语言程序设计[M].北京:清华大学出版社,2012(10).
[4]凌捷.计算机数据安全技术[M].北京:科学出版社,2013(3).
编程过程 篇6
精馏塔是现代炼油、化工等工业过程中使用最为广泛的分离设备,同时也是化工工程中最主要的耗能单元之一。降低精馏塔能耗的措施大体可以分为两类:第一类是对精馏塔本身进行改造,这里典型的有T.Takamatsu,M.Nakaiwa等的iHIDC[1],这种方案由于涉及到对塔的结构的较大改造,实施难度较大;另一类是在传统精馏塔的基础上,通过改造塔的外围设备或者外围结构来达到提高能源利用效率的目的,这包括热集成,热泵等。热集成的使用会受到一些技术上面的限制[2];而热泵系统易于实施,可控性优于热集成系统[3],因而是较为理性的节能方案。
1 吸收式热泵精馏
吸收式热泵精馏常用溴化锂水溶液或氯化钙水溶液为工质。由再生器送来的浓溴化锂溶液在吸收器中遇到从再沸器送来的蒸汽,发生了强烈的吸收作用,不但升温而且放出热量,该热量即可用于精馏塔蒸发器,实际上热泵的吸收器即为精馏塔的蒸发器。浓溴化锂溶液吸收了蒸汽之后,浓度变稀,即送再生器蒸浓。再生器所耗用的热能是热泵的原动力。从再生器中蒸发出来的水蒸汽在冷却器中冷却、冷凝,而后送入精馏塔冷凝器,在此冷凝器中,塔顶馏出物被冷凝,而水又重新蒸发进入吸收器。由此可见,精馏塔的冷凝器也是热泵的再沸器。
吸收式热泵按照机内循环方向的不同可分为:冷凝器压力大于蒸发器压力的第一类吸收热泵(AHP)和蒸发器压力高于冷凝器压力的第二类吸收式热泵(AHP)。AHP需要高温热源驱动,但不需要外界冷却水,能量得到充分利用,主要应用于生产热水;AHT可利用低品味热能直接驱动,以低温热源与冷却水之间的温差为推动力,可产生低压蒸汽。
AHT的结构如图1所示。图中E为蒸发器,G为再生器、A为吸收器、C为冷凝器,H为热交换器。工质热力循环过程的说明如图2所示。图中TEV:蒸发温度(℃),TC:冷凝器温度(℃),TA:吸收器内最高温度(℃),PH:蒸发器和吸收器内水蒸气压力(高压),PL:再生器和冷凝器内水蒸气压力(低压),XH:工质在循环操作过程中高浓值(质量%),XL:工质在循环操作过程中低浓值(质量%)。
在传统的精馏塔中,塔顶蒸汽多余的热量需要冷凝水进行冷凝,然后才能回流或者出料。而热泵精馏塔系统可以提高蒸汽的温度和压力,用于加热塔釜物料,产生蒸汽并推动整个精馏塔的正常运行。
2 热泵精馏塔的数学模型
热泵塔的建模按照子系统划分的方法可以自然的分为两个部分,其一是精馏塔端的建模,其二是热泵端的建模。
2.1 精馏塔模型
Skogestad.S[4]对典型的精馏塔的模型进行了分析和设计,建立了精馏塔的稳态、动态模型。本文所考虑的苯、甲苯二元分离热泵精馏塔系统的精馏塔部分即是以Skogestad的“塔A”[4]模型为基础建立的,该模型考虑了流体水力学的性质,使得仿真结果更接近实际的情况。
2.2 热泵端模型
1)流体沿管壁降膜流动传热。在蒸发器内,液体水沿传热管外壁降膜流下,吸收废热蒸出水蒸气。在吸收器内,LiBr溶液沿传热管外壁降膜流下,吸收来自蒸发器的水蒸气并释放吸收热被流经管外的载热体带走。在再生器内,LiBr溶液同样沿管外壁降膜流下,吸收来自管内的废热并析出水蒸气而提浓。这三种情况下,水的降膜蒸发属于流体降膜流动传热问题。后两种情况,在忽略传质阻力,按传热问题考虑的情况下,也属于流体降膜传热问题。
2)水蒸气沿管壁的膜状冷凝传热。冷凝器内水蒸气的冷凝属于这类传热过程。冷凝传热有两种形式:膜状冷凝和滴状冷凝,而滴状冷凝的传热效果好于膜状冷凝,但滴状冷凝不易实现,本文将冷凝器内的水蒸气冷凝按膜状冷凝处理。
在吸收器、冷凝器和热交换器的管内,流体进行的传热过程属于管内无相变强制对流传热。为提高传热效果,流体应处于湍流状态。
上述各种传热过程的分析计算可参考文献[5~8]。
换热单元的设计:
针对各换热单元传热面积的具体设计计算,需采用数值积分的算法一般步骤为[5,6]
1)初步选定设备尺寸和传热面积Fo。
2)在入口与出口之间分若干段。
3)查取各段的节点管内流体和管外流体的物性数据,求算其流动参数,进而计算管外流体和管内流体的传热系数a0、ag以及传质系数KG。
4)计算各节点处的热流密度q。
5)根据热量衡算关系,计算换热区各段的换热量∆Qi。
6)采用数值积分法,计算总传热面积F
式中,qmi为各段上下节点处热流密度的平均值。
7)比较F与F0,若相差较大,则重新估计传热面积F0,重复步骤1)到步骤6),直到F与F0之差的绝对值在允许的误差范围内。
3 吸收热泵的编程设计及优化
生产条件及工艺要求:
本文研究的热泵精馏塔属于塔顶吸收式热泵精馏塔,用于分离苯/甲苯的二元混合物。该精馏过程是由一个精馏塔和一个热泵系统构成。热泵系统吸收塔顶多余的热焓,升温后用于加热塔底的物料。
精馏塔共有30块塔板,在15块上进料(从塔釜开始向上数,塔釜作为第一块塔板),进料温度为93℃,热状况系数为1.考虑实际的需要,塔底产品组分有如下硬性约束:
塔顶产品组分有如下的软约束:
废热源为由凝聚釜顶流出的水蒸气和苯气体的混合气体。混合气体压力为1.3kPa,温度为98.9℃,被空冷器冷却后降为73℃(共沸点),总流量为512kmol/h。因此,废热量为2.2×105k J/h左右(约5800kW)。
冷却水温度为27℃(进口)~31℃(出口)。流进吸收器的循环热水温度96℃。流量150t/h。循环热水为需要吸收废热从而成为有用能量的载热体,工艺要求流出吸收器的循环热水温度达到112℃。
对吸收热泵系统,在总废热量给定的前提下,当TC(冷凝温度)、TEV(蒸发温度)、XH(溶液的最高浓度)、XL(溶液的最低浓度)及φ(换热器的换热效率)确定后,系统的状态将被确定。在满足生产工艺要求前提下,如何确定这些参数是一个系统的优化问题。在吸收热泵的设计中,一般追求设备投资的回收期最短,所以在系统优化的计算中亦以此作为目标函数。
根据上述要求,确定下列参数优化的范围:TEV为75~80℃,TC为33~38℃,XH为54%~58%(质量),XL为48%~52%。
目标函数:
本着投资回收期最短的目的,目标函数TI应为:
式中:PR(FS)为设备投资,与总传热面积FS有关;S为年运行效率。输入的总废热量一定,则回收所得得有用能量与COP(能量利用率,即输出有用能量/废热能量)成正比,因此年运行效率就与COP成正比。
本文所制作的吸收器热泵装置的设计计算及优化的程序软件的目的,是在TEV、TC、XH和XL的优化范围内找出一组最佳数值使目标函数TI达到最小,这一组操作参数值便是所设计的吸收热泵使用的操作参数值。另外,程序还要计算出该组最佳操作参数下热泵各操作单元的换热面积,热泵的总COP、温度提升幅度及各操纵状态点的数据等,这样就确定了整个吸收热泵的设计及操作方面的主要数据。
该软件的主程序负责整体热力循环计算及系统优化工作,单元子程序负责各操作单元内部的计算,核心工作是求算传热面积。本为对所需使用的各工作流体的物性(粘度、焓值、导热系数等)随影响因素(如温度、浓度等)的变化进行了数据拟合,求得了函数关系,以此作为数据库子程序供主程序和单元子程序调用。
在输入初始数据(操作参数、工厂工艺条件及若干选定的设计数据等)后,主程序按热力循环计算部分的计算过程求得各操作状态的数据后,代入各单元子程序,各单元子程序对各操作单元进行计算,将有用值(主要是传热面积)返回主程序,从而完成一组设计计算。当优化范围内的各组操作参数分别输入程序计算完毕后(有用的值要存入数组),主程序将各组操作参数的经济性能进行比较,找出最优的一组操作参数。
主程序最后要输出最佳的一组TEV、TC、XH、XL的数值和该组参数下的各操作单元的换热面积、各状态点数据及吸收热泵的COP等性能参数。
程序优化设计的计算结果:
最佳操作参数为:蒸发温度77℃,冷凝温度34℃,工质高浓值55%,工质低浓值50%。
所求吸收热泵性能指标:再生器顶端溶液温度:81.1℃,再生器底部溶液温度:68.04℃,吸收器顶部溶液温度:113.4℃,吸收器底部溶液温度:107.3℃,进入吸收器之前的溶液温度:75.5℃,进入再生器之前的溶液温度:83.4℃,流出蒸发器的废热温度:79.8℃,流出再生器的废热温度:72℃(被利用之后的废热温度),循环水被提温之后的温度:110.9℃(有用能量)。能量利用率47%。按优化的操作参数所得的各状态点的数据如表1所示。
设备总换热面积:1975.81m2。
投资回收期:三年
经济评估:
在优化的基础上COP按0.47计算,每年节省的蒸汽Ga:
式中,Q为吸收热泵的总放热量kJ/h,Nh为每年的小时数,YW为水的蒸发热kJ/kg。
每t蒸汽按70元计,则每年能节省费用245.6万元。若污水处理费为1.65元/t,则每年可节省的污水处理费为5.75万元。
4 结论
本文根据精馏塔的工艺条件和技术要求设计了一套吸收式热泵,按资金回收期最短的目标进行了优化设计,求得最佳操作参数为:蒸发温度77℃,冷凝温度34℃,工质高浓值55%,工质低浓值50%。通过计算,该吸收热泵装置的能量利用率达47%,可以回收较高比例的废热。该热泵的提升温度的幅度近30℃,具有使用价值。通过理论计算,该热泵可使返回凝釜的循环水的温度提升到111℃左右。
吸收热泵技术在国外应用技术上是完全成熟的,在国内的应用才刚刚开始,但是国内的吸收制冷技术已有相当的基础。AHT装置使用的材料,各组成部分的结构、设计方法、技术措施以及运行的经验等与吸收制冷十分相似,因此在开发国内的AHT装置,无论在技术上还是在经济上都是完全可行的。
参考文献
[1]Huang Kejin,Zhan Dezhi,M Nakaiwa,T Takamatsu.Mode-ling and Analysis of Internal Heat Integrated Distillation Columns[J].Chinese J.of Chemical Eng.,1999,7(1):67-76.
[2]O Annakou and P Mizsery.Rigourous Investiga-Tion of Heat Pump Assisted Distillation[J].Heat Recovery Systems&CHP,1995,15(3):241-247.
[3]P Mizsey and Z Fonyo.Engergy integrated distillation sys-tem design enhanced by heat pumping[J].Distillation and Absorption,1992,IChemE:1369-1376.
[4]S Skogestad and M Morari.Understand the dynamics behav-ior of distillation columns[J].Ind.Eng.Chem.Res.,1988,27(10):1848-1862.
[5]林纪方,等.化学工程手册[M].化学工业出版社,1982,131-161
[6]尾花英朗.热交换器设计[M].工学图书株式会社,1977,51-93
[7]施林德尔EU.马庆芳,等译.换热器设计手册[M].机械工业出版社,1989,96-123.
编程过程 篇7
顺序控制系统拓扑结构:在顺序控制系统中,其设备队列的基本形式在通常情况下可以分为五种;有些队列是共同使用同一个设备。拓扑结构对系统流程有决定性作用,同时决定其起或停两种方式;队列的开头和结尾两部分的设备通常会根据系统流程或起停方式的改变而发生变化。
控制系统的设计要求:设备的运行方式可以分为两种,一种是集中联锁控制,另外一种是就地单机控制,切换由中控室来完成;在检修和调试时主要应用就地单机控制,在这种运行方式下,设备的开停主要由控制箱上的按钮来控制;正常生产的时候主要应用集控联锁的方式,控制时利用中控室的控制台来进行。设备不同,起停的延时时间也会不同,原则上是堆煤不能在运行时进行,停车后也不能存煤。
控制台的设计:现在的控制台一般都是软件的,在屏幕窗口由工控组态软件生成控制台画面,要想发布命令或者是对系统进行操纵,只需要点击鼠标即可。JST两位开关切换系统的就地与集控方式,对设备的硬件控制电路直接作用;集控起车流程由FLOW三位开关来进行选择;A路集控起车与否由ASA两位开关来决定;B路集控起车由BSA两位开关来决定;象JST、JSTP等常开按钮,要想使其闭合,只需要按下即可,要想使其断开,只需要放手即可。
2 单台设备的状态分析
单台设备的硬件控制回路:每台设备的工作方式可以分为两种,一种是手动,一种是自动;在切换的时候主要利用的是控制台上的系统运行方式开关控制中间继电路JKA。在自控方式下,闭合JKA-1节点,打开JKA-2节点,那么设备中间继电器KMA线圈的通电和断电就由PLC输出节点PLC-OUT来进行控制,从而对设备供电接触器的通断和设备的开停进行控制。在就地手动方式下,打开JKA-1节点,闭合JKA-2节点,在控制时利用的就是就地控制箱上的常开按钮和常闭按钮。
单台设备的软件控制回路:队列中的一员就是自控方式下的设备,队列排序是依据煤流方向来进行的,起车依据的是逆煤流顺序,停车是依据顺煤流顺序,在单台设备方面,要想起车,必须要等到后继设备起动,并且稳定运行之后方可。停车也需要等到前驱设备彻底停稳之后才能进行。对于PLC程序控制设备的开始或停止,通常将设备控制梯形图程序分成三个级别:起车脉冲主要是通过前两级产生的,设备如果在这么一段脉宽时间中,无法启动,那么就说明启车失败;第三级是对设备进行实质性的控制,即针对设备的软件控制回路,以及硬件控制回路之间的相互作用,对其进行自控而有效的转换设备的起车停车以及各种状态。
3 顺序控制系统的状态分析
自控方式下系统的状态图如下所示:
停车待命状态:已经设置好控制台的控制开关,所有的设备可以正常接受系统发出的起车指令。
起车预告状态:集控起车的命令由控制台发出,没有异常的话,就将进入起车预告状态。
逆煤流顺序延时的起车状态:即发出起车指令,在预定的时间范围内,未收到禁止启动要求的情况。具体即队列末端设备最先启动,接着沿着逆煤流的方向,逐台自动进行延时起车,直至起动队列的首端设备为止,若稍延时,系统即转成正常运行状态。
正常运行状态:在这个状态中,所有的设备都可以稳定的运行,说明系统所处的状态可以正常运行。在此过程中,若队列中任意一台设备出现停车的情况,则系统即会进入相应的故障状态中。
顺煤流顺序延时的停车状态:不管是在正常运行的系统中,还是在有故障出现在了运转的部分设备上,将集控停车按钮按下,都会进入顺煤流顺序延时停车状态。
故障状态:不管在哪种状态下,系统只要出了问题,就会进入故障状态。
4 实现系统状态转换的梯形图控制程序
起车的硬件条件并不麻烦,即将控制台的开关进行相应设置,则系统的状态就是停车待命;将集控起车按钮JST按下之后,系统的状态就变为了起车预告;如果在30秒之内没有收到禁止启动的命令,则系统状态即转成逆煤流顺序起车;而一旦队列起始设备启动,那么就结束了起车过程;如果在起车的过程中有故障发生,或者将急停按钮按下,那么系统就会从起车状态退出来。如果稳定运行队列起始设备,在延迟40秒之后,系统就会结束起车状态,进入正常运行状态。
5 结论
随着时代的发展和科学技术的进步,PLC控制系统的应用范围越来越广。本文以某选煤厂的原煤系统为例,首先简要介绍了控制对象的特点,然后进行了了单台设备的状态分析和顺序控制系统的状态分析,通过实践研究证明,有着较好的效果;但是还存在着一些问题,需要进行解决。
摘要:本文以某选煤厂的原煤系统为例,首先简要介绍了控制对象的特点,然后进行了了单台设备的状态分析和顺序控制系统的状态分析,希望可以提供一些有价值的参考意见。
关键词:顺序过程,状态,编程实现
参考文献
[1]叶树华.PLC顺序过程控制系统的状态分析与编程实现[J].计算机应用与软件,2003,2(5):123-125.
[2]陈化,刘龙龙.PLC过程控制系统的分析与设计[J].中国高新技术企业,2008,2(7):34-37.
编程过程 篇8
一、数控编程与加工一体化教学过程评价制定的思路
(一)评价应融入工作过程,以评价促进学生综合能力的发展
综合能力的培养是通过学生完成来源于企业生产的典型任务,从而完成知识和技能、过程和方法、情感态度和价值观学习的统一,不能将专业能力、方法能力、社会能力以及综合能力孤立地“分割”开来,因此对学生的评价应融入工作过程,即过程评价,促进学生综合能力的发展。
(二)构建多元化评价方式
数控实习一体化过程评价采取的形式有定量评价、定性评价或教师评价、自我评价、小组评价、团队评价等多元化的评价方式。
定量评价是根据教学目标,给予学生评定结果具体的成绩。定性评价就是根据学生在学习过程中的表现,如劳动态度、实事求是和创新的精神等按照甲、乙、丙、丁等递进形式给予评价。
通过实施多元化的评价,把评价焦点从学生的学习能力扩展到参与状态、交往状态和情绪状态等方面,有利于学生学习信息的多方位、多角度的交流,有利于突出学生学习的主体地位,提高教学效率,促进学生全面的发展。
(三)让学生成为评价的主人
教师要公开评价标准,使评价体系更加明朗透彻,并教会学生正确运用它们,同时对参与考核评价的学生要提出更高要求,要求考核评价成员要有高度的责任感,带头履行职责,自觉接受大家的监督,减少各种不利考核评价的人为因素干扰,真正使考核评价公平、公证、公开、透明,使学生成为评价的主人。
二、数控编程与加工一体化评价体系的建立和组成
(一)数控编程与加工一体化评价体系的建立
数控编程与加工学习任务的提取主要是来自于工程机械中的典型部件,学习过程中虽然要求学生掌握的知识及技能较多,主要有以下方面:工艺分析、加工前的准备及零件绘图等。
针对数控编程与加工一体化固定的教学框架,因此在设计评价体系时,就是以固定的教学框架体系中的五个活动为评价过程,以各活动中的教学环节为评价点,建立评价体系从而实现过程评价。
(二)数控编程与加工实习一体化评价体系的组成
针对以上数控编程与加工一体化固定的教学框架,数控编程与加工一体化过程评价主要由四部分组成。第一部分是任务活动的综合评价;第二部分是任务活动学生自我综合评价;第三部分是支撑上述评价运作的教师评价用表、学生团队评价用表;第四部分是记录整个活动的过程的教师工作手册记录表。
(三)任务活动过程综合评价
任务活动过程综合评价采取的是定量评价的形式,评价记录了学生在每个活动过程中表现及任务成绩的汇总。活动过程评价主要包括评价项目、评价内容、评价标准、配分标准。
1.评价项目:评价项目主要由六个模块组成,由常规项和五个活动项组成。
2.评价内容:评价的内容主要是由支撑每个活动的教学环节组成,按照教学环节的先后顺序回答问题。
3.评价标准:评价标准的制定,遵循考核评价人员易记住好操作的原则。
4.配分标准:配分标准采取100分制,其中20分为加分项,80分为减分项。
(四)任务成绩的汇总
一体化的考核评价实行过程化模块考核,重点评价学生的学业成果和职业能力的形成,即每完成一个教学任务,均进行学业成果的评价与反馈,学业成果可体现为实物、视频、PPT、文稿等形式。
三、数控编程与加工一体化评价体系的实施方法
参与实施数控编程与加工一体化评价体系的人员,主要有一体化教师、保障团队负责人、安全团队负责人及小组负责人。
四、数控编程与加工一体化评价体系的特点
评价模式形成固定的形式,适合于工程机械典型零部件的装配与调试的任一活动,也给其科目的评价提供了思路,同时经过实践的验证操作简单切实可行。教师学生共同参与评价符合一体化的宗旨。评价融合在教学之中同步进行,保证了教学内容在教学过程中得到落实,达到教学目的。
总之,一体化评价体系的建立和运用,使评价不再游离于教学之外,而是真正成为一体化教学的助力器,并且紧密地融合在整个教学活动中,从而达到促进学生的学习与综合能力发展的教学目的,实现了教、学、评一体化。但评价体系是一个庞大的系统工程,还需在实践中不断地完善巩固和提高。
摘要:一体化教学改革推行,已经凸显出传统的终结性考试不能适应新的教学体系,不利于学生综合职业能力的提升。初步在数控编程与加工一体化教学过程尝试了过程性考核,学生受益匪浅,现从一体化教学过程评价制定的思路、构建、实施过程及特点等几个方面展开论述。
关键词:数控编程与加工一体化教学,学习过程性评价,经验
参考文献
[1]赵志群.职业教育工学结合一体化课程开发指南[M].清华大学出版社,2009.
编程过程 篇9
1. 查错
(1)如果出现语法错误,在编译的过程中系统就会给出相应的提示信息,但是由于C语言错误信息定位不是特别精确。例如,当提示第5行发生错误时,如果在第5行没有发现错误,从第5行开始往前查找错误并修改之。
(2)一条语句错误可能会产生若干条错误信息,只要修改了这条错误,其他错误就会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即运行程序,如果还有很多错误,要一个一个地修改,即每修改一处错误要运行一次程序。
(3)注意阅读出错信息,很多错误在提示信息中都是很容易识别的。
2. 常见的典型错误及分析
(1)书写标识符时忽略了大小写的区别。
例1:
编译程序出错提示是A是未定义变量。C语言严格区分大小写,对于大写A和小写a,系统会认为是两个不同的变量。很多初学者在书写时遇到像C和c这类大小写比较接近的标识符,常常不留意而造成错误。
(2)分号的处理不当。
例2:
在语句a=10后面缺少了分号,一般而言,C语言每一条完整的语句的后面都是以分号作为结束的,如果缺少,不会通过编译并会给出相应提示。但是,也并不是每一条C语言的语句后面都有分号,当出现了多余的分号,编译系统会通过,但是,程序运行的结果将会大相径庭。
例3:编程求100到1000之间的所有水仙花数并输出。(水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。(例如:1^3+5^3+3^3=153)
这个程序的运行结果是1000,原因就在于for语句的括号后面多了分号,因此循环体是一条空语句。
一般而言,像for, if, while小括号后面的语句体只要不是空语句,是不应该加分号的,do-while除外。
(3)使用scanf函数时&符号使用不正确。
例4:
在上述例题中,两条scanf语句的使用都出现了问题。在使用scanf函数进行读入数据的时候,输入列表是要求以变量名前加地址的形式出现的,但是,在数组中,数组名本身就是数组的首地址,所以str前面不再需要地址符号,应分别修改成
(4)变量使用之前未被定义或者定义数组的时候没有给出数组的大小。
例5:从键盘输入n个数,再顺序输出。
C语言在要求做变量定义的时候,不管是针对变量还是数组,其实质都是为了分配存储空间,便于数据的存取。对于变量来说,存储空间的大小是由其数据类型来决定的,但对于数组来说,其存储空间的大小是由其数据类型和元素个数两者共同确定,因此,在定义的时候必须同时指出数组元素的具体个数,否则系统无法计算出存储空间的大小。
对于例5而言,在这种未明确n值到底为多少的情况下,可以采取两种方式来进行解决:其一,使用内存分配函数calloc (n, size)分配一个长度为n,类型为size的连续存储空间,然后再使用指针访问的方式对数据进行读取;其二,在未知n为多大的情况下,尽可能将数组的大小定义的足够大,以确保在使用时不会出现越界。
例如:
(5)数组下标的越界问题。例如,对于有10个元素的数组a[10],在访问时可以使用的数组下标为a[0]-a[9],如果在程序中出现了printf("%dn",a[10]);编译系统不会报错,但是结果的输出是个无法预计的数值。
3. 结语
在使用C语言进行编程的过程中,经常遇到的错误不止这些,如果是语法错误,则根据编译系统出错提示去进行相应查找和修改即可,若非语法错误,那么就需要编程者去检查程序的结构、算法是否出现问题。本文只是针对初学者在编程过程中最容易出现的问题作了举例和分析,希望读者在以后的学习中,善于总结经验,尽量避免类似错误的发生。
摘要:C语言被称为介于低级语言和高级语言之间的一种功能强大的语言, 它在书写上比较自由, 并且除了语法错误, C编译器几乎不作运行时的错误检查, 而是将其留给了程序设计者, 由此导致其逻辑检查的不严格。本文对初学者在学C语言编程过程中容易犯下的一些常见的语法和非语法错误作了分析。
关键词:C语言,编程,错误
参考文献
[1]谭浩强.C语言程序设计.北京:清华大学出版社, 2006.
[2]谭浩强.C语言程序设计与上机题解.北京清华大学出版社, 2006.
[3]康牧, 赵治国.浅谈C语言中指针使用不当的危险性.洛阳师专学报, 2000, 4.