Previous Table of Contents Next


4.2.8.2 IDL


   //File: DAISDASimpleIO.idl#ifndef _DAIS_DA_SIMPLE_IO_IDL#define _DAIS_DA_SIMPLE_IO_IDL#include <DAISCommon.idl>

   module DAIS {module DataAccess {module SimpleIO {

   enum DataSource { DS_CACHE, DS_DEVICE

   };

   struct ItemError {

}; typ Error ServerItemIdentification string edef sequence<ItemError> err; id; reason; ItemErrors;
{ str uct ItemState
SimpleValue DateTime Quality ServerItemIdentification value; time_stamp; dais_quality; id;
};

   typedef sequence<ItemState>ItemStates;

   struct ItemUpdate

   { ServerItemIdentification id; SimpleValue value;

   };typedef sequence<ItemUpdate> ItemUpdates;

   interface IHome {

   ItemStates read ( in DataSource data_source, in ServerItemIdentifications ids, out ItemErrors errors

    );

   ItemErrors write_with_qt ( in ItemStates updates );

   ItemErrors write ( in ItemUpdates updates

    ); };};};}; #endif // _DAIS_DA_SIMPLE_IO_IDL DataSource

   Find all public groups defined in the server.

Member Description
DS_CACHE Data cached in the server is requested.
DS_DEVICE Data from the device is requested. This will force a read from the device or RTU. A read from device will be made regardless of the group or item active status and no group NotActive exception will be forced.

   ItemError

   A struct for reporting of item related errors. The struct is different from the DAIS::ItemError because no handles are used to identify the item in SimpleIO.

Member

Description

err An error code as described for DAIS::ItemError.
id The identification of the item.
reason An additional text explaining the error.

   ItemState

   The struct is the carrier of data conveyed over the interface. It is the “message? holding the payload. This is basically the same struct as DataAccess::IO::ItemState with the difference that instead of a handle for identification the full server identification is used.

Member Description
value The value itself.
time_stamp The time stamp when the value was last updated.
quality The quality for the value.
id The identification of the value in the server.

   ItemUpdate

   The struct carries an update for an item.

Member

Description

id The identification of the value in the server.
value The value that shall be used in the update.

   IHome

   The interface for simple IO operations.

   read

   Synchronous read of items. Inactive items will be reported with OPCQuality set to OPC_QUALITY_OUT_OF_SERVICE.

Parameter Description
data_source The source from where to read the data, see DataSource above.
ids A sequence specifying the server identifications to read.
errors A sequence reporting items for which the read failed. An empty sequence indicates all read operations succeeded. Reported errors are: • ERROR_BAD_RIGHTS (item is write only) • ERROR_UNKNOWN_PATHNAME • ERROR_UNKNOWN_ITEMID
return A sequence of ItemStates for the items.

   write_with_qt

   Synchronous write of item values including quality and time stamp. The active state of the group or the items is ignored.

Parameter Description
updates A sequence of ItemStates specifying the updates including time stamp and quality.
return A sequence reporting items for which the write failed. An empty sequence indicates write operations for all items succeeded. Reported errors are: • ERROR_BAD_RIGHTS (item is read only) • ERROR_UNKNOWN_PATHNAME • ERROR_UNKNOWN_ITEMID • ERROR_CLAMPED • ERROR_OUT_OF_RANGE • ERROR_BAD_TYPE

   write

   Synchronous write of item values only. The active state of the group or the items is ignored.

Parameter Description
updates A sequence of ItemUpdates specifying the update values.
return A sequence reporting items for which the write failed. An empty sequence indicates write operations for all items succeeded. Reported errors are: • ERROR_BAD_RIGHTS (item is read only) • ERROR_UNKNOWN_PATHNAME • ERROR_UNKNOWN_ITEMID • ERROR_CLAMPED • ERROR_OUT_OF_RANGE • ERROR_BAD_TYPE.