Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 36

Тема: Синхронизация времени

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

  2. #22

    По умолчанию

    Цитата Сообщение от жекон Посмотреть сообщение
    Спасибо за примеры! Только вопрос возник: В режиме эмуляции (пример 7) пытаюсь установить параметры (TimeAndDate.Minute и т.д.) в другие, отличные от нуля значения, но они все равно устанавливаются в 0, объясните почему так происходит. Или как сымитировать нужное мне время?

  3. #23
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    964

    По умолчанию

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

  4. #24
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,254

    По умолчанию

    Цитата Сообщение от Igor.m Посмотреть сообщение
    Спасибо за примеры! Только вопрос возник: В режиме эмуляции (пример 7) пытаюсь установить параметры (TimeAndDate.Minute и т.д.) в другие, отличные от нуля значения, но они все равно устанавливаются в 0, объясните почему так происходит. Или как сымитировать нужное мне время?
    В библиотеке оскат имеется эмулятор времени,который должен работать и в эмуляторе плк, может он как то подойдет в Вашем случае

  5. #25
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Цитата Сообщение от Igor.m Посмотреть сообщение
    Спасибо за примеры! Только вопрос возник: В режиме эмуляции (пример 7) пытаюсь установить параметры (TimeAndDate.Minute и т.д.) в другие, отличные от нуля значения, но они все равно устанавливаются в 0, объясните почему так происходит. Или как сымитировать нужное мне время?
    Для себя написал симулятор времени. Может вам пригодится.
    Вложения Вложения

  6. #26

    По умолчанию

    все здравствуйте! подскажите как сделать привязку программы к реальному времени ПЛК. Пробовал использовать конструкции TimeAndDate, но как то не очень красиво получается, тем более что необходимо выделять интервалы времени и что бы ПЛК понимал в каком интервале сейчас находится, в зависимости от этого и выполняются алгоритмы для своих определенных интервалов, подскажите кто знает как это реализовать?

    P.S. Я работаю на CFC,не получается выделить время интервалами из блоков TimeAndDate т.к. там значения разбиты по отдельности т.е. - минуты, часы, секунды; поэтому простое сравнение этих значений с константой (<,>,=) не решает проблему
    Последний раз редактировалось Igor.m; 14.11.2013 в 08:35.

  7. #27

    По умолчанию

    Еще как решает.
    При автоматизации включения\выключения вент. установки сравнивал именно так.
    А вообще всем рекомендую поискать в интернете статьи Игоря Петрова про работу со временем (есть в открытом доступе).
    http://prolog-plc.ru/docs/TimeExperience.pdf

  8. #28
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,695

    По умолчанию

    Цитата Сообщение от Igor.m Посмотреть сообщение
    все здравствуйте! подскажите как сделать привязку программы к реальному времени ПЛК. Пробовал использовать конструкции TimeAndDate, но как то не очень красиво получается, тем более что необходимо выделять интервалы времени и что бы ПЛК понимал в каком интервале сейчас находится, в зависимости от этого и выполняются алгоритмы для своих определенных интервалов, подскажите кто знает как это реализовать?

    P.S. Я работаю на CFC,не получается выделить время интервалами из блоков TimeAndDate т.к. там значения разбиты по отдельности т.е. - минуты, часы, секунды; поэтому простое сравнение этих значений с константой (<,>,=) не решает проблему
    Время "тикает" в миллисекундах , попробуйте простое преобразование (В Оскатовских библиотеках должно быть) DWORD(интервал в миллисекундах)_to_DT . Сам так уже давно не работаю (отсчитываю время работы в нужном мне формате по секундному таймеру , но если было отключение питания и это надо фиксировать надо привязываться к DT ) .
    Вообще больше внимания на библиотеки ОСКАТ , там коды открытые , хотя ПИД регуляторы там косячные (но это компенсируется бесплатностью и открытостью).
    Последний раз редактировалось Sergey666; 16.11.2013 в 00:59.

  9. #29

    По умолчанию

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    А вообще всем рекомендую поискать в интернете статьи Игоря Петрова про работу со временем (есть в открытом доступе).
    http://prolog-plc.ru/docs/TimeExperience.pdf
    Я конечно же читал статьи Петрова, и нашел там такой пример PackTime упаковка времени с последующими преобразованиями в TIME или в DT и т.д. Стал делать по примеру в котором сказано "Умножаем значение часов на число минут в часе, прибавляем число минут, умножаем на число секунд в минуте и т.д." Если вам нужно получить значение типа TOD, то необходимо ввести проверку результата на максимум (24 часа) и заменить DWORD_TO_TIME на DWORD_TO_TOD.
    З.Ы. Когда проделал вышеизложенные операции и преобразовал в DT то получил фигню полную...Потом даже преобразовывал число DWORD, которое должно было получиться в формат DT, но фигня осталась фигней. Не ясно в чем касяк, ясно только что мой.

  10. #30
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,695

    По умолчанию

    Переведите текущую дату в ДВОРД (DT_to_DWORD)и получите текущее ДТ в миллисекундах.
    Есть ФБ Оскат "Сет ДТ" (по русски пишу!!!).

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Ваши права

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