Нет, все проще. Номера регистров по протоколу передаются всегда начиная с 0-го номера. При описании же адресов в SCADA-системе ПРИНЯТО (но стандарт MODBUS как таковой тут не причем) нумеровать их же с 1-цы, и при этом первым символом адреса (то есть номера регистра) указывать тип регистра (а именно какие команды MODBUS будут использоваться). Так, первый символ 4 означает что будут использоваться команды 3 для чтения и 6/16 для записи, первый символ 3 означает что будут использоваться команды с кодом 4 для чтения, а запись в эти регистры недопустима (это входные регистры). Первый символ 1 - указывает на битовые регистры (команда с кодом 1). Таким образом, 40001 - означает доступ к регистру 0 с возможностью чтения командой 3 и записи командами 6 или 16. Если нужен номер регистра больше чем 10000 (например 20000), то в скаде этот номер должен быть записан как 420001 (То есть первая цифра - именно служебный символ, в протоколе он не используется!). Если SCADA-системы не применяются, можно этим не заморачиваться
|