/** * S7 PLC Server Types and Constants * Based on the SNAP7 library and S7 protocol specification */ import { Buffer } from 'buffer'; export type byte = number; export type word = number; export type longword = number; export declare enum S7Area { PE = 129,// Process inputs PA = 130,// Process outputs MK = 131,// Merkers DB = 132,// Data blocks CT = 28,// Counters TM = 29 } export declare enum S7WordLength { Bit = 1, Byte = 2, Word = 4, DWord = 6, Real = 8, Counter = 28, Timer = 29 } export declare enum Operation { Read = 0, Write = 1 } export declare enum ServerStatus { Stopped = 0, Running = 1, Error = 2 } export declare enum CpuStatus { Unknown = 0, Run = 8, Stop = 4 } export declare enum EventCode { ServerStarted = 1, ServerStopped = 2, ListenerCannotStart = 4, ClientAdded = 8, ClientRejected = 16, ClientNoRoom = 32, ClientException = 64, ClientDisconnected = 128, ClientTerminated = 256, ClientsDropped = 512, PDUIncoming = 65536, DataRead = 131072, DataWrite = 262144, NegotiatePDU = 524288, ReadSZL = 1048576, Clock = 2097152, Upload = 4194304, Download = 8388608, Directory = 16777216, Security = 33554432, Control = 67108864, All = 4294967295, None = 0 } export declare enum EventResult { NoError = 0, FragmentRejected = 1, MalformedPDU = 2, SparseBytes = 3, CannotHandlePDU = 4, NotImplemented = 5, ErrException = 6, ErrAreaNotFound = 7, ErrOutOfRange = 8, ErrOverPDU = 9, ErrTransportSize = 10, InvalidGroupUData = 11, InvalidSZL = 12, DataSizeMismatch = 13, CannotUpload = 14, CannotDownload = 15, UploadInvalidID = 16, ResNotFound = 17 } export declare enum ServerParam { LocalPort = 1, WorkInterval = 6, PDURequest = 10, MaxClients = 11 } export declare enum ServerError { CannotStart = 1048576, DBNullPointer = 2097152, AreaAlreadyExists = 3145728, UnknownArea = 4194304, InvalidParams = 5242880, TooManyDB = 6291456, InvalidParamNumber = 7340032, CannotChangeParam = 8388608 } export interface S7Tag { Area: S7Area; DBNumber: number; Start: number; Size: number; WordLen: S7WordLength; } export interface S7ServerEvent { EvtTime: Date; EvtSender: string; EvtCode: EventCode; EvtRetCode: EventResult; EvtParam1: number; EvtParam2: number; EvtParam3: number; EvtParam4: number; } export interface BufferInfo { buffer: Buffer; size: number; locked: boolean; } export interface ClientInfo { id: string; address: string; port: number; connected: boolean; lastActivity: Date; } export interface ServerConfig { localPort: number; workInterval: number; pduRequest: number; maxClients: number; resourceless: boolean; eventMask: longword; } export type RWAreaCallback = (sender: string, operation: Operation, tag: S7Tag, buffer: Buffer, callback: (data?: Buffer) => void) => void; export type EventCallback = (event: S7ServerEvent) => void; //# sourceMappingURL=s7-types.d.ts.map