@@ -31,6 +31,42 @@ It based on `ModbusLib` cross platform library project:
3131
3232https://github.com/serhmarch/ModbusLib
3333
34+ ### Memory item addressing
35+
36+ Modbus Tools uses a 6-digit memory addressing type.
37+ The left digit indicates the memory type (` 0 ` , ` 1 ` , ` 3 ` or ` 4 ` ) and
38+ the right 5 digits indicate the address of the memory cell starting from 1 - [ 1:65536] .
39+
40+ __ * New in version 0.4* __ :
41+ > IEC61131-3 addressing type is available. There is a setting that allows you to choose between
42+ standard Modbus (1 based) and IEC61131-3 (0 based) addressing types.
43+
44+ Memory types decribed below:
45+
46+ * ` 0x ` - intended for coils (discrete outputs, boolean), corresponding modern PLC notation is ` %M ` or ` %Q `
47+ (e.g. ` 000001 ` coil in modern notation can be accessed like ` %M0 ` or ` %Q0 ` ), can have Read/Write access,
48+ corresponding access functions are ` READ_COILS ` (which number is ` 1 ` ) and ` WRITE_MULTIPLE_COILS ` (` 15 ` , ` 0x0F ` );
49+
50+ * ` 1x ` - intended for discrete inputs (boolean), corresponding modern PLC notation is ` %I `
51+ (e.g. ` 100001 ` boolean in modern notation can be accessed like ` %I0 ` ), has ReadOnly access,
52+ corresponding access function is ` READ_DISCRETE_INPUTS ` (` 2 ` );
53+
54+ * ` 3x ` - intended for input registers (analog inputs, 16 bit word), corresponding modern PLC notation is ` %IW `
55+ (e.g. ` 300001 ` word in modern notation can be accessed like ` %IW0 ` ), has ReadOnly access,
56+ corresponding access function is ` READ_INPUT_REGISTERS ` (` 4 ` );
57+
58+ * ` 4x ` - intended for holding registers (analog outputs, 16 bit word), corresponding modern PLC notation is ` %MW `
59+ (e.g. ` 400001 ` word in modern notation can be accessed like ` %MW0 ` ), , can have Read/Write access,
60+ corresponding access functions are ` READ_HOLDING_REGISTERS ` (` 3 ` ) and ` WRITE_MULTIPLE_REGISTERS ` (` 16 ` , ` 0x10 ` );
61+
62+ Addressing examples:
63+ | Memory type | Standard (1 based) | IEC 61131-3 (0 based)
64+ |-------------------|--------------------|-------------------------
65+ | Coils | ` 000001 ` | ` %Q0 `
66+ | Discrete inputs | ` 100001 ` | ` %I0 `
67+ | Input registers | ` 300001 ` | ` %IW0 `
68+ | Holding registers | ` 400001 ` | ` %MW0 `
69+
3470## Release
3571
3672All compiled binaries are located in the latest release:
0 commit comments