Commit 7be41817 authored by claes's avatar claes

oo first step

parent d89ea9a4
......@@ -369,19 +369,31 @@ typedef union {
#if (pwr_dHost_byteOrder == pwr_dLittleEndian)
pwr_tBit Indirect : 1;
pwr_tBit Object : 1;
pwr_tBit ObjectAttr: 1;
pwr_tBit Array : 1;
pwr_tBit Shadowed : 1;
pwr_tBit fill : 31;
pwr_tBit fill : 27;
#elif (pwr_dHost_byteOrder == pwr_dBigEndian)
pwr_tBit fill : 31;
pwr_tBit fill : 27;
pwr_tBit Shadowed : 1;
pwr_tBit Array : 1;
pwr_tBit ObjectAttr: 1;
pwr_tBit Object : 1;
pwr_tBit Indirect : 1;
#endif
} b;
#define pwr_mAttrRef_Indirect pwr_Bit(0)
#define pwr_mAttrRef_Object pwr_Bit(1)
#define pwr_mAttrRef_ObjectAttr pwr_Bit(2)
#define pwr_mAttrRef_Array pwr_Bit(3)
#define pwr_mAttrRef_Shadowed pwr_Bit(4)
} pwr_mAttrRef;
......
......@@ -766,20 +766,20 @@ struct pwr_s_Point
struct pwr_s_PlcProgram
{
pwr_tObjid objdid;
pwr_tObjid oid;
pwr_tUInt32 object_type;
pwr_tClassId classid;
pwr_tClassId cid;
pwr_tUInt32 defnamecount[PWR_OBJTYPES_MAX];
pwr_tObjid reset_objdid;
pwr_tUInt32 connamecount;
pwr_tObjid window_did;
pwr_tObjid woid;
};
struct pwr_s_PlcWindow
{
pwr_tObjid objdid;
pwr_tObjid oid;
pwr_tUInt32 object_type;
pwr_tClassId classid;
pwr_tClassId cid;
pwr_tFloat32 x;
pwr_tFloat32 y;
pwr_tFloat32 width;
......@@ -787,7 +787,7 @@ struct pwr_s_PlcWindow
pwr_tFloat32 zoom;
pwr_tInt32 x_root;
pwr_tInt32 y_root;
pwr_tObjid parent_node_did;
pwr_tObjid poid;
pwr_tUInt32 compobjcount;
pwr_tUInt32 refconcount;
pwr_tUInt32 subwindowindex;
......@@ -796,14 +796,14 @@ struct pwr_s_PlcWindow
struct pwr_s_PlcNode
{
pwr_tUInt32 object_type;
pwr_tClassId classid;
pwr_tObjid object_did;
pwr_tClassId cid;
pwr_tObjid oid;
pwr_tFloat32 x;
pwr_tFloat32 y;
pwr_tFloat32 width;
pwr_tFloat32 height;
pwr_tObjid window_did;
pwr_tObjid subwind_objdid[2];
pwr_tObjid woid;
pwr_tObjid subwind_oid[2];
pwr_tUInt32 subwindow;
pwr_tUInt32 graphtype;
pwr_tUInt32 mask[3];
......@@ -813,20 +813,20 @@ struct pwr_s_PlcNode
struct pwr_s_PlcConnection
{
pwr_tObjid objdid;
pwr_tObjid oid;
pwr_tUInt32 object_type;
pwr_tClassId classid;
pwr_tClassId cid;
pwr_tUInt32 curvature;
pwr_tUInt32 drawtype;
pwr_tUInt32 attributes;
pwr_tUInt32 refnr;
pwr_tUInt32 source_point;
pwr_tObjid source_node_did;
pwr_tObjid source_oid;
pwr_tUInt32 dest_point;
pwr_tObjid dest_node_did;
pwr_tObjid dest_oid;
pwr_tUInt32 point_count;
pwr_sPoint point[PWR_BREAKPOINTS_MAX];
pwr_tObjid window_did;
pwr_tObjid woid;
};
struct pwr_s_GraphPlcProgram
......
......@@ -45,22 +45,22 @@
# define SET_VERSION(a, b, c, d) ((pwr_tVersion)((a << 24) + (a << 16) + (a << 8) + a))
#endif
#define pwrv_cBuildTimeStr "24 Nov 2003"
#define pwrv_cBuildTimeStr "14 Oct 2004"
#define pwrv_cPwrVersionStr "V4.0.0"
#define pwrv_cPwrVersion SET_VERSION('V', 4, 0, 0)
#define pwrv_cPwrVersionStr "V4.1.0"
#define pwrv_cPwrVersion SET_VERSION('V', 4, 1, 0)
#define pwrv_cSmdVersion SET_VERSION('V', 4, 0, 0)
#define pwrv_cSmdVersionStr "V3.9.0"
#define pwrv_cSmdVersion SET_VERSION('V', 4, 1, 0)
#define pwrv_cSmdVersionStr "V4.1.0"
#define pwrv_cBmdVersion SET_VERSION('V', 4, 0, 0)
#define pwrv_cBmdVersionStr "V4.0.0"
#define pwrv_cBmdVersion SET_VERSION('V', 4, 1, 0)
#define pwrv_cBmdVersionStr "V4.1.0"
#define pwrv_cWbdbVersion SET_VERSION('V', 4, 0, 0)
#define pwrv_cWbdbVersionStr "V4.0.0"
#define pwrv_cWbdbVersionShortStr "V40"
#define pwrv_cWbdbVersion SET_VERSION('V', 4, 1, 0)
#define pwrv_cWbdbVersionStr "V4.1.0"
#define pwrv_cWbdbVersionShortStr "V41"
#define pwrv_cLffVersion SET_VERSION('V', 4, 0, 0)
#define pwrv_cLffVersionStr "V4.0.0"
#define pwrv_cLffVersion SET_VERSION('V', 4, 1, 0)
#define pwrv_cLffVersionStr "V4.1.0"
#endif
......@@ -437,6 +437,20 @@ cdh_TypeIdToObjid (
return oid.pwr;
}
//! Converts an objid to an attrref.
pwr_sAttrRef
cdh_ObjidToAref (
pwr_tObjid Objid
)
{
pwr_sAttrRef a = pwr_cNAttrRef;
a.Objid = Objid;
a.Flags.b.Object = 1;
return a;
}
//! Converts an attribute given in internal binary format to a text string.
......@@ -2391,6 +2405,36 @@ cdh_NoCaseStrcmp (
return ((*s) & ~(1<<5)) - ((*t) & ~(1<<5));
}
//! Compare the n (at most) first charachters of two strings not regarding their casing.
/*!
This routine works only on alphabetic characters.
It works on the standard ascii a-z and on the
DEC multinational extensions.
The function exploits the fact that only bit 5 changes
when you change the case of a character.
The function returns the uppercase offset between
the two first differing characters.
*/
int
cdh_NoCaseStrncmp (
const char *s,
const char *t,
size_t n
)
{
int i;
for (i = 0; i < n && *s && *t && !(((*s) ^ (*t)) & ~(1<<5)); i++)
s++, t++;
if ( n == i)
return 0;
return ((*s) & ~(1<<5)) - ((*t) & ~(1<<5));
}
//! Convert operating system to string
/*!
For example pwr_mOpSys_X86_LINUX will be converted to "x86_linux".
......@@ -2417,6 +2461,12 @@ char *cdh_OpSysToStr( pwr_mOpSys opsys)
return str;
}
int cdh_IsClassVolume( pwr_tVid vid)
{
return ( ( cdh_cSystemClassVolMin <= vid && vid <= cdh_cSystemClassVolMax) ||
( cdh_cUserClassVolMin <= vid && vid <= cdh_cUserClassVolMax));
}
/*@}*/
......
......@@ -70,6 +70,8 @@ typedef enum {
#define cdh_oixToCix( Oix) ((Oix >> 18) & 0xfff)
//! Get attribute index for object index.
#define cdh_oixToAix( Oix) (Oix & 0xfff)
//! Check if type id is a class id
#define cdh_tidIsCid( Tid) ((Tid & (1 << 15)) == 0)
//! Smallest value of volume identity for user volumes
#define cdh_cUserVolMin (0 + ((pwr_tVolumeId)0 << 24) + (1 << 16) + (1 << 8) + 1)
......@@ -79,6 +81,10 @@ typedef enum {
#define cdh_cUserClassVolMin (0 + ((pwr_tVolumeId)0 << 24) + (0 << 16) + (2 << 8) + 1)
//! Largest value of volume identity for user classvolumes
#define cdh_cUserClassVolMax (0 + ((pwr_tVolumeId)0 << 24) + (2 << 16) + (254 << 8) + 254)
//! Smallest value of volume identity for system classvolumes
#define cdh_cSystemClassVolMin (0 + ((pwr_tVolumeId)0 << 24) + (0 << 16) + (0 << 8) + 1)
//! Largest value of volume identity for system classvolumes
#define cdh_cSystemClassVolMax (0 + ((pwr_tVolumeId)0 << 24) + (1 << 16) + (254 << 8) + 254)
//! Internal representatin of object identity.
typedef struct {
......@@ -494,7 +500,9 @@ typedef union {
pwr_tBit form : 8;
pwr_tBit fill : 5;
pwr_tBit fill : 3;
pwr_tBit trueAttr : 1;
pwr_tBit ref : 1;
pwr_tBit parent : 1;
pwr_tBit idString : 1;
pwr_tBit separator : 1;
......@@ -522,7 +530,9 @@ typedef union {
pwr_tBit separator : 1;
pwr_tBit idString : 1;
pwr_tBit parent : 1;
pwr_tBit fill : 5;
pwr_tBit ref : 1;
pwr_tBit trueAttr : 1;
pwr_tBit fill : 3;
pwr_tBit form : 8;
......@@ -560,6 +570,8 @@ typedef union {
#define cdh_mName_separator pwr_Bit(8)
#define cdh_mName_idString pwr_Bit(9)
#define cdh_mName_parent pwr_Bit(10)
#define cdh_mName_ref pwr_Bit(11)
#define cdh_mName_trueAttr pwr_Bit(12)
#define cdh_mName_ (~cdh_mName__)
#define cdh_mName_eForm_std 1
......@@ -729,6 +741,10 @@ cdh_DlidIsNotNull (
pwr_tDlid DirectLink
);
int cdh_IsClassVolume(
pwr_tVid vid
);
pwr_tCid
cdh_ClassObjidToId (
pwr_tOid Object
......@@ -754,6 +770,11 @@ cdh_TypeIdToObjid (
pwr_tTid Type
);
pwr_sAttrRef
cdh_ObjidToAref (
pwr_tObjid Objid
);
pwr_tStatus
cdh_AttrValueToString (
pwr_eType Type,
......@@ -922,6 +943,13 @@ cdh_NoCaseStrcmp (
const char *t
);
int
cdh_NoCaseStrncmp (
const char *s,
const char *t,
size_t n
);
char *cdh_OpSysToStr( pwr_mOpSys opsys);
/*@}*/
......
......@@ -5,6 +5,9 @@
# include "pwr.h"
#endif
#if defined __cplusplus
extern "C" {
#endif
char *
msg_GetMsg (
......@@ -28,4 +31,15 @@ msg_GetMessage (
int bufSize
);
#if defined __cplusplus
}
#endif
#endif
......@@ -2920,6 +2920,169 @@ gdh_GetVolumeInfo(
return rsts;
}
pwr_tStatus
gdh_GetObjectBodyDef(
pwr_tCid cid,
gdh_sAttrDef **bodydef,
int *rows
)
{
gdb_sClass *cp;
gdb_sObject *bop;
gdb_sObject *aop;
pwr_sParam *adef;
pwr_sObjBodyDef *bdef;
int acnt = 0;
gdh_sAttrDef *bd;
pwr_tStatus sts;
pwr_tStatus rsts = GDH__SUCCESS;
pwr_tOid noid;
gdb_sObject *a_super[20];
int scnt = 0;
int i, j;
gdh_ScopeLock {
cp = hash_Search(&sts, gdbroot->cid_ht, &cid);
if ( cp == 0) { rsts = GDH__NOSUCHCLASS; goto error_sts;}
bop = pool_Address(&sts, gdbroot->pool, cp->bor);
if (bop == NULL) { rsts = GDH__ATTRIBUTE; goto error_sts;}
bdef = pool_Address(NULL, gdbroot->rtdb, bop->u.n.body);
acnt += bdef->NumOfParams;
/* Count attributes */
a_super[scnt++] = vol_OidToObject(&sts, bop->g.soid, gdb_mLo_global, vol_mTrans_all, cvol_eHint_none);
while ( a_super[scnt-1]) {
adef = pool_Address(NULL, gdbroot->rtdb, a_super[scnt-1]->u.n.body);
if ( strcmp( a_super[scnt-1]->g.f.name.orig, "Super") == 0 && cdh_tidIsCid(adef->TypeRef)) {
cp = hash_Search(&sts, gdbroot->cid_ht, &adef->TypeRef);
if ( cp == 0) { rsts = GDH__NOSUCHCLASS; goto error_sts;}
bop = pool_Address(&sts, gdbroot->pool, cp->bor);
if (bop == NULL) { rsts = GDH__ATTRIBUTE; goto error_sts;}
bdef = pool_Address(NULL, gdbroot->rtdb, bop->u.n.body);
acnt += bdef->NumOfParams - 1;
a_super[scnt++] = vol_OidToObject(&sts, bop->g.soid, gdb_mLo_global, vol_mTrans_all, cvol_eHint_none);
}
else
break;
}
/* Allocate buffer */
bd = (gdh_sAttrDef *)calloc( acnt, sizeof(gdh_sAttrDef));
acnt = 0;
for ( i = scnt - 1; i >= 0; i--) {
aop = a_super[i];
while ( aop) {
adef = pool_Address(NULL, gdbroot->rtdb, aop->u.n.body);
if ( !(aop == a_super[i] && strcmp( aop->g.f.name.orig, "Super") == 0)) {
for ( j = 0; j < i; j++)
strcat( bd[acnt].attrName, "Super.");
strcat( bd[acnt].attrName, aop->g.f.name.orig);
bd[acnt].attrClass = aop->g.cid;
bd[acnt].attr = (pwr_uParDef *)adef;
if ( i > 0)
bd[acnt].flags = gdh_mAttrDef_Super;
acnt++;
}
noid.vid = aop->g.oid.vid;
noid.oix = aop->g.sib.flink;
aop = vol_OidToObject(&sts, noid, gdb_mLo_global, vol_mTrans_none, cvol_eHint_next);
if ( aop && aop == a_super[i])
break;
}
}
if ( scnt > 1) {
/* Detect shadowed attributes */
for ( j = 0; j < acnt - 1; j++) {
char *s1 = strrchr( bd[j].attrName, '.');
if ( !s1)
s1 = bd[j].attrName;
else
s1++;
for ( i = j + 1; i < acnt; i++) {
char *s2 = strrchr( bd[i].attrName, '.');
if ( !s2)
s2 = bd[i].attrName;
else
s2++;
if ( cdh_NoCaseStrcmp( s1, s2) == 0) {
bd[j].flags |= gdh_mAttrDef_Shadowed;
break;
}
}
}
}
*bodydef = bd;
*rows = acnt;
error_sts: {
}
} gdh_ScopeUnlock;
return rsts;
}
pwr_tStatus
gdh_GetTrueObjectBodyDef(
pwr_tCid cid,
gdh_sAttrDef **bodydef,
int *rows
)
{
gdb_sClass *cp;
gdb_sObject *bop;
gdb_sObject *aop;
pwr_sParam *adef;
pwr_sObjBodyDef *bdef;
int acnt = 0;
gdh_sAttrDef *bd;
pwr_tStatus sts;
pwr_tStatus rsts = GDH__SUCCESS;
pwr_tOid noid;
gdh_ScopeLock {
cp = hash_Search(&sts, gdbroot->cid_ht, &cid);
if ( cp == 0) { rsts = GDH__NOSUCHCLASS; goto error_sts;}
bop = pool_Address(&sts, gdbroot->pool, cp->bor);
if (bop == NULL) { rsts = GDH__ATTRIBUTE; goto error_sts;}
bdef = pool_Address(NULL, gdbroot->rtdb, bop->u.n.body);
acnt = bdef->NumOfParams;
/* Allocate buffer */
bd = (gdh_sAttrDef *)calloc( acnt, sizeof(gdh_sAttrDef));
acnt = 0;
aop = vol_OidToObject(&sts, bop->g.soid, gdb_mLo_global, vol_mTrans_all, cvol_eHint_none);
while ( aop) {
adef = pool_Address(NULL, gdbroot->rtdb, aop->u.n.body);
strcpy( bd[acnt].attrName, aop->g.f.name.orig);
bd[acnt].attrClass = aop->g.cid;
bd[acnt].attr = (pwr_uParDef *)adef;
acnt++;
noid.vid = aop->g.oid.vid;
noid.oix = aop->g.sib.flink;
aop = vol_OidToObject(&sts, noid, gdb_mLo_global, vol_mTrans_none, cvol_eHint_next);
if ( aop->g.oid.oix == bop->g.soid.oix)
break;
}
*bodydef = bd;
*rows = acnt;
error_sts: {
}
} gdh_ScopeUnlock;
return rsts;
}
#if 0
pwr_tStatus
gdh_RegisterServer(
......
......@@ -25,6 +25,10 @@ extern "C" {
#include "pwr.h"
#endif
#ifndef pwr_class_h
#include "pwr_class.h"
#endif
#ifndef rt_errh_h
#include "rt_errh.h"
#endif
......@@ -93,6 +97,27 @@ typedef struct {
} gdh_sVolumeInfo;
/**
* Attribute flags
*/
typedef enum {
gdh_mAttrDef_Shadowed = 1 << 0, /**< Attribute is shadowed */
gdh_mAttrDef_Super = 1 << 1 /**< Super class attribute */
} gdh_mAttrDef;
/**
* Attribute info
*/
typedef struct {
pwr_tObjName attrName; /**< Attribute name */
unsigned long attrLevel; /**< Attribute level */
pwr_eClass attrClass; /**< Attribute class */
unsigned long flags; /**< Attribute flags */
pwr_uParDef *attr; /**< Pointer to attribute object */
} gdh_sAttrDef;
/* GDH entrypoints (as function prototypes). */
/** @} */
......@@ -635,6 +660,20 @@ gdh_GetVolumeInfo(
gdh_sVolumeInfo *info
);
pwr_tStatus
gdh_GetObjectBodyDef(
pwr_tCid cid,
gdh_sAttrDef **bodydef,
int *rows
);
pwr_tStatus
gdh_GetTrueObjectBodyDef(
pwr_tCid cid,
gdh_sAttrDef **bodydef,
int *rows
);
/* Undocumented routines. For internal use only. */
pwr_tStatus
......
This diff is collapsed.
......@@ -62,32 +62,32 @@ static char *xDLp = NULL;
la I Direct link array from the plc-code
aname I Attribute name string
*/
*/
static pwr_tStatus
plc_RefObjidAttr (
pwr_tBoolean local_object,
pwr_tClassId class,
pwr_tObjid objid,
pwr_sAttrRef ar,
plc_t_rtdbref *la,
char *aname
)
char *aname)
{
pwr_tStatus sts;
pwr_sAttrRef ar;
pwr_tDlid dlid;
pwr_tSubid subid;
pwr_sAttrRef car;
sts = gdh_ClassAttrToAttrref( class, aname, &ar );
if (EVEN(sts)) return sts;
ar.Objid = objid;
if ( strcmp( aname, "") != 0) {
sts = gdh_ClassAttrToAttrref( class, aname, &car);
if (EVEN(sts)) return sts;
/* Should be same */
ar.Offset += car.Offset;
ar.Size = car.Size;
ar.Flags.m = car.Flags.m;
}
if (ar.Size < la->Size)
ar.Size = la->Size;
if (local_object) {
sts = gdh_DLRefObjectInfoAttrref( &ar, la->Pointer, &dlid );
if (EVEN(sts)) return sts;
......@@ -110,7 +110,7 @@ plc_RefObjidAttr (
static pwr_tStatus
plc_GetObjectAttrValue (
pwr_tClassId class,
pwr_tObjid objid,
pwr_sAttrRef attrref,
char *aname,
void *buffer,
pwr_tInt32 size
......@@ -121,17 +121,17 @@ plc_GetObjectAttrValue (
char *p;
if (class == 0) {
sts = gdh_GetObjectClass(objid, &class);
sts = gdh_GetObjectClass( attrref.Objid, &class);
if (EVEN(sts)) return sts;
}
}
sts = gdh_ClassAttrToAttrref( class, aname, &ar );
if (EVEN(sts)) return sts;
sts = gdh_ObjidToPointer(objid, (pwr_tAddress *)&p );
sts = gdh_ObjidToPointer(attrref.Objid, (pwr_tAddress *)&p );
if (EVEN(sts)) return sts;
memcpy( buffer, p + ar.Offset, size);
memcpy( buffer, p + attrref.Offset + ar.Offset, size);
return PLC__SUCCESS;
}
......@@ -158,16 +158,14 @@ plc_rtdbref (
pwr_tInt32 Index;
char aname[255];
plc_t_rtdbref *la;
pwr_tObjid objid;
pwr_tClassId class;
pwr_tBoolean local_object;
for (la = *LinkArray; la->Pointer != NULL; ++la) {
/* NULL pointer terminates the list */
objid = la->Objid;
*la->Pointer = NULL;
sts = gdh_GetObjectLocation(objid, &local_object);
sts = gdh_GetObjectLocation(la->AttrRef.Objid, &local_object);
if (EVEN(sts)) {
local_object = FALSE;
}
......@@ -176,9 +174,9 @@ plc_rtdbref (
/* If we got here, we can link directly to the object without having
to append an index to the entered name. */
sts = plc_RefObjidAttr(local_object, la->ObjType, objid, la, "");
sts = plc_RefObjidAttr(local_object, la->ObjType, la->AttrRef, la, "");
if (EVEN(sts)) {
errh_Error("plc_RefObjidAttr object %s, %m", cdh_ObjidToString(NULL, objid, 0), sts);
errh_Error("plc_RefObjidAttr object %s, %m", cdh_ObjidToString(NULL, la->AttrRef.Objid, 0), sts);
GUARD_DL( la->Pointer, la->Size );
continue;
}
......@@ -189,9 +187,9 @@ plc_rtdbref (
index is stored in the object itself. */
if (local_object) {
sts = plc_GetObjectAttrValue(la->ObjType, objid, ".ValueIndex", &Index, sizeof(pwr_tInt32));
sts = plc_GetObjectAttrValue(la->ObjType, la->AttrRef, ".ValueIndex", &Index, sizeof(pwr_tInt32));
if (EVEN(sts)) {
errh_Error("plc_GetObjectAttrValue object %s.ValueIndex\n%m", cdh_ObjidToString(NULL, objid, 0), sts);
errh_Error("plc_GetObjectAttrValue object %s.ValueIndex\n%m", cdh_ObjidToString(NULL, la->AttrRef.Objid, 0), sts);
GUARD_DL( la->Pointer, la->Size );
continue;
}
......@@ -214,6 +212,11 @@ plc_rtdbref (
*la->Pointer = &tp->copy.ai_a.p->Value[Index];
break;
case pwr_cClass_Ii:
if (la->UseCode == UC_READ && local_object)
*la->Pointer = &tp->copy.ii_a.p->Value[Index];
break;
case pwr_cClass_Do:
if (la->UseCode == UC_READ && local_object)
*la->Pointer = &tp->copy.do_a.p->Value[Index];
......@@ -224,6 +227,11 @@ plc_rtdbref (
*la->Pointer = &tp->copy.ao_a.p->Value[Index];
break;
case pwr_cClass_Io:
if (la->UseCode == UC_READ && local_object)
*la->Pointer = &tp->copy.io_a.p->Value[Index];
break;
case pwr_cClass_Dv:
if (la->UseCode == UC_READ && local_object)
*la->Pointer = &tp->copy.dv_a.p->Value[Index];
......@@ -234,6 +242,11 @@ plc_rtdbref (
*la->Pointer = &tp->copy.av_a.p->Value[Index];
break;
case pwr_cClass_Iv:
if (la->UseCode == UC_READ && local_object)
*la->Pointer = &tp->copy.iv_a.p->Value[Index];
break;
/* Special: UC_READ => AbsValue, UC_READ2 => RawValue */
case pwr_cClass_Co:
if (local_object) {
......@@ -258,9 +271,9 @@ plc_rtdbref (
if (*la->Pointer != NULL)
continue;
sts = plc_RefObjidAttr(local_object, class, objid, la, aname);
sts = plc_RefObjidAttr(local_object, class, la->AttrRef, la, aname);
if (EVEN(sts)) {
errh_Error("plc_RefObjidAttr(%s), %m", cdh_ObjidToString(NULL, objid, 0), sts);
errh_Error("plc_RefObjidAttr(%s), %m", cdh_ObjidToString(NULL, la->AttrRef.Objid, 0), sts);
GUARD_DL( la->Pointer, la->Size );
continue;
}
......@@ -319,3 +332,8 @@ plc_GetPointerToObject (
errh_Error("Direct link to object (%s), %m", Name, sts);
}
}
......@@ -22,7 +22,7 @@
typedef struct
{
void **Pointer;
pwr_tObjid Objid;
pwr_sAttrRef AttrRef;
pwr_tClassId ObjType;
pwr_tUInt32 Size;
pwr_tUInt32 UseCode;
......
......@@ -25,7 +25,7 @@
struct plc_rtdbref
{
void **Pointer;
pwr_tObjid Objid;
pwr_sAttrRef AttrRef;
pwr_tClassId ObjType;
pwr_tUInt32 Size;
pwr_tUInt32 UseCode;
......
......@@ -88,6 +88,7 @@ invthread <Invalid thread object, plc will not be executed> /warning
generic <Generic object is not connected> /error
templateplc <Template plc not found> /error
ccerror <Error from c compilator, see terminal window> /fatal
noconnect <PlcConnect object is missing> /error
.facility FOE,280 /prefix = FOE__ ! Function object editor
......@@ -130,6 +131,7 @@ volumeclass <error in volume class> /error
volumeid <error in volume id> /error
nodb <no such database> /error
sh <error from shell> /error
replaced <object is replaced> /info
.facility ROU,290 /prefix = ROU__ ! Routed connections
......
Package: pwr40
Version: 4.0.0-1
Package: pwr41
Version: 4.1.0-1
Section: base
Priority: optional
Architecture: i386
Depends: libc6 (>= 2.2.4-4)
Replaces: pwrrt,pwr34,pwr39
Replaces: pwrrt,pwr34,pwr39,pwr40
Maintainer: Proview <postmaster@proview.se>
Description: Proview development and runtime environment package
Proview development and runtime environment
4.0.0-1 Base release
4.1.0-1 Base release
......@@ -31,7 +31,8 @@ all : init copy exe
init :
copy : $(inc_dir)/pwr_nmpsclasses.h
copy : $(inc_dir)/pwr_nmpsclasses.h \
$(inc_dir)/pwr_nmpsclasses.hpp
lib : $(load_dir)/nmps.dbs
......@@ -51,6 +52,10 @@ $(inc_dir)/pwr_nmpsclasses.h :
@ echo "Generating struct files for nmps classes..."
@ co_convert -s -d $(inc_dir) "$(pwre_sroot)/wbl/nmps/src/nmps_c_*.wb_load"
$(inc_dir)/pwr_nmpsclasses.hpp :
@ echo "Generating hpp files for nmps classes..."
@ co_convert -po -d $(inc_dir) "$(pwre_sroot)/wbl/nmps/src/nmps_c_*.wb_load"
$(doc_dir)/orm/nmps_allclasses.html :
@ echo "Generating html files for nmps classes..."
@ co_convert -w -d $(doc_dir)/orm -g $(pwre_sroot)/wbl/nmps/src/cnv_setup.dat "$(pwre_sroot)/wbl/nmps/src/nmps_c_*.wb_load"
......
......@@ -31,7 +31,9 @@ all : init copy exe
init :
copy : $(inc_dir)/pwr_baseclasses.h
copy : $(inc_dir)/pwr_baseclasses.h \
$(inc_dir)/pwr_baseclasses.hpp
lib : $(load_dir)/pwrb.dbs
......@@ -51,11 +53,16 @@ $(inc_dir)/pwr_baseclasses.h :
@ echo "Generating struct files for pwrb classes..."
@ co_convert -s -d $(inc_dir) "$(pwre_sroot)/wbl/pwrb/src/pwrb_c_*.wb_load"
$(inc_dir)/pwr_baseclasses.hpp :
@ echo "Generating hpp files for pwrb classes..."
@ co_convert -po -d $(inc_dir) "$(pwre_sroot)/wbl/pwrb/src/pwrb_c_*.wb_load"
$(doc_dir)/orm/pwrb_allclasses.html :
@ echo "Generating html files for pwrb classes..."
@ co_convert -w -d $(doc_dir)/orm -g $(pwre_sroot)/wbl/pwrb/src/cnv_setup.dat "$(pwre_sroot)/wbl/pwrb/src/pwrb_c_*.wb_load"
@ echo "Generating html files for pwrb structs..."
@ co_convert -c -d $(doc_dir)/orm $(inc_dir)/pwr_baseclasses.h
@ co_convert -c -d $(doc_dir)/orm $(inc_dir)/pwr_baseclasses.hpp
@ echo "Generating html files for pwrb code..."
@ co_convert -c -d $(doc_dir)/orm "$(pwre_sroot)/lib/rt/src/rt_plc_macro_*.h"
@ co_convert -c -d $(doc_dir)/orm "$(pwre_sroot)/lib/rt/src/rt_plc_*.c"
......
......@@ -51,7 +51,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -62,6 +62,7 @@ SObject pwrb:Class
Object ValueIndex $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
......@@ -145,7 +146,7 @@ SObject pwrb:Class
!*/
Object DefGraph $Attribute 11
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -155,7 +156,7 @@ SObject pwrb:Class
!*/
Object DefTrend $Attribute 12
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -246,10 +247,10 @@ SObject pwrb:Class
Object Connect $MenuButton
Body SysBody
Attr ButtonName = "Connect Channel"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "SigChanCon"
Attr MethodArguments[1] = "ChanAi"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "SigChanCon"
Attr FilterArguments[1] = "ChanAi"
EndBody
......@@ -257,10 +258,10 @@ SObject pwrb:Class
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......@@ -268,10 +269,10 @@ SObject pwrb:Class
Object ConnectTrend $MenuButton
Body SysBody
Attr ButtonName = "Connect Trend"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefTrend"
Attr MethodArguments[1] = "DsTrend,PlotGroup"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefTrend"
Attr FilterArguments[1] = "DsTrend,PlotGroup"
EndBody
......
......@@ -51,7 +51,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -62,6 +62,7 @@ SObject pwrb:Class
Object ValueIndex $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
......@@ -145,7 +146,7 @@ SObject pwrb:Class
!*/
Object DefGraph $Attribute 11
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -155,7 +156,7 @@ SObject pwrb:Class
!*/
Object DefTrend $Attribute 12
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -202,10 +203,10 @@ SObject pwrb:Class
Object Connect $MenuButton
Body SysBody
Attr ButtonName = "Connect Channel"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "SigChanCon"
Attr MethodArguments[1] = "ChanAo"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "SigChanCon"
Attr FilterArguments[1] = "ChanAo"
EndBody
......@@ -213,10 +214,10 @@ SObject pwrb:Class
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......@@ -224,10 +225,10 @@ SObject pwrb:Class
Object ConnectTrend $MenuButton
Body SysBody
Attr ButtonName = "Connect Trend"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefTrend"
Attr MethodArguments[1] = "DsTrend,PlotGroup"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefTrend"
Attr FilterArguments[1] = "DsTrend,PlotGroup"
EndBody
......
......@@ -53,6 +53,7 @@ SObject pwrb:Class
Object ValueIndex $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
......@@ -118,7 +119,7 @@ SObject pwrb:Class
!*/
Object DefGraph $Attribute 9
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -128,7 +129,7 @@ SObject pwrb:Class
!*/
Object DefTrend $Attribute 10
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -167,24 +168,16 @@ SObject pwrb:Class
Attr TypeRef = "pwrs:Type-$URL"
EndBody
EndObject
!/**
! Not used.
!*/
Object OwnedByPLC $Attribute 11
Body SysBody
Attr TypeRef = "pwrs:Type-$Boolean"
EndBody
EndObject
EndObject
Object ConfiguratorPoson $Menu
Object Pointed $Menu
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......@@ -192,10 +185,10 @@ SObject pwrb:Class
Object ConnectTrend $MenuButton
Body SysBody
Attr ButtonName = "Connect Trend"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefTrend"
Attr MethodArguments[1] = "DsTrend,PlotGroup"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefTrend"
Attr FilterArguments[1] = "DsTrend,PlotGroup"
EndBody
......
......@@ -73,7 +73,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
......
......@@ -94,7 +94,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
......
......@@ -64,7 +64,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
......
......@@ -44,7 +44,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
......
......@@ -63,7 +63,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
......
......@@ -64,7 +64,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
......
......@@ -43,7 +43,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
......
......@@ -47,7 +47,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_STATE
Attr Flags |= PWR_MASK_INVISIBLE
EndBody
......
......@@ -52,7 +52,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -103,6 +103,7 @@ SObject pwrb:Class
Object ValueIndex $Attribute 8
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
......@@ -137,7 +138,7 @@ SObject pwrb:Class
!*/
Object DefGraph $Attribute 11
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -147,7 +148,7 @@ SObject pwrb:Class
!*/
Object DefTrend $Attribute 12
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -186,10 +187,10 @@ SObject pwrb:Class
Object Connect $MenuButton
Body SysBody
Attr ButtonName = "Connect Channel"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "SigChanCon"
Attr MethodArguments[1] = "ChanCo"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "SigChanCon"
Attr FilterArguments[1] = "ChanCo"
EndBody
......@@ -197,10 +198,10 @@ SObject pwrb:Class
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......
......@@ -73,7 +73,7 @@ SObject pwrb:Class
Object AiObject $Intern 1
Body SysBody
Attr PgmName = "AiObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -84,7 +84,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 3
Attr NiNaCond = 1
......
......@@ -77,7 +77,7 @@ SObject pwrb:Class
Object AoObject $Intern 1
Body SysBody
Attr PgmName = "AoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -88,7 +88,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 3
Attr NiNaCond = 1
......
......@@ -90,26 +90,13 @@ SObject pwrb:Class
Object Object $Intern 1
Body SysBody
Attr PgmName = "Object"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Specifies, in an object specified by Object, the name
! of the attribute where to store the value.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the CStoAp
! object. The segments are counted from behind.
......
......@@ -74,7 +74,7 @@ SObject pwrb:Class
Object AvObject $Intern 1
Body SysBody
Attr PgmName = "AvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -75,7 +75,7 @@ SObject pwrb:Class
Object IiObject $Intern 1
Body SysBody
Attr PgmName = "IiObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -86,7 +86,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 3
Attr NiNaCond = 1
......
......@@ -77,7 +77,7 @@ SObject pwrb:Class
Object IoObject $Intern 1
Body SysBody
Attr PgmName = "IoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -88,7 +88,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 3
Attr NiNaCond = 1
......
......@@ -80,32 +80,19 @@ SObject pwrb:Class
EndObject
Object DevBody $ObjBodyDef 2
!/**
! Specifies the name of the object where to store the
! Specifies the name of the attribute where to store the
! value.
!*/
Object Object $Intern 1
Body SysBody
Attr PgmName = "Object"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Specifies, in an object specified by Object, the name
! of the attribute where to store the value.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the CStoIp
! object. The segments are counted from behind.
......
......@@ -74,7 +74,7 @@ SObject pwrb:Class
Object IvObject $Intern 1
Body SysBody
Attr PgmName = "IvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -78,32 +78,19 @@ SObject pwrb:Class
EndObject
Object DevBody $ObjBodyDef 2
!/**
! Specifies the name of the object where to store the
! Specifies the name of the attribute where to store the
! value.
!*/
Object Object $Intern 1
Body SysBody
Attr PgmName = "Object"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Specifies, in an object specified by Object, the name
! of the attribute where to store the value.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the CStoSp
! object. The segments are counted from behind.
......
......@@ -82,7 +82,7 @@ SObject pwrb:Class
Object SvObject $Intern 1
Body SysBody
Attr PgmName = "SvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -66,7 +66,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -77,6 +77,7 @@ SObject pwrb:Class
Object ValueIndex $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
......@@ -123,7 +124,7 @@ SObject pwrb:Class
!*/
Object DefGraph $Attribute 6
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -133,7 +134,7 @@ SObject pwrb:Class
!*/
Object DefTrend $Attribute 7
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -173,29 +174,6 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Text associated to ActualValue = FALSE. At presentation
! when ActualValue = FALSE TextWhenValIs0 is displayed;
! OFF may sometimes be a suitable text.
!
! The attribute is used by the object display.
!*/
Object TextWhenValIs0 $Attribute 8
Body SysBody
Attr TypeRef = "pwrs:Type-$String16"
EndBody
EndObject
!/**
! Text associated to ActualValue = TRUE. At presentation
! when ActualValue = TRUE TextWhenValIs1 displayed is; ON
! may sometimes be a suitable text.
! The attribute is used by the object display.
!*/
Object TextWhenValIs1 $Attribute 9
Body SysBody
Attr TypeRef = "pwrs:Type-$String16"
EndBody
EndObject
!/**
! The internal filter function concerns only local
! Di-signals.
!
......@@ -232,10 +210,10 @@ SObject pwrb:Class
Object Connect $MenuButton
Body SysBody
Attr ButtonName = "Connect Channel"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "SigChanCon"
Attr MethodArguments[1] = "ChanDi"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "SigChanCon"
Attr FilterArguments[1] = "ChanDi"
EndBody
......@@ -243,10 +221,10 @@ SObject pwrb:Class
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......@@ -254,10 +232,10 @@ SObject pwrb:Class
Object ConnectTrend $MenuButton
Body SysBody
Attr ButtonName = "Connect Trend"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefTrend"
Attr MethodArguments[1] = "DsTrend,PlotGroup"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefTrend"
Attr FilterArguments[1] = "DsTrend,PlotGroup"
EndBody
......@@ -271,3 +249,4 @@ EndSObject
......@@ -51,7 +51,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -62,6 +62,7 @@ SObject pwrb:Class
Object ValueIndex $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
......@@ -108,7 +109,7 @@ SObject pwrb:Class
!*/
Object DefGraph $Attribute 6
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -118,7 +119,7 @@ SObject pwrb:Class
!*/
Object DefTrend $Attribute 7
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -157,30 +158,6 @@ SObject pwrb:Class
Attr TypeRef = "pwrs:Type-$URL"
EndBody
EndObject
!/**
! Text associated to ActualValue = FALSE. At presentation
! when ActualValue = FALSE TextWhenValIs0 is displayed;
! OFF may often be a suitable text.
!
! The attribute is used by the object display.
!*/
Object TextWhenValIs0 $Attribute 8
Body SysBody
Attr TypeRef = "pwrs:Type-$String16"
EndBody
EndObject
!/**
! Text associated to ActualValue = TRUE. At presentation
! when ActualValue = TRUE TextWhenValIs1 is displayed; ON
! may often be a suitable text.
!
! The attribute is used by the object display.
!*/
Object TextWhenValIs1 $Attribute 9
Body SysBody
Attr TypeRef = "pwrs:Type-$String16"
EndBody
EndObject
EndObject
Object Template Do
EndObject
......@@ -189,10 +166,10 @@ SObject pwrb:Class
Object Connect $MenuButton
Body SysBody
Attr ButtonName = "Connect Channel"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "SigChanCon"
Attr MethodArguments[1] = "ChanDo"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "SigChanCon"
Attr FilterArguments[1] = "ChanDo"
EndBody
......@@ -200,10 +177,10 @@ SObject pwrb:Class
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......@@ -211,10 +188,10 @@ SObject pwrb:Class
Object ConnectTrend $MenuButton
Body SysBody
Attr ButtonName = "Connect Trend"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefTrend"
Attr MethodArguments[1] = "DsTrend,PlotGroup"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefTrend"
Attr FilterArguments[1] = "DsTrend,PlotGroup"
EndBody
......
......@@ -55,6 +55,7 @@ SObject pwrb:Class
Object ValueIndex $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
......@@ -90,7 +91,7 @@ SObject pwrb:Class
!*/
Object DefGraph $Attribute 5
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -100,7 +101,7 @@ SObject pwrb:Class
!*/
Object DefTrend $Attribute 6
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -139,47 +140,16 @@ SObject pwrb:Class
Attr TypeRef = "pwrs:Type-$URL"
EndBody
EndObject
!/**
! Text associated to ActualValue = FALSE. At presentation
! when ActualValue = FALSE TextWhenValIs0 is displayed;
! OFF may often be a suitable text.
! The attribute is used by the object display.
!*/
Object TextWhenValIs0 $Attribute 7
Body SysBody
Attr TypeRef = "pwrs:Type-$String16"
EndBody
EndObject
!/**
! Text associated to ActualValue = TRUE. At presentation
! when ActualValue = TRUE TextWhenValIs1 is displayed; ON
! may often be a suitable text.
!
! The attribute is used by the object display.
!*/
Object TextWhenValIs1 $Attribute 8
Body SysBody
Attr TypeRef = "pwrs:Type-$String16"
EndBody
EndObject
!/**
! Not used.
!*/
Object OwnedByPLC $Attribute 9
Body SysBody
Attr TypeRef = "pwrs:Type-$Boolean"
EndBody
EndObject
EndObject
Object ConfiguratorPoson $Menu
Object Pointed $Menu
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......@@ -187,10 +157,10 @@ SObject pwrb:Class
Object ConnectTrend $MenuButton
Body SysBody
Attr ButtonName = "Connect Trend"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefTrend"
Attr MethodArguments[1] = "DsTrend,PlotGroup"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefTrend"
Attr FilterArguments[1] = "DsTrend,PlotGroup"
EndBody
......
......@@ -58,7 +58,7 @@ SObject pwrb:Class
Object AiObject $Intern 1
Body SysBody
Attr PgmName = "AiObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "VAL"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -70,7 +70,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -57,7 +57,7 @@ SObject pwrb:Class
Object AoObject $Intern 1
Body SysBody
Attr PgmName = "AoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "VAL"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -68,7 +68,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -51,35 +51,18 @@ SObject pwrb:Class
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the complete name of
! the actual object.
! the actual attribute.
!*/
Object ApObject $Intern 1
Body SysBody
Attr PgmName = "ApObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "VAL"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Used by the PLC Editor. Specifies the name of the
! parameter.
!
! Note! The editor is case-sensitive on this attribute; i.e.
! if the attribute is named ActualValue it has to be
! written ActualValue and not ACTUALVALUE, for example.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the GetAp
! object. The segments are counted from behind.
......@@ -107,7 +90,7 @@ SObject pwrb:Class
Attr parameters[2] = 1
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 15
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 0
Attr default_mask[1] = 1
......
......@@ -57,7 +57,7 @@ SObject pwrb:Class
Object AvObject $Intern 1
Body SysBody
Attr PgmName = "AvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "VAL"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -59,7 +59,7 @@ SObject pwrb:Class
!*/
Object DataObject $Intern 1
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
......
......@@ -56,7 +56,7 @@ SObject pwrb:Class
Object DiObject $Intern 1
Body SysBody
Attr PgmName = "DiObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
......@@ -66,7 +66,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -56,7 +56,7 @@ SObject pwrb:Class
Object DoObject $Intern 1
Body SysBody
Attr PgmName = "DoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -67,7 +67,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -50,12 +50,12 @@ SObject pwrb:Class
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the complete name of
! the actual object.
! the actual attribute.
!*/
Object DpObject $Intern 1
Body SysBody
Attr PgmName = "DpObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -63,22 +63,6 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Used by the PLC Editor. Specifies the name of the
! parameter. The editor is case-sensitive on this
! attribute; i.e. if the attribute is named ActualValue
! it has to be written ActualValue and not ACTUALVALUE,
! for example.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the GetDp
! object. The segments are counted from behind.
......@@ -103,7 +87,7 @@ SObject pwrb:Class
Attr parameters[2] = 1
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 15
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 0
Attr default_mask[1] = 1
......
......@@ -58,7 +58,7 @@ SObject pwrb:Class
Object DvObject $Intern 1
Body SysBody
Attr PgmName = "DvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -56,7 +56,7 @@ SObject pwrb:Class
Object IiObject $Intern 1
Body SysBody
Attr PgmName = "IiObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "VAL"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -68,7 +68,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -55,7 +55,7 @@ SObject pwrb:Class
Object IoObject $Intern 1
Body SysBody
Attr PgmName = "IoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "VAL"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -66,7 +66,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -47,35 +47,18 @@ SObject pwrb:Class
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the name of the
! actual object.
! actual attribute.
!*/
Object IpObject $Intern 1
Body SysBody
Attr PgmName = "IpObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "VAL"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Used by the PLC Editor. Specifies the name of the
! parameter.
!
! Note! The editor is case-sensitive on this attribute; i.e.
! if the attribute is named ActualValue it has to be
! written ActualValue and not ACTUALVALUE, for example.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the GetDp
! object. The segments are counted from behind.
......@@ -103,7 +86,7 @@ SObject pwrb:Class
Attr parameters[2] = 1
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 15
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 0
Attr default_mask[1] = 1
......
......@@ -56,35 +56,18 @@ SObject pwrb:Class
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the name of the
! actual object.
! actual attribute.
!*/
Object IpObject $Intern 1
Body SysBody
Attr PgmName = "IpObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "VAL"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Used by the PLC Editor. Specifies the name of the
! parameter.
!
! Note! The editor is case-sensitive on this attribute; i.e.
! if the attribute is named ActualValue it has to be
! written ActualValue and not ACTUALVALUE, for example.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the GetDp
! object. The segments are counted from behind.
......@@ -112,7 +95,7 @@ SObject pwrb:Class
Attr parameters[2] = 1
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 15
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 0
Attr default_mask[1] = 1
......
......@@ -57,7 +57,7 @@ SObject pwrb:Class
Object IvObject $Intern 1
Body SysBody
Attr PgmName = "IvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "VAL"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -80,7 +80,7 @@ SObject pwrb:Class
Object CoObject $Intern 1
Body SysBody
Attr PgmName = "CoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
......@@ -90,7 +90,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -51,35 +51,18 @@ SObject pwrb:Class
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the complete name of
! the actual object.
! the actual attribute.
!*/
Object SpObject $Intern 1
Body SysBody
Attr PgmName = "SpObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "VAL"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Used by the PLC Editor. Specifies the name of the
! parameter.
!
! Note! The editor is case-sensitive on this attribute; i.e.
! if the attribute is named ActualValue it has to be
! written ActualValue and not ACTUALVALUE, for example.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the GetSp
! object. The segments are counted from behind.
......@@ -107,7 +90,7 @@ SObject pwrb:Class
Attr parameters[2] = 1
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 15
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 0
Attr default_mask[1] = 1
......
......@@ -54,7 +54,7 @@ SObject pwrb:Class
Object SvObject $Intern 1
Body SysBody
Attr PgmName = "SvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "str"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -46,7 +46,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -57,6 +57,7 @@ SObject pwrb:Class
Object ValueIndex $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
......@@ -94,7 +95,7 @@ SObject pwrb:Class
!*/
Object DefGraph $Attribute 5
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -104,7 +105,7 @@ SObject pwrb:Class
!*/
Object DefTrend $Attribute 6
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -149,10 +150,10 @@ SObject pwrb:Class
Object Connect $MenuButton
Body SysBody
Attr ButtonName = "Connect Channel"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "SigChanCon"
Attr MethodArguments[1] = "ChanIi"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "SigChanCon"
Attr FilterArguments[1] = "ChanIi"
EndBody
......@@ -160,10 +161,10 @@ SObject pwrb:Class
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......@@ -171,10 +172,10 @@ SObject pwrb:Class
Object ConnectTrend $MenuButton
Body SysBody
Attr ButtonName = "Connect Trend"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefTrend"
Attr MethodArguments[1] = "DsTrend,PlotGroup"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefTrend"
Attr FilterArguments[1] = "DsTrend,PlotGroup"
EndBody
......
......@@ -307,7 +307,7 @@ SObject pwrb:Class
Object DoOpen $Intern 1
Body SysBody
Attr PgmName = "DoOpen"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
EndBody
EndObject
......@@ -320,7 +320,7 @@ SObject pwrb:Class
Object DoClose $Intern 2
Body SysBody
Attr PgmName = "DoClose"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 2
EndBody
EndObject
......@@ -347,7 +347,7 @@ SObject pwrb:Class
Attr devbody_annotation = 1
Attr compmethod = 23
Attr compindex = 0
Attr connectmethod = 10
Attr connectmethod = 0
Attr executeordermethod = 2
Attr objname = "Inc3P"
Attr graphname = "Inc3P"
......
......@@ -48,7 +48,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -59,6 +59,7 @@ SObject pwrb:Class
Object ValueIndex $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
......@@ -93,7 +94,7 @@ SObject pwrb:Class
!*/
Object DefGraph $Attribute 5
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -103,7 +104,7 @@ SObject pwrb:Class
!*/
Object DefTrend $Attribute 6
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -148,10 +149,10 @@ SObject pwrb:Class
Object Connect $MenuButton
Body SysBody
Attr ButtonName = "Connect Channel"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "SigChanCon"
Attr MethodArguments[1] = "ChanIo"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "SigChanCon"
Attr FilterArguments[1] = "ChanIo"
EndBody
......@@ -159,10 +160,10 @@ SObject pwrb:Class
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......@@ -170,10 +171,10 @@ SObject pwrb:Class
Object ConnectTrend $MenuButton
Body SysBody
Attr ButtonName = "Connect Trend"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefTrend"
Attr MethodArguments[1] = "DsTrend,PlotGroup"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefTrend"
Attr FilterArguments[1] = "DsTrend,PlotGroup"
EndBody
......
......@@ -46,6 +46,7 @@ SObject pwrb:Class
Object ValueIndex $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
......@@ -81,7 +82,7 @@ SObject pwrb:Class
!*/
Object DefGraph $Attribute 5
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -91,7 +92,7 @@ SObject pwrb:Class
!*/
Object DefTrend $Attribute 6
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -136,10 +137,10 @@ SObject pwrb:Class
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......@@ -147,10 +148,10 @@ SObject pwrb:Class
Object ConnectTrend $MenuButton
Body SysBody
Attr ButtonName = "Connect Trend"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefTrend"
Attr MethodArguments[1] = "DsTrend,PlotGroup"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefTrend"
Attr FilterArguments[1] = "DsTrend,PlotGroup"
EndBody
......
......@@ -78,15 +78,14 @@ SObject pwrb:Class
!/**
! Specifies the complete name of a Di, Dv or Do object
! which will be used as the reset signal of the Grafcet
! chains identified by the PlcPgm object. About the use
! of ResetObjects see the InitStep object on p. 3-183.
! chains identified by the PlcPgm object.
! If there is no need to reset a Grafcet chain or if the
! PlcPgm object does not contain any Grafcet chain the
! attribute is left blank.
!*/
Object ResetObject $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "ResObj"
EndBody
EndObject
......
......@@ -70,7 +70,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -81,6 +81,7 @@ SObject pwrb:Class
Object ValueIndex $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_INVISIBLE
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
......@@ -108,7 +109,7 @@ SObject pwrb:Class
!*/
Object DefGraph $Attribute 6
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -118,7 +119,7 @@ SObject pwrb:Class
!*/
Object DefTrend $Attribute 7
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -242,10 +243,10 @@ SObject pwrb:Class
Object Connect $MenuButton
Body SysBody
Attr ButtonName = "Connect Channel"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "SigChanCon"
Attr MethodArguments[1] = "ChanDo"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "SigChanCon"
Attr FilterArguments[1] = "ChanDo"
EndBody
......@@ -253,10 +254,10 @@ SObject pwrb:Class
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......@@ -264,10 +265,10 @@ SObject pwrb:Class
Object ConnectTrend $MenuButton
Body SysBody
Attr ButtonName = "Connect Trend"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefTrend"
Attr MethodArguments[1] = "DsTrend,PlotGroup"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefTrend"
Attr FilterArguments[1] = "DsTrend,PlotGroup"
EndBody
......
......@@ -285,7 +285,7 @@ SObject pwrb:Class
Object DoOpen $Intern 1
Body SysBody
Attr PgmName = "DoOpen"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 1
EndBody
EndObject
......@@ -298,7 +298,7 @@ SObject pwrb:Class
Object DoClose $Intern 2
Body SysBody
Attr PgmName = "DoClose"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr NiNaAnnot = 2
EndBody
EndObject
......@@ -325,7 +325,7 @@ SObject pwrb:Class
Attr devbody_annotation = 1
Attr compmethod = 23
Attr compindex = 0
Attr connectmethod = 10
Attr connectmethod = 0
Attr executeordermethod = 2
Attr objname = "Pos3P"
Attr graphname = "Pos3P"
......
......@@ -67,7 +67,7 @@ SObject pwrb:Class
Object DiObject $Intern 1
Body SysBody
Attr PgmName = "DiObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -78,7 +78,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -63,7 +63,7 @@ SObject pwrb:Class
Object DoObject $Intern 1
Body SysBody
Attr PgmName = "DoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -87,7 +87,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 3
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -60,34 +60,18 @@ SObject pwrb:Class
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the complete name of
! the actual object.
! the actual attribute.
!*/
Object Object $Intern 1
Body SysBody
Attr PgmName = "Object"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Used by the PLC Editor. Specifies the name of the
! parameter. The editor is case-sensitive on this
! attribute; i.e. if the attribute is named ActualValue
! it has to be written ActualValue and not ACTUALVALUE,
! for example.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Par"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the ResDp
! object. The segments are counted from behind.
......
......@@ -62,7 +62,7 @@ SObject pwrb:Class
Object DvObject $Intern 1
Body SysBody
Attr PgmName = "DvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -68,7 +68,7 @@ SObject pwrb:Class
Object DiObject $Intern 1
Body SysBody
Attr PgmName = "DiObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -79,7 +79,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -64,7 +64,7 @@ SObject pwrb:Class
Object DoObject $Intern 1
Body SysBody
Attr PgmName = "DoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -75,7 +75,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -58,34 +58,18 @@ SObject pwrb:Class
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the complete name of
! the current object.
! the current attribute.
!*/
Object Object $Intern 1
Body SysBody
Attr PgmName = "Object"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Used by the PLC Editor. Specifies the name of the
! parameter. The editor is case-sensitive on this
! attribute; i.e. if the attribute is named ActualValue
! it has to be written ActualValue and not ACTUALVALUE,
! for example.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the SetDp
! object. The segments are counted from behind.
......
......@@ -62,7 +62,7 @@ SObject pwrb:Class
Object DvObject $Intern 1
Body SysBody
Attr PgmName = "DvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -62,7 +62,7 @@ SObject pwrb:Class
Object AiObject $Intern 1
Body SysBody
Attr PgmName = "AiObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -73,7 +73,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -60,7 +60,7 @@ SObject pwrb:Class
Object AoObject $Intern 1
Body SysBody
Attr PgmName = "AoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -71,7 +71,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -55,34 +55,18 @@ SObject pwrb:Class
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the complete name of
! the current object.
! the current attribute.
!*/
Object Object $Intern 1
Body SysBody
Attr PgmName = "Object"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Used by the PLC Editor. Specifies the name of the
! parameter. The editor is case-sensitive on this
! attribute; i.e. if the attribute is named ActualValue
! it has to be written ActualValue and not ACTUALVALUE,
! for example.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the StoAp
! object. The segments are counted from behind.
......@@ -110,7 +94,7 @@ SObject pwrb:Class
Attr parameters[2] = 0
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 15
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 1
Attr default_mask[1] = 0
......
......@@ -60,7 +60,7 @@ SObject pwrb:Class
Object AvObject $Intern 1
Body SysBody
Attr PgmName = "AvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -62,7 +62,7 @@ SObject pwrb:Class
Object DiObject $Intern 1
Body SysBody
Attr PgmName = "DiObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -73,7 +73,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -57,7 +57,7 @@ SObject pwrb:Class
Object DoObject $Intern 1
Body SysBody
Attr PgmName = "DoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -68,7 +68,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -56,34 +56,18 @@ SObject pwrb:Class
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the complete name of
! the current object.
! the current attribute.
!*/
Object Object $Intern 1
Body SysBody
Attr PgmName = "Object"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Used by the PLC Editor. Specifies the name of the
! parameter. The editor is case-sensitive on this
! attribute; i.e. if the attribute is named ActualValue
! it has to be written ActualValue and not ACTUALVALUE,
! for example.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the StoDp
! object. The segments are counted from behind.
......@@ -111,7 +95,7 @@ SObject pwrb:Class
Attr parameters[2] = 0
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 15
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 1
Attr default_mask[1] = 0
......
......@@ -57,7 +57,7 @@ SObject pwrb:Class
Object DvObject $Intern 1
Body SysBody
Attr PgmName = "DvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -60,7 +60,7 @@ SObject pwrb:Class
Object IiObject $Intern 1
Body SysBody
Attr PgmName = "IiObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -71,7 +71,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -54,7 +54,7 @@ SObject pwrb:Class
Object IoObject $Intern 1
Body SysBody
Attr PgmName = "IoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -65,7 +65,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -57,34 +57,18 @@ SObject pwrb:Class
Object DevBody $ObjBodyDef 2
!/**
! Used by the PLC Editor. Specifies the complete name of
! the current object.
! the current attribute.
!*/
Object Object $Intern 1
Body SysBody
Attr PgmName = "Object"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Used by the PLC Editor. Specifies the name of the
! parameter. The editor is case-sensitive on this
! attribute; i.e. if the attribute is named ActualValue
! it has to be written ActualValue and not ACTUALVALUE,
! for example.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the StoIp
! object. The segments are counted from behind.
......@@ -112,7 +96,7 @@ SObject pwrb:Class
Attr parameters[2] = 0
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 15
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 1
Attr default_mask[1] = 0
......
......@@ -58,7 +58,7 @@ SObject pwrb:Class
Object IvObject $Intern 1
Body SysBody
Attr PgmName = "IvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -62,7 +62,7 @@ SObject pwrb:Class
Object CoObject $Intern 1
Body SysBody
Attr PgmName = "CoObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......@@ -73,7 +73,7 @@ SObject pwrb:Class
!*/
Object SigChanCon $Intern 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr Flags |= PWR_MASK_INVISIBLE
Attr NiNaAnnot = 2
Attr NiNaCond = 1
......
......@@ -59,29 +59,13 @@ SObject pwrb:Class
Object Object $Intern 1
Body SysBody
Attr PgmName = "Object"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "sts"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
EndBody
EndObject
!/**
! Used by the PLC Editor. Specifies the name of the
! parameter. The editor is case-sensitive on this
! attribute; i.e. if the attribute is named ActualValue
! it has to be written ActualValue and not ACTUALVALUE,
! for example.
!*/
Object Parameter $Intern 2
Body SysBody
Attr PgmName = "Parameter"
Attr TypeRef = "pwrs:Type-$String80"
Attr GraphName = "par"
Attr NiNaAnnot = 2
Attr ConPointNr = 0
EndBody
EndObject
!/**
! Specifies how many segments of the actual object name
! that is to be displayed in the symbol of the StoSp
! object. The segments are counted from behind.
......@@ -109,7 +93,7 @@ SObject pwrb:Class
Attr parameters[2] = 0
Attr parameters[3] = 0
Attr subwindows = 0
Attr graphmethod = 15
Attr graphmethod = 7
Attr graphindex = 0
Attr default_mask[0] = 1
Attr default_mask[1] = 0
......
......@@ -55,7 +55,7 @@ SObject pwrb:Class
Object SvObject $Intern 1
Body SysBody
Attr PgmName = "SvObject"
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
Attr GraphName = "In"
Attr NiNaAnnot = 1
Attr NiNaSegments = 1
......
......@@ -30,7 +30,8 @@ all : init copy lib exe
init :
copy : $(inc_dir)/pwr_systemclasses.h
copy : $(inc_dir)/pwr_systemclasses.h \
$(inc_dir)/pwr_systemclasses.hpp
lib : $(load_dir)/pwrs.dbs
......@@ -50,6 +51,10 @@ $(inc_dir)/pwr_systemclasses.h :
@ echo "Generating struct files for pwrs classes..."
@ co_convert -s -d $(inc_dir) "$(pwre_sroot)/wbl/pwrs/src/pwrs_c_*.wb_load"
$(inc_dir)/pwr_systemclasses.hpp :
@ echo "Generating hpp files for pwrs classes..."
@ co_convert -po -d $(inc_dir) "$(pwre_sroot)/wbl/pwrs/src/pwrs_c_*.wb_load"
$(doc_dir)/orm/pwrs_allclasses.html :
@ echo "Generating html files for pwrs classes..."
@ co_convert -w -d $(doc_dir)/orm -g $(pwre_sroot)/wbl/pwrs/src/cnv_setup.dat "$(pwre_sroot)/wbl/pwrs/src/pwrs_*.wb_load"
......
......@@ -790,6 +790,54 @@ SObject pwrs:Class
EndObject
EndObject
EndObject
Object ConfiguratorPxsxx $Menu
Object Pointed $Menu
Object Open $MenuButton
Body SysBody
Attr ButtonName = "Open Object..."
Attr MethodName = "$Object-OpenObject"
EndBody
EndObject
Object Help $MenuButton
Body SysBody
Attr ButtonName = "Help"
Attr MethodName = "$Object-Help"
Attr FilterName = "$Object-HelpFilter"
EndBody
EndObject
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Object-HelpClass"
Attr FilterName = "$Object-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object NavigatorPxsxx $Menu
Object Pointed $Menu
Object Open $MenuButton
Body SysBody
Attr ButtonName = "Open Object..."
Attr MethodName = "$Object-OpenObject"
EndBody
EndObject
Object Help $MenuButton
Body SysBody
Attr ButtonName = "Help"
Attr MethodName = "$Object-Help"
Attr FilterName = "$Object-HelpFilter"
EndBody
EndObject
Object HelpClass $MenuButton
Body SysBody
Attr ButtonName = "Help Class"
Attr MethodName = "$Object-HelpClass"
Attr FilterName = "$Object-HelpClassFilter"
EndBody
EndObject
EndObject
EndObject
Object RtXtt $RtMenu
Object OpenGraph $MenuButton
Body SysBody
......
......@@ -52,7 +52,7 @@ SObject pwrs:Class
!*/
Object DefGraph $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -62,7 +62,7 @@ SObject pwrs:Class
!*/
Object DefTrend $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
Attr TypeRef = "pwrs:Type-$AttrRef"
EndBody
EndObject
!/**
......@@ -107,10 +107,10 @@ SObject pwrs:Class
Object ConnectGraph $MenuButton
Body SysBody
Attr ButtonName = "Connect Graph"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefGraph"
Attr MethodArguments[1] = "XttGraph"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefGraph"
Attr FilterArguments[1] = "XttGraph"
EndBody
......@@ -118,10 +118,10 @@ SObject pwrs:Class
Object ConnectTrend $MenuButton
Body SysBody
Attr ButtonName = "Connect Trend"
Attr MethodName = "$Objid-Connect"
Attr MethodName = "$AttrRef-Connect"
Attr MethodArguments[0] = "DefTrend"
Attr MethodArguments[1] = "DsTrend,PlotGroup"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterName = "$AttrRef-IsOkConnect"
Attr FilterArguments[0] = "DefTrend"
Attr FilterArguments[1] = "DsTrend,PlotGroup"
EndBody
......
......@@ -16,7 +16,7 @@ SObject pwrs:Class
Body SysBody
Attr StructName = "PlcConnection"
EndBody
Object objdid $Attribute 1
Object oid $Attribute 1
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
......@@ -26,7 +26,7 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object classid $Attribute 3
Object cid $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$ClassId"
EndBody
......@@ -56,7 +56,7 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object source_node_did $Attribute 9
Object source_oid $Attribute 9
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
......@@ -66,7 +66,7 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object dest_node_did $Attribute 11
Object dest_oid $Attribute 11
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
......@@ -83,7 +83,7 @@ SObject pwrs:Class
Attr Class = pwr_eClass_Point
EndBody
EndObject
Object window_did $Attribute 14
Object woid $Attribute 14
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
......
......@@ -30,12 +30,12 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object classid $Attribute 2
Object cid $Attribute 2
Body SysBody
Attr TypeRef = "pwrs:Type-$ClassId"
EndBody
EndObject
Object object_did $Attribute 3
Object oid $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
......@@ -60,12 +60,12 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$Float32"
EndBody
EndObject
Object window_did $Attribute 8
Object woid $Attribute 8
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
EndObject
Object subwind_objdid $Attribute 9
Object subwind_oid $Attribute 9
Body SysBody
Attr Flags |= PWR_MASK_ARRAY
Attr Elements = 2
......
......@@ -16,7 +16,7 @@ SObject pwrs:Class
Body SysBody
Attr StructName = "PlcProgram"
EndBody
Object objdid $Attribute 1
Object oid $Attribute 1
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
......@@ -26,7 +26,7 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object classid $Attribute 3
Object cid $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$ClassId"
EndBody
......@@ -38,7 +38,7 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object reset_objdid $Attribute 5
Object reset_oid $Attribute 5
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
......@@ -48,7 +48,7 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object window_did $Attribute 7
Object woid $Attribute 7
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
......
......@@ -16,7 +16,7 @@ SObject pwrs:Class
Body SysBody
Attr StructName = "PlcWindow"
EndBody
Object objdid $Attribute 1
Object oid $Attribute 1
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
......@@ -26,7 +26,7 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object classid $Attribute 3
Object cid $Attribute 3
Body SysBody
Attr TypeRef = "pwrs:Type-$ClassId"
EndBody
......@@ -66,7 +66,7 @@ SObject pwrs:Class
Attr TypeRef = "pwrs:Type-$Int32"
EndBody
EndObject
Object parent_node_did $Attribute 11
Object poid $Attribute 11
Body SysBody
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
......
......@@ -30,7 +30,8 @@ all : init copy exe
init :
copy : $(inc_dir)/pwr_ssabclasses.h
copy : $(inc_dir)/pwr_ssabclasses.h \
$(inc_dir)/pwr_ssabclasses.hpp
lib : $(load_dir)/ssab.dbs
......@@ -48,7 +49,11 @@ $(load_dir)/ssab.dbs :
$(inc_dir)/pwr_ssabclasses.h :
@ echo "Generating struct files for ssab classes..."
@ co_convert -sv -d $(inc_dir) "$(pwre_sroot)/wbl/ssab/src/ssab_c_*.wb_load"
@ co_convert -s -d $(inc_dir) "$(pwre_sroot)/wbl/ssab/src/ssab_c_*.wb_load"
$(inc_dir)/pwr_ssabclasses.hpp :
@ echo "Generating hpp files for ssab classes..."
@ co_convert -po -d $(inc_dir) "$(pwre_sroot)/wbl/ssab/src/ssab_c_*.wb_load"
$(doc_dir)/orm/ssab_allclasses.html :
@ echo "Generating html files for ssab classes..."
......
......@@ -31,7 +31,8 @@ all : init copy exe
init :
copy : $(inc_dir)/pwr_tlogclasses.h
copy : $(inc_dir)/pwr_tlogclasses.h \
$(inc_dir)/pwr_tlogclasses.hpp
lib : $(load_dir)/tlog.dbs
......@@ -49,7 +50,11 @@ $(load_dir)/tlog.dbs :
$(inc_dir)/pwr_tlogclasses.h :
@ echo "Generating struct files for tlog classes..."
@ co_convert -sv -d $(inc_dir) "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load"
@ co_convert -s -d $(inc_dir) "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load"
$(inc_dir)/pwr_tlogclasses.hpp :
@ echo "Generating hpp files for tlog classes..."
@ co_convert -po -d $(inc_dir) "$(pwre_sroot)/wbl/tlog/src/tlog_c_*.wb_load"
$(doc_dir)/orm/tlog_allclasses.html :
@ echo "Generating html files for tlog classes..."
......
......@@ -134,6 +134,12 @@ const char *wb_adef::name()
return m_adrep->name();
}
const char *wb_adef::subName()
{
check();
return m_adrep->subName();
}
wb_name wb_adef::longName()
{
check();
......@@ -145,3 +151,16 @@ void *wb_adef::body( void *p)
check();
return m_adrep->body( p);
}
bool wb_adef::isClass()
{
check();
return m_adrep->isClass();
}
pwr_tCid wb_adef::subClass()
{
check();
return m_adrep->subClass();
}
......@@ -49,8 +49,11 @@ public:
wb_adef prev();
const char *name();
const char *subName();
wb_name longName();
void *body( void *p = 0);
bool isClass();
pwr_tCid subClass();
private:
void check();
......
......@@ -18,9 +18,10 @@ wb_adrep *wb_adrep::ref()
}
wb_adrep::wb_adrep( wb_orep& o): m_nRef(0), m_orep(&o), m_sts(LDH__SUCCESS),
m_subClass(pwr_eClass__)
m_subClass(pwr_eClass__), m_isSubattr(false)
{
m_orep->ref();
strcpy( m_subName, "");
pwr_tStatus sts;
switch ( m_orep->cid()) {
......@@ -34,11 +35,15 @@ wb_adrep::wb_adrep( wb_orep& o): m_nRef(0), m_orep(&o), m_sts(LDH__SUCCESS),
strcpy( m_pgmname, attr.Info.PgmName);
m_size = attr.Info.Size;
m_type = attr.Info.Type;
m_offset = attr.Info.Offset;
m_offset = m_suboffset = attr.Info.Offset;
m_elements = attr.Info.Elements;
m_paramindex = attr.Info.ParamIndex;
m_flags = attr.Info.Flags;
m_tid = attr.TypeRef;
if ( m_flags & PWR_MASK_CLASS)
m_subClass = attr.TypeRef;
else
m_subClass = 0;
break;
}
case pwr_eClass_Intern:
......@@ -53,12 +58,15 @@ wb_adrep::wb_adrep( wb_orep& o): m_nRef(0), m_orep(&o), m_sts(LDH__SUCCESS),
strcpy( m_pgmname, attr.Info.PgmName);
m_size = attr.Info.Size;
m_type = attr.Info.Type;
m_offset = attr.Info.Offset;
m_offset = m_suboffset = attr.Info.Offset;
m_elements = attr.Info.Elements;
m_paramindex = attr.Info.ParamIndex;
m_flags = attr.Info.Flags;
m_tid = attr.TypeRef;
if ( m_flags & PWR_MASK_CLASS)
m_subClass = attr.TypeRef;
else
m_subClass = 0;
break;
}
......@@ -72,7 +80,7 @@ wb_adrep::wb_adrep( wb_orep& o): m_nRef(0), m_orep(&o), m_sts(LDH__SUCCESS),
strcpy( m_pgmname, attr.Info.PgmName);
m_size = attr.Info.Size;
m_type = attr.Info.Type;
m_offset = attr.Info.Offset;
m_offset = m_suboffset = attr.Info.Offset;
m_elements = attr.Info.Elements;
m_paramindex = attr.Info.ParamIndex;
m_flags = attr.Info.Flags;
......@@ -90,7 +98,7 @@ wb_adrep::wb_adrep( wb_orep& o): m_nRef(0), m_orep(&o), m_sts(LDH__SUCCESS),
strcpy( m_pgmname, attr.Info.PgmName);
m_size = attr.Info.Size;
m_type = attr.Info.Type;
m_offset = attr.Info.Offset;
m_offset = m_suboffset = attr.Info.Offset;
m_elements = attr.Info.Elements;
m_paramindex = attr.Info.ParamIndex;
m_flags = attr.Info.Flags;
......@@ -108,7 +116,7 @@ wb_adrep::wb_adrep( wb_orep& o): m_nRef(0), m_orep(&o), m_sts(LDH__SUCCESS),
strcpy( m_pgmname, attr.Info.PgmName);
m_size = attr.Info.Size;
m_type = attr.Info.Type;
m_offset = attr.Info.Offset;
m_offset = m_suboffset = attr.Info.Offset;
m_elements = attr.Info.Elements;
m_paramindex = attr.Info.ParamIndex;
m_flags = attr.Info.Flags;
......@@ -135,6 +143,16 @@ wb_adrep *wb_adrep::next( pwr_tStatus *sts)
return 0;
wb_adrep *adrep = new wb_adrep( (wb_orep& ) *orep);
if ( m_isSubattr) {
adrep->m_isSubattr = true;
adrep->m_offset = m_offset + adrep->m_offset - m_suboffset;
strcpy( adrep->m_subName, m_subName);
char *s;
if ( (s = strrchr( adrep->m_subName, '.')))
strcpy( s+1, adrep->name());
else
strcpy( adrep->m_subName, "");
}
return adrep;
}
......@@ -218,6 +236,34 @@ const char *wb_adrep::name() const
return m_orep->name();
}
void wb_adrep::add( wb_adrep *ad, int idx)
{
m_isSubattr = true;
if ( ad->m_flags & PWR_MASK_ARRAY)
m_offset += ad->m_offset + idx * ad->m_size / ad->m_elements;
else
m_offset += ad->m_offset;
if ( !ad->m_isSubattr)
strcpy( m_subName, ad->name());
else
strcpy( m_subName, ad->m_subName);
if ( ad->m_flags & PWR_MASK_ARRAY)
sprintf( &m_subName[strlen(m_subName)], "[%d]", idx);
strcat( m_subName, ".");
strcat( m_subName, m_orep->name());
}
const char *wb_adrep::subName() const
{
if ( strcmp( m_subName, "") == 0)
return m_orep->name();
else
return m_subName;
}
wb_name wb_adrep::longName()
{
return m_orep->longName();
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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