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