njs-modbus 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +500 -277
- package/dist/index.d.ts +46 -14
- package/dist/index.mjs +500 -277
- package/dist/src/layers/application/abstract-application-layer.d.ts +6 -0
- package/dist/src/layers/application/ascii-application-layer.d.ts +7 -0
- package/dist/src/layers/application/rtu-application-layer.d.ts +14 -1
- package/dist/src/layers/application/tcp-application-layer.d.ts +7 -0
- package/dist/src/master/master.d.ts +12 -13
- package/package.json +1 -1
|
@@ -6,6 +6,12 @@ interface AbstractApplicationLayerEvents {
|
|
|
6
6
|
}, response: (data: Buffer) => Promise<void>];
|
|
7
7
|
}
|
|
8
8
|
export declare abstract class AbstractApplicationLayer extends EventEmitter<AbstractApplicationLayerEvents> {
|
|
9
|
+
abstract startWaitingResponse(preCheck: ((frame: ApplicationDataUnit & {
|
|
10
|
+
buffer: Buffer;
|
|
11
|
+
}) => boolean | number | undefined)[], callback: (error: Error | null, frame?: ApplicationDataUnit & {
|
|
12
|
+
buffer: Buffer;
|
|
13
|
+
}) => void): void;
|
|
14
|
+
abstract stopWaitingResponse(): void;
|
|
9
15
|
abstract encode(data: ApplicationDataUnit): Buffer;
|
|
10
16
|
abstract destroy(): void;
|
|
11
17
|
}
|
|
@@ -3,11 +3,18 @@ import type { TcpClientPhysicalLayer, TcpServerPhysicalLayer, UdpPhysicalLayer }
|
|
|
3
3
|
import type { SerialPhysicalLayer } from '../physical';
|
|
4
4
|
import { AbstractApplicationLayer } from './abstract-application-layer';
|
|
5
5
|
export declare class AsciiApplicationLayer extends AbstractApplicationLayer {
|
|
6
|
+
private _waitingResponse?;
|
|
6
7
|
private _status;
|
|
7
8
|
private _frame;
|
|
8
9
|
private _removeAllListeners;
|
|
9
10
|
constructor(physicalLayer: SerialPhysicalLayer | TcpServerPhysicalLayer | TcpClientPhysicalLayer | UdpPhysicalLayer);
|
|
10
11
|
private framing;
|
|
12
|
+
startWaitingResponse(preCheck: ((frame: ApplicationDataUnit & {
|
|
13
|
+
buffer: Buffer;
|
|
14
|
+
}) => boolean | number | undefined)[], callback: (error: Error | null, frame?: ApplicationDataUnit & {
|
|
15
|
+
buffer: Buffer;
|
|
16
|
+
}) => void): void;
|
|
17
|
+
stopWaitingResponse(): void;
|
|
11
18
|
encode(data: ApplicationDataUnit): Buffer;
|
|
12
19
|
destroy(): void;
|
|
13
20
|
}
|
|
@@ -3,11 +3,24 @@ import type { TcpClientPhysicalLayer, TcpServerPhysicalLayer, UdpPhysicalLayer }
|
|
|
3
3
|
import type { SerialPhysicalLayer } from '../physical';
|
|
4
4
|
import { AbstractApplicationLayer } from './abstract-application-layer';
|
|
5
5
|
export declare class RtuApplicationLayer extends AbstractApplicationLayer {
|
|
6
|
+
private _waitingResponse?;
|
|
6
7
|
private _timerThreePointFive?;
|
|
7
8
|
private _bufferRx;
|
|
8
9
|
private _removeAllListeners;
|
|
9
|
-
constructor(physicalLayer: SerialPhysicalLayer | TcpServerPhysicalLayer | TcpClientPhysicalLayer | UdpPhysicalLayer,
|
|
10
|
+
constructor(physicalLayer: SerialPhysicalLayer | TcpServerPhysicalLayer | TcpClientPhysicalLayer | UdpPhysicalLayer,
|
|
11
|
+
/**
|
|
12
|
+
* The time interval between two frames, support two formats:
|
|
13
|
+
* - bit: `48bit` as default
|
|
14
|
+
* - millisecond: `20ms`
|
|
15
|
+
*/
|
|
16
|
+
intervalBetweenFrames?: `${number}bit` | `${number}ms`);
|
|
10
17
|
private framing;
|
|
18
|
+
startWaitingResponse(preCheck: ((frame: ApplicationDataUnit & {
|
|
19
|
+
buffer: Buffer;
|
|
20
|
+
}) => boolean | number | undefined)[], callback: (error: Error | null, frame?: ApplicationDataUnit & {
|
|
21
|
+
buffer: Buffer;
|
|
22
|
+
}) => void): void;
|
|
23
|
+
stopWaitingResponse(): void;
|
|
11
24
|
encode(data: ApplicationDataUnit): Buffer;
|
|
12
25
|
destroy(): void;
|
|
13
26
|
}
|
|
@@ -2,10 +2,17 @@ import type { ApplicationDataUnit } from '../../types';
|
|
|
2
2
|
import type { TcpClientPhysicalLayer, TcpServerPhysicalLayer, UdpPhysicalLayer } from '../physical';
|
|
3
3
|
import { AbstractApplicationLayer } from './abstract-application-layer';
|
|
4
4
|
export declare class TcpApplicationLayer extends AbstractApplicationLayer {
|
|
5
|
+
private _waitingResponse?;
|
|
5
6
|
private _transactionId;
|
|
6
7
|
private _removeAllListeners;
|
|
7
8
|
constructor(physicalLayer: TcpServerPhysicalLayer | TcpClientPhysicalLayer | UdpPhysicalLayer);
|
|
8
9
|
private framing;
|
|
10
|
+
startWaitingResponse(preCheck: ((frame: ApplicationDataUnit & {
|
|
11
|
+
buffer: Buffer;
|
|
12
|
+
}) => boolean | number | undefined)[], callback: (error: Error | null, frame?: ApplicationDataUnit & {
|
|
13
|
+
buffer: Buffer;
|
|
14
|
+
}) => void): void;
|
|
15
|
+
stopWaitingResponse(): void;
|
|
9
16
|
encode(data: ApplicationDataUnit): Buffer;
|
|
10
17
|
destroy(): void;
|
|
11
18
|
}
|
|
@@ -17,42 +17,41 @@ export declare class ModbusMaster<A extends AbstractApplicationLayer, P extends
|
|
|
17
17
|
private applicationLayer;
|
|
18
18
|
private physicalLayer;
|
|
19
19
|
timeout: number;
|
|
20
|
-
private _responses;
|
|
21
20
|
get isOpen(): boolean;
|
|
22
21
|
get destroyed(): boolean;
|
|
23
22
|
constructor(applicationLayer: A, physicalLayer: P, timeout?: number);
|
|
24
23
|
private waitResponse;
|
|
25
24
|
private writeFC1Or2;
|
|
26
25
|
writeFC1: this['readCoils'];
|
|
27
|
-
readCoils(unit: 0, address: number, length: number, timeout?: number): void
|
|
26
|
+
readCoils(unit: 0, address: number, length: number, timeout?: number): Promise<void>;
|
|
28
27
|
readCoils(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<boolean[]>>;
|
|
29
28
|
writeFC2: this['readDiscreteInputs'];
|
|
30
|
-
readDiscreteInputs(unit: 0, address: number, length: number, timeout?: number): void
|
|
29
|
+
readDiscreteInputs(unit: 0, address: number, length: number, timeout?: number): Promise<void>;
|
|
31
30
|
readDiscreteInputs(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<boolean[]>>;
|
|
32
31
|
private writeFC3Or4;
|
|
33
32
|
writeFC3: this['readHoldingRegisters'];
|
|
34
|
-
readHoldingRegisters(unit: 0, address: number, length: number, timeout?: number): void
|
|
33
|
+
readHoldingRegisters(unit: 0, address: number, length: number, timeout?: number): Promise<void>;
|
|
35
34
|
readHoldingRegisters(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<number[]>>;
|
|
36
35
|
writeFC4: this['readInputRegisters'];
|
|
37
|
-
readInputRegisters(unit: 0, address: number, length: number, timeout?: number): void
|
|
36
|
+
readInputRegisters(unit: 0, address: number, length: number, timeout?: number): Promise<void>;
|
|
38
37
|
readInputRegisters(unit: number, address: number, length: number, timeout?: number): Promise<ReturnValue<number[]>>;
|
|
39
38
|
writeFC5: this['writeSingleCoil'];
|
|
40
|
-
writeSingleCoil(unit: 0, address: number, value: boolean, timeout?: number): void
|
|
39
|
+
writeSingleCoil(unit: 0, address: number, value: boolean, timeout?: number): Promise<void>;
|
|
41
40
|
writeSingleCoil(unit: number, address: number, value: boolean, timeout?: number): Promise<ReturnValue<boolean>>;
|
|
42
41
|
writeFC6: this['writeSingleRegister'];
|
|
43
|
-
writeSingleRegister(unit: 0, address: number, value: number, timeout?: number): void
|
|
42
|
+
writeSingleRegister(unit: 0, address: number, value: number, timeout?: number): Promise<void>;
|
|
44
43
|
writeSingleRegister(unit: number, address: number, value: number, timeout?: number): Promise<ReturnValue<number>>;
|
|
45
44
|
writeFC15: this['writeMultipleCoils'];
|
|
46
|
-
writeMultipleCoils(unit: 0, address: number, value: boolean[], timeout?: number): void
|
|
45
|
+
writeMultipleCoils(unit: 0, address: number, value: boolean[], timeout?: number): Promise<void>;
|
|
47
46
|
writeMultipleCoils(unit: number, address: number, value: boolean[], timeout?: number): Promise<ReturnValue<boolean[]>>;
|
|
48
47
|
writeFC16: this['writeMultipleRegisters'];
|
|
49
|
-
writeMultipleRegisters(unit: 0, address: number, value: number[], timeout?: number): void
|
|
48
|
+
writeMultipleRegisters(unit: 0, address: number, value: number[], timeout?: number): Promise<void>;
|
|
50
49
|
writeMultipleRegisters(unit: number, address: number, value: number[], timeout?: number): Promise<ReturnValue<number[]>>;
|
|
51
50
|
handleFC17: this['reportServerId'];
|
|
52
|
-
reportServerId(unit: 0, timeout?: number): void
|
|
51
|
+
reportServerId(unit: 0, timeout?: number): Promise<void>;
|
|
53
52
|
reportServerId(unit: number, timeout?: number): Promise<ReturnValue<ServerId>>;
|
|
54
53
|
handleFC22: this['maskWriteRegister'];
|
|
55
|
-
maskWriteRegister(unit: 0, address: number, andMask: number, orMask: number, timeout?: number): void
|
|
54
|
+
maskWriteRegister(unit: 0, address: number, andMask: number, orMask: number, timeout?: number): Promise<void>;
|
|
56
55
|
maskWriteRegister(unit: number, address: number, andMask: number, orMask: number, timeout?: number): Promise<ReturnValue<{
|
|
57
56
|
andMask: number;
|
|
58
57
|
orMask: number;
|
|
@@ -64,7 +63,7 @@ export declare class ModbusMaster<A extends AbstractApplicationLayer, P extends
|
|
|
64
63
|
}, write: {
|
|
65
64
|
address: number;
|
|
66
65
|
value: number[];
|
|
67
|
-
}, timeout?: number): void
|
|
66
|
+
}, timeout?: number): Promise<void>;
|
|
68
67
|
readAndWriteMultipleRegisters(unit: number, read: {
|
|
69
68
|
address: number;
|
|
70
69
|
length: number;
|
|
@@ -73,7 +72,7 @@ export declare class ModbusMaster<A extends AbstractApplicationLayer, P extends
|
|
|
73
72
|
value: number[];
|
|
74
73
|
}, timeout?: number): Promise<ReturnValue<number[]>>;
|
|
75
74
|
handleFC43_14: this['readDeviceIdentification'];
|
|
76
|
-
readDeviceIdentification(unit: 0, readDeviceIDCode: number, objectId: number, timeout?: number): void
|
|
75
|
+
readDeviceIdentification(unit: 0, readDeviceIDCode: number, objectId: number, timeout?: number): Promise<void>;
|
|
77
76
|
readDeviceIdentification(unit: number, readDeviceIDCode: number, objectId: number, timeout?: number): Promise<ReturnValue<DeviceIdentification>>;
|
|
78
77
|
open(...args: Parameters<P['open']>): Promise<void>;
|
|
79
78
|
close(): Promise<void>;
|