Подскажите пример таймера с привязкой к реальному времени. |
Здравствуйте, гость ( Вход | Регистрация )
Подскажите пример таймера с привязкой к реальному времени. |
5.11.2017 - 10:36
Сообщение
#1
|
|
Читатель Группа: Пользователи Сообщений: 7 Регистрация: 4.11.2017 Пользователь №: 10935 |
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее.
Upd. Контроллер FX1N, среда программирования GX Developer FX. Сообщение отредактировал pavel72 - 5.11.2017 - 10:38 |
|
|
5.11.2017 - 13:23
Сообщение
#2
|
|
Гигант мысли Группа: Пользователи Сообщений: 253 Регистрация: 21.01.2017 Пользователь №: 10799 |
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее. Upd. Контроллер FX1N, среда программирования GX Developer FX. Я делал так, в GX IEC Developer 7.04 EN Вроде работает.
Прикрепленные файлы
|
|
|
5.11.2017 - 19:19
Сообщение
#3
|
|
Читатель Группа: Пользователи Сообщений: 7 Регистрация: 4.11.2017 Пользователь №: 10935 |
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее. Upd. Контроллер FX1N, среда программирования GX Developer FX. Я делал так, в GX IEC Developer 7.04 EN Вроде работает. В FX к сожалению FBD нет. Но все равно спасибо,попытаюсь разобраться. |
|
|
7.11.2017 - 05:42
Сообщение
#4
|
|
Гигант мысли Группа: Пользователи Сообщений: 377 Регистрация: 30.12.2004 Пользователь №: 108 |
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее. Upd. Контроллер FX1N, среда программирования GX Developer FX. Что значит "не вводятся". Если не удается записать значение извне, регистр скорее всего получает значение в результате работы программы. Поскольку никто не знает, какой пример и из какого мануала Вы пытаетесь повторить, выложите свою программу, лучше в pdf, если проблема еще актуальна. И еще: Вы только включать хотите по таймеру, или и выключать тоже? -------------------- Делать надо сразу хорошо. Плохо само получится.
|
|
|
7.11.2017 - 10:16
Сообщение
#5
|
|
Читатель Группа: Пользователи Сообщений: 7 Регистрация: 4.11.2017 Пользователь №: 10935 |
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее. Upd. Контроллер FX1N, среда программирования GX Developer FX. Что значит "не вводятся". Если не удается записать значение извне, регистр скорее всего получает значение в результате работы программы. Поскольку никто не знает, какой пример и из какого мануала Вы пытаетесь повторить, выложите свою программу, лучше в pdf, если проблема еще актуальна. И еще: Вы только включать хотите по таймеру, или и выключать тоже? Здравствуйте. Я пытался повторить пример из этого мануала. ______________22____2_.jpg ( 20.94 килобайт ) Кол-во скачиваний: 48 Таймер нужен на включение и выключение в определенное время суток. Сообщение отредактировал pavel72 - 7.11.2017 - 10:17 |
|
|
7.11.2017 - 11:35
Сообщение
#6
|
|
Гигант мысли Группа: Пользователи Сообщений: 252 Регистрация: 15.11.2007 Пользователь №: 6407 |
|
|
|
7.11.2017 - 14:02
Сообщение
#7
|
|
Читатель Группа: Пользователи Сообщений: 7 Регистрация: 4.11.2017 Пользователь №: 10935 |
Первая строка с инструкцией TCMP вводится нормально, а последующие как в примере на картинке (т.е. D0,D1 и т.д.) никак, выдает ошибку. |
|
|
7.11.2017 - 16:02
Сообщение
#8
|
|
Гигант мысли Группа: Пользователи Сообщений: 252 Регистрация: 15.11.2007 Пользователь №: 6407 |
)) это не инструкции, а описание
m0 включается если значение в регистрах d0 d1 d2 соответственно меньше заданных значений 10:30:50 |
|
|
7.11.2017 - 16:19
Сообщение
#9
|
|
Читатель Группа: Пользователи Сообщений: 7 Регистрация: 4.11.2017 Пользователь №: 10935 |
)) это не инструкции, а описание m0 включается если значение в регистрах d0 d1 d2 соответственно меньше заданных значений 10:30:50 Это я понял, подскажи как правильно, с точки зрения синтаксиса ввести эти самые d0,d1,d2 и 10:30:50. __________________2_.jpg ( 73.97 килобайт ) Кол-во скачиваний: 55 |
|
|
7.11.2017 - 16:50
Сообщение
#10
|
|
Гигант мысли Группа: Пользователи Сообщений: 252 Регистрация: 15.11.2007 Пользователь №: 6407 |
так не надо ничего вводить, только одна верхняя строка и всё
и она работает постоянно, управляет маркерами m0...m2 а далее только код выполнения необходимого, по нужному маркеру для выше описанного примера, если d0 = 10 d1 = 30 d2 = 50 то включится маркер m1 что бы работало с реальным временем на контроллере необходимо заменить в команде TCMP d0 - d8013 d1 - d8014 d2 - d8015 |
|
|
7.11.2017 - 17:14
Сообщение
#11
|
|
Гигант мысли Группа: Пользователи Сообщений: 377 Регистрация: 30.12.2004 Пользователь №: 108 |
Если нужно и включать, и выключать в определенное время, то бишь держать включенным в течении определенного интервала времени, есть прямой смысл воспользоваться инструкцией TZCP.
Если же пользуетесь TCMP, не стройте логику на результате равенства (флаг М1). Если контроллер почему-то не будет работать именно в эту минуту, устройство не включится. -------------------- Делать надо сразу хорошо. Плохо само получится.
|
|
|
7.11.2017 - 18:20
Сообщение
#12
|
|
Читатель Группа: Пользователи Сообщений: 7 Регистрация: 4.11.2017 Пользователь №: 10935 |
так не надо ничего вводить, только одна верхняя строка и всё и она работает постоянно, управляет маркерами m0...m2 а далее только код выполнения необходимого, по нужному маркеру для выше описанного примера, если d0 = 10 d1 = 30 d2 = 50 то включится маркер m1 что бы работало с реальным временем на контроллере необходимо заменить в команде TCMP d0 - d8013 d1 - d8014 d2 - d8015 Блин, дошло наконец-то. Я-то дурень думал, что строки в примере с d0...d2 <=>10:30:50 необходимо вводить в программу. Спасибо большое. |
|
|
7.11.2017 - 18:27
Сообщение
#13
|
|
Читатель Группа: Пользователи Сообщений: 7 Регистрация: 4.11.2017 Пользователь №: 10935 |
Если нужно и включать, и выключать в определенное время, то бишь держать включенным в течении определенного интервала времени, есть прямой смысл воспользоваться инструкцией TZCP. Если же пользуетесь TCMP, не стройте логику на результате равенства (флаг М1). Если контроллер почему-то не будет работать именно в эту минуту, устройство не включится. Спасибо за совет, про отключение контроллера я не подумал, учту. Единственное, смущает фраза в руководстве-"...выходной операнд остается после отключения условий выполнения TZCP функции включенным " т.е. после каждого цикла его надо выключать? Сообщение отредактировал pavel72 - 7.11.2017 - 18:41 |
|
|
8.11.2017 - 08:12
Сообщение
#14
|
|
Гигант мысли Группа: Пользователи Сообщений: 377 Регистрация: 30.12.2004 Пользователь №: 108 |
... смущает фраза в руководстве-"...выходной операнд остается после отключения условий выполнения TZCP функции включенным " т.е. после каждого цикла его надо выключать? Фраза эта означает, что флаги-результаты сравнения выставляются инструкцией при ее выполнении, а затем остаются неизменными (как включенные, так и выключенные), пока та же, либо другая, выполненная инструкция не изменит их состояние, в этом же, либо в более позднем цикле программы. Обычно, они используются в тексте программы сразу после сравнения, но необязательно. Ничто не запрещает программисту сохранять их состояние, либо их сбрасывать, смотря как требует логика программы. Сообщение отредактировал Sergei Troizky - 8.11.2017 - 08:24 -------------------- Делать надо сразу хорошо. Плохо само получится.
|
|
|
Текстовая версия | Сейчас: 24.09.2024 - 03:02 |