iobroker.modbus 8.0.5 → 8.1.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/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://weblate.iobroker.net/engage/adapters/?utm_source=widget)
|
|
10
10
|
[](https://www.npmjs.com/package/iobroker.modbus)
|
|
11
11
|
|
|
12
|
-
**This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information how to disable the error reporting, see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
|
|
12
|
+
**This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information on how to disable the error reporting, see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
|
|
13
13
|
|
|
14
14
|
Implementation of ModBus Slave and Master for ioBroker. The following types are supported:
|
|
15
15
|
- Modbus RTU over serial (master)
|
|
@@ -60,10 +60,10 @@ Like addresses from 3 to 20 will be aligned to 0 up 32.
|
|
|
60
60
|
If this option is active, the addresses will not be aligned.
|
|
61
61
|
|
|
62
62
|
### Do not use multiple registers
|
|
63
|
-
If slave does not support "write multiple registers" command, you can activate it to get warnings when the multiple registers will be written.
|
|
63
|
+
If a slave does not support the "write multiple registers" command, you can activate it to get warnings when the multiple registers will be written.
|
|
64
64
|
|
|
65
65
|
### Use only multiple write registers
|
|
66
|
-
If slave only supports "write multiple registers" command, you can activate so the registers will be written always with FC15/FC16 command.
|
|
66
|
+
If a slave only supports the "write multiple registers" command, you can activate so the registers will be written always with FC15/FC16 command.
|
|
67
67
|
|
|
68
68
|
### Round Real to
|
|
69
69
|
How many digits after comma for float and doubles.
|
|
@@ -78,13 +78,13 @@ Reconnection interval (Only relevant for master)
|
|
|
78
78
|
Timeout for read requests in milliseconds. If no response is received from a slave at this time, the connection will be terminated.
|
|
79
79
|
|
|
80
80
|
### Pulse time
|
|
81
|
-
If pulse used for coils, this defines the interval in milliseconds how long is the pulse.
|
|
81
|
+
If pulse is used for coils, this defines the interval in milliseconds how long is the pulse.
|
|
82
82
|
|
|
83
83
|
### Wait time
|
|
84
84
|
Wait time between polling of two different device IDs in milliseconds.
|
|
85
85
|
|
|
86
86
|
### Max read request length
|
|
87
|
-
Maximal length of command READ_MULTIPLE_REGISTERS as number of registers to read.
|
|
87
|
+
Maximal length of command READ_MULTIPLE_REGISTERS as the number of registers to read.
|
|
88
88
|
|
|
89
89
|
Some systems require first "write request" to deliver the data on "read request".
|
|
90
90
|
You can force this mode by setting of the "Max read request length" to 1.
|
|
@@ -97,22 +97,40 @@ There is a software [**Modbus RTU <-> Modbus RTU over TCP**](http://mbus.sourcef
|
|
|
97
97
|
Both solutions **RTU over TCP** and **TCP** work well.
|
|
98
98
|
|
|
99
99
|
### Read interval
|
|
100
|
-
Delay between two read requests in
|
|
100
|
+
Delay between two read requests in milliseconds. Default 0.
|
|
101
101
|
|
|
102
102
|
### Write interval
|
|
103
|
-
Delay between two write requests in
|
|
103
|
+
Delay between two write requests in milliseconds. Default 0.
|
|
104
104
|
|
|
105
105
|
### Update unchanged states
|
|
106
106
|
Normally, if the value has not changed, it will not be written into ioBroker.
|
|
107
107
|
This flag allows updating the value's timestamp by every cycle.
|
|
108
108
|
|
|
109
|
+
### Value Sanitization
|
|
110
|
+
Enable automatic sanitization of invalid register values (NaN, Infinity, extreme float values like ±3.4e38).
|
|
111
|
+
This feature helps prevent corrupted Modbus float values from propagating into ioBroker states, which is especially useful for devices like SolarEdge inverters that occasionally return invalid values due to timeouts or internal scaling errors.
|
|
112
|
+
|
|
113
|
+
When enabled, you can configure per-register sanitization options:
|
|
114
|
+
- **Sanitize**: Enable sanitization for this specific register
|
|
115
|
+
- **Sanitize Action**: Choose how to handle invalid values
|
|
116
|
+
- *Keep Last Valid*: Keeps the last known valid value when an invalid value is detected
|
|
117
|
+
- *Replace with 0*: Replaces invalid values with 0
|
|
118
|
+
- **Min Valid Value**: Optional minimum valid value threshold
|
|
119
|
+
- **Max Valid Value**: Optional maximum valid value threshold
|
|
120
|
+
|
|
121
|
+
Invalid values detected:
|
|
122
|
+
- `NaN` (Not a Number)
|
|
123
|
+
- `Infinity` or `-Infinity`
|
|
124
|
+
- Extreme float values (≥3.4e38 or ≤-3.4e38) - typical Modbus error values
|
|
125
|
+
- Values outside the configured min/max range
|
|
126
|
+
|
|
109
127
|
### Do not include addresses in ID
|
|
110
128
|
Do not add address in the generated ioBroker iD. `10_Input10` vs `_Input10`.
|
|
111
129
|
|
|
112
130
|
### Preserve dots in ID
|
|
113
131
|
With this flag the Name will be `Inputs.Input10`. Without => `Inputs_Input10`.
|
|
114
132
|
|
|
115
|
-
## Parameters for single address line in config
|
|
133
|
+
## Parameters for a single address line in config
|
|
116
134
|
### Address
|
|
117
135
|
Modbus address to read.
|
|
118
136
|
|
|
@@ -129,16 +147,16 @@ Parameter description.
|
|
|
129
147
|
Unit of the Parameter.
|
|
130
148
|
|
|
131
149
|
### Type
|
|
132
|
-
Datatype to read from Bus. For details about the possible data types see section Data types.
|
|
150
|
+
Datatype to read from Bus. For details about the possible data types, see the section Data types.
|
|
133
151
|
|
|
134
152
|
### Length
|
|
135
|
-
Length of parameter. For
|
|
153
|
+
Length of parameter. For most parameters, this is determined based on the data type, but for Strings this defines the length in Bytes / characters.
|
|
136
154
|
|
|
137
155
|
### Factor
|
|
138
156
|
This factor is used to multiply the read value from Bus for static scaling. So the calculation looks like following `val = x * Factor + Offset`.
|
|
139
157
|
|
|
140
158
|
### Offset
|
|
141
|
-
This offset is added to the read value after above multiplication. So the calculation looks like following `val = x * Factor + Offset`.
|
|
159
|
+
This offset is added to the read value after the above multiplication. So the calculation looks like following `val = x * Factor + Offset`.
|
|
142
160
|
|
|
143
161
|
### Formula
|
|
144
162
|
This field can be used for advanced calculations if Factor and Offset are not enough. **If this field is set, then the Factor and Offset fields are ignored.**
|
|
@@ -159,7 +177,7 @@ ioBroker role to assign.
|
|
|
159
177
|
ioBroker room to assign.
|
|
160
178
|
|
|
161
179
|
### Poll
|
|
162
|
-
If activated, the values are polled in a predefined interval from slave.
|
|
180
|
+
If activated, the values are polled in a predefined interval from a slave.
|
|
163
181
|
|
|
164
182
|
### WP
|
|
165
183
|
Write pulse
|
|
@@ -173,6 +191,17 @@ This is necessary to be used by dynamic scaling factors which are on some system
|
|
|
173
191
|
If a value is marked with this flag, then the value will be stored into a variable with the following naming convention: `sf['Modbus_address']`.
|
|
174
192
|
This variable can be then later used in any formula for other parameters. E.g., the following formula can set: `(x * sf['40065']) + 50;`
|
|
175
193
|
|
|
194
|
+
### Sanitize (Expert Mode)
|
|
195
|
+
Enable value sanitization for this register. Only available when "Value Sanitization" is enabled globally in the adapter settings.
|
|
196
|
+
|
|
197
|
+
### Sanitize Action (Expert Mode)
|
|
198
|
+
Choose the action to take when an invalid value is detected:
|
|
199
|
+
- **Keep Last Valid**: Retains the last known valid value
|
|
200
|
+
- **Replace with 0**: Replaces the invalid value with 0
|
|
201
|
+
|
|
202
|
+
### Min Valid / Max Valid (Expert Mode)
|
|
203
|
+
Optional minimum and maximum value thresholds for range validation. Values outside this range will be treated as invalid and sanitized according to the Sanitize Action.
|
|
204
|
+
|
|
176
205
|
## Data types
|
|
177
206
|
- `uint16be` - `Unsigned 16 bit (Big Endian): AABB => AABB`
|
|
178
207
|
- `uint16le` - `Unsigned 16 bit (Little Endian): AABB => BBAA`
|
|
@@ -206,7 +235,7 @@ This variable can be then later used in any formula for other parameters. E.g.,
|
|
|
206
235
|
|
|
207
236
|
The following description was copied from [here](http://www.chipkin.com/how-real-floating-point-and-32-bit-data-is-encoded-in-modbus-rtu-messages/)
|
|
208
237
|
|
|
209
|
-
The point-to-point Modbus protocol is a popular choice for RTU communications if for no other reason
|
|
238
|
+
The point-to-point Modbus protocol is a popular choice for RTU communications if for no other reason than its basic convenience. The protocol itself controls the interactions of each device on a Modbus network, how the device establishes a known address, how each device recognizes its messages and how basic information is extracted from the data. In essence, the protocol is the foundation of the entire Modbus network.
|
|
210
239
|
|
|
211
240
|
Such a convenience does not come without any complications, however, and Modbus RTU Message protocol is no exception.
|
|
212
241
|
The protocol itself was designed based on devices with a 16-bit register length.
|
|
@@ -216,7 +245,7 @@ It is within these four bytes of data that single-precision floating point data
|
|
|
216
245
|
|
|
217
246
|
### The Importance of Byte Order
|
|
218
247
|
Modbus itself does not define a floating point data type, but it is widely accepted that it implements 32-bit floating point data using the IEEE-754 standard.
|
|
219
|
-
However, the IEEE standard has no clear definition of byte order of the data payload.
|
|
248
|
+
However, the IEEE standard has no clear definition of the byte order of the data payload.
|
|
220
249
|
Therefore, the most important consideration when dealing with 32-bit data is that data is addressed in the proper order.
|
|
221
250
|
|
|
222
251
|
For example, the number 123/456.00 as defined in the IEEE 754 standard for single-precision 32-bit floating point numbers appears as follows:
|
|
@@ -249,7 +278,7 @@ Given that the Modbus RTU message protocol is big-Endian, in order to successful
|
|
|
249
278
|
|
|
250
279
|
As a rule of thumb, the family of a device’s microprocessor determines its endianness. Typically, the big-Endian style (the high-order byte is stored first, followed by the low-order byte) is generally found in CPUs designed with a Motorola processor. The little-Endian style (the low-order byte is stored first, followed by the high-order byte) is generally found in CPUs using the Intel architecture. It is a matter of personal perspective as to which style is considered ‘backwards’.
|
|
251
280
|
|
|
252
|
-
If, however, byte order and endianness are not a configurable option, you will have to determine how to interpret the byte. This can be done requesting a known floating-point value from the slave. If an impossible value is returned, i.e., a number with a double-digit exponent or such, the byte ordering will most likely need modification.
|
|
281
|
+
If, however, byte order and endianness are not a configurable option, you will have to determine how to interpret the byte. This can be done by requesting a known floating-point value from the slave. If an impossible value is returned, i.e., a number with a double-digit exponent or such, the byte ordering will most likely need modification.
|
|
253
282
|
|
|
254
283
|
### Practical Help
|
|
255
284
|
The FieldServer Modbus RTU drivers offer several function moves that handle 32-bit integers and 32-bit float values. More importantly, these function moves consider all different forms of byte sequencing. The following table shows the FieldServer function moves that copy two adjacent 16-bit registers to a 32-bit integer value.
|
|
@@ -301,25 +330,30 @@ The utility presents the decimal float value of 123456.00 as follows:
|
|
|
301
330
|
One can then swap bytes and/or words to analyze what potential endianness issues may exist between Modbus RTU master and slave devices.
|
|
302
331
|
|
|
303
332
|
## Export / Import of registers
|
|
304
|
-
With export / import functionality, you can convert all register data (only of one type) to a TSV (Tab
|
|
333
|
+
With export / import functionality, you can convert all register data (only of one type) to a TSV (Tab-separated values) file and back to easily copy data from one device to another or to edit register in Excel.
|
|
305
334
|
|
|
306
335
|
You can share your schemas with other users in [modbus-templates,](https://github.com/ioBroker/modbus-templates) or you can find some register schemas there.
|
|
307
336
|
|
|
308
337
|
## Test
|
|
309
338
|
There are some programs in folder `test` to test the TCP communication:
|
|
310
339
|
- Ananas32/64 is a slave simulator (only holding registers and inputs, no coils and digital inputs)
|
|
311
|
-
- RMMS is master simulator
|
|
312
|
-
- mod_RSsim.exe is a slave simulator. It can be that you need [Microsoft Visual C++ 2008 SP1 Redistributable Package](https://www.microsoft.com/en-us/download/details.aspx?id=5582) to start it (because of Side-By-Side error).
|
|
340
|
+
- RMMS is a master simulator
|
|
341
|
+
- mod_RSsim.exe is a slave simulator. It can be that you need [Microsoft Visual C++ 2008 SP1 Redistributable Package](https://www.microsoft.com/en-us/download/details.aspx?id=5582) to start it (because of a Side-By-Side error).
|
|
313
342
|
|
|
314
343
|
<!--
|
|
315
344
|
### **WORK IN PROGRESS**
|
|
316
345
|
-->
|
|
317
346
|
## Changelog
|
|
347
|
+
### 8.1.1 (2026-04-12)
|
|
348
|
+
* (@GermanBluefox) Added sanitizing of the values
|
|
349
|
+
* (@GermanBluefox) Added "ttyADM***" to the list of possible serial ports
|
|
350
|
+
* (@GermanBluefox) Write cyclic values even if they are not polled
|
|
351
|
+
|
|
318
352
|
### 8.0.5 (2026-04-11)
|
|
319
353
|
* (@GermanBluefox) Fixed possible errors
|
|
320
354
|
|
|
321
355
|
### 8.0.3 (2026-02-17)
|
|
322
|
-
* (@GermanBluefox) Set default value of slave to '0' and not to 0
|
|
356
|
+
* (@GermanBluefox) Set the default value of a slave to '0' and not to 0
|
|
323
357
|
* (@GermanBluefox) Showed address 0
|
|
324
358
|
|
|
325
359
|
### 8.0.1 (2026-02-16)
|
|
@@ -342,18 +376,18 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
342
376
|
|
|
343
377
|
### 7.0.1 (2025-10-07)
|
|
344
378
|
* (bluefox) Redesign of the configuration tabs
|
|
345
|
-
* (bluefox) Added option to remove leading underscores in the object names
|
|
379
|
+
* (bluefox) Added an option to remove leading underscores in the object names
|
|
346
380
|
|
|
347
381
|
### 7.0.0 (2025-10-06)
|
|
348
382
|
* (copilot) Improved Modbus error handling and fault tolerance - continue polling working devices even when others fail
|
|
349
383
|
* (copilot) Fixes memory leak
|
|
350
|
-
* (copilot) Added option to disable connection error logging to avoid log spam when devices are unavailable
|
|
351
|
-
* (bluefox) Show values directly in configuration
|
|
384
|
+
* (copilot) Added an option to disable connection error logging to avoid log spam when devices are unavailable
|
|
385
|
+
* (bluefox) Show values directly in the configuration
|
|
352
386
|
* (bluefox) Implemented TLS connection (master)
|
|
353
387
|
|
|
354
388
|
### 6.4.0 (2024-11-22)
|
|
355
389
|
* (bluefox) Moved GUI compilation to vite
|
|
356
|
-
* (bluefox) Added error message if the response length is invalid
|
|
390
|
+
* (bluefox) Added an error message if the response length is invalid
|
|
357
391
|
|
|
358
392
|
### 6.3.2 (2024-08-29)
|
|
359
393
|
* (bluefox) Corrected the error with alignment of addresses
|
|
@@ -361,7 +395,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
361
395
|
### 6.3.0 (2024-08-28)
|
|
362
396
|
* (Apollon77) Fix Timeout management to prevent leaking memory
|
|
363
397
|
* (bluefox) Added information about connected clients in the server mode
|
|
364
|
-
* (bluefox) Tried to fix error with aligning addresses
|
|
398
|
+
* (bluefox) Tried to fix the error with aligning addresses
|
|
365
399
|
* (bluefox) GUI was migrated to admin 7
|
|
366
400
|
|
|
367
401
|
### 6.2.3 (2024-05-25)
|
|
@@ -377,7 +411,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
377
411
|
### 6.2.0 (2024-04-12)
|
|
378
412
|
* (PLCHome) String based on 16-bit values big endian as well as little endian
|
|
379
413
|
* (PLCHome) Raw data as a hex string
|
|
380
|
-
* (PLCHome) Fix issue `stringle` was always converted to number for slave
|
|
414
|
+
* (PLCHome) Fix issue `stringle` was always converted to number for a slave
|
|
381
415
|
* (PLCHome) Enable formula for strings and hex strings
|
|
382
416
|
|
|
383
417
|
### 6.1.0 (2023-12-14)
|
|
@@ -409,7 +443,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
409
443
|
|
|
410
444
|
### 5.0.0 (2022-05-11)
|
|
411
445
|
* BREAKING: All space characters will be replaced with underscores now in the Objects IDs, not only the first one.
|
|
412
|
-
* (Apollon77) Catch error reported by sentry when invalid Master port is entered
|
|
446
|
+
* (Apollon77) Catch error reported by sentry when the invalid Master port is entered
|
|
413
447
|
* (bluefox) GUI migrated to mui-v5
|
|
414
448
|
|
|
415
449
|
### 4.0.4 (2022-03-25)
|
|
@@ -428,7 +462,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
428
462
|
|
|
429
463
|
### 3.4.14 (2021-08-31)
|
|
430
464
|
* (nkleber78) Fixed issue with sorting
|
|
431
|
-
* (bluefox) Corrected the calculations with scaling factor
|
|
465
|
+
* (bluefox) Corrected the calculations with a scaling factor
|
|
432
466
|
* (bluefox) Read times were optimized
|
|
433
467
|
|
|
434
468
|
### 3.4.11 (2021-07-31)
|
|
@@ -436,13 +470,13 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
436
470
|
|
|
437
471
|
### 3.4.10 (2021-07-30)
|
|
438
472
|
* (Apollon77) Make sure that slave reconnections at least wait 1000ms to allow old connectio to close properly
|
|
439
|
-
* (bluefox) Corrected the error with
|
|
473
|
+
* (bluefox) Corrected the error with writing single registers
|
|
440
474
|
|
|
441
475
|
### 3.4.9 (2021-07-06)
|
|
442
476
|
* (bluefox) Changed edit behaviour
|
|
443
477
|
|
|
444
478
|
### 3.4.8 (2021-06-24)
|
|
445
|
-
* (Apollon77) Fix crash case on writing floats (Sentry IOBROKER-MODBUS-2D)
|
|
479
|
+
* (Apollon77) Fix a crash case on writing floats (Sentry IOBROKER-MODBUS-2D)
|
|
446
480
|
|
|
447
481
|
### 3.4.7 (2021-06-22)
|
|
448
482
|
* (bluefox) Corrected addressing with aliases in GUI
|
|
@@ -460,7 +494,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
460
494
|
### 3.4.2 (2021-06-15)
|
|
461
495
|
* (nkleber78) Corrected issue with the scale factors
|
|
462
496
|
* (bluefox) New react GUI added
|
|
463
|
-
* (bluefox) Add new option: Use only Write multiple registers, read interval
|
|
497
|
+
* (bluefox) Add a new option: Use only Write multiple registers, read interval
|
|
464
498
|
|
|
465
499
|
### 3.3.1 (2021-05-10)
|
|
466
500
|
* (bluefox) fixed the configuration dialog for "input registers" in slave mode
|
|
@@ -468,18 +502,18 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
468
502
|
### 3.3.0 (2021-04-16)
|
|
469
503
|
* (Apollon77) Allowed usage of write-only (no poll) states
|
|
470
504
|
* (Apollon77/TmShaz) F Write multiple registers
|
|
471
|
-
* (prog42) create states of type string with default value of type string
|
|
505
|
+
* (prog42) create states of type string with the default value of type string
|
|
472
506
|
|
|
473
507
|
### 3.2.6 (2021-03-05)
|
|
474
508
|
* (Apollon77) Prevent a crash case (Sentry IOBROKER-MODBUS-20)
|
|
475
509
|
* (Apollon77) Better handle invalid responses
|
|
476
510
|
|
|
477
511
|
### 3.2.4 (2021-01-30)
|
|
478
|
-
* (Sierra83) also
|
|
512
|
+
* (Sierra83) also supports ttyXRUSB0 style devices
|
|
479
513
|
|
|
480
514
|
### 3.2.3 (2021-01-21)
|
|
481
515
|
* (Apollon77) Catch value encoding error and do not crash adapter (Sentry IOBROKER-MODBUS-1W)
|
|
482
|
-
* (Apollon77) add a meta
|
|
516
|
+
* (Apollon77) add a meta-object as an instance object
|
|
483
517
|
|
|
484
518
|
### 3.2.2 (2020-12-15)
|
|
485
519
|
* (Apollon77) prevent a rash case (Sentry IOBROKER-MODBUS-1S)
|
|
@@ -488,7 +522,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
488
522
|
* (Apollon77) prevent a crash case (Sentry IOBROKER-MODBUS-1R)
|
|
489
523
|
|
|
490
524
|
### 3.2.0 (2020-12-09)
|
|
491
|
-
* (nkleber78) Fixed formula where return keyword was missing
|
|
525
|
+
* (nkleber78) Fixed the formula where the return keyword was missing
|
|
492
526
|
|
|
493
527
|
### 3.1.13 (2020-12-07)
|
|
494
528
|
* (nkleber78) Added the possibility to use formulas for values
|
|
@@ -500,7 +534,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
500
534
|
* (nkleber78) Corrected: the exported data cannot be imported without modification
|
|
501
535
|
|
|
502
536
|
### 3.1.9 (2020-09-17)
|
|
503
|
-
* (Apollon77) Prevent crash case (Sentry IOBROKER-MODBUS-1C)
|
|
537
|
+
* (Apollon77) Prevent a crash case (Sentry IOBROKER-MODBUS-1C)
|
|
504
538
|
|
|
505
539
|
### 3.1.7 (2020-07-23)
|
|
506
540
|
* (Apollon77) Fix some Sentry crash reports (IOBROKER-MODBUS-N)
|
|
@@ -513,7 +547,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
513
547
|
|
|
514
548
|
### 3.1.4 (2020-06-24)
|
|
515
549
|
* (Apollon77) Fix some Sentry crash reports (IOBROKER-MODBUS-4, IOBROKER-MODBUS-7, IOBROKER-MODBUS-6)
|
|
516
|
-
* (Apollon77) Change the way adapter restarts when reconnections do not help
|
|
550
|
+
* (Apollon77) Change the way the adapter restarts when reconnections do not help
|
|
517
551
|
|
|
518
552
|
### 3.1.3 (2020-06-12)
|
|
519
553
|
* (Apollon77) fix scheduled restart
|
|
@@ -547,7 +581,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
547
581
|
* (Apollon77) Support for Node.js 12 added, Node.js 4 is no longer supported!
|
|
548
582
|
|
|
549
583
|
### 2.0.9 (2018-10-11)
|
|
550
|
-
* (Bjoern3003) Write registers
|
|
584
|
+
* (Bjoern3003) Write registers were corrected
|
|
551
585
|
|
|
552
586
|
### 2.0.7 (2018-07-02)
|
|
553
587
|
* (bluefox) The server mode was fixed
|
|
@@ -559,7 +593,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
559
593
|
* (bluefox) Fixed the rounding of numbers
|
|
560
594
|
|
|
561
595
|
### 2.0.2 (2018-06-12)
|
|
562
|
-
* (bluefox) The error with
|
|
596
|
+
* (bluefox) The error with block reading was fixed
|
|
563
597
|
* (bluefox) The block reading for discrete values was implemented
|
|
564
598
|
|
|
565
599
|
### 2.0.1 (2018-05-06)
|
|
@@ -582,7 +616,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
582
616
|
* (bluefox) Create all states each after other
|
|
583
617
|
|
|
584
618
|
### 0.4.10 (2017-02-10)
|
|
585
|
-
* (Apollon77) Do not recreate all data points
|
|
619
|
+
* (Apollon77) Do not recreate all data points at the start of the adapter
|
|
586
620
|
* (ykuendig) Multiple optimization and wording fixes
|
|
587
621
|
|
|
588
622
|
### 0.4.9 (2016-12-20)
|
|
@@ -607,34 +641,34 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
607
641
|
* (bluefox) Support of ModBus RTU over serial and over TCP (only slave)
|
|
608
642
|
|
|
609
643
|
### 0.3.11 (2016-08-18)
|
|
610
|
-
* (Apollon77)
|
|
644
|
+
* (Apollon77) Fixed the wrong byte count in loop
|
|
611
645
|
|
|
612
646
|
### 0.3.10 (2016-02-01)
|
|
613
|
-
* (bluefox)
|
|
647
|
+
* (bluefox) fixed lost of history settings.
|
|
614
648
|
|
|
615
649
|
### 0.3.9 (2015-11-09)
|
|
616
|
-
* (bluefox)
|
|
650
|
+
* (bluefox) Used always write_multiple_registers by writing of holding registers.
|
|
617
651
|
|
|
618
652
|
### 0.3.7 (2015-11-02)
|
|
619
|
-
* (bluefox)
|
|
653
|
+
* (bluefox) added special read/write mode if "Max read request length" is 1.
|
|
620
654
|
|
|
621
655
|
### 0.3.6 (2015-11-01)
|
|
622
|
-
* (bluefox)
|
|
656
|
+
* (bluefox) added cyclic write for holding registers (fix)
|
|
623
657
|
|
|
624
658
|
### 0.3.5 (2015-10-31)
|
|
625
|
-
* (bluefox)
|
|
659
|
+
* (bluefox) added cyclic write for holding registers
|
|
626
660
|
|
|
627
661
|
### 0.3.4 (2015-10-28)
|
|
628
|
-
* (bluefox)
|
|
662
|
+
* (bluefox) added doubles and fix uint64
|
|
629
663
|
|
|
630
664
|
### 0.3.3 (2015-10-27)
|
|
631
|
-
* (bluefox)
|
|
665
|
+
* (bluefox) fixed holding registers
|
|
632
666
|
|
|
633
667
|
### 0.3.2 (2015-10-27)
|
|
634
|
-
* (bluefox)
|
|
668
|
+
* (bluefox) fixed import from text file
|
|
635
669
|
|
|
636
670
|
### 0.3.1 (2015-10-26)
|
|
637
|
-
* (bluefox)
|
|
671
|
+
* (bluefox) fixed the error with the length of read block (master)
|
|
638
672
|
* (bluefox) support of read blocks and maximal length of read request (master)
|
|
639
673
|
* (bluefox) can define fields by import
|
|
640
674
|
|
|
@@ -647,7 +681,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
647
681
|
* (bluefox) add different types for inputRegisters and for holding registers ONLY FOR MASTER
|
|
648
682
|
|
|
649
683
|
### 0.2.5 (2015-10-20)
|
|
650
|
-
* (bluefox) fix names of objects if aliases used
|
|
684
|
+
* (bluefox) fix names of objects if aliases are used
|
|
651
685
|
|
|
652
686
|
### 0.2.4 (2015-10-19)
|
|
653
687
|
* (bluefox) fix error add new values
|