




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025绿色农产品买卖合同
- 部编统编一下语文口语交际请你帮个忙名师教学设计公开课教案(2025-2026学年)
- 二手房屋买卖标准合同
- Unit 5 Experiencing Literature说课稿-2025-2026学年高中英语冀教版必修二-冀教版2004
- 主题班会教案主题班会我想飞得更高教案(2025-2026学年)
- 选听 心依恋说课稿-2025-2026学年初中音乐人教版七年级下册-人教版
- 小海豚顶球规则游戏公开课教案教学设计(2025-2026学年)
- Unit 5 What were you doingSection A (3a-3c) 教学设计2023-2024学年人教版英语八年级下册
- 跨学科实践活动:栽种草莓探究影响草莓生长的环境条件 说课稿-2024-2025学年苏科版生物七年级下册
- 浙教版科学八上1.3 水的浮力 配套说课稿
- 雅思词汇一本全(打印珍藏版)
- 高速磁浮大跨度桥梁设计关键技术介绍
- 子宫颈癌课件最新版
- 红蓝简明万人计划青年拔尖人才答辩PPT模板
- 【教学课件】沪科版数学9上:22.1 第3课时比例的性质和黄金分割参考教学课件
- DB23T 2550-2020 政务服务大厅建设和管理规范
- 生态系统服务功能与生态保护
- 基于PLC的物料分拣系统设计论文
- Kobe·Bryant科比英文介绍教学课件
- 《教育统计与测量》笔记(一).
- 统编版六年级语文上册第10课《竹节人》优质课件
评论
0/150
提交评论