import { S7DataItem } from './protocol/s7-protocol.js'; import { S7CpuStatusRun, S7CpuStatusStop, S7CpuStatusUnknown } from './protocol/constants.js'; export interface S7OrderCode { Code: string; V1: number; V2: number; V3: number; } export interface S7CpuInfo { ModuleTypeName: string; SerialNumber: string; ASName: string; Copyright: string; ModuleName: string; } export interface S7CpInfo { MaxPduLength: number; MaxConnections: number; MaxMpiRate: number; MaxBusRate: number; } export interface S7Protection { Level: number; Access: number; Password: string; } export interface S7BlockInfo { BlkType: number; BlkNumber: number; BlkLang: number; BlkFlags: number; MC7Size: number; LoadSize: number; LocalData: number; SBBLength: number; CheckSum: number; Version: number; CodeDate: string; InterfaceDate: string; Author: string; Family: string; Header: string; } export interface S7BlocksList { OBCount: number; FBCount: number; FCCount: number; DBCount: number; SDBCount: number; SFCCount: number; SFBCount: number; } export interface S7SZL { Head: { SZL_ID: number; SZL_Index: number; }; Data: Buffer; } export type S7CpuStatus = typeof S7CpuStatusRun | typeof S7CpuStatusStop | typeof S7CpuStatusUnknown; type Callback = ((err: number | null, result?: T) => void) | undefined; export declare class S7Client { static readonly S7AreaPE = 129; static readonly S7AreaPA = 130; static readonly S7AreaMK = 131; static readonly S7AreaDB = 132; static readonly S7AreaCT = 28; static readonly S7AreaTM = 29; static readonly S7WLBit = 1; static readonly S7WLByte = 2; static readonly S7WLWord = 4; static readonly S7WLDWord = 6; static readonly S7WLReal = 8; static readonly S7WLCounter = 28; static readonly S7WLTimer = 29; static readonly CONNTYPE_PG = 1; static readonly CONNTYPE_OP = 2; static readonly CONNTYPE_BASIC = 3; static readonly Block_OB = 56; static readonly Block_DB = 65; static readonly Block_SDB = 66; static readonly Block_FC = 67; static readonly Block_SFC = 68; static readonly Block_FB = 69; static readonly Block_SFB = 70; static readonly SubBlk_OB = 8; static readonly SubBlk_DB = 10; static readonly SubBlk_SDB = 11; static readonly SubBlk_FC = 12; static readonly SubBlk_SFC = 13; static readonly SubBlk_FB = 14; static readonly SubBlk_SFB = 15; static readonly BlockLangAWL = 1; static readonly BlockLangKOP = 2; static readonly BlockLangFUP = 3; static readonly BlockLangSCL = 4; static readonly BlockLangDB = 5; static readonly BlockLangGRAPH = 6; static readonly S7CpuStatusUnknown = 0; static readonly S7CpuStatusRun = 8; static readonly S7CpuStatusStop = 4; static readonly errIsoConnect = 65536; static readonly errIsoDisconnect = 131072; static readonly errIsoInvalidPDU = 196608; static readonly errIsoInvalidDataSize = 262144; static readonly errIsoNullPointer = 327680; static readonly errIsoShortPacket = 393216; static readonly errIsoTooManyFragments = 458752; static readonly errIsoPduOverflow = 524288; static readonly errIsoSendPacket = 589824; static readonly errIsoRecvPacket = 655360; static readonly errIsoInvalidParams = 720896; static readonly errNegotiatingPDU = 1048576; static readonly errCliInvalidParams = 2097152; static readonly errCliJobPending = 3145728; static readonly errCliTooManyItems = 4194304; static readonly errCliInvalidWordLen = 5242880; static readonly errCliPartialDataWritten = 6291456; static readonly errCliSizeOverPDU = 7340032; static readonly errCliInvalidPlcAnswer = 8388608; static readonly errCliAddressOutOfRange = 9437184; static readonly errCliInvalidTransportSize = 10485760; static readonly errCliWriteDataSizeMismatch = 11534336; static readonly errCliItemNotAvailable = 12582912; static readonly errCliInvalidValue = 13631488; static readonly errCliCannotStartPLC = 14680064; static readonly errCliAlreadyRun = 15728640; static readonly errCliCannotStopPLC = 16777216; static readonly errCliCannotCopyRamToRom = 17825792; static readonly errCliCannotCompress = 18874368; static readonly errCliAlreadyStop = 19922944; static readonly errCliFunNotAvailable = 20971520; static readonly errCliUploadSequenceFailed = 22020096; static readonly errCliInvalidDataSizeRecvd = 23068672; static readonly errCliInvalidBlockType = 24117248; static readonly errCliInvalidBlockNumber = 25165824; static readonly errCliInvalidBlockSize = 26214400; static readonly errCliDownloadSequenceFailed = 27262976; static readonly errCliInsertRefused = 28311552; static readonly errCliDeleteRefused = 29360128; static readonly errCliNeedPassword = 30408704; static readonly errCliInvalidPassword = 31457280; static readonly errCliNoPasswordToSetOrClear = 32505856; static readonly errCliJobTimeout = 33554432; static readonly errCliPartialDataRead = 34603008; static readonly errCliBufferTooSmall = 35651584; static readonly errCliFunctionRefused = 36700160; static readonly errCliDestroying = 37748736; static readonly errCliInvalidParamNumber = 38797312; static readonly errCliCannotChangeParam = 39845888; static readonly p_u16_LocalPort = 1; static readonly p_u16_RemotePort = 2; static readonly p_i32_PingTimeout = 3; static readonly p_i32_SendTimeout = 4; static readonly p_i32_RecvTimeout = 5; static readonly p_i32_WorkInterval = 6; static readonly p_u16_SrcRef = 7; static readonly p_u16_DstRef = 8; static readonly p_u16_SrcTSap = 9; static readonly p_i32_PDURequest = 10; static readonly p_i32_MaxClients = 11; static readonly p_i32_BSendTimeout = 12; static readonly p_i32_BRecvTimeout = 13; static readonly p_u32_RecoveryTime = 14; static readonly p_u32_KeepAliveTime = 15; readonly S7AreaPE = 129; readonly S7AreaPA = 130; readonly S7AreaMK = 131; readonly S7AreaDB = 132; readonly S7AreaCT = 28; readonly S7AreaTM = 29; readonly S7WLBit = 1; readonly S7WLByte = 2; readonly S7WLWord = 4; readonly S7WLDWord = 6; readonly S7WLReal = 8; readonly S7WLCounter = 28; readonly S7WLTimer = 29; readonly CONNTYPE_PG = 1; readonly CONNTYPE_OP = 2; readonly CONNTYPE_BASIC = 3; readonly Block_OB = 56; readonly Block_DB = 65; readonly Block_SDB = 66; readonly Block_FC = 67; readonly Block_SFC = 68; readonly Block_FB = 69; readonly Block_SFB = 70; readonly SubBlk_OB = 8; readonly SubBlk_DB = 10; readonly SubBlk_SDB = 11; readonly SubBlk_FC = 12; readonly SubBlk_SFC = 13; readonly SubBlk_FB = 14; readonly SubBlk_SFB = 15; readonly BlockLangAWL = 1; readonly BlockLangKOP = 2; readonly BlockLangFUP = 3; readonly BlockLangSCL = 4; readonly BlockLangDB = 5; readonly BlockLangGRAPH = 6; readonly S7CpuStatusUnknown = 0; readonly S7CpuStatusRun = 8; readonly S7CpuStatusStop = 4; readonly errIsoConnect = 65536; readonly errIsoDisconnect = 131072; readonly errIsoInvalidPDU = 196608; readonly errIsoInvalidDataSize = 262144; readonly errIsoNullPointer = 327680; readonly errIsoShortPacket = 393216; readonly errIsoTooManyFragments = 458752; readonly errIsoPduOverflow = 524288; readonly errIsoSendPacket = 589824; readonly errIsoRecvPacket = 655360; readonly errIsoInvalidParams = 720896; readonly errNegotiatingPDU = 1048576; readonly errCliInvalidParams = 2097152; readonly errCliJobPending = 3145728; readonly errCliTooManyItems = 4194304; readonly errCliInvalidWordLen = 5242880; readonly errCliPartialDataWritten = 6291456; readonly errCliSizeOverPDU = 7340032; readonly errCliInvalidPlcAnswer = 8388608; readonly errCliAddressOutOfRange = 9437184; readonly errCliInvalidTransportSize = 10485760; readonly errCliWriteDataSizeMismatch = 11534336; readonly errCliItemNotAvailable = 12582912; readonly errCliInvalidValue = 13631488; readonly errCliCannotStartPLC = 14680064; readonly errCliAlreadyRun = 15728640; readonly errCliCannotStopPLC = 16777216; readonly errCliCannotCopyRamToRom = 17825792; readonly errCliCannotCompress = 18874368; readonly errCliAlreadyStop = 19922944; readonly errCliFunNotAvailable = 20971520; readonly errCliUploadSequenceFailed = 22020096; readonly errCliInvalidDataSizeRecvd = 23068672; readonly errCliInvalidBlockType = 24117248; readonly errCliInvalidBlockNumber = 25165824; readonly errCliInvalidBlockSize = 26214400; readonly errCliDownloadSequenceFailed = 27262976; readonly errCliInsertRefused = 28311552; readonly errCliDeleteRefused = 29360128; readonly errCliNeedPassword = 30408704; readonly errCliInvalidPassword = 31457280; readonly errCliNoPasswordToSetOrClear = 32505856; readonly errCliJobTimeout = 33554432; readonly errCliPartialDataRead = 34603008; readonly errCliBufferTooSmall = 35651584; readonly errCliFunctionRefused = 36700160; readonly errCliDestroying = 37748736; readonly errCliInvalidParamNumber = 38797312; readonly errCliCannotChangeParam = 39845888; readonly p_u16_LocalPort = 1; readonly p_u16_RemotePort = 2; readonly p_i32_PingTimeout = 3; readonly p_i32_SendTimeout = 4; readonly p_i32_RecvTimeout = 5; readonly p_i32_WorkInterval = 6; readonly p_u16_SrcRef = 7; readonly p_u16_DstRef = 8; readonly p_u16_SrcTSap = 9; readonly p_i32_PDURequest = 10; readonly p_i32_MaxClients = 11; readonly p_i32_BSendTimeout = 12; readonly p_i32_BRecvTimeout = 13; readonly p_u32_RecoveryTime = 14; readonly p_u32_KeepAliveTime = 15; private transport; private _connected; private _transportClosed; private _lastError; private _lastTransportError; private _pduLength; private _pduRequested; private _execTime; private _connType; private _connNumber; private _port; private _ip; private _rack; private _slot; private _localTSAP; private _remoteTSAP; private _recvTimeout; private _sendTimeout; private _debug; private _opQueue; private withLock; Connect(callback: Callback): void; ConnectTo(ip: string, rack: number, slot: number, callback: Callback): void; ConnectToPort(ip: string, port: number, rack: number, slot: number, callback?: Callback): void | Promise; SetConnectionParams(ip: string, localTSAP: number, remoteTSAP: number): boolean; SetConnectionType(type: number): boolean; SetDebug(enable: boolean): void; Disconnect(): boolean; GetParam(paramNumber: number): number; SetParam(paramNumber: number, value: number): boolean; ReadArea(area: number, dbNumber: number, start: number, amount: number, wordLen: number, callback?: Callback): void | Promise; private readAreaInternal; WriteArea(area: number, dbNumber: number, start: number, amount: number, wordLen: number, buffer: Buffer, callback?: Callback): void | Promise; private writeAreaInternal; ReadMultiVars(items: S7DataItem[], callback?: Callback): void | Promise; WriteMultiVars(items: S7DataItem[], callback?: Callback): void | Promise; DBRead(dbNumber: number, start: number, size: number, callback?: Callback): void | Promise; DBWrite(dbNumber: number, start: number, size: number, buffer: Buffer, callback?: Callback): void | Promise; MBRead(start: number, size: number, callback?: Callback): void | Promise; MBWrite(start: number, size: number, buffer: Buffer, callback?: Callback): void | Promise; EBRead(start: number, size: number, callback?: Callback): void | Promise; EBWrite(start: number, size: number, buffer: Buffer, callback?: Callback): void | Promise; ABRead(start: number, size: number, callback?: Callback): void | Promise; ABWrite(start: number, size: number, buffer: Buffer, callback?: Callback): void | Promise; TMRead(start: number, size: number, callback?: Callback): void | Promise; TMWrite(start: number, size: number, buffer: Buffer, callback?: Callback): void | Promise; CTRead(start: number, size: number, callback?: Callback): void | Promise; CTWrite(start: number, size: number, buffer: Buffer, callback?: Callback): void | Promise; ListBlocks(callback?: Callback): void | Promise; private parseBlocksList; GetAgBlockInfo(blockType: number, blockNum: number, callback?: Callback): void | Promise; private parseBlockInfo; GetPgBlockInfo(buffer: Buffer): S7BlockInfo; private parseBlockInfoFromBuffer; ListBlocksOfType(blockType: number, callback?: Callback): void | Promise; private parseBlocksOfType; Upload(blockType: number, blockNum: number, callback?: Callback): void | Promise; FullUpload(blockType: number, blockNum: number, callback?: Callback): void | Promise; private uploadInternal; Download(blockNum: number, buffer: Buffer, callback?: Callback): void | Promise; Delete(blockType: number, blockNum: number, callback?: Callback): void | Promise; DBGet(dbNumber: number, callback?: Callback): void | Promise; DBFill(dbNumber: number, fillChar: number, callback?: Callback): void | Promise; GetPlcDateTime(callback?: Callback): void | Promise; SetPlcDateTime(dateTime: Date, callback?: Callback): void | Promise; SetPlcSystemDateTime(callback?: Callback): void | Promise; ReadSZL(id: number, index: number, callback?: Callback): void | Promise; ReadSZLList(callback?: Callback): void | Promise; GetOrderCode(callback?: Callback): void | Promise; GetCpuInfo(callback?: Callback): void | Promise; GetCpInfo(callback?: Callback): void | Promise; PlcHotStart(callback?: Callback): void | Promise; PlcColdStart(callback?: Callback): void | Promise; PlcStop(callback?: Callback): void | Promise; CopyRamToRom(timeout: number, callback?: Callback): void | Promise; Compress(timeout: number, callback?: Callback): void | Promise; GetProtection(callback?: Callback): void | Promise; SetSessionPassword(password: string, callback?: Callback): void | Promise; ClearSessionPassword(callback?: Callback): void | Promise; ExecTime(): number; LastError(): number; PDURequested(): number; PDULength(): number; PlcStatus(callback?: Callback): void | Promise; Connected(): boolean; ErrorText(errNum: number): string; private recvS7Message; private mapTransportError; private handleError; } export {}; //# sourceMappingURL=client.d.ts.map