Attributes to Configure in the Scan Device Point

Attribute Name Description
oracle table name Oracle database's table name for this scan device.
transfer direction

Direction of data transfer:

Value Description
0 for data transferred to the Oracle database
1 for data transferred from the Oracle database
2 for data transferred to the Oracle database but only if it has changed
3 for data transferred from the Oracle database with each successful transfer causing the record in the Oracle table to be deleted
4 for vector transfer of data to the Oracle database
5 for historical data transfer of data to the Oracle database
6 for data transferred to the Oracle database and upon failure to an SQL file
7 for vector transfer of data to the Oracle database and upon failure to an SQL file
8 for historical data transfer of data to the Oracle database and upon failure to an SQL file
9 for data transferred to the Oracle database but only if it has changed and upon failure to an SQL file
10 for data transferred to the sql filename only
11 for data transferred from the sql filename only
12 for vector data transferred to the sql filename only
13 for historical data transferred to the sql filename only
14 for updating data to the Oracle database
15 for updating data to the Oracle database and upon failure to an SQL file

 

[note] The "deadband" field in the device independent section of the scan input table is used to save the previous value and the last historical record (non-CE)/timestamp (CE) for historical transfers. Since this attribute is an rtDOUBLE, only numeric values can be transferred with a transfer direction value of two (see above).

 

[warning] When the transfer direction includes a transfer to a file if the Oracle database is unreachable, the file will be appending to until the connection to the Oracle database is re-established. This file will grow without bounds, therefore, due care should be taken to ensure that the file(s) do not fill up the available disk space (see sql file interval and/or sql file path below).
cross ref table

A cross reference table to relate Oracle table fields to RTAP point attributes. This table contains the following information:

Field Number Field Name DE Type Possible Values
0 oracle field rtBytes20 (see below)
1 rtap attribute (see below) (see below)
2 conv rtap de type rtUInt32 Any valid RTAP DE type

Where:

Field Name Description
oracle field The Oracle field name corresponding with the RTAP attribute. This field can be either an rtBytes20, rtBytes32, or rtBytes48 data element type. This is the Oracle field that data will either be saved into or read from (for example, "PRESSURE_RECENT").
rtap attribute

The RTAP attribute name corresponding with the Oracle field. This field can be either an rtBytes32, rtBytes48, rtBytes64, or rtBytes80 data element type. This is the RTAP attribute where data will either be read from or saved to. The attribute name should be specified down to the record level for vectors, and record and field level for tables (i.e. only one value will be read/saved) except when using the vector transfer method. For historical data transfer to Oracle, this value specifies the historical table's field name. The following additional keyword functions can be used (must be exactly as shown):

Function Description
[alias] use the current RTAP point's alias
[alias]^^^ use the current RTAP point's parent(s) alias. The number of `^', determines the number of levels to traverse upwards. For example, two `^', would result in the RTAP point's grandparent's alias.
[index] only valid for vector transfers to Oracle. For each record sent to Oracle, a corresponding record number will be sent for this field. The numbering starts at zero. If this functions is specified, the conv rtap de type must be specified.
[pointName] use the current RTAP point's name
[pointName]^^^ use the current RTAP point's parent(s) point name. The number of `^', determines the number of levels to traverse upwards. For example, two `^', would result in the RTAP point's grandparent's point name.
[time] use the current time
[time(attribute)]

use the time specified in attribute.

[note] For both [time] and [time(attribute)] functions, the following format can be appended to the function, to fix the seconds, minutes and/or the hours in the time stamp value:
/00-s/00-m/00-h
                

where:

00number between 0 and 59

sfor fixing the number of seconds

mfor fixing the number of minutes

hfor fixing the number of hours

For example:

[time(.time stamp)]/00-s/00-m
                

would set both the seconds and minutes for the time specified in ".time stamp" to zero.

[v]

send a constant value that is specified after this keyword function. For example, use "[v]1.2345" to send a constant value of 1.2345. The value is converted using the RTAP rtStrToType(3) call, therefore, all values must be specified in the appropriate format (e.g. to send string values, use an escaped " to enclose the string, "[v]\"abcde\"").

