pascalSCADA OPM: Tag

Pascal SCADA OPM

Unit Tag

Uses
Functions and Procedures
Constants
Variables

Description

Implements the base class of tags.

:

****************************** History ******************************* *********************************************************************** 07/2013 - Avoid the use of Linux-Widget if fpc >= 2.7.1 (CONSOLEPASCALSCADA) ***********************************************************************

Overview

Classes, Interfaces, Objects and Records

Name Description
Record TTagRec  
Interface IManagedTagInterface  
Interface IScanableTagInterface  
Class TTag  
Record TScanUpdateRec  

Types

TRefreshTime = 1..$7FFFFFFF;
TArrayOfDouble = array of double;
PArrayOfDouble = ˆTArrayOfDouble;
TTagType = (...);
TTagCommand = (...);
TProtocolIOResult = (...);
TTagCommandCallBack = procedure(Values:TArrayOfDouble; ValuesTimeStamp:TDateTime; TagCommand:TTagCommand; LastResult:TProtocolIOResult; OffSet:LongInt) of object;
PTagRec = ˆTTagRec;
TTagNotificationList = array of TNotifyEvent;
TASyncValueChangeNotify = procedure(Sender:TObject; const Value:TArrayOfDouble) of object;
TASyncStringValueChange = procedure(Sender:TObject; const Value:AnsiString) of object;
TArrayOfScanUpdateRec = array of TScanUpdateRec;

Description

Types

TRefreshTime = 1..$7FFFFFFF;

: Defines the the update rate range of tags.

TArrayOfDouble = array of double;

: Dynamic array of double.

PArrayOfDouble = ˆTArrayOfDouble;

: Points to a array of doubles.

TTagType = (...);

: Enumerates all tag data types.

Values
  • pttDefault: Word length and data type variable.
  • pttShortInt: size variable
  • pttByte: Unsigned LongInt, 8 bits sized.
  • pttSmallInt: 8 bits
  • pttWord
  • pttLongInt: 16 bits
  • pttDWord
  • pttFloat: Float, 32 bits sized.
  • pttInt64: 32 bits
  • pttQWord: Unsigned LongInt, 64 bits sized
  • pttDouble: Float, 64 bits sized.
TTagCommand = (...);

: Enumerates all commands accept by the tag.

Values
  • tcScanRead: Values are read using the driver scan.
  • tcScanWrite: Values are write using the driver scan.
  • tcRead: Values are read synchronous (without driver scan).
  • tcWrite: Values are write synchronous (without driver scan).
  • tcInternalUpdate: Internal tag update command.
TProtocolIOResult = (...);

: Enumerates all results that can be returned by the protocol driver to a read/write request of a tag.

Values
  • ioNone
  • ioDriverError: Internal driver error.
  • ioCommError: Communication error.
  • ioOk: Sucessfull request.
  • ioTimeOut: Communication timeout.
  • ioIllegalFunction: Invalid IO function.
  • ioIllegalRegAddress: Invalid memory address.
  • ioIllegalValue: Invalid value.
  • ioPLCError: Device error.
  • ioTagError: Internal tag error.
  • ioNullDriver: Tag without a driver.
  • ioIllegalRequest: The request is invalid or not supported.
  • ioIllegalStationAddress: Invalid device address.
  • ioObjectNotExists: The requested object doesn't exists.
  • ioObjectAccessNotAllowed
  • ioIllegalMemoryAddress: The request is out of bound of the memory space of device.
  • ioUnknownError: A invalid error code was returned.
  • ioEmptyPacket: A empty packet was returned.
  • ioPartialOk: An action was partially successful.
  • ioAcknowledge
  • ioBusy
  • ioNACK
  • ioMemoryParityError
  • ioGatewayUnavailable
  • ioDeviceGatewayFailedToRespond
  • ioReadOnlyProtocol
TTagCommandCallBack = procedure(Values:TArrayOfDouble; ValuesTimeStamp:TDateTime; TagCommand:TTagCommand; LastResult:TProtocolIOResult; OffSet:LongInt) of object;

: Callback called by the protocol driver (TProtocolDriver) to return the result of an request and theirs values.

Parameters
Values
TArrayOfDouble: Array with the values read/written.
ValuesTimeStamp
TDateTime: Date/Time when these values are read/written.
TagCommand
TTagCommand: Command type.
LastResult
TProtocolIOResult: I/O result after process this request.
Offset
Cardinal: Block Offset.
PTagRec = ˆTTagRec;

: Points to a tag structure

TTagNotificationList = array of TNotifyEvent;
 
TASyncValueChangeNotify = procedure(Sender:TObject; const Value:TArrayOfDouble) of object;
 
TASyncStringValueChange = procedure(Sender:TObject; const Value:AnsiString) of object;
 
TArrayOfScanUpdateRec = array of TScanUpdateRec;
 

Authors


Generated by PasDoc 0.14.0.