UNPKG

codesys-client

Version:

Node.js Codesys client for reading and writing PLC data using network variable lists (NVL)

65 lines (64 loc) 2.35 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { SenderSettings } from './types/types'; import type { IecType } from 'iec-61131-3'; export declare class Sender extends EventEmitter { private debug; private debugD; private debugIO; /** * Active debug level * - 0 = no debugging * - 1 = basic debugging (same as $env:DEBUG='codesys-client') * - 2 = detailed debugging (same as $env:DEBUG='codesys-client,codesys-client:details') * - 3 = full debugging (same as $env:DEBUG='codesys-client,codesys-client:details,codesys-client:raw-data') */ debugLevel: number; /** * Active settings */ settings: SenderSettings; /** * Next free counter number to use */ private counterNumber; /** * Constructor * * @param settings Settings object */ constructor(settings?: SenderSettings); /** * Sets debugging using debug package on/off. * Another way for environment variable DEBUG: * - 0 = no debugging * - 1 = basic debugging (same as $env:DEBUG='codesys-client-sender') * - 2 = detailed debugging (same as $env:DEBUG='codesys-client-sender,codesys-client-sender:details') * - 3 = full debugging (same as $env:DEBUG='codesys-client-sender,codesys-client-sender:details,codesys-client-sender:raw-data') * * @param level 0 = none, 1 = basic, 2 = detailed, 3 = detailed + raw data */ setDebugging(level: number): void; /** * Sends given data to address and port provided in settings * * @param listID List ID ("Listidentifier") of the network variable list (NVL) * @param dataType IEC-61131-3 data type schema of the provided data (like iec.INT, iec.STRUCT, etc.) * @param data Data as object to be sent, must match dataType schema * @returns */ send(listID: number, dataType: IecType, data: unknown): Promise<void>; /** * Creates header byte Buffer from object * @param data Packet object * @returns Buffer with raw header data */ private createPacketHeader; /** * Helper for sending data * @param client UDP client instance * @param packet Packet to send * @returns */ private sendPacket; }