Стартовая страница › Форумы › Понять, как работает ПО › Текущее время приборов и сервера
- В этой теме 15 ответов, 5 участников, последнее обновление 1 год, 5 месяцев назад сделано
sasaa.
-
АвторЗаписи
-
05.08.2024 в 10:59 #33781
manjey73Участник
Собственно мы живем в России и время у нас в разных поясах разное.
Приборы учета обычно настраиваются по местному времени. Даже счетчик продают некоторые фирмы сразу с настроенным временем: по Москве, по Екатеринбургу и т.д.
Но Scada Сервер работает только по UTC.С одной стороны понятно, Сервер может быть установлен в облаке, где время отличается от местного. Но получается что для приборов потом надо применять формулы на их данные о времени.
Может все-таки вернуть настройки времени и в самом Сервере?
Или это прямо сложно, сложно в рамках реализации потом при работе с БД и т.д.?
Просто во многих системах время задается именно на Серверах.Да, при указанном времени на скрине по Москве сейчас 10:59
-
Тема изменена 2 года, 1 месяц назад пользователем
manjey73.
05.08.2024 в 11:04 #33783
manjey73УчастникЗдесь прибор явно передает время по Москве, Сервер его сохраняет как UTC и потом браузер прибавляет ему 3 часа для отображения.
И так то там то там выползают косяки со временем при обычном использовании. Не при программировании даже.
05.08.2024 в 12:48 #33792
MikhailМодераторПреобразование времени из времени прибора в UTC должно быть реализовано в драйвере.
Веб-приложение преобразовывает UTC в часовой пояс, который указан в настройках приложения.05.08.2024 в 13:00 #33797
manjey73УчастникМихаил, вы кажется не поняли — Время передается прибором в виде значения, и прибор передает это время в зависимости от установленного часового пояса прибора.
Это не относится к преобразованию в драйвере.
Как можно преобразовать драйвером время, передаваемое прибором, если ты не знаешь, на какой часовой пояс будет настроен прибор?
-
Ответ изменён 2 года, 1 месяц назад пользователем
manjey73.
05.08.2024 в 14:24 #33808
JurasskParkУчастникКак можно преобразовать драйвером время, передаваемое прибором, если ты не знаешь, на какой часовой пояс будет настроен прибор?
Ну драйвер же может увидеть часовой пояс на АРМ, текущее время АРМ и время, которое пришло с ПЛК в команде и сравнить их.
И сделать выводы — какое различие в днях, часах, минутах и секундах.
И даже обратно отправить команду на корректировку времени. 🙂05.08.2024 в 14:48 #33810
manjey73УчастникКаким образом, если web может быть в 3-ем часовом поясе?
Каким образом драйвер вообще узнает часовой пояс прилетевшей метки времени?
05.08.2024 в 15:28 #33811
JurasskParkУчастникДрайвер может прочитать эту информацию из ОС.
05.08.2024 в 15:33 #33812
JurasskParkУчастник05.08.2024 в 15:43 #33813
manjey73УчастникБлин, ещё раз, прибор может быть установлен в одной часовой зоне.
Коммуникатор с сервером стоять в другой часовой зоне.
Прибор просто посылает данные в виде образно двух регистров — метка времени, значение на эту метку.И да, драйвер не научишь по простой причине, он протокольный, ему плевать, какой там прибор окажется. В данном случае это не задача драйвера вообще, разбираться, какую метку времени из какой часовой зоны пришлет прибор.
05.08.2024 в 15:53 #33815
manjey73УчастникБанальный пример. Оператор сидив по Московскому времени.
Приборы разбросаны по разным часовым поясам.
К какому времени надо будет приводить данные меток времени, чтобы оператору не требовалось курнуть? ?Если все привести к UTC то оператор будет видет все по Москве.
05.08.2024 в 16:16 #33816
a80808УчастникЯ бы сделал так — разделил ему мнемосхему по часовым поясам и показывал время пояса. Так делал, у меня с\часть приборов на Урале были. Но время бк\еру из SCADA а не прибора. Если нужно — можно время прибора тоже вывести.
05.08.2024 в 17:19 #33818
manjey73УчастникВремя прибора есть, его время.
Я бы всё-таки как-то через формулы самой scada предпочел, чтобы не трогать приборы и их драйвера.Вообще вопрос скользкий со временем.
Например как делать запрос к прибору на чтение архивов с арм в разных часовых поясах?06.08.2024 в 14:33 #33845
MikhailМодераторКак можно преобразовать драйвером время, передаваемое прибором, если ты не знаешь, на какой часовой пояс будет настроен прибор?
Если протокол не позволяет получить часовой пояс, то его нужно ввести в настройках драйвера.
В любом случае записывать время в архив без часового пояса — это практика с побочными эффектами, потому что возникает неопределённость.
06.08.2024 в 14:35 #33846
MikhailМодераторВ общем случае исходим из того, что в организации могут быть и приборы и пользователи в разных часовых поясах. Для Вебстанции можно задать часовой пояс, но он общий на уровне экземпляра приложения.
Может @romiros напишет здесь свой опыт работы с часовыми поясами.
06.08.2024 в 14:35 #33847
MikhailМодераторЧасовой пояс клиентов никак не должен влиять на работу серверной части.
-
Тема изменена 2 года, 1 месяц назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.
