Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром

Связь с внешним миром Modbus, RS232, RS485, Lon и другое.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.10.2019, 16:01   #1
Fater
Senior Member
 
Регистрация: Feb 2016
Адрес: Москва
Сообщения: 294
Благодарил(а): 3 раз(а)
Поблагодарили: 6 раз(а) в 6 сообщениях
По умолчанию Синхронизация времени

Добрый день!
Иногда встречаются проекты, когда необходимо синхронизировать по времени слейвы с мастером. Если в проекты внедрить предлагаемый мной
способ, то можно избавиться от необходимости вводить в каждый слейв дату и время. В предложенном способе синхронизация осуществляется секунда в секунду.
Разумеется всегда будут определенные задержки, связанные с распространением сигнала от мастера к слейву. В этом случае можно ввести коррекцию (поправку в слейве). Этот вариант предлагаю продумать форумчанам.
Мастер тоже можно привязать к единому времени, если это нужно.
Этими вопросами занимается Служба (Система) Единого Времени (СЕВ).
Привязка к единому времени позволяет синхронизировать аварии, события и измерения.
Вложения
Тип файла: psl Время.psl (212.5 Кбайт, 73 просмотров)


__________________
Работа есть величина физическая, измеряется в Джоулях...
Fater вне форума   Ответить с цитированием
Старый 18.10.2019, 17:39   #2
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Синхронизация времени

Цитата:
Сообщение от Fater Посмотреть сообщение
Добрый день!
Иногда встречаются проекты, когда необходимо синхронизировать по времени слейвы с мастером. Если в проекты внедрить предлагаемый мной
способ, то можно избавиться от необходимости вводить в каждый слейв дату и время. В предложенном способе синхронизация осуществляется секунда в секунду.
Разумеется всегда будут определенные задержки, связанные с распространением сигнала от мастера к слейву. В этом случае можно ввести коррекцию (поправку в слейве). Этот вариант предлагаю продумать форумчанам.
Мастер тоже можно привязать к единому времени, если это нужно.
Этими вопросами занимается Служба (Система) Единого Времени (СЕВ).
Привязка к единому времени позволяет синхронизировать аварии, события и измерения.
Думал когда-то над этим, но при наличии скады в общем интерес к синхронизации пропадает. Зачастую инженеры халатно относятся к коррекции времени и записям в журнал. В то же время скада регистрирует в реальном времени регистрирует нужные аварии.

Если продолжать вашу мысль, то можно попробовать избавиться от смарта, оформить в два макроса(чтобы можно было легко и безболезненно добавить этот макрос в проект), один макрос добавляется в мастер, другой в слейв, и надо проверять наличие отсутствие связи и рассинхронизацию. Количество блоков и переменных можно уменьшить, использовав преобразование времени в unixtime.


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 18.10.2019, 20:01   #3
Fater
Senior Member
 
Регистрация: Feb 2016
Адрес: Москва
Сообщения: 294
Благодарил(а): 3 раз(а)
Поблагодарили: 6 раз(а) в 6 сообщениях
По умолчанию Ответ: Синхронизация времени

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Думал когда-то над этим, но при наличии скады в общем интерес к синхронизации пропадает. Зачастую инженеры халатно относятся к коррекции времени и записям в журнал. В то же время скада регистрирует в реальном времени регистрирует нужные аварии.

