diff --git a/examples/server_example_basic_io/simpleIO_direct_control.cid b/examples/server_example_basic_io/simpleIO_direct_control.cid index cb763780..554ed708 100644 --- a/examples/server_example_basic_io/simpleIO_direct_control.cid +++ b/examples/server_example_basic_io/simpleIO_direct_control.cid @@ -79,6 +79,12 @@ + + + + + + @@ -192,10 +198,10 @@ - - - - + + + + @@ -251,7 +257,7 @@ - + @@ -260,14 +266,6 @@ - - - - - - - - diff --git a/examples/server_example_basic_io/simpleIO_direct_control.icd b/examples/server_example_basic_io/simpleIO_direct_control.icd index 258e9ae6..a32282b9 100644 --- a/examples/server_example_basic_io/simpleIO_direct_control.icd +++ b/examples/server_example_basic_io/simpleIO_direct_control.icd @@ -2,7 +2,25 @@
- + + + Station bus + 10 + +
+

0.0.0.0

+

255.255.255.0

+

192.168.2.1

+

1,3,9999,33

+

33

+

00000001

+

0001

+

0001

+

102

+
+
+
+
@@ -61,6 +79,12 @@
+ + + + + + @@ -174,10 +198,10 @@ - - - - + + + + @@ -233,7 +257,7 @@ - + @@ -242,14 +266,6 @@ - - - - - - - - diff --git a/examples/server_example_basic_io/static_model.c b/examples/server_example_basic_io/static_model.c index 63ef37bb..f1d43ff8 100644 --- a/examples/server_example_basic_io/static_model.c +++ b/examples/server_example_basic_io/static_model.c @@ -1280,10 +1280,62 @@ DataObject iedModel_GenericIO_GGIO1_SPCSO2 = { "SPCSO2", (ModelNode*) &iedModel_GenericIO_GGIO1, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_stVal, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_origin, 0 }; +DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_origin = { + DataAttributeModelType, + "origin", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_ctlNum, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_origin_orCat, + 0, + IEC61850_FC_ST, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_origin_orCat = { + DataAttributeModelType, + "orCat", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_origin, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_origin_orIdent, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + +DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_origin_orIdent = { + DataAttributeModelType, + "orIdent", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_origin, + NULL, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_OCTET_STRING_64, + 0, + NULL, + 0}; + +DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_ctlNum = { + DataAttributeModelType, + "ctlNum", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_stVal, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_INT8U, + 0, + NULL, + 0}; + DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_stVal = { DataAttributeModelType, "stVal", @@ -1301,7 +1353,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_t, NULL, 0, IEC61850_FC_ST, @@ -1310,11 +1362,37 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_q = { NULL, 0}; +DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_ctlModel, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_ctlModel = { + DataAttributeModelType, + "ctlModel", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Oper, + NULL, + 0, + IEC61850_FC_CF, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper = { DataAttributeModelType, "Oper", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_ctlModel, + NULL, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlVal, 0, IEC61850_FC_CO, @@ -1427,40 +1505,66 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_Check = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_ctlModel = { +DataObject iedModel_GenericIO_GGIO1_SPCSO3 = { + DataObjectModelType, + "SPCSO3", + (ModelNode*) &iedModel_GenericIO_GGIO1, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_origin, + 0 +}; + +DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_origin = { DataAttributeModelType, - "ctlModel", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2_t, + "origin", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_ctlNum, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_origin_orCat, + 0, + IEC61850_FC_ST, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_origin_orCat = { + DataAttributeModelType, + "orCat", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_origin, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_origin_orIdent, NULL, 0, - IEC61850_FC_CF, + IEC61850_FC_ST, IEC61850_ENUMERATED, 0, NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_t = { +DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_origin_orIdent = { DataAttributeModelType, - "t", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO2, + "orIdent", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_origin, NULL, NULL, 0, IEC61850_FC_ST, - IEC61850_TIMESTAMP, + IEC61850_OCTET_STRING_64, 0, NULL, 0}; -DataObject iedModel_GenericIO_GGIO1_SPCSO3 = { - DataObjectModelType, - "SPCSO3", - (ModelNode*) &iedModel_GenericIO_GGIO1, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, +DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_ctlNum = { + DataAttributeModelType, + "ctlNum", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_stVal, - 0 -}; + NULL, + 0, + IEC61850_FC_ST, + IEC61850_INT8U, + 0, + NULL, + 0}; DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_stVal = { DataAttributeModelType, @@ -1479,7 +1583,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_t, NULL, 0, IEC61850_FC_ST, @@ -1488,11 +1592,37 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_q = { NULL, 0}; +DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_ctlModel, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_ctlModel = { + DataAttributeModelType, + "ctlModel", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Oper, + NULL, + 0, + IEC61850_FC_CF, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper = { DataAttributeModelType, "Oper", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_ctlModel, + NULL, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlVal, 0, IEC61850_FC_CO, @@ -1605,40 +1735,66 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_Check = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_ctlModel = { +DataObject iedModel_GenericIO_GGIO1_SPCSO4 = { + DataObjectModelType, + "SPCSO4", + (ModelNode*) &iedModel_GenericIO_GGIO1, + (ModelNode*) &iedModel_GenericIO_GGIO1_Ind1, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_origin, + 0 +}; + +DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_origin = { DataAttributeModelType, - "ctlModel", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3_t, + "origin", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_ctlNum, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_origin_orCat, + 0, + IEC61850_FC_ST, + IEC61850_CONSTRUCTED, + 0, + NULL, + 0}; + +DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_origin_orCat = { + DataAttributeModelType, + "orCat", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_origin, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_origin_orIdent, NULL, 0, - IEC61850_FC_CF, + IEC61850_FC_ST, IEC61850_ENUMERATED, 0, NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_t = { +DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_origin_orIdent = { DataAttributeModelType, - "t", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO3, + "orIdent", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_origin, NULL, NULL, 0, IEC61850_FC_ST, - IEC61850_TIMESTAMP, + IEC61850_OCTET_STRING_64, 0, NULL, 0}; -DataObject iedModel_GenericIO_GGIO1_SPCSO4 = { - DataObjectModelType, - "SPCSO4", - (ModelNode*) &iedModel_GenericIO_GGIO1, - (ModelNode*) &iedModel_GenericIO_GGIO1_Ind1, +DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_ctlNum = { + DataAttributeModelType, + "ctlNum", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_stVal, - 0 -}; + NULL, + 0, + IEC61850_FC_ST, + IEC61850_INT8U, + 0, + NULL, + 0}; DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_stVal = { DataAttributeModelType, @@ -1657,7 +1813,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_t, NULL, 0, IEC61850_FC_ST, @@ -1666,11 +1822,37 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_q = { NULL, 0}; +DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_t = { + DataAttributeModelType, + "t", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_ctlModel, + NULL, + 0, + IEC61850_FC_ST, + IEC61850_TIMESTAMP, + 0, + NULL, + 0}; + +DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_ctlModel = { + DataAttributeModelType, + "ctlModel", + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, + (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Oper, + NULL, + 0, + IEC61850_FC_CF, + IEC61850_ENUMERATED, + 0, + NULL, + 0}; + DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper = { DataAttributeModelType, "Oper", (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_ctlModel, + NULL, (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlVal, 0, IEC61850_FC_CO, @@ -1783,32 +1965,6 @@ DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_Check = { NULL, 0}; -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_ctlModel = { - DataAttributeModelType, - "ctlModel", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4_t, - NULL, - 0, - IEC61850_FC_CF, - IEC61850_ENUMERATED, - 0, - NULL, - 0}; - -DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_t = { - DataAttributeModelType, - "t", - (ModelNode*) &iedModel_GenericIO_GGIO1_SPCSO4, - NULL, - NULL, - 0, - IEC61850_FC_ST, - IEC61850_TIMESTAMP, - 0, - NULL, - 0}; - DataObject iedModel_GenericIO_GGIO1_Ind1 = { DataObjectModelType, "Ind1", @@ -2008,14 +2164,20 @@ extern ReportControlBlock iedModel_GenericIO_LLN0_report3; extern ReportControlBlock iedModel_GenericIO_LLN0_report4; extern ReportControlBlock iedModel_GenericIO_LLN0_report5; extern ReportControlBlock iedModel_GenericIO_LLN0_report6; +extern ReportControlBlock iedModel_GenericIO_LLN0_report7; +extern ReportControlBlock iedModel_GenericIO_LLN0_report8; +extern ReportControlBlock iedModel_GenericIO_LLN0_report9; ReportControlBlock iedModel_GenericIO_LLN0_report0 = {&iedModel_GenericIO_LLN0, "EventsRCB01", "Events1", false, "Events", 4294967295, 24, 175, 50, 1000, &iedModel_GenericIO_LLN0_report1}; ReportControlBlock iedModel_GenericIO_LLN0_report1 = {&iedModel_GenericIO_LLN0, "EventsIndexed01", "Events2", false, "Events", 1, 24, 175, 50, 1000, &iedModel_GenericIO_LLN0_report2}; ReportControlBlock iedModel_GenericIO_LLN0_report2 = {&iedModel_GenericIO_LLN0, "EventsIndexed02", "Events2", false, "Events", 1, 24, 175, 50, 1000, &iedModel_GenericIO_LLN0_report3}; ReportControlBlock iedModel_GenericIO_LLN0_report3 = {&iedModel_GenericIO_LLN0, "EventsIndexed03", "Events2", false, "Events", 1, 24, 175, 50, 1000, &iedModel_GenericIO_LLN0_report4}; -ReportControlBlock iedModel_GenericIO_LLN0_report4 = {&iedModel_GenericIO_LLN0, "Measurements01", "Measurements", true, "Measurements", 1, 16, 239, 50, 1000, &iedModel_GenericIO_LLN0_report5}; -ReportControlBlock iedModel_GenericIO_LLN0_report5 = {&iedModel_GenericIO_LLN0, "Measurements02", "Measurements", true, "Measurements", 1, 16, 239, 50, 1000, &iedModel_GenericIO_LLN0_report6}; -ReportControlBlock iedModel_GenericIO_LLN0_report6 = {&iedModel_GenericIO_LLN0, "Measurements03", "Measurements", true, "Measurements", 1, 16, 239, 50, 1000, NULL}; +ReportControlBlock iedModel_GenericIO_LLN0_report4 = {&iedModel_GenericIO_LLN0, "Events201", "Events2", false, "Events2", 1, 24, 175, 50, 1000, &iedModel_GenericIO_LLN0_report5}; +ReportControlBlock iedModel_GenericIO_LLN0_report5 = {&iedModel_GenericIO_LLN0, "Events202", "Events2", false, "Events2", 1, 24, 175, 50, 1000, &iedModel_GenericIO_LLN0_report6}; +ReportControlBlock iedModel_GenericIO_LLN0_report6 = {&iedModel_GenericIO_LLN0, "Events203", "Events2", false, "Events2", 1, 24, 175, 50, 1000, &iedModel_GenericIO_LLN0_report7}; +ReportControlBlock iedModel_GenericIO_LLN0_report7 = {&iedModel_GenericIO_LLN0, "Measurements01", "Measurements", true, "Measurements", 1, 16, 239, 50, 1000, &iedModel_GenericIO_LLN0_report8}; +ReportControlBlock iedModel_GenericIO_LLN0_report8 = {&iedModel_GenericIO_LLN0, "Measurements02", "Measurements", true, "Measurements", 1, 16, 239, 50, 1000, &iedModel_GenericIO_LLN0_report9}; +ReportControlBlock iedModel_GenericIO_LLN0_report9 = {&iedModel_GenericIO_LLN0, "Measurements03", "Measurements", true, "Measurements", 1, 16, 239, 50, 1000, NULL}; diff --git a/examples/server_example_basic_io/static_model.h b/examples/server_example_basic_io/static_model.h index b6030e51..c03ed491 100644 --- a/examples/server_example_basic_io/static_model.h +++ b/examples/server_example_basic_io/static_model.h @@ -100,8 +100,14 @@ 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 DataObject iedModel_GenericIO_GGIO1_SPCSO2; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_origin; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_origin_orCat; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_origin_orIdent; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_ctlNum; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_q; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_t; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_ctlModel; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_origin; @@ -111,11 +117,15 @@ 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_ctlModel; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_t; extern DataObject iedModel_GenericIO_GGIO1_SPCSO3; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_origin; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_origin_orCat; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_origin_orIdent; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_ctlNum; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_q; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_t; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_ctlModel; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_origin; @@ -125,11 +135,15 @@ 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_ctlModel; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_t; extern DataObject iedModel_GenericIO_GGIO1_SPCSO4; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_origin; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_origin_orCat; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_origin_orIdent; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_ctlNum; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_q; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_t; +extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_ctlModel; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlVal; extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_origin; @@ -139,8 +153,6 @@ 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_ctlModel; -extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_t; extern DataObject iedModel_GenericIO_GGIO1_Ind1; extern DataAttribute iedModel_GenericIO_GGIO1_Ind1_stVal; extern DataAttribute iedModel_GenericIO_GGIO1_Ind1_q; @@ -249,8 +261,14 @@ extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_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_SPCSO2 (&iedModel_GenericIO_GGIO1_SPCSO2) +#define IEDMODEL_GenericIO_GGIO1_SPCSO2_origin (&iedModel_GenericIO_GGIO1_SPCSO2_origin) +#define IEDMODEL_GenericIO_GGIO1_SPCSO2_origin_orCat (&iedModel_GenericIO_GGIO1_SPCSO2_origin_orCat) +#define IEDMODEL_GenericIO_GGIO1_SPCSO2_origin_orIdent (&iedModel_GenericIO_GGIO1_SPCSO2_origin_orIdent) +#define IEDMODEL_GenericIO_GGIO1_SPCSO2_ctlNum (&iedModel_GenericIO_GGIO1_SPCSO2_ctlNum) #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_t (&iedModel_GenericIO_GGIO1_SPCSO2_t) +#define IEDMODEL_GenericIO_GGIO1_SPCSO2_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO2_ctlModel) #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) @@ -260,11 +278,15 @@ 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_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO2_ctlModel) -#define IEDMODEL_GenericIO_GGIO1_SPCSO2_t (&iedModel_GenericIO_GGIO1_SPCSO2_t) #define IEDMODEL_GenericIO_GGIO1_SPCSO3 (&iedModel_GenericIO_GGIO1_SPCSO3) +#define IEDMODEL_GenericIO_GGIO1_SPCSO3_origin (&iedModel_GenericIO_GGIO1_SPCSO3_origin) +#define IEDMODEL_GenericIO_GGIO1_SPCSO3_origin_orCat (&iedModel_GenericIO_GGIO1_SPCSO3_origin_orCat) +#define IEDMODEL_GenericIO_GGIO1_SPCSO3_origin_orIdent (&iedModel_GenericIO_GGIO1_SPCSO3_origin_orIdent) +#define IEDMODEL_GenericIO_GGIO1_SPCSO3_ctlNum (&iedModel_GenericIO_GGIO1_SPCSO3_ctlNum) #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_t (&iedModel_GenericIO_GGIO1_SPCSO3_t) +#define IEDMODEL_GenericIO_GGIO1_SPCSO3_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO3_ctlModel) #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) @@ -274,11 +296,15 @@ 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_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO3_ctlModel) -#define IEDMODEL_GenericIO_GGIO1_SPCSO3_t (&iedModel_GenericIO_GGIO1_SPCSO3_t) #define IEDMODEL_GenericIO_GGIO1_SPCSO4 (&iedModel_GenericIO_GGIO1_SPCSO4) +#define IEDMODEL_GenericIO_GGIO1_SPCSO4_origin (&iedModel_GenericIO_GGIO1_SPCSO4_origin) +#define IEDMODEL_GenericIO_GGIO1_SPCSO4_origin_orCat (&iedModel_GenericIO_GGIO1_SPCSO4_origin_orCat) +#define IEDMODEL_GenericIO_GGIO1_SPCSO4_origin_orIdent (&iedModel_GenericIO_GGIO1_SPCSO4_origin_orIdent) +#define IEDMODEL_GenericIO_GGIO1_SPCSO4_ctlNum (&iedModel_GenericIO_GGIO1_SPCSO4_ctlNum) #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_t (&iedModel_GenericIO_GGIO1_SPCSO4_t) +#define IEDMODEL_GenericIO_GGIO1_SPCSO4_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO4_ctlModel) #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) @@ -288,8 +314,6 @@ 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_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO4_ctlModel) -#define IEDMODEL_GenericIO_GGIO1_SPCSO4_t (&iedModel_GenericIO_GGIO1_SPCSO4_t) #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/src/mms/iso_mms/common/mms_type_spec.c b/src/mms/iso_mms/common/mms_type_spec.c index bfccf0c7..7c3f2ab5 100644 --- a/src/mms/iso_mms/common/mms_type_spec.c +++ b/src/mms/iso_mms/common/mms_type_spec.c @@ -56,6 +56,9 @@ directChildStrLen(const char* childId) while (i < childIdLen) { if (*(childId + i) == '$') break; + if (*(childId + i) == '.') + break; + i++; }