【Технический класс】Быстрый запуск S7 200 SMART Modbus RTU

Автор UniMAT  •  0 комментариев  •   9 минута чтения

【Technical Class】S7 200 SMART Modbus RTU Quick Start

1. Аппаратное подключение

1 последовательный порт

Принцип связи Modbus: связь Modbus представляет собой связь ведущий-ведомый, то есть метод вопросов и ответов. Ведущая станция отправляет ответные данные на ведомую станцию, и ведомая станция отвечает; когда у ведущей станции нет данных для отправки, ведомая станция не отвечает.

Этот коммуникационный механизм реализован в идее программирования, которая будет обсуждаться в главе о программировании позже.

Протокол Modbus работает на последовательном интерфейсе, а распространенные последовательные интерфейсы включают RS-232, RS-485 и RS-422. Modbus обычно используется интерфейс RS-485.

Как правило, три линии связи RS-232 могут дополнять линию связи. Как показано на рисунке 1, txd устройства RS232 1 подключен к rxd устройства 2, а rxd подключен к txd, который может быть получен или отправлен одновременно, что является полнодуплексным режимом. Из-за ограничения характеристик RS-232 его можно подключать только один к одному, то есть одна главная станция подключается к одной подчиненной станции. Поэтому интерфейс RS-232 редко используется для связи Modbus.

Две линии связи RS-485 могут завершить линию связи. Как показано на рис. 2, A из нескольких устройств замыкается накоротко, образуя одну линию, а B замыкается накоротко на другую линию. Только отправлять или получать одновременно, это полудуплекс. Несколько устройств могут быть подключены к одному и тому же каналу, обеспечивая связь между одной главной станцией и несколькими подчиненными станциями. Этот сценарий применения является наиболее распространенным.

Последовательный интерфейс S7 200 SMART — RS-485, схема контактов показана в таблице 3.

Примечание. Сигнальная линия A\B RS-485 обычно называется A\B;485+\485-. S7 200 SMART DB9 контакт №3, а именно сигнал RS-485 B, обычно называют A или 485+; Штырек №8, а именно сигнал RS-485 A, обычно называют B или 485-.

2. Шинный соединитель

В случае сложных промышленных объектов или дальней связи рекомендуется выбирать качественные шинные соединители и кабели. Шинный соединитель имеет собственное оконечное сопротивление и сопротивление смещения. В этом случае можно повысить стабильность и помехозащищенность связи.

Шинные соединители и кабели, номера для заказа показаны в таблице 4.

3. Зачем выбирать шинные соединители и шинные кабели

Как мы все знаем, сетевой кабель делится на категорию 5 и категорию 6. Полоса пропускания категории 5 может достигать 1000 Мбит/с, но обычно она используется только в сетях со скоростью 100 Мбит/с; Категория 6 в основном используется в гигабитных сетях. Производительность намного выше, чем у стандарта сетевого кабеля Super Five. Интуитивное различие между кабелями категории 5 и категории 6 заключается в том, что диаметр медной жилы кабеля разный, а медная жила категории 6 явно толще, чем у категории 5.

Точно так же предполагается, что шинный кабель с импедансом контура: <150 Ом/км лучше, чем обычный кабель связи. Сопротивление линии невелико, расстояние связи велико, а способность защиты от помех сильна.

Шинный разъем с собственным сопротивлением клемм и сопротивлением смещения также может улучшить качество связи.

Рекомендуемый сетевой метод показан на рисунке 5:

Нагрузочные резисторы и резисторы смещения показаны на рисунке 6:

4. Дистанция связи

Чем выше скорость передачи данных, тем короче расстояние связи. При дальней связи соответствующим образом уменьшите скорость связи. Максимальное расстояние со скоростью 9600 бод рекомендуется составлять 1200 метров.

2. Modbus-адрес

Целью связи является чтение и запись регистров, поэтому необходимо понимать представление адресов Modbus.

