PLCGenerator.py
changeset 208 c70aefcadf66
parent 207 b1144bb36605
child 214 a88b377f75cb
--- 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"