From d0061fce96970af052aa6befc2c03b63f92afb2e Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Sat, 1 Sep 2018 10:23:33 +0200 Subject: [PATCH] - updated ICD file for server_example_complex_array - added client example for array handling --- .../CMakeLists.txt | 17 + .../iec61850_client_example_array/Makefile | 17 + .../client_example_array.c | 99 + .../mhai_array.icd | 289 +-- .../server_example_ca.c | 5 - .../static_model.c | 1667 +++++++++++++++-- .../static_model.h | 232 +++ 7 files changed, 2075 insertions(+), 251 deletions(-) create mode 100644 examples/iec61850_client_example_array/CMakeLists.txt create mode 100644 examples/iec61850_client_example_array/Makefile create mode 100644 examples/iec61850_client_example_array/client_example_array.c diff --git a/examples/iec61850_client_example_array/CMakeLists.txt b/examples/iec61850_client_example_array/CMakeLists.txt new file mode 100644 index 00000000..398e3b7b --- /dev/null +++ b/examples/iec61850_client_example_array/CMakeLists.txt @@ -0,0 +1,17 @@ + +set(iec61850_client_array_SRCS + client_example_array.c +) + +IF(WIN32) +set_source_files_properties(${iec61850_client_array_SRCS} + PROPERTIES LANGUAGE CXX) +ENDIF(WIN32) + +add_executable(iec61850_client_array + ${iec61850_client_array_SRCS} +) + +target_link_libraries(iec61850_client_array + iec61850 +) diff --git a/examples/iec61850_client_example_array/Makefile b/examples/iec61850_client_example_array/Makefile new file mode 100644 index 00000000..6e28aade --- /dev/null +++ b/examples/iec61850_client_example_array/Makefile @@ -0,0 +1,17 @@ +LIBIEC_HOME=../.. + +PROJECT_BINARY_NAME = client_example_array +PROJECT_SOURCES = client_example_array.c + +include $(LIBIEC_HOME)/make/target_system.mk +include $(LIBIEC_HOME)/make/stack_includes.mk + +all: $(PROJECT_BINARY_NAME) + +include $(LIBIEC_HOME)/make/common_targets.mk + +$(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME) + $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) + +clean: + rm -f $(PROJECT_BINARY_NAME) diff --git a/examples/iec61850_client_example_array/client_example_array.c b/examples/iec61850_client_example_array/client_example_array.c new file mode 100644 index 00000000..ee1d6016 --- /dev/null +++ b/examples/iec61850_client_example_array/client_example_array.c @@ -0,0 +1,99 @@ +/* + * client_example_array.c + * + * SHows how to handle array access from client side + * + * This example is intended to be used with server_example_complex_array + */ + +#include "iec61850_client.h" + +#include +#include + +#include "hal_thread.h" + +int main(int argc, char** argv) { + + char* hostname; + int tcpPort = 102; + + if (argc > 1) + hostname = argv[1]; + else + hostname = "localhost"; + + if (argc > 2) + tcpPort = atoi(argv[2]); + + IedClientError error; + + IedConnection con = IedConnection_create(); + + IedConnection_connect(con, &error, hostname, tcpPort); + + if (error == IED_ERROR_OK) { + + /* read complete array */ + MmsValue* array = IedConnection_readObject(con, &error, "testComplexArray/MHAI1.HA.phsAHar", IEC61850_FC_MX); + + if (array != NULL) { + MmsValue_delete(array); + } + else + printf("Failed to read array!\n"); + + /* read array element at different component levels */ + char* arrayElementRef = "testComplexArray/MHAI1.HA.phsAHar(2).cVal.mag.f"; + + MmsValue* element = IedConnection_readObject(con, &error, arrayElementRef, IEC61850_FC_MX); + + if (element != NULL) { + MmsValue_delete(element); + } + else + printf("Failed to read array element %s!\n", arrayElementRef); + + + arrayElementRef = "testComplexArray/MHAI1.HA.phsAHar(2).cVal.mag"; + + element = IedConnection_readObject(con, &error, arrayElementRef, IEC61850_FC_MX); + + if (element != NULL) { + MmsValue_delete(element); + } + else + printf("Failed to read array element %s!\n", arrayElementRef); + + arrayElementRef = "testComplexArray/MHAI1.HA.phsAHar(2).cVal"; + + element = IedConnection_readObject(con, &error, arrayElementRef, IEC61850_FC_MX); + + if (element != NULL) { + MmsValue_delete(element); + } + else + printf("Failed to read array element %s!\n", arrayElementRef); + + arrayElementRef = "testComplexArray/MHAI1.HA.phsAHar(2)"; + + element = IedConnection_readObject(con, &error, arrayElementRef, IEC61850_FC_MX); + + if (element != NULL) { + MmsValue_delete(element); + } + else + printf("Failed to read array element %s!\n", arrayElementRef); + + close_connection: + + IedConnection_close(con); + } + else { + printf("Failed to connect to %s:%i\n", hostname, tcpPort); + } + + IedConnection_destroy(con); +} + + diff --git a/examples/server_example_complex_array/mhai_array.icd b/examples/server_example_complex_array/mhai_array.icd index e6f09be9..4a622f06 100644 --- a/examples/server_example_complex_array/mhai_array.icd +++ b/examples/server_example_complex_array/mhai_array.icd @@ -1,24 +1,31 @@ -
+ +
+ Station bus 10 - +
-

10.0.0.2

+

0.0.0.0

255.255.255.0

-

10.0.0.1

-

0001

+

192.168.2.1

+

1,3,9999,33

+

33

00000001

0001

+

0001

+

102

