PLCGenerator.py
changeset 528 7ac133b11321
parent 527 e307e1b27828
child 558 01e2c3d58a27
equal deleted inserted replaced
527:e307e1b27828 528:7ac133b11321
   756                                     related = self.ExtractRelatedConnections(connected)
   756                                     related = self.ExtractRelatedConnections(connected)
   757                                     related.append(variable.connectionPointIn)
   757                                     related.append(variable.connectionPointIn)
   758                                     self.RelatedConnections.append(related)
   758                                     self.RelatedConnections.append(related)
   759                         undefined_blocks.append(instance)
   759                         undefined_blocks.append(instance)
   760             for instance in undefined_blocks:
   760             for instance in undefined_blocks:
   761                 block_infos = self.GetBlockType(instance.gettypeName(), tuple([self.ConnectionTypes.get(variable.connectionPointIn, "ANY") for variable in instance.inputVariables.getvariable()]))
   761                 block_infos = self.GetBlockType(instance.gettypeName(), tuple([self.ConnectionTypes.get(variable.connectionPointIn, "ANY") for variable in instance.inputVariables.getvariable() if variable.getformalParameter() != "EN"]))
   762                 if block_infos is not None:
   762                 if block_infos is not None:
   763                     self.ComputeBlockInputTypes(instance, block_infos, body)
   763                     self.ComputeBlockInputTypes(instance, block_infos, body)
   764                 else:
   764                 else:
   765                     raise PLCGenException, _("No informations found for \"%s\" block")%(instance.gettypeName())
   765                     raise PLCGenException, _("No informations found for \"%s\" block")%(instance.gettypeName())
   766                 
   766                 
   876                         self.Program += expression
   876                         self.Program += expression
   877                         self.Program += [(";\n", ())]
   877                         self.Program += [(";\n", ())]
   878                 elif isinstance(instance, plcopen.fbdObjects_block):
   878                 elif isinstance(instance, plcopen.fbdObjects_block):
   879                     block_type = instance.gettypeName()
   879                     block_type = instance.gettypeName()
   880                     self.ParentGenerator.GeneratePouProgram(block_type)
   880                     self.ParentGenerator.GeneratePouProgram(block_type)
   881                     block_infos = self.GetBlockType(block_type, tuple([self.ConnectionTypes.get(variable.connectionPointIn, "ANY") for variable in instance.inputVariables.getvariable()]))
   881                     block_infos = self.GetBlockType(block_type, tuple([self.ConnectionTypes.get(variable.connectionPointIn, "ANY") for variable in instance.inputVariables.getvariable() if variable.getformalParameter() != "EN"]))
   882                     block_infos["generate"](self, instance, block_infos, body, None)
   882                     block_infos["generate"](self, instance, block_infos, body, None)
   883                 elif isinstance(instance, plcopen.commonObjects_connector):
   883                 elif isinstance(instance, plcopen.commonObjects_connector):
   884                     connector = instance.getname()
   884                     connector = instance.getname()
   885                     if self.ComputedConnectors.get(connector, None):
   885                     if self.ComputedConnectors.get(connector, None):
   886                         continue 
   886                         continue 
   931             elif isinstance(next, (plcopen.fbdObjects_inVariable, plcopen.fbdObjects_inOutVariable)):
   931             elif isinstance(next, (plcopen.fbdObjects_inVariable, plcopen.fbdObjects_inOutVariable)):
   932                 paths.append(str([(next.getexpression(), (self.TagName, "io_variable", localId, "expression"))]))
   932                 paths.append(str([(next.getexpression(), (self.TagName, "io_variable", localId, "expression"))]))
   933             elif isinstance(next, plcopen.fbdObjects_block):
   933             elif isinstance(next, plcopen.fbdObjects_block):
   934                 block_type = next.gettypeName()
   934                 block_type = next.gettypeName()
   935                 self.ParentGenerator.GeneratePouProgram(block_type)
   935                 self.ParentGenerator.GeneratePouProgram(block_type)
   936                 block_infos = self.GetBlockType(block_type, tuple([self.ConnectionTypes.get(variable.connectionPointIn, "ANY") for variable in next.inputVariables.getvariable()]))
   936                 block_infos = self.GetBlockType(block_type, tuple([self.ConnectionTypes.get(variable.connectionPointIn, "ANY") for variable in next.inputVariables.getvariable() if variable.getformalParameter() != "EN"]))
   937                 paths.append(str(block_infos["generate"](self, next, block_infos, body, connection, order)))
   937                 paths.append(str(block_infos["generate"](self, next, block_infos, body, connection, order)))
   938             elif isinstance(next, plcopen.commonObjects_continuation):
   938             elif isinstance(next, plcopen.commonObjects_continuation):
   939                 name = next.getname()
   939                 name = next.getname()
   940                 computed_value = self.ComputedConnectors.get(name, None)
   940                 computed_value = self.ComputedConnectors.get(name, None)
   941                 if computed_value != None:
   941                 if computed_value != None: