Підтримуються функції 1, 2, 3, 4, 5, 6, 15 та 16.
Фізичне з'єднання за мережею RS485 здійснюється за топологією "шина":
Кожен порт RS485 може бути запрограмований незалежно для роботи в одному з двох режимів: Slave або Master. У специфікації MODBUS ці режими називаються Server і Client, відповідно.
Порт Ethernet підтримує лише протокол MODBUS TCP Server. Можна ввімкнути режим трансляції запитів з TCP до RS485 (режим шлюзу RTU/TCP). У цьому режимі контролер перенаправляє всі запити, у яких Slave ID не дорівнює нулю, на відповідний порт RS485 (він повинен бути налаштований на режим Master).
У мережі RS485 зазвичай існує кілька провідних пристроїв, кожен з яких має унікальний мережевий номер (ідентифікатор, Slave ID). Для кожного порту RS485 визначається окремий мережевий номер (змінна RS485_X_Slave_ID). Мережеві номери та інші параметри портів можна налаштувати через системні змінні та через системні MODBUS-реєстри, описані в Інструкції з експлуатації.
Якщо порт працює в режимі Slave, то йому призначається певний профіль MODBUS. Профіль - це наперед налаштовані таблиці регістрів (Inputs, Coils, IR, HR). Передбачено 3 профілі, тобто існує можливість призначити різні таблиці регістрів для трьох різних портів. Один і той же профіль можна використовувати для різних портів. У цьому випадку через ці порти будуть доступні одні й ті ж таблиці регістрів.
У мережі RS485 може бути лише один Master-пристрій.
Якщо порт контролера запрограмований на роботу в режимі Master, то для запису нової програми через цей порт контролер повинен бути переведений в режим INIT. Докладніше про це написано в розділі "Запис програми".
Кожен запит має такі параметри:
Якщо змінна Дозвіл обрана, то запит виконується тільки якщо значення цієї змінної дорівнює 1 у той момент, коли настала черга виконати цей запит. Якщо настала черга даного запиту і Дозвіл = 1, то починається виконання цього запиту, а в змінну Дозвіл записується 0, тобто Дозвіл скидається автоматично при кожному виконанні запиту. Автоскидання дозволяє точно керувати запитами. Наприклад, організувати одноразове виконання запиту за якоюсь подією.
Якщо змінна Дозвіл не вибрана, то запит виконується завжди.
Після завершення запиту до змінної Результат записується результат виконання запиту:
Змінна Лічильник помилок збільшується на 1 після кожного невдалого запиту.
У фізичному інтерфейсі Ethernet є кілька програмних портів MODBUS TCP. Кількість цих програмних портів дорівнює кількості портів RS485, передбачених у цій моделі контролера. Декілька програмних портів зроблено для того, щоб можна було організувати шлюз TCP/RTU (див. нижче).
Через кожен програмний порт контролер дозволяє прийняти два одночасні TCP-з'єднання. При спробі підключити третє з'єднання, перше з існуючих з'єднань розривається і нове з'єднання підключається. Це відповідає логіці, описаній у документі "MODBUS MESSAGING ON TCP/IP IMPLEMENTATION GUIDE V1.0b".
Якщо в параметрах програмного порту MODBUS TCP встановлено параметр "Шлюз у RS485", то на даному програмному порту буде активовано режим шлюзу TCP/RTU. Цей прапорець доступний лише в тому випадку, якщо відповідний порт RS485 налаштований на режим Master.
Шлюз TCP/RTU працює наступним чином:
Коли на порт MODBUS TCP надходить запит з полем Slave ID не рівним нулю, цей запит перетворюється на формат MODBUS RTU і відправляється у відповідний порт RS485 (порт з тим самим індексом, що і даний програмний порт TCP). При отриманні відповіді, ця відповідь перетворюється з формату MODBUS RTU у формат MODBUS TCP і надсилається TCP-клієнту, який надіслав вихідний запит. Більш детально робота шлюзу та можливі повідомлення про помилки описані у документі "MODBUS MESSAGING ON TCP/IP IMPLEMENTATION GUIDE V1.0b".
Якщо параметр Slave ID у TCP-запиті дорівнює нулю, то контролер трактує цей запит як "свій" і відповідає на нього відповідно до обраного профілю MODBUS. Тобто надає доступ до своїх змінних через відповідні таблиці регістрів (якщо в налаштуваннях TCP-порту прапор "Шлюз у RS485" не встановлений, то Slave ID ігнорується і контролер всі запити інтерпретує як "свої").
Для порту RS485, налаштованого на режим Slave, можна увімкнути режим пересилання запитів до іншого порту RS485, який налаштовано на режим Master. За допомогою цієї функції можна, наприклад, організувати доступ кількох Master-пристроїв до Slave-пристроїв у мережі RS485.
Якщо контролер отримує запит через Slave-порт і Slave ID у цьому запиті більше, ніж Slave ID, присвоєне даному порту, цей запит транслюється в інший порт RS485 (Master-порт), а відповідь передається назад у вихідний Slave-port.