OpenPLC ATmega328P Modbus RTU - ufrs12/OLIA-RU GitHub Wiki

Огромное спасибо разработчикам за реализацию! Но, на мой взгляд, есть куда развиваться:

  • На данный момент сформировалась практика использования протокола Modbus RTU c использованием только Holding Registers и функции множественного чтения. Это помогает сильно экономить сетевой трафик. Надеюсь, что ничто не помешает разработчикам сделать модуль Modbus RTU более гибким. Это поможет экономить RAM, Flash и сетевой трафик. Также это поможет расширить необходимые пространства регистров или койлов, за счет уменьшения пространства других.
  • Слейв-адрес можно установить только при прошивке МК, что тоже сужает возможности (например, установить его DIP-переключателем, с помощью интерфейсного меню или по сети).
Type PLC Address Modbus Address Size Range Access RAM
Output Coils %QX0.0 – %QX0.7 0 – 7 1 bit 0 or 1 RW 1 byte
Input Contacts %IX0.0 – %IX0.7 0 – 7 1 bit 0 or 1 R 1 byte
Input Registers %IW0 – %IW5 0 – 5 16 bits 0 – 65535 R 12 bytes
Holding Registers %QW0 – %QW2 0 – 2 16 bits 0 – 65535 RW 6 bytes