895 connectors = element.GetConnectors() |
895 connectors = element.GetConnectors() |
896 previous_steps = self.GetPreviousSteps(connectors["inputs"]) |
896 previous_steps = self.GetPreviousSteps(connectors["inputs"]) |
897 next_steps = self.GetNextSteps(connectors["outputs"]) |
897 next_steps = self.GetNextSteps(connectors["outputs"]) |
898 iec_path = "%s.%s->%s"%(instance_path, ",".join(previous_steps), ",".join(next_steps)) |
898 iec_path = "%s.%s->%s"%(instance_path, ",".join(previous_steps), ",".join(next_steps)) |
899 return iec_path |
899 return iec_path |
900 |
900 |
|
901 def GetWireModifier(self, wire): |
|
902 connector = wire.EndConnected |
|
903 block = connector.GetParentBlock() |
|
904 if isinstance(block, FBD_Connector): |
|
905 connection = self.GetConnectorByName(block.GetName()) |
|
906 if connection is not None: |
|
907 connector = connection.GetConnector() |
|
908 if len(connector.Wires) == 1: |
|
909 return self.GetWireModifier(connector.Wires[0][0]) |
|
910 else: |
|
911 if connector.IsNegated(): |
|
912 return "negated" |
|
913 else: |
|
914 return connector.GetEdge() |
|
915 return "none" |
|
916 |
901 #------------------------------------------------------------------------------- |
917 #------------------------------------------------------------------------------- |
902 # Reset functions |
918 # Reset functions |
903 #------------------------------------------------------------------------------- |
919 #------------------------------------------------------------------------------- |
904 |
920 |
905 # Resets Viewer lists |
921 # Resets Viewer lists |
1112 block = wire.EndConnected.GetParentBlock() |
1128 block = wire.EndConnected.GetParentBlock() |
1113 if isinstance(block, LD_PowerRail): |
1129 if isinstance(block, LD_PowerRail): |
1114 wire.SetValue(True) |
1130 wire.SetValue(True) |
1115 elif self.AddDataConsumer(iec_path.upper(), wire) is None: |
1131 elif self.AddDataConsumer(iec_path.upper(), wire) is None: |
1116 wire.SetValue("undefined") |
1132 wire.SetValue("undefined") |
|
1133 else: |
|
1134 wire.SetModifier(self.GetWireModifier(wire)) |
1117 |
1135 |
1118 if self.Debug: |
1136 if self.Debug: |
1119 for block in self.Blocks.itervalues(): |
1137 for block in self.Blocks.itervalues(): |
1120 block.SpreadCurrent() |
1138 block.SpreadCurrent() |
1121 if isinstance(block, FBD_Block): |
1139 if isinstance(block, FBD_Block): |