diff --git a/examples/Makefile b/examples/Makefile index 1b83d6a..61f781e 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -27,8 +27,24 @@ EXAMPLE_DIRS += goose_subscriber EXAMPLE_DIRS += goose_publisher EXAMPLE_DIRS += mms_utility +MODEL_DIRS += server_example1 +MODEL_DIRS += server_example2 +MODEL_DIRS += server_example3 +MODEL_DIRS += server_example4 +MODEL_DIRS += server_example5 +MODEL_DIRS += server_example_goose +MODEL_DIRS += server_example_control +MODEL_DIRS += server_example_config_file +MODEL_DIRS += server_example_complex_array +MODEL_DIRS += server_example_61400_25 +MODEL_DIRS += server_example_threadless +MODEL_DIRS += server_example_setting_groups + all: examples +model: + -for d in $(MODEL_DIRS); do(cd $$d && $(MAKE) model); done + examples: -for d in $(EXAMPLE_DIRS); do(cd $$d && $(MAKE)); done diff --git a/examples/server_example1/Makefile b/examples/server_example1/Makefile index 945ec70..0643046 100644 --- a/examples/server_example1/Makefile +++ b/examples/server_example1/Makefile @@ -4,6 +4,8 @@ PROJECT_BINARY_NAME = server_example1 PROJECT_SOURCES = server_example1.c PROJECT_SOURCES += static_model.c +PROJECT_ICD_FILE = sampleModel_with_dataset.icd + include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk @@ -11,6 +13,9 @@ all: $(PROJECT_BINARY_NAME) include $(LIBIEC_HOME)/make/common_targets.mk +model: $(PROJECT_ICD_FILE) + java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE) + $(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME) $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) diff --git a/examples/server_example2/Makefile b/examples/server_example2/Makefile index bd0c1e6..3781758 100644 --- a/examples/server_example2/Makefile +++ b/examples/server_example2/Makefile @@ -4,7 +4,7 @@ PROJECT_BINARY_NAME = server_example2 PROJECT_SOURCES = server_example2.c PROJECT_SOURCES += static_model.c -PROJECT_ICD_FILE = complexModel.scd +PROJECT_ICD_FILE = complexModel.icd include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk diff --git a/examples/server_example3/Makefile b/examples/server_example3/Makefile index f8e3fcf..65e2509 100644 --- a/examples/server_example3/Makefile +++ b/examples/server_example3/Makefile @@ -4,6 +4,8 @@ PROJECT_BINARY_NAME = server_example3 PROJECT_SOURCES = server_example3.c PROJECT_SOURCES += static_model.c +PROJECT_ICD_FILE = simpleIO_direct_control.icd + include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk @@ -15,6 +17,9 @@ LDLIBS += -lm CP = cp +model: $(PROJECT_ICD_FILE) + java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE) + $(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME) $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) $(CP) $(PROJECT_BINARY_NAME) vmd-filestore/IEDSERVER.BIN diff --git a/examples/server_example3/static_model.c b/examples/server_example3/static_model.c index 440e303..eb1941b 100644 --- a/examples/server_example3/static_model.c +++ b/examples/server_example3/static_model.c @@ -1,7 +1,7 @@ /* * static_model.c * - * automatically generated from simpleIO_sbo_control.icd + * automatically generated from simpleIO_direct_control.icd */ #include #include "iec61850_model.h" @@ -11,6 +11,7 @@ static void initializeValues(); extern LogicalDevice iedModel_GenericIO; extern LogicalNode iedModel_GenericIO_LLN0; extern DataObject iedModel_GenericIO_LLN0_Mod; +extern DataAttribute iedModel_GenericIO_LLN0_Mod_stVal; extern DataAttribute iedModel_GenericIO_LLN0_Mod_q; extern DataAttribute iedModel_GenericIO_LLN0_Mod_t; extern DataAttribute iedModel_GenericIO_LLN0_Mod_ctlModel; @@ -79,7 +80,6 @@ extern DataAttribute iedModel_GenericIO_GGIO1_AnIn4_t; extern DataObject iedModel_GenericIO_GGIO1_SPCSO1; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_q; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_SBO; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_ctlVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_origin; @@ -89,22 +89,11 @@ extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_ctlNum; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_T; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_Check; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_ctlVal; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin_orCat; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin_orIdent; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_ctlNum; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_T; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_ctlModel; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_t; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_sboTimeout; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_sboClass; extern DataObject iedModel_GenericIO_GGIO1_SPCSO2; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_q; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_SBO; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_origin; @@ -114,22 +103,11 @@ extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlNum; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_T; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_Check; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_ctlVal; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin_orCat; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin_orIdent; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_ctlNum; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_T; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_ctlModel; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_t; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_sboTimeout; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_sboClass; extern DataObject iedModel_GenericIO_GGIO1_SPCSO3; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_q; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_SBO; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_origin; @@ -139,22 +117,11 @@ extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlNum; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_T; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_Check; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_ctlVal; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin_orCat; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin_orIdent; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_ctlNum; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_T; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_ctlModel; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_t; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_sboTimeout; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_sboClass; extern DataObject iedModel_GenericIO_GGIO1_SPCSO4; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_q; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_SBO; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_origin; @@ -164,18 +131,8 @@ extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlNum; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_T; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_Check; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_ctlVal; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin_orCat; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin_orIdent; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_ctlNum; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_T; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_ctlModel; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_t; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_sboTimeout; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_sboClass; extern DataObject iedModel_GenericIO_GGIO1_Ind1; extern DataAttribute iedModel_GenericIO_GGIO1_Ind1_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_Ind1_q; @@ -194,6 +151,8 @@ extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_q; extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_t; extern DataSet ds_GenericIO_LLN0_Events; +extern DataSet ds_GenericIO_LLN0_Events2; +extern DataSet ds_GenericIO_LLN0_Measurements; extern DataSetEntry ds_GenericIO_LLN0_Events_fcda0; @@ -246,6 +205,156 @@ DataSet ds_GenericIO_LLN0_Events = { "LLN0$Events", 4, &ds_GenericIO_LLN0_Events_fcda0, + &ds_GenericIO_LLN0_Events2 +}; + +extern DataSetEntry ds_GenericIO_LLN0_Events2_fcda0; +extern DataSetEntry ds_GenericIO_LLN0_Events2_fcda1; +extern DataSetEntry ds_GenericIO_LLN0_Events2_fcda2; +extern DataSetEntry ds_GenericIO_LLN0_Events2_fcda3; + +DataSetEntry ds_GenericIO_LLN0_Events2_fcda0 = { + "GenericIO", + false, + "GGIO1$ST$SPCSO1", + -1, + NULL, + NULL, + &ds_GenericIO_LLN0_Events2_fcda1 +}; + +DataSetEntry ds_GenericIO_LLN0_Events2_fcda1 = { + "GenericIO", + false, + "GGIO1$ST$SPCSO2", + -1, + NULL, + NULL, + &ds_GenericIO_LLN0_Events2_fcda2 +}; + +DataSetEntry ds_GenericIO_LLN0_Events2_fcda2 = { + "GenericIO", + false, + "GGIO1$ST$SPCSO3", + -1, + NULL, + NULL, + &ds_GenericIO_LLN0_Events2_fcda3 +}; + +DataSetEntry ds_GenericIO_LLN0_Events2_fcda3 = { + "GenericIO", + false, + "GGIO1$ST$SPCSO4", + -1, + NULL, + NULL, + NULL +}; + +DataSet ds_GenericIO_LLN0_Events2 = { + "GenericIO", + "LLN0$Events2", + 4, + &ds_GenericIO_LLN0_Events2_fcda0, + &ds_GenericIO_LLN0_Measurements +}; + +extern DataSetEntry ds_GenericIO_LLN0_Measurements_fcda0; +extern DataSetEntry ds_GenericIO_LLN0_Measurements_fcda1; +extern DataSetEntry ds_GenericIO_LLN0_Measurements_fcda2; +extern DataSetEntry ds_GenericIO_LLN0_Measurements_fcda3; +extern DataSetEntry ds_GenericIO_LLN0_Measurements_fcda4; +extern DataSetEntry ds_GenericIO_LLN0_Measurements_fcda5; +extern DataSetEntry ds_GenericIO_LLN0_Measurements_fcda6; +extern DataSetEntry ds_GenericIO_LLN0_Measurements_fcda7; + +DataSetEntry ds_GenericIO_LLN0_Measurements_fcda0 = { + "GenericIO", + false, + "GGIO1$MX$AnIn1$mag$f", + -1, + NULL, + NULL, + &ds_GenericIO_LLN0_Measurements_fcda1 +}; + +DataSetEntry ds_GenericIO_LLN0_Measurements_fcda1 = { + "GenericIO", + false, + "GGIO1$MX$AnIn1$q", + -1, + NULL, + NULL, + &ds_GenericIO_LLN0_Measurements_fcda2 +}; + +DataSetEntry ds_GenericIO_LLN0_Measurements_fcda2 = { + "GenericIO", + false, + "GGIO1$MX$AnIn2$mag$f", + -1, + NULL, + NULL, + &ds_GenericIO_LLN0_Measurements_fcda3 +}; + +DataSetEntry ds_GenericIO_LLN0_Measurements_fcda3 = { + "GenericIO", + false, + "GGIO1$MX$AnIn2$q", + -1, + NULL, + NULL, + &ds_GenericIO_LLN0_Measurements_fcda4 +}; + +DataSetEntry ds_GenericIO_LLN0_Measurements_fcda4 = { + "GenericIO", + false, + "GGIO1$MX$AnIn3$mag$f", + -1, + NULL, + NULL, + &ds_GenericIO_LLN0_Measurements_fcda5 +}; + +DataSetEntry ds_GenericIO_LLN0_Measurements_fcda5 = { + "GenericIO", + false, + "GGIO1$MX$AnIn3$q", + -1, + NULL, + NULL, + &ds_GenericIO_LLN0_Measurements_fcda6 +}; + +DataSetEntry ds_GenericIO_LLN0_Measurements_fcda6 = { + "GenericIO", + false, + "GGIO1$MX$AnIn4$mag$f", + -1, + NULL, + NULL, + &ds_GenericIO_LLN0_Measurements_fcda7 +}; + +DataSetEntry ds_GenericIO_LLN0_Measurements_fcda7 = { + "GenericIO", + false, + "GGIO1$MX$AnIn4$q", + -1, + NULL, + NULL, + NULL +}; + +DataSet ds_GenericIO_LLN0_Measurements = { + "GenericIO", + "LLN0$Measurements", + 8, + &ds_GenericIO_LLN0_Measurements_fcda0, NULL }; @@ -270,10 +379,23 @@ DataObject iedModel_GenericIO_LLN0_Mod = { "Mod", (ModelNode*) &iedModel_GenericIO_LLN0, (ModelNode*) &iedModel_GenericIO_LLN0_Beh, - (ModelNode*) &iedModel_GenericIO_LLN0_Mod_q, + (ModelNode*) &iedModel_GenericIO_LLN0_Mod_stVal, 0 }; +DataAttribute iedModel_GenericIO_LLN0_Mod_stVal = { + DataAttributeModelType, + "stVal", + (ModelNode*) &iedModel_GenericIO_LLN0_Mod, + (ModelNode*) &iedModel_GenericIO_LLN0_Mod_q, + NULL, + 0, + ST, + INT32, + 0 + TRG_OPT_DATA_CHANGED, + NULL, + 0}; + DataAttribute iedModel_GenericIO_LLN0_Mod_q = { DataAttributeModelType, "q", @@ -1079,7 +1201,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_q = { DataAttributeModelType, "q", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_SBO, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Oper, NULL, 0, ST, @@ -1088,24 +1210,11 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_q = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_SBO = { - DataAttributeModelType, - "SBO", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Oper, - NULL, - 0, - CO, - VISIBLE_STRING_64, - 0, - NULL, - 0}; - DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper = { DataAttributeModelType, "Oper", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_ctlModel, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Oper_ctlVal, 0, CO, @@ -1218,110 +1327,6 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_Check = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel = { - DataAttributeModelType, - "Cancel", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_ctlModel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel_ctlVal, - 0, - CO, - CONSTRUCTED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_ctlVal = { - DataAttributeModelType, - "ctlVal", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin, - NULL, - 0, - CO, - INT8, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin = { - DataAttributeModelType, - "origin", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel_ctlNum, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin_orCat, - 0, - CO, - CONSTRUCTED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin_orCat = { - DataAttributeModelType, - "orCat", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin_orIdent, - NULL, - 0, - CO, - ENUMERATED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin_orIdent = { - DataAttributeModelType, - "orIdent", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin, - NULL, - NULL, - 0, - CO, - OCTET_STRING_64, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_ctlNum = { - DataAttributeModelType, - "ctlNum", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel_T, - NULL, - 0, - CO, - INT8U, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_T = { - DataAttributeModelType, - "T", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel_Test, - NULL, - 0, - CO, - TIMESTAMP, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_Test = { - DataAttributeModelType, - "Test", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel, - NULL, - NULL, - 0, - CO, - BOOLEAN, - 0, - NULL, - 0}; - DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_ctlModel = { DataAttributeModelType, "ctlModel", @@ -1339,7 +1344,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_t = { DataAttributeModelType, "t", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_sboTimeout, + NULL, NULL, 0, ST, @@ -1348,32 +1353,6 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_t = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_sboTimeout = { - DataAttributeModelType, - "sboTimeout", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_sboClass, - NULL, - 0, - CF, - INT32U, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_sboClass = { - DataAttributeModelType, - "sboClass", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1, - NULL, - NULL, - 0, - CF, - ENUMERATED, - 0, - NULL, - 0}; - DataObject iedModel_GenericIO_GGIO1_SPCSO2 = { DataObjectModelType, "SPCSO2", @@ -1400,7 +1379,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_q = { DataAttributeModelType, "q", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_SBO, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Oper, NULL, 0, ST, @@ -1409,24 +1388,11 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_q = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_SBO = { - DataAttributeModelType, - "SBO", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Oper, - NULL, - 0, - CO, - VISIBLE_STRING_64, - 0, - NULL, - 0}; - DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper = { DataAttributeModelType, "Oper", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_ctlModel, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlVal, 0, CO, @@ -1539,110 +1505,6 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_Check = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel = { - DataAttributeModelType, - "Cancel", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_ctlModel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel_ctlVal, - 0, - CO, - CONSTRUCTED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_ctlVal = { - DataAttributeModelType, - "ctlVal", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin, - NULL, - 0, - CO, - INT8, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin = { - DataAttributeModelType, - "origin", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel_ctlNum, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin_orCat, - 0, - CO, - CONSTRUCTED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin_orCat = { - DataAttributeModelType, - "orCat", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin_orIdent, - NULL, - 0, - CO, - ENUMERATED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin_orIdent = { - DataAttributeModelType, - "orIdent", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin, - NULL, - NULL, - 0, - CO, - OCTET_STRING_64, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_ctlNum = { - DataAttributeModelType, - "ctlNum", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel_T, - NULL, - 0, - CO, - INT8U, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_T = { - DataAttributeModelType, - "T", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel_Test, - NULL, - 0, - CO, - TIMESTAMP, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_Test = { - DataAttributeModelType, - "Test", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel, - NULL, - NULL, - 0, - CO, - BOOLEAN, - 0, - NULL, - 0}; - DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_ctlModel = { DataAttributeModelType, "ctlModel", @@ -1660,7 +1522,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_t = { DataAttributeModelType, "t", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_sboTimeout, + NULL, NULL, 0, ST, @@ -1669,32 +1531,6 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_t = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_sboTimeout = { - DataAttributeModelType, - "sboTimeout", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_sboClass, - NULL, - 0, - CF, - INT32U, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_sboClass = { - DataAttributeModelType, - "sboClass", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, - NULL, - NULL, - 0, - CF, - ENUMERATED, - 0, - NULL, - 0}; - DataObject iedModel_GenericIO_GGIO1_SPCSO3 = { DataObjectModelType, "SPCSO3", @@ -1721,7 +1557,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_q = { DataAttributeModelType, "q", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_SBO, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Oper, NULL, 0, ST, @@ -1730,24 +1566,11 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_q = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_SBO = { - DataAttributeModelType, - "SBO", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Oper, - NULL, - 0, - CO, - VISIBLE_STRING_64, - 0, - NULL, - 0}; - DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper = { DataAttributeModelType, "Oper", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_ctlModel, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlVal, 0, CO, @@ -1860,110 +1683,6 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_Check = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel = { - DataAttributeModelType, - "Cancel", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_ctlModel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel_ctlVal, - 0, - CO, - CONSTRUCTED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_ctlVal = { - DataAttributeModelType, - "ctlVal", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin, - NULL, - 0, - CO, - INT8, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin = { - DataAttributeModelType, - "origin", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel_ctlNum, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin_orCat, - 0, - CO, - CONSTRUCTED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin_orCat = { - DataAttributeModelType, - "orCat", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin_orIdent, - NULL, - 0, - CO, - ENUMERATED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin_orIdent = { - DataAttributeModelType, - "orIdent", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin, - NULL, - NULL, - 0, - CO, - OCTET_STRING_64, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_ctlNum = { - DataAttributeModelType, - "ctlNum", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel_T, - NULL, - 0, - CO, - INT8U, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_T = { - DataAttributeModelType, - "T", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel_Test, - NULL, - 0, - CO, - TIMESTAMP, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_Test = { - DataAttributeModelType, - "Test", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel, - NULL, - NULL, - 0, - CO, - BOOLEAN, - 0, - NULL, - 0}; - DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_ctlModel = { DataAttributeModelType, "ctlModel", @@ -1981,7 +1700,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_t = { DataAttributeModelType, "t", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_sboTimeout, + NULL, NULL, 0, ST, @@ -1990,32 +1709,6 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_t = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_sboTimeout = { - DataAttributeModelType, - "sboTimeout", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_sboClass, - NULL, - 0, - CF, - INT32U, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_sboClass = { - DataAttributeModelType, - "sboClass", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - NULL, - NULL, - 0, - CF, - ENUMERATED, - 0, - NULL, - 0}; - DataObject iedModel_GenericIO_GGIO1_SPCSO4 = { DataObjectModelType, "SPCSO4", @@ -2042,7 +1735,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_q = { DataAttributeModelType, "q", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_SBO, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Oper, NULL, 0, ST, @@ -2051,24 +1744,11 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_q = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_SBO = { - DataAttributeModelType, - "SBO", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Oper, - NULL, - 0, - CO, - VISIBLE_STRING_64, - 0, - NULL, - 0}; - DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper = { DataAttributeModelType, "Oper", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_ctlModel, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlVal, 0, CO, @@ -2181,110 +1861,6 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_Check = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel = { - DataAttributeModelType, - "Cancel", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_ctlModel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel_ctlVal, - 0, - CO, - CONSTRUCTED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_ctlVal = { - DataAttributeModelType, - "ctlVal", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin, - NULL, - 0, - CO, - INT8, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin = { - DataAttributeModelType, - "origin", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel_ctlNum, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin_orCat, - 0, - CO, - CONSTRUCTED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin_orCat = { - DataAttributeModelType, - "orCat", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin_orIdent, - NULL, - 0, - CO, - ENUMERATED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin_orIdent = { - DataAttributeModelType, - "orIdent", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin, - NULL, - NULL, - 0, - CO, - OCTET_STRING_64, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_ctlNum = { - DataAttributeModelType, - "ctlNum", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel_T, - NULL, - 0, - CO, - INT8U, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_T = { - DataAttributeModelType, - "T", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel_Test, - NULL, - 0, - CO, - TIMESTAMP, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_Test = { - DataAttributeModelType, - "Test", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel, - NULL, - NULL, - 0, - CO, - BOOLEAN, - 0, - NULL, - 0}; - DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_ctlModel = { DataAttributeModelType, "ctlModel", @@ -2302,7 +1878,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_t = { DataAttributeModelType, "t", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_sboTimeout, + NULL, NULL, 0, ST, @@ -2311,32 +1887,6 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_t = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_sboTimeout = { - DataAttributeModelType, - "sboTimeout", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_sboClass, - NULL, - 0, - CF, - INT32U, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_sboClass = { - DataAttributeModelType, - "sboClass", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - NULL, - NULL, - 0, - CF, - ENUMERATED, - 0, - NULL, - 0}; - DataObject iedModel_GenericIO_GGIO1_Ind1 = { DataObjectModelType, "Ind1", @@ -2530,8 +2080,20 @@ DataAttribute iedModel_GenericIO_GGIO1_Ind4_t = { 0}; extern ReportControlBlock iedModel_GenericIO_LLN0_report0; +extern ReportControlBlock iedModel_GenericIO_LLN0_report1; +extern ReportControlBlock iedModel_GenericIO_LLN0_report2; +extern ReportControlBlock iedModel_GenericIO_LLN0_report3; +extern ReportControlBlock iedModel_GenericIO_LLN0_report4; +extern ReportControlBlock iedModel_GenericIO_LLN0_report5; +extern ReportControlBlock iedModel_GenericIO_LLN0_report6; -ReportControlBlock iedModel_GenericIO_LLN0_report0 = {&iedModel_GenericIO_LLN0, "EventsRCB01", "Events", false, "Events", 1, 8, 111, 50, 1000, NULL}; +ReportControlBlock iedModel_GenericIO_LLN0_report0 = {&iedModel_GenericIO_LLN0, "EventsRCB01", "Events1", false, "Events", 1, 8, 111, 50, 1000, &iedModel_GenericIO_LLN0_report1}; +ReportControlBlock iedModel_GenericIO_LLN0_report1 = {&iedModel_GenericIO_LLN0, "EventsIndexed01", "Events2", false, "Events", 1, 8, 111, 50, 1000, &iedModel_GenericIO_LLN0_report2}; +ReportControlBlock iedModel_GenericIO_LLN0_report2 = {&iedModel_GenericIO_LLN0, "EventsIndexed02", "Events2", false, "Events", 1, 8, 111, 50, 1000, &iedModel_GenericIO_LLN0_report3}; +ReportControlBlock iedModel_GenericIO_LLN0_report3 = {&iedModel_GenericIO_LLN0, "EventsIndexed03", "Events2", false, "Events", 1, 8, 111, 50, 1000, &iedModel_GenericIO_LLN0_report4}; +ReportControlBlock iedModel_GenericIO_LLN0_report4 = {&iedModel_GenericIO_LLN0, "Measurements01", "Measurements", true, "Measurements", 1, 0, 111, 50, 1000, &iedModel_GenericIO_LLN0_report5}; +ReportControlBlock iedModel_GenericIO_LLN0_report5 = {&iedModel_GenericIO_LLN0, "Measurements02", "Measurements", true, "Measurements", 1, 0, 111, 50, 1000, &iedModel_GenericIO_LLN0_report6}; +ReportControlBlock iedModel_GenericIO_LLN0_report6 = {&iedModel_GenericIO_LLN0, "Measurements03", "Measurements", true, "Measurements", 1, 0, 111, 50, 1000, NULL}; @@ -2552,29 +2114,19 @@ initializeValues() iedModel_GenericIO_LLN0_Mod_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(0); +iedModel_GenericIO_LLN0_NamPlt_vendor.mmsValue = MmsValue_newVisibleString("MZ Automation"); + +iedModel_GenericIO_LLN0_NamPlt_swRev.mmsValue = MmsValue_newVisibleString("0.7.3"); + +iedModel_GenericIO_LLN0_NamPlt_d.mmsValue = MmsValue_newVisibleString("libiec61850 server example"); + iedModel_GenericIO_GGIO1_Mod_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(0); -iedModel_GenericIO_GGIO1_SPCSO1_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(2); +iedModel_GenericIO_GGIO1_SPCSO1_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(1); -iedModel_GenericIO_GGIO1_SPCSO1_sboTimeout.mmsValue = MmsValue_newUnsignedFromUint32(30000); +iedModel_GenericIO_GGIO1_SPCSO2_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(1); -iedModel_GenericIO_GGIO1_SPCSO1_sboClass.mmsValue = MmsValue_newIntegerFromInt32(0); +iedModel_GenericIO_GGIO1_SPCSO3_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(1); -iedModel_GenericIO_GGIO1_SPCSO2_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(2); - -iedModel_GenericIO_GGIO1_SPCSO2_sboTimeout.mmsValue = MmsValue_newUnsignedFromUint32(30000); - -iedModel_GenericIO_GGIO1_SPCSO2_sboClass.mmsValue = MmsValue_newIntegerFromInt32(0); - -iedModel_GenericIO_GGIO1_SPCSO3_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(2); - -iedModel_GenericIO_GGIO1_SPCSO3_sboTimeout.mmsValue = MmsValue_newUnsignedFromUint32(30000); - -iedModel_GenericIO_GGIO1_SPCSO3_sboClass.mmsValue = MmsValue_newIntegerFromInt32(0); - -iedModel_GenericIO_GGIO1_SPCSO4_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(2); - -iedModel_GenericIO_GGIO1_SPCSO4_sboTimeout.mmsValue = MmsValue_newUnsignedFromUint32(30000); - -iedModel_GenericIO_GGIO1_SPCSO4_sboClass.mmsValue = MmsValue_newIntegerFromInt32(0); +iedModel_GenericIO_GGIO1_SPCSO4_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(1); } diff --git a/examples/server_example3/static_model.h b/examples/server_example3/static_model.h index 1b90292..b5670e9 100644 --- a/examples/server_example3/static_model.h +++ b/examples/server_example3/static_model.h @@ -1,7 +1,7 @@ /* * static_model.h * - * automatically generated from simpleIO_sbo_control.icd + * automatically generated from simpleIO_direct_control.icd */ #ifndef STATIC_MODEL_H_ @@ -14,6 +14,7 @@ extern IedModel iedModel; extern LogicalDevice iedModel_GenericIO; extern LogicalNode iedModel_GenericIO_LLN0; extern DataObject iedModel_GenericIO_LLN0_Mod; +extern DataAttribute iedModel_GenericIO_LLN0_Mod_stVal; extern DataAttribute iedModel_GenericIO_LLN0_Mod_q; extern DataAttribute iedModel_GenericIO_LLN0_Mod_t; extern DataAttribute iedModel_GenericIO_LLN0_Mod_ctlModel; @@ -82,7 +83,6 @@ extern DataAttribute iedModel_GenericIO_GGIO1_AnIn4_t; extern DataObject iedModel_GenericIO_GGIO1_SPCSO1; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_q; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_SBO; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_ctlVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_origin; @@ -92,22 +92,11 @@ extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_ctlNum; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_T; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_Check; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_ctlVal; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin_orCat; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin_orIdent; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_ctlNum; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_T; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Cancel_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_ctlModel; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_t; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_sboTimeout; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_sboClass; extern DataObject iedModel_GenericIO_GGIO1_SPCSO2; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_q; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_SBO; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_origin; @@ -117,22 +106,11 @@ extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlNum; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_T; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_Check; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_ctlVal; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin_orCat; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin_orIdent; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_ctlNum; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_T; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Cancel_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_ctlModel; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_t; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_sboTimeout; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_sboClass; extern DataObject iedModel_GenericIO_GGIO1_SPCSO3; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_q; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_SBO; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_origin; @@ -142,22 +120,11 @@ extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlNum; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_T; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_Check; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_ctlVal; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin_orCat; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin_orIdent; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_ctlNum; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_T; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Cancel_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_ctlModel; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_t; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_sboTimeout; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_sboClass; extern DataObject iedModel_GenericIO_GGIO1_SPCSO4; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_q; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_SBO; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_origin; @@ -167,18 +134,8 @@ extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlNum; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_T; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_Check; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_ctlVal; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin_orCat; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin_orIdent; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_ctlNum; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_T; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Cancel_Test; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_ctlModel; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_t; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_sboTimeout; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_sboClass; extern DataObject iedModel_GenericIO_GGIO1_Ind1; extern DataAttribute iedModel_GenericIO_GGIO1_Ind1_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_Ind1_q; @@ -201,6 +158,7 @@ extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_t; #define IEDMODEL_GenericIO (&iedModel_GenericIO) #define IEDMODEL_GenericIO_LLN0 (&iedModel_GenericIO_LLN0) #define IEDMODEL_GenericIO_LLN0_Mod (&iedModel_GenericIO_LLN0_Mod) +#define IEDMODEL_GenericIO_LLN0_Mod_stVal (&iedModel_GenericIO_LLN0_Mod_stVal) #define IEDMODEL_GenericIO_LLN0_Mod_q (&iedModel_GenericIO_LLN0_Mod_q) #define IEDMODEL_GenericIO_LLN0_Mod_t (&iedModel_GenericIO_LLN0_Mod_t) #define IEDMODEL_GenericIO_LLN0_Mod_ctlModel (&iedModel_GenericIO_LLN0_Mod_ctlModel) @@ -269,7 +227,6 @@ extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_t; #define IEDMODEL_GenericIO_GGIO1_SPCSO1 (&iedModel_GenericIO_GGIO1_SPCSO1) #define IEDMODEL_GenericIO_GGIO1_SPCSO1_stVal (&iedModel_GenericIO_GGIO1_SPCSO1_stVal) #define IEDMODEL_GenericIO_GGIO1_SPCSO1_q (&iedModel_GenericIO_GGIO1_SPCSO1_q) -#define IEDMODEL_GenericIO_GGIO1_SPCSO1_SBO (&iedModel_GenericIO_GGIO1_SPCSO1_SBO) #define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper (&iedModel_GenericIO_GGIO1_SPCSO1_Oper) #define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_ctlVal) #define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_origin (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_origin) @@ -279,22 +236,11 @@ extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_t; #define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_T (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_T) #define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_Test (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_Test) #define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_Check (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_Check) -#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Cancel (&iedModel_GenericIO_GGIO1_SPCSO1_Cancel) -#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Cancel_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO1_Cancel_ctlVal) -#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Cancel_origin (&iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin) -#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Cancel_origin_orCat (&iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin_orCat) -#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Cancel_origin_orIdent (&iedModel_GenericIO_GGIO1_SPCSO1_Cancel_origin_orIdent) -#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Cancel_ctlNum (&iedModel_GenericIO_GGIO1_SPCSO1_Cancel_ctlNum) -#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Cancel_T (&iedModel_GenericIO_GGIO1_SPCSO1_Cancel_T) -#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Cancel_Test (&iedModel_GenericIO_GGIO1_SPCSO1_Cancel_Test) #define IEDMODEL_GenericIO_GGIO1_SPCSO1_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO1_ctlModel) #define IEDMODEL_GenericIO_GGIO1_SPCSO1_t (&iedModel_GenericIO_GGIO1_SPCSO1_t) -#define IEDMODEL_GenericIO_GGIO1_SPCSO1_sboTimeout (&iedModel_GenericIO_GGIO1_SPCSO1_sboTimeout) -#define IEDMODEL_GenericIO_GGIO1_SPCSO1_sboClass (&iedModel_GenericIO_GGIO1_SPCSO1_sboClass) #define IEDMODEL_GenericIO_GGIO1_SPCSO2 (&iedModel_GenericIO_GGIO1_SPCSO2) #define IEDMODEL_GenericIO_GGIO1_SPCSO2_stVal (&iedModel_GenericIO_GGIO1_SPCSO2_stVal) #define IEDMODEL_GenericIO_GGIO1_SPCSO2_q (&iedModel_GenericIO_GGIO1_SPCSO2_q) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_SBO (&iedModel_GenericIO_GGIO1_SPCSO2_SBO) #define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper (&iedModel_GenericIO_GGIO1_SPCSO2_Oper) #define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlVal) #define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_origin (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_origin) @@ -304,22 +250,11 @@ extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_t; #define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_T (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_T) #define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_Test (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_Test) #define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_Check (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_Check) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Cancel (&iedModel_GenericIO_GGIO1_SPCSO2_Cancel) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Cancel_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO2_Cancel_ctlVal) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Cancel_origin (&iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Cancel_origin_orCat (&iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin_orCat) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Cancel_origin_orIdent (&iedModel_GenericIO_GGIO1_SPCSO2_Cancel_origin_orIdent) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Cancel_ctlNum (&iedModel_GenericIO_GGIO1_SPCSO2_Cancel_ctlNum) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Cancel_T (&iedModel_GenericIO_GGIO1_SPCSO2_Cancel_T) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Cancel_Test (&iedModel_GenericIO_GGIO1_SPCSO2_Cancel_Test) #define IEDMODEL_GenericIO_GGIO1_SPCSO2_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO2_ctlModel) #define IEDMODEL_GenericIO_GGIO1_SPCSO2_t (&iedModel_GenericIO_GGIO1_SPCSO2_t) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_sboTimeout (&iedModel_GenericIO_GGIO1_SPCSO2_sboTimeout) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_sboClass (&iedModel_GenericIO_GGIO1_SPCSO2_sboClass) #define IEDMODEL_GenericIO_GGIO1_SPCSO3 (&iedModel_GenericIO_GGIO1_SPCSO3) #define IEDMODEL_GenericIO_GGIO1_SPCSO3_stVal (&iedModel_GenericIO_GGIO1_SPCSO3_stVal) #define IEDMODEL_GenericIO_GGIO1_SPCSO3_q (&iedModel_GenericIO_GGIO1_SPCSO3_q) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_SBO (&iedModel_GenericIO_GGIO1_SPCSO3_SBO) #define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper (&iedModel_GenericIO_GGIO1_SPCSO3_Oper) #define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlVal) #define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_origin (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_origin) @@ -329,22 +264,11 @@ extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_t; #define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_T (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_T) #define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_Test (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_Test) #define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_Check (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_Check) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Cancel (&iedModel_GenericIO_GGIO1_SPCSO3_Cancel) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Cancel_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO3_Cancel_ctlVal) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Cancel_origin (&iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Cancel_origin_orCat (&iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin_orCat) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Cancel_origin_orIdent (&iedModel_GenericIO_GGIO1_SPCSO3_Cancel_origin_orIdent) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Cancel_ctlNum (&iedModel_GenericIO_GGIO1_SPCSO3_Cancel_ctlNum) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Cancel_T (&iedModel_GenericIO_GGIO1_SPCSO3_Cancel_T) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Cancel_Test (&iedModel_GenericIO_GGIO1_SPCSO3_Cancel_Test) #define IEDMODEL_GenericIO_GGIO1_SPCSO3_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO3_ctlModel) #define IEDMODEL_GenericIO_GGIO1_SPCSO3_t (&iedModel_GenericIO_GGIO1_SPCSO3_t) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_sboTimeout (&iedModel_GenericIO_GGIO1_SPCSO3_sboTimeout) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_sboClass (&iedModel_GenericIO_GGIO1_SPCSO3_sboClass) #define IEDMODEL_GenericIO_GGIO1_SPCSO4 (&iedModel_GenericIO_GGIO1_SPCSO4) #define IEDMODEL_GenericIO_GGIO1_SPCSO4_stVal (&iedModel_GenericIO_GGIO1_SPCSO4_stVal) #define IEDMODEL_GenericIO_GGIO1_SPCSO4_q (&iedModel_GenericIO_GGIO1_SPCSO4_q) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_SBO (&iedModel_GenericIO_GGIO1_SPCSO4_SBO) #define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper (&iedModel_GenericIO_GGIO1_SPCSO4_Oper) #define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlVal) #define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_origin (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_origin) @@ -354,18 +278,8 @@ extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_t; #define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_T (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_T) #define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_Test (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_Test) #define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_Check (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_Check) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Cancel (&iedModel_GenericIO_GGIO1_SPCSO4_Cancel) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Cancel_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO4_Cancel_ctlVal) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Cancel_origin (&iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Cancel_origin_orCat (&iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin_orCat) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Cancel_origin_orIdent (&iedModel_GenericIO_GGIO1_SPCSO4_Cancel_origin_orIdent) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Cancel_ctlNum (&iedModel_GenericIO_GGIO1_SPCSO4_Cancel_ctlNum) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Cancel_T (&iedModel_GenericIO_GGIO1_SPCSO4_Cancel_T) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Cancel_Test (&iedModel_GenericIO_GGIO1_SPCSO4_Cancel_Test) #define IEDMODEL_GenericIO_GGIO1_SPCSO4_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO4_ctlModel) #define IEDMODEL_GenericIO_GGIO1_SPCSO4_t (&iedModel_GenericIO_GGIO1_SPCSO4_t) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_sboTimeout (&iedModel_GenericIO_GGIO1_SPCSO4_sboTimeout) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_sboClass (&iedModel_GenericIO_GGIO1_SPCSO4_sboClass) #define IEDMODEL_GenericIO_GGIO1_Ind1 (&iedModel_GenericIO_GGIO1_Ind1) #define IEDMODEL_GenericIO_GGIO1_Ind1_stVal (&iedModel_GenericIO_GGIO1_Ind1_stVal) #define IEDMODEL_GenericIO_GGIO1_Ind1_q (&iedModel_GenericIO_GGIO1_Ind1_q) diff --git a/examples/server_example4/Makefile b/examples/server_example4/Makefile index 5f97855..4907673 100644 --- a/examples/server_example4/Makefile +++ b/examples/server_example4/Makefile @@ -4,6 +4,8 @@ PROJECT_BINARY_NAME = server_example4 PROJECT_SOURCES = server_example4.c PROJECT_SOURCES += static_model.c +PROJECT_ICD_FILE = simpleIO_direct_control.icd + include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk @@ -11,6 +13,9 @@ all: $(PROJECT_BINARY_NAME) include $(LIBIEC_HOME)/make/common_targets.mk +model: $(PROJECT_ICD_FILE) + java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE) + $(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME) $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) diff --git a/examples/server_example5/Makefile b/examples/server_example5/Makefile index b149db8..4a2c419 100644 --- a/examples/server_example5/Makefile +++ b/examples/server_example5/Makefile @@ -4,6 +4,8 @@ PROJECT_BINARY_NAME = server_example5 PROJECT_SOURCES = server_example5.c PROJECT_SOURCES += static_model.c +PROJECT_ICD_FILE = complexModel.icd + include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk @@ -11,6 +13,9 @@ all: $(PROJECT_BINARY_NAME) include $(LIBIEC_HOME)/make/common_targets.mk +model: $(PROJECT_ICD_FILE) + java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE) + $(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME) $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) diff --git a/examples/server_example_61400_25/Makefile b/examples/server_example_61400_25/Makefile index 141bc89..28ab208 100644 --- a/examples/server_example_61400_25/Makefile +++ b/examples/server_example_61400_25/Makefile @@ -4,6 +4,8 @@ PROJECT_BINARY_NAME = server_example_61400_25 PROJECT_SOURCES = server_example_61400_25.c PROJECT_SOURCES += static_model.c +PROJECT_ICD_FILE = wtur.icd + include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk @@ -11,6 +13,9 @@ all: $(PROJECT_BINARY_NAME) include $(LIBIEC_HOME)/make/common_targets.mk +model: $(PROJECT_ICD_FILE) + java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE) + $(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME) $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) diff --git a/examples/server_example_complex_array/Makefile b/examples/server_example_complex_array/Makefile index 8e53b03..124da8d 100644 --- a/examples/server_example_complex_array/Makefile +++ b/examples/server_example_complex_array/Makefile @@ -4,6 +4,8 @@ PROJECT_BINARY_NAME = server_example_ca PROJECT_SOURCES = server_example_ca.c PROJECT_SOURCES += static_model.c +PROJECT_ICD_FILE = mhai_array.icd + include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk @@ -11,6 +13,10 @@ all: $(PROJECT_BINARY_NAME) include $(LIBIEC_HOME)/make/common_targets.mk +model: $(PROJECT_ICD_FILE) + java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE) + + $(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME) $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) diff --git a/examples/server_example_config_file/Makefile b/examples/server_example_config_file/Makefile index b84f02a..687747f 100644 --- a/examples/server_example_config_file/Makefile +++ b/examples/server_example_config_file/Makefile @@ -3,6 +3,8 @@ LIBIEC_HOME=../.. PROJECT_BINARY_NAME = server_example_config_file PROJECT_SOURCES = server_example_config_file.c +PROJECT_ICD_FILE = simpleIO_direct_control_goose.icd + include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk @@ -10,6 +12,9 @@ all: $(PROJECT_BINARY_NAME) include $(LIBIEC_HOME)/make/common_targets.mk +model: $(PROJECT_ICD_FILE) + java -jar $(LIBIEC_HOME)/tools/model_generator/genconfig.jar $(PROJECT_ICD_FILE) > vmd-filestore/model.cfg + $(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME) $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) diff --git a/examples/server_example_config_file/vmd-filestore/model.cfg b/examples/server_example_config_file/vmd-filestore/model.cfg index c50a26d..bcd616e 100644 --- a/examples/server_example_config_file/vmd-filestore/model.cfg +++ b/examples/server_example_config_file/vmd-filestore/model.cfg @@ -1,3 +1,8 @@ +Dynamic model generator +parse data type templates ... +parse IED section ... +parse communication section ... +Found connectedAP accessPoint1 for IED simpleIO MODEL(simpleIO){ LD(GenericIO){ LN(LLN0){ @@ -37,10 +42,10 @@ DE(GGIO1$MX$AnIn4); } RC(EventsRCB01 Events 0 Events 1 8 111 50 1000); RC(AnalogValuesRCB01 AnalogValues 0 AnalogValues 1 8 111 50 1000); -GC(gcbEvents events Events 2 0){ +GC(gcbEvents events Events 2 0 -1 -1 ){ PA(4 111 1000 010ccd010001); } -GC(gcbAnalogValues analog AnalogValues 2 0){ +GC(gcbAnalogValues analog AnalogValues 2 0 -1 -1 ){ PA(4 111 1000 010ccd010001); } } diff --git a/examples/server_example_control/Makefile b/examples/server_example_control/Makefile index 9249007..f537715 100644 --- a/examples/server_example_control/Makefile +++ b/examples/server_example_control/Makefile @@ -4,6 +4,9 @@ PROJECT_BINARY_NAME = server_example_control PROJECT_SOURCES = server_example_control.c PROJECT_SOURCES += static_model.c +PROJECT_ICD_FILE = simpleIO_control_tests.icd + + include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk @@ -11,6 +14,9 @@ all: $(PROJECT_BINARY_NAME) include $(LIBIEC_HOME)/make/common_targets.mk +model: $(PROJECT_ICD_FILE) + java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE) + $(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME) $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) diff --git a/examples/server_example_goose/Makefile b/examples/server_example_goose/Makefile index cc849c5..25b326c 100644 --- a/examples/server_example_goose/Makefile +++ b/examples/server_example_goose/Makefile @@ -4,6 +4,8 @@ PROJECT_BINARY_NAME = server_example_goose PROJECT_SOURCES = server_example_goose.c PROJECT_SOURCES += static_model.c +PROJECT_ICD_FILE = simpleIO_direct_control_goose.icd + include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk @@ -11,6 +13,9 @@ all: $(PROJECT_BINARY_NAME) include $(LIBIEC_HOME)/make/common_targets.mk +model: $(PROJECT_ICD_FILE) + java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE) + $(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME) $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) diff --git a/examples/server_example_setting_groups/Makefile b/examples/server_example_setting_groups/Makefile index ee0c9b9..236aff4 100644 --- a/examples/server_example_setting_groups/Makefile +++ b/examples/server_example_setting_groups/Makefile @@ -4,7 +4,7 @@ PROJECT_BINARY_NAME = server_example_sg PROJECT_SOURCES = server_example_sg.c PROJECT_SOURCES += static_model.c -PROJECT_ICD_FILE = complexModel.scd +PROJECT_ICD_FILE = sg_demo.icd include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk diff --git a/examples/server_example_setting_groups/static_model.c b/examples/server_example_setting_groups/static_model.c index 71ac320..78a1a5c 100644 --- a/examples/server_example_setting_groups/static_model.c +++ b/examples/server_example_setting_groups/static_model.c @@ -1,7 +1,7 @@ /* * static_model.c * - * automatically generated from sg_demo.xml + * automatically generated from sg_demo.icd */ #include #include "iec61850_model.h" diff --git a/examples/server_example_setting_groups/static_model.h b/examples/server_example_setting_groups/static_model.h index b56b7c0..06cf0b8 100644 --- a/examples/server_example_setting_groups/static_model.h +++ b/examples/server_example_setting_groups/static_model.h @@ -1,7 +1,7 @@ /* * static_model.h * - * automatically generated from sg_demo.xml + * automatically generated from sg_demo.icd */ #ifndef STATIC_MODEL_H_ diff --git a/examples/server_example_threadless/Makefile b/examples/server_example_threadless/Makefile index 28bfb0f..c0490fd 100644 --- a/examples/server_example_threadless/Makefile +++ b/examples/server_example_threadless/Makefile @@ -4,6 +4,8 @@ PROJECT_BINARY_NAME = server_example_threadless PROJECT_SOURCES = server_example_threadless.c PROJECT_SOURCES += static_model.c +PROJECT_ICD_FILE = simpleIO_direct_control.icd + include $(LIBIEC_HOME)/make/target_system.mk include $(LIBIEC_HOME)/make/stack_includes.mk @@ -15,6 +17,9 @@ LDLIBS += -lm CP = cp +model: $(PROJECT_ICD_FILE) + java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE) + $(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME) $(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS) $(CP) $(PROJECT_BINARY_NAME) vmd-filestore/IEDSERVER.BIN diff --git a/src/iec61850/server/impl/ied_server.c b/src/iec61850/server/impl/ied_server.c index efe1abd..18208f2 100644 --- a/src/iec61850/server/impl/ied_server.c +++ b/src/iec61850/server/impl/ied_server.c @@ -1,7 +1,7 @@ /* * ied_server.c * - * Copyright 2013, 2014 Michael Zillgith + * Copyright 2013, 2014, 2015 Michael Zillgith * * This file is part of libIEC61850. * @@ -89,8 +89,6 @@ createControlObjects(IedServer self, MmsDomain* domain, char* lnName, MmsVariabl if (DEBUG_IED_SERVER) printf("IED_SERVER: createControlObjects: Unknown element in CO: %s! --> seems not to be a control object\n", coElementSpec->name); - assert(false); - break; } }