- updated ICD file for server_example_complex_array

- added client example for array handling
pull/72/head
Michael Zillgith 7 years ago
parent 8b957b8f82
commit d0061fce96

@ -0,0 +1,17 @@
set(iec61850_client_array_SRCS
client_example_array.c
)
IF(WIN32)
set_source_files_properties(${iec61850_client_array_SRCS}
PROPERTIES LANGUAGE CXX)
ENDIF(WIN32)
add_executable(iec61850_client_array
${iec61850_client_array_SRCS}
)
target_link_libraries(iec61850_client_array
iec61850
)

@ -0,0 +1,17 @@
LIBIEC_HOME=../..
PROJECT_BINARY_NAME = client_example_array
PROJECT_SOURCES = client_example_array.c
include $(LIBIEC_HOME)/make/target_system.mk
include $(LIBIEC_HOME)/make/stack_includes.mk
all: $(PROJECT_BINARY_NAME)
include $(LIBIEC_HOME)/make/common_targets.mk
$(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME)
$(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS)
clean:
rm -f $(PROJECT_BINARY_NAME)

@ -0,0 +1,99 @@
/*
* client_example_array.c
*
* SHows how to handle array access from client side
*
* This example is intended to be used with server_example_complex_array
*/
#include "iec61850_client.h"
#include <stdlib.h>
#include <stdio.h>
#include "hal_thread.h"
int main(int argc, char** argv) {
char* hostname;
int tcpPort = 102;
if (argc > 1)
hostname = argv[1];
else
hostname = "localhost";
if (argc > 2)
tcpPort = atoi(argv[2]);
IedClientError error;
IedConnection con = IedConnection_create();
IedConnection_connect(con, &error, hostname, tcpPort);
if (error == IED_ERROR_OK) {
/* read complete array */
MmsValue* array = IedConnection_readObject(con, &error, "testComplexArray/MHAI1.HA.phsAHar", IEC61850_FC_MX);
if (array != NULL) {
MmsValue_delete(array);
}
else
printf("Failed to read array!\n");
/* read array element at different component levels */
char* arrayElementRef = "testComplexArray/MHAI1.HA.phsAHar(2).cVal.mag.f";
MmsValue* element = IedConnection_readObject(con, &error, arrayElementRef, IEC61850_FC_MX);
if (element != NULL) {
MmsValue_delete(element);
}
else
printf("Failed to read array element %s!\n", arrayElementRef);
arrayElementRef = "testComplexArray/MHAI1.HA.phsAHar(2).cVal.mag";
element = IedConnection_readObject(con, &error, arrayElementRef, IEC61850_FC_MX);
if (element != NULL) {
MmsValue_delete(element);
}
else
printf("Failed to read array element %s!\n", arrayElementRef);
arrayElementRef = "testComplexArray/MHAI1.HA.phsAHar(2).cVal";
element = IedConnection_readObject(con, &error, arrayElementRef, IEC61850_FC_MX);
if (element != NULL) {
MmsValue_delete(element);
}
else
printf("Failed to read array element %s!\n", arrayElementRef);
arrayElementRef = "testComplexArray/MHAI1.HA.phsAHar(2)";
element = IedConnection_readObject(con, &error, arrayElementRef, IEC61850_FC_MX);
if (element != NULL) {
MmsValue_delete(element);
}
else
printf("Failed to read array element %s!\n", arrayElementRef);
close_connection:
IedConnection_close(con);
}
else {
printf("Failed to connect to %s:%i\n", hostname, tcpPort);
}
IedConnection_destroy(con);
}

