Данный CODESYS форум содержит архивную копию русской ветви только для чтения. Для создания сообщений пожалуйста используйте актуальную международную платформу CODESYS Forum. Close

Вопрос: эмуляция с переменной типа TOD в CoDeSys v2.3

Общий
Anonymous
2013-04-02
2013-04-10
  • Anonymous - 2013-04-02

    Originally created by: Дмитрий К

    Господа! Подскажите, пожалуйста! Можно ли в CoDeSys v2.3 сделать так, чтобы в режиме эмуляции логическая переменная включалась на определенный интервал времени согласно указанному промежутку TOD? Т.е., согласно часам компьютера. Я прочитал статью И.В.Петрова и Д.В.Пастушенкова «Программируем временные сложности» - там есть пример с будильником. Если я правильно понял, в случае, если программа уже залита в контроллер, где есть аппаратные часы, задав переменную, например, как в этой статье: MyRealTime:TOD – получаем возможность обозначать суточные временные интервалы:
    IF MyRealTime >TOD#10:50 AND MyRealTime <TOD#12:00 THEN I1:=TRUE;
    ELSE I1:=FALSE;
    END_IF
    Как мне сделать, чтобы, при разработке программы, пока и контроллера еще нет, этот момент работал в режиме эмуляции? Пытался найти ответ в соответствующей литературе – неудачно. Или, я чего-то понимаю не правильно.(

     
  • Igor Petrov

    Igor Petrov - 2013-04-04

    Нужно объявить экземпляр ф. блока RTC. Включить его в программу. На выходе он даст DATE_AND_TIME.

    В живых ПЛК могут быть /могут не быть/ аппаратные часы реального времени. Читаются они обычно через би-бку SysLibTime или подобную. См. мануал на ПЛК. Часто сама операция чтения аппаратных часов довольно медленная. Поэтому рекомендуется считать их 1 раз. Полученным значением проинициализировать RTC и далее с ним работать.

     
  • Anonymous - 2013-04-10

    Originally created by: Дмитрий К

    Спасибо! Работает)