Как синхронизировать внутренние часы панели HMI с NTP сервером.

ID:219013

Как синхронизировать внутренние часы панели HMI от NTP сервера.


Версия ПО

Версия SystemeHMI Studio: 3.0.15257.0

Версия ОС Windows: Windows 10 Pro, 21H2, сборка 19044.2604


Подключение к NTP серверу.

Существуют два способа подключения к NTP серверу:

(1) подключение через встроенный в HMI протокол (в основном используется для локального NTP сервера);

(2) запись URL- адреса NTP сервера в системные регистры HMI SRW10470-10499. Применим к HMI с Ethernet портом и имеющим доступ к Интернету. 

В данной статье мы рассмотрим только первый вариант подключения.

 В конфигурации вашего проекта в среде программирования SystemeHMI Studio -> Communication Connection -> Remote Connection-> Ethernet PLC в строке Manufacturer выберите «Other» и добавьте Device Type «NTP».

    Добавьте локальный IP адрес NTP сервера и сохраните неизменным номер порта «123».

    

  Важно: после добавления устройства проверьте, находится ли IP адрес HMI панели в том же сегменте подсети, что и NTP сервер. Если нет, исправьте это. Например : IP адрес NTP сервера в нашем примере – 192.168.1.50. IP адрес панели должен быть 192.168.1.хх.

   

Добавим на экран нашего проекта несколько компонентов «Numeric Value Display» для отображения времени NTP сервера.

 Для устройства "NTP сервер" в настройках панели существует 6 адресов переменных с типом адреса “time”:

time 1 – Год.

time 2 – Месяц.

time 3 – День

time 4 – Час.

time 5 – Минуты.

time 6 – Секунды.

Для адреса time 1 резервируем четыре цифры, с типом данных 16 bit Unsigned. Для всех остальных – по две.

 


Для разрешения работы NTP сервера необходимо в системное слово SRW10056 записать 1. (для запрета SRW10056=2)

Для того, чтобы иметь возможность изменить системное время панели HMI необходимо системный бит SRB10013 установить в 0. (SRB10013=1 запрет изменения).

Индекс для Time Zone записывается в системное слово SRW10055. По умолчанию оно равно 0 (UTC +8:00) Shsnghai. 

Для Москвы, Минска и др. записываем 41 (UTC +3:00).

Все эти настройки можно задать в настройках одного окна.

  

 

   

 

 С целью визуального контроля синхронизации времени панели HMI от NTP сервера создадим на этом же экране нашего проекта аналогичные поля (Год, Месяц, Число и т.д.), но уже для даты и времени самой панели HMI со своими адресами.

   


В панели HMI под дату и время выделены следующие системные слова:

SRW0 – Год.

SRW1 – Месяц.

SRW2 – День.

SRW3 – Час.

SRW4 – Минуты.

SRW5 – Секунды.

SRW6 – Миллисекунды.

SRW7 – День недели.

В нашем примере мы будем использовать только первые 6 из них ( от SRW0 до SRW5) Не путать с переменными "time" для NTP).

   

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

По этому фронту мы инициируем передачу 6 слов из NTP в HMI.

Как вариант мы можем назначить передачу этих 6 слов непосредственно в свойствах окна, на котором мы расположили компоненты вывода даты и времени. Для этого в нашем проекте в закладке Component ->Timer and Data Transmission ->Timed Data Transmission нажимаем кнопку Add Items в секции Trigger and Stop, задаем условия запуска передачи данных, а в секции Data Transmission указываем тип данных, откуда и куда передаем (начальные адреса) и сколько слов.

Осталось скомпилировать наш проект, загрузить его в панель HMI и проверить работу синхронизации.

Серия:  SystemeHMI

Фильтры
Поиск
Корзина