pascalSCADA OPM: ISOTCPDriver: Class TISOTCPDriver
From Pascal SCADA OPM
Class TISOTCPDriver
Unit
Declaration
type TISOTCPDriver = class(TSiemensProtocolFamily)
Description
TISOTCPDriver
Hierarchy
- TComponent
- TProtocolDriver
- TSiemensProtocolFamily
- TISOTCPDriver
Overview
Fields
FPLCRack:LongInt; |
|
FPLCSlot:LongInt; |
|
FPLCStation:LongInt; |
|
FConnectionWay:TISOTCPConnectionWay; |
Methods
procedure SetISOConnectionWay(NewISOConWay:TISOTCPConnectionWay); |
|
function GetTagInfo(tagobj: TTag): TTagRec; override; |
|
function NotifyThisEvents: TNotifyThisEvents; override; |
|
procedure PortClosed(Sender: TObject); override; |
|
procedure PortDisconnected(Sender: TObject); override; |
|
function connectPLC(var CPU:TS7CPU):Boolean; override; |
|
function exchange(var CPU:TS7CPU; var msgOut:BYTES; var msgIn:BYTES; IsWrite:Boolean):Boolean; override; |
|
function getResponse(var msgIn:BYTES; var BytesRead:LongInt):TIOResult; override; |
|
procedure PrepareToSend(var msg: BYTES); override; |
|
function DoRead(const tagrec: TTagRec; out Values: TArrayOfDouble; Sync: Boolean): TProtocolIOResult; override; |
|
procedure DoGetValue(TagRec: TTagRec; var values: TScanReadRec); override; |
|
function DoWrite(const tagrec: TTagRec; const Values: TArrayOfDouble; Sync: Boolean): TProtocolIOResult; override; |
|
constructor Create(AOwner:TComponent); override; |
|
procedure UpdatePLCAddress(Rack, Slot, Station:LongInt); |
Properties
property ReadSomethingAlways; |
|
property ConnectionWay: TISOTCPConnectionWay read FConnectionWay write SetISOConnectionWay; |
|
property PLCRack: longint read FPLCRack write SetPLCRack default 0; |
|
property PLCSlot: LongInt read FPLCSlot write SetPLCSlot default 0; |
|
property PLCStation: LongInt read FPLCStation write SetPLCStation default 2; |
|
property ReadOnly; |
Description
Fields
FPLCRack:LongInt; |
|
FPLCSlot:LongInt; |
|
FPLCStation:LongInt; |
|
FConnectionWay:TISOTCPConnectionWay; |
|
Methods
procedure SetISOConnectionWay(NewISOConWay:TISOTCPConnectionWay); |
|
|
: Defines the way to connect into the PLC. | |
function GetTagInfo(tagobj: TTag): TTagRec; override; |
|
|
: seealso(TSiemensProtocolFamily.GetTagInfo) | |
function NotifyThisEvents: TNotifyThisEvents; override; |
|
|
: seealso(TProtocolDriver.NotifyThisEvents) | |
procedure PortClosed(Sender: TObject); override; |
|
|
: seealso(TProtocolDriver.PortClosed) | |
procedure PortDisconnected(Sender: TObject); override; |
|
|
: seealso(TProtocolDriver.PortDisconnected) | |
function connectPLC(var CPU:TS7CPU):Boolean; override; |
|
|
: seealso(TSiemensProtocolFamily.connectPLC) | |
function exchange(var CPU:TS7CPU; var msgOut:BYTES; var msgIn:BYTES; IsWrite:Boolean):Boolean; override; |
|
|
: seealso(TSiemensProtocolFamily.exchange) | |
function getResponse(var msgIn:BYTES; var BytesRead:LongInt):TIOResult; override; |
|
|
: seealso(TSiemensProtocolFamily.getResponse) | |
procedure PrepareToSend(var msg: BYTES); override; |
|
|
: seealso(TSiemensProtocolFamily.PrepareToSend) | |
function DoRead(const tagrec: TTagRec; out Values: TArrayOfDouble; Sync: Boolean): TProtocolIOResult; override; |
|
|
: seealso(TSiemensProtocolFamily.doRead) | |
procedure DoGetValue(TagRec: TTagRec; var values: TScanReadRec); override; |
|
function DoWrite(const tagrec: TTagRec; const Values: TArrayOfDouble; Sync: Boolean): TProtocolIOResult; override; |
|
|
: seealso(TSiemensProtocolFamily.doWrite) | |
constructor Create(AOwner:TComponent); override; |
|
procedure UpdatePLCAddress(Rack, Slot, Station:LongInt); |
|
|
: Updates in a single call, Rack, Slot and Station, avoiding overhead. | |
Properties
property ReadSomethingAlways; |
|
|
: See also | |
property ConnectionWay: TISOTCPConnectionWay read FConnectionWay write SetISOConnectionWay; |
|
|
: Defines the way to connect into the PLC. See also | |
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 | |
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 | |
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 | |
property ReadOnly; |
|
Generated by PasDoc 0.14.0.