




已阅读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年度智能交通系统用高性能物联网PCB板采购与集成实施合同
- 2025年航空器材采购与维护服务合同范本
- 2025年大型商业综合体电梯设备配套供应与维护保养紧急救助合同
- 2025年度脚手架设备采购与综合环境质量评估合同
- 2025年二极管行业研究报告及未来行业发展趋势预测
- 2025年度高端铝合金建筑型材智能化生产线建设与全球供应链服务合同
- 2025年车辆赠与及维修保养一体化服务合同综合服务
- 2025年独立艺术电影院线品牌合作租赁协议
- 2025年社区医疗服务平台搭建及日常运维保障合同
- 2025年学校宿舍安全管理与住宿生权益双重保障合同
- 湖北省高中名校联盟2026届高三上学期第一次联合测评物理试题(含答案)
- 形势与政策正确认识中国经济热点问题讲稿-2025秋版本
- 2025年广东省中考化学真题及答案
- 影楼销售基础知识培训课件
- 第2课+西方国家古代和近代政治制度的演变2025-2026学年高二上学期历史统编版(2019)选择性必修1
- 民法典出租房屋合同条款
- 公钥可搜索加密协议:设计原理、安全分析与前沿探索
- 酒店安全巡查日常检查记录表
- 肿瘤常见急症及处理
- 2025年体彩代销者考试题库
- 田螺姑娘课文讲解
评论
0/150
提交评论