@ -1,24 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<SCL xmlns="http://www.iec.ch/61850/2003/SCL"> <SCL xmlns="http://www.iec.ch/61850/2003/SCL">
<Header id="" version="4.0.2" revision="" toolID="" nameStructure="IEDName">
<Header id="" nameStructure="IEDName">
</Header> </Header>
<Communication> <Communication>
<SubNetwork name="subnetwork1" type="8-MMS"> <SubNetwork name="subnetwork1" type="8-MMS">
<Text>Station bus</Text> <Text>Station bus</Text>
<BitRate unit="b/s">10</BitRate> <BitRate unit="b/s">10</BitRate>
<ConnectedAP iedName="simpleIO" apName="accessPoint1"> <ConnectedAP iedName="test" apName="accessPoint1">
<Address> <Address>
<P type="IP">10.0.0.2</P> <P type="IP">0.0.0.0</P>
<P type="IP-SUBNET">255.255.255.0</P> <P type="IP-SUBNET">255.255.255.0</P>
<P type="IP-GATEWAY">10.0.0.1</P> <P type="IP-GATEWAY">192.168.2.1</P>
<P type="OSI-TSEL">0001</P> <P type="OSI-AP-Title">1,3,9999,33</P>
<P type="OSI-AE-Qualifier">33</P>
<P type="OSI-PSEL">00000001</P> <P type="OSI-PSEL">00000001</P>
<P type="OSI-SSEL">0001</P> <P type="OSI-SSEL">0001</P>
<P type="OSI-TSEL">0001</P>
<P type="MMS-Port">102</P>
</Address> </Address>
</ConnectedAP> </ConnectedAP>
</SubNetwork> </SubNetwork>
</Communication> </Communication>
<IED name="test"> <IED name="test">
<Services> <Services>
<DynAssociation /> <DynAssociation />
<GetDirectory /> <GetDirectory />
@ -28,16 +35,16 @@
<ReadWrite /> <ReadWrite />
<GetCBValues /> <GetCBValues />
<ConfLNs fixPrefix="true" fixLnInst="true" /> <ConfLNs fixPrefix="true" fixLnInst="true" />
<GOOSE max="5" />
<GSSE max="5" />
<FileHandling />
<GSEDir />
<TimerActivatedControl />
</Services> </Services>
<AccessPoint name="accessPoint1"> <AccessPoint name="accessPoint1">
<Server> <Server>
<Authentication /> <Authentication />
<LDevice inst="ComplexArray"> <LDevice inst="ComplexArray">
<LN0 lnClass="LLN0" lnType="LLN01" inst=""> <LN0 lnClass="LLN0" lnType="LLN01" inst="">
<DOI name="Mod"> <DOI name="Mod">
@ -46,7 +53,56 @@
</DAI> </DAI>
</DOI> </DOI>
</LN0> </LN0>
<LN lnClass="LPHD" lnType="LPHD1" inst="1" prefix="" />
<LN lnClass="LPHD" lnType="LPHD1" inst="1" prefix="">
<DOI name="PhyHealth">
<DAI name="stVal">
<Val>ok</Val>
</DAI>
</DOI>
</LN>
<LN lnClass="GGIO" lnType="GGIO1" inst="1" prefix="">
<DOI name="Mod">
<DAI name="stVal">
<Val>on</Val>
</DAI>
<DAI name="ctlModel">
<Val>status-only</Val>
</DAI>
</DOI>
<DOI name="Beh">
<DAI name="stVal">
<Val>on</Val>
</DAI>
</DOI>
<DOI name="Health">
<DAI name="stVal">
<Val>ok</Val>
</DAI>
</DOI>
<DOI name="SPCSO1">
<DAI name="ctlModel">
<Val>direct-with-normal-security</Val>
</DAI>
</DOI>
<DOI name="SPCSO2">
<DAI name="ctlModel">
<Val>direct-with-normal-security</Val>
</DAI>
</DOI>
<DOI name="SPCSO3">
<DAI name="ctlModel">
<Val>direct-with-normal-security</Val>
</DAI>
</DOI>
<DOI name="SPCSO4">
<DAI name="ctlModel">
<Val>direct-with-normal-security</Val>
</DAI>
</DOI>
</LN>
<LN lnClass="MHAI" lnType="MHAI1" inst="1" prefix=""> <LN lnClass="MHAI" lnType="MHAI1" inst="1" prefix="">
<DOI name="HA"> <DOI name="HA">
<DAI name="numHar"> <DAI name="numHar">
@ -54,39 +110,43 @@
</DAI> </DAI>
</DOI> </DOI>
</LN> </LN>
</LDevice> </LDevice>
</Server> </Server>
</AccessPoint> </AccessPoint>
</IED> </IED>
<DataTypeTemplates> <DataTypeTemplates>
<LNodeType id="LLN01" lnClass="LLN0"> <LNodeType id="LLN01" lnClass="LLN0">
<DO name="Mod" type="INC_1_Mod" /> <DO name="Mod" type="ENC_1_Mod" />
<DO name="Beh" type="INS_1_Beh" /> <DO name="Beh" type="ENS_1_Beh" />
<DO name="Health" type="INS_1_Beh" /> <DO name="Health" type="ENS_2_Health" />
<DO name="NamPlt" type="LPL_1_NamPlt" /> <DO name="NamPlt" type="LPL_1_NamPlt" />
</LNodeType> </LNodeType>
<LNodeType id="LPHD1" lnClass="LPHD"> <LNodeType id="LPHD1" lnClass="LPHD">
<DO name="PhyNam" type="DPL_1_PhyNam" /> <DO name="PhyNam" type="DPL_1_PhyNam" />
<DO name="PhyHealth" type="INS_1_Beh" /> <DO name="PhyHealth" type="ENS_2_Health" />
<DO name="Proxy" type="SPS_1_Proxy" /> <DO name="Proxy" type="SPS_1_Proxy" />
</LNodeType> </LNodeType>
<LNodeType id="GGIO1" lnClass="GGIO"> <LNodeType id="GGIO1" lnClass="GGIO">
<DO name="Mod" type="INC_1_Mod" /> <DO name="Mod" type="ENC_1_Mod" />
<DO name="Beh" type="INS_1_Beh" /> <DO name="Beh" type="ENS_1_Beh" />
<DO name="Health" type="INS_1_Beh" /> <DO name="Health" type="ENS_2_Health" />
<DO name="NamPlt" type="LPL_2_NamPlt" /> <DO name="NamPlt" type="LPL_2_NamPlt" />
<DO name="AnIn1" type="MV_1_AnIn1" /> <DO name="AnIn1" type="MV_1_AnIn1" />
<DO name="AnIn2" type="MV_1_AnIn1" /> <DO name="AnIn2" type="MV_1_AnIn1" />
<DO name="AnIn3" type="MV_1_AnIn1" /> <DO name="AnIn3" type="MV_1_AnIn1" />
<DO name="AnIn4" type="MV_1_AnIn1" /> <DO name="AnIn4" type="MV_1_AnIn1" />
<DO name="SPCSO1" type="SPC_1_SPCSO1" /> <DO name="SPCSO1" type="SPC_1_SPCSO1" />
<DO name="SPCSO2" type="SPC_1_SPCSO2" /> <DO name="SPCSO2" type="SPC_2" />
<DO name="SPCSO3" type="SPC_1_SPCSO3" /> <DO name="SPCSO3" type="SPC_2" />
<DO name="SPCSO4" type="SPC_1_SPCSO4" /> <DO name="SPCSO4" type="SPC_2" />
<DO name="SPCSO5" type="SPC_1_SPCSO5" />
<DO name="SPCSO6" type="SPC_1_SPCSO6" />
<DO name="SPCSO7" type="SPC_1_SPCSO7" />
<DO name="SPCSO8" type="SPC_1_SPCSO8" />
<DO name="Ind1" type="SPS_1_Proxy" /> <DO name="Ind1" type="SPS_1_Proxy" />
<DO name="Ind2" type="SPS_1_Proxy" /> <DO name="Ind2" type="SPS_1_Proxy" />
<DO name="Ind3" type="SPS_1_Proxy" /> <DO name="Ind3" type="SPS_1_Proxy" />
@ -97,6 +157,25 @@
<DO name="HA" type="HWYE_1_HA" /> <DO name="HA" type="HWYE_1_HA" />
</LNodeType> </LNodeType>
<DOType id="ENC_1_Mod" cdc="ENC">
<DA name="stVal" bType="Enum" type="Beh" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
</DOType>
<DOType id="ENS_1_Beh" cdc="ENS">
<DA name="stVal" bType="Enum" type="Beh" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
</DOType>
<DOType id="ENS_2_Health" cdc="ENS">
<DA name="stVal" bType="Enum" type="HealthKind" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
</DOType>
<DOType id="HWYE_1_HA" cdc="HWYE"> <DOType id="HWYE_1_HA" cdc="HWYE">
<SDO name="phsAHar" type="CMV_1_phsAHar" count="16" /> <SDO name="phsAHar" type="CMV_1_phsAHar" count="16" />
<DA name="numHar" bType="INT16U" fc="CF" dchg="true" /> <DA name="numHar" bType="INT16U" fc="CF" dchg="true" />
@ -111,21 +190,6 @@
<DA name="t" bType="Timestamp" fc="MX" /> <DA name="t" bType="Timestamp" fc="MX" />
</DOType> </DOType>
<DAType id="Vector">
<BDA name="mag" bType="Struct" type="AnalogueValue" /> <!-- M -->
<BDA name="ang" bType="Struct" type="AnalogueValue" /> <!-- O -->
</DAType>
<DOType id="INC_1_Mod" cdc="INC">
<DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
</DOType>
<DOType id="INS_1_Beh" cdc="INS">
<DA name="stVal" bType="INT32" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
</DOType>
<DOType id="LPL_1_NamPlt" cdc="LPL"> <DOType id="LPL_1_NamPlt" cdc="LPL">
<DA name="vendor" bType="VisString255" fc="DC" /> <DA name="vendor" bType="VisString255" fc="DC" />
<DA name="swRev" bType="VisString255" fc="DC" /> <DA name="swRev" bType="VisString255" fc="DC" />
@ -133,140 +197,84 @@
<DA name="configRev" bType="VisString255" fc="DC" /> <DA name="configRev" bType="VisString255" fc="DC" />
<DA name="ldNs" bType="VisString255" fc="EX" /> <DA name="ldNs" bType="VisString255" fc="EX" />
</DOType> </DOType>
<DOType id="LPL_2_NamPlt" cdc="LPL">
<DA name="vendor" bType="VisString255" fc="DC" />
<DA name="swRev" bType="VisString255" fc="DC" />
<DA name="d" bType="VisString255" fc="DC" />
<DA name="dU" fc="DC" bType="Unicode255"/>
</DOType>
<DOType id="DPL_1_PhyNam" cdc="DPL"> <DOType id="DPL_1_PhyNam" cdc="DPL">
<DA name="vendor" bType="VisString255" fc="DC" /> <DA name="vendor" bType="VisString255" fc="DC" />
</DOType> </DOType>
<DOType id="SPS_1_Proxy" cdc="SPS"> <DOType id="SPS_1_Proxy" cdc="SPS">
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" /> <DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" /> <DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" /> <DA name="t" bType="Timestamp" fc="ST" />
</DOType> </DOType>
<DOType id="SPC_1_SPCSO8" cdc="SPC">
<DA name="SBOw" type="SPCOperate_5" bType="Struct" fc="CO" />
<DA name="Oper" type="SPCOperate_5" bType="Struct" fc="CO" />
<DA name="Cancel" type="SPCCancel_5" bType="Struct" fc="CO" />
<DA name="origin" type="Originator_1" bType="Struct" fc="ST" />
<DA name="ctlNum" bType="INT8U" fc="ST" />
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
</DOType>
<DOType id="SPC_1_SPCSO7" cdc="SPC">
<DA name="Oper" type="SPCOperate_5" bType="Struct" fc="CO" />
<DA name="Cancel" type="SPCCancel_5" bType="Struct" fc="CO" />
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
</DOType>
<DOType id="SPC_1_SPCSO3" cdc="SPC">
<DA name="Oper" type="SPCOperate_1" bType="Struct" fc="CO" />
<DA name="Cancel" type="SPCCancel_1" bType="Struct" fc="CO" />
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
</DOType>
<DOType id="MV_1_AnIn1" cdc="MV"> <DOType id="MV_1_AnIn1" cdc="MV">
<DA name="mag" type="AnalogueValue_1" bType="Struct" fc="MX" dchg="true" /> <DA name="mag" type="AnalogueValue_1" bType="Struct" fc="MX" dchg="true" />
<DA name="q" bType="Quality" fc="MX" qchg="true" /> <DA name="q" bType="Quality" fc="MX" qchg="true" />
<DA name="t" bType="Timestamp" fc="MX" /> <DA name="t" bType="Timestamp" fc="MX" />
</DOType> </DOType>
<DOType id="SPC_1_SPCSO6" cdc="SPC">
<DA name="SBO" bType="VisString64" fc="CO" /> <DOType id="SPC_1_SPCSO1" cdc="SPC">
<DA name="Oper" type="SPCOperate_5" bType="Struct" fc="CO" /> <DA name="origin" fc="ST" type="Originator_1" bType="Struct" />
<DA name="Cancel" type="SPCCancel_5" bType="Struct" fc="CO" /> <DA name="ctlNum" fc="ST" bType="INT8U" />
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
</DOType>
<DOType id="SPC_1_SPCSO5" cdc="SPC">
<DA name="Oper" type="SPCOperate_5" bType="Struct" fc="CO" />
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" /> <DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" /> <DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" /> <DA name="t" bType="Timestamp" fc="ST" />
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" /> <DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
<DA name="Cancel" type="SPCCancel_1" bType="Struct" fc="CO" />
</DOType>
<DOType id="SPC_1_SPCSO4" cdc="SPC">
<DA name="SBOw" type="SPCOperate_1" bType="Struct" fc="CO" />
<DA name="Oper" type="SPCOperate_1" bType="Struct" fc="CO" /> <DA name="Oper" type="SPCOperate_1" bType="Struct" fc="CO" />
<DA name="Cancel" type="SPCCancel_1" bType="Struct" fc="CO" />
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
</DOType>
<DOType id="LPL_2_NamPlt" cdc="LPL">
<DA name="vendor" bType="VisString255" fc="DC" />
<DA name="swRev" bType="VisString255" fc="DC" />
<DA name="d" bType="VisString255" fc="DC" />
<DA name="dU" fc="DC" bType="Unicode255"/>
</DOType> </DOType>
<DOType id="SPC_1_SPCSO2" cdc="SPC">
<DA name="SBO" bType="VisString64" fc="CO" /> <DOType id="SPC_2" cdc="SPC">
<DA name="Oper" type="SPCOperate_1" bType="Struct" fc="CO" />
<DA name="Cancel" type="SPCCancel_1" bType="Struct" fc="CO" />
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" /> <DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" /> <DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
<DA name="sboClass" type="SboClasses" bType="Enum" fc="CF" />
</DOType>
<DOType id="SPC_1_SPCSO1" cdc="SPC">
<DA name="Oper" type="SPCOperate_1" bType="Struct" fc="CO" /> <DA name="Oper" type="SPCOperate_1" bType="Struct" fc="CO" />
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
<DA name="q" bType="Quality" fc="ST" qchg="true" />
<DA name="t" bType="Timestamp" fc="ST" />
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" /> <DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
<DA name="t" bType="Timestamp" fc="ST" />
</DOType> </DOType>
<DAType id="SPCOperate_1">
<BDA name="ctlVal" bType="BOOLEAN" /> <DAType id="Vector">
<BDA name="origin" type="Originator_1" bType="Struct" /> <BDA name="mag" bType="Struct" type="AnalogueValue_1" />
<BDA name="ctlNum" bType="INT8U" /> <BDA name="ang" bType="Struct" type="AnalogueValue_1" />
<BDA name="T" bType="Timestamp" /> </DAType>
<BDA name="Test" bType="BOOLEAN" />
<BDA name="Check" bType="Check" /> <DAType id="AnalogueValue_1">
<BDA name="f" bType="FLOAT32" />
</DAType> </DAType>
<DAType id="Originator_1"> <DAType id="Originator_1">
<BDA name="orCat" type="OrCat" bType="Enum" /> <BDA name="orCat" type="OrCat" bType="Enum" />
<BDA name="orIdent" bType="Octet64" /> <BDA name="orIdent" bType="Octet64" />
</DAType> </DAType>
<DAType id="SPCOperate_5">
<DAType id="SPCOperate_1">
<BDA name="ctlVal" bType="BOOLEAN" /> <BDA name="ctlVal" bType="BOOLEAN" />
<BDA name="operTm" bType="Timestamp" />
<BDA name="origin" type="Originator_1" bType="Struct" /> <BDA name="origin" type="Originator_1" bType="Struct" />
<BDA name="ctlNum" bType="INT8U" /> <BDA name="ctlNum" bType="INT8U" />
<BDA name="T" bType="Timestamp" /> <BDA name="T" bType="Timestamp" />
<BDA name="Test" bType="BOOLEAN" /> <BDA name="Test" bType="BOOLEAN" />
<BDA name="Check" bType="Check" /> <BDA name="Check" bType="Check" />
</DAType> </DAType>
<DAType id="AnalogueValue_1">
<BDA name="f" bType="FLOAT32" />
</DAType>
<DAType id="SPCCancel_1">
<BDA name="ctlVal" bType="BOOLEAN" />
<BDA name="origin" type="Originator_1" bType="Struct" />
<BDA name="ctlNum" bType="INT8U" />
<BDA name="T" bType="Timestamp" />
<BDA name="Test" bType="BOOLEAN" />
</DAType>
<DAType id="SPCCancel_5">
<BDA name="ctlVal" bType="BOOLEAN" />
<BDA name="operTm" bType="Timestamp" />
<BDA name="origin" type="Originator_1" bType="Struct" />
<BDA name="ctlNum" bType="INT8U" />
<BDA name="T" bType="Timestamp" />
<BDA name="Test" bType="BOOLEAN" />
</DAType>
<DAType id="AnalogueValue"><!-- sec 6.3 --> <EnumType id="Beh">
<!--<BDA name="i" bType="INT32" /> --><!-- GC_1 --> <EnumVal ord="1">on</EnumVal>
<BDA name="f" bType="FLOAT32" /><!-- GC_1 --> <EnumVal ord="2">blocked</EnumVal>
</DAType> <EnumVal ord="3">test</EnumVal>
<EnumVal ord="4">test/blocked</EnumVal>
<EnumVal ord="5">off</EnumVal>
</EnumType>
<EnumType id="HealthKind">
<EnumVal ord="1">ok</EnumVal>
<EnumVal ord="2">warning</EnumVal>
<EnumVal ord="3">alarm</EnumVal>
</EnumType>
<EnumType id="CtlModels"> <EnumType id="CtlModels">
<EnumVal ord="0">status-only</EnumVal> <EnumVal ord="0">status-only</EnumVal>
@ -275,10 +283,7 @@
<EnumVal ord="3">direct-with-enhanced-security</EnumVal> <EnumVal ord="3">direct-with-enhanced-security</EnumVal>
<EnumVal ord="4">sbo-with-enhanced-security</EnumVal> <EnumVal ord="4">sbo-with-enhanced-security</EnumVal>
</EnumType> </EnumType>
<EnumType id="SboClasses">
<EnumVal ord="0">operate-once</EnumVal>
<EnumVal ord="1">operate-many</EnumVal>
</EnumType>
<EnumType id="OrCat"> <EnumType id="OrCat">
<EnumVal ord="0">not-supported</EnumVal> <EnumVal ord="0">not-supported</EnumVal>
<EnumVal ord="1">bay-control</EnumVal> <EnumVal ord="1">bay-control</EnumVal>
@ -290,5 +295,7 @@
<EnumVal ord="7">maintenance</EnumVal> <EnumVal ord="7">maintenance</EnumVal>
<EnumVal ord="8">process</EnumVal> <EnumVal ord="8">process</EnumVal>
</EnumType> </EnumType>
</DataTypeTemplates> </DataTypeTemplates>
</SCL> </SCL>

