nodbus-plus 0.8.2 → 1.0.0
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/.readthedocs.yaml +35 -0
- package/LICENSE.md +21 -21
- package/README.md +163 -48
- package/docs/Makefile +20 -0
- package/docs/client/channel.rst +209 -0
- package/docs/client/nodbus_master_serial.rst +559 -0
- package/docs/client/nodbus_master_tcp.rst +573 -0
- package/docs/conf.py +41 -0
- package/docs/images/01-readcoils.png +0 -0
- package/docs/images/02-readinputs.png +0 -0
- package/docs/images/03-readholding.png +0 -0
- package/docs/images/04-readinputsreg.png +0 -0
- package/docs/images/05-writecoil.png +0 -0
- package/docs/images/06-writeregister.png +0 -0
- package/docs/images/15-writecoil.png +0 -0
- package/docs/images/16.png +0 -0
- package/docs/images/22-mask.png +0 -0
- package/docs/images/23.png +0 -0
- package/docs/images/7.png +0 -0
- package/docs/images/modbus_pdu.png +0 -0
- package/docs/images/serial_adu.png +0 -0
- package/docs/images/tcp_adu.png +0 -0
- package/docs/index.rst +30 -0
- package/docs/make.bat +35 -0
- package/docs/protocol/modbus_master.rst +276 -0
- package/docs/protocol/modbus_master_serial.rst +290 -0
- package/docs/protocol/modbus_master_tcp.rst +296 -0
- package/docs/protocol/modbus_server.rst +469 -0
- package/docs/protocol/modbus_server_serial.rst +543 -0
- package/docs/protocol/modbus_server_tcp.rst +365 -0
- package/docs/requirements.txt +4 -0
- package/docs/server/net_server.rst +242 -0
- package/docs/server/nodbus_serial_server.rst +652 -0
- package/docs/server/nodbus_tcp_server.rst +505 -0
- package/docs/starting.rst +192 -0
- package/docs/static/simple logo.jpg +0 -0
- package/package.json +39 -30
- package/samples/mb_serial_server.js +77 -0
- package/samples/mb_tcp_client.js +114 -0
- package/samples/mb_tcp_server.js +58 -0
- package/src/client/net/serialchannel.js +195 -0
- package/src/client/net/tcpchannel.js +233 -0
- package/src/client/net/udpchannel.js +243 -0
- package/src/client/nodbus_serial_client.js +577 -0
- package/src/client/nodbus_tcp_client.js +542 -0
- package/src/nodbus-plus.js +157 -110
- package/src/protocol/modbus_master.js +298 -961
- package/src/protocol/modbus_master_serial.js +247 -0
- package/src/protocol/modbus_master_tcp.js +219 -0
- package/src/protocol/modbus_server.js +936 -0
- package/src/protocol/modbus_server_serial.js +368 -0
- package/src/protocol/modbus_server_tcp.js +129 -0
- package/src/protocol/utils.js +296 -0
- package/src/server/net/serialserver.js +184 -0
- package/src/server/net/tcpserver.js +290 -0
- package/src/server/net/udpserver.js +242 -0
- package/src/server/nodbus_serial_server.js +238 -0
- package/src/server/nodbus_tcp_server.js +249 -0
- package/test/modbus_master.test.js +279 -0
- package/test/modbus_master_serial.test.js +124 -0
- package/test/modbus_master_tcp.test.js +178 -0
- package/test/modbus_server.test.js +506 -0
- package/test/modbus_server_serial.test.js +328 -0
- package/test/modbus_server_tcp.test.js +91 -0
- package/test/nodbus_client_serial.test.js +307 -0
- package/test/nodbus_client_tcp.test.js +334 -0
- package/test/nodbus_server_serial.test.js +255 -0
- package/test/nodbus_server_tcp.test.js +216 -0
- package/CHANGELOG.md +0 -27
- package/src/client/m_stcp_client.js +0 -214
- package/src/client/m_tcp_client.js +0 -234
- package/src/net/tcpclient.js +0 -173
- package/src/net/tcpserver.js +0 -329
- package/src/protocol/adu.js +0 -40
- package/src/protocol/ascii_adu.js +0 -139
- package/src/protocol/boolean_register.js +0 -78
- package/src/protocol/functions/Force_Multiple_Coils.js +0 -76
- package/src/protocol/functions/Force_Single_Coil.js +0 -54
- package/src/protocol/functions/Mask_Holding_Register.js +0 -47
- package/src/protocol/functions/Preset_Multiple_Registers.js +0 -53
- package/src/protocol/functions/Preset_Single_Register.js +0 -39
- package/src/protocol/functions/Read_Coil_Status.js +0 -59
- package/src/protocol/functions/Read_Holding_Registers.js +0 -52
- package/src/protocol/functions/Read_Input_Registers.js +0 -52
- package/src/protocol/functions/Read_Input_Status.js +0 -58
- package/src/protocol/mbap.js +0 -60
- package/src/protocol/modbus_device.js +0 -35
- package/src/protocol/modbus_slave.js +0 -522
- package/src/protocol/pdu.js +0 -70
- package/src/protocol/rtu_adu.js +0 -122
- package/src/protocol/serial_adu.js +0 -29
- package/src/protocol/tcp_adu.js +0 -84
- package/src/protocol/word_register.js +0 -122
- package/src/server/m_stcp_server.js +0 -310
- package/src/server/m_tcp_server.js +0 -295
- package/test/modbus-stcp-server-test.js +0 -72
- package/test/modbus-stcp-server-test1.js +0 -72
- package/test/modbus-tcp-client-test.js +0 -159
- package/test/modbus-tcp-server-test.js +0 -75
- package/test/modbus-tcp-server-test2.js +0 -75
- package/test/modbus_stcp_client.js +0 -149
package/src/nodbus-plus.js
CHANGED
|
@@ -1,110 +1,157 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Nodbus module.
|
|
3
|
-
* @module nodbus
|
|
4
|
-
* @author Hector E. Socarras Cabrera
|
|
5
|
-
* @version 0.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const ModbusTcpServer = require('./
|
|
10
|
-
const ModbusTcpClient = require('./
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
*
|
|
65
|
-
* @
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Nodbus module.
|
|
3
|
+
* @module nodbus
|
|
4
|
+
* @author Hector E. Socarras Cabrera
|
|
5
|
+
* @version 0.14.0
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
//Modbus Protocol Stack**************************************************************************************************
|
|
9
|
+
const ModbusTcpServer = require('./protocol/modbus_server_tcp.js');
|
|
10
|
+
const ModbusTcpClient = require('./protocol/modbus_master_tcp.js');
|
|
11
|
+
const ModbusSerialServer = require('./protocol/modbus_server_serial.js');
|
|
12
|
+
const ModbusSerialClient = require('./protocol/modbus_master_serial.js');
|
|
13
|
+
const ModbusClient = require('./protocol/modbus_master.js');
|
|
14
|
+
const ModbusServer = require( "./protocol/modbus_server.js");
|
|
15
|
+
|
|
16
|
+
module.exports.ModbusSerialServer = ModbusSerialServer;
|
|
17
|
+
module.exports.ModbusSerialClient = ModbusSerialClient;
|
|
18
|
+
module.exports.ModbusTcpClient = ModbusTcpClient;
|
|
19
|
+
module.exports.ModbusTcpServer = ModbusTcpServer;
|
|
20
|
+
module.exports.ModbusClient = ModbusClient;
|
|
21
|
+
module.exports.ModbusServer = ModbusServer;
|
|
22
|
+
//***********************************************************************************************************************
|
|
23
|
+
|
|
24
|
+
//Nodbus Server full implementation*********************************************************************************************
|
|
25
|
+
const NodbusTcpServer = require('./server/nodbus_tcp_server.js');
|
|
26
|
+
const NodbusSerialServer = require('./server/nodbus_serial_server.js');
|
|
27
|
+
const NetTcpServer = require('./server/net/tcpserver.js');
|
|
28
|
+
const NetUdpServer = require('./server/net/udpserver.js');
|
|
29
|
+
const NetSerialServer = require('./server/net/serialserver.js');
|
|
30
|
+
module.exports.NodbusTcpServer = NodbusTcpServer;
|
|
31
|
+
module.exports.NodbusSerialServer = NodbusSerialServer;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Create a tcp server instance
|
|
35
|
+
* @param {string} net: Type of network to use, Can be 'tcp', 'udp4', 'udp6'. Default 'tcp'.
|
|
36
|
+
* @param {Object} serverCfg: Serial transmition mode for serial slave. 'rtu', 'ascii', 'auto' default.
|
|
37
|
+
* @return {Object} Slave object
|
|
38
|
+
*/
|
|
39
|
+
module.exports.createTcpServer = function (net = 'tcp', serverCfg){
|
|
40
|
+
|
|
41
|
+
let netType
|
|
42
|
+
switch(net){
|
|
43
|
+
case 'tcp':
|
|
44
|
+
netType = NetTcpServer;
|
|
45
|
+
break
|
|
46
|
+
case 'udp4':
|
|
47
|
+
netType = NetUdpServer;
|
|
48
|
+
serverCfg.udpType = 'udp4';
|
|
49
|
+
break
|
|
50
|
+
case 'udp6':
|
|
51
|
+
netType = NetUdpServer;
|
|
52
|
+
serverCfg.udpType = 'udp6';
|
|
53
|
+
break
|
|
54
|
+
default:
|
|
55
|
+
netType = NetTcpServer;
|
|
56
|
+
}
|
|
57
|
+
let server = new NodbusTcpServer(netType, serverCfg);
|
|
58
|
+
|
|
59
|
+
return server;
|
|
60
|
+
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Create a tcp server instance
|
|
65
|
+
* @param {string} net: Type of network to use, Can be 'tcp', 'udp4', 'udp6'. Default 'tcp'.
|
|
66
|
+
* @param {Object} serverCfg: Serial transmition mode for serial slave. 'rtu', 'ascii', 'auto' default.
|
|
67
|
+
* @return {Object} Slave object
|
|
68
|
+
*/
|
|
69
|
+
module.exports.createSerialServer = function (net = 'serial', serverCfg){
|
|
70
|
+
|
|
71
|
+
let netType
|
|
72
|
+
switch(net){
|
|
73
|
+
case 'tcp':
|
|
74
|
+
netType = NetTcpServer;
|
|
75
|
+
break
|
|
76
|
+
case 'udp4':
|
|
77
|
+
netType = NetUdpServer;
|
|
78
|
+
serverCfg.udpType = 'udp4';
|
|
79
|
+
break
|
|
80
|
+
case 'udp6':
|
|
81
|
+
netType = NetUdpServer;
|
|
82
|
+
serverCfg.udpType = 'udp6';
|
|
83
|
+
break
|
|
84
|
+
case 'serial':
|
|
85
|
+
netType = NetSerialServer;
|
|
86
|
+
break
|
|
87
|
+
default:
|
|
88
|
+
netType = NetSerialServer;
|
|
89
|
+
}
|
|
90
|
+
let server = new NodbusSerialServer(netType, serverCfg);
|
|
91
|
+
|
|
92
|
+
return server;
|
|
93
|
+
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
//Nodbus Plus clients full implementation***************************************************************************************
|
|
97
|
+
|
|
98
|
+
const NodbusTcpClient = require('./client/nodbus_tcp_client.js');
|
|
99
|
+
const NodbusSerialClient = require('./client/nodbus_serial_client.js')
|
|
100
|
+
const NetTcpChannel = require('./client/net/tcpchannel.js');
|
|
101
|
+
const NetUdpChannel = require('./client/net/udpchannel.js');
|
|
102
|
+
const NetSerialChannel = require('./client/net/serialchannel.js');
|
|
103
|
+
|
|
104
|
+
module.exports.createTcpClient = function (channel = 'tcp'){
|
|
105
|
+
|
|
106
|
+
let channelType
|
|
107
|
+
switch(channel){
|
|
108
|
+
case 'tcp':
|
|
109
|
+
channelType = NetTcpChannel;
|
|
110
|
+
break
|
|
111
|
+
case 'udp':
|
|
112
|
+
channelType = NetUdpChannel;
|
|
113
|
+
break
|
|
114
|
+
case 'udp4':
|
|
115
|
+
channelType = NetUdpChannel;
|
|
116
|
+
break
|
|
117
|
+
case 'udp6':
|
|
118
|
+
channelType = NetUdpChannel;
|
|
119
|
+
break
|
|
120
|
+
default:
|
|
121
|
+
channelType = NetTcpServer;
|
|
122
|
+
}
|
|
123
|
+
let client = new NodbusTcpClient(channelType);
|
|
124
|
+
|
|
125
|
+
return client;
|
|
126
|
+
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
module.exports.createSerialClient = function(channel = 'tcp'){
|
|
130
|
+
|
|
131
|
+
let channelType
|
|
132
|
+
switch(channel){
|
|
133
|
+
case 'tcp':
|
|
134
|
+
channelType = NetTcpChannel;
|
|
135
|
+
break
|
|
136
|
+
case 'udp':
|
|
137
|
+
channelType = NetUdpChannel;
|
|
138
|
+
break
|
|
139
|
+
case 'udp4':
|
|
140
|
+
channelType = NetUdpChannel;
|
|
141
|
+
break
|
|
142
|
+
case 'udp6':
|
|
143
|
+
channelType = NetUdpChannel;
|
|
144
|
+
break
|
|
145
|
+
case 'serial':
|
|
146
|
+
channelType = NetSerialChannel;
|
|
147
|
+
break
|
|
148
|
+
default:
|
|
149
|
+
netType = NetSerialChannel;
|
|
150
|
+
}
|
|
151
|
+
let client = new NodbusSerialClient(channelType);
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
return client;
|
|
155
|
+
|
|
156
|
+
}
|
|
157
|
+
|