Merge remote-tracking branch 'refs/remotes/mz-automation/master'
commit
4fb8abe750
@ -0,0 +1,25 @@
|
|||||||
|
language: c
|
||||||
|
|
||||||
|
compiler:
|
||||||
|
- clang
|
||||||
|
- gcc
|
||||||
|
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- cmake
|
||||||
|
- swig
|
||||||
|
- libsqlite3-dev
|
||||||
|
- python-dev
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||||
|
brew update;
|
||||||
|
brew install swig python sqlite;
|
||||||
|
fi
|
||||||
|
- mkdir -p build && cd build
|
||||||
|
|
||||||
|
script:
|
||||||
|
- cmake .. -DBUILD_PYTHON_BINDINGS=ON
|
||||||
|
- make
|
||||||
|
- make test
|
@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
The default ethernet interface is eth0. You can specify another interface at the command line.
|
||||||
|
|
||||||
|
./sv_9_2LE_example eth1
|
||||||
|
|
||||||
|
In order for the SV publisher to start the SVCB has to be enabled by an MMS client.
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,104 +0,0 @@
|
|||||||
/*
|
|
||||||
* client_example_files.c
|
|
||||||
*
|
|
||||||
* This example demonstrates the usage of the file services
|
|
||||||
*
|
|
||||||
* - How to browse the file system of the server
|
|
||||||
* - How to download a file from the server
|
|
||||||
*
|
|
||||||
* Note: intended to be used with server_example3
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "iec61850_client.h"
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include "hal_thread.h"
|
|
||||||
|
|
||||||
#define MAX_BUFFER_SIZE 2000000
|
|
||||||
|
|
||||||
static uint8_t downloadBuffer[MAX_BUFFER_SIZE];
|
|
||||||
static int bufferPosition = 0;
|
|
||||||
|
|
||||||
static bool
|
|
||||||
downloadHandler(void* parameter, uint8_t* buffer, uint32_t bytesRead)
|
|
||||||
{
|
|
||||||
printf("received %i bytes\n", bytesRead);
|
|
||||||
|
|
||||||
if (bufferPosition + bytesRead < MAX_BUFFER_SIZE) {
|
|
||||||
memcpy(downloadBuffer + bufferPosition, buffer, bytesRead);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
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) {
|
|
||||||
|
|
||||||
/* Get the root directory */
|
|
||||||
LinkedList rootDirectory =
|
|
||||||
IedConnection_getFileDirectory(con, &error, NULL);
|
|
||||||
|
|
||||||
if (error != IED_ERROR_OK) {
|
|
||||||
printf("Error retrieving file directory\n");
|
|
||||||
goto abort_connection;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
LinkedList directoryEntry = LinkedList_getNext(rootDirectory);
|
|
||||||
|
|
||||||
while (directoryEntry != NULL) {
|
|
||||||
|
|
||||||
FileDirectoryEntry entry = (FileDirectoryEntry) directoryEntry->data;
|
|
||||||
|
|
||||||
printf("%s %i\n", FileDirectoryEntry_getFileName(entry), FileDirectoryEntry_getFileSize(entry));
|
|
||||||
|
|
||||||
directoryEntry = LinkedList_getNext(directoryEntry);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Download a file from the server */
|
|
||||||
IedConnection_getFile(con, &error, "IEDSERVER.BIN", downloadHandler, NULL);
|
|
||||||
|
|
||||||
if (error != IED_ERROR_OK)
|
|
||||||
printf("Failed to get file!\n");
|
|
||||||
|
|
||||||
/* Delete file at server */
|
|
||||||
IedConnection_deleteFile(con, &error, "IEDSERVER.BIN");
|
|
||||||
|
|
||||||
if (error != IED_ERROR_OK)
|
|
||||||
printf("Failed to delete file! (code=%i)\n", error);
|
|
||||||
|
|
||||||
abort_connection:
|
|
||||||
|
|
||||||
IedConnection_abort(con, &error);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
printf("Failed to connect to %s:%i\n", hostname, tcpPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
IedConnection_destroy(con);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,265 @@
|
|||||||
|
/*
|
||||||
|
* file-tool.c
|
||||||
|
*
|
||||||
|
* This example demonstrates the usage of the file services
|
||||||
|
*
|
||||||
|
* - How to browse the file system of the server
|
||||||
|
* - How to download a file from the server
|
||||||
|
*
|
||||||
|
* Note: intended to be used with server_example3 or server_example_files
|
||||||
|
*
|
||||||
|
* Note: DOES NOT WORK WITH VISUAL STUDIO because of libgen.h
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "iec61850_client.h"
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <libgen.h>
|
||||||
|
|
||||||
|
static char* hostname = "localhost";
|
||||||
|
static int tcpPort = 102;
|
||||||
|
static char* filename = NULL;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
FileOperationType_None = 0,
|
||||||
|
FileOperationType_Dir,
|
||||||
|
FileOperationType_Info,
|
||||||
|
FileOperationType_Del,
|
||||||
|
FileOperationType_Get,
|
||||||
|
FileOperationType_Set
|
||||||
|
} FileOperationType;
|
||||||
|
|
||||||
|
static FileOperationType operation = FileOperationType_None;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static bool
|
||||||
|
downloadHandler(void* parameter, uint8_t* buffer, uint32_t bytesRead)
|
||||||
|
{
|
||||||
|
FILE* fp = (FILE*) parameter;
|
||||||
|
|
||||||
|
printf("received %i bytes\n", bytesRead);
|
||||||
|
|
||||||
|
if (fwrite(buffer, bytesRead, 1, fp) == 1)
|
||||||
|
return true;
|
||||||
|
else {
|
||||||
|
printf("Failed to write local file!\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
printHelp()
|
||||||
|
{
|
||||||
|
printf("file-tool [options] <operation> [<parameters>]\n");
|
||||||
|
printf(" Options:\n");
|
||||||
|
printf(" -h <hostname/IP>\n");
|
||||||
|
printf(" -p portnumber\n");
|
||||||
|
printf(" Operations\n");
|
||||||
|
printf(" dir - show directory\n");
|
||||||
|
printf(" info <filename> - show file info\n");
|
||||||
|
printf(" del <filename> - delete file\n");
|
||||||
|
printf(" get <filename> - get file\n");
|
||||||
|
printf(" set <filename> - set file\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
parseOptions(int argc, char** argv)
|
||||||
|
{
|
||||||
|
int currentArgc = 1;
|
||||||
|
|
||||||
|
int retVal = 0;
|
||||||
|
|
||||||
|
while (currentArgc < argc) {
|
||||||
|
if (strcmp(argv[currentArgc], "-h") == 0) {
|
||||||
|
hostname = argv[++currentArgc];
|
||||||
|
}
|
||||||
|
else if (strcmp(argv[currentArgc], "-p") == 0) {
|
||||||
|
tcpPort = atoi(argv[++currentArgc]);
|
||||||
|
}
|
||||||
|
else if (strcmp(argv[currentArgc], "del") == 0) {
|
||||||
|
operation = FileOperationType_Del;
|
||||||
|
filename = argv[++currentArgc];
|
||||||
|
}
|
||||||
|
else if (strcmp(argv[currentArgc], "dir") == 0) {
|
||||||
|
operation = FileOperationType_Dir;
|
||||||
|
}
|
||||||
|
else if (strcmp(argv[currentArgc], "info") == 0) {
|
||||||
|
operation = FileOperationType_Info;
|
||||||
|
filename = argv[++currentArgc];
|
||||||
|
}
|
||||||
|
else if (strcmp(argv[currentArgc], "get") == 0) {
|
||||||
|
operation = FileOperationType_Get;
|
||||||
|
filename = argv[++currentArgc];
|
||||||
|
}
|
||||||
|
else if (strcmp(argv[currentArgc], "set") == 0) {
|
||||||
|
operation = FileOperationType_Set;
|
||||||
|
filename = argv[++currentArgc];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("Unknown operation!\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
currentArgc++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return retVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
showDirectory(IedConnection con)
|
||||||
|
{
|
||||||
|
IedClientError error;
|
||||||
|
|
||||||
|
/* Get the root directory */
|
||||||
|
LinkedList rootDirectory =
|
||||||
|
IedConnection_getFileDirectory(con, &error, NULL);
|
||||||
|
|
||||||
|
if (error != IED_ERROR_OK) {
|
||||||
|
printf("Error retrieving file directory\n");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
LinkedList directoryEntry = LinkedList_getNext(rootDirectory);
|
||||||
|
|
||||||
|
while (directoryEntry != NULL) {
|
||||||
|
|
||||||
|
FileDirectoryEntry entry = (FileDirectoryEntry) directoryEntry->data;
|
||||||
|
|
||||||
|
printf("%s %i\n", FileDirectoryEntry_getFileName(entry), FileDirectoryEntry_getFileSize(entry));
|
||||||
|
|
||||||
|
directoryEntry = LinkedList_getNext(directoryEntry);
|
||||||
|
}
|
||||||
|
|
||||||
|
LinkedList_destroyDeep(rootDirectory, (LinkedListValueDeleteFunction) FileDirectoryEntry_destroy);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
getFile(IedConnection con)
|
||||||
|
{
|
||||||
|
IedClientError error;
|
||||||
|
|
||||||
|
char* bname = strdup(filename);
|
||||||
|
|
||||||
|
char* localFilename = basename(bname);
|
||||||
|
|
||||||
|
FILE* fp = fopen(localFilename, "w");
|
||||||
|
|
||||||
|
if (fp != NULL) {
|
||||||
|
|
||||||
|
/* Download a file from the server */
|
||||||
|
IedConnection_getFile(con, &error, filename, downloadHandler, (void*) fp);
|
||||||
|
|
||||||
|
if (error != IED_ERROR_OK)
|
||||||
|
printf("Failed to get file!\n");
|
||||||
|
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
printf("Failed to open file %s\n", localFilename);
|
||||||
|
|
||||||
|
free(bname);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
setFile(IedConnection con)
|
||||||
|
{
|
||||||
|
IedClientError error;
|
||||||
|
|
||||||
|
char* dirc = strdup(filename);
|
||||||
|
char* basec = strdup(filename);
|
||||||
|
|
||||||
|
char* localDirName = dirname(dirc);
|
||||||
|
char* localFileName = basename(basec);
|
||||||
|
|
||||||
|
printf("local dir: %s\n", localDirName);
|
||||||
|
printf("local file: %s\n", localFileName);
|
||||||
|
|
||||||
|
/* IedConnection_setFilestoreBasepath requires the file separator at the end! */
|
||||||
|
strcpy(dirc, localDirName);
|
||||||
|
strcat(dirc, "/");
|
||||||
|
|
||||||
|
printf("filestore basepath: %s\n", dirc);
|
||||||
|
|
||||||
|
IedConnection_setFilestoreBasepath(con, dirc);
|
||||||
|
|
||||||
|
IedConnection_setFile(con, &error, localFileName, localFileName);
|
||||||
|
|
||||||
|
if (error != IED_ERROR_OK)
|
||||||
|
printf("Failed to set file! (code=%i)\n", error);
|
||||||
|
|
||||||
|
free(dirc);
|
||||||
|
free(basec);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
deleteFile(IedConnection con)
|
||||||
|
{
|
||||||
|
IedClientError error;
|
||||||
|
|
||||||
|
/* Delete file at server */
|
||||||
|
IedConnection_deleteFile(con, &error, filename);
|
||||||
|
|
||||||
|
if (error != IED_ERROR_OK)
|
||||||
|
printf("Failed to delete file! (code=%i)\n", error);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
if (argc < 2) {
|
||||||
|
printHelp();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
parseOptions(argc, argv);
|
||||||
|
|
||||||
|
if (operation == FileOperationType_None) {
|
||||||
|
printHelp();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
IedClientError error;
|
||||||
|
|
||||||
|
IedConnection con = IedConnection_create();
|
||||||
|
|
||||||
|
IedConnection_connect(con, &error, hostname, tcpPort);
|
||||||
|
|
||||||
|
if (error == IED_ERROR_OK) {
|
||||||
|
|
||||||
|
|
||||||
|
switch (operation) {
|
||||||
|
case FileOperationType_Dir:
|
||||||
|
showDirectory(con);
|
||||||
|
break;
|
||||||
|
case FileOperationType_Get:
|
||||||
|
getFile(con);
|
||||||
|
break;
|
||||||
|
case FileOperationType_Del:
|
||||||
|
deleteFile(con);
|
||||||
|
break;
|
||||||
|
case FileOperationType_Info:
|
||||||
|
break;
|
||||||
|
case FileOperationType_Set:
|
||||||
|
setFile(con);
|
||||||
|
break;
|
||||||
|
case FileOperationType_None:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
IedConnection_abort(con, &error);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("Failed to connect to %s:%i\n", hostname, tcpPort);
|
||||||
|
}
|
||||||
|
|
||||||
|
IedConnection_destroy(con);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
set(mms_client_example1_SRCS
|
|
||||||
mms_client_example1.c
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(WIN32)
|
|
||||||
set_source_files_properties(${mms_client_example1_SRCS}
|
|
||||||
PROPERTIES LANGUAGE CXX)
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
add_executable(mms_client_example1
|
|
||||||
${mms_client_example1_SRCS}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(mms_client_example1
|
|
||||||
iec61850
|
|
||||||
)
|
|
@ -1,17 +0,0 @@
|
|||||||
LIBIEC_HOME=../..
|
|
||||||
|
|
||||||
PROJECT_BINARY_NAME = mms_client_example1
|
|
||||||
PROJECT_SOURCES = mms_client_example1.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)
|
|
@ -1,51 +0,0 @@
|
|||||||
/*
|
|
||||||
* mms_client_example.c
|
|
||||||
*
|
|
||||||
* This is the most simple example. It illustrates how to create an MmsConnection
|
|
||||||
* object and connect to a MMS server.
|
|
||||||
*
|
|
||||||
* Copyright 2013 Michael Zillgith
|
|
||||||
*
|
|
||||||
* This file is part of libIEC61850.
|
|
||||||
*
|
|
||||||
* libIEC61850 is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* libIEC61850 is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with libIEC61850. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
* See COPYING file for the complete license text.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "mms_client_connection.h"
|
|
||||||
#include "hal_thread.h"
|
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
|
||||||
|
|
||||||
MmsConnection con = MmsConnection_create();
|
|
||||||
|
|
||||||
MmsError mmsError;
|
|
||||||
|
|
||||||
if (MmsConnection_connect(con, &mmsError, "localhost", 102)) {
|
|
||||||
// add application code here
|
|
||||||
|
|
||||||
Thread_sleep(1000);
|
|
||||||
|
|
||||||
printf("Send abort\n");
|
|
||||||
MmsConnection_abort(con, &mmsError);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
printf("Connect to server failed!\n");
|
|
||||||
|
|
||||||
MmsConnection_destroy(con);
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
set(mms_client_example2_SRCS
|
|
||||||
mms_client_example2.c
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(MSVC)
|
|
||||||
set_source_files_properties(${mms_client_example2_SRCS}
|
|
||||||
PROPERTIES LANGUAGE CXX)
|
|
||||||
ENDIF(MSVC)
|
|
||||||
|
|
||||||
add_executable(mms_client_example2
|
|
||||||
${mms_client_example2_SRCS}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(mms_client_example2
|
|
||||||
iec61850
|
|
||||||
)
|
|
@ -1,17 +0,0 @@
|
|||||||
LIBIEC_HOME=../..
|
|
||||||
|
|
||||||
PROJECT_BINARY_NAME = mms_client_example2
|
|
||||||
PROJECT_SOURCES = mms_client_example2.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)
|
|
@ -1,64 +0,0 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "mms_client_connection.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]);
|
|
||||||
|
|
||||||
MmsConnection con = MmsConnection_create();
|
|
||||||
|
|
||||||
MmsError mmsError;
|
|
||||||
|
|
||||||
/* Set maximum MMS PDU size (local detail) to 2000 byte */
|
|
||||||
MmsConnection_setLocalDetail(con, 2000);
|
|
||||||
|
|
||||||
if (!MmsConnection_connect(con, &mmsError, hostname, tcpPort)) {
|
|
||||||
printf("MMS connect failed!\n");
|
|
||||||
goto exit;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
printf("MMS connected.\n\n");
|
|
||||||
|
|
||||||
printf("Domains present on server:\n--------------------------\n");
|
|
||||||
LinkedList nameList = MmsConnection_getDomainNames(con, &mmsError);
|
|
||||||
LinkedList_printStringList(nameList);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
LinkedList element = nameList;
|
|
||||||
|
|
||||||
while ((element = LinkedList_getNext(element)) != NULL) {
|
|
||||||
printf("\nNamed variables in domain: %s\n-------------------------------------------------\n", (char*) element->data);
|
|
||||||
|
|
||||||
LinkedList variableList = MmsConnection_getDomainVariableNames(con, &mmsError, (char*) element->data);
|
|
||||||
|
|
||||||
LinkedList_printStringList(variableList);
|
|
||||||
|
|
||||||
LinkedList_destroy(variableList);
|
|
||||||
|
|
||||||
printf("\nNamed variable lists (data sets) in domain: %s\n", (char*) element->data);
|
|
||||||
|
|
||||||
LinkedList dataSetList = MmsConnection_getDomainVariableListNames(con, &mmsError, (char*) element->data);
|
|
||||||
|
|
||||||
LinkedList_printStringList(dataSetList);
|
|
||||||
|
|
||||||
LinkedList_destroy(dataSetList);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
LinkedList_destroy(nameList);
|
|
||||||
|
|
||||||
exit:
|
|
||||||
MmsConnection_destroy(con);
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
set(mms_client_example3_SRCS
|
|
||||||
mms_client_example3.c
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(MSVC)
|
|
||||||
set_source_files_properties(${mms_client_example3_SRCS}
|
|
||||||
PROPERTIES LANGUAGE CXX)
|
|
||||||
ENDIF(MSVC)
|
|
||||||
|
|
||||||
add_executable(mms_client_example3
|
|
||||||
${mms_client_example3_SRCS}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(mms_client_example3
|
|
||||||
iec61850
|
|
||||||
)
|
|
@ -1,17 +0,0 @@
|
|||||||
LIBIEC_HOME=../..
|
|
||||||
|
|
||||||
PROJECT_BINARY_NAME = mms_client_example3
|
|
||||||
PROJECT_SOURCES = mms_client_example3.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)
|
|
@ -1,41 +0,0 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "mms_client_connection.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]);
|
|
||||||
|
|
||||||
MmsConnection con = MmsConnection_create();
|
|
||||||
|
|
||||||
MmsError error;
|
|
||||||
|
|
||||||
if (!MmsConnection_connect(con, &error, hostname, tcpPort)) {
|
|
||||||
printf("MMS connect failed!\n");
|
|
||||||
goto exit;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
printf("MMS connected.\n\n");
|
|
||||||
|
|
||||||
MmsValue* value =
|
|
||||||
MmsConnection_readVariable(con, &error, "simpleIOGenericIO", "LLN0$GO");
|
|
||||||
|
|
||||||
if (value == NULL)
|
|
||||||
printf("reading value failed!\n");
|
|
||||||
else
|
|
||||||
MmsValue_delete(value);
|
|
||||||
|
|
||||||
exit:
|
|
||||||
MmsConnection_destroy(con);
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
set(mms_client_example4_SRCS
|
|
||||||
mms_client_example4.c
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(MSVC)
|
|
||||||
set_source_files_properties(${mms_client_example4_SRCS}
|
|
||||||
PROPERTIES LANGUAGE CXX)
|
|
||||||
ENDIF(MSVC)
|
|
||||||
|
|
||||||
add_executable(mms_client_example4
|
|
||||||
${mms_client_example4_SRCS}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(mms_client_example4
|
|
||||||
iec61850
|
|
||||||
)
|
|
@ -1,17 +0,0 @@
|
|||||||
LIBIEC_HOME=../..
|
|
||||||
|
|
||||||
PROJECT_BINARY_NAME = mms_client_example4
|
|
||||||
PROJECT_SOURCES = mms_client_example4.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)
|
|
@ -1,87 +0,0 @@
|
|||||||
/*
|
|
||||||
* mms_client_example.c
|
|
||||||
*
|
|
||||||
* Copyright 2013 Michael Zillgith
|
|
||||||
*
|
|
||||||
* This file is part of libIEC61850.
|
|
||||||
*
|
|
||||||
* libIEC61850 is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* libIEC61850 is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with libIEC61850. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
* See COPYING file for the complete license text.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "mms_client_connection.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]);
|
|
||||||
|
|
||||||
MmsConnection con = MmsConnection_create();
|
|
||||||
|
|
||||||
MmsError mmsError;
|
|
||||||
|
|
||||||
char* password = "testpw";
|
|
||||||
|
|
||||||
/* use authentication */
|
|
||||||
AcseAuthenticationParameter auth = (AcseAuthenticationParameter) calloc(1, sizeof(struct sAcseAuthenticationParameter));
|
|
||||||
auth->mechanism = ACSE_AUTH_PASSWORD;
|
|
||||||
auth->value.password.octetString= (uint8_t*) password;
|
|
||||||
auth->value.password.passwordLength = strlen(password);
|
|
||||||
|
|
||||||
IsoConnectionParameters connectionParameters =
|
|
||||||
MmsConnection_getIsoConnectionParameters(con);
|
|
||||||
|
|
||||||
IsoConnectionParameters_setAcseAuthenticationParameter(connectionParameters, auth);
|
|
||||||
|
|
||||||
if (!MmsConnection_connect(con, &mmsError, hostname, tcpPort)) {
|
|
||||||
printf("MMS connect failed!\n");
|
|
||||||
goto exit;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
printf("MMS connected.\n\n");
|
|
||||||
|
|
||||||
printf("Domains present on server:\n--------------------------\n");
|
|
||||||
LinkedList nameList = MmsConnection_getDomainNames(con, &mmsError);
|
|
||||||
LinkedList_printStringList(nameList);
|
|
||||||
LinkedList_destroy(nameList);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
|
|
||||||
printf("Named variables for domain SampleIEDDevice1:\n--------------------------------------------\n");
|
|
||||||
nameList = MmsConnection_getDomainVariableNames(con, &mmsError, "SampleIEDDevice1");
|
|
||||||
LinkedList_printStringList(nameList);
|
|
||||||
LinkedList_destroy(nameList);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
printf("Data sets for domain SampleIEDDevice1:\n--------------------------------------------\n");
|
|
||||||
nameList = MmsConnection_getDomainVariableListNames(con, &mmsError, "SampleIEDDevice1");
|
|
||||||
LinkedList_printStringList(nameList);
|
|
||||||
LinkedList_destroy(nameList);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
exit:
|
|
||||||
MmsConnection_destroy(con);
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
set(mms_client_example5_SRCS
|
|
||||||
mms_client_example5.c
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(WIN32)
|
|
||||||
set_source_files_properties(${mms_client_example5_SRCS}
|
|
||||||
PROPERTIES LANGUAGE CXX)
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
add_executable(mms_client_example5
|
|
||||||
${mms_client_example5_SRCS}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(mms_client_example5
|
|
||||||
iec61850
|
|
||||||
)
|
|
@ -1,17 +0,0 @@
|
|||||||
LIBIEC_HOME=../..
|
|
||||||
|
|
||||||
PROJECT_BINARY_NAME = mms_client_example5
|
|
||||||
PROJECT_SOURCES = mms_client_example5.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)
|
|
@ -1,50 +0,0 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "mms_client_connection.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]);
|
|
||||||
|
|
||||||
MmsConnection con = MmsConnection_create();
|
|
||||||
|
|
||||||
MmsError error;
|
|
||||||
|
|
||||||
if (!MmsConnection_connect(con, &error, hostname, tcpPort)) {
|
|
||||||
printf("MMS connect failed!\n");
|
|
||||||
goto exit;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
printf("MMS connected.\n\n");
|
|
||||||
|
|
||||||
LinkedList dataSetEntries = LinkedList_create();
|
|
||||||
|
|
||||||
MmsVariableAccessSpecification* dataSetEntry =
|
|
||||||
MmsVariableAccessSpecification_create("BayControllerQ", "QA1CSWI1$ST$Pos");
|
|
||||||
|
|
||||||
LinkedList_add(dataSetEntries, (void*) dataSetEntry);
|
|
||||||
|
|
||||||
dataSetEntry =
|
|
||||||
MmsVariableAccessSpecification_create("BayControllerQ", "QA1XCBR1$ST$Pos");
|
|
||||||
|
|
||||||
LinkedList_add(dataSetEntries, (void*) dataSetEntry);
|
|
||||||
|
|
||||||
MmsConnection_defineNamedVariableList(con, &error, "BayControllerQ", "LLN0$LIBIEC61850_CLIENT", dataSetEntries);
|
|
||||||
|
|
||||||
/* delete list and all elements */
|
|
||||||
LinkedList_destroy(dataSetEntries);
|
|
||||||
|
|
||||||
exit:
|
|
||||||
MmsConnection_destroy(con);
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
|||||||
include_directories(
|
|
||||||
.
|
|
||||||
)
|
|
||||||
|
|
||||||
set(server_example1_SRCS
|
|
||||||
server_example1.c
|
|
||||||
static_model.c
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(WIN32)
|
|
||||||
set_source_files_properties(${server_example1_SRCS}
|
|
||||||
PROPERTIES LANGUAGE CXX)
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
add_executable(server_example1
|
|
||||||
${server_example1_SRCS}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(server_example1
|
|
||||||
iec61850
|
|
||||||
)
|
|
@ -1,21 +0,0 @@
|
|||||||
include_directories(
|
|
||||||
.
|
|
||||||
)
|
|
||||||
|
|
||||||
set(server_example2_SRCS
|
|
||||||
server_example2.c
|
|
||||||
static_model.c
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(WIN32)
|
|
||||||
set_source_files_properties(${server_example2_SRCS}
|
|
||||||
PROPERTIES LANGUAGE CXX)
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
add_executable(server_example2
|
|
||||||
${server_example2_SRCS}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(server_example2
|
|
||||||
iec61850
|
|
||||||
)
|
|
@ -1,24 +0,0 @@
|
|||||||
LIBIEC_HOME=../..
|
|
||||||
|
|
||||||
PROJECT_BINARY_NAME = server_example2
|
|
||||||
PROJECT_SOURCES = server_example2.c
|
|
||||||
PROJECT_SOURCES += static_model.c
|
|
||||||
|
|
||||||
PROJECT_ICD_FILE = complexModel.icd
|
|
||||||
|
|
||||||
include $(LIBIEC_HOME)/make/target_system.mk
|
|
||||||
include $(LIBIEC_HOME)/make/stack_includes.mk
|
|
||||||
|
|
||||||
all: $(PROJECT_BINARY_NAME)
|
|
||||||
|
|
||||||
include $(LIBIEC_HOME)/make/common_targets.mk
|
|
||||||
|
|
||||||
model: $(PROJECT_ICD_FILE)
|
|
||||||
java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE)
|
|
||||||
|
|
||||||
$(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME)
|
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDFLAGS) $(LDLIBS)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(PROJECT_BINARY_NAME)
|
|
||||||
|
|
@ -1,91 +0,0 @@
|
|||||||
/*
|
|
||||||
* server_example2.c
|
|
||||||
*
|
|
||||||
* Copyright 2013 Michael Zillgith
|
|
||||||
*
|
|
||||||
* This file is part of libIEC61850.
|
|
||||||
*
|
|
||||||
* libIEC61850 is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* libIEC61850 is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with libIEC61850. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
* See COPYING file for the complete license text.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "iec61850_server.h"
|
|
||||||
#include "hal_thread.h"
|
|
||||||
#include <signal.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
|
|
||||||
/* Include the generated header with the model access handles */
|
|
||||||
#include "static_model.h"
|
|
||||||
|
|
||||||
/* import IEC 61850 device model created from SCL-File */
|
|
||||||
extern IedModel iedModel;
|
|
||||||
|
|
||||||
static int running = 0;
|
|
||||||
|
|
||||||
void sigint_handler(int signalId)
|
|
||||||
{
|
|
||||||
running = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
main(int argc, char** argv)
|
|
||||||
{
|
|
||||||
IedServer iedServer = IedServer_create(&iedModel);
|
|
||||||
|
|
||||||
// TODO get stored values from persistent storage
|
|
||||||
|
|
||||||
// TODO set initial measurement and status values from process
|
|
||||||
|
|
||||||
/* MMS server will be instructed to start listening to client connections. */
|
|
||||||
IedServer_start(iedServer, 102);
|
|
||||||
|
|
||||||
if (!IedServer_isRunning(iedServer)) {
|
|
||||||
printf("Starting server failed! Exit.\n");
|
|
||||||
IedServer_destroy(iedServer);
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
running = 1;
|
|
||||||
|
|
||||||
signal(SIGINT, sigint_handler);
|
|
||||||
|
|
||||||
float power = 500.f;
|
|
||||||
|
|
||||||
while (running) {
|
|
||||||
|
|
||||||
uint64_t timeval = Hal_getTimeInMs();
|
|
||||||
|
|
||||||
IedServer_lockDataModel(iedServer);
|
|
||||||
|
|
||||||
IedServer_updateUTCTimeAttributeValue(iedServer, IEDMODEL_Inverter_MMXU1_TotW_t, timeval);
|
|
||||||
IedServer_updateFloatAttributeValue(iedServer, IEDMODEL_Inverter_MMXU1_TotW_mag_f, power);
|
|
||||||
|
|
||||||
IedServer_unlockDataModel(iedServer);
|
|
||||||
|
|
||||||
power += 0.1f;
|
|
||||||
|
|
||||||
Thread_sleep(500);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* stop MMS server - close TCP server socket and all client sockets */
|
|
||||||
IedServer_stop(iedServer);
|
|
||||||
|
|
||||||
/* Cleanup - free all resources */
|
|
||||||
IedServer_destroy(iedServer);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
} /* main() */
|
|
File diff suppressed because it is too large
Load Diff
@ -1,21 +0,0 @@
|
|||||||
include_directories(
|
|
||||||
.
|
|
||||||
)
|
|
||||||
|
|
||||||
set(server_example3_SRCS
|
|
||||||
server_example3.c
|
|
||||||
static_model.c
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(WIN32)
|
|
||||||
set_source_files_properties(${server_example3_SRCS}
|
|
||||||
PROPERTIES LANGUAGE CXX)
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
add_executable(server_example3
|
|
||||||
${server_example3_SRCS}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(server_example3
|
|
||||||
iec61850
|
|
||||||
)
|
|
@ -1,21 +0,0 @@
|
|||||||
include_directories(
|
|
||||||
.
|
|
||||||
)
|
|
||||||
|
|
||||||
set(server_example4_SRCS
|
|
||||||
server_example4.c
|
|
||||||
static_model.c
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(WIN32)
|
|
||||||
set_source_files_properties(${server_example4_SRCS}
|
|
||||||
PROPERTIES LANGUAGE CXX)
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
add_executable(server_example4
|
|
||||||
${server_example4_SRCS}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(server_example4
|
|
||||||
iec61850
|
|
||||||
)
|
|
@ -1,21 +0,0 @@
|
|||||||
include_directories(
|
|
||||||
.
|
|
||||||
)
|
|
||||||
|
|
||||||
set(server_example5_SRCS
|
|
||||||
server_example5.c
|
|
||||||
static_model.c
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(WIN32)
|
|
||||||
set_source_files_properties(${server_example5_SRCS}
|
|
||||||
PROPERTIES LANGUAGE CXX)
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
add_executable(server_example5
|
|
||||||
${server_example5_SRCS}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(server_example5
|
|
||||||
iec61850
|
|
||||||
)
|
|
@ -1,609 +0,0 @@
|
|||||||
/*
|
|
||||||
* static_model.h
|
|
||||||
*
|
|
||||||
* automatically generated from complexModel.icd
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef STATIC_MODEL_H_
|
|
||||||
#define STATIC_MODEL_H_
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include "iec61850_model.h"
|
|
||||||
|
|
||||||
extern IedModel iedModel;
|
|
||||||
extern LogicalDevice iedModel_Inverter;
|
|
||||||
extern LogicalNode iedModel_Inverter_LLN0;
|
|
||||||
extern DataObject iedModel_Inverter_LLN0_Mod;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_Mod_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_Mod_t;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_Mod_ctlModel;
|
|
||||||
extern DataObject iedModel_Inverter_LLN0_Beh;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_Beh_stVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_Beh_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_Beh_t;
|
|
||||||
extern DataObject iedModel_Inverter_LLN0_Health;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_Health_stVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_Health_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_Health_t;
|
|
||||||
extern DataObject iedModel_Inverter_LLN0_NamPlt;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_NamPlt_vendor;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_NamPlt_swRev;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_NamPlt_d;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_NamPlt_configRev;
|
|
||||||
extern DataAttribute iedModel_Inverter_LLN0_NamPlt_ldNs;
|
|
||||||
extern LogicalNode iedModel_Inverter_LPHD1;
|
|
||||||
extern DataObject iedModel_Inverter_LPHD1_PhyNam;
|
|
||||||
extern DataAttribute iedModel_Inverter_LPHD1_PhyNam_vendor;
|
|
||||||
extern DataObject iedModel_Inverter_LPHD1_PhyHealth;
|
|
||||||
extern DataAttribute iedModel_Inverter_LPHD1_PhyHealth_stVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_LPHD1_PhyHealth_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_LPHD1_PhyHealth_t;
|
|
||||||
extern DataObject iedModel_Inverter_LPHD1_Proxy;
|
|
||||||
extern DataAttribute iedModel_Inverter_LPHD1_Proxy_stVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_LPHD1_Proxy_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_LPHD1_Proxy_t;
|
|
||||||
extern LogicalNode iedModel_Inverter_ZINV1;
|
|
||||||
extern DataObject iedModel_Inverter_ZINV1_Mod;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_Mod_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_Mod_t;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_Mod_ctlModel;
|
|
||||||
extern DataObject iedModel_Inverter_ZINV1_Beh;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_Beh_stVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_Beh_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_Beh_t;
|
|
||||||
extern DataObject iedModel_Inverter_ZINV1_Health;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_Health_stVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_Health_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_Health_t;
|
|
||||||
extern DataObject iedModel_Inverter_ZINV1_NamPlt;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_NamPlt_vendor;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_NamPlt_swRev;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_NamPlt_d;
|
|
||||||
extern DataObject iedModel_Inverter_ZINV1_WRtg;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_WRtg_setMag;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_WRtg_setMag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_WRtg_units;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_WRtg_units_SIUnit;
|
|
||||||
extern DataObject iedModel_Inverter_ZINV1_VarRtg;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_VarRtg_setMag;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_VarRtg_setMag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_VarRtg_units;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_VarRtg_units_SIUnit;
|
|
||||||
extern DataObject iedModel_Inverter_ZINV1_ACTyp;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_ACTyp_setVal;
|
|
||||||
extern DataObject iedModel_Inverter_ZINV1_OutWSet;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_OutWSet_setMag;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_OutWSet_setMag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_OutWSet_units;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_OutWSet_units_SIUnit;
|
|
||||||
extern DataObject iedModel_Inverter_ZINV1_OutVarSet;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_OutVarSet_setMag;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_OutVarSet_setMag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_OutVarSet_units;
|
|
||||||
extern DataAttribute iedModel_Inverter_ZINV1_OutVarSet_units_SIUnit;
|
|
||||||
extern LogicalNode iedModel_Inverter_MMXU1;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_Mod;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Mod_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Mod_t;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Mod_ctlModel;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_Beh;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Beh_stVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Beh_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Beh_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_Health;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Health_stVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Health_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Health_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_NamPlt;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_NamPlt_vendor;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_NamPlt_swRev;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_NamPlt_d;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_TotW;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotW_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotW_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotW_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotW_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_TotVAr;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotVAr_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotVAr_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotVAr_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotVAr_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_TotVA;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotVA_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotVA_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotVA_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_TotVA_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_Hz;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Hz_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Hz_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Hz_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_Hz_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_PhV;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_PhV_phsA;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsA_cVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsA_cVal_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsA_cVal_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsA_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsA_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_PhV_phsB;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsB_cVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsB_cVal_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsB_cVal_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsB_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsB_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_PhV_phsC;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsC_cVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsC_cVal_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsC_cVal_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsC_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_phsC_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_PhV_neut;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_neut_cVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_neut_cVal_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_neut_cVal_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_neut_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_PhV_neut_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_A;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_A_phsA;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsA_cVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsA_cVal_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsA_cVal_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsA_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsA_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_A_phsB;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsB_cVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsB_cVal_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsB_cVal_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsB_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsB_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_A_phsC;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsC_cVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsC_cVal_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsC_cVal_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsC_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_phsC_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_A_neut;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_neut_cVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_neut_cVal_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_neut_cVal_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_neut_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_A_neut_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_W;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_W_phsA;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsA_cVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsA_cVal_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsA_cVal_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsA_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsA_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_W_phsB;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsB_cVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsB_cVal_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsB_cVal_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsB_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsB_t;
|
|
||||||
extern DataObject iedModel_Inverter_MMXU1_W_phsC;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsC_cVal;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsC_cVal_mag;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsC_cVal_mag_f;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsC_q;
|
|
||||||
extern DataAttribute iedModel_Inverter_MMXU1_W_phsC_t;
|
|
||||||
extern LogicalDevice iedModel_Battery;
|
|
||||||
extern LogicalNode iedModel_Battery_LLN0;
|
|
||||||
extern DataObject iedModel_Battery_LLN0_Mod;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_Mod_q;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_Mod_t;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_Mod_ctlModel;
|
|
||||||
extern DataObject iedModel_Battery_LLN0_Beh;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_Beh_stVal;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_Beh_q;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_Beh_t;
|
|
||||||
extern DataObject iedModel_Battery_LLN0_Health;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_Health_stVal;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_Health_q;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_Health_t;
|
|
||||||
extern DataObject iedModel_Battery_LLN0_NamPlt;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_NamPlt_vendor;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_NamPlt_swRev;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_NamPlt_d;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_NamPlt_configRev;
|
|
||||||
extern DataAttribute iedModel_Battery_LLN0_NamPlt_ldNs;
|
|
||||||
extern LogicalNode iedModel_Battery_LPHD1;
|
|
||||||
extern DataObject iedModel_Battery_LPHD1_PhyNam;
|
|
||||||
extern DataAttribute iedModel_Battery_LPHD1_PhyNam_vendor;
|
|
||||||
extern DataObject iedModel_Battery_LPHD1_PhyHealth;
|
|
||||||
extern DataAttribute iedModel_Battery_LPHD1_PhyHealth_stVal;
|
|
||||||
extern DataAttribute iedModel_Battery_LPHD1_PhyHealth_q;
|
|
||||||
extern DataAttribute iedModel_Battery_LPHD1_PhyHealth_t;
|
|
||||||
extern DataObject iedModel_Battery_LPHD1_Proxy;
|
|
||||||
extern DataAttribute iedModel_Battery_LPHD1_Proxy_stVal;
|
|
||||||
extern DataAttribute iedModel_Battery_LPHD1_Proxy_q;
|
|
||||||
extern DataAttribute iedModel_Battery_LPHD1_Proxy_t;
|
|
||||||
extern LogicalNode iedModel_Battery_ZBAT1;
|
|
||||||
extern DataObject iedModel_Battery_ZBAT1_Mod;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Mod_q;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Mod_t;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Mod_ctlModel;
|
|
||||||
extern DataObject iedModel_Battery_ZBAT1_Beh;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Beh_stVal;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Beh_q;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Beh_t;
|
|
||||||
extern DataObject iedModel_Battery_ZBAT1_Health;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Health_stVal;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Health_q;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Health_t;
|
|
||||||
extern DataObject iedModel_Battery_ZBAT1_NamPlt;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_NamPlt_vendor;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_NamPlt_swRev;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_NamPlt_d;
|
|
||||||
extern DataObject iedModel_Battery_ZBAT1_Vol;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Vol_mag;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Vol_mag_f;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Vol_q;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Vol_t;
|
|
||||||
extern DataObject iedModel_Battery_ZBAT1_Amp;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Amp_mag;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Amp_mag_f;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Amp_q;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBAT1_Amp_t;
|
|
||||||
extern LogicalNode iedModel_Battery_ZBTC1;
|
|
||||||
extern DataObject iedModel_Battery_ZBTC1_Mod;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_Mod_q;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_Mod_t;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_Mod_ctlModel;
|
|
||||||
extern DataObject iedModel_Battery_ZBTC1_Beh;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_Beh_stVal;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_Beh_q;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_Beh_t;
|
|
||||||
extern DataObject iedModel_Battery_ZBTC1_Health;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_Health_stVal;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_Health_q;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_Health_t;
|
|
||||||
extern DataObject iedModel_Battery_ZBTC1_NamPlt;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_NamPlt_vendor;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_NamPlt_swRev;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_NamPlt_d;
|
|
||||||
extern DataObject iedModel_Battery_ZBTC1_BatChaSt;
|
|
||||||
extern DataObject iedModel_Battery_ZBTC1_BatChaPwr;
|
|
||||||
extern DataObject iedModel_Battery_ZBTC1_BatChaMod;
|
|
||||||
extern DataObject iedModel_Battery_ZBTC1_ChaV;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_ChaV_mag;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_ChaV_mag_f;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_ChaV_q;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_ChaV_t;
|
|
||||||
extern DataObject iedModel_Battery_ZBTC1_ChaA;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_ChaA_mag;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_ChaA_mag_f;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_ChaA_q;
|
|
||||||
extern DataAttribute iedModel_Battery_ZBTC1_ChaA_t;
|
|
||||||
extern LogicalDevice iedModel_Physical_Measurements;
|
|
||||||
extern LogicalNode iedModel_Physical_Measurements_LLN0;
|
|
||||||
extern DataObject iedModel_Physical_Measurements_LLN0_Mod;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_Mod_q;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_Mod_t;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_Mod_ctlModel;
|
|
||||||
extern DataObject iedModel_Physical_Measurements_LLN0_Beh;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_Beh_stVal;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_Beh_q;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_Beh_t;
|
|
||||||
extern DataObject iedModel_Physical_Measurements_LLN0_Health;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_Health_stVal;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_Health_q;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_Health_t;
|
|
||||||
extern DataObject iedModel_Physical_Measurements_LLN0_NamPlt;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_NamPlt_vendor;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_NamPlt_swRev;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_NamPlt_d;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_NamPlt_configRev;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LLN0_NamPlt_ldNs;
|
|
||||||
extern LogicalNode iedModel_Physical_Measurements_LPHD1;
|
|
||||||
extern DataObject iedModel_Physical_Measurements_LPHD1_PhyNam;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LPHD1_PhyNam_vendor;
|
|
||||||
extern DataObject iedModel_Physical_Measurements_LPHD1_PhyHealth;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LPHD1_PhyHealth_stVal;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LPHD1_PhyHealth_q;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LPHD1_PhyHealth_t;
|
|
||||||
extern DataObject iedModel_Physical_Measurements_LPHD1_Proxy;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LPHD1_Proxy_stVal;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LPHD1_Proxy_q;
|
|
||||||
extern DataAttribute iedModel_Physical_Measurements_LPHD1_Proxy_t;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define IEDMODEL_Inverter (&iedModel_Inverter)
|
|
||||||
#define IEDMODEL_Inverter_LLN0 (&iedModel_Inverter_LLN0)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Mod (&iedModel_Inverter_LLN0_Mod)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Mod_q (&iedModel_Inverter_LLN0_Mod_q)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Mod_t (&iedModel_Inverter_LLN0_Mod_t)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Mod_ctlModel (&iedModel_Inverter_LLN0_Mod_ctlModel)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Beh (&iedModel_Inverter_LLN0_Beh)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Beh_stVal (&iedModel_Inverter_LLN0_Beh_stVal)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Beh_q (&iedModel_Inverter_LLN0_Beh_q)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Beh_t (&iedModel_Inverter_LLN0_Beh_t)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Health (&iedModel_Inverter_LLN0_Health)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Health_stVal (&iedModel_Inverter_LLN0_Health_stVal)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Health_q (&iedModel_Inverter_LLN0_Health_q)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_Health_t (&iedModel_Inverter_LLN0_Health_t)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_NamPlt (&iedModel_Inverter_LLN0_NamPlt)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_NamPlt_vendor (&iedModel_Inverter_LLN0_NamPlt_vendor)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_NamPlt_swRev (&iedModel_Inverter_LLN0_NamPlt_swRev)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_NamPlt_d (&iedModel_Inverter_LLN0_NamPlt_d)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_NamPlt_configRev (&iedModel_Inverter_LLN0_NamPlt_configRev)
|
|
||||||
#define IEDMODEL_Inverter_LLN0_NamPlt_ldNs (&iedModel_Inverter_LLN0_NamPlt_ldNs)
|
|
||||||
#define IEDMODEL_Inverter_LPHD1 (&iedModel_Inverter_LPHD1)
|
|
||||||
#define IEDMODEL_Inverter_LPHD1_PhyNam (&iedModel_Inverter_LPHD1_PhyNam)
|
|
||||||
#define IEDMODEL_Inverter_LPHD1_PhyNam_vendor (&iedModel_Inverter_LPHD1_PhyNam_vendor)
|
|
||||||
#define IEDMODEL_Inverter_LPHD1_PhyHealth (&iedModel_Inverter_LPHD1_PhyHealth)
|
|
||||||
#define IEDMODEL_Inverter_LPHD1_PhyHealth_stVal (&iedModel_Inverter_LPHD1_PhyHealth_stVal)
|
|
||||||
#define IEDMODEL_Inverter_LPHD1_PhyHealth_q (&iedModel_Inverter_LPHD1_PhyHealth_q)
|
|
||||||
#define IEDMODEL_Inverter_LPHD1_PhyHealth_t (&iedModel_Inverter_LPHD1_PhyHealth_t)
|
|
||||||
#define IEDMODEL_Inverter_LPHD1_Proxy (&iedModel_Inverter_LPHD1_Proxy)
|
|
||||||
#define IEDMODEL_Inverter_LPHD1_Proxy_stVal (&iedModel_Inverter_LPHD1_Proxy_stVal)
|
|
||||||
#define IEDMODEL_Inverter_LPHD1_Proxy_q (&iedModel_Inverter_LPHD1_Proxy_q)
|
|
||||||
#define IEDMODEL_Inverter_LPHD1_Proxy_t (&iedModel_Inverter_LPHD1_Proxy_t)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1 (&iedModel_Inverter_ZINV1)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Mod (&iedModel_Inverter_ZINV1_Mod)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Mod_q (&iedModel_Inverter_ZINV1_Mod_q)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Mod_t (&iedModel_Inverter_ZINV1_Mod_t)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Mod_ctlModel (&iedModel_Inverter_ZINV1_Mod_ctlModel)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Beh (&iedModel_Inverter_ZINV1_Beh)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Beh_stVal (&iedModel_Inverter_ZINV1_Beh_stVal)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Beh_q (&iedModel_Inverter_ZINV1_Beh_q)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Beh_t (&iedModel_Inverter_ZINV1_Beh_t)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Health (&iedModel_Inverter_ZINV1_Health)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Health_stVal (&iedModel_Inverter_ZINV1_Health_stVal)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Health_q (&iedModel_Inverter_ZINV1_Health_q)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_Health_t (&iedModel_Inverter_ZINV1_Health_t)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_NamPlt (&iedModel_Inverter_ZINV1_NamPlt)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_NamPlt_vendor (&iedModel_Inverter_ZINV1_NamPlt_vendor)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_NamPlt_swRev (&iedModel_Inverter_ZINV1_NamPlt_swRev)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_NamPlt_d (&iedModel_Inverter_ZINV1_NamPlt_d)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_WRtg (&iedModel_Inverter_ZINV1_WRtg)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_WRtg_setMag (&iedModel_Inverter_ZINV1_WRtg_setMag)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_WRtg_setMag_f (&iedModel_Inverter_ZINV1_WRtg_setMag_f)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_WRtg_units (&iedModel_Inverter_ZINV1_WRtg_units)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_WRtg_units_SIUnit (&iedModel_Inverter_ZINV1_WRtg_units_SIUnit)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_VarRtg (&iedModel_Inverter_ZINV1_VarRtg)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_VarRtg_setMag (&iedModel_Inverter_ZINV1_VarRtg_setMag)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_VarRtg_setMag_f (&iedModel_Inverter_ZINV1_VarRtg_setMag_f)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_VarRtg_units (&iedModel_Inverter_ZINV1_VarRtg_units)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_VarRtg_units_SIUnit (&iedModel_Inverter_ZINV1_VarRtg_units_SIUnit)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_ACTyp (&iedModel_Inverter_ZINV1_ACTyp)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_ACTyp_setVal (&iedModel_Inverter_ZINV1_ACTyp_setVal)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_OutWSet (&iedModel_Inverter_ZINV1_OutWSet)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_OutWSet_setMag (&iedModel_Inverter_ZINV1_OutWSet_setMag)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_OutWSet_setMag_f (&iedModel_Inverter_ZINV1_OutWSet_setMag_f)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_OutWSet_units (&iedModel_Inverter_ZINV1_OutWSet_units)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_OutWSet_units_SIUnit (&iedModel_Inverter_ZINV1_OutWSet_units_SIUnit)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_OutVarSet (&iedModel_Inverter_ZINV1_OutVarSet)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_OutVarSet_setMag (&iedModel_Inverter_ZINV1_OutVarSet_setMag)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_OutVarSet_setMag_f (&iedModel_Inverter_ZINV1_OutVarSet_setMag_f)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_OutVarSet_units (&iedModel_Inverter_ZINV1_OutVarSet_units)
|
|
||||||
#define IEDMODEL_Inverter_ZINV1_OutVarSet_units_SIUnit (&iedModel_Inverter_ZINV1_OutVarSet_units_SIUnit)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1 (&iedModel_Inverter_MMXU1)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Mod (&iedModel_Inverter_MMXU1_Mod)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Mod_q (&iedModel_Inverter_MMXU1_Mod_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Mod_t (&iedModel_Inverter_MMXU1_Mod_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Mod_ctlModel (&iedModel_Inverter_MMXU1_Mod_ctlModel)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Beh (&iedModel_Inverter_MMXU1_Beh)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Beh_stVal (&iedModel_Inverter_MMXU1_Beh_stVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Beh_q (&iedModel_Inverter_MMXU1_Beh_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Beh_t (&iedModel_Inverter_MMXU1_Beh_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Health (&iedModel_Inverter_MMXU1_Health)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Health_stVal (&iedModel_Inverter_MMXU1_Health_stVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Health_q (&iedModel_Inverter_MMXU1_Health_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Health_t (&iedModel_Inverter_MMXU1_Health_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_NamPlt (&iedModel_Inverter_MMXU1_NamPlt)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_NamPlt_vendor (&iedModel_Inverter_MMXU1_NamPlt_vendor)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_NamPlt_swRev (&iedModel_Inverter_MMXU1_NamPlt_swRev)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_NamPlt_d (&iedModel_Inverter_MMXU1_NamPlt_d)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotW (&iedModel_Inverter_MMXU1_TotW)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotW_mag (&iedModel_Inverter_MMXU1_TotW_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotW_mag_f (&iedModel_Inverter_MMXU1_TotW_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotW_q (&iedModel_Inverter_MMXU1_TotW_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotW_t (&iedModel_Inverter_MMXU1_TotW_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotVAr (&iedModel_Inverter_MMXU1_TotVAr)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotVAr_mag (&iedModel_Inverter_MMXU1_TotVAr_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotVAr_mag_f (&iedModel_Inverter_MMXU1_TotVAr_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotVAr_q (&iedModel_Inverter_MMXU1_TotVAr_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotVAr_t (&iedModel_Inverter_MMXU1_TotVAr_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotVA (&iedModel_Inverter_MMXU1_TotVA)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotVA_mag (&iedModel_Inverter_MMXU1_TotVA_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotVA_mag_f (&iedModel_Inverter_MMXU1_TotVA_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotVA_q (&iedModel_Inverter_MMXU1_TotVA_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_TotVA_t (&iedModel_Inverter_MMXU1_TotVA_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Hz (&iedModel_Inverter_MMXU1_Hz)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Hz_mag (&iedModel_Inverter_MMXU1_Hz_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Hz_mag_f (&iedModel_Inverter_MMXU1_Hz_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Hz_q (&iedModel_Inverter_MMXU1_Hz_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_Hz_t (&iedModel_Inverter_MMXU1_Hz_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV (&iedModel_Inverter_MMXU1_PhV)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsA (&iedModel_Inverter_MMXU1_PhV_phsA)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsA_cVal (&iedModel_Inverter_MMXU1_PhV_phsA_cVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsA_cVal_mag (&iedModel_Inverter_MMXU1_PhV_phsA_cVal_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsA_cVal_mag_f (&iedModel_Inverter_MMXU1_PhV_phsA_cVal_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsA_q (&iedModel_Inverter_MMXU1_PhV_phsA_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsA_t (&iedModel_Inverter_MMXU1_PhV_phsA_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsB (&iedModel_Inverter_MMXU1_PhV_phsB)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsB_cVal (&iedModel_Inverter_MMXU1_PhV_phsB_cVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsB_cVal_mag (&iedModel_Inverter_MMXU1_PhV_phsB_cVal_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsB_cVal_mag_f (&iedModel_Inverter_MMXU1_PhV_phsB_cVal_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsB_q (&iedModel_Inverter_MMXU1_PhV_phsB_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsB_t (&iedModel_Inverter_MMXU1_PhV_phsB_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsC (&iedModel_Inverter_MMXU1_PhV_phsC)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsC_cVal (&iedModel_Inverter_MMXU1_PhV_phsC_cVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsC_cVal_mag (&iedModel_Inverter_MMXU1_PhV_phsC_cVal_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsC_cVal_mag_f (&iedModel_Inverter_MMXU1_PhV_phsC_cVal_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsC_q (&iedModel_Inverter_MMXU1_PhV_phsC_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_phsC_t (&iedModel_Inverter_MMXU1_PhV_phsC_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_neut (&iedModel_Inverter_MMXU1_PhV_neut)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_neut_cVal (&iedModel_Inverter_MMXU1_PhV_neut_cVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_neut_cVal_mag (&iedModel_Inverter_MMXU1_PhV_neut_cVal_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_neut_cVal_mag_f (&iedModel_Inverter_MMXU1_PhV_neut_cVal_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_neut_q (&iedModel_Inverter_MMXU1_PhV_neut_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_PhV_neut_t (&iedModel_Inverter_MMXU1_PhV_neut_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A (&iedModel_Inverter_MMXU1_A)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsA (&iedModel_Inverter_MMXU1_A_phsA)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsA_cVal (&iedModel_Inverter_MMXU1_A_phsA_cVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsA_cVal_mag (&iedModel_Inverter_MMXU1_A_phsA_cVal_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsA_cVal_mag_f (&iedModel_Inverter_MMXU1_A_phsA_cVal_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsA_q (&iedModel_Inverter_MMXU1_A_phsA_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsA_t (&iedModel_Inverter_MMXU1_A_phsA_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsB (&iedModel_Inverter_MMXU1_A_phsB)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsB_cVal (&iedModel_Inverter_MMXU1_A_phsB_cVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsB_cVal_mag (&iedModel_Inverter_MMXU1_A_phsB_cVal_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsB_cVal_mag_f (&iedModel_Inverter_MMXU1_A_phsB_cVal_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsB_q (&iedModel_Inverter_MMXU1_A_phsB_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsB_t (&iedModel_Inverter_MMXU1_A_phsB_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsC (&iedModel_Inverter_MMXU1_A_phsC)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsC_cVal (&iedModel_Inverter_MMXU1_A_phsC_cVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsC_cVal_mag (&iedModel_Inverter_MMXU1_A_phsC_cVal_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsC_cVal_mag_f (&iedModel_Inverter_MMXU1_A_phsC_cVal_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsC_q (&iedModel_Inverter_MMXU1_A_phsC_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_phsC_t (&iedModel_Inverter_MMXU1_A_phsC_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_neut (&iedModel_Inverter_MMXU1_A_neut)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_neut_cVal (&iedModel_Inverter_MMXU1_A_neut_cVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_neut_cVal_mag (&iedModel_Inverter_MMXU1_A_neut_cVal_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_neut_cVal_mag_f (&iedModel_Inverter_MMXU1_A_neut_cVal_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_neut_q (&iedModel_Inverter_MMXU1_A_neut_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_A_neut_t (&iedModel_Inverter_MMXU1_A_neut_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W (&iedModel_Inverter_MMXU1_W)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsA (&iedModel_Inverter_MMXU1_W_phsA)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsA_cVal (&iedModel_Inverter_MMXU1_W_phsA_cVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsA_cVal_mag (&iedModel_Inverter_MMXU1_W_phsA_cVal_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsA_cVal_mag_f (&iedModel_Inverter_MMXU1_W_phsA_cVal_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsA_q (&iedModel_Inverter_MMXU1_W_phsA_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsA_t (&iedModel_Inverter_MMXU1_W_phsA_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsB (&iedModel_Inverter_MMXU1_W_phsB)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsB_cVal (&iedModel_Inverter_MMXU1_W_phsB_cVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsB_cVal_mag (&iedModel_Inverter_MMXU1_W_phsB_cVal_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsB_cVal_mag_f (&iedModel_Inverter_MMXU1_W_phsB_cVal_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsB_q (&iedModel_Inverter_MMXU1_W_phsB_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsB_t (&iedModel_Inverter_MMXU1_W_phsB_t)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsC (&iedModel_Inverter_MMXU1_W_phsC)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsC_cVal (&iedModel_Inverter_MMXU1_W_phsC_cVal)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsC_cVal_mag (&iedModel_Inverter_MMXU1_W_phsC_cVal_mag)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsC_cVal_mag_f (&iedModel_Inverter_MMXU1_W_phsC_cVal_mag_f)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsC_q (&iedModel_Inverter_MMXU1_W_phsC_q)
|
|
||||||
#define IEDMODEL_Inverter_MMXU1_W_phsC_t (&iedModel_Inverter_MMXU1_W_phsC_t)
|
|
||||||
#define IEDMODEL_Battery (&iedModel_Battery)
|
|
||||||
#define IEDMODEL_Battery_LLN0 (&iedModel_Battery_LLN0)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Mod (&iedModel_Battery_LLN0_Mod)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Mod_q (&iedModel_Battery_LLN0_Mod_q)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Mod_t (&iedModel_Battery_LLN0_Mod_t)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Mod_ctlModel (&iedModel_Battery_LLN0_Mod_ctlModel)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Beh (&iedModel_Battery_LLN0_Beh)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Beh_stVal (&iedModel_Battery_LLN0_Beh_stVal)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Beh_q (&iedModel_Battery_LLN0_Beh_q)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Beh_t (&iedModel_Battery_LLN0_Beh_t)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Health (&iedModel_Battery_LLN0_Health)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Health_stVal (&iedModel_Battery_LLN0_Health_stVal)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Health_q (&iedModel_Battery_LLN0_Health_q)
|
|
||||||
#define IEDMODEL_Battery_LLN0_Health_t (&iedModel_Battery_LLN0_Health_t)
|
|
||||||
#define IEDMODEL_Battery_LLN0_NamPlt (&iedModel_Battery_LLN0_NamPlt)
|
|
||||||
#define IEDMODEL_Battery_LLN0_NamPlt_vendor (&iedModel_Battery_LLN0_NamPlt_vendor)
|
|
||||||
#define IEDMODEL_Battery_LLN0_NamPlt_swRev (&iedModel_Battery_LLN0_NamPlt_swRev)
|
|
||||||
#define IEDMODEL_Battery_LLN0_NamPlt_d (&iedModel_Battery_LLN0_NamPlt_d)
|
|
||||||
#define IEDMODEL_Battery_LLN0_NamPlt_configRev (&iedModel_Battery_LLN0_NamPlt_configRev)
|
|
||||||
#define IEDMODEL_Battery_LLN0_NamPlt_ldNs (&iedModel_Battery_LLN0_NamPlt_ldNs)
|
|
||||||
#define IEDMODEL_Battery_LPHD1 (&iedModel_Battery_LPHD1)
|
|
||||||
#define IEDMODEL_Battery_LPHD1_PhyNam (&iedModel_Battery_LPHD1_PhyNam)
|
|
||||||
#define IEDMODEL_Battery_LPHD1_PhyNam_vendor (&iedModel_Battery_LPHD1_PhyNam_vendor)
|
|
||||||
#define IEDMODEL_Battery_LPHD1_PhyHealth (&iedModel_Battery_LPHD1_PhyHealth)
|
|
||||||
#define IEDMODEL_Battery_LPHD1_PhyHealth_stVal (&iedModel_Battery_LPHD1_PhyHealth_stVal)
|
|
||||||
#define IEDMODEL_Battery_LPHD1_PhyHealth_q (&iedModel_Battery_LPHD1_PhyHealth_q)
|
|
||||||
#define IEDMODEL_Battery_LPHD1_PhyHealth_t (&iedModel_Battery_LPHD1_PhyHealth_t)
|
|
||||||
#define IEDMODEL_Battery_LPHD1_Proxy (&iedModel_Battery_LPHD1_Proxy)
|
|
||||||
#define IEDMODEL_Battery_LPHD1_Proxy_stVal (&iedModel_Battery_LPHD1_Proxy_stVal)
|
|
||||||
#define IEDMODEL_Battery_LPHD1_Proxy_q (&iedModel_Battery_LPHD1_Proxy_q)
|
|
||||||
#define IEDMODEL_Battery_LPHD1_Proxy_t (&iedModel_Battery_LPHD1_Proxy_t)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1 (&iedModel_Battery_ZBAT1)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Mod (&iedModel_Battery_ZBAT1_Mod)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Mod_q (&iedModel_Battery_ZBAT1_Mod_q)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Mod_t (&iedModel_Battery_ZBAT1_Mod_t)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Mod_ctlModel (&iedModel_Battery_ZBAT1_Mod_ctlModel)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Beh (&iedModel_Battery_ZBAT1_Beh)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Beh_stVal (&iedModel_Battery_ZBAT1_Beh_stVal)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Beh_q (&iedModel_Battery_ZBAT1_Beh_q)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Beh_t (&iedModel_Battery_ZBAT1_Beh_t)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Health (&iedModel_Battery_ZBAT1_Health)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Health_stVal (&iedModel_Battery_ZBAT1_Health_stVal)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Health_q (&iedModel_Battery_ZBAT1_Health_q)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Health_t (&iedModel_Battery_ZBAT1_Health_t)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_NamPlt (&iedModel_Battery_ZBAT1_NamPlt)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_NamPlt_vendor (&iedModel_Battery_ZBAT1_NamPlt_vendor)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_NamPlt_swRev (&iedModel_Battery_ZBAT1_NamPlt_swRev)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_NamPlt_d (&iedModel_Battery_ZBAT1_NamPlt_d)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Vol (&iedModel_Battery_ZBAT1_Vol)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Vol_mag (&iedModel_Battery_ZBAT1_Vol_mag)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Vol_mag_f (&iedModel_Battery_ZBAT1_Vol_mag_f)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Vol_q (&iedModel_Battery_ZBAT1_Vol_q)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Vol_t (&iedModel_Battery_ZBAT1_Vol_t)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Amp (&iedModel_Battery_ZBAT1_Amp)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Amp_mag (&iedModel_Battery_ZBAT1_Amp_mag)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Amp_mag_f (&iedModel_Battery_ZBAT1_Amp_mag_f)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Amp_q (&iedModel_Battery_ZBAT1_Amp_q)
|
|
||||||
#define IEDMODEL_Battery_ZBAT1_Amp_t (&iedModel_Battery_ZBAT1_Amp_t)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1 (&iedModel_Battery_ZBTC1)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Mod (&iedModel_Battery_ZBTC1_Mod)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Mod_q (&iedModel_Battery_ZBTC1_Mod_q)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Mod_t (&iedModel_Battery_ZBTC1_Mod_t)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Mod_ctlModel (&iedModel_Battery_ZBTC1_Mod_ctlModel)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Beh (&iedModel_Battery_ZBTC1_Beh)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Beh_stVal (&iedModel_Battery_ZBTC1_Beh_stVal)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Beh_q (&iedModel_Battery_ZBTC1_Beh_q)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Beh_t (&iedModel_Battery_ZBTC1_Beh_t)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Health (&iedModel_Battery_ZBTC1_Health)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Health_stVal (&iedModel_Battery_ZBTC1_Health_stVal)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Health_q (&iedModel_Battery_ZBTC1_Health_q)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_Health_t (&iedModel_Battery_ZBTC1_Health_t)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_NamPlt (&iedModel_Battery_ZBTC1_NamPlt)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_NamPlt_vendor (&iedModel_Battery_ZBTC1_NamPlt_vendor)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_NamPlt_swRev (&iedModel_Battery_ZBTC1_NamPlt_swRev)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_NamPlt_d (&iedModel_Battery_ZBTC1_NamPlt_d)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_BatChaSt (&iedModel_Battery_ZBTC1_BatChaSt)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_BatChaPwr (&iedModel_Battery_ZBTC1_BatChaPwr)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_BatChaMod (&iedModel_Battery_ZBTC1_BatChaMod)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_ChaV (&iedModel_Battery_ZBTC1_ChaV)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_ChaV_mag (&iedModel_Battery_ZBTC1_ChaV_mag)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_ChaV_mag_f (&iedModel_Battery_ZBTC1_ChaV_mag_f)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_ChaV_q (&iedModel_Battery_ZBTC1_ChaV_q)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_ChaV_t (&iedModel_Battery_ZBTC1_ChaV_t)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_ChaA (&iedModel_Battery_ZBTC1_ChaA)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_ChaA_mag (&iedModel_Battery_ZBTC1_ChaA_mag)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_ChaA_mag_f (&iedModel_Battery_ZBTC1_ChaA_mag_f)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_ChaA_q (&iedModel_Battery_ZBTC1_ChaA_q)
|
|
||||||
#define IEDMODEL_Battery_ZBTC1_ChaA_t (&iedModel_Battery_ZBTC1_ChaA_t)
|
|
||||||
#define IEDMODEL_Physical_Measurements (&iedModel_Physical_Measurements)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0 (&iedModel_Physical_Measurements_LLN0)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Mod (&iedModel_Physical_Measurements_LLN0_Mod)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Mod_q (&iedModel_Physical_Measurements_LLN0_Mod_q)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Mod_t (&iedModel_Physical_Measurements_LLN0_Mod_t)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Mod_ctlModel (&iedModel_Physical_Measurements_LLN0_Mod_ctlModel)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Beh (&iedModel_Physical_Measurements_LLN0_Beh)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Beh_stVal (&iedModel_Physical_Measurements_LLN0_Beh_stVal)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Beh_q (&iedModel_Physical_Measurements_LLN0_Beh_q)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Beh_t (&iedModel_Physical_Measurements_LLN0_Beh_t)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Health (&iedModel_Physical_Measurements_LLN0_Health)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Health_stVal (&iedModel_Physical_Measurements_LLN0_Health_stVal)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Health_q (&iedModel_Physical_Measurements_LLN0_Health_q)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_Health_t (&iedModel_Physical_Measurements_LLN0_Health_t)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_NamPlt (&iedModel_Physical_Measurements_LLN0_NamPlt)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_NamPlt_vendor (&iedModel_Physical_Measurements_LLN0_NamPlt_vendor)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_NamPlt_swRev (&iedModel_Physical_Measurements_LLN0_NamPlt_swRev)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_NamPlt_d (&iedModel_Physical_Measurements_LLN0_NamPlt_d)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_NamPlt_configRev (&iedModel_Physical_Measurements_LLN0_NamPlt_configRev)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LLN0_NamPlt_ldNs (&iedModel_Physical_Measurements_LLN0_NamPlt_ldNs)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LPHD1 (&iedModel_Physical_Measurements_LPHD1)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LPHD1_PhyNam (&iedModel_Physical_Measurements_LPHD1_PhyNam)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LPHD1_PhyNam_vendor (&iedModel_Physical_Measurements_LPHD1_PhyNam_vendor)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LPHD1_PhyHealth (&iedModel_Physical_Measurements_LPHD1_PhyHealth)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LPHD1_PhyHealth_stVal (&iedModel_Physical_Measurements_LPHD1_PhyHealth_stVal)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LPHD1_PhyHealth_q (&iedModel_Physical_Measurements_LPHD1_PhyHealth_q)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LPHD1_PhyHealth_t (&iedModel_Physical_Measurements_LPHD1_PhyHealth_t)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LPHD1_Proxy (&iedModel_Physical_Measurements_LPHD1_Proxy)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LPHD1_Proxy_stVal (&iedModel_Physical_Measurements_LPHD1_Proxy_stVal)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LPHD1_Proxy_q (&iedModel_Physical_Measurements_LPHD1_Proxy_q)
|
|
||||||
#define IEDMODEL_Physical_Measurements_LPHD1_Proxy_t (&iedModel_Physical_Measurements_LPHD1_Proxy_t)
|
|
||||||
|
|
||||||
#endif /* STATIC_MODEL_H_ */
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
|||||||
|
include_directories(
|
||||||
|
.
|
||||||
|
)
|
||||||
|
|
||||||
|
set(server_example_SRCS
|
||||||
|
server_example_basic_io.c
|
||||||
|
static_model.c
|
||||||
|
)
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
set_source_files_properties(${server_example_SRCS}
|
||||||
|
PROPERTIES LANGUAGE CXX)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
add_executable(server_example_basic_io
|
||||||
|
${server_example_SRCS}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(server_example_basic_io
|
||||||
|
iec61850
|
||||||
|
)
|
@ -0,0 +1,31 @@
|
|||||||
|
LIBIEC_HOME=../..
|
||||||
|
|
||||||
|
PROJECT_BINARY_NAME = server_example_basic_io
|
||||||
|
PROJECT_SOURCES = server_example_basic_io.c
|
||||||
|
PROJECT_SOURCES += static_model.c
|
||||||
|
|
||||||
|
PROJECT_ICD_FILE = simpleIO_direct_control.icd
|
||||||
|
|
||||||
|
include $(LIBIEC_HOME)/make/target_system.mk
|
||||||
|
include $(LIBIEC_HOME)/make/stack_includes.mk
|
||||||
|
|
||||||
|
all: $(PROJECT_BINARY_NAME)
|
||||||
|
|
||||||
|
include $(LIBIEC_HOME)/make/common_targets.mk
|
||||||
|
|
||||||
|
LDLIBS += -lm
|
||||||
|
|
||||||
|
CP = cp
|
||||||
|
|
||||||
|
model: $(PROJECT_ICD_FILE)
|
||||||
|
java -jar $(LIBIEC_HOME)/tools/model_generator/genmodel.jar $(PROJECT_ICD_FILE)
|
||||||
|
|
||||||
|
$(PROJECT_BINARY_NAME): $(PROJECT_SOURCES) $(LIB_NAME)
|
||||||
|
$(CC) $(CFLAGS) $(LDFLAGS) -o $(PROJECT_BINARY_NAME) $(PROJECT_SOURCES) $(INCLUDES) $(LIB_NAME) $(LDLIBS)
|
||||||
|
$(CP) $(PROJECT_BINARY_NAME) vmd-filestore/IEDSERVER.BIN
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(PROJECT_BINARY_NAME)
|
||||||
|
rm -f vmd-filestore/IEDSERVER.BIN
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,21 @@
|
|||||||
|
include_directories(
|
||||||
|
.
|
||||||
|
)
|
||||||
|
|
||||||
|
set(server_example_SRCS
|
||||||
|
server_example_files.c
|
||||||
|
static_model.c
|
||||||
|
)
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
set_source_files_properties(${server_example_SRCS}
|
||||||
|
PROPERTIES LANGUAGE CXX)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
add_executable(server_example_files
|
||||||
|
${server_example_SRCS}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(server_example_files
|
||||||
|
iec61850
|
||||||
|
)
|
@ -1,7 +1,7 @@
|
|||||||
LIBIEC_HOME=../..
|
LIBIEC_HOME=../..
|
||||||
|
|
||||||
PROJECT_BINARY_NAME = server_example3
|
PROJECT_BINARY_NAME = server_example_files
|
||||||
PROJECT_SOURCES = server_example3.c
|
PROJECT_SOURCES = server_example_files.c
|
||||||
PROJECT_SOURCES += static_model.c
|
PROJECT_SOURCES += static_model.c
|
||||||
|
|
||||||
PROJECT_ICD_FILE = simpleIO_direct_control.icd
|
PROJECT_ICD_FILE = simpleIO_direct_control.icd
|
@ -0,0 +1,98 @@
|
|||||||
|
/*
|
||||||
|
* server_example_files.c
|
||||||
|
*
|
||||||
|
* - How to use some special MMS file service features
|
||||||
|
* - How to control how files file services can be used
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "iec61850_server.h"
|
||||||
|
#include "hal_thread.h"
|
||||||
|
#include <signal.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
#include "static_model.h"
|
||||||
|
|
||||||
|
/* import IEC 61850 device model created from SCL-File */
|
||||||
|
extern IedModel iedModel;
|
||||||
|
|
||||||
|
static int running = 0;
|
||||||
|
static IedServer iedServer = NULL;
|
||||||
|
|
||||||
|
void
|
||||||
|
sigint_handler(int signalId)
|
||||||
|
{
|
||||||
|
running = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
connectionHandler (IedServer self, ClientConnection connection, bool connected, void* parameter)
|
||||||
|
{
|
||||||
|
if (connected)
|
||||||
|
printf("Connection opened\n");
|
||||||
|
else
|
||||||
|
printf("Connection closed\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
static MmsError
|
||||||
|
fileAccessHandler (void* parameter, MmsServerConnection connection, MmsFileServiceType service,
|
||||||
|
const char* localFilename, const char* otherFilename)
|
||||||
|
{
|
||||||
|
printf("fileAccessHandler: service = %i, local-file: %s other-file: %s\n", service, localFilename, otherFilename);
|
||||||
|
|
||||||
|
/* Don't allow client to rename files */
|
||||||
|
if (service == MMS_FILE_ACCESS_TYPE_RENAME)
|
||||||
|
return MMS_ERROR_FILE_FILE_ACCESS_DENIED;
|
||||||
|
|
||||||
|
/* Don't allow client to delete fike "IEDSERVER.BIN" */
|
||||||
|
if (service == MMS_FILE_ACCESS_TYPE_DELETE) {
|
||||||
|
if (strcmp(localFilename, "IEDSERVER.BIN") == 0)
|
||||||
|
return MMS_ERROR_FILE_FILE_ACCESS_DENIED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* allow all other accesses */
|
||||||
|
return MMS_ERROR_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
printf("Using libIEC61850 version %s\n", LibIEC61850_getVersionString());
|
||||||
|
|
||||||
|
iedServer = IedServer_create(&iedModel);
|
||||||
|
|
||||||
|
/* Set the base path for the MMS file services */
|
||||||
|
MmsServer mmsServer = IedServer_getMmsServer(iedServer);
|
||||||
|
MmsServer_setFilestoreBasepath(mmsServer, "./vmd-filestore/");
|
||||||
|
|
||||||
|
/* Set a callback handler to control file accesses */
|
||||||
|
MmsServer_installFileAccessHandler(mmsServer, fileAccessHandler, NULL);
|
||||||
|
|
||||||
|
IedServer_setConnectionIndicationHandler(iedServer, (IedConnectionIndicationHandler) connectionHandler, NULL);
|
||||||
|
|
||||||
|
/* MMS server will be instructed to start listening to client connections. */
|
||||||
|
IedServer_start(iedServer, 102);
|
||||||
|
|
||||||
|
if (!IedServer_isRunning(iedServer)) {
|
||||||
|
printf("Starting server failed! Exit.\n");
|
||||||
|
IedServer_destroy(iedServer);
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
running = 1;
|
||||||
|
|
||||||
|
signal(SIGINT, sigint_handler);
|
||||||
|
|
||||||
|
|
||||||
|
while (running)
|
||||||
|
Thread_sleep(100);
|
||||||
|
|
||||||
|
|
||||||
|
/* stop MMS server - close TCP server socket and all client sockets */
|
||||||
|
IedServer_stop(iedServer);
|
||||||
|
|
||||||
|
/* Cleanup - free all resources */
|
||||||
|
IedServer_destroy(iedServer);
|
||||||
|
|
||||||
|
} /* main() */
|
@ -0,0 +1,281 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<SCL xmlns="http://www.iec.ch/61850/2003/SCL">
|
||||||
|
<Header id="" nameStructure="IEDName">
|
||||||
|
</Header>
|
||||||
|
<Communication>
|
||||||
|
<SubNetwork name="subnetwork1" type="8-MMS">
|
||||||
|
<Text>Station bus</Text>
|
||||||
|
<BitRate unit="b/s">10</BitRate>
|
||||||
|
<ConnectedAP iedName="simpleIO" apName="accessPoint1">
|
||||||
|
<Address>
|
||||||
|
<P type="IP">10.0.0.2</P>
|
||||||
|
<P type="IP-SUBNET">255.255.255.0</P>
|
||||||
|
<P type="IP-GATEWAY">10.0.0.1</P>
|
||||||
|
<P type="OSI-TSEL">0001</P>
|
||||||
|
<P type="OSI-PSEL">00000001</P>
|
||||||
|
<P type="OSI-SSEL">0001</P>
|
||||||
|
</Address>
|
||||||
|
</ConnectedAP>
|
||||||
|
</SubNetwork>
|
||||||
|
</Communication>
|
||||||
|
<IED name="simpleIO">
|
||||||
|
<Services>
|
||||||
|
<DynAssociation />
|
||||||
|
<GetDirectory />
|
||||||
|
<GetDataObjectDefinition />
|
||||||
|
<GetDataSetValue />
|
||||||
|
<DataSetDirectory />
|
||||||
|
<ReadWrite />
|
||||||
|
<GetCBValues />
|
||||||
|
<ConfLNs fixPrefix="true" fixLnInst="true" />
|
||||||
|
<GOOSE max="5" />
|
||||||
|
<GSSE max="5" />
|
||||||
|
<FileHandling />
|
||||||
|
<GSEDir />
|
||||||
|
<TimerActivatedControl />
|
||||||
|
</Services>
|
||||||
|
<AccessPoint name="accessPoint1">
|
||||||
|
<Server>
|
||||||
|
<Authentication />
|
||||||
|
<LDevice inst="GenericIO">
|
||||||
|
<LN0 lnClass="LLN0" lnType="LLN01" inst="">
|
||||||
|
|
||||||
|
<DataSet name="Events" desc="Events">
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO1" daName="stVal" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO2" daName="stVal" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO3" daName="stVal" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO4" daName="stVal" />
|
||||||
|
</DataSet>
|
||||||
|
|
||||||
|
<DataSet name="Events2" desc="Events2">
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO1" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO2" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO3" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="ST" lnInst="1" doName="SPCSO4" />
|
||||||
|
</DataSet>
|
||||||
|
|
||||||
|
<DataSet name="Measurements" desc="Measurements">
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn1" daName="mag.f" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn1" daName="q" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn2" daName="mag.f" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn2" daName="q" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn3" daName="mag.f" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn3" daName="q" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn4" daName="mag.f" />
|
||||||
|
<FCDA ldInst="GenericIO" lnClass="GGIO" fc="MX" lnInst="1" doName="AnIn4" daName="q" />
|
||||||
|
</DataSet>
|
||||||
|
|
||||||
|
<ReportControl name="EventsRCB" confRev="4294967295" datSet="Events" rptID="Events1" buffered="false" intgPd="1000" bufTime="50">
|
||||||
|
<TrgOps period="true" />
|
||||||
|
<OptFields seqNum="true" timeStamp="true" dataSet="true" reasonCode="true" entryID="true" configRef="true" />
|
||||||
|
<RptEnabled max="1" />
|
||||||
|
</ReportControl>
|
||||||
|
|
||||||
|
<ReportControl name="EventsIndexed" indexed="true" confRev="1" datSet="Events" rptID="Events2" buffered="false" intgPd="1000" bufTime="50">
|
||||||
|
<TrgOps period="true" />
|
||||||
|
<OptFields seqNum="true" timeStamp="true" dataSet="true" reasonCode="true" entryID="true" configRef="true" />
|
||||||
|
<RptEnabled max="3" />
|
||||||
|
</ReportControl>
|
||||||
|
|
||||||
|
<ReportControl name="Measurements" indexed="true" confRev="1" datSet="Measurements" rptID="Measurements" buffered="true" intgPd="1000" bufTime="50">
|
||||||
|
<TrgOps period="false" />
|
||||||
|
<OptFields seqNum="true" timeStamp="true" dataSet="true" reasonCode="true" entryID="true" configRef="true" />
|
||||||
|
<RptEnabled max="3" />
|
||||||
|
</ReportControl>
|
||||||
|
|
||||||
|
<LogControl name="EventLog" datSet="Events" logName="EventLog">
|
||||||
|
<TrgOps dchg="true" qchg="true"/>
|
||||||
|
</LogControl>
|
||||||
|
|
||||||
|
<LogControl name="GeneralLog" logName="">
|
||||||
|
<TrgOps dchg="true" qchg="true"/>
|
||||||
|
</LogControl>
|
||||||
|
|
||||||
|
|
||||||
|
<Log />
|
||||||
|
<Log name="EventLog" />
|
||||||
|
|
||||||
|
<DOI name="Mod">
|
||||||
|
<DAI name="ctlModel">
|
||||||
|
<Val>status-only</Val>
|
||||||
|
</DAI>
|
||||||
|
</DOI>
|
||||||
|
|
||||||
|
<DOI name="NamPlt">
|
||||||
|
<DAI name="vendor">
|
||||||
|
<Val>MZ Automation</Val>
|
||||||
|
</DAI>
|
||||||
|
<DAI name="swRev">
|
||||||
|
<Val>0.7.3</Val>
|
||||||
|
</DAI>
|
||||||
|
<DAI name="d">
|
||||||
|
<Val>libiec61850 server example</Val>
|
||||||
|
</DAI>
|
||||||
|
</DOI>
|
||||||
|
</LN0>
|
||||||
|
<LN lnClass="LPHD" lnType="LPHD1" inst="1" prefix="" />
|
||||||
|
<LN lnClass="GGIO" lnType="GGIO1" inst="1" prefix="">
|
||||||
|
<DOI name="Mod">
|
||||||
|
<DAI name="ctlModel">
|
||||||
|
<Val>status-only</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>
|
||||||
|
</LDevice>
|
||||||
|
</Server>
|
||||||
|
</AccessPoint>
|
||||||
|
</IED>
|
||||||
|
<DataTypeTemplates>
|
||||||
|
<LNodeType id="LLN01" lnClass="LLN0">
|
||||||
|
<DO name="Mod" type="INC_1_Mod" />
|
||||||
|
<DO name="Beh" type="INS_1_Beh" />
|
||||||
|
<DO name="Health" type="INS_1_Beh" />
|
||||||
|
<DO name="NamPlt" type="LPL_1_NamPlt" />
|
||||||
|
</LNodeType>
|
||||||
|
<LNodeType id="LPHD1" lnClass="LPHD">
|
||||||
|
<DO name="PhyNam" type="DPL_1_PhyNam" />
|
||||||
|
<DO name="PhyHealth" type="INS_1_Beh" />
|
||||||
|
<DO name="Proxy" type="SPS_1_Proxy" />
|
||||||
|
</LNodeType>
|
||||||
|
<LNodeType id="GGIO1" lnClass="GGIO">
|
||||||
|
<DO name="Mod" type="INC_2_Mod" />
|
||||||
|
<DO name="Beh" type="INS_1_Beh" />
|
||||||
|
<DO name="Health" type="INS_1_Beh" />
|
||||||
|
<DO name="NamPlt" type="LPL_2_NamPlt" />
|
||||||
|
<DO name="AnIn1" type="MV_1_AnIn1" />
|
||||||
|
<DO name="AnIn2" type="MV_1_AnIn1" />
|
||||||
|
<DO name="AnIn3" type="MV_1_AnIn1" />
|
||||||
|
<DO name="AnIn4" type="MV_1_AnIn1" />
|
||||||
|
<DO name="SPCSO1" type="SPC_2_SPCSO1" />
|
||||||
|
<DO name="SPCSO2" type="SPC_1_SPCSO2" />
|
||||||
|
<DO name="SPCSO3" type="SPC_1_SPCSO3" />
|
||||||
|
<DO name="SPCSO4" type="SPC_1_SPCSO1" />
|
||||||
|
<DO name="Ind1" type="SPS_1_Proxy" />
|
||||||
|
<DO name="Ind2" type="SPS_1_Proxy" />
|
||||||
|
<DO name="Ind3" type="SPS_1_Proxy" />
|
||||||
|
<DO name="Ind4" type="SPS_1_Proxy" />
|
||||||
|
</LNodeType>
|
||||||
|
<DOType id="INC_1_Mod" cdc="INC">
|
||||||
|
<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" />
|
||||||
|
<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">
|
||||||
|
<DA name="vendor" bType="VisString255" fc="DC" />
|
||||||
|
<DA name="swRev" bType="VisString255" fc="DC" />
|
||||||
|
<DA name="d" bType="VisString255" fc="DC" />
|
||||||
|
<DA name="configRev" bType="VisString255" fc="DC" />
|
||||||
|
<DA name="ldNs" bType="VisString255" fc="EX" />
|
||||||
|
</DOType>
|
||||||
|
<DOType id="DPL_1_PhyNam" cdc="DPL">
|
||||||
|
<DA name="vendor" bType="VisString255" fc="DC" />
|
||||||
|
</DOType>
|
||||||
|
<DOType id="SPS_1_Proxy" cdc="SPS">
|
||||||
|
<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" />
|
||||||
|
</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" />
|
||||||
|
</DOType>
|
||||||
|
<DOType id="MV_1_AnIn1" cdc="MV">
|
||||||
|
<DA name="mag" type="AnalogueValue_1" bType="Struct" fc="MX" dchg="true" />
|
||||||
|
<DA name="q" bType="Quality" fc="MX" qchg="true" />
|
||||||
|
<DA name="t" bType="Timestamp" fc="MX" />
|
||||||
|
</DOType>
|
||||||
|
<DOType id="SPC_1_SPCSO1" cdc="SPC">
|
||||||
|
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
|
||||||
|
<DA name="q" bType="Quality" fc="ST" qchg="true" />
|
||||||
|
<DA name="Oper" type="SPCOperate_1" bType="Struct" fc="CO" />
|
||||||
|
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
|
||||||
|
<DA name="t" bType="Timestamp" fc="ST" />
|
||||||
|
</DOType>
|
||||||
|
<DOType id="INC_2_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="SPC_2_SPCSO1" cdc="SPC">
|
||||||
|
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
|
||||||
|
<DA name="q" bType="Quality" fc="ST" qchg="true" />
|
||||||
|
<DA name="Oper" type="SPCOperate_1" bType="Struct" fc="CO" />
|
||||||
|
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
|
||||||
|
<DA name="t" bType="Timestamp" fc="ST" />
|
||||||
|
</DOType>
|
||||||
|
<DOType id="SPC_1_SPCSO2" cdc="SPC">
|
||||||
|
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
|
||||||
|
<DA name="q" bType="Quality" fc="ST" qchg="true" />
|
||||||
|
<DA name="Oper" type="SPCOperate_1" bType="Struct" fc="CO" />
|
||||||
|
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
|
||||||
|
<DA name="t" bType="Timestamp" fc="ST" />
|
||||||
|
</DOType>
|
||||||
|
<DOType id="SPC_1_SPCSO3" cdc="SPC">
|
||||||
|
<DA name="stVal" bType="BOOLEAN" fc="ST" dchg="true" />
|
||||||
|
<DA name="q" bType="Quality" fc="ST" qchg="true" />
|
||||||
|
<DA name="Oper" type="SPCOperate_1" bType="Struct" fc="CO" />
|
||||||
|
<DA name="ctlModel" type="CtlModels" bType="Enum" fc="CF" />
|
||||||
|
<DA name="t" bType="Timestamp" fc="ST" />
|
||||||
|
</DOType>
|
||||||
|
<DAType id="AnalogueValue_1">
|
||||||
|
<BDA name="f" bType="FLOAT32" />
|
||||||
|
</DAType>
|
||||||
|
<DAType id="Originator_1">
|
||||||
|
<BDA name="orCat" type="OrCat" bType="Enum" />
|
||||||
|
<BDA name="orIdent" bType="Octet64" />
|
||||||
|
</DAType>
|
||||||
|
<DAType id="SPCOperate_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" />
|
||||||
|
<BDA name="Check" bType="Check" />
|
||||||
|
</DAType>
|
||||||
|
<EnumType id="CtlModels">
|
||||||
|
<EnumVal ord="0">status-only</EnumVal>
|
||||||
|
<EnumVal ord="1">direct-with-normal-security</EnumVal>
|
||||||
|
<EnumVal ord="2">sbo-with-normal-security</EnumVal>
|
||||||
|
<EnumVal ord="3">direct-with-enhanced-security</EnumVal>
|
||||||
|
<EnumVal ord="4">sbo-with-enhanced-security</EnumVal>
|
||||||
|
</EnumType>
|
||||||
|
<EnumType id="OrCat">
|
||||||
|
<EnumVal ord="0">not-supported</EnumVal>
|
||||||
|
<EnumVal ord="1">bay-control</EnumVal>
|
||||||
|
<EnumVal ord="2">station-control</EnumVal>
|
||||||
|
<EnumVal ord="3">remote-control</EnumVal>
|
||||||
|
<EnumVal ord="4">automatic-bay</EnumVal>
|
||||||
|
<EnumVal ord="5">automatic-station</EnumVal>
|
||||||
|
<EnumVal ord="6">automatic-remote</EnumVal>
|
||||||
|
<EnumVal ord="7">maintenance</EnumVal>
|
||||||
|
<EnumVal ord="8">process</EnumVal>
|
||||||
|
</EnumType>
|
||||||
|
</DataTypeTemplates>
|
||||||
|
</SCL>
|
@ -0,0 +1,301 @@
|
|||||||
|
/*
|
||||||
|
* static_model.h
|
||||||
|
*
|
||||||
|
* automatically generated from simpleIO_direct_control.icd
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef STATIC_MODEL_H_
|
||||||
|
#define STATIC_MODEL_H_
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "iec61850_model.h"
|
||||||
|
|
||||||
|
extern IedModel iedModel;
|
||||||
|
extern LogicalDevice iedModel_GenericIO;
|
||||||
|
extern LogicalNode iedModel_GenericIO_LLN0;
|
||||||
|
extern DataObject iedModel_GenericIO_LLN0_Mod;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_Mod_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_Mod_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_Mod_t;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_Mod_ctlModel;
|
||||||
|
extern DataObject iedModel_GenericIO_LLN0_Beh;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_Beh_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_Beh_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_Beh_t;
|
||||||
|
extern DataObject iedModel_GenericIO_LLN0_Health;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_Health_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_Health_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_Health_t;
|
||||||
|
extern DataObject iedModel_GenericIO_LLN0_NamPlt;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_NamPlt_vendor;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_NamPlt_swRev;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_NamPlt_d;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_NamPlt_configRev;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LLN0_NamPlt_ldNs;
|
||||||
|
extern LogicalNode iedModel_GenericIO_LPHD1;
|
||||||
|
extern DataObject iedModel_GenericIO_LPHD1_PhyNam;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LPHD1_PhyNam_vendor;
|
||||||
|
extern DataObject iedModel_GenericIO_LPHD1_PhyHealth;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LPHD1_PhyHealth_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LPHD1_PhyHealth_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LPHD1_PhyHealth_t;
|
||||||
|
extern DataObject iedModel_GenericIO_LPHD1_Proxy;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LPHD1_Proxy_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LPHD1_Proxy_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_LPHD1_Proxy_t;
|
||||||
|
extern LogicalNode iedModel_GenericIO_GGIO1;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_Mod;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Mod_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Mod_t;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Mod_ctlModel;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_Beh;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Beh_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Beh_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Beh_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_Health;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Health_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Health_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Health_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_NamPlt;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_NamPlt_vendor;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_NamPlt_swRev;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_NamPlt_d;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_AnIn1;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn1_mag;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn1_mag_f;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn1_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn1_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_AnIn2;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn2_mag;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn2_mag_f;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn2_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn2_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_AnIn3;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn3_mag;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn3_mag_f;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn3_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn3_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_AnIn4;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn4_mag;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn4_mag_f;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn4_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_AnIn4_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_SPCSO1;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_ctlVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_origin;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_origin_orCat;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_origin_orIdent;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_ctlNum;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_T;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_Test;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_Oper_Check;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_ctlModel;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO1_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_SPCSO2;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_origin;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_origin_orCat;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_origin_orIdent;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlNum;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_T;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_Test;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_Oper_Check;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_ctlModel;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO2_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_SPCSO3;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_origin;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_origin_orCat;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_origin_orIdent;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlNum;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_T;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_Test;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_Oper_Check;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_ctlModel;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO3_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_SPCSO4;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_origin;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_origin_orCat;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_origin_orIdent;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlNum;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_T;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_Test;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_Oper_Check;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_ctlModel;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_SPCSO4_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_Ind1;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind1_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind1_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind1_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_Ind2;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind2_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind2_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind2_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_Ind3;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind3_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind3_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind3_t;
|
||||||
|
extern DataObject iedModel_GenericIO_GGIO1_Ind4;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_stVal;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_q;
|
||||||
|
extern DataAttribute iedModel_GenericIO_GGIO1_Ind4_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define IEDMODEL_GenericIO (&iedModel_GenericIO)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0 (&iedModel_GenericIO_LLN0)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Mod (&iedModel_GenericIO_LLN0_Mod)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Mod_stVal (&iedModel_GenericIO_LLN0_Mod_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Mod_q (&iedModel_GenericIO_LLN0_Mod_q)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Mod_t (&iedModel_GenericIO_LLN0_Mod_t)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Mod_ctlModel (&iedModel_GenericIO_LLN0_Mod_ctlModel)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Beh (&iedModel_GenericIO_LLN0_Beh)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Beh_stVal (&iedModel_GenericIO_LLN0_Beh_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Beh_q (&iedModel_GenericIO_LLN0_Beh_q)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Beh_t (&iedModel_GenericIO_LLN0_Beh_t)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Health (&iedModel_GenericIO_LLN0_Health)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Health_stVal (&iedModel_GenericIO_LLN0_Health_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Health_q (&iedModel_GenericIO_LLN0_Health_q)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_Health_t (&iedModel_GenericIO_LLN0_Health_t)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_NamPlt (&iedModel_GenericIO_LLN0_NamPlt)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_NamPlt_vendor (&iedModel_GenericIO_LLN0_NamPlt_vendor)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_NamPlt_swRev (&iedModel_GenericIO_LLN0_NamPlt_swRev)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_NamPlt_d (&iedModel_GenericIO_LLN0_NamPlt_d)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_NamPlt_configRev (&iedModel_GenericIO_LLN0_NamPlt_configRev)
|
||||||
|
#define IEDMODEL_GenericIO_LLN0_NamPlt_ldNs (&iedModel_GenericIO_LLN0_NamPlt_ldNs)
|
||||||
|
#define IEDMODEL_GenericIO_LPHD1 (&iedModel_GenericIO_LPHD1)
|
||||||
|
#define IEDMODEL_GenericIO_LPHD1_PhyNam (&iedModel_GenericIO_LPHD1_PhyNam)
|
||||||
|
#define IEDMODEL_GenericIO_LPHD1_PhyNam_vendor (&iedModel_GenericIO_LPHD1_PhyNam_vendor)
|
||||||
|
#define IEDMODEL_GenericIO_LPHD1_PhyHealth (&iedModel_GenericIO_LPHD1_PhyHealth)
|
||||||
|
#define IEDMODEL_GenericIO_LPHD1_PhyHealth_stVal (&iedModel_GenericIO_LPHD1_PhyHealth_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_LPHD1_PhyHealth_q (&iedModel_GenericIO_LPHD1_PhyHealth_q)
|
||||||
|
#define IEDMODEL_GenericIO_LPHD1_PhyHealth_t (&iedModel_GenericIO_LPHD1_PhyHealth_t)
|
||||||
|
#define IEDMODEL_GenericIO_LPHD1_Proxy (&iedModel_GenericIO_LPHD1_Proxy)
|
||||||
|
#define IEDMODEL_GenericIO_LPHD1_Proxy_stVal (&iedModel_GenericIO_LPHD1_Proxy_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_LPHD1_Proxy_q (&iedModel_GenericIO_LPHD1_Proxy_q)
|
||||||
|
#define IEDMODEL_GenericIO_LPHD1_Proxy_t (&iedModel_GenericIO_LPHD1_Proxy_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1 (&iedModel_GenericIO_GGIO1)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Mod (&iedModel_GenericIO_GGIO1_Mod)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Mod_q (&iedModel_GenericIO_GGIO1_Mod_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Mod_t (&iedModel_GenericIO_GGIO1_Mod_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Mod_ctlModel (&iedModel_GenericIO_GGIO1_Mod_ctlModel)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Beh (&iedModel_GenericIO_GGIO1_Beh)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Beh_stVal (&iedModel_GenericIO_GGIO1_Beh_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Beh_q (&iedModel_GenericIO_GGIO1_Beh_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Beh_t (&iedModel_GenericIO_GGIO1_Beh_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Health (&iedModel_GenericIO_GGIO1_Health)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Health_stVal (&iedModel_GenericIO_GGIO1_Health_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Health_q (&iedModel_GenericIO_GGIO1_Health_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Health_t (&iedModel_GenericIO_GGIO1_Health_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_NamPlt (&iedModel_GenericIO_GGIO1_NamPlt)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_NamPlt_vendor (&iedModel_GenericIO_GGIO1_NamPlt_vendor)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_NamPlt_swRev (&iedModel_GenericIO_GGIO1_NamPlt_swRev)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_NamPlt_d (&iedModel_GenericIO_GGIO1_NamPlt_d)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn1 (&iedModel_GenericIO_GGIO1_AnIn1)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn1_mag (&iedModel_GenericIO_GGIO1_AnIn1_mag)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn1_mag_f (&iedModel_GenericIO_GGIO1_AnIn1_mag_f)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn1_q (&iedModel_GenericIO_GGIO1_AnIn1_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn1_t (&iedModel_GenericIO_GGIO1_AnIn1_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn2 (&iedModel_GenericIO_GGIO1_AnIn2)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn2_mag (&iedModel_GenericIO_GGIO1_AnIn2_mag)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn2_mag_f (&iedModel_GenericIO_GGIO1_AnIn2_mag_f)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn2_q (&iedModel_GenericIO_GGIO1_AnIn2_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn2_t (&iedModel_GenericIO_GGIO1_AnIn2_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn3 (&iedModel_GenericIO_GGIO1_AnIn3)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn3_mag (&iedModel_GenericIO_GGIO1_AnIn3_mag)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn3_mag_f (&iedModel_GenericIO_GGIO1_AnIn3_mag_f)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn3_q (&iedModel_GenericIO_GGIO1_AnIn3_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn3_t (&iedModel_GenericIO_GGIO1_AnIn3_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn4 (&iedModel_GenericIO_GGIO1_AnIn4)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn4_mag (&iedModel_GenericIO_GGIO1_AnIn4_mag)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn4_mag_f (&iedModel_GenericIO_GGIO1_AnIn4_mag_f)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn4_q (&iedModel_GenericIO_GGIO1_AnIn4_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_AnIn4_t (&iedModel_GenericIO_GGIO1_AnIn4_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1 (&iedModel_GenericIO_GGIO1_SPCSO1)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_stVal (&iedModel_GenericIO_GGIO1_SPCSO1_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_q (&iedModel_GenericIO_GGIO1_SPCSO1_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper (&iedModel_GenericIO_GGIO1_SPCSO1_Oper)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_ctlVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_origin (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_origin)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_origin_orCat (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_origin_orCat)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_origin_orIdent (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_origin_orIdent)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_ctlNum (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_ctlNum)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_T (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_T)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_Test (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_Test)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_Oper_Check (&iedModel_GenericIO_GGIO1_SPCSO1_Oper_Check)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO1_ctlModel)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO1_t (&iedModel_GenericIO_GGIO1_SPCSO1_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2 (&iedModel_GenericIO_GGIO1_SPCSO2)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_stVal (&iedModel_GenericIO_GGIO1_SPCSO2_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_q (&iedModel_GenericIO_GGIO1_SPCSO2_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper (&iedModel_GenericIO_GGIO1_SPCSO2_Oper)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_origin (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_origin)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_origin_orCat (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_origin_orCat)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_origin_orIdent (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_origin_orIdent)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_ctlNum (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_ctlNum)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_T (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_T)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_Test (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_Test)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_Oper_Check (&iedModel_GenericIO_GGIO1_SPCSO2_Oper_Check)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO2_ctlModel)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO2_t (&iedModel_GenericIO_GGIO1_SPCSO2_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3 (&iedModel_GenericIO_GGIO1_SPCSO3)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_stVal (&iedModel_GenericIO_GGIO1_SPCSO3_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_q (&iedModel_GenericIO_GGIO1_SPCSO3_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper (&iedModel_GenericIO_GGIO1_SPCSO3_Oper)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_origin (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_origin)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_origin_orCat (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_origin_orCat)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_origin_orIdent (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_origin_orIdent)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_ctlNum (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_ctlNum)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_T (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_T)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_Test (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_Test)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_Oper_Check (&iedModel_GenericIO_GGIO1_SPCSO3_Oper_Check)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO3_ctlModel)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO3_t (&iedModel_GenericIO_GGIO1_SPCSO3_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4 (&iedModel_GenericIO_GGIO1_SPCSO4)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_stVal (&iedModel_GenericIO_GGIO1_SPCSO4_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_q (&iedModel_GenericIO_GGIO1_SPCSO4_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper (&iedModel_GenericIO_GGIO1_SPCSO4_Oper)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_ctlVal (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_origin (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_origin)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_origin_orCat (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_origin_orCat)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_origin_orIdent (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_origin_orIdent)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_ctlNum (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_ctlNum)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_T (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_T)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_Test (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_Test)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_Oper_Check (&iedModel_GenericIO_GGIO1_SPCSO4_Oper_Check)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_ctlModel (&iedModel_GenericIO_GGIO1_SPCSO4_ctlModel)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_SPCSO4_t (&iedModel_GenericIO_GGIO1_SPCSO4_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind1 (&iedModel_GenericIO_GGIO1_Ind1)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind1_stVal (&iedModel_GenericIO_GGIO1_Ind1_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind1_q (&iedModel_GenericIO_GGIO1_Ind1_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind1_t (&iedModel_GenericIO_GGIO1_Ind1_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind2 (&iedModel_GenericIO_GGIO1_Ind2)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind2_stVal (&iedModel_GenericIO_GGIO1_Ind2_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind2_q (&iedModel_GenericIO_GGIO1_Ind2_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind2_t (&iedModel_GenericIO_GGIO1_Ind2_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind3 (&iedModel_GenericIO_GGIO1_Ind3)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind3_stVal (&iedModel_GenericIO_GGIO1_Ind3_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind3_q (&iedModel_GenericIO_GGIO1_Ind3_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind3_t (&iedModel_GenericIO_GGIO1_Ind3_t)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind4 (&iedModel_GenericIO_GGIO1_Ind4)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind4_stVal (&iedModel_GenericIO_GGIO1_Ind4_stVal)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind4_q (&iedModel_GenericIO_GGIO1_Ind4_q)
|
||||||
|
#define IEDMODEL_GenericIO_GGIO1_Ind4_t (&iedModel_GenericIO_GGIO1_Ind4_t)
|
||||||
|
|
||||||
|
#endif /* STATIC_MODEL_H_ */
|
||||||
|
|
@ -0,0 +1 @@
|
|||||||
|
test
|
@ -0,0 +1,21 @@
|
|||||||
|
include_directories(
|
||||||
|
.
|
||||||
|
)
|
||||||
|
|
||||||
|
set(server_example_SRCS
|
||||||
|
server_example_password_auth.c
|
||||||
|
static_model.c
|
||||||
|
)
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
set_source_files_properties(${server_example_SRCS}
|
||||||
|
PROPERTIES LANGUAGE CXX)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
add_executable(server_example_password_auth
|
||||||
|
${server_example_SRCS}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(server_example_password_auth
|
||||||
|
iec61850
|
||||||
|
)
|
@ -1,7 +1,7 @@
|
|||||||
LIBIEC_HOME=../..
|
LIBIEC_HOME=../..
|
||||||
|
|
||||||
PROJECT_BINARY_NAME = server_example4
|
PROJECT_BINARY_NAME = server_example_password_auth
|
||||||
PROJECT_SOURCES = server_example4.c
|
PROJECT_SOURCES = server_example_password_auth.c
|
||||||
PROJECT_SOURCES += static_model.c
|
PROJECT_SOURCES += static_model.c
|
||||||
|
|
||||||
PROJECT_ICD_FILE = simpleIO_direct_control.icd
|
PROJECT_ICD_FILE = simpleIO_direct_control.icd
|
@ -0,0 +1,21 @@
|
|||||||
|
include_directories(
|
||||||
|
.
|
||||||
|
)
|
||||||
|
|
||||||
|
set(server_example_SRCS
|
||||||
|
server_example_simple.c
|
||||||
|
static_model.c
|
||||||
|
)
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
set_source_files_properties(${server_example_SRCS}
|
||||||
|
PROPERTIES LANGUAGE CXX)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
add_executable(server_example_simple
|
||||||
|
${server_example_SRCS}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(server_example_simple
|
||||||
|
iec61850
|
||||||
|
)
|
@ -1,7 +1,7 @@
|
|||||||
LIBIEC_HOME=../..
|
LIBIEC_HOME=../..
|
||||||
|
|
||||||
PROJECT_BINARY_NAME = server_example1
|
PROJECT_BINARY_NAME = server_example_simple
|
||||||
PROJECT_SOURCES = server_example1.c
|
PROJECT_SOURCES = server_example_simple.c
|
||||||
PROJECT_SOURCES += static_model.c
|
PROJECT_SOURCES += static_model.c
|
||||||
|
|
||||||
PROJECT_ICD_FILE = sampleModel_with_dataset.icd
|
PROJECT_ICD_FILE = sampleModel_with_dataset.icd
|
@ -0,0 +1,21 @@
|
|||||||
|
include_directories(
|
||||||
|
.
|
||||||
|
)
|
||||||
|
|
||||||
|
set(server_example_SRCS
|
||||||
|
server_example_write_handler.c
|
||||||
|
static_model.c
|
||||||
|
)
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
set_source_files_properties(${server_example_SRCS}
|
||||||
|
PROPERTIES LANGUAGE CXX)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
add_executable(server_example_write_handler
|
||||||
|
${server_example_SRCS}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(server_example_write_handler
|
||||||
|
iec61850
|
||||||
|
)
|
@ -1,7 +1,7 @@
|
|||||||
LIBIEC_HOME=../..
|
LIBIEC_HOME=../..
|
||||||
|
|
||||||
PROJECT_BINARY_NAME = server_example5
|
PROJECT_BINARY_NAME = server_example_write_handler
|
||||||
PROJECT_SOURCES = server_example5.c
|
PROJECT_SOURCES = server_example_write_handler.c
|
||||||
PROJECT_SOURCES += static_model.c
|
PROJECT_SOURCES += static_model.c
|
||||||
|
|
||||||
PROJECT_ICD_FILE = complexModel.icd
|
PROJECT_ICD_FILE = complexModel.icd
|
@ -1,23 +1,40 @@
|
|||||||
FIND_PACKAGE(SWIG REQUIRED)
|
find_package(SWIG REQUIRED)
|
||||||
INCLUDE(${SWIG_USE_FILE})
|
include(${SWIG_USE_FILE})
|
||||||
FIND_PACKAGE(PythonLibs REQUIRED)
|
|
||||||
FIND_PACKAGE ( PythonInterp ${PYTHONLIBS_VERSION_STRING} EXACT REQUIRED )
|
find_package(PythonLibs REQUIRED)
|
||||||
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
|
find_package(PythonInterp ${PYTHONLIBS_VERSION_STRING} EXACT REQUIRED)
|
||||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
|
|
||||||
SET(CMAKE_SWIG_FLAGS "")
|
include_directories(${PYTHON_INCLUDE_PATH})
|
||||||
SET_PROPERTY(SOURCE iec61850.i PROPERTY CPLUSPLUS ON)
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
SWIG_ADD_MODULE(iec61850 python iec61850.i)
|
|
||||||
IF(WIN32)
|
set(CMAKE_SWIG_FLAGS "")
|
||||||
SWIG_LINK_LIBRARIES(iec61850 ${PYTHON_LIBRARIES} iec61850 ws2_32)
|
set_property(SOURCE iec61850.i PROPERTY CPLUSPLUS ON)
|
||||||
ELSE()
|
|
||||||
SWIG_LINK_LIBRARIES(iec61850 ${PYTHON_LIBRARIES} iec61850-shared)
|
if(WIN32)
|
||||||
ENDIF(WIN32)
|
set(LIBS iec61850 ws2_32)
|
||||||
EXECUTE_PROCESS ( #Finding python modules install path
|
else()
|
||||||
COMMAND ${PYTHON_EXECUTABLE} -c
|
set(LIBS iec61850-shared)
|
||||||
"import site, sys; sys.stdout.write(site.getsitepackages()[-1])"
|
endif()
|
||||||
OUTPUT_VARIABLE PYTHON_SITE_DIR
|
|
||||||
)
|
if(${SWIG_VERSION} VERSION_LESS 3.0)
|
||||||
INSTALL ( FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION ${PYTHON_SITE_DIR})
|
swig_add_module(iec61850 python iec61850.i)
|
||||||
INSTALL ( TARGETS _iec61850 LIBRARY DESTINATION ${PYTHON_SITE_DIR})
|
else()
|
||||||
|
swig_add_library(iec61850
|
||||||
|
LANGUAGE python
|
||||||
|
SOURCES iec61850.i
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
swig_link_libraries(iec61850 ${PYTHON_LIBRARIES} ${LIBS})
|
||||||
|
|
||||||
|
# Finding python modules install path
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${PYTHON_EXECUTABLE} -c
|
||||||
|
"import site, sys; sys.stdout.write(site.getsitepackages()[-1])"
|
||||||
|
OUTPUT_VARIABLE PYTHON_SITE_DIR
|
||||||
|
)
|
||||||
|
|
||||||
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION ${PYTHON_SITE_DIR})
|
||||||
|
install(TARGETS _iec61850 LIBRARY DESTINATION ${PYTHON_SITE_DIR})
|
||||||
|
|
||||||
add_test(test_pyiec61850 ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/test_pyiec61850.py)
|
add_test(test_pyiec61850 ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/test_pyiec61850.py)
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue