57 generator.Interface[-1][4].append(("ANY", output_name, None, None)) |
57 generator.Interface[-1][4].append(("ANY", output_name, None, None)) |
58 vars = [] |
58 vars = [] |
59 for i, variable in enumerate(block.inputVariables.getvariable()): |
59 for i, variable in enumerate(block.inputVariables.getvariable()): |
60 input_info = (generator.TagName, "block", block.getlocalId(), "input", i) |
60 input_info = (generator.TagName, "block", block.getlocalId(), "input", i) |
61 connections = variable.connectionPointIn.getconnections() |
61 connections = variable.connectionPointIn.getconnections() |
62 if connections and len(connections) == 1: |
62 if connections is not None: |
63 if body_type == "FBD" or body_type == "SFC": |
63 value = generator.ComputeExpression(body, connections, executionOrderId > 0) |
64 value = generator.ComputeFBDExpression(body, connections[0], executionOrderId > 0) |
|
65 elif body_type == "LD": |
|
66 value = generator.ComputeLDExpression(body, variable.connectionPointIn.getConnections()) |
|
67 vars.append(generator.ExtractModifier(variable, value, input_info)) |
64 vars.append(generator.ExtractModifier(variable, value, input_info)) |
68 generator.Program += [(generator.CurrentIndent, ()), |
65 generator.Program += [(generator.CurrentIndent, ()), |
69 (output_name, output_info), |
66 (output_name, output_info), |
70 (" := ", ()), |
67 (" := ", ()), |
71 (type, (generator.TagName, "block", block.getlocalId(), "type")), |
68 (type, (generator.TagName, "block", block.getlocalId(), "type")), |
78 generator.ComputedBlocks[block] = True |
75 generator.ComputedBlocks[block] = True |
79 vars = [] |
76 vars = [] |
80 for i, variable in enumerate(block.inputVariables.getvariable()): |
77 for i, variable in enumerate(block.inputVariables.getvariable()): |
81 input_info = (generator.TagName, "block", block.getlocalId(), "input", i) |
78 input_info = (generator.TagName, "block", block.getlocalId(), "input", i) |
82 connections = variable.connectionPointIn.getconnections() |
79 connections = variable.connectionPointIn.getconnections() |
83 if connections and len(connections) == 1: |
80 if connections is not None: |
84 parameter = variable.getformalParameter() |
81 parameter = variable.getformalParameter() |
85 if body_type == "FBD" or body_type == "SFC": |
82 value = generator.ComputeExpression(body, connections, executionOrderId > 0) |
86 value = generator.ComputeFBDExpression(body, connections[0], executionOrderId > 0) |
|
87 elif body_type == "LD": |
|
88 value = generator.ComputeLDExpression(body, variable.connectionPointIn.getconnections()) |
|
89 vars.append([(parameter, input_info), |
83 vars.append([(parameter, input_info), |
90 (" := ", ())] + generator.ExtractModifier(variable, value, input_info)) |
84 (" := ", ())] + generator.ExtractModifier(variable, value, input_info)) |
91 generator.Program += [(generator.CurrentIndent, ()), |
85 generator.Program += [(generator.CurrentIndent, ()), |
92 (name, (generator.TagName, "block", block.getlocalId(), "name")), |
86 (name, (generator.TagName, "block", block.getlocalId(), "name")), |
93 ("(", ())] |
87 ("(", ())] |