Commit 3935383a authored by claes's avatar claes

Documentation for id types and status

parent a3750958
......@@ -19,6 +19,21 @@ SObject pwrs:Type
! - offset of the attribute
! - size of the attribute
! - a flagword. If the bit Indirect is set, the attribute is a pointer.
!
! The string notation for an attrref is
! _A<vid>:<oix>(<classvolume>:<class>).<attribute>[index], e.g.
! _A0.123.34.63:1234567890(pwrb:Ai).FilterAttribute[2]
!
! or if the class is unknown, the notation is
! _A<vid>:<oix>(<cid>).(<bix>)<offset>.<size>, e.g.
! _A0.123.34.63.1234567890(_C0.1:34).(_B1)60.34
!
! where
! vid is the volume id for the object.
! oix is the object index for the object.
! cid is classid for the class of the object.
! bix is body index for the body of the attribute.
!
!*/
Object $AttrRef pwr_eClass_Type pwr_eTix_AttrRef
Body SysBody
......
......@@ -14,6 +14,41 @@ SObject pwrs:Type
!
! Every class has a unic identity, derived from the classvolume
! identity and the class index.
!
! A class is described by classdefinition objects in a class volume. These
! objects has specific object identities, which is specified by the vid, cix,
! bix and aix.
! @image orm_classid_1.gif
! The figure above describes an objid for classdefinition objects. The black fields
! must have the values specified in the figure, the gray fields are reserved
! for future use.
! @b vid
! The volume identity of the class volume where the class i defined. Only the
! two lower entities of the volume identity can be used.
! @b cix
! The index of the class within the class volume. The cix consists of 12 bits
! which implies that the a class can have an index in the interval [1,4095].
! @b bix
! The index of a body within a class.
! 0 The class itself, i.e. the ClassDef object).
! 1 RtBody or SysBody.
! 2 DevBody.
! 3-6 Reserved for future use.
! 7 Template object.
! @b aix
! Index for an attribute within a body. The aix consists of 12 bits, which
! implies that each body in a class can have attributes with index in the
! interval [1,4095]
!
! @b ClassId
! The classid is a 32-bit reduction of the 64-bit object identity of the
! ClassDef object for the class. It contains the vid and the cix of the class.
! @image orm_classid_2.gif
!
! @b c-binding
! The classid is defined with a #define statement of type pwr_cClass_<class name>
! in the struct file for the class and the classvolume.
! System classes also has an enum pwr_eClass_<class name> declared in pwr_class.h
!*/
Object $ClassId pwr_eClass_Type pwr_eTix_ClassId
Body SysBody
......
......@@ -10,8 +10,20 @@ SObject pwrs:Type
! @Version 1.0
! @Code pwr.h
! @Group BasicTypes,Types
! Status value. Basic type.
! Status value with network supervision. Basic type.
!
! A NetStatus has the same properties as a common status type, but one
! property regarding the link to the onwer of the status object is added.
! When a netstatus reside on a remote node, the status 'Network timeout'
! with fatal severity is displayed, when the connection to the remote
! node is down.
! For example, the SystemStatus in the $Node object is a NetStatus.
! When the SystemStatus of a process station is displayed on an operator
! station, 'Network timeout' is displayed when the link to the process
! station is lost.
!
! @b See also
! @classlink Status pwrs_status.html
!*/
Object $NetStatus pwr_eClass_Type pwr_eTix_NetStatus
Body SysBody
......
......@@ -13,9 +13,13 @@ SObject pwrs:Type
! @Group BasicTypes,Types
! Object index. Basic type.
!
! Every object has an unic index within a volume.
! Every object has an unic index within a volume. The index is a 32-bit word.
! Together with the volume identity it constitutes the object identity.
!
! Object index
! 0 is used for the volume object.
! 1-2147483647 (bit 31 = 0) are used for user created objects.
! 2147483648-4294967295 (bit 31 = 1) are reserved by the system.
! @b See also
! @classlink Objid pwrs_objid.html
!*/
......
......@@ -16,6 +16,9 @@ SObject pwrs:Type
! The object identity consists of the volume identity and
! the object index.
!
! The string notation for an objid is _O<vid>:<oix>, e.g. _O1.23.4.2:126
! where vid is the volume identity and oix the object index.
! @image orm_objid_1.gif
! @b See also
! @classlink VolumeId pwrs_volumeid.html
! @classlink ObjectIx pwrs_objectix.html
......
......@@ -11,7 +11,35 @@ SObject pwrs:Type
! @Code pwr.h
! @Group BasicTypes,Types
! Status value. Basic type.
!
!
! A status is a 32-bit word, with the following properties
! @b Description
! The status word can be translated to a string that
! describes the status.
! @b Severity
! There are five types of severity: Success, Info, Warning, Error
! and Fatal. The severity is defined by the last 3 bits of the word.
! Note that status with OK severity is odd, and not OK severity is even.
!
! 001 (1) Success
! 011 (3) Info
! 000 (0) Warning
! 010 (2) Error
! 100 (4) Fatal
! @b c-binding
! All status values are defined in message includefiles, e.g.
! GDH__NOSUCHOBJ is defined in rt_gdh_msg.h
! @b Color coding
! Status values are displayed in graphs with different colors dependent
! on the severity.
!
! Success Green.
! Info Green.
! Warning Yellow.
! Error Red.
! Fatal Flashing red.
! @b See also
! @classlink NetStatus pwrs_netstatus.html
!*/
Object $Status pwr_eClass_Type pwr_eTix_Status
Body SysBody
......
......@@ -15,6 +15,44 @@ SObject pwrs:Type
!
! Every type has a unic identity, derived from the classvolume
! identity and the type index.
!
! A type is described by a typedefinition object in a class volume. This
! objects has a specific object identity, which is specified by the vid, tyg
! and tix.
! @image orm_typeid_1.gif
! The figure above describes an objid for typedefinition objects. The black fields
! must have the values specified in the figure, the gray fields are reserved
! for future use.
! @b vid
! The volume identity of the class volume where the class i defined. Only the
! two lower entities of the volume identity can be used.
! @b tyg
! The type group. The groups of typedefinition objects are:
! 0 Basic types, i.e. types defined with a $Type object.
! 1 Derived types, i.e. types defined with a $TypeDef object.
! 2-15 Reserved for future use.
! @b tix
! The index of a type within a classvolume. The tix consists of 11 bits, which
! implies that each group in a class volume can have types with index in the
! interval [1,2047]
!
! @b TypeId
! The typeid is a 32-bit reduction of the 64-bit object identity of the
! Type or TypeDef object for the type. It contains the vid, tyg and tix of the type.
! @image orm_typeid_2.gif
! If the type is a class, the typeid contains the vid, cix and bix for the class.
! So far the bix is always 1, only an RtBody or SysBody can be a type.
! @image orm_typeid_3.gif
!
! @b c-binding
! The classid is defined with a #define statement of type pwr_t<type name>
! in the struct file for the the classvolume.
! For system types, these definitions reside in pwr.h.
!*/
!
! @image orm_typeid_1.gif
! @image orm_typeid_2.gif
! @image orm_typeid_3.gif
!*/
Object $TypeId pwr_eClass_Type pwr_eTix_TypeId
Body SysBody
......
......@@ -24,6 +24,17 @@ SObject pwrs:Type
! WorkbenchVolume: 254. 254. 254. 254
! Local WorkbenchVolume: 254. 254. 254. 252
! VolatileVolume: 254. 254. 254.0-100
!
! Runtime: 1-253. . .
!
! In runtime 1-127 are used for system volumes
! 1 pwrNode Volume used by Proview.
!
! 128-253 are used to create unic identities:
! 128 Subid
! 129 Dlid
!
! The string notation for a volumeid is _Vv1.v2.v3.v4, e.g. _V0.0.1.4
!*/
Object $VolumeId pwr_eClass_Type pwr_eTix_VolumeId
Body SysBody
......
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