自动控制程序(共12篇)
自动控制程序 篇1
随着自动化程度越来越高,PLC的投入和普及度也是越来越大。在这么多的PLC控制的设备当中,根据设备特性,和工业生产工艺特性的不同,在编写控制程序时,不能一概而论。
目前存在PLC控制程序中的问题,在于连锁程序的过保护和欠保护。针对设备各种情况的连锁程序,由于编写人员的能力经验等方面造成不同程度的差异,在日后的生产过程中不断暴露出来,需要随时修改,更有甚者还得经过讨论和长期观察才能确定是否修改和修改方案。
先来谈一下欠保护,这是大家普遍能够注意到的问题。当然,PLC的控制程序的优点之一就是能够在不同的情况下有效的出发各种保护信号,最大程度的保护设备。这就是连锁程序存在的必要性。通过连锁程序,方便的对各种不同的数据情况分类,对于不同于常态的情况,发出停机,停泵,启泵,开阀,关阀等等之类的命令。如下就是一段汽轮鼓风机的连锁程序,在程序中,触发任意条件,则会发出STOP命令,即停机命令。(图1)
这段程序是汽轮机和鼓风机的振动值的连锁停机程序,如果没有这段程序,在机组振动大时未发出停机命令,则会引发很大的设备事故,造成很大的损失。所以,该有的保护连锁程序,必须有,否则则会出现欠保护的情况,这对设备(特别是大型旋转设备)是致命的问题。
谈过了欠保护,再来说一下过保护。其实,相对于欠保护,过保护却很少有人注意和重视。可是在实际生产过程中,过保护出现的频率却远远大于欠保护,过保护的问题应该得到更多的关注和重视。本文的重点,就是在于提倡对于过保护问题的程序优化。
过保护从何而来,同样是从连锁程序中来,可是什么样的情况采取什么样的保护连锁程序,需要根据不用的实际生产工艺来看,不能简单的认为同一种设备,就可以采取一样的保护连锁程序,也不能简单的把所有不利于设备的情况全部一一用来参与连锁保护程序。因为,我们如果想要很好的起到设备的保护作用,有两点需要注意:
1,采集到的数据是否准确,如何保证准确,如果不准确怎么办。
2,参与保护连锁的数据是否有直接影响设备的安全运行。
PLC控制程序的优点,在于可以根据采集到的数据不断的判断现在的生产工况,根据不同的工况发出不同的命令,而不同的命令对设备起到不同的作用。所以,信号采集是PLC控制程序的起点,如果这些起点出现问题,即采集到的数据不是正确的数据,会发生什么样的情况?根据错误的采集数据,判断出现在错误的工况,根据错误的工况发出错误的命令,而错误的命令对设备产生错误的作用。由此可见,当采集数据发生错误,故障等原因时,连锁保护程序反而会对设备产生错误的影响。现在的设备,特别是大型设备,由于造价高,安全系数高,设备故障率很低;反观对其检测的测量元件,故障率要高出不少。举例说明以下,一台汽轮鼓风机机组,除了自身的故障率低以外,有操作人员对其监护维护,而检测机组的热电阻(轴瓦温度等),由于长期在高温,机组内部密闭,外部接线密集的环境下,出现故障的几率要比机组出现故障的几率要大,这时候如果保护连锁程序采取对任意温度出现异常都要出发停机信号的话,这就属于过保护了。因为,当热电阻出现故障时,虽然采集到的温度出现异常,但是机组实际运行的温度却是正常的,在机组正常生产时候突然产生停机,这样的情况是完全不必要的,特别是考虑到突然停机对整个生产系统的影响,造成这么大的停机事件竟然是因为一个小小的温度测量元件故障,这是如何都让人无法接受的。所以,针对此类过保护问题,应该采取的措施是,去除单一温度的保护连锁程序,改为同一测点附近的多个轴瓦温度测量元件(也可包括相应的回油温度),多个温度同时检测,采取3取2等多取多的方式,这样一个温度出现故障时,不会影响整个机组,保证生产顺利进行的同时也方便检修的开展。上述例子如图2。
修改前,任意温度超过100度就会引发停机命令
修改前,液位低于1.5发出过低报警触发停泵命令。
除了上述情况以外,过保护还存在一种情况,就是不必要的情况,应该尽量减少保护连锁程序的投入。举例说明,和炼铁高炉息息相关的高炉循环水泵站,负责冷却高炉炉体等,当这个泵站停止工作的话,高炉的安全就完全不存在。所以该泵站的重要性可想而知。在泵站的PLC控制程序中,各种保护连锁程序是少不了的。在一般的泵的工艺使用中,是将水加压输出,特别是将水池中的水加压输出。在高炉循环水泵站中有很多泵,甚至一些高压泵,柴油机泵等等都是这样工艺,目的是为了将水输出至高炉等设备。在泵的一般使用中,为了保护泵的使用安全,有这么一项考虑,就是在水位低时,发出警报,在水位更低,低至无法抽水,为了防止泵的空转,所以这时候要做停泵处理。这种想法在水泵站这种场所基本是常识,但是作为保护控制来说,可以换一种思路。对于如此重要的一个站点,有专业的操作人员监控操作,所以水池的水位一直会处于一个合适位置,不会轻易高出或者低出,甚至会略微溢出也不会让水位偏低,其次,就算液位偏低了,会有报警,一般配备声光报警器,足以引起操作人员去警惕,去抬高液位。所以,水池降到停泵的几率基本为0,经过长时间的考察,未发现本文作者周边的数个高炉泵站发生水池液位过低的现象,实际情况也可以印证。再来看看如果停泵了会发生什么情况,情况一,水池液位无问题,液位测量元件故障导致液位显示为过低,导致停泵,停泵引起高炉冷却水水压不够,对高炉产生不稳定因素;情况二,水池液位真的过低,这时,无论停泵与否,对高炉冷却水的影响是不可避免的,首先考虑的是如何保护高炉,泵空转一阵已经无碍大局,紧急往水池注水,也会需要泵开着。所以,本文分析看来,水池液位低触发停泵这条实在没必要,而且带来的隐患(液位波动或者检修液位导致液位显示为过低)确实很大,为了一个极端情况,而做了保护连锁程序,却带来了更大概率的非必要的停泵,以及更大概率的影响高炉,这种保护连锁程序,可以叫做过保护,应该解除。即使为了极端情况实在需要液位过低停泵这个保护连锁程序,也应该优化为排除掉液位测量元件故障的情况。如图3。
本文讨论了在PLC大面积普及的当下一些连锁保护程序的问题,欠保护和过保护的情况,归根究底,是连锁保护程序编写的不合理,和实际工艺生产要求不符合。所以,在编写程序和生产过程中不断的优化PLC程序,特别是连锁保护程序,这样才能进一步稳定设备生产。
自动控制程序 篇2
产品销售控制程序
FRT/MSP09-2006目的和适用范围:
通过规范产品销售业务,确保产品销售业务按规定程序
和适当授权进行,实现预期营销目标;明确销售合同、计划、出库、货款回收等过程,确保销售与收款业务及其相关会计账目的核算真实、完整、规范。职责2、1战略规划部:组织编制公司年度、季度销售计划,参与公司销售政策的制定,协助主管领导作好公司市场运行调控、管理,组织协调开拓外部市场。
2、2国际贸易部:负责境外市场的规划、开拓、商务谈
判、渠道合作伙伴的维护和管理;负责出口产品的商检、报关、订舱、结汇、外汇核销及退税结算工作;负责出口产品代理商的建档、管理。
2、3各分子公司销售部门:负责相应产品市场的调研、销售与管理、市场开拓、货款回款等工作,协助国际贸易部作好出口产品的发货、结算等工作,按照计划要求,确保营销目标的实现。
2、4财务部门:作好收入的确认,定期进行应收账款分
析,确保销售与收款业务及其相关会计帐目核算真实、完整、规范。工作程序
3.1接受订单与编制销售计划
3.1.1销售部门应加强信息网络建设,搞好与用户的联系和沟通,在广泛收集、处理有关信息的基础上,结合客户定单情况,提前20天制定出下一季度的销售目标和产品预测计划,于每月20日前制定出次月的产品销售计划,经部门领导审核签字,报分公司领导审批。
3.1.2对客户提出的外贸询单,要求以书面形式寻价。对客户要求书面还盘的,国贸部业务人员应及时将有关交易信息反馈给相关人员。
3.2赊销及信用政策
3.2.1销售产品拟采用赊销方式的应对客户信用进行审核。销售部门应首先根据本部门已掌握或客户提供的信用资料,结合产品销售市场情况,提出准予客户赊销的期限和额度,经分公司领导审核后实施。
3.2.2 各单位依据客户的信用资料以及本部门已建立的客户信用档案和记录,每年对客户信用情况进行年度审核或调查,完善客户资信档案。
3.2.3 公司国际贸易部、分子公司销售部门按照《与产品有关的要求的评审程序》要求,针对常规产品、特殊要求产品及投标产品的情况分类进行合同评审工作,并作好有关资料的确认、保管、归档工作。
3.3签订销售合同
3.3.1销售部门发生的所有销售业务原则上必须签订销售合同,销售合同文本由销售部门拟定。对于2万元及以下现款现货的少量产品销售可以不受此项限制。
3.3.2销售合同中,货款回收条款原则上不能超过三个月。
3.3.3 公司国际贸易部、分(子)公司分管领导必须对销售合同内容进行审定,按内部授权交由授权人员签订。
3.3.4销售部门必须将签订的销售合同报合同管理部门备案。
3.3.5销售合同需要变更或提前终止时,应报分管业务的领导同意。
3.4组织销售与收款
3.4.1销售人员要及时核对客户预付款及货款的回收、到帐情况。
3.4.2获得授权的销售人员根据已签销售合同、销售订单或财务部门传/送的收款核实情况,向库房开具发货通知单,或销售部门根据已签销售合同和财会部门收款单,开具发货单通知单(连续编号)送仓储部门,并逐笔录入系统。
3.4.3仓储部门依据发货单按照《 成品库管理办法》程序进行发货、记账。
3.4.4 门卫核实分厂生产管理部门签发的出门证,查对出厂产品与库房出库单是否一致,无问题准予出厂。
3.4.4采用赊销方式的,销售部门及其主管人员应负责货款的按期回收,并建立“谁销售、谁负责货款回笼”的责任考核机制。
3.5财务开票与记账
3.5.1财会部门依据销售合同、核准的发货单和已办出库手续等有关原始单据传/送到金税系统开具销售发票,并加盖印章。
3.5.2 根据金税系统开具的销售发票数据系统生成收入和税金的会计凭证,或根据开具的销售发票、核准的发货通知单等有关销售单据确认收入和税金,编制/录入相应会计凭证。
3.5.3会计主管复核会计凭证后记/过账。
3.6销售退货
3.6.1销售部门受理客户提出的退货申请,并依据退货理由组织相关部门查验和核实,提出处理意见。
3.6.2销售部门将退货申请及核实处理意见报分管业务的领导审定。
3.6.3销售部门根据退货审批意见,将销售退货通知书报送仓储部门。
3.6.4仓储部门审核退货通知书后,将退货产品验收入库,系统生成相应凭证,将核实后的退货产品入库单财务联传/送财会部门。
3.6.5财会部门审核销售折让通知书或退货通知书及
退货产品入库单后,编制/录入折让或退货会计凭证(系统生成退货会计凭证的,不需编制/录入)。
3.6.6会计主管审核销售折让通知书或退货通知书及退货产品入库单,复核会计凭证后又会计人员记/过账。需在会计报表中披露的应当披露。
3.7盘点对账
3.7.1销售、财务、生产、仓储等部门每月一次对产品销售及存货、委托代销产品情况等进行对账和实物盘点,核实情况。对差异情况应及时查明原因并按规定处理。
3.7.2销售部门应及时对赊销货款进行清结。未按合同清结的,要及时采取措施。销售人员负责与客户核对往来账款,发现差异,要查明原因,处理及时。货款回收到账后,财务部门应在一周内通知销售部门。
3.7.3期末财务部门对应收账款应进行账龄分析,合理计提坏账准备,并提出追收措施和建议,报分公司分管业务的领导审核同意后实施。
3.7.4分(子)公司分管业务的领导应组织销售部门和责任人员积极落实清欠措施并严格奖惩。财会部门应按季向主管业务的领导和公司财务主管提供核销合同遗留问题的清结情况,并督促销售部门落实追索工作。
3.8合同的清理、归档
3.8.1合同执行完毕后,销售部门应对合同执行情况进行清理,完善客户信用档案。
4、相关文件4、1《与产品有关的要求的评审程序》 4、2 FRT/QSP15-2206《服务程序》 4、3 成品库管理办法
编制:丁明安
审核:沈中华
批准:吴德奇
自动控制程序 篇3
关键词:桥式吊车;自动定位控制;可编辑控制器
在21世纪,我国经济迅速发展的时代背景下,桥式吊车作为一种大型的搬运起重设备在人们生产生活中的应用越来越普遍。在桥式吊车的运作过程中,吊车控制台是一个非常重要的部分。一般来讲,吊车控制台都是被固定安装在某个位置,然后吊车工作人员借助于透视窗观察来进行相应的操作,劳动强度大,劳动效率也比较低。另外,在桥式吊车的实际工作中,要想吊车把一些笨重物体准确放到人们指定位置也有一定难度。面对这些问题,在新时期,实现桥式吊车的自动定位非常必要。下面,我们就对桥式吊车自动定位程序控制系统的设计进行介绍。
1.桥式吊车场地模型
在对桥式吊车进行自动定位程序控制系统设计的时候,我们要根据吊车的具体场地来进行。这里,我们以某仓库为例,该仓库的桥式吊车安装在仓库大厅的顶部,可以把货物搬运到仓库的任意一个位置,具体的吊车场地模型如下图(图1)。其中,大长方形就代表仓库大厅。中间的一些矩形虚线框代表仓库大厅的一些功能分区,如 、 、 、 等; 区中的带圆圈的序号代表定位点; 代表光电开关。这里我们主要以仓库 区和 区为例,对桥式吊车的自动定位进行设计。
图1 某仓库大厅平面示意图
2.桥式吊车控制系统
2.1.桥式吊车控制系统的组成。
桥式吊车控制系统主要由可编辑控制器、光电开关以及变频器等部件构成,如下图(图2)。整个吊车控制系统的控制功能通过编制可编辑控制器用户程序来实现。在具体的操作过程中,操作员界面发出相关指令,进入到可编辑控制器,经过逻辑运算等处理后,利用变频器对大小车以及吊钩电机等进行控制,而吊车的具体位置信息通过光电开关进入可编辑控制器,从而实现定位点的自动对中。
图2 桥式吊车控制系统图
2.2.桥式吊车的操作员界面。
桥式吊车的控制系统由控制柜和控制台两个操作界面组成,用于吊车控制和相关状态显示。控制台的具体操作界面如下图(图3)。其中,“米”字形图标代表的是大小吊钩和吊车的手动控制开关;“个位”、“十位”等图标代表的是状态波段开关,这些开关是用来对自动定位中的定位点编号进行选择的。
图3 桥式吊车控制台界面
3.桥式吊车自动定位设计
通过对桥式吊车进行自动定位设计,吊车的吊钩可以自动从仓库大厅的任何一个区域到指定的另外一个区域位置。具体设计如下。
3.1.仓库大厅分区和光电开关设置。
在大车方向设置 、 和 三个光电开关,从而把仓库大厅分为 、 、 、 四个功能区。然后在小车方向也设置 、 和 三个光电开关,把 区分为 排 个定位点,每排三个,共四排。具体情况见图1。
3.2.桥式吊车自动定位的具体运行。
在一般情况下,吊车的吊钩沿着大车或者小车分时进行行走作业。但是,如果大小车能够同时行走,就能够以更快的速度到达指定的位置。具体来讲,当桥式吊车在自动运转的情况下,小车首先进行到 所对应的区域,这时小车停止运作,大车开始向目标位置移动,当大车达到目标位置之后,小车再向目标位置行进,而当小车也到达目标位置的时候就对中了目标位置。
4.结束语
目前,桥式吊车在库房、车间等地方已经被广泛应用。我们通过对桥式吊车自动定位程序控制系统的研究,实现桥式吊车的自动定位功能,可以大大地降低吊车操作人员的劳动强度,提高吊车的工作效率。在桥式吊车整个自动定位的具体设计中,功能分区、光电开关等相关的硬件设置科学合理是其中的一个方面,程序软件设计是另外一个重要的方面。比如,吊车自动运行的启动、停止条件的设计,吊车运作中大小车的运动速度和运动方向的设置,大小车目标位置的选择等,程序条件和参数的设置直接关系着吊车的操作性能。所以,在吊车自动定位系统的设计中,我们要把握好硬件和软件两个方面,使吊车的自动定位更加准确,更好地为人们的生产生活服务。
参考文献:
[1]李自强,李光建,潘隆轩.桥式吊车多点自动定位程序控制系统设计[J].核动力工程.2010(01):34-35.
[2]樊贵祥.可编程控制器对冶金原料吊车的控制研究[J].科技资讯.2009(23):11-12.
[3]王志刚.桥式起重机自控系统设计及关键技术研究[D].长安大学. 2009.
取水泵自动控制PLC程序设计 篇4
我厂日供水能力为30万吨,取水泵站共4台水泵。1号、2号、4号为干式潜水泵,额定功率为160kW,流量为3 600m3/h,转速为740r/min,扬程为12m,额定电压为380V,额定电流为310A,频率为50Hz。3号泵为变频立式水泵,额定功率为185kW,流量为4 200m3/h,转速为590r/min,扬程为12m,额定电压为380V,额定电流为386A,频率为50Hz。取水泵房部分工艺图如图1所示。
2自控系统说明
2.1系统简介
泵站控制系统采用施耐德Premium TSX 57系列PLC为控制核心。通过PLC输入和输出信号,按照设计好的程序自动完成各设备的开启或关闭;通过以太网与上位机实现通信。设备运行分为手动控制和遥控控制(即为中控控制),中控控制又分为中控一步化控制和分步控制。
2.2人机界面
上位机操作系统使用美国Wondeware公司的Intouch软件作为开发平台,显示取水泵站流程图,功能强大;通过MBENET访问以太网PLC,通讯速度及人机界面刷新反应快。故障发生时,上位机及相应PLC发出声响报警,控制软件跳出故障报警,显示故障现象。
2.3取水泵遥控控制
采用取水泵动力取水,分一步化控制和分步控制。
(1)一步化控制。开泵:点击对应泵体操作框开泵按钮,电动出水阀和泵前电动阀自动全开,然后取水泵自动运行,一步完成操作。停泵:点击对应泵体操作框停泵按钮,取水泵自动停止运行,然后电动出水阀和泵前电动阀自动全关,一步完成操作。
(2)分步控制。开泵:点击对应电动出水阀体操作框开阀按钮,电动出水阀和泵前电动阀自动全开,然后点击对应泵体操作框开泵按钮,取水泵自动运行,完成操作。停泵:点击对应泵体操作框停泵按钮,取水泵自动停止运行,然后点击对应电动出水阀体操作框关阀按钮,电动出水阀和泵前电动阀自动全关,完成操作。
3号取水泵为变频泵,在原控制程序基础上加入变频控制程序,分为自动和中控控制两种方式。自动控制:根据参数设定中的进水流量自动调节水泵转速使流量接近设定值。中控控制:根据参数设定中的频率设定值,使水泵按设定频率值运行。
3取水泵主要控制程序设计及说明
取水泵主要控制程序设计如图2所示。
程序主要采用移位指令实现取水泵一步化开、停泵控制:一步化开泵指令为on,shif移位shif:X1为on,执行开阀程序;阀门全开信号为on,shif移位shif:X2为on,执行开泵程序;水泵运行信号为on,shif移位shif:X3为on,完成开泵全过程。一步化停泵指令为on,shif移位shif:X4为on,执行停泵程序;泵运行信号为off,shif移位shif:X5为on,执行关阀程序;阀门全关信号为on,shif移位shif:X6为on,完成停泵全过程;同时移位程序复位,shif=1,即shif:X0为on。中控分步控制:分步控制为on,移位程序锁定,开、关阀,开、停泵分别接受上位机指令(开阀指令、关阀指令、开泵指令、停泵指令)。另开泵时阀门必须在全开位,才能执行开泵程序。中控和自动控制方式能平滑切换,使系统操作更方便、灵活。
4结束语
改进控制程序 篇5
采取有效的改进、纠正和预防措施,实现公司质量、环境、职业健康安全管理体系的持续改进,提高质量、环境、职业健康安全管理体系过程的有效性和改善产品的特性,满足顾客不断变化的要求,增强顾客的满意度。适用范围
本程序适用于公司质量、环境、职业健康安全管理体系改进、纠正和预防措施的制定,实施和验证的活动。职责
3.1 本程序中的质量改进控制程序由公司技术质量管理部负责制定、修订、解释和归口管理;生产技术部、项目部、管理部。
3.2 本程序中的环境、职业健康安全的改进控制程序由公司管理部负责制定、修订、解释和归口管理;生产技术部、项目部、管理部。
3.3 公司各职能部门负责实施及信息反馈。4 工作程序 4.1 持续改进
持续改进是增强满足顾客不断变化要求的能力的循环活动,改进的重点是改善产品的特性和提高质量、环境、职业健康安全管理体系过程的有效性。
4.1.1 根据质量、环境、职业健康安全的方针和目标,公司相关职能部门应做好:
a)在公司范围内新风净化设备的研发和销售的环境管理、职业健康安全管理现状进行调查研究,并向管理评审提出“为提高质量、环境、职业健康安全管理体系有效性的改进措施报告”;
b)通过质量、环境、职业健康安全目标的考评,找出差距,对存在的问题制订改进措施,向管理评审提出书面报告;
c)通过市场调研和对顾客满意度的调查分析,向管理评审会议提出公司应有的对策和措施报告;
d)管理评审会议确认的改进措施,由最高管理者批准在全公司执行。4.1.2 公司各部门根据本公司的质量、环境、职业健康安全目标,定期对部门质量、环境、职业健康安全管理体系的运行和质量、环境、职业健康
安全目标及产品质量状况进行评审,评审的主要内容:纠正和预防措施实施情况、产品/过程的现状(产品的合格率/优良率、安全生产,质量事故等),公司改进措施在本单位的实施情况,要在由主管领导主持的公司或项目经理部质量、环境、职业健康安全管理会议上,对本单位质量、环境、职业健康安全目标完成情况提出质量、环境、职业健康安全管理体系修改意见,工程/产品/过程的技术改进措施的意见,经会议讨论,由主管领导审批,部门、项目部实施。
4.1.3 各职能部门要认真执行公司提出的改进措施。结合本部门和本项目特点和质量、环境、职业健康安全目标,充分收集顾客对工程/产品的特性要求,研究为达到顾客满意必须对生产过程/生产工业进行改进的措施,制订实施计划/方法,提供资源,积极实施并验证实施效果。
4.1.4 公司生产技术部和管理部分别负责质量、环境、职业健康安全管理体系改进实施后的验证和评定。
4.1.5 根据实施、验证的情况,指出新的改进方向,提出新的改进目标,在下一次策划的管理评审/质量、环境、职业健康安全管理会议提出新的改进措施的意见。
4.1.6 持续改进的现状调查、原因分析、实施验证都要形成记录,并按照《记录控制程序》管理。
4.2 纠正措施
是对已发现的不符合,针对其产生不符合的原因采取措施消除不符合原因,防止不符合的再次发生。
按本程序的职责划相关部门按下列各条负责实施。4.2.1.1收集已出现质量不合格产品的信息:
a)顾客的意见(包括顾客抱怨),其他相关方的意见;
b)公司领导或职能部门检查项目质量管理后要采取的纠正措施; c)内审、外审中发现的不合格项,管理评审后认为应采取的纠正措施; d)不符合要求的采购物质材料
e)发生重大质量事故之后应采取的纠正措施。
4.2.1.2收集已出现的环境和职业健康安全不符合事实的信息:
a)相关方的意见及群众举报;
b)公司领导或职能部门安全和环境检查后要采取的纠正措施; c)内审、外审中发现的不符合事实后应采取的措施;
d)发生重大环境、安全事故后,由公司管理部配合相关部门对事故进行调查,弄清楚和分析不符合事实发生的原因应采取的纠正措施。
4.2.2 按评审处置权限,由有关部门填写“不符合措施通知单”。4.2.3 责任单位/部门按不合格品措施的要求实施。
4.2.4 对已按不合格品措施实施完成的单位/部门进行验证和评价,对未达到要求的单位/部门重新制订纠正措施,直至达到目的,并形成记录。
4.2.5 质量、环境、职业健康安全管理体系的纠正措施按《内部审核控制程序》、《环境、职业健康安全运行控制程序》执行。4.3 预防措施
是为了消除潜在的不符合的原因或潜在的质量、环境、职业健康安全隐患,以防止不符合、质量缺陷、质量通病或其他质量、环境、职业健康安全方面不希望发生而采取的措施。
按本程序的职责划分,公司相关部门按下列各条负责实施。4.3.1.1 收集潜在的质量不合格因素或隐患的信息。a)从产品的研发过程中;
b)从顾客或其他相关方提出的意见中; c)从管理记录中;
d)从监视、测量、数据分析的报告中; e)从管理评审、内部审核、外部审核中。
4.3.1.2 收集潜在的环境、职业健康安全不合格因素或隐患的信息 a)从研发和销售过程中; b)从其他相关方提出的意见中; c)从管理制度和记录中;
d)从监视、测量、数据分析的报告中; e)从安全、环境习惯性违章和事故、事件信息。f)从内部审核、外部审核和安全绩效监测中。
4.3.2对潜在的不符合因素或隐患进行分析,对采取措施的必要性、可行性进行评价,由责任部门或单位制订可行的预防措施计划。措施内容要求可以在:
a)公司在编制的研发设计销售过程中对难点,以往工作的质量缺陷,质量通病、管理制度中或其它不希望发生的质量、环境、职业健康安全问题明确应采取的预防措施;
b)针对研发销售过程中的关键、难点单项工序提出应预防的工程质量、环境、职业健康安全措施。
4.3.3 责任单位(部门)按预防措施计划的要求负责实施,并作好实施情况的记录。
4.3.4 对已按预防措施计划完成的单位(部门)由责任单位(部门)的主管人员进行验证和评价,确定进一步改进的方向和目标。
4.4 通过对持续改进、纠正措施、预防措施实施有效性的评价以后,对有效的措施所引起的管理手册,程序文件等相关文件的更改,按《文件记录控制程序》执行。
可编程序控制器的比较使用 篇6
目前世界上生产PLC的厂家很多,美国通用电气公司、德国的西门子公司、日本的三菱、欧姆龙等公司都比较著名。市面上常用的有三菱FX2系列、松下FP1系列、欧姆龙C系列和西门子S7系列等机型。尽管不同厂家生产的PLC种类和功能不尽相同,但其基本结构与工作原理却大体相同。结合近几年的教学,笔者就常用四种机型的基本使用作简单的比较,不当之处请读者批评指正。
一、内部继电器的比较
1. 输入/输出继电器功能及编号
输入继电器是PLC接收来自外部输入设备开关信号的接口,由外接开关信号来控制。输出继电器是PLC向外部负载传送信号的器件,其通断是由程序执行结果决定的。不同的PLC其输入和输出继电器的编号和个数是不相同的。
(1)三菱FX2系列。FX2系列PLC最多有128个输入继电器,128个输出继电器。其输入(X)、输出(Y)继电器编号采用八进制,即X000~X177 ,Y000~Y177。以FX2-24M为例,其输入12点:X0~X13,输出12点:Y0~Y13。
(2)松下FP1系列。FP1系列PLC有C14、C16、C24、C40、C56、C72等型号,其中C16输入:X0~X7 ,输出:Y0~Y7; C24 输入:X0~XF ,输出:Y0~Y7; C40输入:X0~XF、 X10~X17,输出:Y0~YF。
(3)欧姆龙C系列。C系列P型PLC输入继电器占有5个通道,CH00~CH04,编号为:0000~0415,最多80个。输出继电器占有5个通道,CH05~CH09,编号为0500~0915。以P20为例,其输入12点:0000~0011,输出8点:0500~0507。
(4)西门子S7-200。输入继电器用I表示,输出继电器用Q表示。继电器的存储范围与CPU种类有关,如CPU212 的PLC输入:I0.0~I7.7,输出: Q0.0~Q7.7;CPU221 的PLC输入:I0.0~I15.7,输出: Q0.0~Q15.7。
2.辅助继电器功能及编号
辅助继电器起信号转换作用,类似继电控制中的中间继电器,不能直接驱动外部负载。
(1)三菱FX2 系列 。FX2系列辅助继电器可分为通用辅助继电器、失电保持辅助继电器和特殊辅助继电器三种,其地址按十进制编号。
通用辅助继电器编号为M0~M499,没有后备电池支持。失电保持辅助继电器的编号为M500~M1023。还有256个特殊辅助继电器,编号为M8000~M8255。如运行监视继电器M8000,初始化脉冲继电器M8002。还有状态元件S0~S899,报警器S900~S999等。
(2)松下FP1系列。FP1系列寄存器配置有内部通用继电器R0~R62F,特殊继电器编号R9000~R903F,通用“字”继电器WR0~WR62,专用“字”继电器WR900~WR903,通用数据寄存器DT0~DT8999,专用数据寄存器DT9000~9067等及其他。
(3)欧姆龙C系列。内部辅助继电器只有基本单元有,分配在CH10~CH18通道,18通道仅用到00~07位。内部继电器编号为1000~1807,共136个。专用内部辅助继电器16个,编号1808~1907。
保持继电器共160个。编号为:HR0000~HR0915。暂存继电器8个,编号为TR0~TR7。数据存储继电器DM以通道为单位使用,编号为DM00~DM63。
(4)西门子S7-200。通用辅助继电器称位存储区用M来表示,一般以位单位使用,但也可以用作其他单位作用,如字节、字、双字。存储区的存储范围与CPU有关,如CPU212的PLC位存储区M0.0~M15.7,CPU216的PLC位存储区M0.0~M31.7
3.定时器与计数器
PLC中设有定时器,用于延时控制。定时器的预置时间为:单位 预置值。不同型号和规格PLC的定时器的用法不尽相同。
(1)三菱FX2系列。FX2系列PLC的定时器是根据时钟脉冲(即时基)的累积计时的,时钟脉冲有1ms、10ms、100ms三种。其中:100ms非积算定时器T0~T199共200点;10ms非积算定时器T200~T245共46点;1ms积算定时器T246~T249共4点;100ms积算定时器T250~T255共6点。
FX2系列PLC中全部计数器均有机内电池支持,起断电保持作用。通用计数器 C0~C99共100点,保持计数器C100~C199共100点。
(2)松下FP1 系列。FP1系列定时器100点T0~T99,计数器44点C100~C143,计数器的个数与定时器分享,通过设置系统寄存器可改变计数器起始编号。预置值范围:K0~K32767。
定时器TM指令是一减数型预置定时器。TMR以0.01s为单位设置延时ON定时器,TMX以0.1s为单位设置延时ON定时器,TMY以1s为单位设置延时ON定时器。指令CT为预置计数器,完成减计数操作。
(3)欧姆龙C系列。C系列P型机有48个定时器和计数器,编号为TIM00~TIM47或CNT00~CNT47,设定值0000~9999,同一个编号用于定时器就不能用作计数器。
(4)西门子S7-200。定时器的精度有3个等级:1ms、10ms、100ms。如CPU212有64点(T0~T63),其中1ms有记忆通电延迟T0、10ms有记忆通电延迟T1~T4、100ms有记忆通电延迟T5~T31、1ms通电延迟T32、10ms通电延迟T33~T36、100ms通电延迟T37~T63。
计数器的类型有3种:增计数(CTU)、减计数(CTD)、可增可减计数(CTUD)
二、编程实例Y-△降压启动控制的梯形图及指令语句表的比较
可编程序控制器用编程语言编制程序才能进行工作。PLC常用的编程语言有四种:梯形图语言,指令助记符语言,逻辑功能图语言和某些高级语言。目前使用最多的是梯形图语言和指令助记符语言。不同厂家和类型的PLC的编程基本原理和方法相同或相仿,基本指令和部分功能指令、控制指令也有差异。
笔者以编程实例Y-△降压启动控制为例,分别用三菱FX2系列、松下FP1系列、欧姆龙C系列及西门子S7-200系列实现该控制,如图1至图4所示。
从编程实例可以看出:FX2系列(图1)、FP1系列(图2)、西门子S7系列(图4)用进栈、出栈语句解决分支问题,而欧姆龙C系列(图3)用暂存继电器TR0解决分支问题。
基于模型设计的控制程序自动生成 篇7
概述
Simulink PLC Coder生成结构化文本格式源代码,它要通过Simulink模型、Stateflow流程图和MATLAB处理完才能进行,然后使用一种来自工业自动化供应商提供的集成开发环境(IDE)编译后,在PLC或者PAC中运行。而Mathworks合作的第一个自动化供应商就是罗克韦尔自动化公司。
“工业自动化是一个竞争激烈的领域,各公司都不断地寻找创新的方法,开发更为复杂的机电工业系统,”Tony Lennon,MathWorks公司的工业自动化和机械工业经理说道,“我们的客户认识到:带有自动程序生成的模型设计方法是设计和验证这些复杂系统的最佳方案,这种方法涵盖了电气、机械和控制系统范畴。可以使整个设备成功地运行。”
Simulink PLC Coder的功能
使用Simulink PLC Coder,工程师能够完成对工业控制系统自动地生成控制程序,包括回路控制、监视数采等应用。自动程序生成,是基于模型设计的一个集成部分,协助工程师消除传统手动编程方式带来的相关错误,缩短了整个项目的开发和验证时间。
罗克韦尔自动化公司与MathWorks公司的合作
罗克韦尔自动化公司的战略合作经理Jason Weber说:与MathWorks公司的协作,“我们的客户得到了使用模型设计开发PAC应用程序的能力,增强了机械设备的性能。基于模型的设计与我们的虚拟设计和生产战略更加接近和一致,这使得用户的产品能够更快地进入市场,降低工程费用,且生产前能更好地验证设备。”
MathWorks公司的Matlab是一种编程环境,用于算法开发、数据分析、可视化和数字计算。Simulink是一种图形环境,用于多范畴动态、嵌入式系统的模型设计和模拟。这些产品历史上能够生成C语言代码,已经非常广泛地用于与基于PC的控制。增加了结构化文本的程序输出,可以扩展基于模型设计的应用范围,因为控制工程师非常熟悉PLC/PAC产品,比如基于罗克韦尔自动化的ControLogix PLC/PAC控制器和RSLogix编程软件。
Simulink PLC Coder的产品特色
·自动生成IEC 61131-3结构化文本的程序;
·Simulink的支持,包括重用子系统、PID控制功能块和查找表;
·Stateflow的支持,包括图形功能,真值表和状态机;
·嵌入式MATLAB支持,包括if-else声明、循环结构和数学指令;
·支持多种数据类型,包括布尔、整数、列举和浮点,以及向量、矩阵、可变参数;
·IDE支持,包括PLCopen XML,罗克韦尔自动化®RSIogix TM 5000;
·测试结果报告。
使用Simulink PLC Coder生成PLC程序
在Simulink中,你可以用Simulink PLC Coder生成结构化文本,做法如下:用鼠标右键点住一个子系统块,在弹出的菜单命令中选择:PLC Coder>Generate Code for Subsystem选项。在MATLAB中,你可以调用plcgeneratecode命令,创建脚本,自动地、可重复地构建过程生成结构化文本。
支持多达130个Simulink功能块、所有Stateflow的构造和很多嵌入于MATLAB的功能,Simulink PLC Coder可以完全执行你的控制系统模型,包括反馈回路、模式、状态逻辑和数学运算。你可以使用Simulink PLC Coder把离散时间工厂模型转换成结构化文本,用于硬件回路(HIL)测试。作为选择,你可以使用实时车间(Real-Time Workshop®)生成C/C++程序代码用于对离散时间或者连续时间模型的HIL测试。
基于模型设计的发展
嵌入式系统的使用不断地往汽车工业转移。通过使用复杂的、板级的、基于软件的电子控制,这种转移出现了提高性能、增加安全和方便维护的机遇。另外,除了公交车辆工业的转变之外,嵌入式系统的第二波热潮正在商用汽车工业中出现。这里嵌入式系统用于控制液压系统,而以前这要依靠机械控制来完成的功能。在这两个工业中,系统复杂性的增加对传统系统开发流程的能力:满足项目的时限、费用和质量等指标提出了巨大的挑战。为了应对这些挑战,在主要汽车制造商的工程师,正在跳过基于手动编程的系统设计流程,而使用图形模型设计、分析,并用软件决定机械的性能和行为。
使用模型设计可确保了一个最终产品满足系统的要求。模型设计使得不同专家组成的工程团队一起更有效率地工作,工作在设计流程的不同阶段人们可以不断沟通;指出并改正在早期开发流程中的错误;自动生成坚固、高效和高质量的程序。通过软件工具提供商的独特视角,按照基本的法则引领基于模型设计的成功应用是可能的。使用范围可以从相关的特定实践,到自动程序生成,再到必须解决的组织问题。
什么是基于模型的设计?
在基于模型的设计中,开发流程要围绕一个系统模型中心——通过模型提炼出可执行的要求,然后是:设计与模拟、生成与执行、测试与验证。
这个系统模型是一个可执行的规范,规范的描述和使用遍及整个设计流程。可执行的规范还包括了输入和期望的输出或者接受的标准、应用环境,以及与要求的链接和参考。可执行规范的目的能够与设计的目标清晰地沟通,并且允许通过仿真对规范要求进行可行性和兼容性分析。当软件和硬件的执行完成了规范要求,比如固定点和时间行为,程序能够自动生成,通过测试指标可以对系统进行验证,这个流程节省了时间,而且避免了手动错误的发生。
使用了基于模型的设计,工程师能够从以下方面提高效率:
·使用一种公共设计环境,跨越不同的项目团队;
·把设计直接连接到要求;
·设计集成了测试,不断地发现和纠正错误;
·通过多范畴的仿真,改进算法;
·自动生成程序;
·开发和重用测试套件;
·自动生成文件;
·跨越多个处理器和硬件目标,重用设计部署系统。
基于模型设计的使用
公司为什么要采用基于模型的设计?有的情况是,公司是从上到下的管理模式,战略规划需要部署一套公共的工具和流程。有时是,工程师们在大学使用过模型方法,现在要寻找工具解决当今工作中的问题,这样的草根会主动采用这种模型设计方法。还有的时候,基于模型设计是一种实用的技术,有广泛的用途,比如:六西格码或者系统工程。不管什么推动力促进了基于模型的设计,这种努力应该是持续的,因为公司能够看到回报。回报来自于以下不同的方面:
·获得了效率,比如减少了完成整个项目所需的时间;
·加快了产品进入市场的速度;
·提高了产品的质量;
·降低了对物理原型的依赖。
此外,当工程师们有了合手的工具,工作起来常常会有更多的乐趣。
C程序自动测试方法 篇8
关键词:自动测试,静态测试,算法
1 问题的提出
随着装备自动化程度的不断提高, 计算机的应用越来越普遍, 为了提高软件开发的效率、可靠性, 必须用一种系统的方法对开发的软件进行评估, 度量其可靠性, 并自动对软件进行测试, 找出软件中存在的缺陷或错误。C语言作为一种高级开发语言, 具有通用性好, 编程效率高, 编程灵活, 移植性好, 因此C语言被选为各种装备软件开发的重要语言之一。装备的可靠性、可用性对软件的可靠性要求越来越高, 如何度量软件的可靠性、对软件进行自动测试的任务迫在眉睫。正是为了提高软件的可靠性, 对C语言编制的软件进行自动测试, 以期找出软件中潜在的错误和缺陷, 并协助程序员修改错误, 提高软件的质量和开发效率。
对C语言编制程序进行控制流分析, 并在源程序的适当地方插入一函数调用, 使其在运行时刻收集程序的运行信息。帮助程序员设计测试用例, 显示程序的运行过程, 判断程序的执行情况, 协助其改正错误。测试程序可作为软件测试的一种工具, 将提高测试效率, 保证软件的质量, 把程序员从低级的、重复的劳动中解放出来, 将主要精力放在软件的开发和设计上, 成倍地提高生产率[3,6]。
2 自动测试目标和算法
2.1 自动测试及其目标
基于被测试程序是否执行, 可以把软件测试分为静态测试和动态测试。静态测试只分析被测试程序, 如包含哪些语句, 哪些函数或模块, 函数之间的调用关系, 标识符的引用关系等。而动态测试则收集程序运行时刻信息:如哪些路径被执行, 每个路径执行的时间, 每个变量在某一时刻的值, 每个分支被执行时的条件等[4,5]。
动态测试的一般方法是, 在被测试的程序里适当的地方插入信息收集函数 (或称探针) , 再对源程序进行编译、运行, 当程序运行到收集函数时, 由收集函数往数据库中更新内容, 然后由一个事后处理函数对数据库进行分析、统计、显示[2,9]。
需要完成以下目标:以Win XP/NT作为软件运行的平台, 采用GUI (Graphics User Interface) , 针对VC6.0+的程序进行测试, 分析出控制流图, 并在屏幕上画出控制流图, 实时跟踪控制流图中哪些弧被经历过, 经历的次数是多少, 每次经历的时间是多少;显示每个节点对应的源代码;当前运行的代码加亮显示;源代码中的关键字、注释醒目地显示等[1]。
2.2 动态测试的算法
编程语言采用Delphi, 数据库选单机版的Paradox。
算法思路
自动对VC6.0+的.DSW (Develop Studio Workshop) 文件进行分析, 从.DSW文件中分析出它所包含的工程文件.DSP (Develop Studio Project) , 一个.DSW文件中可能包含多个.DSP文件。然后逐个对.DSP文件进行分析, 找出每个工程文件中包含的.C、.CPP文件, 再对.C、.CPP文件逐一进行分析。在对.C、CPP文件进行分析时, 首先找出每个文件中所包含的函数, 然后对每个函数进行分析。在分析过程中, 边分析, 边记录, 同时在函数的适当地方插入探针[7,8]。
(1) dsw、.dsp文件分析
.dsw、.dsp文件为文本格式, 用任何编辑器打开均可阅读其内容, 稍加浏览即可明白其格式, 不在此赘述。
1) .dsw文件分析
a.从.dsw文件中分析出.dsp文件名
b.分析.dsp文件
c.重复1) 直到所有的.dsp文件分析完毕
2) .dsp文件分析
a.从.dsp文件中分析出.C或.CPP文件名
b.分析该文件
c.重复1) 直到所有的.C或.CPP文件分析完毕
(2) C或.CPP文件分析
1) 将源文件切分为一系列的Token串, 存入一表中
2) 从Token表中过滤掉注释部分, 如/*…*/、//…
3) 从Token表中过滤掉”…”部分, 并考虑串中可能存在转义字符“””。
4) 从Token表中搜索并计算下列关键字所处的行、列, 并存入另一表List中:break、case、continue、default、do、else、for、goto、if、return、switch、while、{、}
5) 从List表中搜索并处理goto关键字, 并把goto的目的地址 (行、列等信息) 仍存入List表中, 相关信息存入goto预处理表中
6) 将List表按行、列的升序排序
7) 对List分析得到控制流信息, 在分析时, 在源程序的适当地方插入探针。
(3) 源文件Token化
利用了从Internet上收集到的一个控件TToken List, 设置好该控件的属性:1) 与源程序对应的流式文件TFile Stream的一个实例;2) 分隔符属性, 其设置方式是将布尔数组下标0~255对应的单元初始化, 每个单元和一个ASCII码对应, 若某个ASCII码为分隔符, 则以该ASCII码的序号为下标, 该下标对应的单元设置为true, 否则为false。控件的属性设置好后, 调用该控件的Tokenize方法即可把每个Token放入Token[]属性表中, 其中包括回车、换行符。其它属性, 如每个Token在源文件中的偏移, 每个Token的长度等都在控件中包含了, 因此, 后续的处理十分方便。
C、C++中的分隔符有:!、”、#、%、’、 (、) 、*、+、, 、-、.、/、:、;、<、?、&、[、、]、^、{、|、}、~等符号。
(4) 滤掉注释
注释内容有可能干扰对控制流的分析, 因此, 必须把它过滤掉。
1) 指针指向Token表头
2) 判断是否为/符号, 若是转3) , 否则指针+1, 重复2) 直到Token尾部结束。
3) 判断是否为*, 否转5)
4) 对/*…*/进行处理, 处理完后转2)
5) 判断是否为/, 若是转6) , 否则转2)
6) 处理//…直到换行符, 处理完后转2)
(5) 滤掉”…”部分
为了不影响对关键字的判断处理, 还必须过滤掉”…”部分
1) 指针指向Token表头
2) 是”符号吗?是转3) , 否则指针+1, 重复2) 直到Token尾部结束。
3) 若是字符, 判断下一字符是否为”, 若是则虑掉这两个字符, 否则下一字符为”时结束过滤, 转2) 继续
(6) 搜索关键字
因关键字有多个, 若把每个Token和所有的关键字进行比较, 将十分费时, 因此, 笔者考虑了一种较为有效的方法。一般编程语言中均提供了在某字符串中搜索字串的函数, 若能成功匹配, 返回其位置, 否则返回-1或其它的值。但存在一种情况:Token中的串是关键字的子串, 该如何处理这种情况?笔者的解决办法是:把每个关键字按升序排序, 把所有的关键字串结成一个串, 每个关键字之间插入分隔符, 分隔符是关键字中所包含的字符以外的其它任意字符。为了简化处理, 在串的头部和尾部也加上分隔符。因此, 若某个Token为该串的子串, 根据返回值, 判断子串的头部和尾部是否同时为分隔符, 若是则是一个关键字, 否则仅为一般标识符。这种方法避免了采用关键字树等复杂的数据结构和算法, 编程较为简单。笔者查看了Delphi中Pos函数的源代码, 它采用了汇编代码, 所以其运行效率十分高[3]。
(7) 处理goto关键字
goto虽然不提倡, 但在许多语言中仍然存在, 因此, 作为控制流处理软件, 仍有必要对其考虑。
1) 获取goto后的下一Token, 跳过空格、tab符、回车、换行等符号
2) 在源文件中向后搜索该Token, 若存在, 则将其行列加入List表中, 转4) ;否则转3)
3) 在源文件中向前搜索该Token, 若存在, 则将其行列加入List表中
4) 对goto及其目标作记录
(8) 关键字排序
由于存在goto, 而goto的目标既可能向前, 又可能向后。因此, 它的存在打乱了正常的控制流, 必须按自然顺序 (先按行后按列的升序) 排序。排序可采取各种方法。由于关键字表是TList对象的实例, 它提供了一Sort方法, 采用快速排序方法, 需要编程人员提供一个比较对象的值的大小的方法, 可根据需要灵活定义。
(9) 关键字表分析
关键字表分析是本课题的重点和难点, 也是较为复杂的部分。
1) 把指针指向表头
2) 对{进行处理。它必然为第一个关键字, 否则出错, 并且它是函数定义的起始语句。由此, 可在源程序中搜索出该函数的声明。处理整个函数, 直到}处理完毕, 指针将移动到下一个函数的{开始语句出或表尾, 若移至{, 进行新的一轮处理, 否则结束。
(10) 函数分析
1) 对do、for、goto、if、return、switch、while语句分析
2) 若为}时结束。若未插入探针, 则插入探针。函数号+1。 (11) 复合语句分析
复合语句为{…}括起的部分, 其处理与函数处理类似。
1) 对do、for、goto、if、return、switch、while语句分析, 考虑break、countinue
2) 若为}时结束
(12) 单语句分析
处理do、for、goto、if、return、switch、while语句之一, 考虑break、continue。
(13) do语句分析
do语句的流图一般为:
在此不得不论述探针的插法问题, 特别是在循环语句中是一个棘手的问题。对如下的do语句:
显然在do语句{后应插入一探针, 那么while语句的探针应插在何处呢?若插在}之前, 并不能真实地反映本来面目, 实际运行时也存在问题, 其真实的控制流为:
从上图可以看出, do语句中while探针必须插在while语句上才能真实地反映实际执行情况。假若do语句的探针的插法还能强差人意, 那么for, while语句的探针如何插呢?若针对如下正常
若for循环n次, 那么, 由 (1) ~ (2) 为n次, 由 (2) ~ (1) 实际为n-1次, 但从控制流上看 (2) ~ (1) 也为n, 与实际不符, 探针的插法存在问题, 其真实控制流为:
对while语句可把探针插在while语句上, 但要把探针直接插在for语句上较为困难, 至少得对源程序进行修改, 因此, 难于真实地刻画for语句实际执行情况。
do语句分析
1) 把do节点的信息记入数据库
2) do后有{吗?, 有转4)
3) 插入{及探针, 单语句处理, 插入while探针及}, 记录while语句位置, 转5)
4) 插入探针, 复合语句处理, 插入while探针, 记录while语句位置
5) 连接关系处理, 考虑break、continue, 把这些关系记入数据库。
(14) for语句分析
1) 把for节点的信息记入数据库
2) for后有{吗?, 有转4)
3) 插入{及探针, 单语句处理, 插入探针及}, 转5)
4) 插入探针, 复合语句处理, 插入探针
5) 连接关系处理, 考虑break、continue, 把这些关系记入数据库。
(15) goto语句分析
由于goto的目标既可能向前, 又可能向后, 因此, 必须作特殊处理:把goto的节点和相关信息记入一表中, 并把goto目标的节点信息记入另一表中, 等所有的节点处理完毕时, 再对该表进行处理。
(16) if语句处理
1) 把if节点的信息记入数据库
2) if后有{吗?, 有转4)
3) 插入{及探针, 单语句处理, 插入}, 转5)
4) 复合语句分析, 若未插入探针则插入
5) 有else吗?, 无转9)
6) 后有{吗?有转8)
7) 插入{及探针, 单语句处理, 插入}, 转9)
8) 复合语句分析, 若未插入探针则插入
9) 连接关系处理
(17) return语句分析
在return之前插入探针
(18) switch语句分析
switch语句分析中, 必须考虑case语句中有无break的情形, 以及有无default语句时的情形。
1) 记录switch语句信息, 并插入探针
2) 对case、default语句进行处理, 并记录break的情况
3) 根据2) 的分析, 判断各节点之间的连接关系, 并记录这些关系
(19) case语句分析
1) 处理其中的每条语句, 直到下一case、default或}
2) 记录break的情况
2.3 程序界面和功能
界面为标准的Windows界面, 提供菜单、按钮、状态行等。屏幕分为三个区:
一区:显示被测试程序中所包含的源程序模块, 以及每个模块中所包含的函数;
二区:某个函数对应的控制流图;
三区:显示源程序。
一区利用Tree View控件分层显示各种信息。
(1) 第一级显示被分析测试的.dsw (Develop Studio Workshop) 文件名;
(2) 第二级显示.C或.CPP文件名。
通过分析.dsw文件得到.dsp (Develop Studio Project) 文件名, 分析.dsp文件得到.C或.CPP文件名;
(3) 第三级显示每个.C或.CPP文件中包含的函数名及参数。当选中一个.C或.CPP文件时, 在三区中显示对应的源代码;但选中任意一个函数时, 二区显示相应的控制流图, 三区中的源程序翻页使该函数的声明可见。在一区中可控制对某些函数或对所有函数是否进行实时跟踪。要对某函数的跟踪进行控制, 首先, 选中该函数, 单击右键, 将弹出一菜单, 根据菜单内容即可控制是否跟踪。对某个模块中的所有函数或整个系统的函数进行控制, 方法类似, 首先选择某个.C、.CPP或dsw文件, 后面的操作一样。
二区显示某个函数对应的控制流图。图中的小圆圈表示节点, 圆圈中的数字表示节点号, 直线或折线表示由一个节点到另一个节点可能的控制流。对程序进行实时跟踪时, 经过的节点、线段用红色表示, 线段的粗细与经过该线段的总时间存在比例关系。整个图形匀称、重心稳定、美观。当鼠标在节点上停留一段时间后, 将显示该节点对应的源代码, 如完整的if语句等。在节点上单击鼠标左键, 该节点对应的源代码将在三区中显示出来。
三区显示源程序。C语言的所有关键字if、for、while等以蓝色显示, 注释用绿色显示, 其它文本用黑色显示, 当前的程序行以红底白字显示。
3 结论
对C语言的控制流作了全面的分析, 如if语句;while、do、for循环语句, 并考虑了循环体中包含或不包含break、continue语句的情况;switch case语句, 考虑了switch中包含或不包含default语句的情况, case语句中包含或不包含break的情况;goto语句的处理等。能够显示并实时跟踪程序的执行过程, 如哪些分支被执行、执行的总时间是多少, 并能提供每个节点的相应信息, 如是那种类型的节点、节点代表源程序的具体语句是什么, 以及被经历的次数等。对了解程序程序的执行情况作了有益的尝试, 并给程序测试指明了方向:如程序的哪些部分没运行到, 哪些关键的部分需要重点测试, 程序的哪些代码需要优化等。因软件测试是一项复杂的工程, 工作量大, 大部分算法是描述性的算法, 能用计算机实现的算法不很多;同时由于时间、人力等关系, 的结果离真正的动态测试系统的要求还有一段距离。如:测试用例的自动生成及模块的验证问题, 覆盖的判定问题, 以及动态测试的其它方面, 变量的更新等。同时, 动态测试离不开静态分析, 静态分析的内容需要进一步加强。因此, 朝这两个方向努力, 加强其功能, 就会建立一个更加实用的系统。
参考文献
[1][美]Jeffrey Richter.Windows95Windows NT3.5高级编程技术[M].郑全战, 阿夏, 译.清华大学出版社, 1998, 2.
[2]郑人杰, 殷人昆, 陶永雷.实用软件工程[M].2版.清华大学出版社, 1997, 4.
[3][美]Allen G.Taylor.SQL使用指南[M].吴言, 李东, 等, 译.电子工业出版社, 1999, 3.
[4][美]James R.Groff&Paul N.Weinberg.关系数据库SQL使用指南[M].付增少, 彭振云, 等, 译.学苑出版社, 1999, 10.
[5]William Perry.Effective Methods for Software Testing.1998by John Wiley&Sons, Inc.
[6]Boris Beizer.Software Testing Techniques[M].Second Edition.1999by International Thomson Computer Press.
[7]Brian Marick.The Craft of Software Testing—Subsystem Testing Including Object-based and Object-oriented Testing.PTR Prentice Hall, Englewood Cliffs, New Jersey07632.
[8]Richard E.Fairley.Tutorial:Static Analysis and Dynamic Testing of Computer Software.1978IEEE, Computer.
程序自动评判系统的设计 篇9
本系统设计的目的是实现程序的自动评判,学生通过系统上交程序,系统自动评判程序是否有语法问题,执行结果是否正确,是否满足时效性的要求,并根据评判的结果,反馈相应的信息。学生可以根据反馈的结果对程序进行修改,直到得出正确的解题代码。也可以在系统上进行编程类课程的上机考试,或举办程序设计竞赛。
1 系统架构
根据系统的需求和目前软件系统架构的发展趋势,本系统的系统架构选用了B/S模式。
B/S(Browser/Server)模式下,客户端通过浏览器(Browser)访问WEB服务器和与其相连的后台数据库,它以WEB数据库的访问为中心,HTTP为传输协议,是真正的三层结构。其结构如图1所示。
客户端浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上;
Web服务器是功能层,完成客户的应用功能,即Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回Web服务器,再传至客户端;
数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处理。
与传统的C/S模式不同,B/S结构下,所有的数据处理全部由服务器端完成,用户通过浏览器发出请求,数据库的使用和维护都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。
2 运行平台
系统采用jsp技术开发。运行平台选用linux作为操作系统,Tomcat作为web服务器,mysql作为后台数据库服务器。
2.1 linux操作系统
linux操作系统是一个受到业界广泛关注和支持的系统。它的自由开源的理念吸引着众多的追随者,激发着他们的创作力。它是一个全面的多任务和真正的32为操作系统,与unix兼容,从某种意义上来说,linux就是一个完整的unix操作系统,具备了unix系统的高效和安全的特点。linux便于定制和再开发,部署方便灵活,免费版本可以很容易的获得。
2.2 Tomcat服务器
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能。Tomcat技术先进、性能稳定,而且免费,因而深受欢迎。
2.3 Mysql数据库服务器
MySQL是一个开放源码的关系数据库管理系统,由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用.
2.4 JSP开发WEB应用程序
JSP是(全称JavaServer Pages)的简称,是由Sun Microsystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,包含JSP页面、JavaBean及Servlet等成员,。
通过JSP,开发人员可以使用多种开发工具来组合HTML代码,可以利用本地服务器或远程服务器上运行的组件来存取数据库、应用程序或处理信息,实现强大的WEB应用。考虑到在线评判系统需要对数据库操作以及动态更新的特点,JSP是理想的开发方式。
JSP工作流程是:先由客户端发出HTML请求到WEB服务器,对于数据库访问的请求,JSP或Servlet通过JDBC与数据库交互,完成用户的访问请求,并将结果反馈给用户;对于数据处理的请求,JSP或Servlet根据用户的请求,调用相应的处理例程来进行数据处理,再将处理的结果反馈给用户。JSP的强大功能可通过其内建对象来实现。
JSP提供的内建对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息。有了这些对象可以使JSP的功能更强大。所谓对象就是一段封装的完整的软件模块。这些对象之间通过属性来传递参数,在设计JSP时经常需要调用各种对象来实现开发动态数据访问的功能。JSP有五个内建对象:application、request、response、out、session。
MVC模式是JSP技术开发web应用常采用的模式。该模式包含3个构成部分:1、模型,用于数据存储;2、视图,用于数据显示;控制器用于数据处理。JSP页面擅长数据显示,对应MVC模式的视图,Servlet擅长数据处理,对应MVC的控制器,JavaBean则用作MVC模式的数据模型。本系统采用了MVC模式作为其web应用框架。
3 系统功能概述
系统面向的用户分为两类:管理员和普通用户。管理员负责题库、实验和竞赛等的维护和管理等工作。定期检查系统的运行状况,备份系统数据。普通用户可以在系统上提交程序,由系统评判程序的正确性,并将评判结果返回给用户。用户登录情况、提交情况和解题情况会记录在系统数据库中,根据这些信息,系统可以对用户进行排名。
系统的主要模块有:用户管理模块、题库管理模块、竞赛管理模块、在线判题模块等
3.1 用户管理
该模块包含功能有:用户登录、注册、个人信息查询和修改等功能。用户首先要注册和登录系统后,才能在系统上提交代码,在线判题或参加比赛等操作。
3.2 题库管理模块
该模块负责系统题库的维护工作。管理员通过该模块在系统中添加题目,并设置题目时间和空间的限制。也可以通过该模块对已有的题目信息进行修改。
题库中的题目信息、图片信息及测试数据信息全部存储于数据库中。这种数据库存储方式相对传统的文件存储方式来说,更便于管理和维护。
3.3 竞赛管理模块
该模块负责竞赛的管理。系统管理员通过该模块可以在系统上创建竞赛,设置竞赛信息,指定赛题,指定竞赛有效时段。只有在有效时段,选手才能打开竞赛页面,参与竞赛。有效时段结束后,竞赛结束,不再接收选手的提交。
3.4 在线判题模块
该模块是系统的核心模块,关系到系统的效率、安全和稳定。它负责用户代码的提交、编译、运行及运行结果与预设值比对的工作。
代码的正确性评判的标准如下:
1)代码语法正确,符合所用编程语言的语法规则。
2)程序所采用的算法思路正确,能够在题目限定的时间和空间里,解决问题。
3)程序严格准确的实现了算法,对所有的输入都能够得出正确的输出。现实当中无法对所有的输入数据进行测试,只能选一些比较有代表性的数据,测试程序输出是否正确。
3.5 在线评判模块工作的流程如下
1)用户通过浏览器访问系统的代码提交页面。提交页面有一个表单,表单包含一个输入框,可以将代码输入到输入框,点击提交。
2)系统接收到用户的代码后,根据代码类型,调用相应的编译器,对用户代码进行编译。如果因语法等原因造成编译失败,将失败的信息反馈给用户,并在系统数据库中记录用户的提交操作及评判结果信息,在线判题结束。系统可以对C/C++、Java及Pascal编写的程序进行评判,分别采用GCC/G++、Sun SDK及FPC作为编译器。
3)如果编译成功,系统运行用户程序,每个题目都会有时间和空间的限制,如果用户程序超出限制,将被终止运行,并将终止原因反馈给用户,同时将用户提交操作和评判结果信息写入系统数据库,在线判题结束。系统对程序的权限也做了限制,禁止进行一些非法操作,以避免危及系统的安全和稳定。
4)如果用户程序运行正常,将接收题目预设样例输入,并且将运行后得到的结果与题目样例预设的输出对比,如果不一致,终止程序运行,向用户返回出错信息,同时将用户提交操作和评判结果信息写入系统数据库,在线判题结束。
5)如果所有的样例测试都正确通过,评判程序正确,并获取程序运行占用cpu时间和内存空间,将这些信息反馈给用户,同时写入系统数据库,在线判题结束。
4 结束语
本文提出了基于B/S模式的程序自动评判系统,并对部分功能模块和系统实现进行了介绍。建立了这样一个系统之后,可以方便学生进行程序设计训练,承担程序设计类作业的批改,同时,可以举办程序设计竞赛,对程序设计类课程的教学和学生程序设计水平的提高都有很大帮助。
本系统的设计目标主要还是针对中低负荷的情况,将来可以考虑将评判模块独立出来,采用负载均衡的方式,以应对大规模并发代码提交的情形。系统的可靠性和安全性方面也涵待提高。今后将对系统进一步完善,以更好的服务于教学。
摘要:程序正确性的人工评判是一件费时费力的事情,可以考虑借助计算机来实现程序的自动评判。文中介绍了基于B/S模式的自动判题系统的设计。该系统基于JSP技术实现,可以对接收用户提交的程序,进行正确性的判断,并向用户反馈评判结果,同时记录用户的操作日志,并能够根据各类数据,对用户进行排名。
关键词:JSP,B/S,自动评判,Linux,Tomcat,MySql
参考文献
[1]范立锋,乔世权,程文彬.JSP程序设计[M].北京:人民邮电出版社,2009.
自动控制程序 篇10
闪光焊接是对焊的主要形式,对焊广泛应用于铁路轨道的焊接、建筑材料的连接、船舶锚链等型材与棒材的焊接,其中船舶锚链的焊接截面积最大、焊接质量要求最高。船舶锚链是船舶在大海中遇到风浪时稳定船舶的重要装置,是船舶的生命线。此外,海洋石油钻井平台对链条的要求也极高。实现锚链大面积闪光焊接,必须依靠专门的闪光焊接设备,典型的以瑞典ESAB公司的自动过程焊接设备为代表,焊接的截面积可达到20000mm2;还有就是以原苏联为代表的160k V·A非自动过程焊接设备,焊接的截面积比较小,一般只能达到600mm2,而且质量不稳定。
闪光焊接过程主要由闪光(加热)和随后的顶锻(压力下交互结晶)、保持、休止等阶段组成,与电阻对焊相似,闪光、顶锻两个连续阶段组成连续闪光对焊接头形成过程,而保持、休止等程序是对焊过程中必须的,闪光焊是利用焊件内部电阻和接触电阻所产生的电阻热对焊件进行加热来实现焊接的。焊接开始时,在接通电源后,两焊接件逐步移近,在焊接件间形成很多具有很大电阻的小接触点,并很快熔化形成一系列液体金属过梁,形成了电路环路;由于温度升高,金属过梁将爆破,形成的电路环路断开,如此可以测量出焊接件接触与断开的电流,如此频繁重复。实现频繁重复运动的元件是液压系统的电液伺服阀。
1.1 闪光过程
闪光对焊包括连续闪光对焊和预热闪光对焊两种方式,对截面积的焊接材料,为保证焊接质量,必须采用预热闪光对焊。
闪光焊接的实质就是通过电源并使两焊接件端面轻微接触,对口间将形成许多具有很大电阻的小触点,在很大电流密度的加热下,瞬间熔化而形成连续对口两端面的液体过梁。文献资料认为,液体过梁存在的时间约1ms~5ms、爆破频率达到500Hz。闪光的形成也就是液体过梁不断形成和爆破过程,并在此过程中析出大量的热。图1是闪光焊接情形。
闪光的作用有以下几方面[1]。
(1)加热焊接,热源主要来自液体过梁的电阻热以及过梁爆破时部分金属液滴喷射在对口端面上带来的热量。
(2)烧掉焊接件端面的脏物和不平整面,因此降低了对焊前端面的准备要求。
(3)液体过梁爆破时产生的金属蒸汽及CO2、CO等气体,减少了空气对间隙的侵入,形成自保护。同时,金属蒸汽及抛射的金属液滴被强烈氧化而减小了气体介质中氧的分压,从而降低了对口间隙中气体介质的氧化能力。
(4)闪光后期在端面上形成的液滴金属层,为顶锻时排除氧化物和过热金属提供了有利条件。
为了获得优质的焊接接头,闪光阶段结束时,必须满足以下条件。
(1)对口处金属尽量不要被氧化,同时闪光过程中不能产生短路,否则,将可能使端面局部过热。因此,二次空载电压和闪光速度对该点影响最大。
(2)在对口及其附近区域获得合适的温度分布,沿对口端面加热均匀;沿零件长度获得合适的温度分布;端面上有一层较厚的液态金属层。
1.2 顶锻阶段
顶锻是闪光焊接后期,对焊接件施加顶锻力,使烧化端面紧密接触,实现焊口的优质结合。
顶锻开始时,动夹具突然加速使对口间隙迅速缩小,过梁端面增大而不再爆破,闪光骤然停止。对口及邻近区域开始承受越来越大的挤压力。
顶锻阶段包括有电顶锻和无电顶锻两个部分,有电顶锻是使端面金属不过早冷却,使对口加热区域保持一定深度,在大直径材料的闪光对焊中尤其重要。
顶锻的作用主要是对口和邻近区域获得适当的塑性变形,促进焊缝再结晶过程。
顶锻的作用如下[1]:
(1)封闭对口间隙,挤平因过梁爆破留下的火口;
(2)彻底排除端面上等液体金属层,使焊缝中不残留铸造组织;
(3)排除过热金属及氧化夹杂,造成洁净金属紧密贴合;
(4)使对口和邻近区域获得适当的塑性变形,促进焊缝再结晶过程。
1.3 预热阶段
预热阶段是指在焊机上通过预热而将焊接件端面温度提高到一个合适值(例如对于30Mn,温度为800℃~900℃)后,再进行闪光和顶锻过程。预热方式分为电阻预热和闪光预热,对于大规格的棒材采用闪光预热,也就是在接通电源后,多次反复将焊接件端面轻微接触、分开,每次轻微接触过程中,都要激发短暂的闪光。
预热的作用[1]:
(1)减少功率,可在较小容量的焊接设备上对大截面材料焊接;
(2)加热区域较宽,使顶锻时易于产生塑性变形,并能降低焊后的冷却速度;
(3)缩短闪光加热时间、减少闪光量,可节约金属材料。
由于预热作用明显,为实现预热闪光,过程控制复杂。图2是典型的预热闪光对焊过程示意图。
I.焊接电流S.活动电极位移Tp.预热时间Tf.连续闪光时间Tu.顶锻时间Th.保持时间Tr.活动电极后退时间
焊接中,焊接件由两个电极固定,其中一个电极是固定电极,另一个电极是活动电极,示意图中S表示活动电极反复将焊接件端面轻微接触、分开的运动过程。次运动过程要求具有控制的快速性,滞后小。
在液压系统中,通过顶锻油缸驱动活动电极的反复运动,实现顶锻油缸的运动控制。为满足快速性、稳定性和准确性的要求,需采用电液伺服阀。
闪光焊接控制系统如图1所示。闪光焊接设备的核心是电液控制系统,电液伺服阀是实现闪光焊接的关键部件。电液伺服阀既起电气信号与液压信号的转化作用,又起信号放大的作用[2],是系统中的核心元件。焊接伺服系统的电液伺服阀实际上是流量伺服阀,电液伺服阀的给定电流与流量之间存在函数关系,通过给定电液伺服阀不同的控制电流,实现流量控制,伺服阀按照焊接工艺过程,精确控制顶锻缸的液压流量,顶锻缸驱动顶锻装置和活动电极,实现焊接件端口按照工艺位置与速度运动。
1.4 焊接预热闪光运动过程
根据以上分析,焊接过程包括预热闪光阶段、连续闪光过程和顶锻阶段。图2中所示的预热闪光阶段,是闪光焊接控制的重要阶段,也是过程控制最复杂的阶段。预热闪光阶段就是在接通电源后,多次反复将焊接件端面轻微接触、分开,每次轻微接触过程中,都要激发短暂的闪光。如果将此过程中的一个循环进行分析,其实包含了四个过程,如图4所示。就是由电液伺服阀驱动顶锻油缸带动活动电极进行循环运动,此运动实现了反复将焊接件端面轻微接触、分开的功能。
“1”阶段:电极前进。电液伺服阀驱动顶锻油缸带动活动电极前进,也就是将焊接件端面轻微接触。随着前进运动,端面接触将逐步加大,端面的电流也越大,当实际采样的电流大于工艺设定的电流值时,将停止向前运动。
“2”阶段:电极静止。端面接触后达到工艺设定的电流值时,电极停止运动,焊口短路加热。达到设定的时间,将焊接件端面轻微分开。但在此阶段,如果实时测量电流>环背电流×K,则电极又开始前进。
“3”阶段:电极后退。电液伺服阀驱动顶锻油缸带动活动电极后退,此时由于电流大、温度高,形成了熔化状态,由于大电流形成了强磁场,此时过梁爆破形成的闪光金属液滴向外高速飞出。随着电极后退,焊接端口距离变大,焊接端口的电流逐步减小,当实际采样的电流小于工艺设定的电流值时,将停止后退运动。
“4”阶段:保持。此阶段是电极保持静止,使焊接端口温度均衡,达到工艺设定的时间,电液伺服阀驱动顶锻油缸带动活动电极再次前进,将焊接件端面轻微接触。如此往复循环。
在往复循环预热一段时间后,系统根据设定的工艺参数,判断满足连续闪光条件了,则进入到连续闪光阶段。此阶段是电液伺服阀驱动顶锻油缸带动活动电极,按照工艺设定的速度平稳前进,当前进运动完成了闪光长度时,进入有电顶锻和无电顶锻阶段。在顶锻阶段,应当使电液伺服阀有尽可能大的电流,驱动顶锻油缸带动活动电极迅速前进,压紧焊接端口并保持。
满足连续闪光的判断条件是:实时测量电流>环背电流×K,同时单次冷却时间内发生爆破,实时测量单次冷却时间<设定单次冷却时间。这是实现连续闪光焊接控制的关键条件。
2 闪光焊接控制参数
2.1 输入参数
(1)焊接电流。通过安装在大功率焊接变压器初级上的电流互感器,测量焊接过程的实时电流状态,将实时电流与设定的预热闪光阶段电流比较,确定预热闪光阶段的前进与后退控制。
(2)动电极运动位置。测量在预热闪光阶段的动电极实际运动距离。
(3)焊接件短路时间。实际测量预热闪光阶段的焊接件短路时间,据此判断是否满足进入连续闪光的条件。
(4)焊接过程电极压力。测量电极压力,作为监控之用。
(5)连续闪光速度。作为监控,保证连续闪光的长度、连续闪光时间之间的关系。
2.2 设定参数
根据闪光焊接过程控制的分析,自动闪光焊接设备控制复杂、精度要求高,电液伺服阀构成的液压系统灵敏性高。主要的过程控制参数有:
(1)焊接件端口预置电流;
(2)预热闪光阶段电液伺服阀驱动顶锻油缸带动活动电极前进速度;
(3)电液伺服阀驱动顶锻油缸带动活动电极前进中的端口电流;
(4)预热闪光阶段前进后电极静止的时间;
(5)预热闪光阶段电液伺服阀驱动顶锻油缸带动活动电极后退速度;
(6)电液伺服阀驱动顶锻油缸带动活动电极后退中的端口电流;
(7)预热闪光阶段后退后电极静止的时间;
(8)连续闪光长度;
(9)连续闪光速度(连续闪光时间);
(10)有电顶锻时间;
(11)无电顶锻时间;
(12)顶锻速度;
(13)总顶锻长度。
2.3 输出参数
电流输出给电液伺服阀的伺服控制电子系统,电流的大小控制伺服阀的运动,驱动焊接动电极根据焊接工艺要求执行运动过程。
2.3.1 控制系统过程
闪光焊接控制如图5所示。
2.3.2 控制系统构成[2,3,4,5]
整个控制系统包括焊接开始启动开关、焊接件的夹紧固定与放松、夹紧到位行程开关、大功率焊接变压器电源主开关的通/断(大电流晶闸管)等。
焊接过程速度快,精度高,焊接动电极的运动由电液伺服阀控制,动电极的运动位置通过测量传感元件测量,反馈给输入,位置测量传感元件是选用国外进口的150~250mm高精度直线电阻器。
焊接动电极电液速度伺服系统由电液伺服阀、液压马达、积分放大器、位移传感器等组成,为了提高焊接精度,克服电液伺服阀的滞后响应,向电液伺服阀的线圈中送入频率为100Hz的等幅振荡信号,保持电液伺服阀处于一种动态平衡中,提高电液伺服阀的相应速度。
根据上分析,采用三菱Q系列可编程序控制器构成控制系统。具体的构成是[7]:
Q00CPU 1块
QX40(16点输入、DC24V/4mA)2块
QY10(16点输出、继电器型、DC24V/AC240V、2A)1块
Q68AD(8通道模拟量输入、电流/电压)1块
Q62DA(2通道模拟量输入、电流/电压)1块
Q61P-A2(电源,AC200V输入专用)1块
Q35B(可扩展的主基板,电源+CPU+5个模块)1个
在调试时,判断焊接过程中,预热闪光阶段进入到连续闪光阶段的条件是关键,如果一直处于预热闪光阶段,无法自动进入到连续闪光状态,而闪光长度已经运动完成,就必须对焊接状态进行干预,使之进入到连续闪光状态,这可能影响焊接质量,对这样的状态必须要保持记录[8]。
经过运行调试,该系统能够满足大截面材料闪光焊接控制要求,性能稳定。
3 结束语
该控制系统原来是国外引进的设备,由电子系统构成,经过长期使用,可靠性不高。采用三菱可编程序控制器构成控制系统,经过运行调试,该系统能够满足大截面材料闪光焊接控制要求,性能稳定。
参考文献
[1]赵喜华.压力焊[M].北京:机械工业出版社,1994.
[2]韩建,朱锦洪,李兴霞,等.PLC控制步进电机在自动堆焊中的应用[J].电焊机,2006(08):66-68.
[3]黄伟.钢坯定长PLC测量控制系统[J].自动化仪表,1994(12):11-13.
[4]黄伟.三菱A2N系列PLC实现PID控制[J].机械与电子,1994(3):18-19.
[5]侯志勇,吴建远,卞金玉,等.PLC在环缝焊接装置中的应用[J].电焊机,2004(08):43-45.
[6]熊轶娜,蒋红卫,丁薇,等.PLC在C650卧式车床控制系统中的应用[J].机电工程,2009(4):107-109.
[7]三菱公司.Q系列可编程序控制器[Z].2006.
论工民建施工程序及质量控制 篇11
关键词:工民建;施工程序;质量控制
在进行工民建施工中,监控和管理者两个阶段是非常重要的。预控工作一定要做好,这样才能更好地消除问题,同时还要全面对重点和细节方面进行质量监控,以使工程质量得到充分保障。
一 工民建施工的程序质量控制的内容
(1)工艺规程一定要严格遵守
在进行施工操作时,施工工艺和操作规程是其重要法规和依据,是其质量得到保证的重要前提,无论是谁,都要严执行,坚决不能逾矩。
(2)程序活动条件的质量一定要主动控制
程序活动条件包括需要内容,主要有影响质量的五大因素:即施工操作者、施工机械设备、材料、施工环境和施工方法等。为了确保每一道程序都能保质保量完成,需要把这些因素很好的结合起来,让它们易于控制,确保投入品质量,防止系统性因素出现异常状况。
(3)对于程序活动效果的质量,应及时检查
程序质量是否符合标准,程序活动效果评价十分重要。所以,质量检验工作一定要落实好,根据统计和分析状况,很好地掌握质量的变化状况。一旦问题出现了,最好能够当即解决,确保程序活动效果,使规范和标准得到满足。
(4)设置工序质量控制点
控制点是指在工序质量得到保障的情况下,控制好关键部位、重点和薄弱环节等,以便于能够在一定的时间范围内,能够对强化管理进行一个良好的控制。
二 质量控制点的设置
在工程重要程度建立的前提之下,执行质量控制点设置原则。质量控制点的涉及面十分广泛,根据工程特点和相关要求,在某一工程项目中,也许是技术要求高、的某一结构构件,也许是质量受影响的某一环节的若干工序。总之,不管是操作、机械设备、材料、技术参数,还是工程环境、自然条件等,都可以用质量控制点来进行设置,主要受质量特征的影响力决定。
(1)人的行为
人的行为会受到一些工序或操作重点的限定,这样便可以有效遏制人为原因导致的问题。比如可以首先对操作者的身体或心理状况进行检查,检查合格后才可从事危险作业、高空作业和水下作业,或需要机械操作和技术难度比较大的工作。
(2)物的状态
某些工序或操作的重点是在物的状态上的。如加工精度与施工机具有关;计量设备、仪表跟计量不准有一定关系;危险源与失稳、倾覆、腐蚀、毒气、振动、冲击、火花、爆炸等有关,也与立体交叉、多工种密集作业场所有关等。这也就是表明,如果工序特点是不同的,有的把机具设备的控制作为重点,有的把防止失稳、过热、倾覆等危险源作为重点,而有的则把控制重点放在作业场上。
(3)材料的质量和性能
工程质量的主要影响因素是材料质量而非材料性能;特别是对某些程序来说更是如此。比如对于预应力筋的加工,应把钢筋匀质、弹性模量的一致性保持住,一定不要有过量的含硫(S)量和含磷(P)量,以防止出现热脆和冷翠;N级钢筋的可焊性是非常差的。它很容易产生热脆,一旦发生预应力筋作用,应尽量不要在焊接头上对接,焊后要处理通电热。
(4)关键的操作
在预应力筋张拉时,要保证超张和负荷持续2min。超张拉的目的能够有效减少混凝土弹性压缩和徐变,能够在一定程度上把由于钢筋的松弛、锚具的变形和孔道摩阻力等造成的应力损失降低;持续2min的谜底是促使钢筋松弛能够得到尽量早的发展,这样来降低钢筋松弛的应力损失。在进行操作时,若超张拉没有持续2min,那么无法建立可靠的预应力值;如果不对张拉应力进行控制,从而出现偏大或偏小的现象,那么就不可能由可靠的预应力值,预应力构件质量会受到严重影响。
(5)技术间隙
存在一些工序间实践性很强的技术间隙,如果不对其进行严格控制,质量会受到很大影响。比如在对混凝土进行分层浇筑的时候,要求在下层混凝土没有完全凝结时就开始对上层混凝土进行浇筑。
(6)技术参数
一些技术参与跟质量的关系非常大,所以要进行非常严格的控制。比如调整外加剂的掺量,混凝土的水灰化和沥青胶的耐热度也要进行一定的控制,不然它将对密实度、强度、耐冻性和抗渗性造成直接影响。
(7)常见的质量通病
常见的质量通病,如渗水、漏水、起壳、起砂、裂缝等,都与工序操作有关,均应事先先研究对策,提出预防措施。
(8)新工艺、新技术、新材料应用
如果新工艺、新技术、新材料已经通过了鉴定和试验,但由于施工操作人员经验的限制,当又是第一次进行施工时,也必须严格控制它的工序操作,并作为重点来处理。
三 工序质量的检验
工序质量检验是指通过采用一些方法和手段来实际测定并检查工序操作,并将测得的结果与这个工序的操作规程以及形成质量特性的一些技术标准相比较,从而做出合格与否的判断。工序质量检验工作的内容主要有下列几项:1)标准具体化:把设计要求、技术标准、工艺操作规程等转换成具体而明确的质量要求,并在质量检验中正确执行这些技术法规。2)度量:对工程或产品的质量特性进行检测度量。3)比较:把度量出来的质量特征值同该工程或产品的质量技术标准进行比较。4)判定:据此较的结果来判断工程或产品的质量是否符合规程、标准的要求。5)处理:根据判定的结果, 对合格与优良的工程或产品的质量予以认证;对不合格者,则要找原因,采取对策措施予以调整、纠偏或返工。6)记录:把度量出来的质量特征值,完整、准确、及时地记录下来。
四 结论
在工民建工程的实施过程中,一定要认真总结控制管理经验,确保多方单位的同时参与,找到比较好的措施和方法,使得建筑工程施工程序建设的工程质量得到确保。在进行建筑工程施工程序活动的质量监控时,层次一定要划分清楚,把关键问题处理好,根据质量体系与检查制度的情况来进行建筑工程施工程序的质量控制,确保最终实现工程的优化。
参考文献
[1] 张宇,袁静.论施工工序的质量控制[J]. 黑龙江科技信息. 2007(06)
猪场寄生虫控制程序 篇12
(1) 加强饲养管理, 保持圈舍干燥, 清洁卫生。
(2) 全场猪普遍驱虫一次, 药物可用伊维菌素或虫克星, 按每千克体重0.3mg皮下注射;也可用虫克星粉剂、片剂、胶囊剂, 按每千克体重0.3mg 1次喂服, 或按每天每千克体重0.1mg拌料喂服, 连服7天。
(3) 母猪:后备母猪、配种前1~2周驱虫一次, 药物用伊维菌素或虫克星, 其用法用量同上。或用左旋咪唑擦剂, 每10kg体重1ml耳根部涂擦。怀孕母猪产前1~3周内驱虫一次, 哺乳母猪断奶前一周驱虫一次。
(4) 仔猪:转群前 (60~70日龄) 驱虫一次, 以后隔30天, 用左旋咪唑片剂拌料驱虫一次。
(5) 种公猪:至少每半年驱虫一次。
(6) 新进猪, 驱虫2次, 间隔10~14天, 并隔离饲养至少30天在合群饲养。