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: |