Если продолжать вашу мысль, то можно попробовать избавиться от смарта, оформить в два макроса(чтобы можно было легко и безболезненно добавить этот макрос в проект), один макрос добавляется в мастер, другой в слейв, и надо проверять наличие отсутствие связи и рассинхронизацию. Количество блоков и переменных можно уменьшить, использовав преобразование времени в unixtime.
Я как-то бегло читал на форуме про unixtime. Там ребята жаловались, что время идет некорректно, отложилось в памяти. Сейчас немного посмотрел в чем фишка. Там урезан год, поэтому укладываемся в одно слово из 32 разрядов. В справке диапазон указан от 1970 по 2038г до 38 рукой подать, по сравнению с тем, что прошло от 1970, хотя этими разрядами можно дотянуть и до 2098-го года). Именно поэтому я пошел более честным путем. В моем случае точно никто не дотянет до 4096-го в отличие от 2038-го. Кроме того, я "запихнул" сигнал изменения даты в это же слово.
Насчет рассинхронизации согласен, это беда, но с появлением обмена слейв через сутки своего времени будет иметь точное время мастера и без захода в меню "Время и Дата" мастера, а без обмена пропишет нули)). Здесь как раз не проблема справиться с этим явлением.
В основном это и было задумано для исключения халатности при вводе времени в процессе пусконаладки.
Со СКАДА мне не приходилось работать на объектах: клиенты прижимистые. Так для себя иногда балуюсь. Поэтому мой вариант бюджетный)


__________________
Работа есть величина физическая, измеряется в Джоулях...
Fater вне форума   Ответить с цитированием
Старый 18.10.2019, 20:07   #4
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Синхронизация времени

Цитата:
Сообщение от Fater Посмотреть сообщение
Я как-то бегло читал на форуме про unixtime. Там ребята жаловались, что время идет некорректно, отложилось в памяти. Сейчас немного посмотрел в чем фишка. Там урезан год, поэтому укладываемся в одно слово из 32 разрядов. В справке диапазон указан от 1970 по 2038г до 38 рукой подать, по сравнению с тем, что прошло от 1970, хотя этими разрядами можно дотянуть и до 2098-го года). Именно поэтому я пошел более честным путем. В моем случае точно никто не дотянет до 4096-го в отличие от 2038-го. Кроме того, я "запихнул" сигнал изменения даты в это же слово.
Насчет рассинхронизации согласен, это беда, но с появлением обмена слейв через сутки своего времени будет иметь точное время мастера и без захода в меню "Время и Дата" мастера, а без обмена пропишет нули)). Здесь как раз не проблема справиться с этим явлением.
В основном это и было задумано для исключения халатности при вводе времени в процессе пусконаладки.
Со СКАДА мне не приходилось работать на объектах: клиенты прижимистые. Так для себя иногда балуюсь. Поэтому мой вариант бюджетный)
Без обмена нули будут в самом начале или если вы их туда запишите, так по обрыву связи будет время обрыва)


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 18.10.2019, 21:04   #5
Fater
Senior Member
 
Регистрация: Feb 2016
Адрес: Москва
Сообщения: 294
Благодарил(а): 3 раз(а)
Поблагодарили: 6 раз(а) в 6 сообщениях
По умолчанию Ответ: Синхронизация времени

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Без обмена нули будут в самом начале или если вы их туда запишите, так по обрыву связи будет время обрыва)
В ближайшее время проведу натурный эксперимент.
Немного почитал про Unix время вообще. Тема интересная и как я понял, сейчас многие ориентированы на него. Во времена своей службы мы получали сигналы СЕВ по радио, отсюда и шла раздача сигналов единого времени по потребителям.


__________________
Работа есть величина физическая, измеряется в Джоулях...
Fater вне форума   Ответить с цитированием
Старый 19.10.2019, 15:46   #6
Fater
Senior Member
 
Регистрация: Feb 2016
Адрес: Москва
Сообщения: 294
Благодарил(а): 3 раз(а)
Поблагодарили: 6 раз(а) в 6 сообщениях
По умолчанию Ответ: Синхронизация времени

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Без обмена нули будут в самом начале или если вы их туда запишите, так по обрыву связи будет время обрыва)
Провел эксперимент, в котором участвуют Трим (ведущий) и СМШ (ведомый без батарейки).
1. Включаю СМШ, устанавливаю время и дату, спустя немного времени выключаю питание.
2. Включаю питание снова, захожу в меню даты и времени на СМШ: время сбилось. Выхожу из меню Даты и Времени.
3. Подключаю Трим к СМШ, в Триме захожу в меню Даты и Времени, время можно даже не менять, главное выйти из этого меню, что я и делаю.
4. Вхожу в меню Даты и Времени на СМШ: время соответствует времени Трима. Выхожу из меню и разрываю связь СМШ и Трим.
5. Через 20 мин вхожу в меню Даты и Времени на Трим. Время идет как положено.
Так, что все как и задумано. По окончании суток оно обнулится. Если в цепь синхронизации воткнуть элемент И, можно будет разрешать синхронизацию при наличии связи, это уже мелочи.


