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
TypeScript
/// <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;
}