[note] If this keyword function ([v]) is used, a valid RTAP data element type must be specified in conv rtap de type field.
{attribute} use indirection to get the actual database address of value(s) to be read. The attribute specified must be either an rtBytes or rtDbXref data element type.
[q]attribute

send the numeric quality of the specified attribute.

[note] If this keyword function ([q]) is used, a valid RTAP data element type must be specified in conv rtap de type field.

 

[warning] The data element type must be numeric.
[hv]attribute This function is used to extract the "historical value" for the specified "attribute".
[ht]attribute This function is used to extract the "historical time" values for the specified "attribute".
[hf]attribute This function is used to extract the "historical flag" values for the specified "attribute".
[hq]attribute

This function is used to extract the "historical quality" values for the specified "attribute".

[note] These historical extraction functions are only available for the new CE based RTAP data historian.

 

[note] Only one set of the historical extraction functions can be used in the cross reference table. This is because the RTAP data historian will only save a single data value.
[sqlWhere] This function is used to insert an SQL WHERE keyword and is only valid for updates (see transfer direction) to the Oracle database.
[sqlOr] This function is used to insert an SQL OR keyword as part of the where condition and is only valid for updates (see transfer direction) to the Oracle database.
[sqlAnd] This function is used to insert an SQL AND keyword as part of the where condition and is only valid for updates (see transfer direction) to the Oracle database.
[sql(] This function is used to insert an open bracket as part of the where condition and is only valid for updates (see transfer direction) to the Oracle database.
[sql)]

This function is used to insert a closed bracket as part of the where condition and is only valid for updates (see transfer direction) to the Oracle database.

[note] These SQL keywords should be entered into both the oracle field and rtap attribute fields.
conv rtap de type

A data element type used to convert values read from the RTAP database before it is sent to the Oracle database. If this value is 0 (rtUNDEFINED), the data element type of the value given by the rtap attribute will be used. Note that the data element type of the rtap attribute value must be the same for all points (see scan input table) if this value is not specified (i.e. it is an error to try and send values of different data element types without specifying this value; however if the max recs per trans value specified in the communication port point is set to one, values can have different data element types, since they will be sent on a per scan input table record (i.e. point) basis). For a list of RTAP data element types see "Data Element Types" section in the RTAP Reference Manual.

[note] If the data transfer is from the Oracle database, a record in the cross ref table must contain the "[alias]" keyword function in the rtap attribute field.
debug level A debug level used to determine the amount of information printed to the debug device. A debug level of zero indicates that no debug information is to be printed to the debug device. The debug information consists of the SQL call being used to transfer data. Note that the DELETE SQL call is not displayed after a record is read from the Oracle database
sql filename The filename where SQL statements will be saved to if unable to connect with the oracle database. If this value is empty, the current scan device alias name will be used.
sql file interval

This attribute specifies the interval that files will be created if we're not connected to oracle. The file will use either the "sql filename" or alias name followed by the current day of the year followed by an index into the current day. The index is calculated as follows:

current second in the day / sql file interval

[note] If this attribute is zero, then no extensions will be put on the filename and only one file will be used.
sql file path This attribute contains a list of directories separated by ':' (colon) of where to search for files; when we're re-connected to oracle. The directories should be specified either absolutely or relative to the environment directory.
no attr ok If set to one, specifies that a non-existant attribute/historical field will result in NULL being sent as the value; otherwise an error will occur and nothing will be sent. If this is set to one, the conv rtap de type value must be set for any attributes/historical fields you expect to be non-existant.
check message q If set to one, will cause the scan task to check for messages on the message queue after processing each saved transaction in the SQL file. If any message(s) exists on the queue, it is processed before continuing on with any further transactions from the SQL file.
if file append If set to one and the transfer direction is set such that a file can be created, will cause all transactions to check to see if the file exists and if it does, will append the transaction(s) to the file. This has the affect of ensuring that all transactions are kept in sequential order. The default if this attribute does not exist is zero.