@ -62,11 +62,6 @@ int main(int argc, char** argv) {
DataObject* mhai1_ha_phsAHar = (DataObject*) DataObject* mhai1_ha_phsAHar = (DataObject*)
IedModel_getModelNodeByObjectReference(&iedModel, "testComplexArray/MHAI1.HA.phsAHar"); IedModel_getModelNodeByObjectReference(&iedModel, "testComplexArray/MHAI1.HA.phsAHar");
/* alternative: only for static model */
// DataObject* mhai1_ha_phsAHar = IEDMODEL_ComplexArray_MHAI1_HA_phsAHar;
assert(mhai1_ha_phsAHar != NULL);
/* Get access to the corresponding MMS value data structure - the MX(FC) part of the data object */ /* Get access to the corresponding MMS value data structure - the MX(FC) part of the data object */
MmsValue* mhai1_ha_phsAHar_mx = IedServer_getFunctionalConstrainedData(iedServer, mhai1_ha_phsAHar, IEC61850_FC_MX); MmsValue* mhai1_ha_phsAHar_mx = IedServer_getFunctionalConstrainedData(iedServer, mhai1_ha_phsAHar, IEC61850_FC_MX);

File diff suppressed because it is too large Load Diff

@ -14,6 +14,7 @@ extern IedModel iedModel;
extern LogicalDevice iedModel_ComplexArray; extern LogicalDevice iedModel_ComplexArray;
extern LogicalNode iedModel_ComplexArray_LLN0; extern LogicalNode iedModel_ComplexArray_LLN0;
extern DataObject iedModel_ComplexArray_LLN0_Mod; extern DataObject iedModel_ComplexArray_LLN0_Mod;
extern DataAttribute iedModel_ComplexArray_LLN0_Mod_stVal;
extern DataAttribute iedModel_ComplexArray_LLN0_Mod_q; extern DataAttribute iedModel_ComplexArray_LLN0_Mod_q;
extern DataAttribute iedModel_ComplexArray_LLN0_Mod_t; extern DataAttribute iedModel_ComplexArray_LLN0_Mod_t;
extern DataAttribute iedModel_ComplexArray_LLN0_Mod_ctlModel; extern DataAttribute iedModel_ComplexArray_LLN0_Mod_ctlModel;
@ -42,6 +43,121 @@ extern DataObject iedModel_ComplexArray_LPHD1_Proxy;
extern DataAttribute iedModel_ComplexArray_LPHD1_Proxy_stVal; extern DataAttribute iedModel_ComplexArray_LPHD1_Proxy_stVal;
extern DataAttribute iedModel_ComplexArray_LPHD1_Proxy_q; extern DataAttribute iedModel_ComplexArray_LPHD1_Proxy_q;
extern DataAttribute iedModel_ComplexArray_LPHD1_Proxy_t; extern DataAttribute iedModel_ComplexArray_LPHD1_Proxy_t;
extern LogicalNode iedModel_ComplexArray_GGIO1;
extern DataObject iedModel_ComplexArray_GGIO1_Mod;
extern DataAttribute iedModel_ComplexArray_GGIO1_Mod_stVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_Mod_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_Mod_t;
extern DataAttribute iedModel_ComplexArray_GGIO1_Mod_ctlModel;
extern DataObject iedModel_ComplexArray_GGIO1_Beh;
extern DataAttribute iedModel_ComplexArray_GGIO1_Beh_stVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_Beh_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_Beh_t;
extern DataObject iedModel_ComplexArray_GGIO1_Health;
extern DataAttribute iedModel_ComplexArray_GGIO1_Health_stVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_Health_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_Health_t;
extern DataObject iedModel_ComplexArray_GGIO1_NamPlt;
extern DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_vendor;
extern DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_swRev;
extern DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_d;
extern DataAttribute iedModel_ComplexArray_GGIO1_NamPlt_dU;
extern DataObject iedModel_ComplexArray_GGIO1_AnIn1;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_mag;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_mag_f;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn1_t;
extern DataObject iedModel_ComplexArray_GGIO1_AnIn2;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_mag;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_mag_f;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn2_t;
extern DataObject iedModel_ComplexArray_GGIO1_AnIn3;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_mag;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_mag_f;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn3_t;
extern DataObject iedModel_ComplexArray_GGIO1_AnIn4;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_mag;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_mag_f;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_AnIn4_t;
extern DataObject iedModel_ComplexArray_GGIO1_SPCSO1;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_origin;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_origin_orCat;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_origin_orIdent;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_ctlNum;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_stVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_t;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_ctlModel;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orCat;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orIdent;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlNum;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_T;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Test;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Check;
extern DataObject iedModel_ComplexArray_GGIO1_SPCSO2;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_stVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orCat;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orIdent;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlNum;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_T;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Test;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Check;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_ctlModel;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO2_t;
extern DataObject iedModel_ComplexArray_GGIO1_SPCSO3;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_stVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orCat;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orIdent;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlNum;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_T;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Test;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Check;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_ctlModel;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO3_t;
extern DataObject iedModel_ComplexArray_GGIO1_SPCSO4;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_stVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orCat;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orIdent;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlNum;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_T;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Test;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Check;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_ctlModel;
extern DataAttribute iedModel_ComplexArray_GGIO1_SPCSO4_t;
extern DataObject iedModel_ComplexArray_GGIO1_Ind1;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind1_stVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind1_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind1_t;
extern DataObject iedModel_ComplexArray_GGIO1_Ind2;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind2_stVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind2_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind2_t;
extern DataObject iedModel_ComplexArray_GGIO1_Ind3;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind3_stVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind3_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind3_t;
extern DataObject iedModel_ComplexArray_GGIO1_Ind4;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind4_stVal;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind4_q;
extern DataAttribute iedModel_ComplexArray_GGIO1_Ind4_t;
extern LogicalNode iedModel_ComplexArray_MHAI1; extern LogicalNode iedModel_ComplexArray_MHAI1;
extern DataObject iedModel_ComplexArray_MHAI1_HA; extern DataObject iedModel_ComplexArray_MHAI1_HA;
extern DataObject iedModel_ComplexArray_MHAI1_HA_phsAHar; extern DataObject iedModel_ComplexArray_MHAI1_HA_phsAHar;
@ -62,6 +178,7 @@ extern DataAttribute iedModel_ComplexArray_MHAI1_HA_frequency;
#define IEDMODEL_ComplexArray (&iedModel_ComplexArray) #define IEDMODEL_ComplexArray (&iedModel_ComplexArray)
#define IEDMODEL_ComplexArray_LLN0 (&iedModel_ComplexArray_LLN0) #define IEDMODEL_ComplexArray_LLN0 (&iedModel_ComplexArray_LLN0)
#define IEDMODEL_ComplexArray_LLN0_Mod (&iedModel_ComplexArray_LLN0_Mod) #define IEDMODEL_ComplexArray_LLN0_Mod (&iedModel_ComplexArray_LLN0_Mod)
#define IEDMODEL_ComplexArray_LLN0_Mod_stVal (&iedModel_ComplexArray_LLN0_Mod_stVal)
#define IEDMODEL_ComplexArray_LLN0_Mod_q (&iedModel_ComplexArray_LLN0_Mod_q) #define IEDMODEL_ComplexArray_LLN0_Mod_q (&iedModel_ComplexArray_LLN0_Mod_q)
#define IEDMODEL_ComplexArray_LLN0_Mod_t (&iedModel_ComplexArray_LLN0_Mod_t) #define IEDMODEL_ComplexArray_LLN0_Mod_t (&iedModel_ComplexArray_LLN0_Mod_t)
#define IEDMODEL_ComplexArray_LLN0_Mod_ctlModel (&iedModel_ComplexArray_LLN0_Mod_ctlModel) #define IEDMODEL_ComplexArray_LLN0_Mod_ctlModel (&iedModel_ComplexArray_LLN0_Mod_ctlModel)
@ -90,6 +207,121 @@ extern DataAttribute iedModel_ComplexArray_MHAI1_HA_frequency;
#define IEDMODEL_ComplexArray_LPHD1_Proxy_stVal (&iedModel_ComplexArray_LPHD1_Proxy_stVal) #define IEDMODEL_ComplexArray_LPHD1_Proxy_stVal (&iedModel_ComplexArray_LPHD1_Proxy_stVal)
#define IEDMODEL_ComplexArray_LPHD1_Proxy_q (&iedModel_ComplexArray_LPHD1_Proxy_q) #define IEDMODEL_ComplexArray_LPHD1_Proxy_q (&iedModel_ComplexArray_LPHD1_Proxy_q)
#define IEDMODEL_ComplexArray_LPHD1_Proxy_t (&iedModel_ComplexArray_LPHD1_Proxy_t) #define IEDMODEL_ComplexArray_LPHD1_Proxy_t (&iedModel_ComplexArray_LPHD1_Proxy_t)
#define IEDMODEL_ComplexArray_GGIO1 (&iedModel_ComplexArray_GGIO1)
#define IEDMODEL_ComplexArray_GGIO1_Mod (&iedModel_ComplexArray_GGIO1_Mod)
#define IEDMODEL_ComplexArray_GGIO1_Mod_stVal (&iedModel_ComplexArray_GGIO1_Mod_stVal)
#define IEDMODEL_ComplexArray_GGIO1_Mod_q (&iedModel_ComplexArray_GGIO1_Mod_q)
#define IEDMODEL_ComplexArray_GGIO1_Mod_t (&iedModel_ComplexArray_GGIO1_Mod_t)
#define IEDMODEL_ComplexArray_GGIO1_Mod_ctlModel (&iedModel_ComplexArray_GGIO1_Mod_ctlModel)
#define IEDMODEL_ComplexArray_GGIO1_Beh (&iedModel_ComplexArray_GGIO1_Beh)
#define IEDMODEL_ComplexArray_GGIO1_Beh_stVal (&iedModel_ComplexArray_GGIO1_Beh_stVal)
#define IEDMODEL_ComplexArray_GGIO1_Beh_q (&iedModel_ComplexArray_GGIO1_Beh_q)
#define IEDMODEL_ComplexArray_GGIO1_Beh_t (&iedModel_ComplexArray_GGIO1_Beh_t)
#define IEDMODEL_ComplexArray_GGIO1_Health (&iedModel_ComplexArray_GGIO1_Health)
#define IEDMODEL_ComplexArray_GGIO1_Health_stVal (&iedModel_ComplexArray_GGIO1_Health_stVal)
#define IEDMODEL_ComplexArray_GGIO1_Health_q (&iedModel_ComplexArray_GGIO1_Health_q)
#define IEDMODEL_ComplexArray_GGIO1_Health_t (&iedModel_ComplexArray_GGIO1_Health_t)
#define IEDMODEL_ComplexArray_GGIO1_NamPlt (&iedModel_ComplexArray_GGIO1_NamPlt)
#define IEDMODEL_ComplexArray_GGIO1_NamPlt_vendor (&iedModel_ComplexArray_GGIO1_NamPlt_vendor)
#define IEDMODEL_ComplexArray_GGIO1_NamPlt_swRev (&iedModel_ComplexArray_GGIO1_NamPlt_swRev)
#define IEDMODEL_ComplexArray_GGIO1_NamPlt_d (&iedModel_ComplexArray_GGIO1_NamPlt_d)
#define IEDMODEL_ComplexArray_GGIO1_NamPlt_dU (&iedModel_ComplexArray_GGIO1_NamPlt_dU)
#define IEDMODEL_ComplexArray_GGIO1_AnIn1 (&iedModel_ComplexArray_GGIO1_AnIn1)
#define IEDMODEL_ComplexArray_GGIO1_AnIn1_mag (&iedModel_ComplexArray_GGIO1_AnIn1_mag)
#define IEDMODEL_ComplexArray_GGIO1_AnIn1_mag_f (&iedModel_ComplexArray_GGIO1_AnIn1_mag_f)
#define IEDMODEL_ComplexArray_GGIO1_AnIn1_q (&iedModel_ComplexArray_GGIO1_AnIn1_q)
#define IEDMODEL_ComplexArray_GGIO1_AnIn1_t (&iedModel_ComplexArray_GGIO1_AnIn1_t)
#define IEDMODEL_ComplexArray_GGIO1_AnIn2 (&iedModel_ComplexArray_GGIO1_AnIn2)
#define IEDMODEL_ComplexArray_GGIO1_AnIn2_mag (&iedModel_ComplexArray_GGIO1_AnIn2_mag)
#define IEDMODEL_ComplexArray_GGIO1_AnIn2_mag_f (&iedModel_ComplexArray_GGIO1_AnIn2_mag_f)
#define IEDMODEL_ComplexArray_GGIO1_AnIn2_q (&iedModel_ComplexArray_GGIO1_AnIn2_q)
#define IEDMODEL_ComplexArray_GGIO1_AnIn2_t (&iedModel_ComplexArray_GGIO1_AnIn2_t)
#define IEDMODEL_ComplexArray_GGIO1_AnIn3 (&iedModel_ComplexArray_GGIO1_AnIn3)
#define IEDMODEL_ComplexArray_GGIO1_AnIn3_mag (&iedModel_ComplexArray_GGIO1_AnIn3_mag)
#define IEDMODEL_ComplexArray_GGIO1_AnIn3_mag_f (&iedModel_ComplexArray_GGIO1_AnIn3_mag_f)
#define IEDMODEL_ComplexArray_GGIO1_AnIn3_q (&iedModel_ComplexArray_GGIO1_AnIn3_q)
#define IEDMODEL_ComplexArray_GGIO1_AnIn3_t (&iedModel_ComplexArray_GGIO1_AnIn3_t)
#define IEDMODEL_ComplexArray_GGIO1_AnIn4 (&iedModel_ComplexArray_GGIO1_AnIn4)
#define IEDMODEL_ComplexArray_GGIO1_AnIn4_mag (&iedModel_ComplexArray_GGIO1_AnIn4_mag)
#define IEDMODEL_ComplexArray_GGIO1_AnIn4_mag_f (&iedModel_ComplexArray_GGIO1_AnIn4_mag_f)
#define IEDMODEL_ComplexArray_GGIO1_AnIn4_q (&iedModel_ComplexArray_GGIO1_AnIn4_q)
#define IEDMODEL_ComplexArray_GGIO1_AnIn4_t (&iedModel_ComplexArray_GGIO1_AnIn4_t)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1 (&iedModel_ComplexArray_GGIO1_SPCSO1)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_origin (&iedModel_ComplexArray_GGIO1_SPCSO1_origin)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_origin_orCat (&iedModel_ComplexArray_GGIO1_SPCSO1_origin_orCat)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_origin_orIdent (&iedModel_ComplexArray_GGIO1_SPCSO1_origin_orIdent)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_ctlNum (&iedModel_ComplexArray_GGIO1_SPCSO1_ctlNum)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_stVal (&iedModel_ComplexArray_GGIO1_SPCSO1_stVal)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_q (&iedModel_ComplexArray_GGIO1_SPCSO1_q)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_t (&iedModel_ComplexArray_GGIO1_SPCSO1_t)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_ctlModel (&iedModel_ComplexArray_GGIO1_SPCSO1_ctlModel)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_ctlVal (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlVal)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_origin (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_origin_orCat (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orCat)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_origin_orIdent (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_origin_orIdent)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_ctlNum (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_ctlNum)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_T (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_T)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_Test (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Test)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO1_Oper_Check (&iedModel_ComplexArray_GGIO1_SPCSO1_Oper_Check)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2 (&iedModel_ComplexArray_GGIO1_SPCSO2)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_stVal (&iedModel_ComplexArray_GGIO1_SPCSO2_stVal)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_q (&iedModel_ComplexArray_GGIO1_SPCSO2_q)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_ctlVal (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlVal)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_origin (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_origin_orCat (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orCat)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_origin_orIdent (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_origin_orIdent)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_ctlNum (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_ctlNum)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_T (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_T)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_Test (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Test)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_Oper_Check (&iedModel_ComplexArray_GGIO1_SPCSO2_Oper_Check)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_ctlModel (&iedModel_ComplexArray_GGIO1_SPCSO2_ctlModel)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO2_t (&iedModel_ComplexArray_GGIO1_SPCSO2_t)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3 (&iedModel_ComplexArray_GGIO1_SPCSO3)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_stVal (&iedModel_ComplexArray_GGIO1_SPCSO3_stVal)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_q (&iedModel_ComplexArray_GGIO1_SPCSO3_q)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_ctlVal (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlVal)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_origin (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_origin_orCat (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orCat)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_origin_orIdent (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_origin_orIdent)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_ctlNum (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_ctlNum)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_T (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_T)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_Test (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Test)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_Oper_Check (&iedModel_ComplexArray_GGIO1_SPCSO3_Oper_Check)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_ctlModel (&iedModel_ComplexArray_GGIO1_SPCSO3_ctlModel)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO3_t (&iedModel_ComplexArray_GGIO1_SPCSO3_t)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4 (&iedModel_ComplexArray_GGIO1_SPCSO4)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_stVal (&iedModel_ComplexArray_GGIO1_SPCSO4_stVal)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_q (&iedModel_ComplexArray_GGIO1_SPCSO4_q)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_ctlVal (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlVal)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_origin (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_origin_orCat (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orCat)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_origin_orIdent (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_origin_orIdent)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_ctlNum (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_ctlNum)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_T (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_T)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_Test (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Test)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_Oper_Check (&iedModel_ComplexArray_GGIO1_SPCSO4_Oper_Check)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_ctlModel (&iedModel_ComplexArray_GGIO1_SPCSO4_ctlModel)
#define IEDMODEL_ComplexArray_GGIO1_SPCSO4_t (&iedModel_ComplexArray_GGIO1_SPCSO4_t)
#define IEDMODEL_ComplexArray_GGIO1_Ind1 (&iedModel_ComplexArray_GGIO1_Ind1)
#define IEDMODEL_ComplexArray_GGIO1_Ind1_stVal (&iedModel_ComplexArray_GGIO1_Ind1_stVal)
#define IEDMODEL_ComplexArray_GGIO1_Ind1_q (&iedModel_ComplexArray_GGIO1_Ind1_q)
#define IEDMODEL_ComplexArray_GGIO1_Ind1_t (&iedModel_ComplexArray_GGIO1_Ind1_t)
#define IEDMODEL_ComplexArray_GGIO1_Ind2 (&iedModel_ComplexArray_GGIO1_Ind2)
#define IEDMODEL_ComplexArray_GGIO1_Ind2_stVal (&iedModel_ComplexArray_GGIO1_Ind2_stVal)
#define IEDMODEL_ComplexArray_GGIO1_Ind2_q (&iedModel_ComplexArray_GGIO1_Ind2_q)
#define IEDMODEL_ComplexArray_GGIO1_Ind2_t (&iedModel_ComplexArray_GGIO1_Ind2_t)
#define IEDMODEL_ComplexArray_GGIO1_Ind3 (&iedModel_ComplexArray_GGIO1_Ind3)
#define IEDMODEL_ComplexArray_GGIO1_Ind3_stVal (&iedModel_ComplexArray_GGIO1_Ind3_stVal)
#define IEDMODEL_ComplexArray_GGIO1_Ind3_q (&iedModel_ComplexArray_GGIO1_Ind3_q)
#define IEDMODEL_ComplexArray_GGIO1_Ind3_t (&iedModel_ComplexArray_GGIO1_Ind3_t)
#define IEDMODEL_ComplexArray_GGIO1_Ind4 (&iedModel_ComplexArray_GGIO1_Ind4)
#define IEDMODEL_ComplexArray_GGIO1_Ind4_stVal (&iedModel_ComplexArray_GGIO1_Ind4_stVal)
#define IEDMODEL_ComplexArray_GGIO1_Ind4_q (&iedModel_ComplexArray_GGIO1_Ind4_q)
#define IEDMODEL_ComplexArray_GGIO1_Ind4_t (&iedModel_ComplexArray_GGIO1_Ind4_t)
#define IEDMODEL_ComplexArray_MHAI1 (&iedModel_ComplexArray_MHAI1) #define IEDMODEL_ComplexArray_MHAI1 (&iedModel_ComplexArray_MHAI1)
#define IEDMODEL_ComplexArray_MHAI1_HA (&iedModel_ComplexArray_MHAI1_HA) #define IEDMODEL_ComplexArray_MHAI1_HA (&iedModel_ComplexArray_MHAI1_HA)
#define IEDMODEL_ComplexArray_MHAI1_HA_phsAHar (&iedModel_ComplexArray_MHAI1_HA_phsAHar) #define IEDMODEL_ComplexArray_MHAI1_HA_phsAHar (&iedModel_ComplexArray_MHAI1_HA_phsAHar)

Loading…
Cancel
Save