外文翻译--基于物理实验SimaticPLC运行的实时显示测量 英文版.pdf
IEEETRANSACTIONSONNUCLEARSCIENCE,VOL.51,NO.3,JUNE2004489MeasurementofReal-TimeAspectsofSimatic®PLCOperationintheContextofPhysicsExperimentsHaraldKleines,JanosSarkadi,FrankSuxdorf,andKlausZwollAbstractToday,mostslowcontrolsystemsforphysicsex-perimentsatForschungszentrumJülichareimplementedwithProgrammableLogicController(PLC)technologyandfieldbussystems.Inmanycases,evendeterministicresponseisrequiredfromthePLCs.Thisraisesthequestionaboutthereal-timeperformancethatcanbeexpectedfromaPLC.Response-timemeasurementsofSimatic®PLCsmanufacturedbytheworldmarketleaderSiemensarepresented.InfluenceofprogramstructureandhardwareconfigurationonperformanceanddeterministicbehaviorofaPLCisdiscussed.I.PROGRAMMABLELOGICCONTROLLERS(PLCS)INEXPERIMENTCONTROLSYSTEMSTODAY,industrialautomationtechnologyiswellestab-lishedininfrastructuresystemsforphysicsexperiments,e.g.,inwaterorgassupplysystems.ThisleadstotheheavyuseofProgrammableLogicControllers(PLCs),whichtypicallyaretheintelligentautomationstationsformingthecoreofindustrialsystems1.Mainreasonsincludelowpricesinducedbymassmarket;robustness;longtermavailabilityandsupportfrommanufacturer;professionality(connectors,conformancetostandards,)Beyondthescopeofpureinfrastructuresystems,PLCsarein-creasinglybecomingcentralcomponentsofexperimentcontrolsystems,replacingVME-orPC-basedreal-timesystems2,3.ThisiscausedbythefollowingfeaturesofmodernPLCfamilies.Highdegreeofscalability:ModernPLCfamilieshaveawidespectrumofCPUtypes,thatisscalablenotonlywithregardtoperformance,butalsowithregardtofunction-alityandformfactor.Foroutdoororfaulttolerantappli-cationsspecialversionsareavailable.Extensibility:ThemodulardesignofPLCsenablestheextensionwithawiderangeofdigitalandanalogI/Omodules.Additionally,integratedtechnologymod-ulesareavailablefordifferentapplicationareas,e.g.,steppermotorcontrollers,servomotorcontrollers,orPIDcontrollers.Extensivecommunicationcapabilities:ModernPLCshaveatleastoneintegratedcommunicationportandcanbeextendedbyavarietyofcommunicationcontrollersManuscriptreceivedMay16,2003;revisedOctober1,2003.TheauthorsarewithZentrallaborfürElektronik,ForschungszentrumJülich,D-52425Jülich,Germany(e-mail:h.kleinesfz-juelich.de).DigitalObjectIdentifier10.1109/TNS.2004.828504fordifferentfieldandprocessbussystems,thusenablingconnectionofotherindustrialdevices.AkeyissueistheextensionofacentralPLCsystemwithdecentralperipheryviaspecialfieldbusses(e.g.,PROFIBUSDP),thatallowsthetransparentconnectionof“unintelligent”I/O-modules.ThusaPLCprogramcanaccessthisdecen-tralperipheryinthesamewayascentralPLCperiphery.Powerfuldevelopmentenvironment:ModernPLCfami-liescomewithahomogeneouscrossdevelopmentenvi-ronment,thatsupportsallthemajorIEC1131program-minglanguages4.Typically,representationsininstruc-tionlist(IL),functionblockdiagram(FBD)orladderdiagram(LD)canbeswitcheddynamically.Thedevelop-menttoolsallowsemigraphicalhardwareconfiguration,offerstrongdebuggingmechanismsandallowincrementaldevelopmentbytheexchangeofblocksduringruntime.Today,inFZJuelich,allnewandadvancedexperimentcon-trolsystemsareheavilyPLC-based3,asillustratedbythear-chitectureofaneutronspectrometercontrolsystemshowninFig.1.BecausetheworldmarketleaderSiemensdominatestheEuropeanmarket,Simatic®S7PLCsareusedinFZJuelich,almostexclusively.ThemidrangeseriesS7-300®ismostpopular.Thehigh-endseriesS7-400®istargetedatapplicationswithextremeperformancerequirementsandsupportsalsomultiprocessorconfigurations.TheminiPLCseriesS7-200®israrelyused,becauseitgotthenameS7bypuremarketingreasonsanditsprogrammingenvironmentisincompatibletotheotherS7devices.InsteadoftheS7-200®,theIM151/CPUservesasaminiPLC.TheIM151/CPUisanintelligentcontrollerforthedecentralperipheryfamilyET200S®.AlsothedecentralperipherysystemsET200L®andET200M®areusedcommonlyinJülich.TheSoftPLCWinAC®hasonlybeentestedintheLab,sofar.TheresponsibleplanningofPLC-basedcontrolsystemsre-quiresknowledgeontheirreal-timefeatures.WhatisthemagnitudeofPLCresponsetime,dependingonPLCtype?Candeadlinesbeguaranteed?Whatprogrammingruleshavetobefollowed?Thepaperaddressestheseissuesbymeasurementsatdif-ferentPLCtypesoftheSimatic®S7family.ThestandardIEC1131definesacommonframeworkforPLCfunctionalityandprogramminglanguages4,whichallthemajorPLCmanufac-turersconformto.ThusgeneralresultscanbegeneralizedalsototheirPLCfamilies.0018-9499/04$20.00©2004IEEE490IEEETRANSACTIONSONNUCLEARSCIENCE,VOL.51,NO.3,JUNE2004Fig.1.ControlsystemarchitectureoftheneutronspectrometerKWS3.Fig.2.Blockcallinghierarchy.II.SIMATIC®S7PROGRAMMINGMODELClassicalreal-timeapplicationsinresearchareimplementedwithreal-timekernelslikeOS-9orVxWorks,thatfollowanasynchronousparallelprogrammingapproach,asdefinedinPOSIX5,forexample.Thesoftwaredeveloperstructureshisprogramintasksaccordingtothelogicalstructureoftheproblemtosolve.Thesetasksareexecutedquasiparallelbytheoperatingsystem,andtheexecutionisbasicallyevent-triggered.Byassigningprioritiestothetaskstheprogrammergiveshintstotheoperatingsystemaboutthedesiredexecutionorder.Thustheprogrammerdoesnothavetoplantheschedulingdetails.Ontheotherhanditisdifficulttounderstandtheexecutionorderandtodecide,ifaspecifictaskcanmeetitsdeadlines.TheprogrammingmechanismsinPLCsystemsaretotallydifferent,becausetheyfollowtheolderapproachofsyn-chronousprogramming6.Here,theexecutionoftasksiscompletelytime-triggered,andtheprogrammerhastoorganizehisprogramintotasksaccordingtothetime,whenataskhastorun.Sohemustplantheexecutionorderhimself,whichismorecomplicatedbutalsogivesmorecontrol.InStep7,thedevelopmentenvironmentoftheS7,allcodeexistsinblocks,asdefinedinIEC1131.TasksarerepresentedbyOrganizationBlocks(OBs).OBsaretheschedulableitems,thatarecalledbytheoperatingsystemofthePLCatcertainevents,e.g.,whenatimerexpiresoranerroroccurs.Thus,theOBsaretheinterfaceoftheoperatingsystemtotheuserpro-gram.AsindicatedinFig.2,OBscancallFunctions(FCs),whichareblocksthatcorrespondtofunctionsinaprocedurallanguage.FCscancallotherFCsorsystemfunctions(SFCs),whichcorrespondtooperatingsystemcallsinaPOSIXenviron-ment.FunctionBlocks(FBs)/SystemFunctionBlocks(SFCs)areFCs/SFCswithanassigneddatablockforstaticfunctiondata.A“normal”PLCprogramiscontainedinOB1,whichiscalledcyclicallybytheoperatingsystem,asindicatedinFig.3.BeforeOB1iscalledtheoperatingsystemtransfersdatafromtheinputmodulestoamemoryareacalledprocessimagetable.AfterOB1hasbeencalled,datafromtheprocessimagetableiscopiedtotheoutputmodules.TheindirectaccesstoI/O-modulesviatheprocessimagetablereducesaccesstimeandincreasesconsistency.KLEINESetal.:SIMATIC®PLCOPERATION491Fig.3.ExecutionofmainprogramscancycleOB1.TheexecutiontimeofOB1ismonitored,andifapreconfig-uredmaximumisexceeded,thetimeerrorOB80iscalled.OnS7-400®andWinAC®alsoaminimumforthecycletimeofOB1canbeconfigured.IftheexecutiontimeforOB1islessthen,thebackgroundOB90iscalled,whichhasthelowestpriority.ThepriorityofallotherOBsincreaseswithitsnumber.OnlyonS7-400®andWinAC®thisdefaultpri-oritycanbechanged.EachOBcanbeinterruptedbyOBswithahigherpriority.TableIliststhepossibleOBs.AvailabilityofOBsdependsontheCPUtype.IfmoreOBsofacertaintypearerequired,amoreexpensiveCPUhastobebought.Time-of-dayinterruptOBsarestartedatapreconfiguredtime,e.g.,endofashift,whereastimedelaysinterruptOBsarestartedattheexpirationofaone-shot-timer.CyclicinterruptOBsarestartedwithafixedfrequency.Thetimeintervalandthephaseoffsetcanbeconfiguredwithagranularityof1ms.HardwareinterruptsOBsarestartedbyaaneventataninputorfunctionmodule,e.g.,detectionoftherisingedgeofadigitalsignal.Thisfunctionalityisonlyavailablewithso-called“HighFeature”inputmodules.SynchronouserrorOBsarestartedbyerrorsintheuserprogram,whereasasynchronouserrorinterruptOBsarestartedbyPLCfaults,likepowerfailure,modulefailureortimeerrors.Atimeerroroccurs,whenanOBcannotmeetitsscheduledstarttime,andisanuniquefeatureofPLCs.III.REAL-TIMEPERFORMANCEMEASUREMENTSA.PerformanceEvaluationGoalsAkeyissueofreal-timeperformanceisthereactiontimetoexternalevents.BecausePLCsystemsbasicallyconformtoasynchronousprogrammingmodel,thisisdirectlydeterminedbythecycletime,whichhastobeanalyzedforthefreerunningcycleOB1andcyclicinterrupts;e.g.,OB35.TodeterminetheapplicationareaofPLCclasses,theminimumofhastobemeasuredfordifferentPLCtypes.TheactualvalueofinaspecificapplicationdependsontheamountofcodeinthecyclicOB,ofcourse.TABLEIOBTYPESOFASIMATIC®S7TABLEIIPLCSUNDERTESTDeterministicbehaviorofaPLCisdeterminedbythejitterof,whichisofprimaryinterestforcyclicinterrupts.With“HighFeature”inputmodules,alsohardwareinterruptsarepossible.Heretheminimumresponsetime,whichisdefinedasthetimetoactivateOB40,anditsjitterhastobemeasured.Inordertogetacompletepicture,themeasurementshavetobeconductedforaminiPLC,amidrangePLCandahigh-endPLC.TableIIshowstheCPUs,thathavebeenselectedforthemeasurementsinthispaper.Thetimeforafloatingpointaddi-tionhasbeenmeasuredbyrepeatingittimes,inordertoconveyanimpressionoftheirrelativeperformance,whichdif-fersconsiderably.BecauseofthedistributednatureofPLC-basedsystems,theimpactofPROFIBUScommunicationtoresponsetimeisanim-492IEEETRANSACTIONSONNUCLEARSCIENCE,VOL.51,NO.3,JUNE2004Fig.4.Experimentsetup.Fig.5.HistogramofOB1cycletimeatIM151/CPU.portantissue.Thustheadditionaldelaysintroducedbycommu-nicationaswellastheadditionaljitterhavetobeanalyzed.Butpresentationofcommunication-relatedmeasurementswouldgobeyondthescopeofthispaperandwillbecoveredbyafuturepublication.Theanalysisoftheresponsetimeasafunctionofthesystemload,e.g.,inducedbyharddiskactivity,communicationorback-groundcomputing,isakeyissueonconventionalPOSIX-likereal-timesystems.ThisisnotanissueonPLCsystemsbe-causeoftheirsynchronouscyclicoperation.Eventhecommu-nicationonfieldbusseslikePROFIBUSDPV0orAS-Interfaceiscyclically,thusinducingaconstantload.Forasynchronoustypeofcommunication,e.g.,TCP/IP,intelligentcommunica-tioncontrollersareused,thusoffloadingtheCPU.AnexceptionfromthisruleistheMPI(MultipointInterface,aproprietaryfieldbus),thatisintegratedineachCPU.ButinJülichMPIisonlyusedforprogramming.B.MeasurementScenarioAccordingtoFig.4theinputsofthePLCsundertest(listedinTableII)areconnectedtoapulsegenerator.OB40isacti-vatedbyarisingedgeoftheinputsignalandtogglesaoutputsignal.TheoutputofthepulsegeneratorandoutputsofthePLCundertestareconnectedtotheNationalInstrumentsanaloginputmoduleNI6062E.Thesignalsaresampledwithafre-Fig.6.HistogramofOB1cycletimeatCPU314C-2DP.quencyof100kHz.Matlabcodehasbeendevelopedthatde-tectsrisingedgesinthesampledsignals,computestherequiredtimedifferencesandformsanhistogramofthemeasureddata.ThusthedistributionoftheresponsetimeofthePLCcanbemeasured.Thedistributionofthecycletimeismeasuredinananalogousway.Alternatively,thesignalsareconnectedtotheTDCmoduleSIS3400fromStruckInnovativeSystems.Thusthecorrectnessandthesufficientprecisionofthemeasureddatacouldbeverified.C.MeasurementsoftheMainProgramScanCycleOB1Figs.57showthedistributionofforOB1measuredonthefirstthreePLCinTableI.TherewasnootheractivityonthesystemthanOB1,whichonlycontainedcodefortogglingadigitaloutputdirectlywithoutusingtheprocessimagetable.TheminimumforanditsjitterarecausedbyoperatingsystemactivitiesandgetbetterwithincreasingperformanceofthePLCundertest.AlthoughmevalueandvarianceoffortheS7-300®aremuchbetterthanforIM151/CPUtheworstcaseiscomparable.CPU412-2isalmostdetermistic,basicallytakingtwodiscretevalues.ThisisnotnecessarilycausedbyCPUbehavior,becauseatthesefrequenciesthebehaviorofthedigitaloutputsgetssignificant,too.ThiscausedartifactsontheCPU414-1wherewemeasuredaminimumcycletimeof0.2ms.Butinthissituationthetimebetweentwostatechanges