From fb73281966696a91acaa98885b1d74e42c2b0198 Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Wed, 25 Feb 2015 11:49:40 +0100 Subject: [PATCH] - updated changelog for release 0.8.5 --- CHANGELOG | 13 + examples/server_example3/static_model.c | 854 ++++++++++++++++++------ examples/server_example3/static_model.h | 92 ++- 3 files changed, 753 insertions(+), 206 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 32ddf29..70f41e8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,16 @@ +Changes to version 0.8.5 +------------------------ +- server/GOOSE: better support for GOOSE minTime, maxTime +- server/GOOSE: it is now configurable which GoCB elements are writable +- server: fixed problem (buffer overflow) with large report data sets +- server: improved memory handling in report generation module +- server/GOOSE: added IedServer_setGooseInterfaceId to change ethernet interface for GOOSE at runtime +- server: fixed bug in delete data set service (server crashed when client sent an unknown LD name) +- client: fixed memory leak in IedConnection_readDataSetValues function +- server: fixed memory alignement problem for buffered reporting on ARM platform +- client: fixed timeout bug in Socket_connect functions +- windows: fixed problem with non-blocking socket send function on windows (as a consequence COTP fragmentation and file read service didn't work on the windows platform). + Changes to version 0.8.4 ------------------------ - server: implemented all optional report elements for buffered reporting diff --git a/examples/server_example3/static_model.c b/examples/server_example3/static_model.c index eb1941b..440e303 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_direct_control.icd + * automatically generated from simpleIO_sbo_control.icd */ #include #include "iec61850_model.h" @@ -11,7 +11,6 @@ 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; @@ -80,6 +79,7 @@ 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,11 +89,22 @@ 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; @@ -103,11 +114,22 @@ 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; @@ -117,11 +139,22 @@ 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; @@ -131,8 +164,18 @@ 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; @@ -151,8 +194,6 @@ 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; @@ -205,156 +246,6 @@ 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 }; @@ -379,23 +270,10 @@ DataObject iedModel_GenericIO_LLN0_Mod = { "Mod", (ModelNode*) &iedModel_GenericIO_LLN0, (ModelNode*) &iedModel_GenericIO_LLN0_Beh, - (ModelNode*) &iedModel_GenericIO_LLN0_Mod_stVal, + (ModelNode*) &iedModel_GenericIO_LLN0_Mod_q, 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", @@ -1201,7 +1079,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_q = { DataAttributeModelType, "q", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Oper, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_SBO, NULL, 0, ST, @@ -1210,11 +1088,24 @@ 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_ctlModel, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Cancel, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_Oper_ctlVal, 0, CO, @@ -1327,6 +1218,110 @@ 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", @@ -1344,7 +1339,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_t = { DataAttributeModelType, "t", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1, - NULL, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO1_sboTimeout, NULL, 0, ST, @@ -1353,6 +1348,32 @@ 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", @@ -1379,7 +1400,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_q = { DataAttributeModelType, "q", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Oper, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_SBO, NULL, 0, ST, @@ -1388,11 +1409,24 @@ 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_ctlModel, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Cancel, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlVal, 0, CO, @@ -1505,6 +1539,110 @@ 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", @@ -1522,7 +1660,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_t = { DataAttributeModelType, "t", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, - NULL, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_sboTimeout, NULL, 0, ST, @@ -1531,6 +1669,32 @@ 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", @@ -1557,7 +1721,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_q = { DataAttributeModelType, "q", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Oper, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_SBO, NULL, 0, ST, @@ -1566,11 +1730,24 @@ 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_ctlModel, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Cancel, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlVal, 0, CO, @@ -1683,6 +1860,110 @@ 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", @@ -1700,7 +1981,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_t = { DataAttributeModelType, "t", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - NULL, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_sboTimeout, NULL, 0, ST, @@ -1709,6 +1990,32 @@ 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", @@ -1735,7 +2042,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_q = { DataAttributeModelType, "q", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Oper, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_SBO, NULL, 0, ST, @@ -1744,11 +2051,24 @@ 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_ctlModel, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Cancel, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlVal, 0, CO, @@ -1861,6 +2181,110 @@ 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", @@ -1878,7 +2302,7 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_t = { DataAttributeModelType, "t", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - NULL, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_sboTimeout, NULL, 0, ST, @@ -1887,6 +2311,32 @@ 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", @@ -2080,20 +2530,8 @@ 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", "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}; +ReportControlBlock iedModel_GenericIO_LLN0_report0 = {&iedModel_GenericIO_LLN0, "EventsRCB01", "Events", false, "Events", 1, 8, 111, 50, 1000, NULL}; @@ -2114,19 +2552,29 @@ 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(1); +iedModel_GenericIO_GGIO1_SPCSO1_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(2); -iedModel_GenericIO_GGIO1_SPCSO2_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(1); +iedModel_GenericIO_GGIO1_SPCSO1_sboTimeout.mmsValue = MmsValue_newUnsignedFromUint32(30000); -iedModel_GenericIO_GGIO1_SPCSO3_ctlModel.mmsValue = MmsValue_newIntegerFromInt32(1); +iedModel_GenericIO_GGIO1_SPCSO1_sboClass.mmsValue = MmsValue_newIntegerFromInt32(0); -iedModel_GenericIO_GGIO1_SPCSO4_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); } diff --git a/examples/server_example3/static_model.h b/examples/server_example3/static_model.h index b5670e9..1b90292 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_direct_control.icd + * automatically generated from simpleIO_sbo_control.icd */ #ifndef STATIC_MODEL_H_ @@ -14,7 +14,6 @@ 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; @@ -83,6 +82,7 @@ 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,11 +92,22 @@ 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; @@ -106,11 +117,22 @@ 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; @@ -120,11 +142,22 @@ 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; @@ -134,8 +167,18 @@ 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; @@ -158,7 +201,6 @@ 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) @@ -227,6 +269,7 @@ 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) @@ -236,11 +279,22 @@ 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) @@ -250,11 +304,22 @@ 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) @@ -264,11 +329,22 @@ 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) @@ -278,8 +354,18 @@ 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)