VisualizationofPLCProgramsusingXMLM.BaniYounisandG.FreyJuniorprofessorshipAgentenbasedAutomationUniversityofKaiserslautemP.0.Box3049,D-67653Kaiserslautem,GermanyAbstract-DuetothegrowingcomplexityofPLCprogramsthereisanincreasinginterestintheapplicationofformalmethodsinthisarea.Formalmethodsallowrigidprovingofsystempropertiesinverificationandvalidation.OnewaytoapplyformalmethodsistoutilizeaformaldesignapproachinPLCprogramming.However,forexistingsoftwarethathastobeoptimized,changed,orportedtonewsystems.ThereistheneedforanapproachthatcanstartfromagivenPLCprogram.Therefore,formalizationofPLCprogramsisatopicofcurrentresearch.Thepaperoutlinesare-engineeringapproachbasedontheformalizationofPLCprograms.ThetransformationintoavendorindependentformatandthevisualizationofthestructureofPLCprogramsisidentifiedasanimportantintermediatestepinthisprocess.ItisshownhowXMLandcorrespondingtechnologiescanbeusedfortheformalizationandvisualizationofanexistingPLCprogram.I.INTRODUCTIONProgrammableLogicControllers(PLCs)areaspecialtypeofcomputersthatareusedinindustrialandsafetycriticalapplications.ThepurposeofaPLCistocontrolaparticularprocess,oracollectionofprocesses,byproducingelectricalcontrolsignalsinresponsetoelectricalprocess-relatedinputssignals.ThesystemscontrolledbyPLCsvarytremendously,withapplicationsinmanufacturing,chemicalprocesscontrol,machining,transportation,powerdistribution,andmanyotherfields.Automationapplicationscanrangeincomplexityfromasimplepaneltooperatethelightsandmotorizedwindowshadesinaconferenceroomtocompletelyautomatedmanufacturinglines.Withthewideningoftheirapplicationhorizon,PLCprogramsarebeingsubjecttoincreasedcomplexityandhighqualitydemandsespeciallyforsafety-criticalapplications.ThegrowingcomplexityoftheapplicationswithinthecomplianceoflimiteddevelopmenttimeaswellasthereusabilityofexistingsoftwareorPLCmodulesrequiresaformalapproachtobedeveloped[I].Ensuringthehighqualitydemandsrequiresverificationandvalidationproceduresaswellasanalysisandsimulationofexistingsystemstobecarriedout[2].OneoftheimportantfieldsfortheformalizationofPLCprogramsthathavebeengrowingupinrecenttimeisReverse-engineering[3].ReverseEngineeringisaprocessofevaluatingsomethingtounderstandhowitworksinordertoduplicateorenhanceit.WhilethereuseofPLCcodesisbeingestablishedasatoolforcombatingthecomplexityofPLCprograms,ReverseEngineeringissupposedtoreceiveincreasedimportanceinthecomingyearsespeciallyifexitinghardwarehastobereplacedbynewhardwarewithdifferentprogrammingenvironmentsVisualizationofexistingPLCprogramsisanimportantintermediatestepofReverseEngineering.ThepaperprovidesanapproachtowardsthevisualizationofPLCprogramsusingXMLwhichisanimportantapproachfortheorientationandbetterunderstandingforengineersworkingwithPLCprograms.Thepaperisstructuredasfollows.First,ashortintroductiontoPLCsandthecorrespondingprogrammingtechniquesaccordingtotheIEC61131-3standardisgiven.InSectionⅢanapproachforRe-engineeringbasedonformalizationofPLCprogramsisintroduced.ThetransformationofthePLCcodeintoavendorindependentformatisidentifiedasanimportantfirststepinthisprocess.XMLandcorrespondingtechnologiessuchasXSLandXSLTthatcanbeusedinthistransformationarepresentedinSectionIV.SectionVpresentstheapplicationofXMLforthevisualizationofPLCprogramsandillustratestheapproachwithanexample.ThefinalSectionsummarizestheresultsandgivesanoutlookonfutureworkinthisongoingproject.ⅡPLCANDIEC61131Sinceitsinceptionintheearly‘70sthePLCreceivedincreasingattentionduetoitssuccessinfulfillingtheobjectiveofreplacinghard-wiredcontrolequipmentsatmachines.Eventuallyitgrewupasadistinctfieldofapplication,researchanddevelopment,mainlyforControlEngineering.IEC61131isthefirstrealendeavourtostandardizePLCprogramminglanguagesforindustrialautomation.InI993theInternationalElectrotechnicalCommission[4]publishedtheIEC61131IntemationalStandardforProgrammableControllers.BeforethestandardizationPLCprogramminglanguageswerebeingdevelopedasproprietaryprogramminglanguagesusabletoPLCsofaspecialvendor.Butinordertoenhancecompatibility,opennessandinteroperabilityamongdifferentproductsaswellastopromotethedevelopmentoftoolsandmethodologieswithrespecttoafixedsetofnotationstheIEC61131standardevolved.Thethirdpartofthisstandarddefinesasuitoffiveprogramminglanguages:InstructionList(IL)isalow-leveltextuallanguagewithastructuresimilartoassembler.OriginatedinEuropeILisconsideredtobethePLClanguageinwhichallotherIEC61131-3languagescanbetranslated.LadderDiagram(LO)isagraphicallanguagethathasitsrootsintheUSA.LDsconformtoaprogrammingstyleborrowedfromelectronicandelectricalcircuitsforimplementingcontrollogics.StructuredText(STJisaverypowerfulhigh-levellanguage.STborrowsitssyntaxfromPascal,augmentingitwithsomefeaturesfromAda.STcontainsalltheessentialelementsofamodemprogramminglanguage.FunctionBlockDiagram(FBD)isagraphicallanguageanditisverycommontotheprocessindustry.Inthislanguagecontrollersaremodelledassignalanddataflowsthroughfunctionblocks.FBDtransformstextualprogrammingintoconnectingfunctionblocksandthusimprovesmodularityandsoftwarereu