__________________
Работа есть величина физическая, измеряется в Джоулях...
Fater вне форума   Ответить с цитированием
Старый 20.10.2019, 22:59   #7
младшой
Senior Member
 
Регистрация: May 2010
Адрес: Москва
Сообщения: 858
Благодарил(а): 4 раз(а)
Поблагодарили: 85 раз(а) в 66 сообщениях
По умолчанию Ответ: Синхронизация времени

Цитата:
Я как-то бегло читал на форуме про unixtime. Там ребята жаловались, что время идет некорректно, отложилось в памяти.
Вот этот макрос (https://forum.segnetics.com/showpost...6&postcount=25) время считает корректно.

В своих проектах делаю синхронизацию времени на основе этого макроса. Скада или мастер присылает время в формате unixtime, сравнивается с текущим временем контроллера, если расхождение больше заданного - синхронизируется.
Также проводится контроль связи с мастером.
В приложении - макрос для синхронизации.

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

Цитата:
В справке диапазон указан от 1970 по 2038г до 38 рукой подать, по сравнению с тем, что прошло от 1970, хотя этими разрядами можно дотянуть и до 2098-го года).
Даже 2038-ой - не ближний свет. За это время не только контроллер, а само контролируемое оборудование пора будет менять.
Вложения
Тип файла: msl Time_UpLink v1.3.2.msl (78.4 Кбайт, 24 просмотров)
младшой вне форума   Ответить с цитированием
Старый 22.10.2019, 17:59   #8
Fater
Senior Member
 
Регистрация: Feb 2016
Адрес: Москва
Сообщения: 294
Благодарил(а): 3 раз(а)
Поблагодарили: 6 раз(а) в 6 сообщениях
По умолчанию Ответ: Синхронизация времени

Цитата:
Сообщение от младшой Посмотреть сообщение
Вот этот макрос (https://forum.segnetics.com/showpost...6&postcount=25)
Даже 2038-ой - не ближний свет. За это время не только контроллер, а само контролируемое оборудование пора будет менять.
Вчера умер однокашник...
Не все доживем и до 38-го. Тем не менее закат макроса "эпоха UNIX" не за горами.
ИМХО: С самим понятием "эпоха UNIX" имеет смысл связываться если речь идет о системе синхронизации времени по инету. В противном случае много вычислений, еще не ясно каким образом учитываются високосные года (не вникал). А так, на вскидку, напрашивается запрос на ping от узла, из которого получаем UNIX Time и т.д. и т.п.
Все равно спасибо за свой макрос, безусловно где-то пригодится. В моем примере кстати, ошибка в макросе Every Day. Прикрепляю вариант с исправлением.
Вложения
Тип файла: psl Время.psl (171.4 Кбайт, 46 просмотров)


__________________
Работа есть величина физическая, измеряется в Джоулях...
Fater вне форума   Ответить с цитированием
Благодарность от:
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синхронизация времени Scada и ПЛК Shurion Вопросы о программировании 25 09.12.2019 09:38
Задать пароль на изменение времени в системном меню Max2114 Вопросы о Pixel 2 10.12.2018 14:29
метка времени Modbus RTU smh2010 medd Связь с внешним миром 4 12.05.2015 21:10
Счётчики реального времени CTU-T Arsie Библиотека макросов 0 26.03.2015 16:10
Синхронизация времени NTP Arsie Вопросы о SMH-2G(i) 0 05.05.2012 13:41


Часовой пояс GMT +4, время: 18:14.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023