Существует множество способов представления адреса Modbus, например, 40001, 4x0001, 0000H, эти три адреса на самом деле являются одним и тем же адресом. Если в адресе 4 знака, то он в десятичном представлении, а начальный адрес равен 1, то есть фактический начальный адрес равен 40001; В SMART PLC адрес представлен как 40001;

В UniMAT HMI или обычном программном обеспечении для настройки адрес выражается как 4x1; в инверторе или приборе адрес часто выражается как 0000H.

S7 200 SMART используется как ведомая станция, и соответствующие адреса следующие:

Адрес Modbus обычно записывается как 5-значное числовое значение, содержащее тип данных и смещение. Первый символ определяет тип данных, а последние четыре символа выбирают соответствующее значение в типе данных. Затем мастер Modbus сопоставляет адрес с правильной функцией.

Команды подчиненного устройства Modbus поддерживают следующие адреса:

От 00001 до 00128 дискретные выходы отображаются на Q0.0 - Q15.7.

Дискретные входы с 10001 по 10128 отображаются на I0.0–I15.7.

Регистры аналогового ввода с 30001 по 30032 сопоставлены с AIW0 и AIW62.

Регистры с 40001 по 4xxxx — это регистры хранения, сопоставленные с V-памятью.

Все адреса Modbus отсчитываются от 1. В таблице ниже показаны адреса Modbus, сопоставленные с адресами S7–200.

Адрес Modbus Адрес S7-200

00001 Q0.0

00002 Q0.1

00003 Q0.2

00127 В15.6

00128 В15.7

10001 I0.0

10002 И0.1

10003 И0.2

10127 И15.6

10128 И15.7

30001 АИВ0

30002 АИВ2

30003 АИВ4

30032 АИВ62

40001 Удержание старта

40002 ХолдСтарт+2

40003 ХолдСтарт+4

4xxxx HoldStart+2 x (xxxx-1)

Для UniMAT HMI соответствие адресов показано в таблице 7:

3. Сообщение

Для чтения или записи разных адресов Modbus требуются разные функциональные коды, как показано в таблице 7 выше.

Обычно используются функциональные коды FC03 и FC06. Здесь код функции 03 используется для описания сообщения.

Код функции 03, чтение трех регистров, начиная с регистра 006BH, пример сообщения главной станции выглядит следующим образом:

Таблица 8 Сообщение ведущей станции 03

Ответное сообщение сообщения ведомой станции выглядит следующим образом:

Другие форматы сообщений больше не указываются, а желающие могут проверить на официальном сайте https://modbus.org/

4. S7 200 SMART Modbus

Программирование ведомых устройств RTU

Функция, реализованная вышеприведенной программой: Установите порт 0 ЦП в качестве подчиненного устройства Modbus с адресом подчиненного устройства 1, скоростью передачи данных 9600 и четным контролем четности.

Количество входов/выходов, позволяющих работать ведущей станции, равно 128, количество аналоговых входов равно 32, а 1000 регистров начинаются с VW0. VW0 ЦП — это адрес Modbus 40001, VW2 — 40002 и так далее.

Описание параметра:
Входное значение «Режим» используется для выбора протокола связи: когда входное значение равно 1, назначается и активируется протокол Modbus; когда входное значение равно 0, назначается протокол PPI, а протокол Modbus отключен.

Параметр «Адрес» устанавливает адрес со значением от 1 до 247 включительно.

Параметр «Бод» устанавливает скорость передачи данных 1200, 2400, 4800, 9600, 19200, 38400, 57600 или 115200.

Параметр «Четность» должен быть установлен в соответствии с четностью ведущего устройства Modbus. Все настройки используют один стоповый бит. Допустимые значения: 0 (без четности), 1 (нечетная четность) и 2 (четная четность).

Параметр «Порт» устанавливает физический порт связи (0 = RS-485, встроенный в ЦП, 1 = RS-485 или RS-232 на дополнительной сигнальной плате).

