Introduction


Object Overview


Proview contains a large number of various classes. The following links makes an attempt to give
an overview of the classes. Note that all classes are not present in the overview.

Project Configuration                       Classes used in the directory volume to configure a project
Plant Configuration                       Classes used to configure the plant in the Plant Hierarchy
Node Configuration                       Classes used to configure the hardware and servers in the Node Hierarchy
Plc Programming                         Function objects used to program the plc
Class Definition                        Classes used in the class editor to define classes

Introduction to objects and classes

Classes

An object class represents a well-defined function or method. It is characterised in one way
in the development environment, for example by a symbol and certain attributes, and in another
way in the target environment. From a general point of view a class contains data and code.
Executable code exists only in the target environment.

The data of the class is divided into head and body. The object head, which has the same
appearance in all object classes, is described in PROVIEW/R Designer's Guide . The attributes
of an object class, which are used to describe the current state of a single object, are
located in the body. It is not quite sure that the whole body always is stored in rtdb.
The description of an object starts with the name of the object class and a short description
of the function of the class. After that the graphic appearance of the class follows as well
as the attributes of the object body.

Graphic appearance
If an object class has a graphic representation, the description starts with its symbol as it
looks like when all in- and outputs are shown. In- and outputs are shown only if they are marked
"Used" in the Object Editor. If the user wants to hide not used in-/outputs in the symbol of an
individual object, it is done by toggling the Used-flags by means of the Object Editor. Inputs
left open result in warnings at compilation, otherwise there is no difference in function
compared to inputs marked Unused.

Object classes with graphic representation have the common appearance:


The name of the object class appears from the head of the object symbol. Inputs are on the left
hand of the symbol; outputs on the right. In- and outputs designed for logical quantities are
denoted by lower-case letters and analog (=continuous) signals by capital letters.

To the inputs there are signals of corresponding types connected. Analog signals to analog inputs
and logical signals to logical inputs.

When an object attribute has to be assigned a constant value, which does not exist as an
independent signal, the use of an Av or Dv object, connected to the input by a GetAv or GetDv
object, is recommended. This value can then be handled by means of the GetAv respectively GetDv
object's object display.

If the input signal is connected to an input, the value of the signal, in the normal case, is
stored in the object. But there are a number of exceptions of this rule when the value of the
signal is used without any previous storage. This is the case in e.g. And, Or, Xor, Timer, Wait,
Waith, Pulse, SR flip flops, ASup, DSup object class. That is the reason why some object
classes can not use inputs left open. If an input of this type is left open, the result would
be warning indications in both the SYNTAX-control and the COMPILE-operation in the PLC edit session.

The principle in reading the value of an input signal, whose value is not stored in rtdb (the
real-time database), is to read the corresponding output of the connection -- not the input itself.
The flags, InRtdb respectively NoRtdb, show if an input signal is stored in rtdb or not.

Not connected inputs receive a default value according to the type object of the class. This
default value is specified in most attributes and can be changed for some attributes by means
of the Object Editor in the development environment and for others in the target environment.

The last segment name of the object appears at the bottom of most object symbols; the default ends
with a figure.

Attributes

The attributes of the object bodies are described by

- attribute name
- attribute type    Specifies the data type of the attribute.
- attribute class   Specifies the attribute class.
- attribute flags   Bitmask for attribute properties.
Attribute class
$Attribute          Ordinary attribute
$Intern             Input attribute in plc function object class
$Intern             Intern attribute in plc function object class
$Output             Output attribute in plc function object class
Attribute type
The type entry indicates the expected data type of the data specified of the attribute. The
attribute itself does not have any data type.

Below is a list of the traditional standard data types.

Note! Attributes of the type pwr_tFloat32 are precise to 7 digits. It is worth to remember this,
especially in the use of objects as Timint, Sum etc. where the output can be very large numbers

Data Types
Boolean             Boolean type with value true or false
Float32             Float type, 32-bit. Standad for analog values
Float64             Float type, 64-bit
Int64               Signed integer type, 64-bit
Int32               Signed integer type, 32-bit
Int16               Signed integer type, 16-bit
Int8               Signed integer type, 8-bit
UInt64              Unsigned integer type, 64-bit
UInt32              Unsigned integer type, 32-bit
UInt16              Unsigned integer type, 16-bit
UInt8              Unsigned integer type, 8-bit
Char                Character type
String8             String type, 7 characters
String16            String type, 15 characters
String32            String type, 31 characters
String40            String type, 39 characters
String80            String type, 79 characters
String132           String type, 131 characters
Text1024            Text type, 1023 characters
URL                 URL type, 159 characters
Time                Absolute time
DeltaTime           Delta time
Enum                Enumeration value
Mask                Bitmask
Status              Status type
NetStatus           Network status type
Objid               Object identity
AttrRef             Attribute reference
VolumeId            Volume identity
ClassId             Class identity
Attribute Flags
Flags is a bitmask that contains the following bits

Pointer             Attribute is a pointer.
Array             Attribute is an array.
Backup             Not yet implemented.
CastAttr            Attribute can be casted.
State             Value is only valid in runtime environment.
Const             Contant value.
RtVirtual           Attribute is not valid in runtime.
DevBodyRef          DevBody contains a corresponding attribute.
Dynamic             Not yet implemented.
ObjidSelf           The attribute contains the objects owh objid.
NoEdit             The value can not be changed in the configurator.
Invisible           The attribute is invisible in the navigator.
RefDirect           Not yet implemented.
NoInvert            Function object input pin can not be inverted.
NoRemove            Input or output pin can not be removed.
RtdbRef            Not yet implemented.
Private            Private pointer.
Class            The attribute is an attribute object, i.e. it is defined by a class.
SuperClass          The attribute defines a superclass.
Buffer            The attribute is a buffer attribute.
NoWbl            The value of the attribute is not stored in wb_load files.
AlwaysWbl           The value of the attribute is always stored in wb_load files.
DisableAttr         The attribute can be disabled.
RtHide           The attribute is hidden in runtime.