+ + @@ -28,16 +35,16 @@ - - - - - + + + + + @@ -46,7 +53,56 @@ - + + + + + ok + + + + + + + + on + + + status-only + + + + + on + + + + + ok + + + + + direct-with-normal-security + + + + + direct-with-normal-security + + + + + direct-with-normal-security + + + + + direct-with-normal-security + + + + @@ -54,39 +110,43 @@ + + + + + + - - - + + + + - + + - - - + + + - - - - - - - + + + @@ -97,6 +157,25 @@ + + + + + + + + + + + + + + + + + + + @@ -104,28 +183,13 @@ - + - - - - - - - - - - - - - - - @@ -133,140 +197,84 @@ + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - + + - - - - - - - - + - - - - - - - + + + + + + + + + - + + - - - - - - - - - - - - - - - - - - - - - - - + + on + blocked + test + test/blocked + off + + + ok + warning + alarm + status-only @@ -275,10 +283,7 @@ direct-with-enhanced-security sbo-with-enhanced-security - - operate-once - operate-many - + not-supported bay-control @@ -290,5 +295,7 @@ maintenance process + + diff --git a/examples/server_example_complex_array/server_example_ca.c b/examples/server_example_complex_array/server_example_ca.c index ca8bffea..b2146cc5 100644 --- a/examples/server_example_complex_array/server_example_ca.c +++ b/examples/server_example_complex_array/server_example_ca.c @@ -62,11 +62,6 @@ int main(int argc, char** argv) { DataObject* mhai1_ha_phsAHar = (DataObject*) IedModel_getModelNodeByObjectReference(&iedModel, "testComplexArray/MHAI1.HA.phsAHar"); - /* alternative: only for static model */ -// DataObject* mhai1_ha_phsAHar = IEDMODEL_ComplexArray_MHAI1_HA_phsAHar; - - assert(mhai1_ha_phsAHar != NULL); - /* Get access to the corresponding MMS value data structure - the MX(FC) part of the data object */ MmsValue* mhai1_ha_phsAHar_mx = IedServer_getFunctionalConstrainedData(iedServer, mhai1_ha_phsAHar, IEC61850_FC_MX); diff --git a/examples/server_example_complex_array/static_model.c b/examples/server_example_complex_array/static_model.c index 76006197..d9bc2a48 100644 --- a/examples/server_example_complex_array/static_model.c +++ b/examples/server_example_complex_array/static_model.c @@ -30,10 +30,23 @@ DataObject iedModel_ComplexArray_LLN0_Mod = { "Mod", (ModelNode*) &iedModel_ComplexArray_LLN0, (ModelNode*) &iedModel_ComplexArray_LLN0_Beh, - (ModelNode*) &iedModel_ComplexArray_LLN0_Mod_q, + (ModelNode*) &iedModel_ComplexArray_LLN0_Mod_stVal, 0 }; +DataAttribute iedModel_ComplexArray_LLN0_Mod_stVal = { + DataAttributeModelType, + "stVal", + (ModelNode*) &iedModel_ComplexArray_LLN0_Mod, + (ModelNode*) &iedModel_ComplexArray_LLN0_Mod_q, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_ENUMERATED, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + DataAttribute iedModel_ComplexArray_LLN0_Mod_q = { DataAttributeModelType, "q", @@ -90,7 +103,7 @@ DataAttribute iedModel_ComplexArray_LLN0_Beh_stVal = { NULL, 0, IEC61850_FC_ST, - IEC61850_INT32, + IEC61850_ENUMERATED, 0 + TRG_OPT_DATA_CHANGED, NULL, 0}; @@ -138,7 +151,7 @@ DataAttribute iedModel_ComplexArray_LLN0_Health_stVal = { NULL, 0, IEC61850_FC_ST, - IEC61850_INT32, + IEC61850_ENUMERATED, 0 + TRG_OPT_DATA_CHANGED, NULL, 0}; @@ -247,7 +260,7 @@ LogicalNode iedModel_ComplexArray_LPHD1 = { LogicalNodeModelType, "LPHD1", (ModelNode*) &iedModel_ComplexArray, - (ModelNode*) &iedModel_ComplexArray_MHAI1, + (ModelNode*) &iedModel_ComplexArray_GGIO1, (ModelNode*) &iedModel_ComplexArray_LPHD1_PhyNam, }; @@ -290,7 +303,7 @@ DataAttribute iedModel_ComplexArray_LPHD1_PhyHealth_stVal = { NULL, 0, IEC61850_FC_ST, - IEC61850_INT32, + IEC61850_ENUMERATED, 0 + TRG_OPT_DATA_CHANGED, NULL, 0}; @@ -369,201 +382,1645 @@ DataAttribute iedModel_ComplexArray_LPHD1_Proxy_t = { NULL, 0}; -LogicalNode iedModel_ComplexArray_MHAI1 = { +LogicalNode iedModel_ComplexArray_GGIO1 = { LogicalNodeModelType, - "MHAI1", + "GGIO1", (ModelNode*) &iedModel_ComplexArray, - NULL, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, -}; - -DataObject iedModel_ComplexArray_MHAI1_HA = { - DataObjectModelType, - "HA", (ModelNode*) &iedModel_ComplexArray_MHAI1, - NULL, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar, - 0 + (ModelNode*) &iedModel_ComplexArray_GGIO1_Mod, }; -DataObject iedModel_ComplexArray_MHAI1_HA_phsAHar = { +DataObject iedModel_ComplexArray_GGIO1_Mod = { DataObjectModelType, - "phsAHar", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_numHar, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal, - 16 + "Mod", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Beh, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Mod_stVal, + 0 }; -DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal = { +DataAttribute iedModel_ComplexArray_GGIO1_Mod_stVal = { DataAttributeModelType, - "cVal", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_q, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_mag, + "stVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Mod, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Mod_q, + NULL, 0, - IEC61850_FC_MX, - IEC61850_CONSTRUCTED, - 0 + TRG_OPT_DATA_CHANGED + TRG_OPT_DATA_UPDATE, + IEC61850_FC_ST, + IEC61850_ENUMERATED, + 0 + TRG_OPT_DATA_CHANGED, NULL, 0}; -DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_mag = { +DataAttribute iedModel_ComplexArray_GGIO1_Mod_q = { DataAttributeModelType, - "mag", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_ang, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_mag_f, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Mod, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Mod_t, + NULL, 0, - IEC61850_FC_MX, - IEC61850_CONSTRUCTED, - 0 + TRG_OPT_DATA_CHANGED + TRG_OPT_DATA_UPDATE, + IEC61850_FC_ST, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, NULL, 0}; -DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_mag_f = { +DataAttribute iedModel_ComplexArray_GGIO1_Mod_t = { DataAttributeModelType, - "f", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_mag, - NULL, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Mod, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Mod_ctlModel, NULL, 0, - IEC61850_FC_MX, - IEC61850_FLOAT32, - 0 + TRG_OPT_DATA_CHANGED + TRG_OPT_DATA_UPDATE, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, NULL, 0}; -DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_ang = { +DataAttribute iedModel_ComplexArray_GGIO1_Mod_ctlModel = { DataAttributeModelType, - "ang", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal, + "ctlModel", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Mod, + NULL, NULL, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_ang_f, 0, - IEC61850_FC_MX, - IEC61850_CONSTRUCTED, - 0 + TRG_OPT_DATA_CHANGED + TRG_OPT_DATA_UPDATE, + IEC61850_FC_CF, + IEC61850_ENUMERATED, + 0, NULL, 0}; -DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_ang_f = { +DataObject iedModel_ComplexArray_GGIO1_Beh = { + DataObjectModelType, + "Beh", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Health, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Beh_stVal, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_Beh_stVal = { DataAttributeModelType, - "f", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_ang, - NULL, + "stVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Beh, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Beh_q, NULL, 0, - IEC61850_FC_MX, - IEC61850_FLOAT32, - 0 + TRG_OPT_DATA_CHANGED + TRG_OPT_DATA_UPDATE, + IEC61850_FC_ST, + IEC61850_ENUMERATED, + 0 + TRG_OPT_DATA_CHANGED, NULL, 0}; -DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_q = { +DataAttribute iedModel_ComplexArray_GGIO1_Beh_q = { DataAttributeModelType, "q", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_t, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Beh, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Beh_t, NULL, 0, - IEC61850_FC_MX, + IEC61850_FC_ST, IEC61850_QUALITY, 0 + TRG_OPT_QUALITY_CHANGED, NULL, 0}; -DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_t = { +DataAttribute iedModel_ComplexArray_GGIO1_Beh_t = { DataAttributeModelType, "t", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Beh, NULL, NULL, 0, - IEC61850_FC_MX, + IEC61850_FC_ST, IEC61850_TIMESTAMP, 0, NULL, 0}; -DataAttribute iedModel_ComplexArray_MHAI1_HA_numHar = { +DataObject iedModel_ComplexArray_GGIO1_Health = { + DataObjectModelType, + "Health", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_NamPlt, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Health_stVal, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_Health_stVal = { DataAttributeModelType, - "numHar", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_numCyc, + "stVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Health, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Health_q, NULL, 0, - IEC61850_FC_CF, - IEC61850_INT16U, + IEC61850_FC_ST, + IEC61850_ENUMERATED, 0 + TRG_OPT_DATA_CHANGED, NULL, 0}; -DataAttribute iedModel_ComplexArray_MHAI1_HA_numCyc = { +DataAttribute iedModel_ComplexArray_GGIO1_Health_q = { DataAttributeModelType, - "numCyc", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_evalTm, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Health, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Health_t, NULL, 0, - IEC61850_FC_CF, - IEC61850_INT16U, - 0 + TRG_OPT_DATA_CHANGED, + IEC61850_FC_ST, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, NULL, 0}; -DataAttribute iedModel_ComplexArray_MHAI1_HA_evalTm = { +DataAttribute iedModel_ComplexArray_GGIO1_Health_t = { DataAttributeModelType, - "evalTm", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_frequency, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Health, + NULL, NULL, 0, - IEC61850_FC_CF, - IEC61850_INT16U, - 0 + TRG_OPT_DATA_CHANGED, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, NULL, 0}; -DataAttribute iedModel_ComplexArray_MHAI1_HA_frequency = { +DataObject iedModel_ComplexArray_GGIO1_NamPlt = { + DataObjectModelType, + "NamPlt", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_NamPlt_vendor, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_vendor = { DataAttributeModelType, - "frequency", - (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, - NULL, + "vendor", + (ModelNode*) &iedModel_ComplexArray_GGIO1_NamPlt, + (ModelNode*) &iedModel_ComplexArray_GGIO1_NamPlt_swRev, NULL, 0, - IEC61850_FC_CF, - IEC61850_FLOAT32, - 0 + TRG_OPT_DATA_CHANGED, + IEC61850_FC_DC, + IEC61850_VISIBLE_STRING_255, + 0, NULL, 0}; +DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_swRev = { + DataAttributeModelType, + "swRev", + (ModelNode*) &iedModel_ComplexArray_GGIO1_NamPlt, + (ModelNode*) &iedModel_ComplexArray_GGIO1_NamPlt_d, + NULL, + 0, + IEC61850_FC_DC, + IEC61850_VISIBLE_STRING_255, + 0, + NULL, + 0}; +DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_d = { + DataAttributeModelType, + "d", + (ModelNode*) &iedModel_ComplexArray_GGIO1_NamPlt, + (ModelNode*) &iedModel_ComplexArray_GGIO1_NamPlt_dU, + NULL, + 0, + IEC61850_FC_DC, + IEC61850_VISIBLE_STRING_255, + 0, + NULL, + 0}; +DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_dU = { + DataAttributeModelType, + "dU", + (ModelNode*) &iedModel_ComplexArray_GGIO1_NamPlt, + NULL, + NULL, + 0, + IEC61850_FC_DC, + IEC61850_UNICODE_STRING_255, + 0, + NULL, + 0}; +DataObject iedModel_ComplexArray_GGIO1_AnIn1 = { + DataObjectModelType, + "AnIn1", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn2, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn1_mag, + 0 +}; +DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_mag = { + DataAttributeModelType, + "mag", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn1_q, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn1_mag_f, + 0, + IEC61850_FC_MX, + IEC61850_CONSTRUCTED, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; - - - -IedModel iedModel = { - "test", - &iedModel_ComplexArray, +DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_mag_f = { + DataAttributeModelType, + "f", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn1_mag, + NULL, NULL, + 0, + IEC61850_FC_MX, + IEC61850_FLOAT32, + 0 + TRG_OPT_DATA_CHANGED, NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn1_t, NULL, + 0, + IEC61850_FC_MX, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn1, NULL, NULL, + 0, + IEC61850_FC_MX, + IEC61850_TIMESTAMP, + 0, NULL, - initializeValues + 0}; + +DataObject iedModel_ComplexArray_GGIO1_AnIn2 = { + DataObjectModelType, + "AnIn2", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn3, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn2_mag, + 0 }; -static void -initializeValues() -{ +DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_mag = { + DataAttributeModelType, + "mag", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn2, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn2_q, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn2_mag_f, + 0, + IEC61850_FC_MX, + IEC61850_CONSTRUCTED, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; -iedModel_ComplexArray_LLN0_Mod_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(0); +DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_mag_f = { + DataAttributeModelType, + "f", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn2_mag, + NULL, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_FLOAT32, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn2, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn2_t, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn2, + NULL, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataObject iedModel_ComplexArray_GGIO1_AnIn3 = { + DataObjectModelType, + "AnIn3", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn4, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn3_mag, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_mag = { + DataAttributeModelType, + "mag", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn3, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn3_q, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn3_mag_f, + 0, + IEC61850_FC_MX, + IEC61850_CONSTRUCTED, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_mag_f = { + DataAttributeModelType, + "f", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn3_mag, + NULL, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_FLOAT32, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn3, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn3_t, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn3, + NULL, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataObject iedModel_ComplexArray_GGIO1_AnIn4 = { + DataObjectModelType, + "AnIn4", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn4_mag, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_mag = { + DataAttributeModelType, + "mag", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn4, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn4_q, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn4_mag_f, + 0, + IEC61850_FC_MX, + IEC61850_CONSTRUCTED, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_mag_f = { + DataAttributeModelType, + "f", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn4_mag, + NULL, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_FLOAT32, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn4, + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn4_t, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_AnIn4, + NULL, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataObject iedModel_ComplexArray_GGIO1_SPCSO1 = { + DataObjectModelType, + "SPCSO1", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_origin, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_origin = { + DataAttributeModelType, + "origin", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_ctlNum, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_origin_orCat, + 0, + IEC61850_FC_ST, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_origin_orCat = { + DataAttributeModelType, + "orCat", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_origin, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_origin_orIdent, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_origin_orIdent = { + DataAttributeModelType, + "orIdent", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_origin, + NULL, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_OCTET_STRING_64, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_ctlNum = { + DataAttributeModelType, + "ctlNum", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_stVal, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_INT8U, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_stVal = { + DataAttributeModelType, + "stVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_q, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_BOOLEAN, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_t, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_ctlModel, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_ctlModel = { + DataAttributeModelType, + "ctlModel", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper, + NULL, + 0, + IEC61850_FC_CF, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper = { + DataAttributeModelType, + "Oper", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1, + NULL, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlVal, + 0, + IEC61850_FC_CO, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlVal = { + DataAttributeModelType, + "ctlVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_BOOLEAN, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin = { + DataAttributeModelType, + "origin", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlNum, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orCat, + 0, + IEC61850_FC_CO, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orCat = { + DataAttributeModelType, + "orCat", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orIdent, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orIdent = { + DataAttributeModelType, + "orIdent", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin, + NULL, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_OCTET_STRING_64, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlNum = { + DataAttributeModelType, + "ctlNum", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper_T, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_INT8U, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_T = { + DataAttributeModelType, + "T", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Test, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Test = { + DataAttributeModelType, + "Test", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Check, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_BOOLEAN, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Check = { + DataAttributeModelType, + "Check", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO1_Oper, + NULL, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_CHECK, + 0, + NULL, + 0}; + +DataObject iedModel_ComplexArray_GGIO1_SPCSO2 = { + DataObjectModelType, + "SPCSO2", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_stVal, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_stVal = { + DataAttributeModelType, + "stVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_q, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_BOOLEAN, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper = { + DataAttributeModelType, + "Oper", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_ctlModel, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlVal, + 0, + IEC61850_FC_CO, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlVal = { + DataAttributeModelType, + "ctlVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_BOOLEAN, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin = { + DataAttributeModelType, + "origin", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlNum, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orCat, + 0, + IEC61850_FC_CO, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orCat = { + DataAttributeModelType, + "orCat", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orIdent, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orIdent = { + DataAttributeModelType, + "orIdent", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin, + NULL, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_OCTET_STRING_64, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlNum = { + DataAttributeModelType, + "ctlNum", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper_T, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_INT8U, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_T = { + DataAttributeModelType, + "T", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Test, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Test = { + DataAttributeModelType, + "Test", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Check, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_BOOLEAN, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Check = { + DataAttributeModelType, + "Check", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_Oper, + NULL, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_CHECK, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_ctlModel = { + DataAttributeModelType, + "ctlModel", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2_t, + NULL, + 0, + IEC61850_FC_CF, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO2, + NULL, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataObject iedModel_ComplexArray_GGIO1_SPCSO3 = { + DataObjectModelType, + "SPCSO3", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_stVal, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_stVal = { + DataAttributeModelType, + "stVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_q, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_BOOLEAN, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper = { + DataAttributeModelType, + "Oper", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_ctlModel, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlVal, + 0, + IEC61850_FC_CO, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlVal = { + DataAttributeModelType, + "ctlVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_BOOLEAN, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin = { + DataAttributeModelType, + "origin", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlNum, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orCat, + 0, + IEC61850_FC_CO, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orCat = { + DataAttributeModelType, + "orCat", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orIdent, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orIdent = { + DataAttributeModelType, + "orIdent", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin, + NULL, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_OCTET_STRING_64, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlNum = { + DataAttributeModelType, + "ctlNum", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper_T, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_INT8U, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_T = { + DataAttributeModelType, + "T", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Test, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Test = { + DataAttributeModelType, + "Test", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Check, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_BOOLEAN, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Check = { + DataAttributeModelType, + "Check", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_Oper, + NULL, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_CHECK, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_ctlModel = { + DataAttributeModelType, + "ctlModel", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3_t, + NULL, + 0, + IEC61850_FC_CF, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO3, + NULL, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataObject iedModel_ComplexArray_GGIO1_SPCSO4 = { + DataObjectModelType, + "SPCSO4", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_stVal, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_stVal = { + DataAttributeModelType, + "stVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_q, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_BOOLEAN, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper = { + DataAttributeModelType, + "Oper", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_ctlModel, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlVal, + 0, + IEC61850_FC_CO, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlVal = { + DataAttributeModelType, + "ctlVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_BOOLEAN, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin = { + DataAttributeModelType, + "origin", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlNum, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orCat, + 0, + IEC61850_FC_CO, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orCat = { + DataAttributeModelType, + "orCat", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orIdent, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orIdent = { + DataAttributeModelType, + "orIdent", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin, + NULL, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_OCTET_STRING_64, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlNum = { + DataAttributeModelType, + "ctlNum", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper_T, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_INT8U, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_T = { + DataAttributeModelType, + "T", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Test, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Test = { + DataAttributeModelType, + "Test", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Check, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_BOOLEAN, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Check = { + DataAttributeModelType, + "Check", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_Oper, + NULL, + NULL, + 0, + IEC61850_FC_CO, + IEC61850_CHECK, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_ctlModel = { + DataAttributeModelType, + "ctlModel", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4, + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4_t, + NULL, + 0, + IEC61850_FC_CF, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_SPCSO4, + NULL, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataObject iedModel_ComplexArray_GGIO1_Ind1 = { + DataObjectModelType, + "Ind1", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind2, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind1_stVal, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind1_stVal = { + DataAttributeModelType, + "stVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind1_q, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_BOOLEAN, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind1_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind1_t, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind1_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind1, + NULL, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataObject iedModel_ComplexArray_GGIO1_Ind2 = { + DataObjectModelType, + "Ind2", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind3, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind2_stVal, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind2_stVal = { + DataAttributeModelType, + "stVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind2, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind2_q, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_BOOLEAN, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind2_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind2, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind2_t, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind2_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind2, + NULL, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataObject iedModel_ComplexArray_GGIO1_Ind3 = { + DataObjectModelType, + "Ind3", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind4, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind3_stVal, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind3_stVal = { + DataAttributeModelType, + "stVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind3, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind3_q, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_BOOLEAN, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind3_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind3, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind3_t, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind3_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind3, + NULL, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataObject iedModel_ComplexArray_GGIO1_Ind4 = { + DataObjectModelType, + "Ind4", + (ModelNode*) &iedModel_ComplexArray_GGIO1, + NULL, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind4_stVal, + 0 +}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind4_stVal = { + DataAttributeModelType, + "stVal", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind4, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind4_q, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_BOOLEAN, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind4_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind4, + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind4_t, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_GGIO1_Ind4_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_GGIO1_Ind4, + NULL, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +LogicalNode iedModel_ComplexArray_MHAI1 = { + LogicalNodeModelType, + "MHAI1", + (ModelNode*) &iedModel_ComplexArray, + NULL, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, +}; + +DataObject iedModel_ComplexArray_MHAI1_HA = { + DataObjectModelType, + "HA", + (ModelNode*) &iedModel_ComplexArray_MHAI1, + NULL, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar, + 0 +}; + +DataObject iedModel_ComplexArray_MHAI1_HA_phsAHar = { + DataObjectModelType, + "phsAHar", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_numHar, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal, + 16 +}; + +DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal = { + DataAttributeModelType, + "cVal", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_q, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_mag, + 0, + IEC61850_FC_MX, + IEC61850_CONSTRUCTED, + 0 + TRG_OPT_DATA_CHANGED + TRG_OPT_DATA_UPDATE, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_mag = { + DataAttributeModelType, + "mag", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_ang, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_mag_f, + 0, + IEC61850_FC_MX, + IEC61850_CONSTRUCTED, + 0 + TRG_OPT_DATA_CHANGED + TRG_OPT_DATA_UPDATE, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_mag_f = { + DataAttributeModelType, + "f", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_mag, + NULL, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_FLOAT32, + 0 + TRG_OPT_DATA_CHANGED + TRG_OPT_DATA_UPDATE, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_ang = { + DataAttributeModelType, + "ang", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal, + NULL, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_ang_f, + 0, + IEC61850_FC_MX, + IEC61850_CONSTRUCTED, + 0 + TRG_OPT_DATA_CHANGED + TRG_OPT_DATA_UPDATE, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_ang_f = { + DataAttributeModelType, + "f", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_cVal_ang, + NULL, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_FLOAT32, + 0 + TRG_OPT_DATA_CHANGED + TRG_OPT_DATA_UPDATE, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_q = { + DataAttributeModelType, + "q", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar_t, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_QUALITY, + 0 + TRG_OPT_QUALITY_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_MHAI1_HA_phsAHar_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_phsAHar, + NULL, + NULL, + 0, + IEC61850_FC_MX, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_MHAI1_HA_numHar = { + DataAttributeModelType, + "numHar", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_numCyc, + NULL, + 0, + IEC61850_FC_CF, + IEC61850_INT16U, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_MHAI1_HA_numCyc = { + DataAttributeModelType, + "numCyc", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_evalTm, + NULL, + 0, + IEC61850_FC_CF, + IEC61850_INT16U, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_MHAI1_HA_evalTm = { + DataAttributeModelType, + "evalTm", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA_frequency, + NULL, + 0, + IEC61850_FC_CF, + IEC61850_INT16U, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + +DataAttribute iedModel_ComplexArray_MHAI1_HA_frequency = { + DataAttributeModelType, + "frequency", + (ModelNode*) &iedModel_ComplexArray_MHAI1_HA, + NULL, + NULL, + 0, + IEC61850_FC_CF, + IEC61850_FLOAT32, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + + + + + + + + + +IedModel iedModel = { + "test", + &iedModel_ComplexArray, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + initializeValues +}; + +static void +initializeValues() +{ + +iedModel_ComplexArray_LLN0_Mod_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(0); + +iedModel_ComplexArray_LPHD1_PhyHealth_stVal.mmsValue = MmsValue_newIntegerFromInt32(1); + +iedModel_ComplexArray_GGIO1_Mod_stVal.mmsValue = MmsValue_newIntegerFromInt32(1); + +iedModel_ComplexArray_GGIO1_Mod_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(0); + +iedModel_ComplexArray_GGIO1_Beh_stVal.mmsValue = MmsValue_newIntegerFromInt32(1); + +iedModel_ComplexArray_GGIO1_Health_stVal.mmsValue = MmsValue_newIntegerFromInt32(1); + +iedModel_ComplexArray_GGIO1_SPCSO1_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(1); + +iedModel_ComplexArray_GGIO1_SPCSO2_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(1); + +iedModel_ComplexArray_GGIO1_SPCSO3_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(1); + +iedModel_ComplexArray_GGIO1_SPCSO4_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(1); iedModel_ComplexArray_MHAI1_HA_numHar.mmsValue = MmsValue_newUnsignedFromUint32(16); } diff --git a/examples/server_example_complex_array/static_model.h b/examples/server_example_complex_array/static_model.h index 0999d581..18f5206e 100644 --- a/examples/server_example_complex_array/static_model.h +++ b/examples/server_example_complex_array/static_model.h @@ -14,6 +14,7 @@ extern IedModel iedModel; extern LogicalDevice iedModel_ComplexArray; extern LogicalNode iedModel_ComplexArray_LLN0; extern DataObject iedModel_ComplexArray_LLN0_Mod; +extern DataAttribute iedModel_ComplexArray_LLN0_Mod_stVal; extern DataAttribute iedModel_ComplexArray_LLN0_Mod_q; extern DataAttribute iedModel_ComplexArray_LLN0_Mod_t; extern DataAttribute iedModel_ComplexArray_LLN0_Mod_ctlModel; @@ -42,6 +43,121 @@ extern DataObject iedModel_ComplexArray_LPHD1_Proxy; extern DataAttribute iedModel_ComplexArray_LPHD1_Proxy_stVal; extern DataAttribute iedModel_ComplexArray_LPHD1_Proxy_q; extern DataAttribute iedModel_ComplexArray_LPHD1_Proxy_t; +extern LogicalNode iedModel_ComplexArray_GGIO1; +extern DataObject iedModel_ComplexArray_GGIO1_Mod; +extern DataAttribute iedModel_ComplexArray_GGIO1_Mod_stVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_Mod_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_Mod_t; +extern DataAttribute iedModel_ComplexArray_GGIO1_Mod_ctlModel; +extern DataObject iedModel_ComplexArray_GGIO1_Beh; +extern DataAttribute iedModel_ComplexArray_GGIO1_Beh_stVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_Beh_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_Beh_t; +extern DataObject iedModel_ComplexArray_GGIO1_Health; +extern DataAttribute iedModel_ComplexArray_GGIO1_Health_stVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_Health_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_Health_t; +extern DataObject iedModel_ComplexArray_GGIO1_NamPlt; +extern DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_vendor; +extern DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_swRev; +extern DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_d; +extern DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_dU; +extern DataObject iedModel_ComplexArray_GGIO1_AnIn1; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_mag; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_mag_f; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_t; +extern DataObject iedModel_ComplexArray_GGIO1_AnIn2; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_mag; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_mag_f; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_t; +extern DataObject iedModel_ComplexArray_GGIO1_AnIn3; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_mag; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_mag_f; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_t; +extern DataObject iedModel_ComplexArray_GGIO1_AnIn4; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_mag; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_mag_f; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_t; +extern DataObject iedModel_ComplexArray_GGIO1_SPCSO1; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_origin; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_origin_orCat; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_origin_orIdent; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_ctlNum; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_stVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_t; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_ctlModel; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orCat; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orIdent; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlNum; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_T; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Test; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Check; +extern DataObject iedModel_ComplexArray_GGIO1_SPCSO2; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_stVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orCat; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orIdent; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlNum; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_T; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Test; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Check; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_ctlModel; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_t; +extern DataObject iedModel_ComplexArray_GGIO1_SPCSO3; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_stVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orCat; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orIdent; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlNum; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_T; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Test; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Check; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_ctlModel; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_t; +extern DataObject iedModel_ComplexArray_GGIO1_SPCSO4; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_stVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orCat; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orIdent; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlNum; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_T; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Test; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Check; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_ctlModel; +extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_t; +extern DataObject iedModel_ComplexArray_GGIO1_Ind1; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind1_stVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind1_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind1_t; +extern DataObject iedModel_ComplexArray_GGIO1_Ind2; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind2_stVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind2_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind2_t; +extern DataObject iedModel_ComplexArray_GGIO1_Ind3; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind3_stVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind3_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind3_t; +extern DataObject iedModel_ComplexArray_GGIO1_Ind4; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind4_stVal; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind4_q; +extern DataAttribute iedModel_ComplexArray_GGIO1_Ind4_t; extern LogicalNode iedModel_ComplexArray_MHAI1; extern DataObject iedModel_ComplexArray_MHAI1_HA; extern DataObject iedModel_ComplexArray_MHAI1_HA_phsAHar; @@ -62,6 +178,7 @@ extern DataAttribute iedModel_ComplexArray_MHAI1_HA_frequency; #define IEDMODEL_ComplexArray (&iedModel_ComplexArray) #define IEDMODEL_ComplexArray_LLN0 (&iedModel_ComplexArray_LLN0) #define IEDMODEL_ComplexArray_LLN0_Mod (&iedModel_ComplexArray_LLN0_Mod) +#define IEDMODEL_ComplexArray_LLN0_Mod_stVal (&iedModel_ComplexArray_LLN0_Mod_stVal) #define IEDMODEL_ComplexArray_LLN0_Mod_q (&iedModel_ComplexArray_LLN0_Mod_q) #define IEDMODEL_ComplexArray_LLN0_Mod_t (&iedModel_ComplexArray_LLN0_Mod_t) #define IEDMODEL_ComplexArray_LLN0_Mod_ctlModel (&iedModel_ComplexArray_LLN0_Mod_ctlModel) @@ -90,6 +207,121 @@ extern DataAttribute iedModel_ComplexArray_MHAI1_HA_frequency; #define IEDMODEL_ComplexArray_LPHD1_Proxy_stVal (&iedModel_ComplexArray_LPHD1_Proxy_stVal) #define IEDMODEL_ComplexArray_LPHD1_Proxy_q (&iedModel_ComplexArray_LPHD1_Proxy_q) #define IEDMODEL_ComplexArray_LPHD1_Proxy_t (&iedModel_ComplexArray_LPHD1_Proxy_t) +#define IEDMODEL_ComplexArray_GGIO1 (&iedModel_ComplexArray_GGIO1) +#define IEDMODEL_ComplexArray_GGIO1_Mod (&iedModel_ComplexArray_GGIO1_Mod) +#define IEDMODEL_ComplexArray_GGIO1_Mod_stVal (&iedModel_ComplexArray_GGIO1_Mod_stVal) +#define IEDMODEL_ComplexArray_GGIO1_Mod_q (&iedModel_ComplexArray_GGIO1_Mod_q) +#define IEDMODEL_ComplexArray_GGIO1_Mod_t (&iedModel_ComplexArray_GGIO1_Mod_t) +#define IEDMODEL_ComplexArray_GGIO1_Mod_ctlModel (&iedModel_ComplexArray_GGIO1_Mod_ctlModel) +#define IEDMODEL_ComplexArray_GGIO1_Beh (&iedModel_ComplexArray_GGIO1_Beh) +#define IEDMODEL_ComplexArray_GGIO1_Beh_stVal (&iedModel_ComplexArray_GGIO1_Beh_stVal) +#define IEDMODEL_ComplexArray_GGIO1_Beh_q (&iedModel_ComplexArray_GGIO1_Beh_q) +#define IEDMODEL_ComplexArray_GGIO1_Beh_t (&iedModel_ComplexArray_GGIO1_Beh_t) +#define IEDMODEL_ComplexArray_GGIO1_Health (&iedModel_ComplexArray_GGIO1_Health) +#define IEDMODEL_ComplexArray_GGIO1_Health_stVal (&iedModel_ComplexArray_GGIO1_Health_stVal) +#define IEDMODEL_ComplexArray_GGIO1_Health_q (&iedModel_ComplexArray_GGIO1_Health_q) +#define IEDMODEL_ComplexArray_GGIO1_Health_t (&iedModel_ComplexArray_GGIO1_Health_t) +#define IEDMODEL_ComplexArray_GGIO1_NamPlt (&iedModel_ComplexArray_GGIO1_NamPlt) +#define IEDMODEL_ComplexArray_GGIO1_NamPlt_vendor (&iedModel_ComplexArray_GGIO1_NamPlt_vendor) +#define IEDMODEL_ComplexArray_GGIO1_NamPlt_swRev (&iedModel_ComplexArray_GGIO1_NamPlt_swRev) +#define IEDMODEL_ComplexArray_GGIO1_NamPlt_d (&iedModel_ComplexArray_GGIO1_NamPlt_d) +#define IEDMODEL_ComplexArray_GGIO1_NamPlt_dU (&iedModel_ComplexArray_GGIO1_NamPlt_dU) +#define IEDMODEL_ComplexArray_GGIO1_AnIn1 (&iedModel_ComplexArray_GGIO1_AnIn1) +#define IEDMODEL_ComplexArray_GGIO1_AnIn1_mag (&iedModel_ComplexArray_GGIO1_AnIn1_mag) +#define IEDMODEL_ComplexArray_GGIO1_AnIn1_mag_f (&iedModel_ComplexArray_GGIO1_AnIn1_mag_f) +#define IEDMODEL_ComplexArray_GGIO1_AnIn1_q (&iedModel_ComplexArray_GGIO1_AnIn1_q) +#define IEDMODEL_ComplexArray_GGIO1_AnIn1_t (&iedModel_ComplexArray_GGIO1_AnIn1_t) +#define IEDMODEL_ComplexArray_GGIO1_AnIn2 (&iedModel_ComplexArray_GGIO1_AnIn2) +#define IEDMODEL_ComplexArray_GGIO1_AnIn2_mag (&iedModel_ComplexArray_GGIO1_AnIn2_mag) +#define IEDMODEL_ComplexArray_GGIO1_AnIn2_mag_f (&iedModel_ComplexArray_GGIO1_AnIn2_mag_f) +#define IEDMODEL_ComplexArray_GGIO1_AnIn2_q (&iedModel_ComplexArray_GGIO1_AnIn2_q) +#define IEDMODEL_ComplexArray_GGIO1_AnIn2_t (&iedModel_ComplexArray_GGIO1_AnIn2_t) +#define IEDMODEL_ComplexArray_GGIO1_AnIn3 (&iedModel_ComplexArray_GGIO1_AnIn3) +#define IEDMODEL_ComplexArray_GGIO1_AnIn3_mag (&iedModel_ComplexArray_GGIO1_AnIn3_mag) +#define IEDMODEL_ComplexArray_GGIO1_AnIn3_mag_f (&iedModel_ComplexArray_GGIO1_AnIn3_mag_f) +#define IEDMODEL_ComplexArray_GGIO1_AnIn3_q (&iedModel_ComplexArray_GGIO1_AnIn3_q) +#define IEDMODEL_ComplexArray_GGIO1_AnIn3_t (&iedModel_ComplexArray_GGIO1_AnIn3_t) +#define IEDMODEL_ComplexArray_GGIO1_AnIn4 (&iedModel_ComplexArray_GGIO1_AnIn4) +#define IEDMODEL_ComplexArray_GGIO1_AnIn4_mag (&iedModel_ComplexArray_GGIO1_AnIn4_mag) +#define IEDMODEL_ComplexArray_GGIO1_AnIn4_mag_f (&iedModel_ComplexArray_GGIO1_AnIn4_mag_f) +#define IEDMODEL_ComplexArray_GGIO1_AnIn4_q (&iedModel_ComplexArray_GGIO1_AnIn4_q) +#define IEDMODEL_ComplexArray_GGIO1_AnIn4_t (&iedModel_ComplexArray_GGIO1_AnIn4_t) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1 (&iedModel_ComplexArray_GGIO1_SPCSO1) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_origin (&iedModel_ComplexArray_GGIO1_SPCSO1_origin) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_origin_orCat (&iedModel_ComplexArray_GGIO1_SPCSO1_origin_orCat) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_origin_orIdent (&iedModel_ComplexArray_GGIO1_SPCSO1_origin_orIdent) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_ctlNum (&iedModel_ComplexArray_GGIO1_SPCSO1_ctlNum) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_stVal (&iedModel_ComplexArray_GGIO1_SPCSO1_stVal) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_q (&iedModel_ComplexArray_GGIO1_SPCSO1_q) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_t (&iedModel_ComplexArray_GGIO1_SPCSO1_t) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_ctlModel (&iedModel_ComplexArray_GGIO1_SPCSO1_ctlModel) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_ctlVal (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlVal) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_origin (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_origin_orCat (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orCat) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_origin_orIdent (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orIdent) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_ctlNum (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlNum) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_T (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_T) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_Test (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Test) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_Check (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Check) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2 (&iedModel_ComplexArray_GGIO1_SPCSO2) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_stVal (&iedModel_ComplexArray_GGIO1_SPCSO2_stVal) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_q (&iedModel_ComplexArray_GGIO1_SPCSO2_q) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_ctlVal (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlVal) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_origin (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_origin_orCat (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orCat) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_origin_orIdent (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orIdent) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_ctlNum (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlNum) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_T (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_T) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_Test (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Test) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_Check (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Check) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_ctlModel (&iedModel_ComplexArray_GGIO1_SPCSO2_ctlModel) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_t (&iedModel_ComplexArray_GGIO1_SPCSO2_t) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3 (&iedModel_ComplexArray_GGIO1_SPCSO3) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_stVal (&iedModel_ComplexArray_GGIO1_SPCSO3_stVal) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_q (&iedModel_ComplexArray_GGIO1_SPCSO3_q) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_ctlVal (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlVal) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_origin (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_origin_orCat (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orCat) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_origin_orIdent (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orIdent) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_ctlNum (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlNum) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_T (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_T) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_Test (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Test) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_Check (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Check) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_ctlModel (&iedModel_ComplexArray_GGIO1_SPCSO3_ctlModel) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_t (&iedModel_ComplexArray_GGIO1_SPCSO3_t) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4 (&iedModel_ComplexArray_GGIO1_SPCSO4) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_stVal (&iedModel_ComplexArray_GGIO1_SPCSO4_stVal) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_q (&iedModel_ComplexArray_GGIO1_SPCSO4_q) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_ctlVal (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlVal) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_origin (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_origin_orCat (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orCat) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_origin_orIdent (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orIdent) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_ctlNum (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlNum) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_T (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_T) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_Test (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Test) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_Check (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Check) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_ctlModel (&iedModel_ComplexArray_GGIO1_SPCSO4_ctlModel) +#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_t (&iedModel_ComplexArray_GGIO1_SPCSO4_t) +#define IEDMODEL_ComplexArray_GGIO1_Ind1 (&iedModel_ComplexArray_GGIO1_Ind1) +#define IEDMODEL_ComplexArray_GGIO1_Ind1_stVal (&iedModel_ComplexArray_GGIO1_Ind1_stVal) +#define IEDMODEL_ComplexArray_GGIO1_Ind1_q (&iedModel_ComplexArray_GGIO1_Ind1_q) +#define IEDMODEL_ComplexArray_GGIO1_Ind1_t (&iedModel_ComplexArray_GGIO1_Ind1_t) +#define IEDMODEL_ComplexArray_GGIO1_Ind2 (&iedModel_ComplexArray_GGIO1_Ind2) +#define IEDMODEL_ComplexArray_GGIO1_Ind2_stVal (&iedModel_ComplexArray_GGIO1_Ind2_stVal) +#define IEDMODEL_ComplexArray_GGIO1_Ind2_q (&iedModel_ComplexArray_GGIO1_Ind2_q) +#define IEDMODEL_ComplexArray_GGIO1_Ind2_t (&iedModel_ComplexArray_GGIO1_Ind2_t) +#define IEDMODEL_ComplexArray_GGIO1_Ind3 (&iedModel_ComplexArray_GGIO1_Ind3) +#define IEDMODEL_ComplexArray_GGIO1_Ind3_stVal (&iedModel_ComplexArray_GGIO1_Ind3_stVal) +#define IEDMODEL_ComplexArray_GGIO1_Ind3_q (&iedModel_ComplexArray_GGIO1_Ind3_q) +#define IEDMODEL_ComplexArray_GGIO1_Ind3_t (&iedModel_ComplexArray_GGIO1_Ind3_t) +#define IEDMODEL_ComplexArray_GGIO1_Ind4 (&iedModel_ComplexArray_GGIO1_Ind4) +#define IEDMODEL_ComplexArray_GGIO1_Ind4_stVal (&iedModel_ComplexArray_GGIO1_Ind4_stVal) +#define IEDMODEL_ComplexArray_GGIO1_Ind4_q (&iedModel_ComplexArray_GGIO1_Ind4_q) +#define IEDMODEL_ComplexArray_GGIO1_Ind4_t (&iedModel_ComplexArray_GGIO1_Ind4_t) #define IEDMODEL_ComplexArray_MHAI1 (&iedModel_ComplexArray_MHAI1) #define IEDMODEL_ComplexArray_MHAI1_HA (&iedModel_ComplexArray_MHAI1_HA) #define IEDMODEL_ComplexArray_MHAI1_HA_phsAHar (&iedModel_ComplexArray_MHAI1_HA_phsAHar)