plcopen/structures.py
changeset 1239 d1f6ea56555d
parent 1149 67df52302ea6
child 1283 f3cfe1ff917e
equal deleted inserted replaced
1238:24577755485d 1239:d1f6ea56555d
    85                     connections = variable.connectionPointIn.getconnections()
    85                     connections = variable.connectionPointIn.getconnections()
    86                     if connections is not None:
    86                     if connections is not None:
    87                         if parameter != "EN":
    87                         if parameter != "EN":
    88                             one_input_connected = True
    88                             one_input_connected = True
    89                         if inout_variables.has_key(parameter):
    89                         if inout_variables.has_key(parameter):
    90                             value = generator.ComputeExpression(body, connections, executionOrderId > 0, True)
    90                             expression = generator.ComputeExpression(body, connections, executionOrderId > 0, True)
    91                             inout_variables[parameter] = value
    91                             if expression is not None:
       
    92                                 inout_variables[parameter] = value
    92                         else:
    93                         else:
    93                             value = generator.ComputeExpression(body, connections, executionOrderId > 0)
    94                             expression = generator.ComputeExpression(body, connections, executionOrderId > 0)
    94                         connected_vars.append(([(parameter, input_info), (" := ", ())],
    95                         if expression is not None:
    95                                                generator.ExtractModifier(variable, value, input_info)))
    96                             connected_vars.append(([(parameter, input_info), (" := ", ())],
       
    97                                                    generator.ExtractModifier(variable, expression, input_info)))
    96                     else:
    98                     else:
    97                         all_input_connected = False
    99                         all_input_connected = False
    98                 else:
   100                 else:
    99                     all_input_connected = False
   101                     all_input_connected = False
   100             if len(output_variables) > 1 or not all_input_connected:
   102             if len(output_variables) > 1 or not all_input_connected:
   144                     else:
   146                     else:
   145                         input_idx = offset_idx + input_names.index(parameter)
   147                         input_idx = offset_idx + input_names.index(parameter)
   146                     input_info = (generator.TagName, "block", block.getlocalId(), "input", input_idx)
   148                     input_info = (generator.TagName, "block", block.getlocalId(), "input", input_idx)
   147                     connections = variable.connectionPointIn.getconnections()
   149                     connections = variable.connectionPointIn.getconnections()
   148                     if connections is not None:
   150                     if connections is not None:
   149                         value = generator.ComputeExpression(body, connections, executionOrderId > 0, inout_variables.has_key(parameter))
   151                         expression = generator.ComputeExpression(body, connections, executionOrderId > 0, inout_variables.has_key(parameter))
   150                         vars.append([(parameter, input_info),
   152                         if expression is not None:
   151                                      (" := ", ())] + generator.ExtractModifier(variable, value, input_info))
   153                             vars.append([(parameter, input_info),
       
   154                                          (" := ", ())] + generator.ExtractModifier(variable, expression, input_info))
   152             generator.Program += [(generator.CurrentIndent, ()), 
   155             generator.Program += [(generator.CurrentIndent, ()), 
   153                                   (name, (generator.TagName, "block", block.getlocalId(), "name")),
   156                                   (name, (generator.TagName, "block", block.getlocalId(), "name")),
   154                                   ("(", ())]
   157                                   ("(", ())]
   155             generator.Program += JoinList([(", ", ())], vars)
   158             generator.Program += JoinList([(", ", ())], vars)
   156             generator.Program += [(");\n", ())]
   159             generator.Program += [(");\n", ())]