Параметр «Задержка» задерживает стандартное условие тайм-аута окончания сообщения Modbus, увеличивая стандартное время ожидания сообщения Modbus на выделенное количество миллисекунд. Типичное значение этого параметра должно быть равно 0 при работе в проводной сети. При использовании модема с исправлением ошибок установите для задержки значение от 50 до 100 мс. При использовании беспроводной связи с расширенным спектром установите для задержки значение от 10 до 100 мс. Значение задержки может быть от 0 до 32767 мс.

Параметр MaxIQ используется для установки количества точек I и Q, доступных для адресов Modbus 0xxxx и 1xxxx, и диапазон значений составляет от 0 до 256. Значение 0 отключает все операции чтения и записи для ввода и вывода. Рекомендуется установить значение MaxIQ равным 256.

Параметр MaxAI используется для установки количества регистров ввода слова (AI), доступных для адреса Modbus 3xxxx, диапазон значений составляет от 0 до 56. Значение 0 отключает чтение аналогового входа.

Параметр MaxHold используется для установки количества регистров хранения слов в памяти V, доступных по адресу Modbus 4xxxx или 4yyyyy. Например, если вы хотите разрешить мастеру Modbus доступ к 2000 байтам V-памяти, установите значение MaxHold на 1000 слов (регистры временного хранения).

Параметр HoldStart — это начальный адрес регистров временного хранения в V-памяти. Обычно это значение равно VB0, поэтому параметр HoldStart имеет значение &VB0 (адрес VB0). Другие адреса памяти V также могут быть указаны в качестве начальных адресов для регистров хранения, чтобы использовать VB0 в другом месте проекта. Ведущее устройство Modbus может получить доступ к V-памяти, начальный адрес которой — HoldStart, а количество слов — MaxHold.

Когда инструкция MBUS_INIT завершается, включается выход «Готово».

Выходной байт Error содержит результат выполнения инструкции. Этот выход активен только при включенном Done. Если Done отключено, параметр ошибки не изменяется.

Пять, S7 200 SMART Modbus Мастер-программирование RTU

Как упоминалось выше, механизм связи Modbus упоминается выше. Ведущее устройство может отправлять или получать только в одно и то же время или в текущее время. Для нескольких ведомых станций или нескольких операций над регистрами рекомендуется использовать механизм опроса, то есть одновременно допускается запуск только одной MSG. инструкция. В соответствии с этой идеей программирования рекомендуются две операции опроса. .

1. Основная инициализация

Установите скорость передачи данных Modbus на 9600 бод, контроль четности, тайм-аут 1000 мс и используйте связь DB9 основного блока.

2. Режим опроса один

Идея: Используйте изменение значения регистра C0 для запуска инструкции MSG, чтобы гарантировать, что только одна инструкция MSG выполняется одновременно.

Программная функция: C0 очищается после включения питания; после первоначального завершения ведущей станции C0 равен 1; после завершения каждой инструкции MSG C0 увеличивается на 1; после третьего завершения выполнить первую инструкцию MSG

опрос:

Программная функция сети 3 : прочитать 5 регистров, начиная с 412345 с адресом ведомой станции 1, и сохранить их в 5 словах, начиная с ЦП ведущей станции VW100.

Программная функция сети 4: чтение 5 регистров, начиная с 40001 с адресом ведомой станции 2, и сохранение их в 5 словах, начиная с ЦП ведущей станции VW110.

3. Режим опроса 2

Программная функция: прочитать 5 регистров, начиная с 40001 с адресом ведомой станции 1, и сохранить их в 5 словах, начиная с ЦП ведущей станции VW100.

Запишите 5 слов, начиная с CPU VW110, в 5 регистров, начиная с 40001, с адресом ведомого устройства 2.

Существует также привычка использовать позицию завершения инструкции MSG для установки внутреннего реле Mx.x, Mx.x запускает следующую инструкцию MSG и так далее; или метод запуска фиксированного времени и другие различные идеи программирования. Независимо от идеи программирования убедитесь, что одновременно запускается только одна инструкция MSG.

6. Меры предосторожности

A. После инициализации команды Modbus master или slave протокол PPI недоступен.

