diff -r b1144bb36605 -r c70aefcadf66 PLCGenerator.py --- a/PLCGenerator.py Tue Apr 22 10:25:24 2008 +0200 +++ b/PLCGenerator.py Tue Apr 22 16:16:00 2008 +0200 @@ -393,7 +393,8 @@ elif var_type is None: var_type = expression.split("#")[0] if isinstance(instance, (plcopen.fbdObjects_inVariable, plcopen.fbdObjects_inOutVariable)): - self.ConnectionTypes[instance.connectionPointOut] = var_type + for connection in self.ExtractRelatedConnections(instance.connectionPointOut): + self.ConnectionTypes[connection] = var_type if isinstance(instance, (plcopen.fbdObjects_outVariable, plcopen.fbdObjects_inOutVariable)): self.ConnectionTypes[instance.connectionPointIn] = var_type connected = self.GetConnectedConnection(instance.connectionPointIn, body) @@ -401,7 +402,8 @@ for connection in self.ExtractRelatedConnections(connected): self.ConnectionTypes[connection] = var_type elif isinstance(instance, (plcopen.ldObjects_contact, plcopen.ldObjects_coil)): - self.ConnectionTypes[instance.connectionPointOut] = "BOOL" + for connection in self.ExtractRelatedConnections(instance.connectionPointOut): + self.ConnectionTypes[connection] = "BOOL" self.ConnectionTypes[instance.connectionPointIn] = "BOOL" connected = self.GetConnectedConnection(instance.connectionPointIn, body) if connected and connected not in self.ConnectionTypes: @@ -409,7 +411,8 @@ self.ConnectionTypes[connection] = "BOOL" elif isinstance(instance, plcopen.ldObjects_leftPowerRail): for connection in instance.getconnectionPointOut(): - self.ConnectionTypes[connection] = "BOOL" + for related in self.ExtractRelatedConnections(connection): + self.ConnectionTypes[related] = "BOOL" elif isinstance(instance, plcopen.ldObjects_rightPowerRail): for connection in instance.getconnectionPointIn(): self.ConnectionTypes[connection] = "BOOL"