




已阅读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及未来5年中国回力鞋市场调查、数据监测研究报告
- 2025及未来5年中国硼烷市场调查、数据监测研究报告
- 考点解析-人教版八年级上册物理声现象《声音的特性声的利用》难点解析试卷(含答案详解版)
- 2025及未来5年中国舱口盖市场调查、数据监测研究报告
- 2025及未来5年中国珍珠岩保温板市场调查、数据监测研究报告
- 2025及未来5年中国镶蓝宝石项链市场调查、数据监测研究报告
- 麻醉科工作制度汇编
- 农民田间学校
- 各类应急演练方案脚本大全
- 雅思词汇一本全(打印珍藏版)
- 高速磁浮大跨度桥梁设计关键技术介绍
- 红蓝简明万人计划青年拔尖人才答辩PPT模板
- DB23T 2550-2020 政务服务大厅建设和管理规范
- 生态系统服务功能与生态保护
- 基于PLC的物料分拣系统设计论文
- 《教育统计与测量》笔记(一).
- 统编版六年级语文上册第10课《竹节人》优质课件
评论
0/150
提交评论