外文翻译原文-PLC软件发展的改进方案心得体会报告_第1页
外文翻译原文-PLC软件发展的改进方案心得体会报告_第2页
外文翻译原文-PLC软件发展的改进方案心得体会报告_第3页
外文翻译原文-PLC软件发展的改进方案心得体会报告_第4页
外文翻译原文-PLC软件发展的改进方案心得体会报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

provedProcessrtheDevelopmentofPLCSoftwareExperienceReportFlavioBonfattiGianniGaddaPaolaDanielaMonariDeptofEngineeringSciencesDemocenterscrlDeptofEngineeringSciencesUniversityofModenavialeVirgilio,55UniversityofModenaviaCampi,213B41100Modena(Italy)viaCampi,213B41100Modena(Italy)+395984881041100Modena(Italy)+3959378514g.gaddademocenter.it+3959378514bonfattiunimo.itABSTRACTProgrammablelogiccontroller(PLC)softwareisacriticalcomponentofalargenumberandwidevarietyofautomatedmachinesandplants.Inspiteofitsindustrialrelevance,itscurrentdevelopmentpracticepresentsheavydrawbacksthatresultinpoorquality,lowreuserateandotherproblems.Thepaperisaimedatpresentingadesignanddevelopmentmethodology,andtheunderlyingmodel,thathavebeenspecificallystudiedtoimprovetheprocess.Themethodologysupportspreliminaryandimprovementdesignphases,producesacompleteandhomogeneousrepresentationofstructuralandbehaviouralaspects,favoursearlycorrectnessandconsistencyverification,guidesdisciplinedsoftwarecodingandtesting,andremainsindependentoftheprogramminglanguage.Althoughadoptingbasicprinciplesoftheobject-orientedparadigm,themodelintroducesproperprimitivestocapturethepeculiaritiesofPLCsoftwareandachieveahigherdegreeofmodularity.Besides,itreplacesmethodswithinvariantsandtransitionconditionstoexpressmoreknowledgeindeclarativeform.Theproposedapproachhasbeentestedoncomplexrealcases.KeywordsProcessimprovement,requirementengineering,design,reuse,PLC.INTRODUCTIONPLC-basedsystemsrangefromsimplenumericalcontrolmachinestoverycomplexwarehousing,transportationandpackagingplants,andincludeCartesianrobots,windingmachines,pallettizersandmanyotherdifferenttypesofautomatedsystems.Permissiontomakedigitalhardcopiesofallorpeaofthismaterialforpersonalorclasroomuseisgrantedwithoutfeeprovidedthatthecopiesarenotmadeordistrihutedforprofitorconmiercialadvantage,thecopy-rightnotice,thetitleofthepuhlicationanditsdateappear,andnoticeisGventhatcopyrightisbypermissionoftheACM,Inc.Tocopyotherwise,torepublish,topostonserversortoredistributetolists,requiresspecificpermissionand/orfeeICSE97BostonMAlJSACopyright1997ACM0-89791-914-9/97/05.$3.50bonfattiunimo.itTheglobalcostofoneofthemfallsbetween0.1and5millionsofECUs,andtheincidenceofsoftwarecostis5%to10%intheaverage,dependingonsystemnatureandreuserate.ConsideringthelargenumberofPLC-basedsystemsproducedeveryyear,theabsolutevalueofPLCsoftwareisindeedconsiderable.Furthermore,PLCsoftwareiswhatanimatessystemsandcontrolstheirbehaviours,henceitplaysaverycriticalrolewithrespecttosystemoperativityandsafety:thewholemechanicalandelectricalstuffisimmobiliseduntilsoftwareworksandwheneveritfaults.ThemarketofautomationissteadilygrowingandPLCflexibility,ensuredbylowhardwarecostandsoftware-basedbehaviourcontrol,supportstheevolutiontowardshigherlevelsofproductcustomisation.Mostdevelopersbelongtotheclassofsmall-mediumsizedenterprises(SMES).ThetraditionalspecialisationofSMEsfavoursaworkorganisationthatoftenappliessub-contracting.Thiscallsforsupportstoco-operativedevelopmentthatthecurrentPLCsoftwareengineeringpracticedoesnotprovide.Systemdevelopmentisusuallysplitintotwomainphases,namelystructuraldevelopment(mechanicalandelectricalcomponents)andcontroldevelopment(electronicandsoftwarecomponents).Thelatterphasederivesrequirementsfromtheformer:thesystembehaviourisdecidedbytheelectro-mechanicalprojectteamwhointerpretscustomerrequests.Beingtheculturesofthetwoprojectteamsgenerallydifferent,acommonlanguageishardtodefine.Thisresultsininformationlacksandmisunderstandingscausinganumberofrevisionsanditerationsofthedevelopmentprocess.ThecurrentPLCsoftwareengineeringpracticeisconditionedbytheprogrammingenvironmentsmadeavailablebyhardwaresuppliers,sincespecificdesignmethodologiesandtoolsarestilllacking.Hardwaresuppliersprovideproprietarylow-levelprogramminglanguagesoradoptversionsoftheIEC1131-3standard4007,131.Thus,requirementspecificationiscarriedoutinformallyandsoftwarecodingstartsimmediately,withoutundertakingsignificantdesignactivities.Programmingorganisationsareleanstructuresthat,havingneitherskillsnorresourcestore-engineertheirinternalpractice,mustrelyonprogrammersexperience.TheintroductionoftheIEC1131-3standard(themajoreffortspentinthelastyearstoimprovePLCsoftwaredevelopment)solvesportabilityandinter-operabilityproblems,butitdoesnotsignificantlyenhancetheinitialphasesofthesoftwarelife-cycle.Itistheaimofthispapertopresentadesignanddevelopmentmethodology,andtheunderlyingmodel,namedEASIER,thathavebeenspecificallystudiedtoimprovetheprocess.Themethodologysupportspreliminaryandimprovementdesignphases,producesacompleteandhomogeneousrepresentationofsystembehaviour,favoursearlycorrectnessandconsistencyverification,guidesdisciplinedsoftwarecodingandtesting,andremainsindependentoftheprogramminglanguage.Althoughadoptingbasicprinciplesoftheobject-orientedparadigm,themodelintroducesproperprimitivestocapturethepeculiaritiesofPLCsoftwareandachieveahigherdegreeofmodularity.Besides,itreplacesmethodswithinvariantsandtransitionconditionstoexpressmoreknowledgeindeclarativeform.ThereasonforstudyingaspecificsolutionarisesfromthenatureofPLCsoftware.PLC-basedsystemsarethemostcommontime-drivenreal-timesystems,andtheircontrolpresentsatypicalcyclicexecutionwithweaktimeconstraints(20to50Hz)13.Duringeachcycle,itchecksthevaluesofinputandworkvariablesandcomputesthoseofworkandoutputvariables.Thelongertheexecutiontime,thelowerthefrequencyofsystemstatedetection.ToolslikeStatechartsloareinterestingfortheirabilityofmanaginghierachicalstatediagrams,buttheycannotcapturealltheknowledgerequiredtorealizeacompletesystemcontrol(seetheSectiononschemeimprovement).Moreover,thetime-drivennatureofPLCsoftwarepreventsfromapplyingapproachessetupforsequentialsoftware,asthoseproposedin8,14,161,whicharepoorofmeansforrepresentingdynamics.EventhemorerecentOMTmodel161doesnotformaliseconstraints,aswellasdetailsonstatetransitions(triggeringevents,sideeffects),andhencecannotsupportcorrectnesscontrols.Finally,formalmodels6,12,171arehardlyapplicabletocomplexsystemrepresentationanddifficulttouseandtranslateintoPLClanguages.TheimprovedprocessherepresentedhasbeenvalidatedbytheESPRIT-ESSIproject10542-EASIER(EnhancingApplicationSoftwareImplementationforProgrammableLogicControllers).Thequantitativeinformationreportedinthispaperisdrawnfromtheexperimentscarriedoutwithinsuchproject.Afulldevelopmentoftheproposedmethodology,inthesectorofcomputerisednumericalcontrol(CINC)machine-tools,isinprogressasESPRITproject22,273-AUTOMAT(MethodologyandSetofToolsfortheImprovementofMachineTools.Automation).BothprojectsarepartiallysupportedbytheCommissionofEuropeanCommunities(CEC).Thepaperisorganisedintosixmainsections.ThenextsectionintroducesthebasicconceptsoftheEASIERmodel.Thefollowingtwosectionspresentthetwostepsoftheapplicationmethodology,namelyschemeconstructionandschemeimprovement.Then,asectionexaminesconsistenqyverificationproblemsandthefollowingonedescribesthedisciplinedcodegenerationpracticederivedfrommodelapplication.ThefinalsectiondiscussestheimpactoftheproposedapproachonthePLCsoftwaredevelopmentcycle.THEEASIERMODELThemodelisbasedonanobject-orientedparadigmwhichwasinitialllyinspiredbyaWandsworkMI.Itestablishesstrictguidelinesforobjectcomposition,sothatthecontrolcodeofacompoundsystemisobtainedbycombiningthatofitscomponentunits.Itusesthelawandactionprimitives,inplaceofthetraditionalmethod(routine)primitive2,51,tomaintainsystemlegalityandsteadiness.Weassumethatthemodellanguagesyntax3isself-explaining.TheexamplesreportedinthisandinthefollowingSectionsarecommentedonlyintheirmostsignificantaspects.*Objects.Thesystemunitsaremodelledasobjecttypes.Theconceptofobjectweadoptissimilartothatoftheclassicalobject-orientedparadigm,withtheexceptionofmethods,.Fromthestaticpointofview,anobjecttypeischaracterisedbyanameandalistofattributesandcomponenls.Simpleunitsdonotpresentacompositionstructure,hencetheyareonlydescribedbyattributesexpressingI/O,setting,stateandworkvariables.Anattributeis,declaredbyapair(Attribute:Domain)thatgivesthesetofvaluesitcantake.Complexunitdefinitionincludescomponentsexpressingtheobjectswhichparticipateinthecomposition.Acomponentisdeclaredbyapair(Role:Object)definingthetypeofobjectsthatcanplaythegivenrole.Accordingtotheobject-orientedparadigm,anobjecttypecanbedefinedbyspecialisation.Thespecialisedtypeinheritsattributesandcomponentsoftheobjectitdescendsfrom,apartfromthoseaddedorredefined.Redefiningacomponentisrestrictedtomappingtheroleintoasubtype,redefininganattributemeanslimitingitsdefinitiondomain.Legalitylaws.Invariantsare.associatedtoeveryobjecttypeforconstrainingthespacesofitslegalstatesandlegalstatevariations.Theyarewrittenasexpressions(laws)ofthepredicatecalculusI,appliedtothecurrentandpreviousstatesoftheobjectand,ifany,ofits401components.Thekeywordoldprecedinganattributenamedenotestheattributevaluebeforethelastobjectstatevariation,asithappensinEiffel14.Moreprecisely,ifSi-1andSirepresentthepreviousandthecurrentobjectstates,respectively,allthevaluesofSi-1aredenotedasoldindependentlyonwhethertheyarechangedornotinSi.Then,legalitylawscanbeviewedaspost-conditions.Whenalegalityviolationisdetected,thecontrollermustundertakeactionstoeitherrejecttheillegalstatevariationorachievealegalstatebyproperlymodifyingthewrongstate.Forthisreasonweassociatetoeverylegalitylawthecorrespondingrestorationaction.+Transitionlaws.Apartfromensuringobjectstateandstatevariationlegality,themaintaskofPLCcodeissolvingunsteadysituationsbycomputingnewsteadystates.Inotherterms,theautomatedsystembehavesasasynchronousstatemachinelo,161.Statetransitionlawsdetectunsteadysituationsbycomparingtheobjectstatewitheventsoccurredinthecontrolledsystem,calculatethenewstateandundertaketheneededactions.Althoughlegalityandsteadinessproblemsaredifferentinnature,theirmanagementcanbebasedonthesamemodellingsolutionssincebothrequiredefinitionofconditionswithassociatedtheactionstoundertake.Virtualobjects.Themutualinfluenceoftwoormoreobjecttypes,withincompoundobjectswheretheyplaytherolesofcomponents,oftenpresentregularities.Thismeansthatcertainlawsarefoundinallthecompoundobjectswheretheyparticipate:ifany,theyexpresstheconstraintsthatsuchcomponentsmustsatisfyineverycontext,i.e.theircontext-freeinteractionrules.Theselawscanberemovedfromthesinglecompoundobjectsandassociatedtoavirtualobject,introducedtothispurpose.Thisobjecttypeiscalledvirtualsinceithasnocorrespondencewithphysicalsystemunits.Incodeterms,avirtualobjectcorrespondstoacontrolroutinetoexecutewheneverthosecomponentobjectsworktogether.SCHEMECONSTRUCTIONHereweshow,throughsimpleexamples,theworkperformedbythesoftwaredesigner.Theresultisatentativeschemeofthesystemcontrol.Theexamplesrefertoconveyorandpickingbaycontrols,astheyaretypicalelements(atdifferentcomplexitylevels)ofmostautomatedtransportationandwarehousingsystems.Sincethecompletemodellingofaunitdependsonthatofitscomponents,systemrepresentationusuallyfollowsabottom-upapproach.+Simpleunitstructure.Aconveyormovesobjectsfromanentrypointtoanexitpointbymeansofanengine.Inthisexample,theconveyorisconsideredasimpleunit(withoutcomponents).Theobjectrepresentingitisprovidedwithasmanyattributesastheunitparametersandvariablesimpactingonthecontrol.Thefollowingdefinitionreportsasampleofthetypicalattributesinvolvedinunitcontrol:objectConveyorLength:2000.3200physicalparameterEntryPhotocell:booleaninputvariableExitPhotocell:booleaninputvariableEntrysemaphore:(green,red)outputvariableExitsemaphore:(green,red)ouputvariableEnginespeed:(stop,low,high)outputvariableStatus:(ready,waitload,load,waitTransit,transitionvariableMode:(manual,automatic)settingvariableNotice:booleanworkvariableTimer:(preset,reset,expired)workvariablePhysicalparameterscharacterisethespecificunitinthefeaturesthataffectitsbehaviour,inputvariablesgivesensorvalues,outputvariablesaresettooperateactuators,transitionvariablesareusedtorepresentobjectdynamics,settingvariablesareintroducedtoconstrainthesystembehaviourincomplyingwithuserregulationchoices,workvariablesallowrecordingofintermediatevaluesandincludetypicalprimitivessuchastimersandcounters.+Simpleunitlegality.Legalitylawsdefinethespacesofobjectlegalstatesandlegalstatevariations,andincludetheactionstoundertakeincaseofviolation.Forthesakeofreadability,lawsarelabelled.WithreferencetotheConveyorexample,thefollowinglaw:Cvyr3:Lengthge2800=+Enginespeednehighstatesthattheenginespeedisnotallowedtoreachthehighvalueincaseoflongconveyors.Shouldthishappen,awarningmessageisissuedandthespeedislowered.Similarly,statevariationscanbeconstrainedasinthefollowinglaw:Cvyr.5:oldEnginespeedneEnginespeedandtransit,busy,unload,error)actwnmsgwrongspeed;Enginespeed:=lowoldEnginespeedeqstop*EnginespeedeqlowactwnmsgwrongaccelerationI;Enginespeed:=lowstatingthatitisnotallowedtopasssuddenlyfromquiettohighspeed.Notethatrestorationactionsarealgorithmswritteninanyprocedurallanguage(here,Pascal-like).+Simpleunittransitions.Statetransitionsrelatesystembehaviourtochangesofobjectstatevariables(StatusinthecaseofConveyor).Theleft-handexpressiontakestheformofabooleanpredicateonthecurrentstatevariablevalueandonothervaluesrepresentinganeventoccurrence.Theright-handexpressiondescribesthecalculationtoexecutefordeterminingthenewstateandotherpossibleside-effects.Forexample:Cvyr7:Statusin(ready,waitload)andEntryPhotocellandEntrysemaphoreeqgreen402-Status:=load;Timer:=presegdescribesatransitionfromthereadyorwaitingstatestotheloadstate,andtheadditionaloperationofstartingtheloaddown-timer.4Complexunitstructure.Apickingbaybasicallyemploysthreeconveyorsandtwoshunters.Theexitconveyorexitspalletsfrominsidethewarehouse.Itisfollowedbyafirstshunterthatdeviatesorthogonallythetransportedpallets.Afterthat,thepickingmoduleconveyormakespalletsavailabletohumanoperations.Thesecondshunterchangesagainthedirectiontowardsthewarehouse.Finally,theentryconveyorreturnspalletstothewarehouse.Then,thepickingbayisasignificantexampleofcomplexobject:objectPickingBayExitconveyor:ConveyorPickingModule:ConveyorEntryConveyor:ConveyorFirstshunter:ShunterSecondshunter:ShunterShapechecker:booleanStatus:(ready,wait,busy,.)Mode:(manual,automatic)Error:integerGocommand:booleancomponentcomponentcomponentcomponentcomponentinputvariabletransitionvariablesettingvariableworkvariableworkvariableThecomplexobjectpresents,ingeneral,thesametypesofvariablesandparametersseeninasimpleobject.Theaboveexamplereportsonlyasampleofthem.Thepickingbayissupposedtotransferapalletatatime,thereadystatusmeansthatnopalletisintransit,waitmeansthatahumanoperatorisworkingonthepalletatthepickingmodule,busymeansthatthepalletisintransitoneithertheexitortheentryarms.Compositionarchitectureandrelativestaticandbehaviouralconstraintsdonotresultfromthisdefinitionbutfromlegalityandtransitionlaws.+Complexunitinvariantsandtransitions.Asaunitinitself,thecomplexsystempresentsillegalstatesorillegalstatevariationsthatmustberecognisedandmanaged.Anexampleisgivenbythefollowinglaw:Pbay9:notShapecheckerorErrorne0=.Modeeqmanualactionmsgoperatorrequired;Mode:=manuaQSimilarly,thecomplexunitpresentsitsownstatetransitionstobeexpressedwithreferencetotheidentifiedstatevariable(Statusalsointhiscase).Forexample:Pbayll:StatuseqreadyandoldModeeqautomaticandModeeqmanual+Status:=wait,However,mostknowledgeoncomplexunitconcernsitsinteractionwiththecomponentunits,aswellastheinteractionsofthecomponentunitsinthiscontext.Interactionbetweencompoundqndcomponentunits.Thisinterdependenceinvolvesbothlegalityandtransitionconstraints.Consistencybetweencompoundandcomponentunitstatesandfeaturesisexpressedbylaws,likeinthefollowingtrivialexampleforcingeverycomponenttosharetheoperationalmodeofthewholesystem(thedotnotationexpressescomponentattributes):Pbayl3:ModeeqExitConveyor.ModeandModeeqFirstShunter.Modeand.actionExitConveyor.Mode:=Mode;FirstShunterMode:=Mode;.Transitionconstraintsaremoreimportantbecausetheysynchronisecomponentandcompoundstatediagrams.Theideaofstatediagramhierarchyisnotnewlo,161;whatweproposeisapartitioningcriterionthatenforcesthedegreeofmodularity.Rememberthatatransitionlawischaracterisedbyanenablingconditionandanactionthatgeneratesthenewlegalstate.Theconditionisappliedtothestateofthecompoundunitanditscomponents,andallthecomponentattributescanbetakenintoaccount.Thismeansthatacompoundunitstatetransitioncanbedetermined,amongothercauses,bytheoccurrenceofastatetransitioninoneofitscomponents.Thelaw:PbaylS:StatuseqbusyandoldEntryConveyor.StatusequnLoadandEntryConveyor.Statuseqready-+Status:=ready;.establishesthatthepickingbayisreadytoacceptanewitemonlywhenitiscompletelyempty,thatis,afterthepreviousidemhasbeenreturnedbacktothewarehouse.Initsturn,theactioncanmodifythecompoundunitattributesandthoseofitscomponents.Thismeansthatatransitioninthecompoundunitstatediagramcandetermine,amongothereffects,thetriggeringoftransitionsincomponentstatediagrams.Thisexample:Pbayl7:StatuseqwaitandGocommand.+Status:=busy;PickingModule.Notice:=truemeansthatwheneverthehumanoperatorpushestheGopickingbaybuttontostartitagain,theoverallstatusbecomesbusyandacknowledgementofthisisgiventothepickingmodulethroughitsNoticevariable.Thiswillimpactonapickingmoduletransition(rememberitisaconveyor),forinstance:Cvyrl9:StatuseqwaitTransitandNotice-+Status:=transit;.Notethat,inordertokeepthedescriptionsofcomponentandcompoundbehavioursindependent,thelatterisnotallowedtomodifydirectlytheformerstatevariable,butworkvariablesareusedforthispurpose.403+Interactionbetweencomponentswithinacompoundunit.Asinthepreviouscase,interdependenceextendstobothlegalityandtransitionlaws.WehavealreadyseenlawPbayl3constrainingallpickingbaycomponentstocomplywiththeoverallworkingmode.Similarly,apickingbaylawcanrelatethestatesoftwoofitscomponents,asinthefollowingexample:Pbay21:ExitConveyor.Statuseqtransit=sFirstShunter.NoticeactionFirstShunter.Notice:=truemeaningthat,whiletheexitconveyorismovingapallet,thefollowingpickingbaymoduleisinformedofthisinordertogetpreparedforthesubsequentloadingoperation.TheeffectsonFirstshunterstatusareexpressedbythefollowingtransitionlaw:Shtr23:StatuseqreadyandNotice-Status:=waitTransit;.SCHEMEIMPROVEMENTTheplantcontrolisu

温馨提示

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

评论

0/150

提交评论