Урок №7. Подключаем Контроллер Siemens S7-1200 к TIA Portal, проверяем работу PLC и готовим аналоговый вход для сигнала 4–20 мА

В предыдущем уроке мы рассмотрели один из вариантов создания программы мигания светодиодом в TIA Portal. Теперь переходим от программирования к работе с реальным контроллером Siemens S7-1200.

В этом уроке мы подключим физический PLC к компьютеру, загрузим в него программу, проверим выполнение программы на реальном цифровом выходе, а затем подготовим встроенный аналоговый вход контроллера для дальнейшей работы с промышленным токовым сигналом 4–20 мА.

Конечная цель урока:

Получить полностью работающую цепочку:

реальный PLC → программа TIA Portal → проверка физического выхода → настройка аналогового входа AI0 → получение аналогового значения → просмотр данных в режиме Online Monitor.

В следующем уроке вместо тестового сигнала к этому входу будет подключен разработанный нами преобразователь температуры в токовый сигнал 4–20 мА.
ПК
TIA Portal
Siemens
CPU 1211C
Проверка
Q0.0
AI0
0…10 В
Online
Monitor

1. Подключаем реальный CPU 1211C к TIA Portal

Контроллер Siemens S7-1200 подключаем к компьютеру через Ethernet.

Компьютер и PLC должны находиться в одной IP-подсети. После физического подключения открываем созданный проект в TIA Portal и переходим в раздел:

PLC_1
   ↓
Device configuration

В проекте должен быть выбран именно тот CPU, который физически установлен на нашем стенде.

В данном случае используется:

Siemens S7-1200 CPU 1211C DC/DC/DC.

Device overview Siemens CPU 1211C
Конфигурация CPU 1211C в TIA Portal.

После того как TIA Portal обнаружил контроллер, выполняем компиляцию проекта и загружаем программу в CPU.

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

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

Для этого используем уже знакомый алгоритм мигания светодиодом.

Сам алгоритм подробно рассмотрен в предыдущем уроке:

Урок №3. Программа мигания светодиодом в TIA Portal

В текущем проекте используются:

Назначение Адрес
Цифровой вход %I0.0
Цифровой выход %Q0.0
LAD программа мигания Siemens S7-1200
Программа проверки физического выхода PLC.

После компиляции загружаем программу в CPU и переводим контроллер в режим RUN.

Если индикатор физического выхода Q0.0 начинает мигать с заданным нами периодом, значит:

— соединение компьютера с PLC работает;
— программа успешно загружена;
— CPU находится в режиме RUN;
— основной цикл программы выполняется;
— физический цифровой выход работает.

Первый этап закончен. Реальный PLC работает и выполняет нашу программу.

3. Встроенные аналоговые входы CPU 1211C

Теперь переходим к основной задаче данного урока — подготовке PLC для получения аналогового сигнала.

На используемом CPU 1211C имеются два встроенных аналоговых входа:

AI0
AI1

Общим проводом аналоговой части является клемма:

2M
Аналоговые входы Siemens CPU 1211C AI0 AI1
Встроенные аналоговые входы CPU 1211C: 2M, AI0 и AI1.

Встроенные аналоговые входы используемого CPU работают с напряжением в диапазоне:

0…10 В

При этом в нашем проекте в дальнейшем будет использоваться промышленный токовый интерфейс:

4…20 мА

Следовательно, непосредственно измерять ток встроенным аналоговым входом CPU мы не можем.

Необходимо преобразовать ток в напряжение.

4. Преобразуем сигнал 4–20 мА в напряжение

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

В нашем стенде будет установлен резистор:

R = 330 Ом

Напряжение на резисторе определяется законом Ома:

U = I × R

Посчитаем напряжение для трех характерных значений токовой петли.

Минимальный ток — 4 мА

U = 0,004 × 330

U = 1,32 В

Среднее значение — 12 мА

U = 0,012 × 330

U = 3,96 В

Максимальный ток — 20 мА

U = 0,020 × 330

U = 6,60 В

Таким образом, промышленный токовый диапазон:

4…20 мА

после прохождения через резистор 330 Ом преобразуется в диапазон напряжения:

1,32…6,60 В

Полученное напряжение полностью укладывается в рабочий диапазон встроенного аналогового входа PLC:

AI0 = 0…10 В
Ток Резистор Напряжение
4 мА 330 Ом 1,32 В
12 мА 330 Ом 3,96 В
20 мА 330 Ом 6,60 В

Подключение к PLC

Резистор 330 Ом подключается между аналоговым входом AI0 и общим проводом аналоговой части 2M.

             ток 4…20 мА
                  │
                  │
                  ▼
                 AI0
                  │
                  │
               [ 330 Ом ]
                  │
                  │
                  ▼
                  2M

PLC измеряет не непосредственно ток, а падение напряжения на резисторе.

Таким образом:

4 мА  → 1,32 В

12 мА → 3,96 В

20 мА → 6,60 В
Мощность резистора.

Максимальная мощность выделяется при токе 20 мА:
P = I² × R

P = 0,02² × 330

P = 0,132 Вт
Поэтому для нашего стенда достаточно резистора мощностью 0,25 Вт. Для более точного измерительного тракта желательно использовать резистор с допуском 1% или лучше.
Важно: значение 330 Ом теперь является частью измерительного тракта. Реальное сопротивление резистора влияет на точность преобразования тока в напряжение. В дальнейшем при калибровке системы мы сможем учесть эту погрешность программно.

5. Настраиваем Channel 0 в TIA Portal

Открываем:

Device configuration

↓

CPU 1211C

↓

Properties

↓

Analog inputs

↓

Channel 0

Для используемого контроллера получаем следующие параметры:

Параметр Значение
Channel address IW64
Measurement type Voltage
Voltage range 0…10 V
Smoothing Weak (4 cycles)
Настройка аналогового входа Siemens IW64
Настройка Channel 0. Физическому входу AI0 соответствует адрес IW64.

Для первого эксперимента остальные настройки можно оставить без изменений.

6. Создаем PLC Tags

Чтобы в программе не использовать непосредственно физические адреса, создадим имена переменных.

Name Data type Address Назначение
LED Bool %Q0.0 Физический цифровой выход
input Bool %I0.0 Физический цифровой вход
current Int %IW64 RAW-значение аналогового входа AI0
PLC Tags Siemens S7-1200
Таблица PLC Tags нашего проекта.

7. Смотрим значение аналогового входа

После загрузки программы в контроллер переходим в режим Online.

Включаем режим мониторинга программы — кнопку с изображением очков.

В этом режиме TIA Portal показывает текущие значения переменных непосредственно во время выполнения программы.

Тег:

current

связан с физическим адресом:

%IW64

Следовательно, при изменении напряжения на физическом входе AI0 значение переменной current также будет изменяться.

Просмотр IW64 Online Monitor
Получение значения аналогового входа IW64 в программе PLC.

Какие значения мы должны получить

Для диапазона аналогового входа 0…10 В номинальному диапазону соответствует цифровое значение приблизительно:

0 В  → 0

10 В → 27648

Следовательно:

RAW = U / 10 × 27648

Для нашего резистора 330 Ом получаем:

Ток Напряжение AI0 Ожидаемый RAW
4 мА 1,32 В ≈ 3650
12 мА 3,96 В ≈ 10949
20 мА 6,60 В ≈ 18248
Конечная проверка.

При изменении тока от 4 до 20 мА напряжение на AI0 должно изменяться приблизительно от 1,32 до 6,60 В.

Одновременно значение current в TIA Portal должно изменяться приблизительно от:

3650 до 18248.

Наблюдать изменение значения можно непосредственно в режиме Online Monitor при помощи кнопки с изображением очков.

8. Что мы получили

На этом подготовка PLC к работе с нашей системой измерения температуры закончена.

На данном этапе мы уже умеем:

— подключать реальный Siemens S7-1200 к TIA Portal;
— загружать программу в физический PLC;
— проверять выполнение программы через цифровой выход;
— работать со встроенным аналоговым входом AI0;
— преобразовывать ток 4–20 мА в напряжение при помощи резистора 330 Ом;
— получать RAW-значение аналогового входа через %IW64;
— наблюдать полученные данные непосредственно в TIA Portal.

9. Следующий этап — подключаем датчик температуры

До этого момента мы занимались подготовкой PLC.

В следующей части начинаем создавать непосредственно измерительное устройство.

В качестве первого датчика температуры будем использовать DS18B20.

STM32 будет получать с него значение температуры и преобразовывать полученное значение в промышленный токовый сигнал 4–20 мА.

PLC будет принимать этот сигнал через уже подготовленный нами аналоговый вход AI0.

DS18B20
Температура
STM32
Измерение
Преобразователь
4–20 мА
330 Ом
1,32…6,60 В
Siemens
AI0 / IW64
Температура
в PLC

После этого выполним обратное масштабирование полученного аналогового значения и получим внутри PLC уже не условное RAW-значение, а реальную температуру в градусах Цельсия.