5/7/2020 10:00 PM | |
Posts: 42 Rating: (1) |
Hello everyon e, I tried the recommendations that you gave me. It works for me up to HR=100. Does anyone know why 100 is the limited value? As far as i knew, i could use much more than 100 holding registers (HR). I add two pictures of the working scenario and the non working scenario. Another doubt i have,is why in the "PictureItWorks" the assigned HR for VW=234 is 0X60= 94dec? I thought 228->92, 230->93, 232->94, !¡¡¡¡234->95!!!!. I had estimated HR=95 as the correct HR, and then, trying some time i figured out HR=94. I don't understand why. I've appended three pictures to make easier the comprehension. In picture "VWSendValue" ResolucioT2=VW238 and ResolucioT3=V242. I'm very grateful for your help, this forum is a great tool for beginners like me. Regards. AttachmentSiemensPostPictures.zip (169 Downloads) |
5/7/2020 10:29 PM | |
Joined: 2/22/2008 Last visit: 8/6/2024 Posts: 2698 Rating: (207) |
The limited value is given, because TCP/IP sends packets. To transfer Modbus TCP/IP you need a header and the data values, therefore each register may use some bytes more, than 2. For packet size see this Link For details of Modbus TCP/IP see this Link , there are all specifications downloadable. The problem with the register numbering is, that some clients/server begin with 0, other begin with 1. The Logo begin with register 1, the Arduino may begin with register 0, i don't know, check it in the help of your Arduino software. This you must check for all different clients/server first, then you can transfer the right register to the right VW variable. Regards, Scorp |
Follow us on