PLCGenerator.py
changeset 356 f6453b89e7f9
parent 340 5a305b7c6735
child 370 23af12b5a9fb
equal deleted inserted replaced
355:a9046671e0ce 356:f6453b89e7f9
   613                             var_type = returntype_content["name"]
   613                             var_type = returntype_content["name"]
   614                     elif var_type is None:
   614                     elif var_type is None:
   615                         parts = expression.split("#")
   615                         parts = expression.split("#")
   616                         if len(parts) > 1:
   616                         if len(parts) > 1:
   617                             var_type = parts[0]
   617                             var_type = parts[0]
       
   618                         elif expression.startswith("'"):
       
   619                             var_type = "STRING"
       
   620                         elif expression.startswith('"'):
       
   621                             var_type = "WSTRING"
   618                     if var_type is not None:
   622                     if var_type is not None:
   619                         if isinstance(instance, (plcopen.fbdObjects_inVariable, plcopen.fbdObjects_inOutVariable)):
   623                         if isinstance(instance, (plcopen.fbdObjects_inVariable, plcopen.fbdObjects_inOutVariable)):
   620                             for connection in self.ExtractRelatedConnections(instance.connectionPointOut):
   624                             for connection in self.ExtractRelatedConnections(instance.connectionPointOut):
   621                                 self.ConnectionTypes[connection] = var_type
   625                                 self.ConnectionTypes[connection] = var_type
   622                         if isinstance(instance, (plcopen.fbdObjects_outVariable, plcopen.fbdObjects_inOutVariable)):
   626                         if isinstance(instance, (plcopen.fbdObjects_outVariable, plcopen.fbdObjects_inOutVariable)):
   652                             for connection in self.ExtractRelatedConnections(connected):
   656                             for connection in self.ExtractRelatedConnections(connected):
   653                                 self.ConnectionTypes[connection] = "BOOL"
   657                                 self.ConnectionTypes[connection] = "BOOL"
   654                 elif isinstance(instance, plcopen.commonObjects_continuation):
   658                 elif isinstance(instance, plcopen.commonObjects_continuation):
   655                     name = instance.getname()
   659                     name = instance.getname()
   656                     connector = None
   660                     connector = None
       
   661                     var_type = "ANY"
   657                     for element in body.getcontentInstances():
   662                     for element in body.getcontentInstances():
   658                         if isinstance(element, plcopen.commonObjects_connector) and element.getname() == name:
   663                         if isinstance(element, plcopen.commonObjects_connector) and element.getname() == name:
   659                             if connector is not None:
   664                             if connector is not None:
   660                                 raise PLCGenException, "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"%(name, self.Name)
   665                                 raise PLCGenException, "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"%(name, self.Name)
   661                             connector = element
   666                             connector = element