В данной статье демонстрируется настройка связи по протоколу Modbus RTU между ПЛК Siemens S7-1200 и драйвером T6.
- Аппаратное обеспечение:
- ПЛК S7-1200: CPU 1215C DC/DC/DC
- CM1241: RS422/485
- T6: T6-1000RS, T6M80-1000H2A3-M17S
- Блок питания 24 В: S-150-24
- Обзор:
ПЛК S7-1200 выступает в роли мастера Modbus RTU, а драйвер T6 — в роли ведомого устройства Modbus. ПЛК считывает параметр положения двигателя из драйвера T6.
- Этапы реализации:
- Шаг 1: Настройка параметров драйвера T6
| Параметр | Значение |
|---|---|
| Pr5.29 = 4 | Чётность: нет, биты данных: 8, стоповые биты: 1 |
| Pr5.30 = 6 | Скорость передачи: 115200 |
| Pr5.31 = 1 | Адрес ведомого устройства RS485: 1 |
- Шаг 2: Настройка модуля связи Modbus RTU

- Шаг 3: Включение системной памяти
В дереве проекта выберите PLC_1 и щёлкните правой кнопкой мыши, чтобы открыть Свойства. В окне свойств перейдите в раздел System and Clock Memory и установите флажок Enable System Memory Bytes.

- Шаг 4: Вызов инструкции MB_COMM_LOAD
Откройте блок Main [OB1]. Перейдите в Instructions → Communication → Communication Processor → Modbus и перетащите инструкцию MB_COMM_LOAD в сегмент программы, как показано ниже.

- Шаг 5: Создание областей буфера отправки и приёма данных
В дереве проекта выберите Add New Block → Data block (DB) → OK, как показано ниже. После добавления нового блока отключите опцию Optimized Block Access и определите массивы буфера отправки и приёма данных.

- Шаг 6: Вызов инструкции MB_MASTER
Откройте блок Main [OB1]. Перейдите в Instructions → Communication → Communication Processor → Modbus и перетащите инструкцию MB_MASTER в сегмент программы, как показано ниже.

В данной инструкции установите MB_ADDR (адрес ведомого устройства) равным 1, а MODE равным 0, что переводит мастер в режим чтения. Начальный адрес DATA_ADDR — 424620. Этот адрес соответствует параметру Pr8.43 (положение двигателя) для связи по RS485. Адрес регистра Modbus для Pr8.43 — 0x602B, что в десятичной системе равно 24619. Прибавив смещение регистра хранения драйвера T6, равное 400001, получаем: 24619 + 400001 = 424620.
- Шаг 7: Запуск программы и чтение Pr8.43
В программе ПЛК полученные данные имеют значение 0x1A9D, что в десятичной системе равно 6813. Убедитесь на драйвере T6, что Pr8.43 = 6813, чтобы подтвердить корректность считанных данных.
- Заключение
В данной статье продемонстрирована базовая настройка связи по протоколу Modbus RTU между ПЛК Siemens S7-1200 и драйвером T6. Аналогичный подход может быть адаптирован для связи между S7-1200 и другими драйверами StepperOnline.