1063 "programs_declarations": |
1063 "programs_declarations": |
1064 "\n".join(["extern %(type)s %(C_path)s;"%p for p in self._ProgramList]), |
1064 "\n".join(["extern %(type)s %(C_path)s;"%p for p in self._ProgramList]), |
1065 "extern_variables_declarations":"\n".join([ |
1065 "extern_variables_declarations":"\n".join([ |
1066 {"PT":"extern %(type)s *%(C_path)s;", |
1066 {"PT":"extern %(type)s *%(C_path)s;", |
1067 "VAR":"extern %(type)s %(C_path)s;"}[v["vartype"]]%v |
1067 "VAR":"extern %(type)s %(C_path)s;"}[v["vartype"]]%v |
1068 for v in self._VariablesList if v["C_path"].find('.')<0]), |
1068 for v in self._VariablesList if v["vartype"] != "FB" and v["C_path"].find('.')<0]), |
1069 "subscription_table_count": |
1069 "subscription_table_count": |
1070 len(self._VariablesList), |
1070 len(self._VariablesList), |
1071 "variables_pointer_type_table_count": |
1071 "variables_pointer_type_table_count": |
1072 len(self._VariablesList), |
1072 len(self._VariablesList), |
1073 "variables_pointer_type_table_initializer":"\n".join([ |
1073 "variables_pointer_type_table_initializer":"\n".join([ |
1074 {"PT":" variable_table[%(num)s].ptrvalue = (void*)(%(C_path)s);\n", |
1074 {"PT":" variable_table[%(num)s].ptrvalue = (void*)(%(C_path)s);\n", |
1075 "VAR":" variable_table[%(num)s].ptrvalue = (void*)(&%(C_path)s);\n"}[v["vartype"]]%v + |
1075 "VAR":" variable_table[%(num)s].ptrvalue = (void*)(&%(C_path)s);\n"}[v["vartype"]]%v + |
1076 " variable_table[%(num)s].type = %(type)s_ENUM;\n"%v |
1076 " variable_table[%(num)s].type = %(type)s_ENUM;\n"%v |
1077 for v in self._VariablesList if v["type"] in DebugTypes ])} |
1077 for v in self._VariablesList if v["vartype"] != "FB" and v["type"] in DebugTypes ])} |
1078 |
1078 |
1079 return debug_code |
1079 return debug_code |
1080 |
1080 |
1081 def Generate_plc_common_main(self): |
1081 def Generate_plc_common_main(self): |
1082 """ |
1082 """ |