B. Один и тот же последовательный порт может использоваться только в качестве одной из ведущих станций Modbus, подчиненных станций, PPI и т. д. (за исключением инициализации программного управления).

C. Когда ЦП является ведущей станцией, одновременно может быть запущена только одна инструкция MSG (важная вещь произносится N раз).

A и B DB9 RS485 D.S7 200 SMART отличаются от A и B в популярной поговорке.

E. Распознайте представление адреса подчиненного регистра, будь то десятичное или шестнадцатеричное.

F. Если общение идет хорошо, вы можете пропустить первые четыре главы.

7. Устранение неполадок

Если связь ненормальная, рекомендуется проверить следующие аспекты:

A. Убедитесь, что кабель связи подключен правильно. Обратитесь к Главе 1, сосредоточив внимание на Главе 1.1.

B. Убедитесь, что параметры связи ведущий-ведомый согласованы.

C. Убедитесь, что регистры ведомой станции могут быть прочитаны и записаны ведущей станцией. Регистры некоторых инверторов или приборов доступны только для чтения или только для записи, либо доступны для чтения и записи. Некоторые диски имеют ограниченную длину данных, которые могут быть прочитаны или записаны за один раз.

D. Это нормально. Следите за программой ПЛК, чтобы определить, была ли запущена определенная инструкция MSG без действия перехода.

E. Используйте программу-помощник последовательного порта компьютера для мониторинга коммуникационных сообщений и определения того, не отправляет ли ведущая станция данные, или ведомая станция не отвечает на данные, или сообщение, на которое отвечает ведомая станция, неверно. См. главу 3.

Контролируйте коммуникационные сообщения: соедините А и В компьютера 485 параллельно на линии связи.

8. Ограничение времени общения

Чем больше количество ведомых станций, тем больше операций с регистром и тем длиннее цикл связи. Для быстрой связи выполните пакетное чтение или запись регистров или увеличьте скорость передачи данных. Если какая-либо ведомая станция находится в автономном режиме или работает ненормально, цикл связи становится неуправляемым.

Возьмем удаленную конференцию в качестве примера для иллюстрации механизма связи Modbus:

5 человек находятся в удаленной конференции, и 5 человек разговаривают одновременно. Все плохо слышат, и обмен информацией невозможен.

Ввести механизм модератора, модератор — это мастер-станция, а модератор ранжирует остальных 4 человек с порядковыми номерами, 1, 2, 3, 4, то есть 4 подчиненные станции.

Когда хост говорит, главная станция отправляет сообщение. Сообщение имеет фиксированный формат. Первый байт — это адрес ведомой станции, т. е. табельный номер.

Ведущий не говорит, а остальным четырем не разрешено говорить, и даже если они будут говорить, они будут заблокированы ведущим. То есть ведомая станция отправляет какое-либо сообщение, а ведущая станция принимает его как недостоверную информацию.

Говорить может только тот, на кого укажет модератор, и говорить в формате, указанном модератором, то есть формат сообщения фиксированный.

Ведущий сказал: №1 хххх. 4 человека могут слышать, но только 1 может ответить и ответить правильно. В случае ошибки модератор также считает информацию недействительной.

Когда хост позвонил № 1, № 1 дезертировал, не ответил вовремя и превысил заранее установленное время ожидания, хост позвонил снова, и так три раза.

После трех раз № 1 по-прежнему не отвечает. Хост отказывается от № 1 и продолжает вызывать № 2, № 3 и № 4. Это механизм опроса.

При нормальных обстоятельствах, один вопрос и один ответ, ответ очень быстрый. Если один человек дезертирует, цикл связи продлевается в 3 раза по сравнению с тайм-аутом.

Поэтому, когда весь персонал онлайн, цикл связи связан со скоростью речи, то есть скоростью передачи данных, и количеством людей, то есть количеством подчиненных станций; когда он не в сети, цикл связи неуправляем.

Таким образом, необходимо обеспечить наличие качественного канала связи и нормальной онлайн-ведомой станции для обеспечения стабильности цикла связи.

Предыдущий Следующий