iobroker.modbus 8.0.5 → 8.1.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/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,28 @@ 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.0 (2026-04-12)
|
|
348
|
+
* (@GermanBluefox) Added sanitizing of the values
|
|
349
|
+
|
|
318
350
|
### 8.0.5 (2026-04-11)
|
|
319
351
|
* (@GermanBluefox) Fixed possible errors
|
|
320
352
|
|
|
321
353
|
### 8.0.3 (2026-02-17)
|
|
322
|
-
* (@GermanBluefox) Set default value of slave to '0' and not to 0
|
|
354
|
+
* (@GermanBluefox) Set the default value of a slave to '0' and not to 0
|
|
323
355
|
* (@GermanBluefox) Showed address 0
|
|
324
356
|
|
|
325
357
|
### 8.0.1 (2026-02-16)
|
|
@@ -342,18 +374,18 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
342
374
|
|
|
343
375
|
### 7.0.1 (2025-10-07)
|
|
344
376
|
* (bluefox) Redesign of the configuration tabs
|
|
345
|
-
* (bluefox) Added option to remove leading underscores in the object names
|
|
377
|
+
* (bluefox) Added an option to remove leading underscores in the object names
|
|
346
378
|
|
|
347
379
|
### 7.0.0 (2025-10-06)
|
|
348
380
|
* (copilot) Improved Modbus error handling and fault tolerance - continue polling working devices even when others fail
|
|
349
381
|
* (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
|
|
382
|
+
* (copilot) Added an option to disable connection error logging to avoid log spam when devices are unavailable
|
|
383
|
+
* (bluefox) Show values directly in the configuration
|
|
352
384
|
* (bluefox) Implemented TLS connection (master)
|
|
353
385
|
|
|
354
386
|
### 6.4.0 (2024-11-22)
|
|
355
387
|
* (bluefox) Moved GUI compilation to vite
|
|
356
|
-
* (bluefox) Added error message if the response length is invalid
|
|
388
|
+
* (bluefox) Added an error message if the response length is invalid
|
|
357
389
|
|
|
358
390
|
### 6.3.2 (2024-08-29)
|
|
359
391
|
* (bluefox) Corrected the error with alignment of addresses
|
|
@@ -361,7 +393,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
361
393
|
### 6.3.0 (2024-08-28)
|
|
362
394
|
* (Apollon77) Fix Timeout management to prevent leaking memory
|
|
363
395
|
* (bluefox) Added information about connected clients in the server mode
|
|
364
|
-
* (bluefox) Tried to fix error with aligning addresses
|
|
396
|
+
* (bluefox) Tried to fix the error with aligning addresses
|
|
365
397
|
* (bluefox) GUI was migrated to admin 7
|
|
366
398
|
|
|
367
399
|
### 6.2.3 (2024-05-25)
|
|
@@ -377,7 +409,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
377
409
|
### 6.2.0 (2024-04-12)
|
|
378
410
|
* (PLCHome) String based on 16-bit values big endian as well as little endian
|
|
379
411
|
* (PLCHome) Raw data as a hex string
|
|
380
|
-
* (PLCHome) Fix issue `stringle` was always converted to number for slave
|
|
412
|
+
* (PLCHome) Fix issue `stringle` was always converted to number for a slave
|
|
381
413
|
* (PLCHome) Enable formula for strings and hex strings
|
|
382
414
|
|
|
383
415
|
### 6.1.0 (2023-12-14)
|
|
@@ -409,7 +441,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
409
441
|
|
|
410
442
|
### 5.0.0 (2022-05-11)
|
|
411
443
|
* 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
|
|
444
|
+
* (Apollon77) Catch error reported by sentry when the invalid Master port is entered
|
|
413
445
|
* (bluefox) GUI migrated to mui-v5
|
|
414
446
|
|
|
415
447
|
### 4.0.4 (2022-03-25)
|
|
@@ -428,7 +460,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
428
460
|
|
|
429
461
|
### 3.4.14 (2021-08-31)
|
|
430
462
|
* (nkleber78) Fixed issue with sorting
|
|
431
|
-
* (bluefox) Corrected the calculations with scaling factor
|
|
463
|
+
* (bluefox) Corrected the calculations with a scaling factor
|
|
432
464
|
* (bluefox) Read times were optimized
|
|
433
465
|
|
|
434
466
|
### 3.4.11 (2021-07-31)
|
|
@@ -436,13 +468,13 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
436
468
|
|
|
437
469
|
### 3.4.10 (2021-07-30)
|
|
438
470
|
* (Apollon77) Make sure that slave reconnections at least wait 1000ms to allow old connectio to close properly
|
|
439
|
-
* (bluefox) Corrected the error with
|
|
471
|
+
* (bluefox) Corrected the error with writing single registers
|
|
440
472
|
|
|
441
473
|
### 3.4.9 (2021-07-06)
|
|
442
474
|
* (bluefox) Changed edit behaviour
|
|
443
475
|
|
|
444
476
|
### 3.4.8 (2021-06-24)
|
|
445
|
-
* (Apollon77) Fix crash case on writing floats (Sentry IOBROKER-MODBUS-2D)
|
|
477
|
+
* (Apollon77) Fix a crash case on writing floats (Sentry IOBROKER-MODBUS-2D)
|
|
446
478
|
|
|
447
479
|
### 3.4.7 (2021-06-22)
|
|
448
480
|
* (bluefox) Corrected addressing with aliases in GUI
|
|
@@ -460,7 +492,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
460
492
|
### 3.4.2 (2021-06-15)
|
|
461
493
|
* (nkleber78) Corrected issue with the scale factors
|
|
462
494
|
* (bluefox) New react GUI added
|
|
463
|
-
* (bluefox) Add new option: Use only Write multiple registers, read interval
|
|
495
|
+
* (bluefox) Add a new option: Use only Write multiple registers, read interval
|
|
464
496
|
|
|
465
497
|
### 3.3.1 (2021-05-10)
|
|
466
498
|
* (bluefox) fixed the configuration dialog for "input registers" in slave mode
|
|
@@ -468,18 +500,18 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
468
500
|
### 3.3.0 (2021-04-16)
|
|
469
501
|
* (Apollon77) Allowed usage of write-only (no poll) states
|
|
470
502
|
* (Apollon77/TmShaz) F Write multiple registers
|
|
471
|
-
* (prog42) create states of type string with default value of type string
|
|
503
|
+
* (prog42) create states of type string with the default value of type string
|
|
472
504
|
|
|
473
505
|
### 3.2.6 (2021-03-05)
|
|
474
506
|
* (Apollon77) Prevent a crash case (Sentry IOBROKER-MODBUS-20)
|
|
475
507
|
* (Apollon77) Better handle invalid responses
|
|
476
508
|
|
|
477
509
|
### 3.2.4 (2021-01-30)
|
|
478
|
-
* (Sierra83) also
|
|
510
|
+
* (Sierra83) also supports ttyXRUSB0 style devices
|
|
479
511
|
|
|
480
512
|
### 3.2.3 (2021-01-21)
|
|
481
513
|
* (Apollon77) Catch value encoding error and do not crash adapter (Sentry IOBROKER-MODBUS-1W)
|
|
482
|
-
* (Apollon77) add a meta
|
|
514
|
+
* (Apollon77) add a meta-object as an instance object
|
|
483
515
|
|
|
484
516
|
### 3.2.2 (2020-12-15)
|
|
485
517
|
* (Apollon77) prevent a rash case (Sentry IOBROKER-MODBUS-1S)
|
|
@@ -488,7 +520,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
488
520
|
* (Apollon77) prevent a crash case (Sentry IOBROKER-MODBUS-1R)
|
|
489
521
|
|
|
490
522
|
### 3.2.0 (2020-12-09)
|
|
491
|
-
* (nkleber78) Fixed formula where return keyword was missing
|
|
523
|
+
* (nkleber78) Fixed the formula where the return keyword was missing
|
|
492
524
|
|
|
493
525
|
### 3.1.13 (2020-12-07)
|
|
494
526
|
* (nkleber78) Added the possibility to use formulas for values
|
|
@@ -500,7 +532,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
500
532
|
* (nkleber78) Corrected: the exported data cannot be imported without modification
|
|
501
533
|
|
|
502
534
|
### 3.1.9 (2020-09-17)
|
|
503
|
-
* (Apollon77) Prevent crash case (Sentry IOBROKER-MODBUS-1C)
|
|
535
|
+
* (Apollon77) Prevent a crash case (Sentry IOBROKER-MODBUS-1C)
|
|
504
536
|
|
|
505
537
|
### 3.1.7 (2020-07-23)
|
|
506
538
|
* (Apollon77) Fix some Sentry crash reports (IOBROKER-MODBUS-N)
|
|
@@ -513,7 +545,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
513
545
|
|
|
514
546
|
### 3.1.4 (2020-06-24)
|
|
515
547
|
* (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
|
|
548
|
+
* (Apollon77) Change the way the adapter restarts when reconnections do not help
|
|
517
549
|
|
|
518
550
|
### 3.1.3 (2020-06-12)
|
|
519
551
|
* (Apollon77) fix scheduled restart
|
|
@@ -547,7 +579,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
547
579
|
* (Apollon77) Support for Node.js 12 added, Node.js 4 is no longer supported!
|
|
548
580
|
|
|
549
581
|
### 2.0.9 (2018-10-11)
|
|
550
|
-
* (Bjoern3003) Write registers
|
|
582
|
+
* (Bjoern3003) Write registers were corrected
|
|
551
583
|
|
|
552
584
|
### 2.0.7 (2018-07-02)
|
|
553
585
|
* (bluefox) The server mode was fixed
|
|
@@ -559,7 +591,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
559
591
|
* (bluefox) Fixed the rounding of numbers
|
|
560
592
|
|
|
561
593
|
### 2.0.2 (2018-06-12)
|
|
562
|
-
* (bluefox) The error with
|
|
594
|
+
* (bluefox) The error with block reading was fixed
|
|
563
595
|
* (bluefox) The block reading for discrete values was implemented
|
|
564
596
|
|
|
565
597
|
### 2.0.1 (2018-05-06)
|
|
@@ -582,7 +614,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
582
614
|
* (bluefox) Create all states each after other
|
|
583
615
|
|
|
584
616
|
### 0.4.10 (2017-02-10)
|
|
585
|
-
* (Apollon77) Do not recreate all data points
|
|
617
|
+
* (Apollon77) Do not recreate all data points at the start of the adapter
|
|
586
618
|
* (ykuendig) Multiple optimization and wording fixes
|
|
587
619
|
|
|
588
620
|
### 0.4.9 (2016-12-20)
|
|
@@ -607,34 +639,34 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
607
639
|
* (bluefox) Support of ModBus RTU over serial and over TCP (only slave)
|
|
608
640
|
|
|
609
641
|
### 0.3.11 (2016-08-18)
|
|
610
|
-
* (Apollon77)
|
|
642
|
+
* (Apollon77) Fixed the wrong byte count in loop
|
|
611
643
|
|
|
612
644
|
### 0.3.10 (2016-02-01)
|
|
613
|
-
* (bluefox)
|
|
645
|
+
* (bluefox) fixed lost of history settings.
|
|
614
646
|
|
|
615
647
|
### 0.3.9 (2015-11-09)
|
|
616
|
-
* (bluefox)
|
|
648
|
+
* (bluefox) Used always write_multiple_registers by writing of holding registers.
|
|
617
649
|
|
|
618
650
|
### 0.3.7 (2015-11-02)
|
|
619
|
-
* (bluefox)
|
|
651
|
+
* (bluefox) added special read/write mode if "Max read request length" is 1.
|
|
620
652
|
|
|
621
653
|
### 0.3.6 (2015-11-01)
|
|
622
|
-
* (bluefox)
|
|
654
|
+
* (bluefox) added cyclic write for holding registers (fix)
|
|
623
655
|
|
|
624
656
|
### 0.3.5 (2015-10-31)
|
|
625
|
-
* (bluefox)
|
|
657
|
+
* (bluefox) added cyclic write for holding registers
|
|
626
658
|
|
|
627
659
|
### 0.3.4 (2015-10-28)
|
|
628
|
-
* (bluefox)
|
|
660
|
+
* (bluefox) added doubles and fix uint64
|
|
629
661
|
|
|
630
662
|
### 0.3.3 (2015-10-27)
|
|
631
|
-
* (bluefox)
|
|
663
|
+
* (bluefox) fixed holding registers
|
|
632
664
|
|
|
633
665
|
### 0.3.2 (2015-10-27)
|
|
634
|
-
* (bluefox)
|
|
666
|
+
* (bluefox) fixed import from text file
|
|
635
667
|
|
|
636
668
|
### 0.3.1 (2015-10-26)
|
|
637
|
-
* (bluefox)
|
|
669
|
+
* (bluefox) fixed the error with the length of read block (master)
|
|
638
670
|
* (bluefox) support of read blocks and maximal length of read request (master)
|
|
639
671
|
* (bluefox) can define fields by import
|
|
640
672
|
|
|
@@ -647,7 +679,7 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
647
679
|
* (bluefox) add different types for inputRegisters and for holding registers ONLY FOR MASTER
|
|
648
680
|
|
|
649
681
|
### 0.2.5 (2015-10-20)
|
|
650
|
-
* (bluefox) fix names of objects if aliases used
|
|
682
|
+
* (bluefox) fix names of objects if aliases are used
|
|
651
683
|
|
|
652
684
|
### 0.2.4 (2015-10-19)
|
|
653
685
|
* (bluefox) fix error add new values
|