diff --git a/CHANGELOG b/CHANGELOG
index 3f5c1f9..d86de30 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+Changes to version 0.9.3
+------------------------
+- .NET API: server side API
+
Changes to version 0.9.2.1
--------------------------
- server: fixed some memory access problens in dynamic model LCB
diff --git a/demos/beaglebone/beagle_demo.icd b/demos/beaglebone/beagle_demo.icd
index df06bd5..b76feba 100644
--- a/demos/beaglebone/beagle_demo.icd
+++ b/demos/beaglebone/beagle_demo.icd
@@ -72,7 +72,12 @@
-
+
+
+
+
+
+
@@ -125,6 +130,159 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -274,6 +432,17 @@
+
+
+
+
+
+
+
+
+
+
+
on
@@ -312,5 +481,66 @@
maintenance
process
+
+
+ not-ready
+ validated
+ ready
+ running
+
+
+
+ Time
+ WeekDay
+ WeekOfYear
+ DayOfMonth
+ DayOfYear
+
+
+
+ Hour
+ Day
+ Week
+ Month
+ Year
+
+
+
+ reserved
+ Monday
+ Tuesday
+ Wednesday
+ Thursday
+ Friday
+ Saturday
+ Sunday
+
+
+
+ reserved
+ January
+ February
+ March
+ April
+ May
+ June
+ July
+ August
+ September
+ October
+ November
+ December
+
+
+
+ MS
+ PER_CYCLE
+ CYCLE
+ DAY
+ WEEK
+ MONTH
+ YEAR
+ EXTERNAL
+
diff --git a/demos/beaglebone/static_model.c b/demos/beaglebone/static_model.c
index 50ce8fb..0081d63 100644
--- a/demos/beaglebone/static_model.c
+++ b/demos/beaglebone/static_model.c
@@ -1,7 +1,7 @@
/*
* static_model.c
*
- * automatically generated from beagle_demo.iid
+ * automatically generated from beagle_demo.icd
*/
#include "static_model.h"
@@ -1918,7 +1918,7 @@ LogicalNode iedModel_GenericIO_TIM_GAPC1 = {
LogicalNodeModelType,
"TIM_GAPC1",
(ModelNode*) &iedModel_GenericIO,
- NULL,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
(ModelNode*) &iedModel_GenericIO_TIM_GAPC1_Beh,
};
@@ -2388,6 +2388,5182 @@ DataAttribute iedModel_GenericIO_TIM_GAPC1_OpCntRs_ctlModel = {
NULL,
0};
+LogicalNode iedModel_GenericIO_T60S_FSCH1 = {
+ LogicalNodeModelType,
+ "T60S_FSCH1",
+ (ModelNode*) &iedModel_GenericIO,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_Beh,
+};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_Beh = {
+ DataObjectModelType,
+ "Beh",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdSt,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_Beh_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_Beh_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_Beh,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_Beh_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_Beh_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_Beh,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_Beh_t,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_Beh_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_Beh,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_SchdSt = {
+ DataObjectModelType,
+ "SchdSt",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdEntr,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdSt_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdSt_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdSt,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdSt_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdSt_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdSt,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdSt_t,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdSt_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdSt,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_SchdEntr = {
+ DataObjectModelType,
+ "SchdEntr",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPS,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdEntr_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdEntr_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdEntr,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdEntr_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_INT32,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdEntr_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdEntr,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdEntr_t,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdEntr_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdEntr,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPS = {
+ DataObjectModelType,
+ "ValSPS",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPS_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPS_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPS,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPS_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPS_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPS,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPS_t,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPS_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPS,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_VldReq = {
+ DataObjectModelType,
+ "VldReq",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper = {
+ DataAttributeModelType,
+ "Oper",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_ctlModel,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_ctlVal,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_ctlVal = {
+ DataAttributeModelType,
+ "ctlVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin = {
+ DataAttributeModelType,
+ "origin",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_ctlNum,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin_orCat,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin_orCat = {
+ DataAttributeModelType,
+ "orCat",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin_orIdent,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin_orIdent = {
+ DataAttributeModelType,
+ "orIdent",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_OCTET_STRING_64,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_ctlNum = {
+ DataAttributeModelType,
+ "ctlNum",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_T,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_INT8U,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_T = {
+ DataAttributeModelType,
+ "T",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_Test,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_Test = {
+ DataAttributeModelType,
+ "Test",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_Check,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_Check = {
+ DataAttributeModelType,
+ "Check",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_Oper,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CHECK,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_ctlModel = {
+ DataAttributeModelType,
+ "ctlModel",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq_t,
+ NULL,
+ 0,
+ IEC61850_FC_CF,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_VldReq,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_EnaReq = {
+ DataObjectModelType,
+ "EnaReq",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper = {
+ DataAttributeModelType,
+ "Oper",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_ctlModel,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_ctlVal,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_ctlVal = {
+ DataAttributeModelType,
+ "ctlVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin = {
+ DataAttributeModelType,
+ "origin",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_ctlNum,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin_orCat,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin_orCat = {
+ DataAttributeModelType,
+ "orCat",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin_orIdent,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin_orIdent = {
+ DataAttributeModelType,
+ "orIdent",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_OCTET_STRING_64,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_ctlNum = {
+ DataAttributeModelType,
+ "ctlNum",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_T,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_INT8U,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_T = {
+ DataAttributeModelType,
+ "T",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_Test,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_Test = {
+ DataAttributeModelType,
+ "Test",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_Check,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_Check = {
+ DataAttributeModelType,
+ "Check",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CHECK,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_ctlModel = {
+ DataAttributeModelType,
+ "ctlModel",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq_t,
+ NULL,
+ 0,
+ IEC61850_FC_CF,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EnaReq,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_EdtReq = {
+ DataObjectModelType,
+ "EdtReq",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper = {
+ DataAttributeModelType,
+ "Oper",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_ctlModel,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_ctlVal,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_ctlVal = {
+ DataAttributeModelType,
+ "ctlVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin = {
+ DataAttributeModelType,
+ "origin",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_ctlNum,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin_orCat,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin_orCat = {
+ DataAttributeModelType,
+ "orCat",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin_orIdent,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin_orIdent = {
+ DataAttributeModelType,
+ "orIdent",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_OCTET_STRING_64,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_ctlNum = {
+ DataAttributeModelType,
+ "ctlNum",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_T,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_INT8U,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_T = {
+ DataAttributeModelType,
+ "T",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_Test,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_Test = {
+ DataAttributeModelType,
+ "Test",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_Check,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_Check = {
+ DataAttributeModelType,
+ "Check",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CHECK,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_ctlModel = {
+ DataAttributeModelType,
+ "ctlModel",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq_t,
+ NULL,
+ 0,
+ IEC61850_FC_CF,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_EdtReq,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_DsaReq = {
+ DataObjectModelType,
+ "DsaReq",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdPrio,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper = {
+ DataAttributeModelType,
+ "Oper",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_ctlModel,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_ctlVal,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_ctlVal = {
+ DataAttributeModelType,
+ "ctlVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin = {
+ DataAttributeModelType,
+ "origin",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_ctlNum,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin_orCat,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin_orCat = {
+ DataAttributeModelType,
+ "orCat",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin_orIdent,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin_orIdent = {
+ DataAttributeModelType,
+ "orIdent",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_OCTET_STRING_64,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_ctlNum = {
+ DataAttributeModelType,
+ "ctlNum",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_T,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_INT8U,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_T = {
+ DataAttributeModelType,
+ "T",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_Test,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_Test = {
+ DataAttributeModelType,
+ "Test",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_Check,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_Check = {
+ DataAttributeModelType,
+ "Check",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CHECK,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_ctlModel = {
+ DataAttributeModelType,
+ "ctlModel",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq_t,
+ NULL,
+ 0,
+ IEC61850_FC_CF,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_DsaReq,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_SchdPrio = {
+ DataObjectModelType,
+ "SchdPrio",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_NumEntr,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdPrio_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdPrio_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdPrio,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT32,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_NumEntr = {
+ DataObjectModelType,
+ "NumEntr",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdIntv,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_NumEntr_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_NumEntr_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_NumEntr,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT32,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_SchdIntv = {
+ DataObjectModelType,
+ "SchdIntv",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdIntv_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdIntv_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdIntv,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT32,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG1 = {
+ DataObjectModelType,
+ "ValSPG1",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG1_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG1_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG1,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG2 = {
+ DataObjectModelType,
+ "ValSPG2",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG3,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG2_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG2_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG2,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG3 = {
+ DataObjectModelType,
+ "ValSPG3",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG4,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG3_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG3_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG3,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG4 = {
+ DataObjectModelType,
+ "ValSPG4",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG5,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG4_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG4_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG4,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG5 = {
+ DataObjectModelType,
+ "ValSPG5",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG6,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG5_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG5_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG5,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG6 = {
+ DataObjectModelType,
+ "ValSPG6",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG7,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG6_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG6_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG6,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG7 = {
+ DataObjectModelType,
+ "ValSPG7",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG8,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG7_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG7_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG7,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG8 = {
+ DataObjectModelType,
+ "ValSPG8",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG9,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG8_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG8_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG8,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG9 = {
+ DataObjectModelType,
+ "ValSPG9",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG10,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG9_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG9_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG9,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG10 = {
+ DataObjectModelType,
+ "ValSPG10",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG11,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG10_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG10_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG10,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG11 = {
+ DataObjectModelType,
+ "ValSPG11",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG12,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG11_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG11_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG11,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG12 = {
+ DataObjectModelType,
+ "ValSPG12",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG13,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG12_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG12_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG12,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG13 = {
+ DataObjectModelType,
+ "ValSPG13",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG14,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG13_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG13_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG13,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG14 = {
+ DataObjectModelType,
+ "ValSPG14",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG15,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG14_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG14_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG14,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG15 = {
+ DataObjectModelType,
+ "ValSPG15",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG16,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG15_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG15_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG15,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG16 = {
+ DataObjectModelType,
+ "ValSPG16",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG17,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG16_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG16_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG16,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG17 = {
+ DataObjectModelType,
+ "ValSPG17",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG18,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG17_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG17_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG17,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG18 = {
+ DataObjectModelType,
+ "ValSPG18",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG19,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG18_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG18_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG18,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG19 = {
+ DataObjectModelType,
+ "ValSPG19",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG20,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG19_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG19_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG19,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG20 = {
+ DataObjectModelType,
+ "ValSPG20",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG21,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG20_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG20_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG20,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG21 = {
+ DataObjectModelType,
+ "ValSPG21",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG22,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG21_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG21_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG21,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG22 = {
+ DataObjectModelType,
+ "ValSPG22",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG23,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG22_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG22_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG22,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG23 = {
+ DataObjectModelType,
+ "ValSPG23",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG24,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG23_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG23_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG23,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG24 = {
+ DataObjectModelType,
+ "ValSPG24",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG25,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG24_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG24_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG24,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG25 = {
+ DataObjectModelType,
+ "ValSPG25",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG26,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG25_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG25_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG25,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG26 = {
+ DataObjectModelType,
+ "ValSPG26",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG27,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG26_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG26_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG26,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG27 = {
+ DataObjectModelType,
+ "ValSPG27",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG28,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG27_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG27_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG27,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG28 = {
+ DataObjectModelType,
+ "ValSPG28",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG29,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG28_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG28_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG28,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG29 = {
+ DataObjectModelType,
+ "ValSPG29",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG30,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG29_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG29_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG29,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG30 = {
+ DataObjectModelType,
+ "ValSPG30",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG31,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG30_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG30_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG30,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG31 = {
+ DataObjectModelType,
+ "ValSPG31",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG32,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG31_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG31_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG31,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG32 = {
+ DataObjectModelType,
+ "ValSPG32",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG33,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG32_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG32_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG32,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG33 = {
+ DataObjectModelType,
+ "ValSPG33",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG34,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG33_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG33_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG33,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG34 = {
+ DataObjectModelType,
+ "ValSPG34",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG35,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG34_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG34_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG34,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG35 = {
+ DataObjectModelType,
+ "ValSPG35",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG36,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG35_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG35_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG35,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG36 = {
+ DataObjectModelType,
+ "ValSPG36",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG37,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG36_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG36_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG36,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG37 = {
+ DataObjectModelType,
+ "ValSPG37",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG38,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG37_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG37_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG37,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG38 = {
+ DataObjectModelType,
+ "ValSPG38",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG39,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG38_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG38_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG38,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG39 = {
+ DataObjectModelType,
+ "ValSPG39",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG40,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG39_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG39_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG39,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG40 = {
+ DataObjectModelType,
+ "ValSPG40",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG41,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG40_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG40_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG40,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG41 = {
+ DataObjectModelType,
+ "ValSPG41",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG42,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG41_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG41_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG41,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG42 = {
+ DataObjectModelType,
+ "ValSPG42",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG43,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG42_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG42_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG42,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG43 = {
+ DataObjectModelType,
+ "ValSPG43",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG44,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG43_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG43_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG43,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG44 = {
+ DataObjectModelType,
+ "ValSPG44",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG45,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG44_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG44_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG44,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG45 = {
+ DataObjectModelType,
+ "ValSPG45",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG46,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG45_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG45_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG45,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG46 = {
+ DataObjectModelType,
+ "ValSPG46",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG47,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG46_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG46_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG46,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG47 = {
+ DataObjectModelType,
+ "ValSPG47",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG48,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG47_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG47_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG47,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG48 = {
+ DataObjectModelType,
+ "ValSPG48",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG49,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG48_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG48_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG48,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG49 = {
+ DataObjectModelType,
+ "ValSPG49",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG50,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG49_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG49_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG49,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG50 = {
+ DataObjectModelType,
+ "ValSPG50",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG51,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG50_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG50_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG50,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG51 = {
+ DataObjectModelType,
+ "ValSPG51",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG52,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG51_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG51_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG51,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG52 = {
+ DataObjectModelType,
+ "ValSPG52",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG53,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG52_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG52_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG52,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG53 = {
+ DataObjectModelType,
+ "ValSPG53",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG54,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG53_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG53_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG53,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG54 = {
+ DataObjectModelType,
+ "ValSPG54",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG55,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG54_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG54_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG54,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG55 = {
+ DataObjectModelType,
+ "ValSPG55",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG56,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG55_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG55_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG55,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG56 = {
+ DataObjectModelType,
+ "ValSPG56",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG57,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG56_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG56_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG56,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG57 = {
+ DataObjectModelType,
+ "ValSPG57",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG58,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG57_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG57_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG57,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG58 = {
+ DataObjectModelType,
+ "ValSPG58",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG59,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG58_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG58_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG58,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG59 = {
+ DataObjectModelType,
+ "ValSPG59",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG60,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG59_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG59_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG59,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG60 = {
+ DataObjectModelType,
+ "ValSPG60",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG60_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG60_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_ValSPG60,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_StrTm = {
+ DataObjectModelType,
+ "StrTm",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_IntvPer,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setTm,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setTm = {
+ DataAttributeModelType,
+ "setTm",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_TIMESTAMP,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal = {
+ DataAttributeModelType,
+ "setCal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm,
+ NULL,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occ,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_CONSTRUCTED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occ = {
+ DataAttributeModelType,
+ "occ",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occType,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT16U,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occType = {
+ DataAttributeModelType,
+ "occType",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occPer,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occPer = {
+ DataAttributeModelType,
+ "occPer",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_weekDay,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_weekDay = {
+ DataAttributeModelType,
+ "weekDay",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_month,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_month = {
+ DataAttributeModelType,
+ "month",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_day,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_day = {
+ DataAttributeModelType,
+ "day",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_hr,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT8U,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_hr = {
+ DataAttributeModelType,
+ "hr",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_mn,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT8U,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_mn = {
+ DataAttributeModelType,
+ "mn",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_StrTm_setCal,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT8U,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_IntvPer = {
+ DataObjectModelType,
+ "IntvPer",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_IntvTyp,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_IntvPer_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_IntvPer_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_IntvPer,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT32,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_IntvTyp = {
+ DataObjectModelType,
+ "IntvTyp",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdReuse,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_IntvTyp_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_IntvTyp_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_IntvTyp,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH1_SchdReuse = {
+ DataObjectModelType,
+ "SchdReuse",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1,
+ NULL,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdReuse_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdReuse_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH1_SchdReuse,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+LogicalNode iedModel_GenericIO_T60S_FSCH2 = {
+ LogicalNodeModelType,
+ "T60S_FSCH2",
+ (ModelNode*) &iedModel_GenericIO,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_Beh,
+};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_Beh = {
+ DataObjectModelType,
+ "Beh",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdSt,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_Beh_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_Beh_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_Beh,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_Beh_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_Beh_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_Beh,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_Beh_t,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_Beh_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_Beh,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_SchdSt = {
+ DataObjectModelType,
+ "SchdSt",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdEntr,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdSt_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdSt_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdSt,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdSt_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdSt_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdSt,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdSt_t,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdSt_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdSt,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_SchdEntr = {
+ DataObjectModelType,
+ "SchdEntr",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPS,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdEntr_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdEntr_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdEntr,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdEntr_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_INT32,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdEntr_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdEntr,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdEntr_t,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdEntr_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdEntr,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPS = {
+ DataObjectModelType,
+ "ValSPS",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPS_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPS_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPS,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPS_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPS_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPS,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPS_t,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPS_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPS,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_VldReq = {
+ DataObjectModelType,
+ "VldReq",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper = {
+ DataAttributeModelType,
+ "Oper",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_ctlModel,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_ctlVal,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_ctlVal = {
+ DataAttributeModelType,
+ "ctlVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin = {
+ DataAttributeModelType,
+ "origin",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_ctlNum,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin_orCat,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin_orCat = {
+ DataAttributeModelType,
+ "orCat",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin_orIdent,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin_orIdent = {
+ DataAttributeModelType,
+ "orIdent",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_OCTET_STRING_64,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_ctlNum = {
+ DataAttributeModelType,
+ "ctlNum",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_T,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_INT8U,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_T = {
+ DataAttributeModelType,
+ "T",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_Test,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_Test = {
+ DataAttributeModelType,
+ "Test",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_Check,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_Check = {
+ DataAttributeModelType,
+ "Check",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_Oper,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CHECK,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_ctlModel = {
+ DataAttributeModelType,
+ "ctlModel",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq_t,
+ NULL,
+ 0,
+ IEC61850_FC_CF,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_VldReq,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_EnaReq = {
+ DataObjectModelType,
+ "EnaReq",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper = {
+ DataAttributeModelType,
+ "Oper",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_ctlModel,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_ctlVal,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_ctlVal = {
+ DataAttributeModelType,
+ "ctlVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin = {
+ DataAttributeModelType,
+ "origin",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_ctlNum,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin_orCat,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin_orCat = {
+ DataAttributeModelType,
+ "orCat",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin_orIdent,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin_orIdent = {
+ DataAttributeModelType,
+ "orIdent",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_OCTET_STRING_64,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_ctlNum = {
+ DataAttributeModelType,
+ "ctlNum",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_T,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_INT8U,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_T = {
+ DataAttributeModelType,
+ "T",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_Test,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_Test = {
+ DataAttributeModelType,
+ "Test",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_Check,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_Check = {
+ DataAttributeModelType,
+ "Check",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CHECK,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_ctlModel = {
+ DataAttributeModelType,
+ "ctlModel",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq_t,
+ NULL,
+ 0,
+ IEC61850_FC_CF,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EnaReq,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_EdtReq = {
+ DataObjectModelType,
+ "EdtReq",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper = {
+ DataAttributeModelType,
+ "Oper",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_ctlModel,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_ctlVal,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_ctlVal = {
+ DataAttributeModelType,
+ "ctlVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin = {
+ DataAttributeModelType,
+ "origin",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_ctlNum,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin_orCat,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin_orCat = {
+ DataAttributeModelType,
+ "orCat",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin_orIdent,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin_orIdent = {
+ DataAttributeModelType,
+ "orIdent",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_OCTET_STRING_64,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_ctlNum = {
+ DataAttributeModelType,
+ "ctlNum",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_T,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_INT8U,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_T = {
+ DataAttributeModelType,
+ "T",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_Test,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_Test = {
+ DataAttributeModelType,
+ "Test",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_Check,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_Check = {
+ DataAttributeModelType,
+ "Check",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CHECK,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_ctlModel = {
+ DataAttributeModelType,
+ "ctlModel",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq_t,
+ NULL,
+ 0,
+ IEC61850_FC_CF,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_EdtReq,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_DsaReq = {
+ DataObjectModelType,
+ "DsaReq",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdPrio,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper = {
+ DataAttributeModelType,
+ "Oper",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_ctlModel,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_ctlVal,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_ctlVal = {
+ DataAttributeModelType,
+ "ctlVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin = {
+ DataAttributeModelType,
+ "origin",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_ctlNum,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin_orCat,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CONSTRUCTED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin_orCat = {
+ DataAttributeModelType,
+ "orCat",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin_orIdent,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin_orIdent = {
+ DataAttributeModelType,
+ "orIdent",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_OCTET_STRING_64,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_ctlNum = {
+ DataAttributeModelType,
+ "ctlNum",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_T,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_INT8U,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_T = {
+ DataAttributeModelType,
+ "T",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_Test,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_Test = {
+ DataAttributeModelType,
+ "Test",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_Check,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_BOOLEAN,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_Check = {
+ DataAttributeModelType,
+ "Check",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_CO,
+ IEC61850_CHECK,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_ctlModel = {
+ DataAttributeModelType,
+ "ctlModel",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq_t,
+ NULL,
+ 0,
+ IEC61850_FC_CF,
+ IEC61850_ENUMERATED,
+ 0,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_DsaReq,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_SchdPrio = {
+ DataObjectModelType,
+ "SchdPrio",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_NumEntr,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdPrio_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdPrio_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdPrio,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT32,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_NumEntr = {
+ DataObjectModelType,
+ "NumEntr",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdIntv,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_NumEntr_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_NumEntr_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_NumEntr,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT32,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_SchdIntv = {
+ DataObjectModelType,
+ "SchdIntv",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG1,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdIntv_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdIntv_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdIntv,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT32,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG1 = {
+ DataObjectModelType,
+ "ValSPG1",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG1_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG1_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG1,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG2 = {
+ DataObjectModelType,
+ "ValSPG2",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG3,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG2_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG2_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG2,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG3 = {
+ DataObjectModelType,
+ "ValSPG3",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG4,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG3_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG3_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG3,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG4 = {
+ DataObjectModelType,
+ "ValSPG4",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG5,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG4_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG4_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG4,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG5 = {
+ DataObjectModelType,
+ "ValSPG5",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG6,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG5_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG5_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG5,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG6 = {
+ DataObjectModelType,
+ "ValSPG6",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG7,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG6_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG6_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG6,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG7 = {
+ DataObjectModelType,
+ "ValSPG7",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG8,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG7_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG7_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG7,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG8 = {
+ DataObjectModelType,
+ "ValSPG8",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG9,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG8_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG8_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG8,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG9 = {
+ DataObjectModelType,
+ "ValSPG9",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG10,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG9_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG9_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG9,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG10 = {
+ DataObjectModelType,
+ "ValSPG10",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG11,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG10_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG10_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG10,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG11 = {
+ DataObjectModelType,
+ "ValSPG11",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG12,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG11_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG11_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG11,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG12 = {
+ DataObjectModelType,
+ "ValSPG12",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG13,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG12_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG12_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG12,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG13 = {
+ DataObjectModelType,
+ "ValSPG13",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG14,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG13_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG13_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG13,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG14 = {
+ DataObjectModelType,
+ "ValSPG14",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG15,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG14_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG14_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG14,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG15 = {
+ DataObjectModelType,
+ "ValSPG15",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG16,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG15_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG15_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG15,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG16 = {
+ DataObjectModelType,
+ "ValSPG16",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG17,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG16_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG16_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG16,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG17 = {
+ DataObjectModelType,
+ "ValSPG17",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG18,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG17_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG17_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG17,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG18 = {
+ DataObjectModelType,
+ "ValSPG18",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG19,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG18_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG18_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG18,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG19 = {
+ DataObjectModelType,
+ "ValSPG19",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG20,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG19_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG19_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG19,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG20 = {
+ DataObjectModelType,
+ "ValSPG20",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG21,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG20_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG20_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG20,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG21 = {
+ DataObjectModelType,
+ "ValSPG21",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG22,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG21_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG21_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG21,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG22 = {
+ DataObjectModelType,
+ "ValSPG22",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG23,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG22_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG22_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG22,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG23 = {
+ DataObjectModelType,
+ "ValSPG23",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG24,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG23_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG23_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG23,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG24 = {
+ DataObjectModelType,
+ "ValSPG24",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG25,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG24_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG24_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG24,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG25 = {
+ DataObjectModelType,
+ "ValSPG25",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG26,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG25_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG25_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG25,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG26 = {
+ DataObjectModelType,
+ "ValSPG26",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG27,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG26_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG26_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG26,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG27 = {
+ DataObjectModelType,
+ "ValSPG27",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG28,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG27_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG27_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG27,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG28 = {
+ DataObjectModelType,
+ "ValSPG28",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG29,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG28_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG28_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG28,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG29 = {
+ DataObjectModelType,
+ "ValSPG29",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG30,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG29_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG29_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG29,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG30 = {
+ DataObjectModelType,
+ "ValSPG30",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG31,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG30_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG30_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG30,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG31 = {
+ DataObjectModelType,
+ "ValSPG31",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG32,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG31_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG31_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG31,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG32 = {
+ DataObjectModelType,
+ "ValSPG32",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG33,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG32_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG32_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG32,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG33 = {
+ DataObjectModelType,
+ "ValSPG33",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG34,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG33_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG33_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG33,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG34 = {
+ DataObjectModelType,
+ "ValSPG34",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG35,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG34_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG34_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG34,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG35 = {
+ DataObjectModelType,
+ "ValSPG35",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG36,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG35_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG35_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG35,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG36 = {
+ DataObjectModelType,
+ "ValSPG36",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG37,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG36_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG36_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG36,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG37 = {
+ DataObjectModelType,
+ "ValSPG37",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG38,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG37_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG37_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG37,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG38 = {
+ DataObjectModelType,
+ "ValSPG38",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG39,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG38_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG38_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG38,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG39 = {
+ DataObjectModelType,
+ "ValSPG39",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG40,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG39_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG39_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG39,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG40 = {
+ DataObjectModelType,
+ "ValSPG40",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG41,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG40_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG40_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG40,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG41 = {
+ DataObjectModelType,
+ "ValSPG41",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG42,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG41_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG41_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG41,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG42 = {
+ DataObjectModelType,
+ "ValSPG42",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG43,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG42_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG42_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG42,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG43 = {
+ DataObjectModelType,
+ "ValSPG43",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG44,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG43_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG43_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG43,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG44 = {
+ DataObjectModelType,
+ "ValSPG44",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG45,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG44_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG44_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG44,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG45 = {
+ DataObjectModelType,
+ "ValSPG45",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG46,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG45_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG45_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG45,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG46 = {
+ DataObjectModelType,
+ "ValSPG46",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG47,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG46_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG46_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG46,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG47 = {
+ DataObjectModelType,
+ "ValSPG47",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG48,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG47_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG47_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG47,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG48 = {
+ DataObjectModelType,
+ "ValSPG48",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG49,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG48_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG48_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG48,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG49 = {
+ DataObjectModelType,
+ "ValSPG49",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG50,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG49_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG49_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG49,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG50 = {
+ DataObjectModelType,
+ "ValSPG50",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG51,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG50_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG50_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG50,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG51 = {
+ DataObjectModelType,
+ "ValSPG51",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG52,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG51_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG51_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG51,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG52 = {
+ DataObjectModelType,
+ "ValSPG52",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG53,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG52_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG52_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG52,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG53 = {
+ DataObjectModelType,
+ "ValSPG53",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG54,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG53_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG53_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG53,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG54 = {
+ DataObjectModelType,
+ "ValSPG54",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG55,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG54_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG54_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG54,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG55 = {
+ DataObjectModelType,
+ "ValSPG55",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG56,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG55_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG55_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG55,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG56 = {
+ DataObjectModelType,
+ "ValSPG56",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG57,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG56_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG56_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG56,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG57 = {
+ DataObjectModelType,
+ "ValSPG57",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG58,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG57_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG57_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG57,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG58 = {
+ DataObjectModelType,
+ "ValSPG58",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG59,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG58_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG58_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG58,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG59 = {
+ DataObjectModelType,
+ "ValSPG59",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG60,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG59_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG59_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG59,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG60 = {
+ DataObjectModelType,
+ "ValSPG60",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG60_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG60_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_ValSPG60,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_StrTm = {
+ DataObjectModelType,
+ "StrTm",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_IntvPer,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setTm,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setTm = {
+ DataAttributeModelType,
+ "setTm",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_TIMESTAMP,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal = {
+ DataAttributeModelType,
+ "setCal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm,
+ NULL,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occ,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_CONSTRUCTED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occ = {
+ DataAttributeModelType,
+ "occ",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occType,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT16U,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occType = {
+ DataAttributeModelType,
+ "occType",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occPer,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occPer = {
+ DataAttributeModelType,
+ "occPer",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_weekDay,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_weekDay = {
+ DataAttributeModelType,
+ "weekDay",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_month,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_month = {
+ DataAttributeModelType,
+ "month",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_day,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_day = {
+ DataAttributeModelType,
+ "day",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_hr,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT8U,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_hr = {
+ DataAttributeModelType,
+ "hr",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_mn,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT8U,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_mn = {
+ DataAttributeModelType,
+ "mn",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_StrTm_setCal,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT8U,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_IntvPer = {
+ DataObjectModelType,
+ "IntvPer",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_IntvTyp,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_IntvPer_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_IntvPer_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_IntvPer,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_INT32,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_IntvTyp = {
+ DataObjectModelType,
+ "IntvTyp",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdReuse,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_IntvTyp_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_IntvTyp_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_IntvTyp,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_T60S_FSCH2_SchdReuse = {
+ DataObjectModelType,
+ "SchdReuse",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2,
+ NULL,
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdReuse_setVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdReuse_setVal = {
+ DataAttributeModelType,
+ "setVal",
+ (ModelNode*) &iedModel_GenericIO_T60S_FSCH2_SchdReuse,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SG,
+ IEC61850_BOOLEAN,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+LogicalNode iedModel_GenericIO_GGIO_FSCC1 = {
+ LogicalNodeModelType,
+ "GGIO_FSCC1",
+ (ModelNode*) &iedModel_GenericIO,
+ NULL,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Beh,
+};
+
+DataObject iedModel_GenericIO_GGIO_FSCC1_Beh = {
+ DataObjectModelType,
+ "Beh",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_ActSchdRef,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Beh_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_GGIO_FSCC1_Beh_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Beh,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Beh_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_ENUMERATED,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_GGIO_FSCC1_Beh_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Beh,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Beh_t,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_GGIO_FSCC1_Beh_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Beh,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_GGIO_FSCC1_ActSchdRef = {
+ DataObjectModelType,
+ "ActSchdRef",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_CtlEnt,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_stVal,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_stVal = {
+ DataAttributeModelType,
+ "stVal",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_ActSchdRef,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_q,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_VISIBLE_STRING_129,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_q = {
+ DataAttributeModelType,
+ "q",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_ActSchdRef,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_t,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_QUALITY,
+ 0 + TRG_OPT_QUALITY_CHANGED,
+ NULL,
+ 0};
+
+DataAttribute iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_t = {
+ DataAttributeModelType,
+ "t",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_ActSchdRef,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_ST,
+ IEC61850_TIMESTAMP,
+ 0,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_GGIO_FSCC1_CtlEnt = {
+ DataObjectModelType,
+ "CtlEnt",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Schd1,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_CtlEnt_setSrcRef,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_GGIO_FSCC1_CtlEnt_setSrcRef = {
+ DataAttributeModelType,
+ "setSrcRef",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_CtlEnt,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_VISIBLE_STRING_129,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_GGIO_FSCC1_Schd1 = {
+ DataObjectModelType,
+ "Schd1",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Schd2,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Schd1_setSrcRef,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_GGIO_FSCC1_Schd1_setSrcRef = {
+ DataAttributeModelType,
+ "setSrcRef",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Schd1,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_VISIBLE_STRING_129,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
+DataObject iedModel_GenericIO_GGIO_FSCC1_Schd2 = {
+ DataObjectModelType,
+ "Schd2",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1,
+ NULL,
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Schd2_setSrcRef,
+ 0
+};
+
+DataAttribute iedModel_GenericIO_GGIO_FSCC1_Schd2_setSrcRef = {
+ DataAttributeModelType,
+ "setSrcRef",
+ (ModelNode*) &iedModel_GenericIO_GGIO_FSCC1_Schd2,
+ NULL,
+ NULL,
+ 0,
+ IEC61850_FC_SP,
+ IEC61850_VISIBLE_STRING_129,
+ 0 + TRG_OPT_DATA_CHANGED,
+ NULL,
+ 0};
+
extern ReportControlBlock iedModel_GenericIO_LLN0_report0;
extern ReportControlBlock iedModel_GenericIO_LLN0_report1;
extern ReportControlBlock iedModel_GenericIO_LLN0_report2;
@@ -2407,7 +7583,7 @@ ReportControlBlock iedModel_GenericIO_LLN0_report4 = {&iedModel_GenericIO_LLN0,
IedModel iedModel = {
- "beagle",
+ "Template",
&iedModel_GenericIO,
&iedModelds_GenericIO_LLN0_Events,
&iedModel_GenericIO_LLN0_report0,
diff --git a/demos/beaglebone/static_model.h b/demos/beaglebone/static_model.h
index 8409861..ff5ef52 100644
--- a/demos/beaglebone/static_model.h
+++ b/demos/beaglebone/static_model.h
@@ -1,7 +1,7 @@
/*
* static_model.h
*
- * automatically generated from beagle_demo.iid
+ * automatically generated from beagle_demo.icd
*/
#ifndef STATIC_MODEL_H_
@@ -201,6 +201,453 @@ extern DataAttribute iedModel_GenericIO_TIM_GAPC1_OpCntRs_Oper_T;
extern DataAttribute iedModel_GenericIO_TIM_GAPC1_OpCntRs_Oper_Test;
extern DataAttribute iedModel_GenericIO_TIM_GAPC1_OpCntRs_Oper_Check;
extern DataAttribute iedModel_GenericIO_TIM_GAPC1_OpCntRs_ctlModel;
+extern LogicalNode iedModel_GenericIO_T60S_FSCH1;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_Beh;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_Beh_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_Beh_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_Beh_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_SchdSt;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdSt_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdSt_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdSt_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_SchdEntr;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdEntr_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdEntr_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdEntr_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPS;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPS_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPS_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPS_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_VldReq;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_ctlVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin_orCat;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin_orIdent;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_ctlNum;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_T;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_Test;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_Check;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_ctlModel;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_VldReq_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_EnaReq;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_ctlVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin_orCat;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin_orIdent;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_ctlNum;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_T;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_Test;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_Check;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_ctlModel;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EnaReq_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_EdtReq;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_ctlVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin_orCat;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin_orIdent;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_ctlNum;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_T;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_Test;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_Check;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_ctlModel;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_EdtReq_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_DsaReq;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_ctlVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin_orCat;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin_orIdent;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_ctlNum;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_T;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_Test;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_Check;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_ctlModel;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_DsaReq_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_SchdPrio;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdPrio_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_NumEntr;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_NumEntr_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_SchdIntv;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdIntv_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG1;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG1_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG2;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG2_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG3;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG3_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG4;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG4_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG5;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG5_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG6;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG6_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG7;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG7_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG8;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG8_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG9;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG9_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG10;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG10_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG11;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG11_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG12;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG12_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG13;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG13_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG14;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG14_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG15;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG15_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG16;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG16_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG17;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG17_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG18;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG18_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG19;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG19_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG20;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG20_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG21;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG21_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG22;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG22_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG23;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG23_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG24;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG24_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG25;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG25_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG26;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG26_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG27;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG27_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG28;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG28_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG29;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG29_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG30;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG30_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG31;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG31_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG32;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG32_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG33;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG33_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG34;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG34_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG35;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG35_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG36;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG36_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG37;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG37_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG38;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG38_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG39;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG39_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG40;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG40_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG41;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG41_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG42;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG42_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG43;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG43_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG44;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG44_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG45;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG45_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG46;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG46_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG47;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG47_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG48;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG48_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG49;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG49_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG50;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG50_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG51;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG51_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG52;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG52_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG53;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG53_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG54;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG54_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG55;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG55_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG56;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG56_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG57;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG57_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG58;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG58_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG59;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG59_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_ValSPG60;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_ValSPG60_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_StrTm;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setTm;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occ;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occType;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occPer;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_weekDay;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_month;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_day;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_hr;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_mn;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_IntvPer;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_IntvPer_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_IntvTyp;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_IntvTyp_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH1_SchdReuse;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH1_SchdReuse_setVal;
+extern LogicalNode iedModel_GenericIO_T60S_FSCH2;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_Beh;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_Beh_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_Beh_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_Beh_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_SchdSt;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdSt_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdSt_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdSt_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_SchdEntr;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdEntr_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdEntr_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdEntr_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPS;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPS_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPS_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPS_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_VldReq;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_ctlVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin_orCat;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin_orIdent;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_ctlNum;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_T;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_Test;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_Check;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_ctlModel;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_VldReq_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_EnaReq;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_ctlVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin_orCat;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin_orIdent;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_ctlNum;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_T;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_Test;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_Check;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_ctlModel;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EnaReq_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_EdtReq;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_ctlVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin_orCat;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin_orIdent;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_ctlNum;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_T;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_Test;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_Check;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_ctlModel;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_EdtReq_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_DsaReq;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_stVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_q;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_ctlVal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin_orCat;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin_orIdent;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_ctlNum;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_T;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_Test;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_Check;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_ctlModel;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_DsaReq_t;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_SchdPrio;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdPrio_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_NumEntr;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_NumEntr_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_SchdIntv;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdIntv_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG1;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG1_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG2;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG2_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG3;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG3_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG4;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG4_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG5;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG5_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG6;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG6_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG7;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG7_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG8;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG8_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG9;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG9_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG10;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG10_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG11;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG11_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG12;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG12_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG13;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG13_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG14;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG14_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG15;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG15_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG16;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG16_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG17;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG17_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG18;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG18_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG19;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG19_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG20;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG20_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG21;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG21_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG22;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG22_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG23;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG23_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG24;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG24_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG25;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG25_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG26;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG26_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG27;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG27_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG28;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG28_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG29;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG29_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG30;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG30_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG31;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG31_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG32;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG32_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG33;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG33_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG34;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG34_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG35;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG35_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG36;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG36_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG37;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG37_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG38;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG38_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG39;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG39_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG40;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG40_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG41;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG41_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG42;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG42_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG43;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG43_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG44;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG44_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG45;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG45_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG46;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG46_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG47;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG47_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG48;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG48_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG49;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG49_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG50;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG50_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG51;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG51_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG52;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG52_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG53;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG53_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG54;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG54_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG55;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG55_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG56;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG56_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG57;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG57_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG58;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG58_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG59;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG59_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_ValSPG60;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_ValSPG60_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_StrTm;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setTm;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occ;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occType;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occPer;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_weekDay;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_month;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_day;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_hr;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_mn;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_IntvPer;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_IntvPer_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_IntvTyp;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_IntvTyp_setVal;
+extern DataObject iedModel_GenericIO_T60S_FSCH2_SchdReuse;
+extern DataAttribute iedModel_GenericIO_T60S_FSCH2_SchdReuse_setVal;
+extern LogicalNode iedModel_GenericIO_GGIO_FSCC1;
+extern DataObject iedModel_GenericIO_GGIO_FSCC1_Beh;
+extern DataAttribute iedModel_GenericIO_GGIO_FSCC1_Beh_stVal;
+extern DataAttribute iedModel_GenericIO_GGIO_FSCC1_Beh_q;
+extern DataAttribute iedModel_GenericIO_GGIO_FSCC1_Beh_t;
+extern DataObject iedModel_GenericIO_GGIO_FSCC1_ActSchdRef;
+extern DataAttribute iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_stVal;
+extern DataAttribute iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_q;
+extern DataAttribute iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_t;
+extern DataObject iedModel_GenericIO_GGIO_FSCC1_CtlEnt;
+extern DataAttribute iedModel_GenericIO_GGIO_FSCC1_CtlEnt_setSrcRef;
+extern DataObject iedModel_GenericIO_GGIO_FSCC1_Schd1;
+extern DataAttribute iedModel_GenericIO_GGIO_FSCC1_Schd1_setSrcRef;
+extern DataObject iedModel_GenericIO_GGIO_FSCC1_Schd2;
+extern DataAttribute iedModel_GenericIO_GGIO_FSCC1_Schd2_setSrcRef;
@@ -394,6 +841,453 @@ extern DataAttribute iedModel_GenericIO_TIM_GAPC1_OpCntRs_ctlModel;
#define IEDMODEL_GenericIO_TIM_GAPC1_OpCntRs_Oper_Test (&iedModel_GenericIO_TIM_GAPC1_OpCntRs_Oper_Test)
#define IEDMODEL_GenericIO_TIM_GAPC1_OpCntRs_Oper_Check (&iedModel_GenericIO_TIM_GAPC1_OpCntRs_Oper_Check)
#define IEDMODEL_GenericIO_TIM_GAPC1_OpCntRs_ctlModel (&iedModel_GenericIO_TIM_GAPC1_OpCntRs_ctlModel)
+#define IEDMODEL_GenericIO_T60S_FSCH1 (&iedModel_GenericIO_T60S_FSCH1)
+#define IEDMODEL_GenericIO_T60S_FSCH1_Beh (&iedModel_GenericIO_T60S_FSCH1_Beh)
+#define IEDMODEL_GenericIO_T60S_FSCH1_Beh_stVal (&iedModel_GenericIO_T60S_FSCH1_Beh_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_Beh_q (&iedModel_GenericIO_T60S_FSCH1_Beh_q)
+#define IEDMODEL_GenericIO_T60S_FSCH1_Beh_t (&iedModel_GenericIO_T60S_FSCH1_Beh_t)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdSt (&iedModel_GenericIO_T60S_FSCH1_SchdSt)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdSt_stVal (&iedModel_GenericIO_T60S_FSCH1_SchdSt_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdSt_q (&iedModel_GenericIO_T60S_FSCH1_SchdSt_q)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdSt_t (&iedModel_GenericIO_T60S_FSCH1_SchdSt_t)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdEntr (&iedModel_GenericIO_T60S_FSCH1_SchdEntr)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdEntr_stVal (&iedModel_GenericIO_T60S_FSCH1_SchdEntr_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdEntr_q (&iedModel_GenericIO_T60S_FSCH1_SchdEntr_q)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdEntr_t (&iedModel_GenericIO_T60S_FSCH1_SchdEntr_t)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPS (&iedModel_GenericIO_T60S_FSCH1_ValSPS)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPS_stVal (&iedModel_GenericIO_T60S_FSCH1_ValSPS_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPS_q (&iedModel_GenericIO_T60S_FSCH1_ValSPS_q)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPS_t (&iedModel_GenericIO_T60S_FSCH1_ValSPS_t)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq (&iedModel_GenericIO_T60S_FSCH1_VldReq)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_stVal (&iedModel_GenericIO_T60S_FSCH1_VldReq_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_q (&iedModel_GenericIO_T60S_FSCH1_VldReq_q)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_Oper (&iedModel_GenericIO_T60S_FSCH1_VldReq_Oper)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_Oper_ctlVal (&iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_ctlVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_Oper_origin (&iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_Oper_origin_orCat (&iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin_orCat)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_Oper_origin_orIdent (&iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_origin_orIdent)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_Oper_ctlNum (&iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_ctlNum)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_Oper_T (&iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_T)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_Oper_Test (&iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_Test)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_Oper_Check (&iedModel_GenericIO_T60S_FSCH1_VldReq_Oper_Check)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_ctlModel (&iedModel_GenericIO_T60S_FSCH1_VldReq_ctlModel)
+#define IEDMODEL_GenericIO_T60S_FSCH1_VldReq_t (&iedModel_GenericIO_T60S_FSCH1_VldReq_t)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq (&iedModel_GenericIO_T60S_FSCH1_EnaReq)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_stVal (&iedModel_GenericIO_T60S_FSCH1_EnaReq_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_q (&iedModel_GenericIO_T60S_FSCH1_EnaReq_q)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_Oper (&iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_Oper_ctlVal (&iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_ctlVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_Oper_origin (&iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_Oper_origin_orCat (&iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin_orCat)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_Oper_origin_orIdent (&iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_origin_orIdent)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_Oper_ctlNum (&iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_ctlNum)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_Oper_T (&iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_T)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_Oper_Test (&iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_Test)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_Oper_Check (&iedModel_GenericIO_T60S_FSCH1_EnaReq_Oper_Check)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_ctlModel (&iedModel_GenericIO_T60S_FSCH1_EnaReq_ctlModel)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EnaReq_t (&iedModel_GenericIO_T60S_FSCH1_EnaReq_t)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq (&iedModel_GenericIO_T60S_FSCH1_EdtReq)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_stVal (&iedModel_GenericIO_T60S_FSCH1_EdtReq_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_q (&iedModel_GenericIO_T60S_FSCH1_EdtReq_q)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_Oper (&iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_Oper_ctlVal (&iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_ctlVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_Oper_origin (&iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_Oper_origin_orCat (&iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin_orCat)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_Oper_origin_orIdent (&iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_origin_orIdent)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_Oper_ctlNum (&iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_ctlNum)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_Oper_T (&iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_T)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_Oper_Test (&iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_Test)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_Oper_Check (&iedModel_GenericIO_T60S_FSCH1_EdtReq_Oper_Check)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_ctlModel (&iedModel_GenericIO_T60S_FSCH1_EdtReq_ctlModel)
+#define IEDMODEL_GenericIO_T60S_FSCH1_EdtReq_t (&iedModel_GenericIO_T60S_FSCH1_EdtReq_t)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq (&iedModel_GenericIO_T60S_FSCH1_DsaReq)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_stVal (&iedModel_GenericIO_T60S_FSCH1_DsaReq_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_q (&iedModel_GenericIO_T60S_FSCH1_DsaReq_q)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_Oper (&iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_Oper_ctlVal (&iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_ctlVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_Oper_origin (&iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_Oper_origin_orCat (&iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin_orCat)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_Oper_origin_orIdent (&iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_origin_orIdent)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_Oper_ctlNum (&iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_ctlNum)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_Oper_T (&iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_T)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_Oper_Test (&iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_Test)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_Oper_Check (&iedModel_GenericIO_T60S_FSCH1_DsaReq_Oper_Check)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_ctlModel (&iedModel_GenericIO_T60S_FSCH1_DsaReq_ctlModel)
+#define IEDMODEL_GenericIO_T60S_FSCH1_DsaReq_t (&iedModel_GenericIO_T60S_FSCH1_DsaReq_t)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdPrio (&iedModel_GenericIO_T60S_FSCH1_SchdPrio)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdPrio_setVal (&iedModel_GenericIO_T60S_FSCH1_SchdPrio_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_NumEntr (&iedModel_GenericIO_T60S_FSCH1_NumEntr)
+#define IEDMODEL_GenericIO_T60S_FSCH1_NumEntr_setVal (&iedModel_GenericIO_T60S_FSCH1_NumEntr_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdIntv (&iedModel_GenericIO_T60S_FSCH1_SchdIntv)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdIntv_setVal (&iedModel_GenericIO_T60S_FSCH1_SchdIntv_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG1 (&iedModel_GenericIO_T60S_FSCH1_ValSPG1)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG1_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG1_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG2 (&iedModel_GenericIO_T60S_FSCH1_ValSPG2)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG2_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG2_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG3 (&iedModel_GenericIO_T60S_FSCH1_ValSPG3)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG3_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG3_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG4 (&iedModel_GenericIO_T60S_FSCH1_ValSPG4)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG4_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG4_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG5 (&iedModel_GenericIO_T60S_FSCH1_ValSPG5)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG5_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG5_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG6 (&iedModel_GenericIO_T60S_FSCH1_ValSPG6)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG6_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG6_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG7 (&iedModel_GenericIO_T60S_FSCH1_ValSPG7)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG7_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG7_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG8 (&iedModel_GenericIO_T60S_FSCH1_ValSPG8)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG8_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG8_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG9 (&iedModel_GenericIO_T60S_FSCH1_ValSPG9)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG9_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG9_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG10 (&iedModel_GenericIO_T60S_FSCH1_ValSPG10)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG10_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG10_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG11 (&iedModel_GenericIO_T60S_FSCH1_ValSPG11)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG11_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG11_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG12 (&iedModel_GenericIO_T60S_FSCH1_ValSPG12)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG12_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG12_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG13 (&iedModel_GenericIO_T60S_FSCH1_ValSPG13)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG13_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG13_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG14 (&iedModel_GenericIO_T60S_FSCH1_ValSPG14)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG14_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG14_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG15 (&iedModel_GenericIO_T60S_FSCH1_ValSPG15)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG15_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG15_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG16 (&iedModel_GenericIO_T60S_FSCH1_ValSPG16)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG16_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG16_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG17 (&iedModel_GenericIO_T60S_FSCH1_ValSPG17)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG17_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG17_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG18 (&iedModel_GenericIO_T60S_FSCH1_ValSPG18)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG18_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG18_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG19 (&iedModel_GenericIO_T60S_FSCH1_ValSPG19)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG19_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG19_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG20 (&iedModel_GenericIO_T60S_FSCH1_ValSPG20)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG20_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG20_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG21 (&iedModel_GenericIO_T60S_FSCH1_ValSPG21)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG21_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG21_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG22 (&iedModel_GenericIO_T60S_FSCH1_ValSPG22)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG22_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG22_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG23 (&iedModel_GenericIO_T60S_FSCH1_ValSPG23)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG23_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG23_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG24 (&iedModel_GenericIO_T60S_FSCH1_ValSPG24)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG24_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG24_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG25 (&iedModel_GenericIO_T60S_FSCH1_ValSPG25)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG25_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG25_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG26 (&iedModel_GenericIO_T60S_FSCH1_ValSPG26)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG26_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG26_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG27 (&iedModel_GenericIO_T60S_FSCH1_ValSPG27)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG27_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG27_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG28 (&iedModel_GenericIO_T60S_FSCH1_ValSPG28)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG28_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG28_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG29 (&iedModel_GenericIO_T60S_FSCH1_ValSPG29)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG29_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG29_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG30 (&iedModel_GenericIO_T60S_FSCH1_ValSPG30)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG30_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG30_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG31 (&iedModel_GenericIO_T60S_FSCH1_ValSPG31)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG31_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG31_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG32 (&iedModel_GenericIO_T60S_FSCH1_ValSPG32)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG32_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG32_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG33 (&iedModel_GenericIO_T60S_FSCH1_ValSPG33)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG33_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG33_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG34 (&iedModel_GenericIO_T60S_FSCH1_ValSPG34)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG34_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG34_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG35 (&iedModel_GenericIO_T60S_FSCH1_ValSPG35)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG35_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG35_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG36 (&iedModel_GenericIO_T60S_FSCH1_ValSPG36)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG36_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG36_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG37 (&iedModel_GenericIO_T60S_FSCH1_ValSPG37)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG37_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG37_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG38 (&iedModel_GenericIO_T60S_FSCH1_ValSPG38)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG38_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG38_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG39 (&iedModel_GenericIO_T60S_FSCH1_ValSPG39)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG39_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG39_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG40 (&iedModel_GenericIO_T60S_FSCH1_ValSPG40)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG40_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG40_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG41 (&iedModel_GenericIO_T60S_FSCH1_ValSPG41)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG41_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG41_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG42 (&iedModel_GenericIO_T60S_FSCH1_ValSPG42)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG42_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG42_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG43 (&iedModel_GenericIO_T60S_FSCH1_ValSPG43)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG43_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG43_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG44 (&iedModel_GenericIO_T60S_FSCH1_ValSPG44)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG44_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG44_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG45 (&iedModel_GenericIO_T60S_FSCH1_ValSPG45)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG45_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG45_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG46 (&iedModel_GenericIO_T60S_FSCH1_ValSPG46)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG46_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG46_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG47 (&iedModel_GenericIO_T60S_FSCH1_ValSPG47)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG47_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG47_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG48 (&iedModel_GenericIO_T60S_FSCH1_ValSPG48)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG48_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG48_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG49 (&iedModel_GenericIO_T60S_FSCH1_ValSPG49)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG49_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG49_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG50 (&iedModel_GenericIO_T60S_FSCH1_ValSPG50)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG50_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG50_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG51 (&iedModel_GenericIO_T60S_FSCH1_ValSPG51)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG51_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG51_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG52 (&iedModel_GenericIO_T60S_FSCH1_ValSPG52)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG52_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG52_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG53 (&iedModel_GenericIO_T60S_FSCH1_ValSPG53)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG53_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG53_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG54 (&iedModel_GenericIO_T60S_FSCH1_ValSPG54)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG54_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG54_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG55 (&iedModel_GenericIO_T60S_FSCH1_ValSPG55)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG55_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG55_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG56 (&iedModel_GenericIO_T60S_FSCH1_ValSPG56)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG56_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG56_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG57 (&iedModel_GenericIO_T60S_FSCH1_ValSPG57)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG57_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG57_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG58 (&iedModel_GenericIO_T60S_FSCH1_ValSPG58)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG58_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG58_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG59 (&iedModel_GenericIO_T60S_FSCH1_ValSPG59)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG59_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG59_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG60 (&iedModel_GenericIO_T60S_FSCH1_ValSPG60)
+#define IEDMODEL_GenericIO_T60S_FSCH1_ValSPG60_setVal (&iedModel_GenericIO_T60S_FSCH1_ValSPG60_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_StrTm (&iedModel_GenericIO_T60S_FSCH1_StrTm)
+#define IEDMODEL_GenericIO_T60S_FSCH1_StrTm_setTm (&iedModel_GenericIO_T60S_FSCH1_StrTm_setTm)
+#define IEDMODEL_GenericIO_T60S_FSCH1_StrTm_setCal (&iedModel_GenericIO_T60S_FSCH1_StrTm_setCal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_StrTm_setCal_occ (&iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occ)
+#define IEDMODEL_GenericIO_T60S_FSCH1_StrTm_setCal_occType (&iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occType)
+#define IEDMODEL_GenericIO_T60S_FSCH1_StrTm_setCal_occPer (&iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_occPer)
+#define IEDMODEL_GenericIO_T60S_FSCH1_StrTm_setCal_weekDay (&iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_weekDay)
+#define IEDMODEL_GenericIO_T60S_FSCH1_StrTm_setCal_month (&iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_month)
+#define IEDMODEL_GenericIO_T60S_FSCH1_StrTm_setCal_day (&iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_day)
+#define IEDMODEL_GenericIO_T60S_FSCH1_StrTm_setCal_hr (&iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_hr)
+#define IEDMODEL_GenericIO_T60S_FSCH1_StrTm_setCal_mn (&iedModel_GenericIO_T60S_FSCH1_StrTm_setCal_mn)
+#define IEDMODEL_GenericIO_T60S_FSCH1_IntvPer (&iedModel_GenericIO_T60S_FSCH1_IntvPer)
+#define IEDMODEL_GenericIO_T60S_FSCH1_IntvPer_setVal (&iedModel_GenericIO_T60S_FSCH1_IntvPer_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_IntvTyp (&iedModel_GenericIO_T60S_FSCH1_IntvTyp)
+#define IEDMODEL_GenericIO_T60S_FSCH1_IntvTyp_setVal (&iedModel_GenericIO_T60S_FSCH1_IntvTyp_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdReuse (&iedModel_GenericIO_T60S_FSCH1_SchdReuse)
+#define IEDMODEL_GenericIO_T60S_FSCH1_SchdReuse_setVal (&iedModel_GenericIO_T60S_FSCH1_SchdReuse_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2 (&iedModel_GenericIO_T60S_FSCH2)
+#define IEDMODEL_GenericIO_T60S_FSCH2_Beh (&iedModel_GenericIO_T60S_FSCH2_Beh)
+#define IEDMODEL_GenericIO_T60S_FSCH2_Beh_stVal (&iedModel_GenericIO_T60S_FSCH2_Beh_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_Beh_q (&iedModel_GenericIO_T60S_FSCH2_Beh_q)
+#define IEDMODEL_GenericIO_T60S_FSCH2_Beh_t (&iedModel_GenericIO_T60S_FSCH2_Beh_t)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdSt (&iedModel_GenericIO_T60S_FSCH2_SchdSt)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdSt_stVal (&iedModel_GenericIO_T60S_FSCH2_SchdSt_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdSt_q (&iedModel_GenericIO_T60S_FSCH2_SchdSt_q)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdSt_t (&iedModel_GenericIO_T60S_FSCH2_SchdSt_t)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdEntr (&iedModel_GenericIO_T60S_FSCH2_SchdEntr)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdEntr_stVal (&iedModel_GenericIO_T60S_FSCH2_SchdEntr_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdEntr_q (&iedModel_GenericIO_T60S_FSCH2_SchdEntr_q)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdEntr_t (&iedModel_GenericIO_T60S_FSCH2_SchdEntr_t)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPS (&iedModel_GenericIO_T60S_FSCH2_ValSPS)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPS_stVal (&iedModel_GenericIO_T60S_FSCH2_ValSPS_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPS_q (&iedModel_GenericIO_T60S_FSCH2_ValSPS_q)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPS_t (&iedModel_GenericIO_T60S_FSCH2_ValSPS_t)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq (&iedModel_GenericIO_T60S_FSCH2_VldReq)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_stVal (&iedModel_GenericIO_T60S_FSCH2_VldReq_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_q (&iedModel_GenericIO_T60S_FSCH2_VldReq_q)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_Oper (&iedModel_GenericIO_T60S_FSCH2_VldReq_Oper)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_Oper_ctlVal (&iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_ctlVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_Oper_origin (&iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_Oper_origin_orCat (&iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin_orCat)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_Oper_origin_orIdent (&iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_origin_orIdent)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_Oper_ctlNum (&iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_ctlNum)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_Oper_T (&iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_T)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_Oper_Test (&iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_Test)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_Oper_Check (&iedModel_GenericIO_T60S_FSCH2_VldReq_Oper_Check)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_ctlModel (&iedModel_GenericIO_T60S_FSCH2_VldReq_ctlModel)
+#define IEDMODEL_GenericIO_T60S_FSCH2_VldReq_t (&iedModel_GenericIO_T60S_FSCH2_VldReq_t)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq (&iedModel_GenericIO_T60S_FSCH2_EnaReq)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_stVal (&iedModel_GenericIO_T60S_FSCH2_EnaReq_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_q (&iedModel_GenericIO_T60S_FSCH2_EnaReq_q)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_Oper (&iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_Oper_ctlVal (&iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_ctlVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_Oper_origin (&iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_Oper_origin_orCat (&iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin_orCat)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_Oper_origin_orIdent (&iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_origin_orIdent)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_Oper_ctlNum (&iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_ctlNum)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_Oper_T (&iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_T)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_Oper_Test (&iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_Test)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_Oper_Check (&iedModel_GenericIO_T60S_FSCH2_EnaReq_Oper_Check)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_ctlModel (&iedModel_GenericIO_T60S_FSCH2_EnaReq_ctlModel)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EnaReq_t (&iedModel_GenericIO_T60S_FSCH2_EnaReq_t)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq (&iedModel_GenericIO_T60S_FSCH2_EdtReq)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_stVal (&iedModel_GenericIO_T60S_FSCH2_EdtReq_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_q (&iedModel_GenericIO_T60S_FSCH2_EdtReq_q)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_Oper (&iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_Oper_ctlVal (&iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_ctlVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_Oper_origin (&iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_Oper_origin_orCat (&iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin_orCat)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_Oper_origin_orIdent (&iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_origin_orIdent)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_Oper_ctlNum (&iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_ctlNum)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_Oper_T (&iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_T)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_Oper_Test (&iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_Test)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_Oper_Check (&iedModel_GenericIO_T60S_FSCH2_EdtReq_Oper_Check)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_ctlModel (&iedModel_GenericIO_T60S_FSCH2_EdtReq_ctlModel)
+#define IEDMODEL_GenericIO_T60S_FSCH2_EdtReq_t (&iedModel_GenericIO_T60S_FSCH2_EdtReq_t)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq (&iedModel_GenericIO_T60S_FSCH2_DsaReq)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_stVal (&iedModel_GenericIO_T60S_FSCH2_DsaReq_stVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_q (&iedModel_GenericIO_T60S_FSCH2_DsaReq_q)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_Oper (&iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_Oper_ctlVal (&iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_ctlVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_Oper_origin (&iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_Oper_origin_orCat (&iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin_orCat)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_Oper_origin_orIdent (&iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_origin_orIdent)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_Oper_ctlNum (&iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_ctlNum)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_Oper_T (&iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_T)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_Oper_Test (&iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_Test)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_Oper_Check (&iedModel_GenericIO_T60S_FSCH2_DsaReq_Oper_Check)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_ctlModel (&iedModel_GenericIO_T60S_FSCH2_DsaReq_ctlModel)
+#define IEDMODEL_GenericIO_T60S_FSCH2_DsaReq_t (&iedModel_GenericIO_T60S_FSCH2_DsaReq_t)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdPrio (&iedModel_GenericIO_T60S_FSCH2_SchdPrio)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdPrio_setVal (&iedModel_GenericIO_T60S_FSCH2_SchdPrio_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_NumEntr (&iedModel_GenericIO_T60S_FSCH2_NumEntr)
+#define IEDMODEL_GenericIO_T60S_FSCH2_NumEntr_setVal (&iedModel_GenericIO_T60S_FSCH2_NumEntr_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdIntv (&iedModel_GenericIO_T60S_FSCH2_SchdIntv)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdIntv_setVal (&iedModel_GenericIO_T60S_FSCH2_SchdIntv_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG1 (&iedModel_GenericIO_T60S_FSCH2_ValSPG1)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG1_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG1_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG2 (&iedModel_GenericIO_T60S_FSCH2_ValSPG2)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG2_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG2_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG3 (&iedModel_GenericIO_T60S_FSCH2_ValSPG3)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG3_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG3_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG4 (&iedModel_GenericIO_T60S_FSCH2_ValSPG4)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG4_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG4_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG5 (&iedModel_GenericIO_T60S_FSCH2_ValSPG5)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG5_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG5_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG6 (&iedModel_GenericIO_T60S_FSCH2_ValSPG6)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG6_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG6_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG7 (&iedModel_GenericIO_T60S_FSCH2_ValSPG7)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG7_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG7_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG8 (&iedModel_GenericIO_T60S_FSCH2_ValSPG8)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG8_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG8_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG9 (&iedModel_GenericIO_T60S_FSCH2_ValSPG9)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG9_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG9_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG10 (&iedModel_GenericIO_T60S_FSCH2_ValSPG10)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG10_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG10_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG11 (&iedModel_GenericIO_T60S_FSCH2_ValSPG11)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG11_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG11_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG12 (&iedModel_GenericIO_T60S_FSCH2_ValSPG12)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG12_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG12_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG13 (&iedModel_GenericIO_T60S_FSCH2_ValSPG13)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG13_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG13_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG14 (&iedModel_GenericIO_T60S_FSCH2_ValSPG14)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG14_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG14_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG15 (&iedModel_GenericIO_T60S_FSCH2_ValSPG15)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG15_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG15_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG16 (&iedModel_GenericIO_T60S_FSCH2_ValSPG16)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG16_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG16_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG17 (&iedModel_GenericIO_T60S_FSCH2_ValSPG17)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG17_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG17_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG18 (&iedModel_GenericIO_T60S_FSCH2_ValSPG18)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG18_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG18_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG19 (&iedModel_GenericIO_T60S_FSCH2_ValSPG19)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG19_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG19_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG20 (&iedModel_GenericIO_T60S_FSCH2_ValSPG20)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG20_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG20_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG21 (&iedModel_GenericIO_T60S_FSCH2_ValSPG21)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG21_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG21_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG22 (&iedModel_GenericIO_T60S_FSCH2_ValSPG22)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG22_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG22_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG23 (&iedModel_GenericIO_T60S_FSCH2_ValSPG23)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG23_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG23_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG24 (&iedModel_GenericIO_T60S_FSCH2_ValSPG24)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG24_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG24_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG25 (&iedModel_GenericIO_T60S_FSCH2_ValSPG25)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG25_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG25_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG26 (&iedModel_GenericIO_T60S_FSCH2_ValSPG26)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG26_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG26_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG27 (&iedModel_GenericIO_T60S_FSCH2_ValSPG27)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG27_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG27_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG28 (&iedModel_GenericIO_T60S_FSCH2_ValSPG28)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG28_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG28_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG29 (&iedModel_GenericIO_T60S_FSCH2_ValSPG29)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG29_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG29_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG30 (&iedModel_GenericIO_T60S_FSCH2_ValSPG30)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG30_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG30_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG31 (&iedModel_GenericIO_T60S_FSCH2_ValSPG31)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG31_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG31_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG32 (&iedModel_GenericIO_T60S_FSCH2_ValSPG32)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG32_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG32_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG33 (&iedModel_GenericIO_T60S_FSCH2_ValSPG33)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG33_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG33_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG34 (&iedModel_GenericIO_T60S_FSCH2_ValSPG34)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG34_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG34_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG35 (&iedModel_GenericIO_T60S_FSCH2_ValSPG35)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG35_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG35_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG36 (&iedModel_GenericIO_T60S_FSCH2_ValSPG36)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG36_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG36_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG37 (&iedModel_GenericIO_T60S_FSCH2_ValSPG37)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG37_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG37_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG38 (&iedModel_GenericIO_T60S_FSCH2_ValSPG38)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG38_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG38_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG39 (&iedModel_GenericIO_T60S_FSCH2_ValSPG39)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG39_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG39_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG40 (&iedModel_GenericIO_T60S_FSCH2_ValSPG40)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG40_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG40_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG41 (&iedModel_GenericIO_T60S_FSCH2_ValSPG41)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG41_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG41_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG42 (&iedModel_GenericIO_T60S_FSCH2_ValSPG42)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG42_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG42_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG43 (&iedModel_GenericIO_T60S_FSCH2_ValSPG43)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG43_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG43_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG44 (&iedModel_GenericIO_T60S_FSCH2_ValSPG44)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG44_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG44_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG45 (&iedModel_GenericIO_T60S_FSCH2_ValSPG45)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG45_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG45_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG46 (&iedModel_GenericIO_T60S_FSCH2_ValSPG46)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG46_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG46_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG47 (&iedModel_GenericIO_T60S_FSCH2_ValSPG47)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG47_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG47_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG48 (&iedModel_GenericIO_T60S_FSCH2_ValSPG48)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG48_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG48_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG49 (&iedModel_GenericIO_T60S_FSCH2_ValSPG49)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG49_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG49_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG50 (&iedModel_GenericIO_T60S_FSCH2_ValSPG50)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG50_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG50_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG51 (&iedModel_GenericIO_T60S_FSCH2_ValSPG51)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG51_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG51_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG52 (&iedModel_GenericIO_T60S_FSCH2_ValSPG52)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG52_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG52_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG53 (&iedModel_GenericIO_T60S_FSCH2_ValSPG53)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG53_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG53_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG54 (&iedModel_GenericIO_T60S_FSCH2_ValSPG54)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG54_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG54_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG55 (&iedModel_GenericIO_T60S_FSCH2_ValSPG55)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG55_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG55_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG56 (&iedModel_GenericIO_T60S_FSCH2_ValSPG56)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG56_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG56_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG57 (&iedModel_GenericIO_T60S_FSCH2_ValSPG57)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG57_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG57_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG58 (&iedModel_GenericIO_T60S_FSCH2_ValSPG58)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG58_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG58_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG59 (&iedModel_GenericIO_T60S_FSCH2_ValSPG59)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG59_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG59_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG60 (&iedModel_GenericIO_T60S_FSCH2_ValSPG60)
+#define IEDMODEL_GenericIO_T60S_FSCH2_ValSPG60_setVal (&iedModel_GenericIO_T60S_FSCH2_ValSPG60_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_StrTm (&iedModel_GenericIO_T60S_FSCH2_StrTm)
+#define IEDMODEL_GenericIO_T60S_FSCH2_StrTm_setTm (&iedModel_GenericIO_T60S_FSCH2_StrTm_setTm)
+#define IEDMODEL_GenericIO_T60S_FSCH2_StrTm_setCal (&iedModel_GenericIO_T60S_FSCH2_StrTm_setCal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_StrTm_setCal_occ (&iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occ)
+#define IEDMODEL_GenericIO_T60S_FSCH2_StrTm_setCal_occType (&iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occType)
+#define IEDMODEL_GenericIO_T60S_FSCH2_StrTm_setCal_occPer (&iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_occPer)
+#define IEDMODEL_GenericIO_T60S_FSCH2_StrTm_setCal_weekDay (&iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_weekDay)
+#define IEDMODEL_GenericIO_T60S_FSCH2_StrTm_setCal_month (&iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_month)
+#define IEDMODEL_GenericIO_T60S_FSCH2_StrTm_setCal_day (&iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_day)
+#define IEDMODEL_GenericIO_T60S_FSCH2_StrTm_setCal_hr (&iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_hr)
+#define IEDMODEL_GenericIO_T60S_FSCH2_StrTm_setCal_mn (&iedModel_GenericIO_T60S_FSCH2_StrTm_setCal_mn)
+#define IEDMODEL_GenericIO_T60S_FSCH2_IntvPer (&iedModel_GenericIO_T60S_FSCH2_IntvPer)
+#define IEDMODEL_GenericIO_T60S_FSCH2_IntvPer_setVal (&iedModel_GenericIO_T60S_FSCH2_IntvPer_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_IntvTyp (&iedModel_GenericIO_T60S_FSCH2_IntvTyp)
+#define IEDMODEL_GenericIO_T60S_FSCH2_IntvTyp_setVal (&iedModel_GenericIO_T60S_FSCH2_IntvTyp_setVal)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdReuse (&iedModel_GenericIO_T60S_FSCH2_SchdReuse)
+#define IEDMODEL_GenericIO_T60S_FSCH2_SchdReuse_setVal (&iedModel_GenericIO_T60S_FSCH2_SchdReuse_setVal)
+#define IEDMODEL_GenericIO_GGIO_FSCC1 (&iedModel_GenericIO_GGIO_FSCC1)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_Beh (&iedModel_GenericIO_GGIO_FSCC1_Beh)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_Beh_stVal (&iedModel_GenericIO_GGIO_FSCC1_Beh_stVal)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_Beh_q (&iedModel_GenericIO_GGIO_FSCC1_Beh_q)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_Beh_t (&iedModel_GenericIO_GGIO_FSCC1_Beh_t)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_ActSchdRef (&iedModel_GenericIO_GGIO_FSCC1_ActSchdRef)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_ActSchdRef_stVal (&iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_stVal)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_ActSchdRef_q (&iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_q)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_ActSchdRef_t (&iedModel_GenericIO_GGIO_FSCC1_ActSchdRef_t)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_CtlEnt (&iedModel_GenericIO_GGIO_FSCC1_CtlEnt)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_CtlEnt_setSrcRef (&iedModel_GenericIO_GGIO_FSCC1_CtlEnt_setSrcRef)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_Schd1 (&iedModel_GenericIO_GGIO_FSCC1_Schd1)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_Schd1_setSrcRef (&iedModel_GenericIO_GGIO_FSCC1_Schd1_setSrcRef)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_Schd2 (&iedModel_GenericIO_GGIO_FSCC1_Schd2)
+#define IEDMODEL_GenericIO_GGIO_FSCC1_Schd2_setSrcRef (&iedModel_GenericIO_GGIO_FSCC1_Schd2_setSrcRef)
#endif /* STATIC_MODEL_H_ */
diff --git a/dotnet/IEC61850forCSharp/Control.cs b/dotnet/IEC61850forCSharp/Control.cs
index f0faa90..8604e3e 100644
--- a/dotnet/IEC61850forCSharp/Control.cs
+++ b/dotnet/IEC61850forCSharp/Control.cs
@@ -141,7 +141,10 @@ namespace IEC61850
private static extern void ControlObjectClient_setInterlockCheck(IntPtr self, bool value);
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
- private static extern void ControlObjectClient_setSynchroCheck(IntPtr self, bool value);
+ private static extern void ControlObjectClient_setSynchroCheck(IntPtr self, bool value);
+
+ [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
+ private static extern void ControlObjectClient_setTestMode(IntPtr self, bool value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate void InternalCommandTerminationHandler(IntPtr parameter,IntPtr controlClient);
@@ -404,6 +407,14 @@ namespace IEC61850
ControlObjectClient_setSynchroCheck (controlObject, value);
}
+ ///
+ /// Sets the value of the test flag for the operate command
+ ///
+ public void SetTestMode (bool value)
+ {
+ ControlObjectClient_setTestMode (controlObject, value);
+ }
+
///
/// Gets the last received LastApplError (Additional Cause Diagnostics) value.
///
diff --git a/dotnet/IEC61850forCSharp/IEC61850ClientAPI.cs b/dotnet/IEC61850forCSharp/IEC61850ClientAPI.cs
index 4a94a64..10a6c8e 100644
--- a/dotnet/IEC61850forCSharp/IEC61850ClientAPI.cs
+++ b/dotnet/IEC61850forCSharp/IEC61850ClientAPI.cs
@@ -629,7 +629,7 @@ namespace IEC61850
if (mmsValue.GetType () == MmsType.MMS_BOOLEAN)
return mmsValue.GetBoolean ();
else
- throw new IedConnectionException ("Result is not of type timestamp (MMS_UTC_TIME)", 0);
+ throw new IedConnectionException ("Result is not of type boolean (MMS_BOOLEAN)", 0);
}
/// Read the value of a basic data attribute (BDA) of type float.
diff --git a/dotnet/IEC61850forCSharp/IEC61850forCSharp.csproj b/dotnet/IEC61850forCSharp/IEC61850forCSharp.csproj
index d5d09da..e0019db 100644
--- a/dotnet/IEC61850forCSharp/IEC61850forCSharp.csproj
+++ b/dotnet/IEC61850forCSharp/IEC61850forCSharp.csproj
@@ -45,6 +45,7 @@
+
\ No newline at end of file
diff --git a/dotnet/IEC61850forCSharp/ReportControlBlock.cs b/dotnet/IEC61850forCSharp/ReportControlBlock.cs
index f4b4a69..ad9f5da 100644
--- a/dotnet/IEC61850forCSharp/ReportControlBlock.cs
+++ b/dotnet/IEC61850forCSharp/ReportControlBlock.cs
@@ -55,7 +55,7 @@ namespace IEC61850
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
static extern void IedConnection_setRCBValues (IntPtr connection, out int error, IntPtr rcb, UInt32 parametersMask, bool singleRequest);
- [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
static extern bool ClientReportControlBlock_isBuffered (IntPtr self);
@@ -69,10 +69,10 @@ namespace IEC61850
[return: MarshalAs(UnmanagedType.I1)]
static extern bool ClientReportControlBlock_getRptEna (IntPtr self);
- [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
static extern void ClientReportControlBlock_setRptEna(IntPtr self, bool rptEna);
- [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
static extern bool ClientReportControlBlock_getResv (IntPtr self);
@@ -115,14 +115,14 @@ namespace IEC61850
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
static extern void ClientReportControlBlock_setIntgPd (IntPtr self, UInt32 intgPd);
- [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
static extern bool ClientReportControlBlock_getGI (IntPtr self);
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
static extern void ClientReportControlBlock_setGI (IntPtr self, bool gi);
- [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
+ [DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.I1)]
static extern bool ClientReportControlBlock_getPurgeBuf (IntPtr self);
@@ -149,11 +149,11 @@ namespace IEC61850
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
static extern void IedConnection_installReportHandler (IntPtr connection, string rcbReference, string rptId, InternalReportHandler handler,
- IntPtr handlerParameter);
+ IntPtr handlerParameter);
[DllImport("iec61850", CallingConvention = CallingConvention.Cdecl)]
static extern void IedConnection_uninstallReportHandler(IntPtr connection, string rcbReference);
-
+
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate void InternalReportHandler (IntPtr parameter, IntPtr report);
@@ -256,7 +256,7 @@ namespace IEC61850
///
///
/// This will install a callback handler (delegate) that is invoked whenever a report
- /// related this RCB is received. Any call of this method will replace an previously registered
+ /// related to this RCB is received. Any call of this method will replace an previously registered
/// handler!
///
///
@@ -273,13 +273,13 @@ namespace IEC61850
if (reportHandlerInstalled == false) {
- string reportId = this.GetRptId ();
-
- if (internalHandler == null)
- {
- internalHandler = new InternalReportHandler(internalReportHandler);
- }
-
+ string reportId = this.GetRptId ();
+
+ if (internalHandler == null)
+ {
+ internalHandler = new InternalReportHandler(internalReportHandler);
+ }
+
IedConnection_installReportHandler(this.connection, objectReference, reportId, internalHandler, IntPtr.Zero);
reportHandlerInstalled = true;
}
@@ -539,24 +539,24 @@ namespace IEC61850
flagRptEna = true;
}
- ///
- /// Get the purgeBuf flag of the report control block
- ///
+ ///
+ /// Get the purgeBuf flag of the report control block
+ ///
/// the prugeBuf value
- public bool GetPurgeBuf ()
- {
- return ClientReportControlBlock_getPurgeBuf(self);
+ public bool GetPurgeBuf ()
+ {
+ return ClientReportControlBlock_getPurgeBuf(self);
}
- ///
- /// Set the purgeBuf flag of the report control block
- ///
- /// This is only for buffered RCBs. If set to true the report buffer of a buffered RCB will be cleaned.
+ ///
+ /// Set the purgeBuf flag of the report control block
+ ///
+ /// This is only for buffered RCBs. If set to true the report buffer of a buffered RCB will be cleaned.
/// set to true to flush report buffer
- public void SetPurgeBuf (bool purgeBuf)
- {
- ClientReportControlBlock_setPurgeBuf(self, purgeBuf);
- flagPurgeBuf = true;
+ public void SetPurgeBuf (bool purgeBuf)
+ {
+ ClientReportControlBlock_setPurgeBuf(self, purgeBuf);
+ flagPurgeBuf = true;
}
///
diff --git a/dotnet/reporting/ReportingExample.cs b/dotnet/reporting/ReportingExample.cs
index 9857194..9e84c86 100644
--- a/dotnet/reporting/ReportingExample.cs
+++ b/dotnet/reporting/ReportingExample.cs
@@ -41,8 +41,8 @@ namespace reporting
Console.WriteLine(" element " + i + " included for reason " + report.GetReasonForInclusion(i).ToString() + " " + values.GetElement(i));
}
- if (report.HasDataReference()) {
- Console.WriteLine(" data-ref: " + report.GetDataReference(i));
+ if (report.HasDataReference()) {
+ Console.WriteLine(" data-ref: " + report.GetDataReference(i));
}
}
@@ -79,35 +79,35 @@ namespace reporting
ReportControlBlock rcb1 = con.GetReportControlBlock(rcbReference1);
ReportControlBlock rcb2 = con.GetReportControlBlock(rcbReference2);
- ReportControlBlock rcb3 = con.GetReportControlBlock(rcbReference3);
-
- rcb1.GetRCBValues();
-
- // note: the second parameter is not required!
- rcb1.InstallReportHandler(reportHandler, rcb1);
-
- if (rcb1.IsBuffered())
- Console.WriteLine("RCB: " + rcbReference1 + " is buffered");
-
- rcb1.SetTrgOps(TriggerOptions.DATA_CHANGED | TriggerOptions.INTEGRITY);
- rcb1.SetIntgPd(5000);
- rcb1.SetRptEna(true);
-
- rcb1.SetRCBValues();
-
- rcb2.GetRCBValues();
-
- if (rcb2.IsBuffered())
- Console.WriteLine("RCB: " + rcbReference2 + " is buffered");
-
- rcb2.InstallReportHandler(reportHandler, rcb2);
-
- rcb2.SetOptFlds(ReportOptions.REASON_FOR_INCLUSION | ReportOptions.SEQ_NUM | ReportOptions.TIME_STAMP |
- ReportOptions.CONF_REV | ReportOptions.ENTRY_ID | ReportOptions.DATA_REFERENCE | ReportOptions.DATA_SET);
- rcb2.SetTrgOps(TriggerOptions.DATA_CHANGED | TriggerOptions.INTEGRITY);
- rcb2.SetIntgPd(2000);
- rcb2.SetRptEna(true);
-
+ ReportControlBlock rcb3 = con.GetReportControlBlock(rcbReference3);
+
+ rcb1.GetRCBValues();
+
+ // note: the second parameter is not required!
+ rcb1.InstallReportHandler(reportHandler, rcb1);
+
+ if (rcb1.IsBuffered())
+ Console.WriteLine("RCB: " + rcbReference1 + " is buffered");
+
+ rcb1.SetTrgOps(TriggerOptions.DATA_CHANGED | TriggerOptions.INTEGRITY);
+ rcb1.SetIntgPd(5000);
+ rcb1.SetRptEna(true);
+
+ rcb1.SetRCBValues();
+
+ rcb2.GetRCBValues();
+
+ if (rcb2.IsBuffered())
+ Console.WriteLine("RCB: " + rcbReference2 + " is buffered");
+
+ rcb2.InstallReportHandler(reportHandler, rcb2);
+
+ rcb2.SetOptFlds(ReportOptions.REASON_FOR_INCLUSION | ReportOptions.SEQ_NUM | ReportOptions.TIME_STAMP |
+ ReportOptions.CONF_REV | ReportOptions.ENTRY_ID | ReportOptions.DATA_REFERENCE | ReportOptions.DATA_SET);
+ rcb2.SetTrgOps(TriggerOptions.DATA_CHANGED | TriggerOptions.INTEGRITY);
+ rcb2.SetIntgPd(2000);
+ rcb2.SetRptEna(true);
+
rcb2.SetRCBValues();
rcb3.GetRCBValues();
@@ -154,7 +154,7 @@ namespace reporting
Console.WriteLine ("Error: " + e.Message);
con.Dispose ();
- }
+ }
}
}
diff --git a/dotnet/tests/Test.cs b/dotnet/tests/Test.cs
index ca1e4b6..887ccb8 100644
--- a/dotnet/tests/Test.cs
+++ b/dotnet/tests/Test.cs
@@ -2,6 +2,9 @@
using System;
using IEC61850.Common;
using IEC61850.Client;
+using IEC61850.Server;
+using System.Collections.Generic;
+using System.Threading;
namespace tests
{
@@ -102,7 +105,267 @@ namespace tests
Assert.AreEqual (val.ToFloat (), (float)0.1234);
}
+ [Test ()]
+ public void CreateModelFromNonExistingFile()
+ {
+ IedModel iedModel = ConfigFileParser.CreateModelFromConfigFile ("test.cfg");
+ Assert.IsNull (iedModel);
+ }
+
+ [Test ()]
+ public void CreateModelFromFile()
+ {
+ IedModel iedModel = ConfigFileParser.CreateModelFromConfigFile ("../../model.cfg");
+
+ Assert.NotNull (iedModel);
+ }
+
+ [Test ()]
+ public void StartStopSimpleServer()
+ {
+ IedModel iedModel = ConfigFileParser.CreateModelFromConfigFile ("../../model.cfg");
+
+ IedServer iedServer = new IedServer (iedModel);
+
+ Assert.NotNull (iedServer);
+
+ iedServer.Start (10002);
+
+ Assert.IsTrue (iedServer.IsRunning ());
+
+ iedServer.Stop ();
+
+ Assert.IsFalse (iedServer.IsRunning ());
+
+ iedServer.Destroy ();
+ }
+
+ [Test ()]
+ public void ConnectToServer()
+ {
+ IedModel iedModel = ConfigFileParser.CreateModelFromConfigFile ("../../model.cfg");
+
+ IedServer iedServer = new IedServer (iedModel);
+
+ iedServer.Start (10002);
+
+ IedConnection connection = new IedConnection ();
+
+ connection.Connect ("localhost", 10002);
+
+ List list = connection.GetServerDirectory ();
+
+ Assert.IsNotEmpty (list);
+
+ Assert.AreEqual (list.ToArray () [0], "simpleIOGenericIO");
+
+ iedServer.Stop ();
+
+ iedServer.Destroy ();
+ }
+
+ [Test ()]
+ public void AccessDataModelServerSide()
+ {
+ IedModel iedModel = ConfigFileParser.CreateModelFromConfigFile ("../../model.cfg");
+
+ ModelNode modelNode = iedModel.GetModelNodeByShortObjectReference ("GenericIO/GGIO1.AnIn1");
+
+ Assert.IsTrue (modelNode.GetType ().Equals (typeof(DataObject)));
+
+ modelNode = iedModel.GetModelNodeByShortObjectReference ("GenericIO/GGIO1.AnIn1.mag.f");
+
+ Assert.IsTrue (modelNode.GetType ().Equals (typeof(DataAttribute)));
+
+ Assert.IsNotNull (modelNode);
+ }
+
+ [Test ()]
+ public void AccessDataModelClientServer()
+ {
+ IedModel iedModel = ConfigFileParser.CreateModelFromConfigFile ("../../model.cfg");
+
+ ModelNode ind1 = iedModel.GetModelNodeByShortObjectReference ("GenericIO/GGIO1.Ind1.stVal");
+
+ Assert.IsTrue (ind1.GetType ().Equals (typeof(DataAttribute)));
+
+ IedServer iedServer = new IedServer (iedModel);
+
+ iedServer.Start (10002);
+
+ iedServer.UpdateBooleanAttributeValue((DataAttribute) ind1, true);
+
+ IedConnection connection = new IedConnection ();
+
+ connection.Connect ("localhost", 10002);
+
+ bool stVal = connection.ReadBooleanValue ("simpleIOGenericIO/GGIO1.Ind1.stVal", FunctionalConstraint.ST);
+
+ Assert.IsTrue (stVal);
+
+ iedServer.UpdateBooleanAttributeValue((DataAttribute) ind1, false);
+
+ stVal = connection.ReadBooleanValue ("simpleIOGenericIO/GGIO1.Ind1.stVal", FunctionalConstraint.ST);
+
+ Assert.IsFalse (stVal);
+
+ connection.Abort ();
+
+ iedServer.Stop ();
+
+ iedServer.Destroy ();
+ }
+
+
+ [Test()]
+ public void ControlWriteAccessToServer()
+ {
+
+ IedModel iedModel = ConfigFileParser.CreateModelFromConfigFile ("../../model.cfg");
+
+ DataAttribute opDlTmms = (DataAttribute) iedModel.GetModelNodeByShortObjectReference("GenericIO/PDUP1.OpDlTmms.setVal");
+ DataAttribute rsDlTmms = (DataAttribute)iedModel.GetModelNodeByShortObjectReference ("GenericIO/PDUP1.RsDlTmms.setVal");
+
+ IedServer iedServer = new IedServer (iedModel);
+
+ int opDlTmmsValue = 0;
+
+ iedServer.HandleWriteAccess (opDlTmms, delegate(DataAttribute dataAttr, MmsValue value, ClientConnection con, object parameter) {
+ opDlTmmsValue = value.ToInt32();
+ return MmsDataAccessError.DATA_ACCESS_ERROR_SUCCESS;
+ }, null);
+
+ iedServer.HandleWriteAccess (rsDlTmms, delegate(DataAttribute dataAttr, MmsValue value, ClientConnection con, object parameter) {
+ if (value.ToInt32() > 1000)
+ return MmsDataAccessError.DATA_ACCESS_ERROR_OBJECT_VALUE_INVALID;
+ else
+ return MmsDataAccessError.DATA_ACCESS_ERROR_SUCCESS;
+ }, null);
+
+ iedServer.Start (10002);
+
+ IedConnection connection = new IedConnection ();
+
+ connection.Connect ("localhost", 10002);
+
+ connection.WriteValue ("simpleIOGenericIO/PDUP1.OpDlTmms.setVal", FunctionalConstraint.SP, new MmsValue ((int)1234));
+
+
+ try {
+ connection.WriteValue ("simpleIOGenericIO/PDUP1.RsDlTmms.setVal", FunctionalConstraint.SP, new MmsValue ((int)1234));
+ }
+ catch (IedConnectionException e) {
+ Assert.AreEqual (IedClientError.IED_ERROR_OBJECT_VALUE_INVALID, e.GetIedClientError());
+ }
+
+ connection.WriteValue ("simpleIOGenericIO/PDUP1.RsDlTmms.setVal", FunctionalConstraint.SP, new MmsValue ((int)999));
+
+ MmsValue rsDlTmmsValue = iedServer.GetAttributeValue (rsDlTmms);
+
+ Assert.AreEqual (999, rsDlTmmsValue.ToInt32 ());
+
+ connection.Abort ();
+
+ iedServer.Stop ();
+
+ Assert.AreEqual ((int) 1234, opDlTmmsValue);
+
+ iedServer.Destroy ();
+ }
+
+ [Test()]
+ public void WriteAccessPolicy()
+ {
+
+ IedModel iedModel = ConfigFileParser.CreateModelFromConfigFile ("../../model.cfg");
+
+ DataAttribute opDlTmms = (DataAttribute) iedModel.GetModelNodeByShortObjectReference("GenericIO/PDUP1.OpDlTmms.setVal");
+ DataAttribute rsDlTmms = (DataAttribute)iedModel.GetModelNodeByShortObjectReference ("GenericIO/PDUP1.RsDlTmms.setVal");
+
+ IedServer iedServer = new IedServer (iedModel);
+
+ iedServer.HandleWriteAccess (opDlTmms, delegate(DataAttribute dataAttr, MmsValue value, ClientConnection con, object parameter) {
+ return MmsDataAccessError.DATA_ACCESS_ERROR_SUCCESS;
+ }, null);
+
+
+ iedServer.Start (10002);
+
+ IedConnection connection = new IedConnection ();
+
+ connection.Connect ("localhost", 10002);
+
+ connection.WriteValue ("simpleIOGenericIO/PDUP1.RsDlTmms.setVal", FunctionalConstraint.SP, new MmsValue ((int)1234));
+
+ iedServer.SetWriteAccessPolicy (FunctionalConstraint.SP, AccessPolicy.ACCESS_POLICY_DENY);
+
+ connection.WriteValue ("simpleIOGenericIO/PDUP1.OpDlTmms.setVal", FunctionalConstraint.SP, new MmsValue ((int)1234));
+
+ try {
+ connection.WriteValue ("simpleIOGenericIO/PDUP1.RsDlTmms.setVal", FunctionalConstraint.SP, new MmsValue ((int)999));
+ }
+ catch (IedConnectionException e) {
+ Assert.AreEqual (IedClientError.IED_ERROR_ACCESS_DENIED, e.GetIedClientError());
+ }
+
+ MmsValue rsDlTmmsValue = iedServer.GetAttributeValue (rsDlTmms);
+
+ Assert.AreEqual (1234, rsDlTmmsValue.ToInt32 ());
+
+ connection.Abort ();
+
+ iedServer.Stop ();
+
+ iedServer.Destroy ();
+ }
+
+ [Test()]
+ public void ConnectionHandler()
+ {
+ IedModel iedModel = ConfigFileParser.CreateModelFromConfigFile ("../../model.cfg");
+
+ int handlerCalled = 0;
+ int connectionCount = 0;
+
+ IedServer iedServer = new IedServer (iedModel);
+
+ string ipAddress = null;
+
+ iedServer.SetConnectionIndicationHandler(delegate(IedServer server, ClientConnection clientConnection, bool connected, object parameter) {
+ handlerCalled++;
+ if (connected)
+ connectionCount++;
+ else
+ connectionCount--;
+
+ ipAddress = clientConnection.GetPeerAddress();
+ }, null);
+
+ iedServer.Start (10002);
+
+ IedConnection con1 = new IedConnection ();
+ con1.Connect ("localhost", 10002);
+
+ Assert.AreEqual (1, handlerCalled);
+ Assert.AreEqual (1, connectionCount);
+
+ IedConnection con2 = new IedConnection ();
+ con2.Connect ("localhost", 10002);
+
+ Assert.AreEqual (2, handlerCalled);
+ Assert.AreEqual (2, connectionCount);
+
+ con1.Abort ();
+ con2.Abort ();
+
+ Assert.AreEqual (4, handlerCalled);
+ Assert.AreEqual (0, connectionCount);
+
+ Assert.AreEqual ("127.0.0.1:", ipAddress.Substring (0, 10));
+
+ iedServer.Stop ();
+ }
}
}
diff --git a/dotnet/tests/test.icd b/dotnet/tests/test.icd
new file mode 100644
index 0000000..f7a8e32
--- /dev/null
+++ b/dotnet/tests/test.icd
@@ -0,0 +1,326 @@
+
+
+
+
+
+ Station bus
+
+
+
+ 111
+ 4
+ 01-0c-cd-01-00-01
+ 1000
+
+
+
+
+ 111
+ 4
+ 01-0c-cd-01-00-01
+ 1000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ status-only
+
+
+
+
+
+
+
+ status-only
+
+
+
+
+
+
+
+
+ direct-with-normal-security
+
+
+
+
+ direct-with-normal-security
+
+
+
+
+ direct-with-normal-security
+
+
+
+
+ direct-with-normal-security
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ status-only
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on
+ blocked
+ test
+ test/blocked
+ off
+
+
+
+ status-only
+ direct-with-normal-security
+ sbo-with-normal-security
+ direct-with-enhanced-security
+ sbo-with-enhanced-security
+
+
+
+ not-supported
+ bay-control
+ station-control
+ remote-control
+ automatic-bay
+ automatic-station
+ automatic-remote
+ maintenance
+ process
+
+
+
+ unknown
+ forward
+ backward
+ both
+
+
+
+
+
diff --git a/examples/server_example_logging/server_example_logging.c b/examples/server_example_logging/server_example_logging.c
index 7690725..f0c80ae 100644
--- a/examples/server_example_logging/server_example_logging.c
+++ b/examples/server_example_logging/server_example_logging.c
@@ -145,6 +145,7 @@ main(int argc, char** argv)
IedServer_setLogStorage(iedServer, "GenericIO/LLN0$EventLog", statusLog);
+#if 0
uint64_t entryID = LogStorage_addEntry(statusLog, Hal_getTimeInMs());
MmsValue* value = MmsValue_newIntegerFromInt32(123);
@@ -167,6 +168,8 @@ main(int argc, char** argv)
LogStorage_addEntryData(statusLog, entryID, "simpleIOGenerioIO/GPIO1$ST$SPCSO1$t", blob, blobSize, 0);
LogStorage_getEntries(statusLog, 0, Hal_getTimeInMs(), entryCallback, (LogEntryDataCallback) entryDataCallback, NULL);
+#endif
+
/* MMS server will be instructed to start listening to client connections. */
IedServer_start(iedServer, 102);
diff --git a/examples/server_example_logging/simpleIO_direct_control.icd b/examples/server_example_logging/simpleIO_direct_control.icd
index 216f1f7..a2c745a 100644
--- a/examples/server_example_logging/simpleIO_direct_control.icd
+++ b/examples/server_example_logging/simpleIO_direct_control.icd
@@ -108,7 +108,7 @@
-
+
diff --git a/src/common/inc/libiec61850_platform_includes.h b/src/common/inc/libiec61850_platform_includes.h
index 97ae275..7c2452f 100644
--- a/src/common/inc/libiec61850_platform_includes.h
+++ b/src/common/inc/libiec61850_platform_includes.h
@@ -15,7 +15,7 @@
#include "platform_endian.h"
-#define LIBIEC61850_VERSION "0.9.2"
+#define LIBIEC61850_VERSION "0.9.3"
#ifndef CONFIG_DEFAULT_MMS_VENDOR_NAME
#define CONFIG_DEFAULT_MMS_VENDOR_NAME "libiec61850.com"
diff --git a/src/hal/socket/linux/socket_linux.c b/src/hal/socket/linux/socket_linux.c
index b00423d..cbf6c25 100644
--- a/src/hal/socket/linux/socket_linux.c
+++ b/src/hal/socket/linux/socket_linux.c
@@ -331,11 +331,19 @@ Socket_connect(Socket self, const char* address, int port)
timeout.tv_sec = self->connectTimeout / 1000;
timeout.tv_usec = (self->connectTimeout % 1000) * 1000;
- if (select(self->fd + 1, NULL, &fdSet, NULL, &timeout) <= 0)
- return false;
- else
- return true;
+ if (select(self->fd + 1, NULL, &fdSet , NULL, &timeout) == 1) {
+ int so_error;
+ socklen_t len = sizeof so_error;
+ getsockopt(self->fd, SOL_SOCKET, SO_ERROR, &so_error, &len);
+
+ if (so_error == 0)
+ return true;
+ }
+
+ close (self->fd);
+
+ return false;
}
char*
diff --git a/src/hal/socket/win32/socket_win32.c b/src/hal/socket/win32/socket_win32.c
index 8c0b084..0e94445 100644
--- a/src/hal/socket/win32/socket_win32.c
+++ b/src/hal/socket/win32/socket_win32.c
@@ -262,6 +262,7 @@ TcpSocket_create()
Socket self = (Socket) GLOBAL_MALLOC(sizeof(struct sSocket));
self->fd = INVALID_SOCKET;
+ self->connectTimeout = 5000;
return self;
}
diff --git a/src/iec61850/client/client_control.c b/src/iec61850/client/client_control.c
index 54f4938..058f0d2 100644
--- a/src/iec61850/client/client_control.c
+++ b/src/iec61850/client/client_control.c
@@ -871,6 +871,12 @@ ControlObjectClient_setSynchroCheck(ControlObjectClient self, bool value)
self->synchroCheck = value;
}
+void
+ControlObjectClient_setTestMode(ControlObjectClient self, bool value)
+{
+ self->test = value;
+}
+
void
ControlObjectClient_setLastApplError(ControlObjectClient self, LastApplError lastApplError)
{
diff --git a/src/iec61850/inc/iec61850_client.h b/src/iec61850/inc/iec61850_client.h
index 0181f71..7ce06ee 100644
--- a/src/iec61850/inc/iec61850_client.h
+++ b/src/iec61850/inc/iec61850_client.h
@@ -1502,7 +1502,7 @@ LastApplError
ControlObjectClient_getLastApplError(ControlObjectClient self);
void
-ControlObjectClient_setTestMode(ControlObjectClient self);
+ControlObjectClient_setTestMode(ControlObjectClient self, bool value);
void
ControlObjectClient_setOrigin(ControlObjectClient self, const char* orIdent, int orCat);
diff --git a/src/iec61850/inc/iec61850_model.h b/src/iec61850/inc/iec61850_model.h
index 3a99b08..850126d 100644
--- a/src/iec61850/inc/iec61850_model.h
+++ b/src/iec61850/inc/iec61850_model.h
@@ -156,9 +156,9 @@ typedef enum {
typedef enum {
LogicalDeviceModelType,
- LogicalNodeModelType,
- DataObjectModelType,
- DataAttributeModelType
+ LogicalNodeModelType,
+ DataObjectModelType,
+ DataAttributeModelType
} ModelNodeType;
struct sIedModel {
@@ -176,89 +176,89 @@ struct sIedModel {
struct sLogicalDevice {
ModelNodeType modelType;
- char* name;
- ModelNode* parent;
- ModelNode* sibling;
- ModelNode* firstChild;
+ char* name;
+ ModelNode* parent;
+ ModelNode* sibling;
+ ModelNode* firstChild;
};
struct sModelNode {
- ModelNodeType modelType;
- char* name;
- ModelNode* parent;
- ModelNode* sibling;
- ModelNode* firstChild;
+ ModelNodeType modelType;
+ char* name;
+ ModelNode* parent;
+ ModelNode* sibling;
+ ModelNode* firstChild;
};
struct sLogicalNode {
- ModelNodeType modelType;
- char* name;
- ModelNode* parent;
- ModelNode* sibling;
- ModelNode* firstChild;
+ ModelNodeType modelType;
+ char* name;
+ ModelNode* parent;
+ ModelNode* sibling;
+ ModelNode* firstChild;
};
struct sDataObject {
- ModelNodeType modelType;
- char* name;
- ModelNode* parent;
- ModelNode* sibling;
- ModelNode* firstChild;
+ ModelNodeType modelType;
+ char* name;
+ ModelNode* parent;
+ ModelNode* sibling;
+ ModelNode* firstChild;
- int elementCount; /* > 0 if this is an array */
+ int elementCount; /* > 0 if this is an array */
};
struct sDataAttribute {
- ModelNodeType modelType;
- char* name;
- ModelNode* parent;
- ModelNode* sibling;
- ModelNode* firstChild;
+ ModelNodeType modelType;
+ char* name;
+ ModelNode* parent;
+ ModelNode* sibling;
+ ModelNode* firstChild;
- int elementCount; /* > 0 if this is an array */
+ int elementCount; /* > 0 if this is an array */
- FunctionalConstraint fc;
- DataAttributeType type;
+ FunctionalConstraint fc;
+ DataAttributeType type;
- uint8_t triggerOptions; /* TRG_OPT_DATA_CHANGED | TRG_OPT_QUALITY_CHANGED | TRG_OPT_DATA_UPDATE */
+ uint8_t triggerOptions; /* TRG_OPT_DATA_CHANGED | TRG_OPT_QUALITY_CHANGED | TRG_OPT_DATA_UPDATE */
- MmsValue* mmsValue;
+ MmsValue* mmsValue;
- uint32_t sAddr;
+ uint32_t sAddr;
};
typedef struct sDataSetEntry {
- char* logicalDeviceName;
- bool isLDNameDynamicallyAllocated;
- char* variableName;
- int index;
- char* componentName;
- MmsValue* value;
- struct sDataSetEntry* sibling;
+ char* logicalDeviceName;
+ bool isLDNameDynamicallyAllocated;
+ char* variableName;
+ int index;
+ char* componentName;
+ MmsValue* value;
+ struct sDataSetEntry* sibling;
} DataSetEntry;
struct sDataSet {
- char* logicalDeviceName;
- char* name; /* eg. MMXU1$dataset1 */
- int elementCount;
- DataSetEntry* fcdas;
- DataSet* sibling;
+ char* logicalDeviceName;
+ char* name; /* eg. MMXU1$dataset1 */
+ int elementCount;
+ DataSetEntry* fcdas;
+ DataSet* sibling;
};
struct sReportControlBlock {
- LogicalNode* parent;
- char* name;
- char* rptId;
- bool buffered;
- char* dataSetName; /* pre loaded with relative name in logical node */
+ LogicalNode* parent;
+ char* name;
+ char* rptId;
+ bool buffered;
+ char* dataSetName; /* pre loaded with relative name in logical node */
- uint32_t confRef; /* ConfRef - configuration revision */
- uint8_t trgOps; /* TrgOps - trigger conditions */
- uint8_t options; /* OptFlds */
- uint32_t bufferTime; /* BufTm - time to buffer events until a report is generated */
- uint32_t intPeriod; /* IntgPd - integrity period */
+ uint32_t confRef; /* ConfRef - configuration revision */
+ uint8_t trgOps; /* TrgOps - trigger conditions */
+ uint8_t options; /* OptFlds */
+ uint32_t bufferTime; /* BufTm - time to buffer events until a report is generated */
+ uint32_t intPeriod; /* IntgPd - integrity period */
- ReportControlBlock* sibling; /* next control block in list or NULL if this is the last entry */
+ ReportControlBlock* sibling; /* next control block in list or NULL if this is the last entry */
};
struct sLogControlBlock {
@@ -386,6 +386,12 @@ ModelNode_getChildWithFc(ModelNode* self, const char* name, FunctionalConstraint
char*
ModelNode_getObjectReference(ModelNode* self, char* objectReference);
+/**
+ *
+ */
+ModelNodeType
+ModelNode_getType(ModelNode* self);
+
/**
* \brief Set the name of the IED
*
diff --git a/src/iec61850/server/mms_mapping/logging.c b/src/iec61850/server/mms_mapping/logging.c
index a7b6ad5..6fb2f78 100644
--- a/src/iec61850/server/mms_mapping/logging.c
+++ b/src/iec61850/server/mms_mapping/logging.c
@@ -791,11 +791,6 @@ createLogControlBlock(MmsMapping* self, LogControlBlock* logControlBlock,
prepareLogControl(logControl);
- if (logControl->enabled)
- enableLogging(logControl);
-
- LogControl_updateLogEna(logControl);
-
return lcb;
}
@@ -829,6 +824,11 @@ Logging_createLCBs(MmsMapping* self, MmsDomain* domain, LogicalNode* logicalNode
if (logControlBlock->logRef != NULL)
logControl->logInstance = getLogInstanceByLogRef(self, logControlBlock->logRef);
+ if (logControl->enabled)
+ enableLogging(logControl);
+
+ LogControl_updateLogEna(logControl);
+
LinkedList_add(self->logControls, logControl);
currentLcb++;
diff --git a/src/iec61850/server/mms_mapping/mms_mapping.c b/src/iec61850/server/mms_mapping/mms_mapping.c
index b056b83..41a0b47 100644
--- a/src/iec61850/server/mms_mapping/mms_mapping.c
+++ b/src/iec61850/server/mms_mapping/mms_mapping.c
@@ -621,8 +621,6 @@ MmsMapping_configureSettingGroups(MmsMapping* self)
MmsValue_setUint16(resvTms, 0U);
settingGroup->sgcbMmsValues = values;
-
- break;
}
else if (DEBUG_IED_SERVER)
printf("IED_SERVER: Values for SGCB do not exist\n");
diff --git a/src/iec61850/server/mms_mapping/reporting.c b/src/iec61850/server/mms_mapping/reporting.c
index 9bd155b..069e833 100644
--- a/src/iec61850/server/mms_mapping/reporting.c
+++ b/src/iec61850/server/mms_mapping/reporting.c
@@ -1670,6 +1670,9 @@ removeAllGIReportsFromReportBuffer(ReportBuffer* reportBuffer)
currentReport = currentReport->next;
}
}
+
+ if (reportBuffer->oldestReport == NULL)
+ reportBuffer->lastEnqueuedReport = NULL;
}
static void
diff --git a/src/iec61850/server/model/dynamic_model.c b/src/iec61850/server/model/dynamic_model.c
index 1f51fa1..0098f09 100644
--- a/src/iec61850/server/model/dynamic_model.c
+++ b/src/iec61850/server/model/dynamic_model.c
@@ -387,6 +387,7 @@ SettingGroupControlBlock_create(LogicalNode* parent, uint8_t actSG, uint8_t numO
self->actSG = actSG;
self->numOfSGs = numOfSGs;
self->sibling = NULL;
+ self->editSG = 0;
LogicalNode_addSettingGroupControlBlock(parent, self);
diff --git a/src/iec61850/server/model/model.c b/src/iec61850/server/model/model.c
index b2998ec..03a0092 100644
--- a/src/iec61850/server/model/model.c
+++ b/src/iec61850/server/model/model.c
@@ -639,6 +639,12 @@ ModelNode_getChildWithFc(ModelNode* self, const char* name, FunctionalConstraint
return matchingNode;
}
+ModelNodeType
+ModelNode_getType(ModelNode* self)
+{
+ return self->modelType;
+}
+
LogicalNode*
LogicalDevice_getLogicalNode(LogicalDevice* self, const char* nodeName)
{
diff --git a/src/mms/iso_mms/common/mms_value.c b/src/mms/iso_mms/common/mms_value.c
index d2eca37..ee1ccd3 100644
--- a/src/mms/iso_mms/common/mms_value.c
+++ b/src/mms/iso_mms/common/mms_value.c
@@ -1,7 +1,7 @@
/*
- * MmsValue.c
+ * mms_value.c
*
- * Copyright 2013-2015 Michael Zillgith
+ * Copyright 2013-2016 Michael Zillgith
*
* This file is part of libIEC61850.
*
diff --git a/src/vs/libiec61850-wo-goose.def b/src/vs/libiec61850-wo-goose.def
index 0735c33..661f60c 100644
--- a/src/vs/libiec61850-wo-goose.def
+++ b/src/vs/libiec61850-wo-goose.def
@@ -550,3 +550,5 @@ EXPORTS
SV_ASDU_addFLOAT64
SV_ASDU_setFLOAT64
MmsConnection_setRawMessageHandler
+ ModelNode_getType
+ ControlObjectClient_setTestMode
diff --git a/src/vs/libiec61850.def b/src/vs/libiec61850.def
index ee2495f..75c3ec1 100644
--- a/src/vs/libiec61850.def
+++ b/src/vs/libiec61850.def
@@ -626,3 +626,6 @@ EXPORTS
SV_ASDU_addFLOAT64
SV_ASDU_setFLOAT64
MmsConnection_setRawMessageHandler
+ ModelNode_getType
+ ControlObjectClient_setTestMode
+
diff --git a/tools/model_generator/gendyncode.jar b/tools/model_generator/gendyncode.jar
index e25b642..0721d44 100644
Binary files a/tools/model_generator/gendyncode.jar and b/tools/model_generator/gendyncode.jar differ
diff --git a/tools/model_generator/genmodel.jar b/tools/model_generator/genmodel.jar
index 92cc015..87c64d6 100644
Binary files a/tools/model_generator/genmodel.jar and b/tools/model_generator/genmodel.jar differ
diff --git a/tools/model_generator/src/com/libiec61850/tools/DynamicCodeGenerator.java b/tools/model_generator/src/com/libiec61850/tools/DynamicCodeGenerator.java
index 1071242..9a58986 100644
--- a/tools/model_generator/src/com/libiec61850/tools/DynamicCodeGenerator.java
+++ b/tools/model_generator/src/com/libiec61850/tools/DynamicCodeGenerator.java
@@ -27,9 +27,9 @@ public class DynamicCodeGenerator {
public static void main(String[] args) throws FileNotFoundException, SclParserException {
- System.out.println("Dynamic code generator");
-
if (args.length < 1) {
+ System.out.println("Dynamic code generator");
+
System.out.println("Usage: gencode [-ied ] [-ap ] [