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