Текущее время приборов и сервера

Стартовая страница Форумы Понять, как работает ПО Текущее время приборов и сервера

Просмотр 15 сообщений - с 1 по 15 (из 16 всего)
  • Автор
    Записи
  • #33781
    manjey73
    Участник

    1

    Собственно мы живем в России и время у нас в разных поясах разное.
    Приборы учета обычно настраиваются по местному времени. Даже счетчик продают некоторые фирмы сразу с настроенным временем: по Москве, по Екатеринбургу и т.д.
    Но Scada Сервер работает только по UTC.

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

    Может все-таки вернуть настройки времени и в самом Сервере?
    Или это прямо сложно, сложно в рамках реализации потом при работе с БД и т.д.?
    Просто во многих системах время задается именно на Серверах.

    Да, при указанном времени на скрине по Москве сейчас 10:59

    • Тема изменена 2 года, 1 месяц назад пользователем manjey73.
    #33783
    manjey73
    Участник

    Здесь прибор явно передает время по Москве, Сервер его сохраняет как UTC и потом браузер прибавляет ему 3 часа для отображения.

    И так то там то там выползают косяки со временем при обычном использовании. Не при программировании даже.

    #33792
    Mikhail
    Модератор

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

    #33797
    manjey73
    Участник

    Михаил, вы кажется не поняли — Время передается прибором в виде значения, и прибор передает это время в зависимости от установленного часового пояса прибора.

    Это не относится к преобразованию в драйвере.

    Как можно преобразовать драйвером время, передаваемое прибором, если ты не знаешь, на какой часовой пояс будет настроен прибор?

    • Ответ изменён 2 года, 1 месяц назад пользователем manjey73.
    #33808
    JurasskPark
    Участник

    Как можно преобразовать драйвером время, передаваемое прибором, если ты не знаешь, на какой часовой пояс будет настроен прибор?

    Ну драйвер же может увидеть часовой пояс на АРМ, текущее время АРМ и время, которое пришло с ПЛК в команде и сравнить их.
    И сделать выводы — какое различие в днях, часах, минутах и секундах.
    И даже обратно отправить команду на корректировку времени. 🙂

    #33810
    manjey73
    Участник

    Каким образом, если web может быть в 3-ем часовом поясе?

    Каким образом драйвер вообще узнает часовой пояс прилетевшей метки времени?

    #33811
    JurasskPark
    Участник

    Драйвер может прочитать эту информацию из ОС.

    #33812
    JurasskPark
    Участник
    #33813
    manjey73
    Участник

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

    И да, драйвер не научишь по простой причине, он протокольный, ему плевать, какой там прибор окажется. В данном случае это не задача драйвера вообще, разбираться, какую метку времени из какой часовой зоны пришлет прибор.

    #33815
    manjey73
    Участник

    Банальный пример. Оператор сидив по Московскому времени.
    Приборы разбросаны по разным часовым поясам.
    К какому времени надо будет приводить данные меток времени, чтобы оператору не требовалось курнуть? ?

    Если все привести к UTC то оператор будет видет все по Москве.

    #33816
    a80808
    Участник

    Я бы сделал так — разделил ему мнемосхему по часовым поясам и показывал время пояса. Так делал, у меня с\часть приборов на Урале были. Но время бк\еру из SCADA а не прибора. Если нужно — можно время прибора тоже вывести.

    #33818
    manjey73
    Участник

    Время прибора есть, его время.
    Я бы всё-таки как-то через формулы самой scada предпочел, чтобы не трогать приборы и их драйвера.

    Вообще вопрос скользкий со временем.
    Например как делать запрос к прибору на чтение архивов с арм в разных часовых поясах?

    #33845
    Mikhail
    Модератор

    Как можно преобразовать драйвером время, передаваемое прибором, если ты не знаешь, на какой часовой пояс будет настроен прибор?

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

    В любом случае записывать время в архив без часового пояса — это практика с побочными эффектами, потому что возникает неопределённость.

    #33846
    Mikhail
    Модератор

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

    Может @romiros напишет здесь свой опыт работы с часовыми поясами.

    #33847
    Mikhail
    Модератор

    Часовой пояс клиентов никак не должен влиять на работу серверной части.

Просмотр 15 сообщений - с 1 по 15 (из 16 всего)
  • Для ответа в этой теме необходимо авторизоваться.