pascalSCADA OPM: ISOTCPDriver: Class TISOTCPDriver

Pascal SCADA OPM

Class TISOTCPDriver

Unit

ISOTCPDriver

Declaration

type TISOTCPDriver = class(TSiemensProtocolFamily)

Description

TISOTCPDriver

Hierarchy

Overview

Fields

Protected FPLCRack:LongInt;
Protected FPLCSlot:LongInt;
Protected FPLCStation:LongInt;
Protected FConnectionWay:TISOTCPConnectionWay;

Methods

Protected procedure SetISOConnectionWay(NewISOConWay:TISOTCPConnectionWay);
Protected function GetTagInfo(tagobj: TTag): TTagRec; override;
Protected function NotifyThisEvents: TNotifyThisEvents; override;
Protected procedure PortClosed(Sender: TObject); override;
Protected procedure PortDisconnected(Sender: TObject); override;
Protected function connectPLC(var CPU:TS7CPU):Boolean; override;
Protected function exchange(var CPU:TS7CPU; var msgOut:BYTES; var msgIn:BYTES; IsWrite:Boolean):Boolean; override;
Protected function getResponse(var msgIn:BYTES; var BytesRead:LongInt):TIOResult; override;
Protected procedure PrepareToSend(var msg: BYTES); override;
Protected function DoRead(const tagrec: TTagRec; out Values: TArrayOfDouble; Sync: Boolean): TProtocolIOResult; override;
Protected procedure DoGetValue(TagRec: TTagRec; var values: TScanReadRec); override;
Protected function DoWrite(const tagrec: TTagRec; const Values: TArrayOfDouble; Sync: Boolean): TProtocolIOResult; override;
Public constructor Create(AOwner:TComponent); override;
Public procedure UpdatePLCAddress(Rack, Slot, Station:LongInt);

Properties

Published property ReadSomethingAlways;
Published property ConnectionWay: TISOTCPConnectionWay read FConnectionWay write SetISOConnectionWay;
Published property PLCRack: longint read FPLCRack write SetPLCRack default 0;
Published property PLCSlot: LongInt read FPLCSlot write SetPLCSlot default 0;
Published property PLCStation: LongInt read FPLCStation write SetPLCStation default 2;
Published property ReadOnly;

Description

Fields

Protected FPLCRack:LongInt;
 
Protected FPLCSlot:LongInt;
 
Protected FPLCStation:LongInt;
 
Protected FConnectionWay:TISOTCPConnectionWay;
 

Methods

Protected procedure SetISOConnectionWay(NewISOConWay:TISOTCPConnectionWay);

: Defines the way to connect into the PLC.

Protected function GetTagInfo(tagobj: TTag): TTagRec; override;

: seealso(TSiemensProtocolFamily.GetTagInfo)

Protected function NotifyThisEvents: TNotifyThisEvents; override;

: seealso(TProtocolDriver.NotifyThisEvents)

Protected procedure PortClosed(Sender: TObject); override;

: seealso(TProtocolDriver.PortClosed)

Protected procedure PortDisconnected(Sender: TObject); override;

: seealso(TProtocolDriver.PortDisconnected)

Protected function connectPLC(var CPU:TS7CPU):Boolean; override;

: seealso(TSiemensProtocolFamily.connectPLC)

Protected function exchange(var CPU:TS7CPU; var msgOut:BYTES; var msgIn:BYTES; IsWrite:Boolean):Boolean; override;

: seealso(TSiemensProtocolFamily.exchange)

Protected function getResponse(var msgIn:BYTES; var BytesRead:LongInt):TIOResult; override;

: seealso(TSiemensProtocolFamily.getResponse)

Protected procedure PrepareToSend(var msg: BYTES); override;

: seealso(TSiemensProtocolFamily.PrepareToSend)

Protected function DoRead(const tagrec: TTagRec; out Values: TArrayOfDouble; Sync: Boolean): TProtocolIOResult; override;

: seealso(TSiemensProtocolFamily.doRead)

Protected procedure DoGetValue(TagRec: TTagRec; var values: TScanReadRec); override;
 
Protected function DoWrite(const tagrec: TTagRec; const Values: TArrayOfDouble; Sync: Boolean): TProtocolIOResult; override;

: seealso(TSiemensProtocolFamily.doWrite)

Public constructor Create(AOwner:TComponent); override;
 
Public procedure UpdatePLCAddress(Rack, Slot, Station:LongInt);

: Updates in a single call, Rack, Slot and Station, avoiding overhead.

Properties

Published property ReadSomethingAlways;

:

See also
TSiemensProtocolFamily.ReadSomethingAlways
Published property ConnectionWay: TISOTCPConnectionWay read FConnectionWay write SetISOConnectionWay;

: Defines the way to connect into the PLC.

See also
TISOTCPConnectionWay
Published property PLCRack: longint read FPLCRack write SetPLCRack default 0;

: Override the value TTag.PLCRack property by the value set here.

Due to ISOTCP allow connect to a single PLC through a TCP/IP connection, the property TTag.PLCRack has no effect. Therefore these information must be set through property PLCRack of each instance of this protocol.

See also
TTag.PLCRack
TISOTCPDriver
Published property PLCSlot: LongInt read FPLCSlot write SetPLCSlot default 0;

: Override the value TTag.PLCSlot property by the value set here.

Due to ISOTCP allow connect to a single PLC through a TCP/IP connection, the property TTag.PLCSlot has no effect. Therefore these information must be set through property PLCSlot of each instance of this protocol.

See also
TTag.PLCSlot
TISOTCPDriver
Published property PLCStation: LongInt read FPLCStation write SetPLCStation default 2;

: Override the value TTag.PLCStation property by the value set here.

Due to ISOTCP allow connect to a single PLC through a TCP/IP connection, the property TTag.PLCStation has no effect. Therefore these information must be set through property PLCStation of each instance of this protocol.

See also
TTag.PLCStation
TISOTCPDriver
Published property ReadOnly;
 

Generated by PasDoc 0.14.0.