4/2/2015 4:32 PM | |
Posts: 3093 Rating:
|
Hello Piotr, Regards, |
4/2/2015 5:07 PM | |
Joined: 2/23/2015 Last visit: 2/12/2025 Posts: 16 Rating:
|
Hi Kaulquappe, Many thanks for you answer. The description in the link you put described that what I know about. I am looking for the way to read register start from 0x3000 with the 0x03 modbus function code. That range is still valid for Modbus protocol requirements: Modbus Application Protocol Specification V1.1b3 - from http://www.modbus.org/specs.php Best Regards, Piotr |
4/2/2015 6:30 PM | |
Posts: 3093 Rating:
|
Hello Piotr, Regards, |
This contribution was helpful to
2 thankful Users |
4/3/2015 5:43 PM | |
Joined: 2/23/2015 Last visit: 2/12/2025 Posts: 16 Rating:
|
Hi Kaulquappe, That works! I have put 412289 and communication is working well. Many thanks for your help. I appreciate you professionalism Best Regards, Piotr |
Last edited by: P_Szajgin at: 4/3/2015 5:46:02 PM |
|
This contribution was helpful to
1 thankful Users |
4/25/2020 6:52 AM | |
Posts: 2 Rating:
|
Hi sir Mr HiKaulquappe, You can my help, why is 412289( 400001+12228), is not 52229( 40001+12228) Many thannk |
Last edited by: minhkhanhtdh at: 04/25/2020 06:54:04 |
|
4/25/2020 11:12 AM | |
Joined: 3/30/2020 Last visit: 3/19/2025 Posts: 5051 Rating:
|
Do you mind if I contribute? The original Modbus schema had holding register addresses from 40,000. The upper limit was chosen to be at 49,999. As communications between instruments became more feature rich, more address space was needed. The 'extended' range schema was realised. Siemens allows addresses between 400,000 to 465,535 which is 65,535+1 word addresses. The "65,535" is the highest number for an unsigned integer. The address space would default to the original schema, unless the reserved address space exceeds the possible addressable space or is documented as using the 'extended' schema. Is this helpful to you? |
Activities of this user is voluntary. There is no obligation or liability placed on this user. Though optional, your 'please' and 'thank you' is highly valued. |
|
This contribution was helpful to
1 thankful Users |
4/27/2020 9:51 AM | |
Joined: 2/23/2015 Last visit: 2/12/2025 Posts: 16 Rating:
|
Hi minhkhanhtdh, DATA_ADDR is combination of digits which contain Modbus Function and device Register Address The first digit "4" means Modbus function <<see enclosure table>>. Rest of digits "12289" is a number/address of register we are going to read as first - Starting Address - 0x3000 (12288 dec) + offset 1 = 12289. Finally we get: "412289" for DATA_ADDR For some devices offset is not needed. In DATA_LEN you can put number of consecutive registers you would like to read. That could be DATA_LEN=1; then you read register (12289) just. Modbus function table comes from "SIMATIC S7-1500/ET 200MP Automation system" 03/2018 edition pdf Hope it helps, Best Regards, Piotr |
Last edited by: P_Szajgin at: 04/27/2020 09:57:11 |
|
4/27/2020 1:14 PM | |
Joined: 4/28/2015 Last visit: 2/24/2025 Posts: 10832 Rating:
|
Hello Piotr, eeeeehm sry, maybe I put some correction to your infos also correct your table posted in your first post from 2015 which is wrong. Area 30001 isn't Holding register but Input register. Digit 4 isn't modbus function here but visible delimitter which point to Holding register area not Modbus function because Modbus function in this case is 3. Generally I recommend use that table where all is clear, simply table point to areas (also general Modbus description to compare with Siemens system of usage) and depended init start values as address start (1st-register). In case of Holding register is this 40001 so then you need only add your required address to this value (if it is not bigger than 9999) which is then final address for your data read/write. With other areas is system same but different with init address value to be clear what area we need read/write. Hope now it's clear. |
Last edited by: Duris_I at: 04/27/2020 18:07:24With best regards... |
|
4/27/2020 1:41 PM | |
Joined: 2/23/2015 Last visit: 2/12/2025 Posts: 16 Rating:
|
Hi minhkhanhtdh, DATA_ADDR is combination of digits which contain Modbus Function and device Register Address The first digit "4" means 03 Modbus function (read hold register); MODE=0 <<see enclosure table>>. Rest of digits "12289" is a number/address of register we are going to read as first - Starting Address - 0x3000 (12288 dec) + offset 1 = 12289. Finally we get: "412289" for DATA_ADDR For some devices offset is not needed. In DATA_LEN you can put number of consecutive registers you would like to read. That could be DATA_LEN=1; then you read register (12289) just. Modbus function table comes from "SIMATIC S7-1500/ET 200MP Automation system" 03/2018 edition pdf Hope it helps, Best Regards, Piotr @Duris_I If the table mentioned above in 2015 is wrong please contact the authors of the publication directly
|
Last edited by: P_Szajgin at: 04/27/2020 13:42:26Last edited by: P_Szajgin at: 04/27/2020 13:43:40 |
|
This contribution was helpful to
2 thankful Users |
Follow us on