Commit 21012a07 authored by Claes's avatar Claes Committed by Esteban Blanc

Project pwrtest01 double node tests added

parent 65e11f0b
......@@ -37,4 +37,8 @@ clean_project:
@ if [ -e $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01b.db ]; then rm -r $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01b.db; fi
@ if [ -e $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01c.db ]; then rm -r $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01c.db; fi
@ if [ -e $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01d.db ]; then rm -r $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01d.db; fi
@ if [ -e $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01a.db.lock ]; then rm -r $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01a.db.lock; fi
@ if [ -e $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01b.db.lock ]; then rm -r $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01b.db.lock; fi
@ if [ -e $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01c.db.lock ]; then rm -r $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01c.db.loci; fi
@ if [ -e $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01d.db.lock ]; then rm -r $(pwre_croot)/project/pwrtest01/src/db/volpwrtest01d.db.lock; fi
@ if [ -e $(release_root)/bld/project/pwrtest01/bld ]; then rm -r $(release_root)/bld/project/pwrtest01/bld; fi
......@@ -3,6 +3,8 @@ my : demo_all
include $(pwr_exe)/pwrp_rules.mk
demo_modules = $(pwrp_exe)/ra_status \
$(pwrp_exe)/ra_nethtest \
$(pwrp_exe)/ra_testall_a.sh \
$(pwrp_exe)/ra_plctest \
$(pwrp_exe)/ra_gdhtest \
$(pwrp_exe)/ra_timetest \
......@@ -28,6 +30,14 @@ $(pwrp_exe)/ra_status : $(pwrp_appl)/ra_status.cpp
@ echo "Building ra_status"
@ g++ -g -o $(target) $(source) $(pwr_obj)/pwr_msg_rt.o -I$(pwr_inc) -L$(pwr_lib) -lpwr_rt -lpwr_co -lpwr_msg_dummy -lrpcsvc -lpthread -lm -lrt
$(pwrp_exe)/ra_nethtest : $(pwrp_appl)/ra_nethtest.cpp $(pwrp_appl)/ra_nethtest.h
@ echo "Building ra_nethtest"
@ g++ -g -o $(target) $(source) $(pwr_obj)/pwr_msg_co.o $(pwr_obj)/pwr_msg_rt.o -I$(pwrp_inc) -I$(pwr_inc) -L$(pwr_lib) -lpwr_rt -lpwr_co -lpwr_msg_dummy -lrpcsvc -lpthread -lm -lrt -Wall
$(pwrp_exe)/ra_testall_a.sh : $(pwrp_appl)/ra_testall_a.sh
@ echo "Building ra_testall_a"
@ cp -p $(source) $(target)
$(pwrp_exe)/ra_plctest : $(pwrp_appl)/ra_plctest.cpp
@ echo "Building ra_plctest"
@ g++ -g -o $(target) $(source) $(pwr_obj)/pwr_msg_rt.o -I$(pwr_inc) -L$(pwr_lib) -lpwr_rt -lpwr_co -lpwr_msg_dummy -lrpcsvc -lpthread -lm -lrt -Wall
......
/*
Test neth functions.
*/
#include <stdio.h>
#include <unistd.h>
#include "pwr.h"
#include "rt_gdh.h"
#include "ra_nethtest.h"
#include "rt_gdh_msg.h"
#include "rt_hash_msg.h"
#include "rt_mvol_msg.h"
#include "co_cdh_msg.h"
#include "pwr_baseclasses.h"
#include "pwr_basecomponentclasses.h"
typedef struct {
pwr_tOName name;
pwr_tStatus sts1;
pwr_tStatus sts2;
pwr_tOid oid;
} sObjidToName;
// NameToObjid and ObjidToName
void ra_nethtest::ObjidToName(void)
{
sObjidToName d[] = {
{"Test01b-Neth", HASH__SUCCESS, HASH__SUCCESS, pwr_cNOid},
{"Test01b-Neth-", HASH__SUCCESS, HASH__SUCCESS, pwr_cNOid},
{"Test01b-Neth-LongName90123456789012345678901", HASH__SUCCESS, HASH__SUCCESS, pwr_cNOid},
{"Test01b-Neth-TooLongName234567890123456789012", CDH__SEGLEN, 0, pwr_cNOid}
};
pwr_tOName oname;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToObjid(d[i].name, &d[i].oid);
if (m_sts != d[i].sts1) {
m_log->log('E', "ObjidToName, NameToObjid wrong sts", d[i].name, m_sts);
return;
}
else if (ODD(m_sts)) {
m_sts = gdh_ObjidToName(d[i].oid, oname, sizeof(oname), cdh_mNName);
if (m_sts != d[i].sts2) {
m_log->log('E', "ObjidToName, wrong sts", d[i].name, m_sts);
return;
}
else if (ODD(m_sts)) {
if (strcmp(oname, d[i].name) != 0) {
m_log->log('E', "ObjidToName, wrong object", d[i].name);
return;
}
}
}
}
m_log->log('S', "ObjidToName", GDH__SUCCESS);
}
typedef struct {
pwr_tOName pname;
pwr_tObjName cname;
pwr_tCid cid;
pwr_tStatus sts;
pwr_tOid poid;
pwr_tOid coid;
} sGetChild;
void ra_nethtest::GetChild(void)
{
sGetChild d[] = {
{"Test01b-RootObject", "Child1", pwr_cClass_PlantHier, HASH__SUCCESS, pwr_cNOid, pwr_cNOid},
{"Test01b-RootObject-ChildLess", "", pwr_cClass_PlantHier, GDH__NO_CHILD, pwr_cNOid, pwr_cNOid}
};
pwr_tAName cname;
pwr_tOid coid;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToObjid(d[i].pname, &d[i].poid);
if (EVEN(m_sts)) {
m_log->log('E', "GetChild, gdh_NameToObjid", d[i].pname, m_sts);
return;
}
sprintf(cname, "%s-%s", d[i].pname, d[i].cname);
m_sts = gdh_NameToObjid(cname, &d[i].coid);
if (EVEN(m_sts)) {
m_log->log('E', "GetChild, gdh_NameToObjid", d[i].cname, m_sts);
return;
}
}
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_GetChild(d[i].poid, &coid);
if (m_sts != d[i].sts) {
m_log->log('E', "GetChild, wrong sts", d[i].pname, m_sts);
return;
}
if (ODD(m_sts)) {
if (cdh_ObjidIsNotEqual(coid, d[i].coid)) {
m_log->log('E', "GetChild, wrong object", d[i].cname);
return;
}
}
}
m_log->log('S', "GetChild", GDH__SUCCESS);
}
typedef struct {
pwr_tOName name;
pwr_tStatus sts;
} sGetParent;
void ra_nethtest::GetParent(void)
{
sGetParent d[] = {
{"Test01b", GDH__NO_PARENT},
{"Test01b-RootObject-Child1", HASH__SUCCESS},
{"Test01b-RootObject-ChildLess", HASH__SUCCESS}
};
pwr_tOName pname, name;
pwr_tOid coid, poid;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToObjid(d[i].name, &coid);
if (EVEN(m_sts)) {
m_log->log('E', "GetChild, gdh_NameToObjid", d[i].name, m_sts);
return;
}
m_sts = gdh_GetParent(coid, &poid);
if (m_sts != d[i].sts) {
m_log->log('E', "GetParent, wrong sts", d[i].name, m_sts);
return;
}
if (ODD(m_sts)) {
m_sts = gdh_ObjidToName(poid, pname, sizeof(pname), cdh_mNName);
if (EVEN(m_sts)) {
m_log->log('E', "GetChild, gdh_ObjidToName", d[i].name, m_sts);
return;
}
strcpy(name, d[i].name);
char *s = strrchr(name, '-');
if (!s) {
m_log->log('E', "GetParent, erroneous name", d[i].name);
return;
}
*s = 0;
if (strcmp(name, pname) != 0) {
m_log->log('E', "GetParent, wrong object", d[i].name);
return;
}
}
}
m_log->log('S', "GetParent", GDH__SUCCESS);
}
// Constructor
ra_nethtest::ra_nethtest()
{
pwr_tTime stime;
m_log = new tst_log(&m_sts, "rt-Neth", "$pwrp_log/neth.tlog");
if (EVEN(m_sts))
printf("** Unable to open log file");
m_sts = gdh_Init("ra_nethtest");
if (EVEN(m_sts)) {
m_log->log('F', "gdh_Init", m_sts);
exit(0);
}
// Wait for pwrtest01b
for (int i = 0; i < 100; i++) {
m_sts = gdh_GetObjectInfo("VolPwrtest01b:Nodes-PwrTest01b.SystemTime", &stime, sizeof(stime));
sleep(2);
printf("sts %d\n", m_sts);
if (ODD(m_sts))
break;
}
if (EVEN(m_sts)) {
m_log->log('F', "pwrtest01b timeout", m_sts);
exit(0);
}
}
typedef struct {
pwr_tOName name;
pwr_tOName nextname;
pwr_tStatus sts;
} sGetNextSibling;
void ra_nethtest::GetNextSibling(void)
{
sGetNextSibling d[] = {
{"Test01b-RootObject-Child1", "Test01b-RootObject-Child2", HASH__SUCCESS},
{"Test01b-RootObject-Child2", "Test01b-RootObject-Child3", HASH__SUCCESS},
{"Test01b-RootObject-Child3", "Test01b-RootObject-Child4", HASH__SUCCESS},
{"Test01b-RootObject-Child4", "Test01b-RootObject-ChildLess", HASH__SUCCESS},
{"Test01b-RootObject-ChildLess", "", GDH__NO_SIBLING}
};
pwr_tOid oid, nextoid, noid;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToObjid(d[i].name, &oid);
if (EVEN(m_sts)) {
m_log->log('E', "GetNextSibling, gdh_NameToObjid", d[i].name, m_sts);
return;
}
m_sts = gdh_GetNextSibling(oid, &nextoid);
if (m_sts != d[i].sts) {
m_log->log('E', "GetNextSibling, wrong sts", d[i].name, m_sts);
return;
}
if (ODD(m_sts)) {
m_sts = gdh_NameToObjid(d[i].nextname, &noid);
if (EVEN(m_sts)) {
m_log->log('E', "GetNextSibling, gdh_NameToObjid", d[i].name, m_sts);
return;
}
if (cdh_ObjidIsNotEqual(noid, nextoid)) {
m_log->log('E', "GetNextSibling, wrong object", d[i].name);
return;
}
}
}
m_log->log('S', "GetNextSibling", GDH__SUCCESS);
}
typedef struct {
pwr_tOName name;
pwr_tOName previousname;
pwr_tStatus sts;
} sGetPreviousSibling;
void ra_nethtest::GetPreviousSibling(void)
{
sGetPreviousSibling d[] = {
{"Test01b-RootObject-ChildLess", "Test01b-RootObject-Child4", HASH__SUCCESS},
{"Test01b-RootObject-Child4", "Test01b-RootObject-Child3", HASH__SUCCESS},
{"Test01b-RootObject-Child3", "Test01b-RootObject-Child2", HASH__SUCCESS},
{"Test01b-RootObject-Child2", "Test01b-RootObject-Child1", HASH__SUCCESS},
{"Test01b-RootObject-Child1", "", GDH__NO_SIBLING}
};
pwr_tOid oid, previousoid, poid;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToObjid(d[i].name, &oid);
if (EVEN(m_sts)) {
m_log->log('E', "GetPreviousSibling, gdh_NameToObjid", d[i].name, m_sts);
return;
}
m_sts = gdh_GetPreviousSibling(oid, &previousoid);
if (m_sts != d[i].sts) {
m_log->log('E', "GetPreviousSibling, wrong sts", d[i].name, m_sts);
return;
}
if (ODD(m_sts)) {
m_sts = gdh_NameToObjid(d[i].previousname, &poid);
if (EVEN(m_sts)) {
m_log->log('E', "GetPreviousSibling, gdh_NameToObjid", d[i].name, m_sts);
return;
}
if (cdh_ObjidIsNotEqual(poid, previousoid)) {
m_log->log('E', "GetPreviousSibling, wrong object", d[i].name);
return;
}
}
}
m_log->log('S', "GetPreviousSibling", GDH__SUCCESS);
}
typedef struct {
pwr_tOName aname;
pwr_tOName result;
pwr_tStatus sts;
} sNameToAttrRef;
void ra_nethtest::NameToAttrref(void)
{
sNameToAttrRef d[] = {
{"Test01b-RootObject-Child1.Photo", "Test01b-RootObject-Child1.Photo", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped", "Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value", "Test01b-RootObject-Child1-A1.Value", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value[99]", "Test01b-RootObject-Child1-A1.Value[99]", GDH__SUCCESS}
};
pwr_tAttrRef aref;
pwr_tAName aname2;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToAttrref(pwr_cNOid, d[i].aname, &aref);
if (m_sts != d[i].sts) {
m_log->log('E', "NameToAttrref, wrong sts", d[i].aname, m_sts);
return;
}
if (ODD(m_sts)) {
m_sts = gdh_AttrrefToName(&aref, aname2, sizeof(aname2), cdh_mNName);
if (EVEN(m_sts)) {
m_log->log('E', "NameToAttrref, gdh_AttrrefToName", d[i].aname, m_sts);
return;
}
if (strcmp(aname2, d[i].result) != 0) {
m_log->vlog('E', "NameToAttrref, %s != %s, idx %d", aname2, d[i].result, i);
return;
}
}
}
m_log->log('S', "NameToAttrref", GDH__SUCCESS);
}
typedef struct {
pwr_tOName aname;
int nametype;
pwr_tOName result;
pwr_tStatus sts;
} sAttrRefToName;
void ra_nethtest::AttrrefToName(void)
{
sAttrRefToName d[] = {
{"Test01b-RootObject-Child1.Photo", cdh_mNName, "Test01b-RootObject-Child1.Photo", GDH__SUCCESS},
{"Test01b-RootObject-Child1.Photo", cdh_mName_object, "Child1", GDH__SUCCESS},
{"Test01b-RootObject-Child1.Photo", cdh_mName_attribute, "Photo", GDH__SUCCESS},
{"Test01b-RootObject-Child1.Photo", cdh_mName_object | cdh_mName_attribute, "Child1.Photo", GDH__SUCCESS},
{"Test01b-RootObject-Child1.Photo", cdh_mName_volumeStrict, "VolPwrTest01b:Test01b-RootObject-Child1.Photo", GDH__SUCCESS},
{"Test01b-RootObject-Child1.Photo", cdh_mName_pathStrict, "Test01b-RootObject-Child1.Photo", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped", cdh_mNName, "Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped", cdh_mName_object, "P1", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped", cdh_mName_attribute, "CircuitBreaker.NotTripped", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped", cdh_mName_object | cdh_mName_attribute, "P1.CircuitBreaker.NotTripped", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped", cdh_mName_volumeStrict, "VolPwrTest01b:Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped", cdh_mName_pathStrict, "Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped.Photo", cdh_mNName, "Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped.Photo", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped.Photo", cdh_mName_object, "P1", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped.Photo", cdh_mName_attribute, "CircuitBreaker.NotTripped.Photo", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped.Photo", cdh_mName_volumeStrict, "VolPwrTest01b:Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped.Photo", GDH__SUCCESS},
{"Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped.Photo", cdh_mName_pathStrict, "Test01b-RootObject-Child1-P1.CircuitBreaker.NotTripped.Photo", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value", cdh_mNName, "Test01b-RootObject-Child1-A1.Value", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value", cdh_mName_object, "A1", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value", cdh_mName_attribute, "Value", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value", cdh_mName_volumeStrict, "VolPwrTest01b:Test01b-RootObject-Child1-A1.Value", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value", cdh_mName_pathStrict, "Test01b-RootObject-Child1-A1.Value", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value[99]", cdh_mNName, "Test01b-RootObject-Child1-A1.Value[99]", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value[99]", cdh_mName_object, "A1", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value[99]", cdh_mName_attribute, "Value", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value[99]", cdh_mName_object | cdh_mName_attribute | cdh_mName_index, "A1.Value[99]", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value[99]", cdh_mName_volumeStrict, "VolPwrTest01b:Test01b-RootObject-Child1-A1.Value[99]", GDH__SUCCESS},
{"Test01b-RootObject-Child1-A1.Value[99]", cdh_mName_pathStrict, "Test01b-RootObject-Child1-A1.Value[99]", GDH__SUCCESS}
};
pwr_tAttrRef aref;
pwr_tAName aname2;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToAttrref(pwr_cNOid, d[i].aname, &aref);
if (EVEN(m_sts)) {
m_log->log('E', "AttrrefToName, gdh_NameToAttrref", m_sts);
return;
}
m_sts = gdh_AttrrefToName(&aref, aname2, sizeof(aname2), d[i].nametype);
if (m_sts != d[i].sts) {
m_log->log('E', "AttrrefToName, wrong sts", d[i].aname, m_sts);
return;
}
if (ODD(m_sts)) {
if (strcmp(aname2, d[i].result) != 0) {
m_log->vlog('E', "AttrrefToName, %s != %s, idx %d", aname2, d[i].result, i);
return;
}
}
}
m_log->log('S', "AttrRefToName", GDH__SUCCESS);
}
typedef struct {
pwr_tAName aname;
pwr_tDisableAttr dis;
pwr_tStatus sts;
} sArefDisabled;
void ra_nethtest::ArefDisabled(void)
{
sArefDisabled d[] = {
{"Test01b-Neth-P1.CircuitBreaker", 1, HASH__SUCCESS},
{"Test01b-Neth-P1.CircuitBreaker.NotTripped", 1, HASH__SUCCESS},
{"Test01b-Neth-P1.Motor.TempSwitch", 1, HASH__SUCCESS},
{"Test01b-Neth-P1.Motor.TempSwitch.Switch", 1, HASH__SUCCESS},
{"Test01b-Neth-P1.Motor.TempSensor", 1, HASH__SUCCESS},
{"Test01b-Neth-P1.Motor.TempSensor.Value", 1, HASH__SUCCESS},
{"Test01b-Neth-P1.Contactor", 0, HASH__SUCCESS},
{"Test01b-Neth-P1.Contactor.Order", 0, HASH__SUCCESS},
{"Test01b-Neth-P1", 0, GDH__NOATTR}
};
pwr_tAttrRef aref;
pwr_tDisableAttr dis;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToAttrref(pwr_cNOid, d[i].aname, &aref);
if (EVEN(m_sts)) {
m_log->log('E', "ArefDisabled", d[i].aname, m_sts);
return;
}
m_sts = gdh_ArefDisabled(&aref, &dis);
if (m_sts != d[i].sts) {
m_log->log('E', "ArefDisabled", d[i].aname, m_sts);
return;
}
if (ODD(m_sts)) {
if (dis != d[i].dis) {
m_log->log('E', "ArefDisabled", d[i].aname, m_sts);
return;
}
}
}
m_log->log('S', "ArefDisabled", GDH__SUCCESS);
}
typedef struct {
pwr_tOName name;
pwr_tUInt32 size;
pwr_tStatus sts;
} sGetObjectSize;
void ra_nethtest::GetObjectSize(void)
{
sGetObjectSize d[] = {
{"Test01b-Neth-A1", sizeof(pwr_sClass_AArray100), HASH__SUCCESS},
{"Test01b-Neth-P1", sizeof(pwr_sClass_BaseFcPPO3PumpAggr), HASH__SUCCESS},
{"Test01b-Neth-Av1", sizeof(pwr_sClass_Av), HASH__SUCCESS},
{"Test01b-Neth-Dv1", sizeof(pwr_sClass_Dv), HASH__SUCCESS},
{"VolPwrTest01b:", sizeof(pwr_sClass_RootVolume), HASH__SUCCESS},
{"Test01b", sizeof(pwr_sClass_PlantHier), HASH__SUCCESS}
};
pwr_tOid oid;
pwr_tUInt32 size;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToObjid(d[i].name, &oid);
if (EVEN(m_sts)) {
m_log->log('E', "GetObjectSize", "gdh_NameToObjid", m_sts);
return;
}
m_sts = gdh_GetObjectSize(oid, &size);
if (m_sts != d[i].sts) {
m_log->log('E', "GetObjectSize", m_sts);
return;
}
if (ODD(m_sts)) {
if (d[i].size != size) {
m_log->log('E', "GetSuperClass, size doesn't match");
return;
}
}
}
m_log->log('S', "GetObjectSize", GDH__SUCCESS);
}
typedef struct {
pwr_tOName name;
pwr_tCid cid;
pwr_tStatus sts;
} sGetObjectClass;
void ra_nethtest::GetObjectClass(void)
{
sGetObjectClass d[] = {
{"Test01b-Neth-A1", pwr_cClass_AArray100, HASH__SUCCESS},
{"Test01b-Neth-P1", pwr_cClass_BaseFcPPO3PumpAggr, HASH__SUCCESS},
{"Test01b-Neth-Av1", pwr_cClass_Av, HASH__SUCCESS},
{"Test01b-Neth-Dv1", pwr_cClass_Dv, HASH__SUCCESS},
{"VolPwrTest01b:", pwr_cClass_RootVolume, HASH__SUCCESS},
{"Test01b", pwr_cClass_PlantHier, HASH__SUCCESS}
};
pwr_tOid oid;
pwr_tCid cid;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToObjid(d[i].name, &oid);
if (EVEN(m_sts)) {
m_log->log('E', "GetObjectClass, gdh_NameToObjid", d[i].name, m_sts);
return;
}
m_sts = gdh_GetObjectClass(oid, &cid);
if (m_sts != d[i].sts) {
m_log->log('E', "GetObjectClass", m_sts);
return;
}
if (ODD(m_sts)) {
if (d[i].cid != cid) {
m_log->log('E', "GetObjectClass, object class doesn't match");
return;
}
}
}
m_log->log('S', "GetObjectClass", GDH__SUCCESS);
}
typedef struct {
pwr_tOName name;
pwr_tTid tid;
pwr_tOName tname;
pwr_tStatus sts;
} sGetAttrRefTid;
void ra_nethtest::GetAttrRefTid(void)
{
sGetAttrRefTid d[] = {
{"Test01b-Neth-A1.Value", pwr_eType_Float32, "", GDH__SUCCESS},
{"Test01b-Neth-A1.Value[0]", pwr_eType_Float32, "", GDH__SUCCESS},
{"Test01b.Description", 0, "pwrs:Type-$String80", GDH__SUCCESS},
{"Test01b-Neth-P1.CircuitBreaker.NotTripped.ActualValue", pwr_eType_Boolean, "", GDH__SUCCESS},
{"Test01b-Neth-Av1.ActualValue", pwr_eType_Float32, "", GDH__SUCCESS},
{"Test01b-Neth-Dv1.ActualValue", pwr_eType_Boolean, "", GDH__SUCCESS},
{"Test01b-Neth-A1", pwr_cClass_AArray100, "", GDH__SUCCESS},
{"Test01b-Neth-P1", pwr_cClass_BaseFcPPO3PumpAggr, "", GDH__SUCCESS},
{"Test01b-Neth-Av1", pwr_cClass_Av, "", GDH__SUCCESS},
{"Test01b-Neth-Dv1", pwr_cClass_Dv, "", GDH__SUCCESS},
{"VolPwrTest01b:", pwr_cClass_RootVolume, "", GDH__SUCCESS},
{"Test01b", pwr_cClass_PlantHier, "", GDH__SUCCESS}
};
pwr_tAttrRef aref;
pwr_tTid tid, dtid;
pwr_tOid toid;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToAttrref(pwr_cNOid, d[i].name, &aref);
if (EVEN(m_sts)) {
m_log->log('E', "GetAttrRefTid, gdh_NameToAttrref", d[i].name, m_sts);
return;
}
if (d[i].tid == 0) {
m_sts = gdh_NameToObjid(d[i].tname, &toid);
if (EVEN(m_sts)) {
m_log->log('E', "GetAttrRefTid, gdh_NameToObjid", d[i].name, m_sts);
return;
}
dtid = cdh_TypeObjidToId(toid);
}
else
dtid = d[i].tid;
m_sts = gdh_GetAttrRefTid(&aref, &tid);
if (m_sts != d[i].sts) {
m_log->log('E', "GetAttrRefTid", d[i].name, m_sts);
return;
}
if (ODD(m_sts)) {
if (dtid != tid) {
m_log->log('E', "GetAttrRefTid, tid doesn't match", d[i].name);
return;
}
}
}
m_log->log('S', "GetAttrRefTid", GDH__SUCCESS);
}
typedef struct {
pwr_tOName name;
pwr_tBoolean location;
pwr_tStatus sts;
} sGetObjectLocation;
void ra_nethtest::GetObjectLocation(void)
{
sGetObjectLocation d[] = {
{"Test01b-Neth-A1", 0, HASH__SUCCESS},
{"Test01b-Neth", 0, HASH__SUCCESS},
{"Test01b-Neth-A1", 0, HASH__SUCCESS},
{"VolPwrTest01b:", 0, HASH__SUCCESS}
};
pwr_tOid oid;
pwr_tBoolean location;
for (unsigned int i = 0; i < sizeof(d)/sizeof(d[0]); i++) {
m_sts = gdh_NameToObjid(d[i].name, &oid);
if (EVEN(m_sts)) {
m_log->log('E', "GetObjectLocation, gdh_NameToObjid", d[i].name, m_sts);
return;
}
m_sts = gdh_GetObjectLocation(oid, &location);
if (m_sts != d[i].sts) {
m_log->log('E', "GetObjectLocation", m_sts);
return;
}
if (ODD(m_sts)) {
if (d[i].location != location) {
m_log->log('E', "GetObjectLocation, location doesn't match");
return;
}
}
}
m_log->log('S', "GetObjectLocation", GDH__SUCCESS);
}
// Destructor
ra_nethtest::~ra_nethtest()
{
//gdh_DeleteObjectTree(m_dynroot);
delete m_log;
}
int main()
{
ra_nethtest neth;
setenv("TZ", "Europe/Stockholm", 1);
tzset();
neth.ObjidToName();
neth.GetChild();
neth.GetParent();
neth.GetNextSibling();
neth.GetPreviousSibling();
neth.NameToAttrref();
neth.AttrrefToName();
neth.ArefDisabled();
neth.GetObjectSize();
neth.GetObjectClass();
neth.GetAttrRefTid();
neth.GetObjectLocation();
}
#include "pwr.h"
#include "co_cdh.h"
#include "rt_gdh.h"
#include "co_tst_log.h"
class ra_nethtest {
pwr_tStatus m_sts;
tst_log *m_log;
pwr_tOid m_root;
pwr_tOid m_child;
pwr_tOid m_dynroot;
pwr_tStatus check_object(pwr_tOid oid);
public:
ra_nethtest();
~ra_nethtest();
void ObjidToName(void);
void GetChild(void);
void GetParent(void);
void GetNextSibling(void);
void GetPreviousSibling(void);
void NameToAttrref(void);
void AttrrefToName(void);
void ArefDisabled(void);
void GetObjectSize(void);
void GetObjectClass(void);
void GetAttrRefTid(void);
void GetObjectLocation(void);
};
#!/bin/bash
exec()
{
echo "Executing $1"
$1
}
dexec()
{
echo "Executing $1"
$1 &
}
exec "ra_nethtest"
! Generated by wb_print_wbl 03-JUN-2020 19:45:06.65
! Generated by wb_print_wbl 03-SEP-2020 16:41:51.54
! Volume directory
! Version V5.7.1
Volume directory $DirectoryVolume 254.254.254.253
......@@ -16,7 +16,7 @@ Volume directory $DirectoryVolume 254.254.254.253
Attr BusNumber = 999
EndBody
Object PwrTest01a NodeConfig 10 25-MAR-2020 09:04:16.06
Body RtBody 03-JUN-2020 19:45:06.62
Body RtBody 03-SEP-2020 16:41:51.48
Attr NodeName = "pwrtest01a"
Attr OperatingSystem = 128
Attr Address = "10.255.100.1"
......@@ -39,10 +39,20 @@ Volume directory $DirectoryVolume 254.254.254.253
Attr Source = "$pwrp_exe/ra_status"
EndBody
EndObject
Object ra_nethtest ApplDistribute 76 03-SEP-2020 16:11:23.15
Body DevBody 03-SEP-2020 16:11:28.98
Attr Source = "$pwrp_exe/ra_nethtest"
EndBody
EndObject
Object ra_testall_a ApplDistribute 77 03-SEP-2020 16:11:55.02
Body DevBody 03-SEP-2020 16:11:59.71
Attr Source = "$pwrp_exe/ra_testall_a.sh"
EndBody
EndObject
EndObject
EndObject
Object PwrTest01b NodeConfig 26 25-MAR-2020 09:06:55.29
Body RtBody 03-JUN-2020 19:45:06.62
Body RtBody 03-SEP-2020 16:41:51.48
Attr NodeName = "pwrtest01b"
Attr OperatingSystem = 128
Attr Address = "10.255.100.2"
......@@ -68,7 +78,7 @@ Volume directory $DirectoryVolume 254.254.254.253
EndObject
EndObject
Object PwrTest01c NodeConfig 33 26-MAR-2020 10:23:36.40
Body RtBody 03-JUN-2020 19:45:06.62
Body RtBody 03-SEP-2020 16:41:51.48
Attr NodeName = "pwrtest01c"
Attr OperatingSystem = 128
Attr Address = "127.0.0.1"
......@@ -170,7 +180,7 @@ Volume directory $DirectoryVolume 254.254.254.253
EndObject
EndObject
Object PwrTest01d SevNodeConfig 38 26-MAR-2020 10:24:30.82
Body RtBody 03-JUN-2020 19:45:06.62
Body RtBody 03-SEP-2020 16:41:51.48
Attr NodeName = "pwrtest01d"
Attr OperatingSystem = 128
Attr Address = "10.255.100.3"
......
......@@ -21,6 +21,8 @@ appl pwrtest01a S $pwrp_web/*.jpg
appl pwrtest01a S $pwrp_web/*.pdf
appl pwrtest01a S $pwrp_web/*.pwg
appl pwrtest01a E $pwrp_exe/ra_status
appl pwrtest01a E $pwrp_exe/ra_nethtest
appl pwrtest01a E $pwrp_exe/ra_testall_a.sh
node pwrtest01b 128 999 0 - -
load pwrtest01b
appl pwrtest01b W $pwrp_cnf/pwrtest01b/pwr_user2.dat:$pwra_db/pwr_user2.dat $pwra_db/pwr_user2.dat
......
! Generated by wb_print_wbl 25-MAR-2020 09:54:41.05
! Generated by wb_print_wbl 03-SEP-2020 16:07:30.01
! Volume VolPwrTest01a
! Version V5.7.1
Volume VolPwrTest01a $RootVolume 0.254.254.201
Body SysBody 25-MAR-2020 09:53:41.07
Body SysBody 03-SEP-2020 10:42:08.82
Attr NextOix = "_X67"
Attr OperatingSystem = 128
Attr Modified = "25-MAR-2020 09:53:41.07"
Attr Modified = "03-SEP-2020 10:42:08.82"
EndBody
Object Nodes $NodeHier 22 20-MAR-2020 12:12:27.97
Body SysBody 25-MAR-2020 09:44:24.53
Body SysBody 03-SEP-2020 10:26:48.25
EndBody
Object PwrTest01a $Node 23 20-MAR-2020 12:12:27.97
Body SysBody 25-MAR-2020 09:44:24.53
Body SysBody 03-SEP-2020 10:26:48.25
EndBody
Object Security $Security 24 20-MAR-2020 12:12:27.97
Body SysBody 25-MAR-2020 09:44:24.53
Body SysBody 03-SEP-2020 10:26:48.25
Attr WebSystemGroup = "Security"
EndBody
EndObject
Object OpPlaces $NodeHier 25 20-MAR-2020 12:12:27.97
Body SysBody 25-MAR-2020 09:44:24.53
Body SysBody 03-SEP-2020 10:26:48.25
EndBody
Object Op OpPlace 26 20-MAR-2020 12:12:27.97
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
Object Maintenance OpPlace 27 20-MAR-2020 12:12:27.97
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
Object OpDefault OpPlace 28 20-MAR-2020 12:12:27.98
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
Attr OpWindLayout = 1
Attr IsDefaultOp = 1
EndBody
EndObject
Object WebBrowser WebBrowserConfig 29 20-MAR-2020 12:12:27.98
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
EndObject
Object Servers $NodeHier 30 20-MAR-2020 12:12:27.98
Body SysBody 25-MAR-2020 09:44:24.53
Body SysBody 03-SEP-2020 10:26:48.25
EndBody
Object MessageHandler MessageHandler 31 20-MAR-2020 12:12:27.98
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
Attr SystemEvents[0].MoreText = ""
Attr SystemEvents[1].MoreText = ""
Attr SystemEvents[2].MoreText = ""
......@@ -62,36 +62,36 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBody
EndObject
Object IOHandler IOHandler 32 20-MAR-2020 12:12:27.98
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
Object Backup Backup_Conf 33 20-MAR-2020 12:12:27.98
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
Object StatusServer StatusServerConfig 34 20-MAR-2020 12:12:27.98
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
EndObject
Object Plc PlcProcess 35 20-MAR-2020 12:12:27.98
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
EndBody
Object 100ms PlcThread 36 20-MAR-2020 12:12:27.98
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
Attr ScanTime = 1.000000e-01
EndBody
Object Alarm CycleSup 37 20-MAR-2020 12:12:27.98
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
Attr MaxDelay = 1.000000e-01
Attr DetectText = "Plc thread delayed"
Attr MoreText = ""
EndBody
EndObject
Object Halt CycleSup 38 20-MAR-2020 12:12:27.98
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
Attr MaxDelay = 1.000000e+00
Attr DelayAction = 2
Attr MoreText = ""
......@@ -100,26 +100,26 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndObject
EndObject
Object WebHandler WebHandler 39 20-MAR-2020 12:12:27.98
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
Object IO $NodeHier 40 20-MAR-2020 12:12:27.98
Body SysBody 25-MAR-2020 09:44:24.53
Body SysBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
EndObject
EndObject
Object Test01a $PlantHier 66 25-MAR-2020 09:52:09.60
Body SysBody 25-MAR-2020 09:52:09.60
Body SysBody 03-SEP-2020 10:26:48.25
EndBody
Object H1 $PlantHier 41 20-MAR-2020 12:15:27.55
Body SysBody 25-MAR-2020 09:44:24.53
Body SysBody 03-SEP-2020 10:26:48.25
EndBody
Object Plc PlcPgm 42 20-MAR-2020 12:15:45.40
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
Attr ThreadObject = "VolPwrTest01a:Nodes-PwrTest01a-Plc-100ms"
EndBody
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
Buffer PlcProgram
Attr oid = "VolPwrTest01a:Test01a-H1-Plc"
Attr cid = "pwrb:Class-PlcPgm"
......@@ -133,12 +133,12 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBuffer
EndBody
Object W WindowPlc 47 20-MAR-2020 12:16:13.54
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
Attr Version = 1584703017
EndBody
Body DevBody 25-MAR-2020 09:44:29.84
Body DevBody 03-SEP-2020 10:26:55.69
Attr Modified = "20-MAR-2020 12:16:57.92"
Attr Compiled = "25-MAR-2020 09:44:29.84"
Attr Compiled = "03-SEP-2020 10:26:55.69"
Buffer PlcWindow
Attr oid = "VolPwrTest01a:Test01a-H1-Plc-W"
Attr cid = "pwrb:Class-WindowPlc"
......@@ -149,7 +149,7 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBuffer
EndBody
Object cn7 ConDigital 65 20-MAR-2020 12:16:56.59
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
Buffer PlcConnection
Attr oid = "VolPwrTest01a:Test01a-H1-Plc-W-cn7"
Attr object_type = 23
......@@ -188,7 +188,7 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBody
EndObject
Object cn6 ConDigital 63 20-MAR-2020 12:16:54.00
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
Buffer PlcConnection
Attr oid = "VolPwrTest01a:Test01a-H1-Plc-W-cn6"
Attr object_type = 23
......@@ -227,7 +227,7 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBody
EndObject
Object cn5 ConDigital 61 20-MAR-2020 12:16:50.85
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
Buffer PlcConnection
Attr oid = "VolPwrTest01a:Test01a-H1-Plc-W-cn5"
Attr object_type = 23
......@@ -266,7 +266,7 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBody
EndObject
Object cn4 ConDigital 59 20-MAR-2020 12:16:47.76
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
Buffer PlcConnection
Attr oid = "VolPwrTest01a:Test01a-H1-Plc-W-cn4"
Attr object_type = 23
......@@ -304,7 +304,7 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBody
EndObject
Object Document0 Document 48 20-MAR-2020 12:16:13.56
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
Buffer PlcNode
Attr object_type = 2
Attr cid = "pwrb:Class-Document"
......@@ -319,9 +319,9 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBody
EndObject
Object And0 And 49 20-MAR-2020 12:16:18.86
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
Buffer PlcNode
Attr object_type = 90
Attr cid = "pwrb:Class-And"
......@@ -338,9 +338,9 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBody
EndObject
Object GetDv0 GetDv 58 20-MAR-2020 12:16:47.75
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
Attr DvObject = "VolPwrTest01a:Test01a-H1-Dv1"
Buffer PlcNode
Attr object_type = 62
......@@ -356,9 +356,9 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBody
EndObject
Object GetDv1 GetDv 60 20-MAR-2020 12:16:50.84
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
Attr DvObject = "VolPwrTest01a:Test01a-H1-Dv2"
Buffer PlcNode
Attr object_type = 62
......@@ -374,9 +374,9 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBody
EndObject
Object GetDv2 GetDv 62 20-MAR-2020 12:16:53.99
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
Attr DvObject = "VolPwrTest01a:Test01a-H1-Dv3"
Buffer PlcNode
Attr object_type = 62
......@@ -392,9 +392,9 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndBody
EndObject
Object StoDv0 StoDv 64 20-MAR-2020 12:16:56.59
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
Body DevBody 25-MAR-2020 09:44:24.53
Body DevBody 03-SEP-2020 10:26:48.25
Attr DvObject = "VolPwrTest01a:Test01a-H1-Dv4"
Buffer PlcNode
Attr object_type = 71
......@@ -412,25 +412,25 @@ Volume VolPwrTest01a $RootVolume 0.254.254.201
EndObject
EndObject
Object Dv1 Dv 43 20-MAR-2020 12:15:57.93
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
Object Dv2 Dv 44 20-MAR-2020 12:16:06.00
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
Object Dv3 Dv 45 20-MAR-2020 12:16:06.87
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
Object Dv4 Dv 46 20-MAR-2020 12:16:09.63
Body RtBody 25-MAR-2020 09:44:24.53
Body RtBody 03-SEP-2020 10:26:48.25
EndBody
EndObject
EndObject
EndObject
Object Test01b $MountObject 67 25-MAR-2020 09:52:32.08
Body SysBody 25-MAR-2020 09:53:19.29
Body SysBody 03-SEP-2020 10:26:48.25
Attr Object = "_O0.254.254.202:42"
EndBody
EndObject
......
! Generated by wb_print_wbl 25-MAR-2020 09:54:42.28
! Generated by wb_print_wbl 03-SEP-2020 16:07:54.33
! Volume VolPwrTest01b
! Version V5.7.1
Volume VolPwrTest01b $RootVolume 0.254.254.202
Body SysBody 25-MAR-2020 09:54:16.15
Attr NextOix = "_X68"
Body SysBody 03-SEP-2020 13:36:40.06
Attr NextOix = "_X94"
Attr OperatingSystem = 128
Attr Modified = "25-MAR-2020 09:54:16.15"
Attr Modified = "03-SEP-2020 13:36:40.06"
EndBody
Object Nodes $NodeHier 23 25-MAR-2020 09:48:27.79
Body SysBody 25-MAR-2020 09:48:27.79
Body SysBody 03-SEP-2020 10:26:57.74
EndBody
Object PwrTest01b $Node 24 25-MAR-2020 09:48:27.79
Body SysBody 25-MAR-2020 09:48:27.79
Body SysBody 03-SEP-2020 10:26:57.74
EndBody
Object Security $Security 25 25-MAR-2020 09:48:27.79
Body SysBody 25-MAR-2020 09:48:27.79
Body SysBody 03-SEP-2020 10:26:57.74
Attr WebSystemGroup = "Security"
EndBody
EndObject
Object OpPlaces $NodeHier 26 25-MAR-2020 09:48:27.79
Body SysBody 25-MAR-2020 09:48:27.79
Body SysBody 03-SEP-2020 10:26:57.74
EndBody
Object Op OpPlace 27 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
Object Maintenance OpPlace 28 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
Object OpDefault OpPlace 29 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
Attr OpWindLayout = 1
Attr IsDefaultOp = 1
EndBody
EndObject
Object WebBrowser WebBrowserConfig 30 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
EndObject
Object Servers $NodeHier 31 25-MAR-2020 09:48:27.79
Body SysBody 25-MAR-2020 09:48:27.79
Body SysBody 03-SEP-2020 10:26:57.74
EndBody
Object MessageHandler MessageHandler 32 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
Attr SystemEvents[0].MoreText = ""
Attr SystemEvents[1].MoreText = ""
Attr SystemEvents[2].MoreText = ""
......@@ -62,36 +62,36 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBody
EndObject
Object IOHandler IOHandler 33 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
Object Backup Backup_Conf 34 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
Object StatusServer StatusServerConfig 35 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
EndObject
Object Plc PlcProcess 36 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
Body DevBody 25-MAR-2020 09:48:27.79
Body DevBody 03-SEP-2020 10:26:57.74
EndBody
Object 100ms PlcThread 37 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
Attr ScanTime = 1.000000e-01
EndBody
Object Alarm CycleSup 38 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
Attr MaxDelay = 1.000000e-01
Attr DetectText = "Plc thread delayed"
Attr MoreText = ""
EndBody
EndObject
Object Halt CycleSup 39 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
Attr MaxDelay = 1.000000e+00
Attr DelayAction = 2
Attr MoreText = ""
......@@ -100,26 +100,441 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndObject
EndObject
Object WebHandler WebHandler 40 25-MAR-2020 09:48:27.79
Body RtBody 25-MAR-2020 09:48:27.79
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
Object IO $NodeHier 41 25-MAR-2020 09:48:27.80
Body SysBody 25-MAR-2020 09:48:27.80
Body SysBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
EndObject
EndObject
Object Test01b $PlantHier 42 03-SEP-2020 13:36:12.65
Body SysBody 03-SEP-2020 10:26:57.74
EndBody
Object RootObject $PlantHier 86 03-SEP-2020 13:36:12.65
Body SysBody 03-SEP-2020 13:36:12.65
EndBody
Object Child1 $PlantHier 87 03-SEP-2020 13:36:12.65
Body SysBody 03-SEP-2020 13:36:12.65
EndBody
Object A1 AArray100 88 03-SEP-2020 13:36:12.65
Body RtBody 03-SEP-2020 13:36:12.65
Attr Value[0] = 1.000000e+00
Attr Value[1] = 2.000000e+00
Attr Value[2] = 3.000000e+00
Attr Value[3] = 4.000000e+00
Attr Value[4] = 5.000000e+00
Attr Value[5] = 6.000000e+00
Attr Value[6] = 7.000000e+00
Attr Value[7] = 8.000000e+00
Attr Value[8] = 9.000000e+00
Attr Value[9] = 1.000000e+01
Attr Value[10] = 1.100000e+01
Attr Value[11] = 1.200000e+01
Attr Value[12] = 1.300000e+01
Attr Value[13] = 1.400000e+01
Attr Value[14] = 1.500000e+01
Attr Value[15] = 1.600000e+01
Attr Value[16] = 1.700000e+01
Attr Value[17] = 1.800000e+01
Attr Value[18] = 1.900000e+01
Attr Value[19] = 2.000000e+01
Attr Value[20] = 2.100000e+01
Attr Value[21] = 2.200000e+01
Attr Value[22] = 2.300000e+01
Attr Value[23] = 2.400000e+01
Attr Value[24] = 2.500000e+01
Attr Value[25] = 2.600000e+01
Attr Value[26] = 2.700000e+01
Attr Value[27] = 2.800000e+01
Attr Value[28] = 2.900000e+01
Attr Value[29] = 3.000000e+01
Attr Value[30] = 3.100000e+01
Attr Value[31] = 3.200000e+01
Attr Value[32] = 3.300000e+01
Attr Value[33] = 3.400000e+01
Attr Value[34] = 3.500000e+01
Attr Value[35] = 3.600000e+01
Attr Value[36] = 3.700000e+01
Attr Value[37] = 3.800000e+01
Attr Value[38] = 3.900000e+01
Attr Value[39] = 4.000000e+01
Attr Value[40] = 4.100000e+01
Attr Value[41] = 4.200000e+01
Attr Value[42] = 4.300000e+01
Attr Value[43] = 4.400000e+01
Attr Value[44] = 4.500000e+01
Attr Value[45] = 4.600000e+01
Attr Value[46] = 4.700000e+01
Attr Value[47] = 4.800000e+01
Attr Value[48] = 4.900000e+01
Attr Value[49] = 5.000000e+01
Attr Value[50] = 5.100000e+01
Attr Value[51] = 5.200000e+01
Attr Value[52] = 5.300000e+01
Attr Value[53] = 5.400000e+01
Attr Value[54] = 5.500000e+01
Attr Value[55] = 5.600000e+01
Attr Value[56] = 5.700000e+01
Attr Value[57] = 5.800000e+01
Attr Value[58] = 5.900000e+01
Attr Value[59] = 6.000000e+01
Attr Value[60] = 6.100000e+01
Attr Value[61] = 6.200000e+01
Attr Value[62] = 6.300000e+01
Attr Value[63] = 6.400000e+01
Attr Value[64] = 6.500000e+01
Attr Value[65] = 6.600000e+01
Attr Value[66] = 6.700000e+01
Attr Value[67] = 6.800000e+01
Attr Value[68] = 6.900000e+01
Attr Value[69] = 7.000000e+01
Attr Value[70] = 7.100000e+01
Attr Value[71] = 7.200000e+01
Attr Value[72] = 7.300000e+01
Attr Value[73] = 7.400000e+01
Attr Value[74] = 7.500000e+01
Attr Value[75] = 7.600000e+01
Attr Value[76] = 7.700000e+01
Attr Value[77] = 7.800000e+01
Attr Value[78] = 7.900000e+01
Attr Value[79] = 8.000000e+01
Attr Value[80] = 8.100000e+01
Attr Value[81] = 8.200000e+01
Attr Value[82] = 8.300000e+01
Attr Value[83] = 8.400000e+01
Attr Value[84] = 8.500000e+01
Attr Value[85] = 8.600000e+01
Attr Value[86] = 8.700000e+01
Attr Value[87] = 8.800000e+01
Attr Value[88] = 8.900000e+01
Attr Value[89] = 9.000000e+01
Attr Value[90] = 9.100000e+01
Attr Value[91] = 9.200000e+01
Attr Value[92] = 9.300000e+01
Attr Value[93] = 9.400000e+01
Attr Value[94] = 9.500000e+01
Attr Value[95] = 9.600000e+01
Attr Value[96] = 9.700000e+01
Attr Value[97] = 9.800000e+01
Attr Value[98] = 9.900000e+01
Attr Value[99] = 1.000000e+02
EndBody
EndObject
Object A2 AArray100 89 03-SEP-2020 13:36:12.65
Body RtBody 03-SEP-2020 13:36:12.65
EndBody
EndObject
Object P1 BaseFcPPO3PumpAggr 90 03-SEP-2020 13:36:12.65
Body RtBody 03-SEP-2020 13:36:12.65
Attr Super.AlarmToOften.MoreText = ""
Attr Super.AlarmToOften.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1"
Attr Super.AlarmPowOnNotOk.MoreText = ""
Attr Super.AlarmPowOnNotOk.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1"
Attr Super.AlarmStartNotOk.MoreText = ""
Attr Super.AlarmStartNotOk.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1"
Attr Super.CircuitBreaker.Alarm.MoreText = ""
Attr Super.CircuitBreaker.Alarm.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.CircuitBreaker"
Attr Super.Contactor.Alarm.MoreText = ""
Attr Super.Contactor.Alarm.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.Contactor"
Attr Super.FrequencyConverter.StatusWordSW.SigChanCon = "_A254.254.254.249:4261414440(_T0.10:0.197.1)[0.160]"
Attr Super.FrequencyConverter.ActSpeed.SigChanCon = "_A254.254.254.249:4261414440(_T0.10:0.197.1)[160.240]"
Attr Super.FrequencyConverter.ControlWordCW.SigChanCon = "_A254.254.254.249:4261414440(_T0.10:0.197.1)[400.168]"
Attr Super.FrequencyConverter.RefSpeed.SigChanCon = "_A254.254.254.249:4261414440(_T0.10:0.197.1)[568.240]"
Attr Super.FrequencyConverter.AlarmLocalMod.MoreText = ""
Attr Super.FrequencyConverter.AlarmLocalMod.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.FrequencyConverter"
Attr Super.FrequencyConverter.AlarmTripped.MoreText = ""
Attr Super.FrequencyConverter.AlarmTripped.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.FrequencyConverter"
Attr Super.FrequencyConverter.AlarmWarning.MoreText = ""
Attr Super.FrequencyConverter.AlarmWarning.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.FrequencyConverter"
Attr Super.FrequencyConverter.AlarmError.MoreText = ""
Attr Super.FrequencyConverter.AlarmError.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.FrequencyConverter"
Attr Super.FrequencyConverter.AlarmConnection.MoreText = ""
Attr Super.FrequencyConverter.AlarmConnection.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.FrequencyConverter"
Attr Super.FrequencyConverter.DefTrend = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.FrequencyConverter.PlotGroup"
Attr Super.FrequencyConverter.TrendActSpeed.DataName = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.FrequencyConverter.ActSpeed.ActualValue"
Attr Super.FrequencyConverter.TrendRefSpeed.DataName = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.FrequencyConverter.RefSpeed.ActualValue"
Attr Super.FrequencyConverter.PlotGroup.YObjectName[0] = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.FrequencyConverter.TrendActSpeed"
Attr Super.FrequencyConverter.PlotGroup.YObjectName[1] = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.FrequencyConverter.TrendRefSpeed"
Attr Super.SafetySwitch.Alarm.MoreText = ""
Attr Super.SafetySwitch.Alarm.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.SafetySwitch"
Attr Super.Motor.TempSwitch.Super.Alarm.MoreText = ""
Attr Super.Motor.TempSwitch.Super.Alarm.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.Motor.TempSwitch"
Attr Super.Motor.TempSensor.Super.LimitHH.Alarm.MoreText = ""
Attr Super.Motor.TempSensor.Super.LimitHH.Alarm.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.Motor.TempSensor"
Attr Super.Motor.TempSensor.Super.LimitH.Alarm.MoreText = ""
Attr Super.Motor.TempSensor.Super.LimitH.Alarm.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.Motor.TempSensor"
Attr Super.Motor.TempSensor.Super.LimitL.Alarm.MoreText = ""
Attr Super.Motor.TempSensor.Super.LimitL.Alarm.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.Motor.TempSensor"
Attr Super.Motor.TempSensor.Super.LimitLL.Alarm.MoreText = ""
Attr Super.Motor.TempSensor.Super.LimitLL.Alarm.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.Motor.TempSensor"
Attr Super.Motor.TempSensor.Super.Trend.DataName = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.Motor.TempSensor.Super.Value.ActualValue"
Attr Super.Motor.TempSensor.Super.DefTrend = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.Motor.TempSensor.Super.Trend"
Attr Super.Mode.AlarmNotReadyM.MoreText = ""
Attr Super.Mode.AlarmNotReadyM.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1"
Attr Super.Mode.AlarmNotReadyA.MoreText = ""
Attr Super.Mode.AlarmNotReadyA.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1"
Attr Super.Mode.Alarm1LocalMod.MoreText = ""
Attr Super.Mode.Alarm1LocalMod.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1"
Attr Super.Mode.Alarm2LocalMod.MoreText = ""
Attr Super.Mode.Alarm2LocalMod.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1"
Attr Super.Mode.AlarmNotManOrd.MoreText = ""
Attr Super.Mode.AlarmNotManOrd.Attribute = "VolPwrTest01b:Test01b-RootObject-Child1-P1"
Attr Super.DefTrend = "VolPwrTest01b:Test01b-RootObject-Child1-P1.Super.FrequencyConverter.PlotGroup"
EndBody
EndObject
EndObject
Object Child2 $PlantHier 91 03-SEP-2020 13:36:12.65
Body SysBody 03-SEP-2020 13:36:12.65
EndBody
EndObject
Object Child3 $PlantHier 92 03-SEP-2020 13:36:12.65
Body SysBody 03-SEP-2020 13:36:12.65
EndBody
EndObject
Object Child4 $PlantHier 93 03-SEP-2020 13:36:12.65
Body SysBody 03-SEP-2020 13:36:12.65
EndBody
EndObject
Object ChildLess $PlantHier 94 03-SEP-2020 13:36:12.65
Body SysBody 03-SEP-2020 13:36:12.65
EndBody
EndObject
EndObject
Object Neth $PlantHier 69 03-SEP-2020 13:36:12.65
Body SysBody 03-SEP-2020 13:20:48.96
Attr Description = "Test of Neth"
EndBody
Object P1 BaseFcPPO3PumpAggr 70 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.74
Attr Super.GraphConfiguration = 8
Attr Super.AlarmToOften.MoreText = ""
Attr Super.AlarmToOften.Attribute = "VolPwrTest01b:Test01b-Neth-P1"
Attr Super.AlarmPowOnNotOk.MoreText = ""
Attr Super.AlarmPowOnNotOk.Attribute = "VolPwrTest01b:Test01b-Neth-P1"
Attr Super.AlarmStartNotOk.MoreText = ""
Attr Super.AlarmStartNotOk.Attribute = "VolPwrTest01b:Test01b-Neth-P1"
Attr Super.DisableCircuitBreaker = 1
Attr Super.CircuitBreaker.DisableNotTripped = 1
Attr Super.CircuitBreaker.Alarm.MoreText = ""
Attr Super.CircuitBreaker.Alarm.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.CircuitBreaker"
Attr Super.Contactor.DisableOffControl = 0
Attr Super.Contactor.Alarm.MoreText = ""
Attr Super.Contactor.Alarm.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.Contactor"
Attr Super.FrequencyConverter.StatusWordSW.SigChanCon = "_A254.254.254.249:4261414440(_T0.10:0.197.1)[0.160]"
Attr Super.FrequencyConverter.ActSpeed.SigChanCon = "_A254.254.254.249:4261414440(_T0.10:0.197.1)[160.240]"
Attr Super.FrequencyConverter.ControlWordCW.SigChanCon = "_A254.254.254.249:4261414440(_T0.10:0.197.1)[400.168]"
Attr Super.FrequencyConverter.RefSpeed.SigChanCon = "_A254.254.254.249:4261414440(_T0.10:0.197.1)[568.240]"
Attr Super.FrequencyConverter.AlarmLocalMod.MoreText = ""
Attr Super.FrequencyConverter.AlarmLocalMod.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.FrequencyConverter"
Attr Super.FrequencyConverter.AlarmTripped.MoreText = ""
Attr Super.FrequencyConverter.AlarmTripped.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.FrequencyConverter"
Attr Super.FrequencyConverter.AlarmWarning.MoreText = ""
Attr Super.FrequencyConverter.AlarmWarning.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.FrequencyConverter"
Attr Super.FrequencyConverter.AlarmError.MoreText = ""
Attr Super.FrequencyConverter.AlarmError.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.FrequencyConverter"
Attr Super.FrequencyConverter.AlarmConnection.MoreText = ""
Attr Super.FrequencyConverter.AlarmConnection.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.FrequencyConverter"
Attr Super.FrequencyConverter.DefTrend = "VolPwrTest01b:Test01b-Neth-P1.Super.FrequencyConverter.PlotGroup"
Attr Super.FrequencyConverter.TrendActSpeed.DataName = "VolPwrTest01b:Test01b-Neth-P1.Super.FrequencyConverter.ActSpeed.ActualValue"
Attr Super.FrequencyConverter.TrendRefSpeed.DataName = "VolPwrTest01b:Test01b-Neth-P1.Super.FrequencyConverter.RefSpeed.ActualValue"
Attr Super.FrequencyConverter.PlotGroup.YObjectName[0] = "VolPwrTest01b:Test01b-Neth-P1.Super.FrequencyConverter.TrendActSpeed"
Attr Super.FrequencyConverter.PlotGroup.YObjectName[1] = "VolPwrTest01b:Test01b-Neth-P1.Super.FrequencyConverter.TrendRefSpeed"
Attr Super.DisableSafetySwitch = 1
Attr Super.SafetySwitch.DisableOn = 1
Attr Super.SafetySwitch.Alarm.MoreText = ""
Attr Super.SafetySwitch.Alarm.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.SafetySwitch"
Attr Super.Motor.TempSwitch.Super.Alarm.MoreText = ""
Attr Super.Motor.TempSwitch.Super.Alarm.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.Motor.TempSwitch"
Attr Super.Motor.TempSensor.Super.LimitHH.Alarm.MoreText = ""
Attr Super.Motor.TempSensor.Super.LimitHH.Alarm.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.Motor.TempSensor"
Attr Super.Motor.TempSensor.Super.LimitH.Alarm.MoreText = ""
Attr Super.Motor.TempSensor.Super.LimitH.Alarm.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.Motor.TempSensor"
Attr Super.Motor.TempSensor.Super.LimitL.Alarm.MoreText = ""
Attr Super.Motor.TempSensor.Super.LimitL.Alarm.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.Motor.TempSensor"
Attr Super.Motor.TempSensor.Super.LimitLL.Alarm.MoreText = ""
Attr Super.Motor.TempSensor.Super.LimitLL.Alarm.Attribute = "VolPwrTest01b:Test01b-Neth-P1.Super.Motor.TempSensor"
Attr Super.Motor.TempSensor.Super.Trend.DataName = "VolPwrTest01b:Test01b-Neth-P1.Super.Motor.TempSensor.Super.Value.ActualValue"
Attr Super.Motor.TempSensor.Super.DefTrend = "VolPwrTest01b:Test01b-Neth-P1.Super.Motor.TempSensor.Super.Trend"
Attr Super.Mode.AlarmNotReadyM.MoreText = ""
Attr Super.Mode.AlarmNotReadyM.Attribute = "VolPwrTest01b:Test01b-Neth-P1"
Attr Super.Mode.AlarmNotReadyA.MoreText = ""
Attr Super.Mode.AlarmNotReadyA.Attribute = "VolPwrTest01b:Test01b-Neth-P1"
Attr Super.Mode.Alarm1LocalMod.MoreText = ""
Attr Super.Mode.Alarm1LocalMod.Attribute = "VolPwrTest01b:Test01b-Neth-P1"
Attr Super.Mode.Alarm2LocalMod.MoreText = ""
Attr Super.Mode.Alarm2LocalMod.Attribute = "VolPwrTest01b:Test01b-Neth-P1"
Attr Super.Mode.AlarmNotManOrd.MoreText = ""
Attr Super.Mode.AlarmNotManOrd.Attribute = "VolPwrTest01b:Test01b-Neth-P1"
Attr Super.DefTrend = "VolPwrTest01b:Test01b-Neth-P1.Super.FrequencyConverter.PlotGroup"
EndBody
EndObject
Object A1 AArray100 71 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
Attr Value[1] = 1.000000e+00
Attr Value[2] = 2.000000e+00
Attr Value[3] = 3.000000e+00
Attr Value[4] = 4.000000e+00
Attr Value[5] = 5.000000e+00
Attr Value[6] = 6.000000e+00
Attr Value[7] = 7.000000e+00
Attr Value[8] = 8.000000e+00
Attr Value[9] = 9.000000e+00
Attr Value[10] = 1.000000e+01
Attr Value[11] = 1.100000e+01
Attr Value[12] = 1.200000e+01
Attr Value[13] = 1.300000e+01
Attr Value[14] = 1.400000e+01
Attr Value[15] = 1.500000e+01
Attr Value[16] = 1.600000e+01
Attr Value[17] = 1.700000e+01
Attr Value[18] = 1.800000e+01
Attr Value[19] = 1.900000e+01
Attr Value[20] = 2.000000e+01
Attr Value[21] = 2.100000e+01
Attr Value[22] = 2.200000e+01
Attr Value[23] = 2.300000e+01
Attr Value[24] = 2.400000e+01
Attr Value[25] = 2.500000e+01
Attr Value[26] = 2.600000e+01
Attr Value[27] = 2.700000e+01
Attr Value[28] = 2.800000e+01
Attr Value[29] = 2.900000e+01
Attr Value[30] = 3.000000e+01
Attr Value[31] = 3.100000e+01
Attr Value[32] = 3.200000e+01
Attr Value[33] = 3.300000e+01
Attr Value[34] = 3.400000e+01
Attr Value[35] = 3.500000e+01
Attr Value[36] = 3.600000e+01
Attr Value[37] = 3.700000e+01
Attr Value[38] = 3.800000e+01
Attr Value[39] = 3.900000e+01
Attr Value[40] = 4.000000e+01
Attr Value[41] = 4.100000e+01
Attr Value[42] = 4.200000e+01
Attr Value[43] = 4.300000e+01
Attr Value[44] = 4.400000e+01
Attr Value[45] = 4.500000e+01
Attr Value[46] = 4.600000e+01
Attr Value[47] = 4.700000e+01
Attr Value[48] = 4.800000e+01
Attr Value[49] = 4.900000e+01
Attr Value[50] = 5.000000e+01
Attr Value[51] = 5.100000e+01
Attr Value[52] = 5.200000e+01
Attr Value[53] = 5.300000e+01
Attr Value[54] = 5.400000e+01
Attr Value[55] = 5.500000e+01
Attr Value[56] = 5.600000e+01
Attr Value[57] = 5.700000e+01
Attr Value[58] = 5.800000e+01
Attr Value[59] = 5.900000e+01
Attr Value[60] = 6.000000e+01
Attr Value[61] = 6.100000e+01
Attr Value[62] = 6.200000e+01
Attr Value[63] = 6.300000e+01
Attr Value[64] = 6.400000e+01
Attr Value[65] = 6.500000e+01
Attr Value[66] = 6.600000e+01
Attr Value[67] = 6.700000e+01
Attr Value[68] = 6.800000e+01
Attr Value[69] = 6.900000e+01
Attr Value[70] = 7.000000e+01
Attr Value[71] = 7.100000e+01
Attr Value[72] = 7.200000e+01
Attr Value[73] = 7.300000e+01
Attr Value[74] = 7.400000e+01
Attr Value[75] = 7.500000e+01
Attr Value[76] = 7.600000e+01
Attr Value[77] = 7.700000e+01
Attr Value[78] = 7.800000e+01
Attr Value[79] = 7.900000e+01
Attr Value[80] = 8.000000e+01
Attr Value[81] = 8.100000e+01
Attr Value[82] = 8.200000e+01
Attr Value[83] = 8.300000e+01
Attr Value[84] = 8.400000e+01
Attr Value[85] = 8.500000e+01
Attr Value[86] = 8.600000e+01
Attr Value[87] = 8.700000e+01
Attr Value[88] = 8.800000e+01
Attr Value[89] = 8.900000e+01
Attr Value[90] = 9.000000e+01
Attr Value[91] = 9.100000e+01
Attr Value[92] = 9.200000e+01
Attr Value[93] = 9.300000e+01
Attr Value[94] = 9.400000e+01
Attr Value[95] = 9.500000e+01
Attr Value[96] = 9.600000e+01
Attr Value[97] = 9.700000e+01
Attr Value[98] = 9.800000e+01
Attr Value[99] = 9.900000e+01
EndBody
EndObject
Object A2 AArray100 72 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
EndBody
EndObject
Object Av1 Av 75 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
Attr Description = "Av with value 222"
Attr InitialValue = 2.220000e+02
EndBody
EndObject
Object Dv1 Dv 76 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
Attr Description = "Dv with value true"
Attr InitialValue = 1
EndBody
EndObject
Object LongName90123456789012345678901 Dv 77 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
Attr InitialValue = 1
EndBody
EndObject
Object Dv 78 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
Attr InitialValue = 1
EndBody
EndObject
Object ATv1 ATv 79 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
Attr InitialValue = "21-MAY-2020 08:24:00.00"
EndBody
EndObject
Object ATv2 ATv 80 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
EndBody
EndObject
Object DTv1 DTv 81 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
Attr InitialValue = "12:12:12.12"
EndBody
EndObject
Object DTv2 DTv 82 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
EndBody
EndObject
Object Sv1 Sv 83 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
Attr InitialValue = "This is a test string"
EndBody
EndObject
Object Sv2 Sv 84 03-SEP-2020 13:20:32.73
Body RtBody 03-SEP-2020 13:20:32.73
EndBody
EndObject
EndObject
EndObject
Object Test01b $PlantHier 42 25-MAR-2020 09:48:58.58
Body SysBody 25-MAR-2020 09:48:58.58
EndBody
Object H1 $PlantHier 44 25-MAR-2020 09:49:36.04
Body SysBody 25-MAR-2020 09:49:36.04
Object H1 $PlantHier 44 03-SEP-2020 13:20:32.73
Body SysBody 03-SEP-2020 10:26:57.74
EndBody
Object Plc PlcPgm 45 25-MAR-2020 09:49:48.33
Body RtBody 25-MAR-2020 09:49:48.33
Body RtBody 03-SEP-2020 10:26:57.74
Attr ThreadObject = "VolPwrTest01b:Nodes-PwrTest01b-Plc-100ms"
EndBody
Body DevBody 25-MAR-2020 09:51:05.50
Body DevBody 03-SEP-2020 10:26:57.74
Buffer PlcProgram
Attr oid = "VolPwrTest01b:Test01b-H1-Plc"
Attr cid = "pwrb:Class-PlcPgm"
......@@ -133,11 +548,12 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBuffer
EndBody
Object W WindowPlc 50 25-MAR-2020 09:50:17.77
Body RtBody 25-MAR-2020 09:51:05.51
Body RtBody 03-SEP-2020 10:26:57.74
Attr Version = 1585126265
EndBody
Body DevBody 25-MAR-2020 09:51:05.51
Body DevBody 03-SEP-2020 10:27:05.17
Attr Modified = "25-MAR-2020 09:51:05.51"
Attr Compiled = "03-SEP-2020 10:27:05.17"
Buffer PlcWindow
Attr oid = "VolPwrTest01b:Test01b-H1-Plc-W"
Attr cid = "pwrb:Class-WindowPlc"
......@@ -148,7 +564,7 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBuffer
EndBody
Object cn7 ConDigital 68 25-MAR-2020 09:51:03.66
Body DevBody 25-MAR-2020 09:51:05.51
Body DevBody 03-SEP-2020 10:26:57.74
Buffer PlcConnection
Attr oid = "VolPwrTest01b:Test01b-H1-Plc-W-cn7"
Attr object_type = 23
......@@ -187,7 +603,7 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBody
EndObject
Object cn6 ConDigital 66 25-MAR-2020 09:50:59.69
Body DevBody 25-MAR-2020 09:51:05.51
Body DevBody 03-SEP-2020 10:26:57.74
Buffer PlcConnection
Attr oid = "VolPwrTest01b:Test01b-H1-Plc-W-cn6"
Attr object_type = 23
......@@ -226,7 +642,7 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBody
EndObject
Object cn5 ConDigital 64 25-MAR-2020 09:50:56.81
Body DevBody 25-MAR-2020 09:51:05.51
Body DevBody 03-SEP-2020 10:26:57.74
Buffer PlcConnection
Attr oid = "VolPwrTest01b:Test01b-H1-Plc-W-cn5"
Attr object_type = 23
......@@ -265,7 +681,7 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBody
EndObject
Object cn4 ConDigital 62 25-MAR-2020 09:50:53.66
Body DevBody 25-MAR-2020 09:51:05.51
Body DevBody 03-SEP-2020 10:26:57.74
Buffer PlcConnection
Attr oid = "VolPwrTest01b:Test01b-H1-Plc-W-cn4"
Attr object_type = 23
......@@ -303,7 +719,7 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBody
EndObject
Object Document0 Document 51 25-MAR-2020 09:50:17.79
Body DevBody 25-MAR-2020 09:51:05.51
Body DevBody 03-SEP-2020 10:26:57.74
Buffer PlcNode
Attr object_type = 2
Attr cid = "pwrb:Class-Document"
......@@ -318,9 +734,9 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBody
EndObject
Object And0 And 52 25-MAR-2020 09:50:25.98
Body RtBody 25-MAR-2020 09:50:25.98
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
Body DevBody 25-MAR-2020 09:51:05.51
Body DevBody 03-SEP-2020 10:26:57.74
Buffer PlcNode
Attr object_type = 90
Attr cid = "pwrb:Class-And"
......@@ -337,9 +753,9 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBody
EndObject
Object GetDv0 GetDv 61 25-MAR-2020 09:50:53.66
Body RtBody 25-MAR-2020 09:50:53.66
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
Body DevBody 25-MAR-2020 09:51:05.51
Body DevBody 03-SEP-2020 10:26:57.74
Attr DvObject = "VolPwrTest01b:Test01b-H1-Dv1"
Buffer PlcNode
Attr object_type = 62
......@@ -355,9 +771,9 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBody
EndObject
Object GetDv1 GetDv 63 25-MAR-2020 09:50:56.80
Body RtBody 25-MAR-2020 09:50:56.80
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
Body DevBody 25-MAR-2020 09:51:05.51
Body DevBody 03-SEP-2020 10:26:57.74
Attr DvObject = "VolPwrTest01b:Test01b-H1-Dv2"
Buffer PlcNode
Attr object_type = 62
......@@ -373,9 +789,9 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBody
EndObject
Object GetDv2 GetDv 65 25-MAR-2020 09:50:59.68
Body RtBody 25-MAR-2020 09:50:59.68
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
Body DevBody 25-MAR-2020 09:51:05.51
Body DevBody 03-SEP-2020 10:26:57.74
Attr DvObject = "VolPwrTest01b:Test01b-H1-Dv3"
Buffer PlcNode
Attr object_type = 62
......@@ -391,9 +807,9 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndBody
EndObject
Object StoDv0 StoDv 67 25-MAR-2020 09:51:03.66
Body RtBody 25-MAR-2020 09:51:03.66
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
Body DevBody 25-MAR-2020 09:51:05.51
Body DevBody 03-SEP-2020 10:26:57.74
Attr DvObject = "VolPwrTest01b:Test01b-H1-Dv4"
Buffer PlcNode
Attr object_type = 71
......@@ -411,25 +827,25 @@ Volume VolPwrTest01b $RootVolume 0.254.254.202
EndObject
EndObject
Object Dv1 Dv 46 25-MAR-2020 09:50:01.65
Body RtBody 25-MAR-2020 09:50:01.65
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
Object Dv2 Dv 47 25-MAR-2020 09:50:07.97
Body RtBody 25-MAR-2020 09:50:07.97
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
Object Dv3 Dv 48 25-MAR-2020 09:50:08.61
Body RtBody 25-MAR-2020 09:50:08.61
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
Object Dv4 Dv 49 25-MAR-2020 09:50:09.22
Body RtBody 25-MAR-2020 09:50:09.22
Body RtBody 03-SEP-2020 10:26:57.74
EndBody
EndObject
EndObject
EndObject
Object Test01a $MountObject 43 25-MAR-2020 09:49:13.51
Body SysBody 25-MAR-2020 09:54:13.94
Body SysBody 03-SEP-2020 10:26:57.74
Attr Object = "_O0.254.254.201:66"
EndBody
EndObject
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment