Урок 28
Time-based IO или как управлять быстрым дискретным технологическим процессом строго по времени
В стандартных системах время реакции системы управления на входные события зависит от:
- времени цикла программы ПЛК
- времени цикла шины
- времени цикла модулей ввода-вывода
- времени цикла датчиков и исполнительных устройств.

В системах, в которых входы-выходы обрабатываются по времени (Time-based IO),
время реакции системы управления на входные события не зависит от:
- времени цикла программы ПЛК
- времени цикла шины
- времени цикла модулей ввода-вывода
- времени цикла датчиков и исполнительных устройств.

В системах с Time-based IO все события привязываются к базовому времени TIO_Time в формате LTIME с помощью меток времени (time stamp).

LTIME – это формат времени в наносекундах (64 битное число).
TIO_Time начинается с нуля после каждой перезагрузки ПЛК и может тикать более 290 лет, т.е.
TIO_Time не привязано к мировому или московскому времени, но оно позволяет измерять отрезки времени относительно событий,
регистрируемых по фронтам дискретных входов специального технологического модуля TIO Timer DIDQ.
Модуль TIO Timer DIDQ управляет фронтами дискретных выходов по времени TIO_Time.
Например, TIO Timer DIDQ регистрирует положительный и/или отрицательный фронт сигнала по входу канала 1,
считывает его метку времени, прибавляет к этому времени некоторое время задержки,
присваивает полученное время метке времени положительного и/или отрицательного фронта выхода
канала 1 и в нужное время активирует этот выход.
Для IO систем используется CPU и IM с поддержкой изохронного режима и модуль TIO:
Станция распределённого ввода-вывода | ET200SP | ET200MP |
Интерфейсный модуль с поддержкой изохронного режима | IM 155-6 PN HF | IM 155-5 PN HF |
Технологический модуль TIO | TM Timer DIDQ 10x24V | TM Timer DIDQ 16x24V |
В изохронном режиме (IRT) данные между TM Timer DIDQ и CPU передаются по сети PROFINET в чётко фиксированные отрезки времени,
задаваемые параметром Send clock (до 4 мс).
После одного или нескольких изохронных циклов передачи данных вызывается специальный изохронный организационный блок OB,
который в цикле приложения (Application cycle) управляет модулем TM Timer DIDQ.

В одном цикле приложения может быть зарегистрировано максимум 2 фронта для каждого входного-выходного сигнала:


Задание
Имеется конвейер с бутылками:

Световой барьер (Light barrier) обнаруживает бутылку и отправляет сигнал в модуль TIO Timer DIDQ,
который присваивает временные метки фронтам этого сигнала и отправляет данные в CPU по изохронному каналу сети PROFINET.
ПЛК вычисляет время задержки (Delay time) срабатывания толкателя (Pusher) с учётом скорости конвейера и
расстояния от светового барьера до толкателя. В расчётное время (когда бутылка проезжает мимо толкателя)
ПЛК сталкивает эту бутылку с конвейера.
Необходимо сконфигурировать и запрограммировать ПЛК.
Решение
- Создаём новый проект и выбираем следующие компоненты автоматизации (которые поддерживают IRT и Time-based IO):
- CPU 1516-3 PN/DP
- IM 155-6 PN HF
- TM Timer DIDQ 10x24V
- Добавляем OB61 для изохронной обработки данных.
- Настраиваем изохронный режим для технологического модуля:
- Настраиваем изохронный режим для интерфейсного модуля:
- Настраиваем IRT домен:
- Настраиваем вход и выход модуля TM Timer DIDQ:
- Задаём время цикла приложения в свойствах изохронного OB61:
- В этом примере мы не будем разбирать саму прикладную программу, рассмотрим только библиотечные функциональные блоки,
которые требуются для управления модулем TM TIO DIDQ:
- Функциональный блок TIO_SYNC синхронизирует до 8 модулей TM Timer DIDQ с временем TIO_TIME. Вызываем его в OB61:
Задаём для него 4 параметра:
HWID_1: идентификатор первого модуля TM TIMER DIDQ (таких модулей может быть 8)
SendClock: время передачи изохронных данных
PIP_Mode: режим опроса данных модуля TIO
PIP_PART: номер раздела образа процесса PIP для изохронного опроса - Функциональный блок TIO_DI, считывает фронты входного сигнала с метками времени.
Вызываем его в прикладной программе, которая вызывается в OB61:
Задаём для него 5 параметров:
HWID: идентификатор модуля TM TIMER DIDQ
Channel: номер канала дискретного входа (в модуле TIO для ET200SP 4 входных канала: 0..3)
TIO_SYNC_DATA: системные данные, которые считываются с выхода функционального блока TIO_SYNC
EdgeSel: Селектор режима обработки фронтов входного сигнала
TO: Время выдачи выходных данных по изохронному соединению сети PROFINET. - Функциональный блок TIO_DQ, управляет фронтами выходного сигнала по меткам времени.
Вызываем его в прикладной программе, которая вызывается в OB61:
Задаём для него 4 параметра:
Channel: номер канала дискретного выхода (в модуле TIO для ET200SP 6 выходных каналов: 0..5)
HWID: идентификатор модуля TM TIMER DIDQ
TIO_SYNC_DATA: системные данные, которые считываются с выхода функционального блока TIO_SYNC
TO: Время выдачи выходных данных по изохронному соединению сети PROFINET.
Демо-проект с детальным описанием можно скачать по ссылке
Урок 29. Как загрузить программу ПЛК SIMATIC S7-1500, если нет связи между программатором и ПЛК