PLCGenerator.py
changeset 1878 fb73a6b6622d
parent 1864 9e64afb38963
child 1881 091005ec69c4
equal deleted inserted replaced
1877:da5f1fa46f2b 1878:fb73a6b6622d
   495     PLCOpenParser.GetElementClass(instance_name, "ldObjects")
   495     PLCOpenParser.GetElementClass(instance_name, "ldObjects")
   496     for instance_name in ["contact", "coil", "leftPowerRail", "rightPowerRail"]]
   496     for instance_name in ["contact", "coil", "leftPowerRail", "rightPowerRail"]]
   497 [StepClass, TransitionClass, JumpStepClass,
   497 [StepClass, TransitionClass, JumpStepClass,
   498  SelectionConvergenceClass, SelectionDivergenceClass,
   498  SelectionConvergenceClass, SelectionDivergenceClass,
   499  SimultaneousConvergenceClass, SimultaneousDivergenceClass] = [
   499  SimultaneousConvergenceClass, SimultaneousDivergenceClass] = [
   500     PLCOpenParser.GetElementClass(instance_name, "sfcObjects")
   500      PLCOpenParser.GetElementClass(instance_name, "sfcObjects")
   501     for instance_name in [
   501      for instance_name in ["step",
   502             "step", "transition", "jumpStep",
   502                            "transition",
   503             "selectionConvergence", "selectionDivergence",
   503                            "jumpStep",
   504             "simultaneousConvergence", "simultaneousDivergence"]]
   504                            "selectionConvergence",
       
   505                            "selectionDivergence",
       
   506                            "simultaneousConvergence",
       
   507                            "simultaneousDivergence"]]
   505 TransitionObjClass = PLCOpenParser.GetElementClass("transition", "transitions")
   508 TransitionObjClass = PLCOpenParser.GetElementClass("transition", "transitions")
   506 ActionObjClass = PLCOpenParser.GetElementClass("action", "actions")
   509 ActionObjClass = PLCOpenParser.GetElementClass("action", "actions")
   507 
   510 
   508 
   511 
   509 class PouProgramGenerator(object):
   512 class PouProgramGenerator(object):
   903         body_type = body_content.getLocalTag()
   906         body_type = body_content.getLocalTag()
   904         if body_type in ["IL", "ST"]:
   907         if body_type in ["IL", "ST"]:
   905             text = body_content.getanyText()
   908             text = body_content.getanyText()
   906             self.ParentGenerator.GeneratePouProgramInText(text.upper())
   909             self.ParentGenerator.GeneratePouProgramInText(text.upper())
   907             self.Program = [(ReIndentText(text, len(self.CurrentIndent)),
   910             self.Program = [(ReIndentText(text, len(self.CurrentIndent)),
   908                             (self.TagName, "body", len(self.CurrentIndent)))]
   911                              (self.TagName, "body", len(self.CurrentIndent)))]
   909         elif body_type == "SFC":
   912         elif body_type == "SFC":
   910             self.IndentRight()
   913             self.IndentRight()
   911             for instance in body.getcontentInstances():
   914             for instance in body.getcontentInstances():
   912                 if isinstance(instance, StepClass):
   915                 if isinstance(instance, StepClass):
   913                     self.GenerateSFCStep(instance, pou)
   916                     self.GenerateSFCStep(instance, pou)