Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 14

Тема: ПЛК160: узнать дату и время в DATE_AND_TIME

  1. #1
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию ПЛК160: узнать дату и время в DATE_AND_TIME

    Здравствуйте!

    Как узнать текущее время и дату в виде DATE_AND_TIME на ПЛК160? Про CurTimeEx знаю и поля структуры SystemTimeDate меня не интересуют — там всё по отдельности.

    Спасибо.

  2. #2

    По умолчанию

    Не понятен вопрос.
    Вам надо собрать дату и время в один параметр??? А зачем?

  3. #3
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

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

  4. #4

    По умолчанию

    Я не пробовал, но на сколько знаю есть операторы сбора параметров.
    Так же в интернете есть статьи Игоря Петрова - временные сложности (скорее всего есть и на сайте www.codesys.ru)
    Там есть ответы на все случаи работы с часами.

  5. #5
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Да, спасибо, нашёл, пошёл читать. А стандартных средств для этого нет что ли? Во деревня

  6. #6
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    В назидание потомкам

    Качаем архив с codesys.ru и подключаем оттуда библиотеку TimeExp.lib, после чего делаем прыжок с переподвыподвертом:
    Код:
    VAR
    	timedate: SystemTimeDate;
    	systime: SysTime64;
    	datetime_packed: DT;
    	GetTime: CurTimeEx;
    END_VAR
    
    SysMemSet(ADR(systime), 0, SIZEOF(systime));
    SysMemSet(ADR(timedate), 0, SIZEOF(timedate));
    GetTime(SystemTime := systime, TimeDate := timedate);
    datetime_packed := DATE_TO_DT(
    	PackDate(timedate.Year, timedate.Month, timedate.Day) +
    	PackTime(timedate.Hour, timedate.Minute, timedate.Second, timedate.Milliseconds) / 1000);
    Последний раз редактировалось Yegor; 14.12.2012 в 07:47.

  7. #7
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Так... А почему на ПЛК - если верить функции CurTimeEx - время неравномерно идёт?

    У меня в одном блоке вызывается TIME() и CurTimeEx(), их показания идут в регистры Modbus, эти регистры "одновременно" считываются на ПК и там видно, что TIME() идёт равномерно, а в CurTimeEx() секунды меняются то быстрее, то медленнее. Чё за нафиг?

  8. #8
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Это не глюки. Оно иногда чуть ли не перепрыгивает через одну-две секунды.

  9. #9
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Окей. Но почему так сильно прыгает-то? Ужас.

    Вышел из положения: при подключении к ПЛК запоминаем его текущий аптайм и дату/время, а дальше смотрим только аптайм и добавляем его дельту к запомненному значению даты и времени. Можно и на самом ПЛК до записи в Modbus-регистры сделать.

  10. #10
    Пользователь
    Регистрация
    13.08.2012
    Адрес
    Питер
    Сообщений
    127

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    открою Вам страшную тайну, часы реального времени на ПЛК с определенной периодичностью надо синхронизировать с часами точного времени, это же Вам не ntp-сервер
    Возникли очередные вопросы:
    1. Как синхронизировать? Подключать к компьютеру и менять? Скадой?
    2. Есть ли способ узнавать текущее время в режиме эмуляции (при этом платформа - правильная, т.е. ПЛК1хх, не SoftPLC)?

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Как теперь узнать МАС контроллера?
    от Boris3B в разделе ПЛК3хх
    Ответов: 9
    Последнее сообщение: 14.03.2011, 16:39
  2. как узнать состояни аккумулятора плк?
    от Леонид в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 21.11.2010, 16:57
  3. Узнать динамический Ip
    от Zjrin Alexandr в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 26.03.2010, 13:23
  4. Ответов: 21
    Последнее сообщение: 03.03.2009, 16:27
  5. как узнать реальное время исполнения скана
    от Павел ГОН в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.05.2007, 10:02

Ваши права

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