В предыдущих статьях мы говорили о таймерах в ПЛК, различных типах и о том, как их использовать. Таймерам на самом деле не нужно реальное время для работы, так как они просто зависят от подсчета секунд или миллисекунд в зависимости от ваших настроек.
Но для некоторых приложений вам нужно знать реальную дату и время программы ПЛК, например, для целей диагностики.
В этой статье мы поговорим о системном и локальном времени ПЛК.
Содержание:
- Зачем мне нужно реальное время в ПЛК?
- Пример программы и моделирования
- Что такое системное время?
- Что такое локальное время?
- Выводы.
Зачем мне нужно реальное время в ПЛК?
Во многих приложениях ПЛК вам нужно знать реальное время во время выполнения процесса по многим разным причинам.
Ниже приведены некоторые из этих причин:
- Резервное копирование ПЛК на главный сервер.
- Для диагностики ПЛК вам необходимо иметь запись времени для диагностики, чтобы знать, в какое время произошло определенное событие, в противном случае диагностическая информация будет не очень полезной.
- Для приложений, где вам необходимо работать с прерываниями времени суток OB10, вам необходимо знать фактическое время.
- Вам может потребоваться использовать локальное или системное время в тех частях вашей логики, где вам необходимо обрабатывать приложения реального времени.
- Для регистрации данных, если у вас есть важные данные для сохранения и вам нужна метка времени для каждой записи данных, вам необходимо иметь правильную настройку времени для вашего ПЛК, чтобы сохраненные данные имели смысл.
Пример программы и моделирования ПЛК
Чтобы лучше понять, что такое системное и локальное время в ПЛК, мы начнем с создания очень простой программы и используем ее для объяснения концепции реального времени внутри ПЛК.
Проверьте следующий шаг:
В этой статье мы не будем создавать никакой логики ПЛК, но покажем некоторые конфигурации, связанные с системным и локальным временем в ПЛК, как их устанавливать и в чем различия.
Откройте Siemens Tia Portal, добавьте новое устройство, и на этот раз мы будем использовать CPU 1512C-1 PN. Смотрите рисунок 1.
Рисунок 1 — Добавить новый ПЛК
Скомпилируйте и запустите новую симуляцию ПЛК. Откройте страницу онлайн и диагностики и проверьте установленное время ПЛК. Смотрите рисунок 2.
Рисунок 2 — Онлайн время ПЛК
Из предыдущего рисунка вы можете видеть, что есть два разных времени:
- Время PG/PC — это локальное время вашего ПК.
- Время модуля — это фактическое время внутри самого ПЛК.
Оба эти времени могут быть установлены как одно и то же значение, или они могут быть разными. лучше всего сделать их одинаковыми, лучше сделать модульное время похожим на ваше местное время или, точнее, похожим на местное время области, где будет использоваться ПЛК. Смотрите рисунок 3.
Рисунок 3 — Установка времени ПЛК
Если вы хотите, чтобы модульное время совпадало с местным временем, выберите Take from PG/PC и нажмите Apply.
В вашем основном OB1 перетащите инструкции RD_SYS_T и RD_LOC_T.
Это инструкции чтения системного времени и чтения локального времени. Эти инструкции являются встроенными функциями FC внутри ПЛК и используются для записи локального времени и системного времени ПЛК в любое место назначения, которое вы выберете в выводе OUT инструкции. Смотрите рисунок 4.
Рисунок 4 — Добавление инструкций чтения системного и локального времени
Добавьте новый глобальный блок данных и определите несколько тегов для работы. См. рисунок 5.
Рисунок 5 – Создание нового глобального блока данных
Запустите моделирование еще раз и проверьте оба времени. См. рисунок 6
Рисунок 6 – Локальное и системное время ПЛК в режиме онлайн
Из предыдущего рисунка видно, что локальное и системное время ПЛК совпадают, но они отличаются от фактического локального времени вашего ПК.
Если вы помните, мы установили модульное время ПЛК таким образом, чтобы оно было похоже на время PG/PC, которое является вашим локальным временем. См. рисунок 7.
Рисунок 7 – Модульное время и время PG/PC
Как вы видите, на странице установки времени выбрано время модуля, которое будет взято из времени PG/PC. Но в реальных случаях они отличаются. Почему?
Почему время отличается? Поскольку настройка по умолчанию местного времени ПЛК — UTC+0 или время Зулу, если вам знаком этот термин, вы не меняете его на странице онлайн-диагностики, а скорее в свойствах самого ПЛК. Смотрите рисунок 8.
Рисунок 8 — Конфигурация времени суток в ПЛК
Как вы можете видеть, настройка по умолчанию времени суток ПЛК установлена на время UTC+0, и именно поэтому время модуля ПЛК отличалось от вашего фактического местного времени. За исключением случая, если бы вы были в Лондоне, тогда вы бы не столкнулись с этой проблемой.
Чтобы исправить локальное время ПЛК, нам нужно изменить его в конфигурации, нам нужно изменить часовой пояс на тот часовой пояс, который у нас есть, который в моем случае UTC+02:00. Смотрите рисунок 9.
Рисунок 9 — Настройка локального времени ПЛК на ваш часовой пояс
Вы также можете видеть, что опция летнего времени была деактивирована, поскольку она не используется в моей стране. Вам придется активировать ее, если она используется в вашем регионе.
Теперь, когда все конфигурации установлены правильно, вернитесь и снова посмотрите местное время и системное время в симуляции. Смотрите рисунок 10.
Рисунок 10 – Местное время ПЛК теперь такое же, как на ПК
Теперь вы видите, что после настройки часового пояса ПЛК местное время ПЛК и фактическое местное время вашего региона совпадают.
Как мы уже говорили, очень важно установить правильное местное время ПЛК по многим причинам, которые мы упомянули выше. Теперь вы можете определить, что такое системное время и локальное время ПЛК?
Системное время в ПЛК
Является ли модульным временем часов ЦП.
Часы ЦП интерпретируют модульное время как всемирное координированное время (UTC). Соответственно, модульное время всегда хранится без факторов «местный часовой пояс» или «летнее время» в часах ЦП. Затем часы ЦП вычисляют локальное время часов ЦП на основе модульного времени.
Модульное время часов ЦП используется в качестве шаблона для всех временных процессов, начинающихся с ЦП.
Примеры использования:
- Вычисление локального времени часов ЦП на основе модульного времени
- Представление модульного времени в локальном времени в разделе «Онлайн и диагностика»
- Записи в диагностическом буфере ЦП
Местное время в ПЛК
Информация о часовом поясе и начале летнего и стандартного времени, которую вы установили в конфигурации часов ЦП, используется для вывода локального времени.
Местное время — это время, которое у вас установлено на ПК или в вашей стране, и которое будет отличаться в разных регионах.
Заключение
Многие приложения потребуют, чтобы ПЛК знал реальное или локальное время процесса, чтобы он мог выполнять определенные задачи, например, задачи регистрации данных и диагностики. В будущей статье мы покажем некоторые приложения, где для вашей логики необходимо реальное время
Локальное время ПЛК следует настроить вручную, чтобы оно соответствовало области, где будет использоваться ПЛК.