23.03.2011, 16:46
|
Специалист
|
|
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
|
|
Код:
// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object : TS7ProSim
// Help String : S7ProSim Class
// Default Interface: IS7ProSim
// Def. Intf. DISP? : No
// Event Interface: IS7ProSimEvents
// TypeFlags : (2) CanCreate
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
TS7ProSimProperties= class;
{$ENDIF}
TS7ProSim = class(TOleServer)
private
FOnScanFinished: TS7ProSimScanFinished;
FOnConnectionError: TS7ProSimConnectionError;
FOnPLCSimStateChanged: TS7ProSimPLCSimStateChanged;
FOnPauseStateChanged: TS7ProSimPauseStateChanged;
FOnScanModeChanged: TS7ProSimScanModeChanged;
FIntf: IS7ProSim;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
FProps: TS7ProSimProperties;
function GetServerProperties: TS7ProSimProperties;
{$ENDIF}
function GetDefaultInterface: IS7ProSim;
protected
procedure InitServerData; override;
procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Connect; override;
procedure ConnectTo(svrIntf: IS7ProSim);
procedure Disconnect; override;
procedure ReadOutputImage(StartIndex: Integer; ElementsToRead: Integer;
DataType: ImageDataTypeConstants; var pData: OleVariant);
procedure WriteInputImage(StartIndex: Integer; var pData: OleVariant);
procedure ReadOutputPoint(ByteIndex: Integer; BitIndex: Integer;
DataType: PointDataTypeConstants; var pData: OleVariant);
procedure WriteInputPoint(ByteIndex: Integer; BitIndex: Integer; var pData: OleVariant);
procedure ExecuteSingleScan;
procedure Connect1;
procedure Disconnect1;
procedure BeginScanNotify;
procedure EndScanNotify;
procedure ExecuteNmsScan(MsNumber: Integer);
procedure ExecuteNScans(NScanNumber: Integer);
function GetScanMode: ScanModeConstants;
procedure SetScanMode(newVal: ScanModeConstants);
procedure Pause;
procedure Continue;
function GetPauseState: PauseStateConstants;
procedure SavePLC(const FileName: WideString);
procedure HotStartWithSavedValues(val: Integer);
function GetState: WideString;
procedure SetState(const newVal: WideString);
procedure StartPLCSim(const plcFile: WideString);
procedure SetStartUpSwitch(postion: RestartSwitchPositionConstants);
function GetStartUpSwitch: RestartSwitchPositionConstants;
procedure ReadDataBlockValue(BlockNum: Integer; ByteIndex: Integer; BitIndex: Integer;
DataType: PointDataTypeConstants; var pData: OleVariant);
procedure WriteDataBlockValue(BlockNum: Integer; ByteIndex: Integer; BitIndex: Integer;
var pData: OleVariant);
procedure ReadFlagValue(ByteIndex: Integer; BitIndex: Integer;
DataType: PointDataTypeConstants; var pData: OleVariant);
procedure WriteFlagValue(ByteIndex: Integer; BitIndex: Integer; var pData: OleVariant);
procedure ConnectExt(InstanceNumber: Integer);
procedure StartPLCSimExt(const plcFile: WideString);
property DefaultInterface: IS7ProSim read GetDefaultInterface;
published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
property Server: TS7ProSimProperties read GetServerProperties;
{$ENDIF}
property OnScanFinished: TS7ProSimScanFinished read FOnScanFinished write FOnScanFinished;
property OnConnectionError: TS7ProSimConnectionError read FOnConnectionError write FOnConnectionError;
property OnPLCSimStateChanged: TS7ProSimPLCSimStateChanged read FOnPLCSimStateChanged write FOnPLCSimStateChanged;
property OnPauseStateChanged: TS7ProSimPauseStateChanged read FOnPauseStateChanged write FOnPauseStateChanged;
property OnScanModeChanged: TS7ProSimScanModeChanged read FOnScanModeChanged write FOnScanModeChanged;
end;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object : TS7ProSim
// (This object is used by the IDE's Property Inspector to allow editing
// of the properties of this server)
// *********************************************************************//
TS7ProSimProperties = class(TPersistent)
private
FServer: TS7ProSim;
function GetDefaultInterface: IS7ProSim;
constructor Create(AServer: TS7ProSim);
protected
public
property DefaultInterface: IS7ProSim read GetDefaultInterface;
published
end;
{$ENDIF}
procedure Register;
resourcestring
dtlServerPage = 'ActiveX';
dtlOcxPage = 'ActiveX';
|