Thread Content
Moderators and fellow sailors, the 485 bus is widely used in communication applications, and MODBUS is generally chosen as the protocol. For the MODBUS_RTU protocol, n data points can be transmitted at each time – what can the value of n be?
In practical applications, this value of n is limited by the total length of a single message; it is usually constrained by the hardware of the communication module. In practice, it can generally reach around 120 bytes. Excluding the header and footer bytes, it’s possible to estimate that there are roughly 50 registers or 800/900 digital values involved. In most practical applications, there is no need to read such a large amount of data at once.
1. Everything is specified in Schneider Electric’s Modbus protocol – that is the most authoritative and official source of information. 2. The length of a message is stored as one byte in the Modbus protocol; therefore, the maximum value in terms of bytes is FF in hexadecimal, which equals 255 bytes. 3. As for hardware selection, I’m sorry, but I’m not involved in product development, so you’ll need to look for information online on your own
This post was last edited by hoya911 on 2015-12-7 at 11:25. The character length sent by the Modbus master is fixed: (device function code, high start address, low start address, 00, low data amount, high CRC, low CRC) – a total of 8 bytes. The number of replies from the Modbus slave occupies 1 bit, with a maximum value of FF, or 255: (device function code, number of replies, high data1, low data1, …, high CRC, low CRC). Since the fixed length is 5, 255 – 5 = 250; 250/2 = 125. Theoretically, there should be 125 replies, but it is recommended not to exceed 120
The answer is correct above: one frame can contain no more than 256 bytes of information, usually no more than 120 addresses of data.
The issue that the original poster is concerned about actually has no practical significance; it is something that Modbus developers need to pay attention to, and users don’t need to worry about it!
What was said upstairs is incorrect; when dealing with communications, it is necessary to take into account the amount of data transmitted, otherwise many problems will arise.
These are generally used in relatively small amounts these days
That’s correct; you don’t need this knowledge unless you are a driver developer. Just get the address correct and that’s it