IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Подскажите пример таймера с привязкой к реальному времени.
pavel72
сообщение 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
VAL_64
сообщение 5.11.2017 - 13:23
Сообщение #2


Гигант мысли
****

Группа: Пользователи
Сообщений: 253
Регистрация: 21.01.2017
Пользователь №: 10799



Цитата(pavel72 @ 5.11.2017 - 11:36) *
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее.
Upd. Контроллер FX1N, среда программирования GX Developer FX.

Я делал так, в GX IEC Developer 7.04 EN
Вроде работает.
Прикрепленные файлы
Прикрепленный файл  2017_11_05_12_19_07.png ( 12.55 килобайт ) Кол-во скачиваний: 53
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
pavel72
сообщение 5.11.2017 - 19:19
Сообщение #3


Читатель
*

Группа: Пользователи
Сообщений: 7
Регистрация: 4.11.2017
Пользователь №: 10935



Цитата(VAL_64 @ 5.11.2017 - 13:23) *
Цитата(pavel72 @ 5.11.2017 - 11:36) *
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее.
Upd. Контроллер FX1N, среда программирования GX Developer FX.

Я делал так, в GX IEC Developer 7.04 EN
Вроде работает.

В FX к сожалению FBD нет. Но все равно спасибо,попытаюсь разобраться.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Sergei Troizky
сообщение 7.11.2017 - 05:42
Сообщение #4


Гигант мысли
****

Группа: Пользователи
Сообщений: 377
Регистрация: 30.12.2004
Пользователь №: 108



Цитата(pavel72 @ 5.11.2017 - 10:36) *
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее.
Upd. Контроллер FX1N, среда программирования GX Developer FX.

Что значит "не вводятся". Если не удается записать значение извне, регистр скорее всего получает значение в результате работы программы.
Поскольку никто не знает, какой пример и из какого мануала Вы пытаетесь повторить, выложите свою программу, лучше в pdf, если проблема еще актуальна.
И еще: Вы только включать хотите по таймеру, или и выключать тоже?


--------------------
Делать надо сразу хорошо. Плохо само получится.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
pavel72
сообщение 7.11.2017 - 10:16
Сообщение #5


Читатель
*

Группа: Пользователи
Сообщений: 7
Регистрация: 4.11.2017
Пользователь №: 10935



Цитата(Sergei Troizky @ 7.11.2017 - 05:42) *
Цитата(pavel72 @ 5.11.2017 - 10:36) *
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее.
Upd. Контроллер FX1N, среда программирования GX Developer FX.

Что значит "не вводятся". Если не удается записать значение извне, регистр скорее всего получает значение в результате работы программы.
Поскольку никто не знает, какой пример и из какого мануала Вы пытаетесь повторить, выложите свою программу, лучше в pdf, если проблема еще актуальна.
И еще: Вы только включать хотите по таймеру, или и выключать тоже?

Здравствуйте. Я пытался повторить пример из этого мануала.

Прикрепленный файл  ______________22____2_.jpg ( 20.94 килобайт ) Кол-во скачиваний: 48


Таймер нужен на включение и выключение в определенное время суток.

Сообщение отредактировал pavel72 - 7.11.2017 - 10:17
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
m_by
сообщение 7.11.2017 - 11:35
Сообщение #6


Гигант мысли
****

Группа: Пользователи
Сообщений: 252
Регистрация: 15.11.2007
Пользователь №: 6407



Прикрепленный файл  1.bmp ( 600.38 килобайт ) Кол-во скачиваний: 24

Наверное не правильно вводите строку ...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
pavel72
сообщение 7.11.2017 - 14:02
Сообщение #7


Читатель
*

Группа: Пользователи
Сообщений: 7
Регистрация: 4.11.2017
Пользователь №: 10935



Цитата(m_by @ 7.11.2017 - 11:35) *
Прикрепленный файл  1.bmp ( 600.38 килобайт ) Кол-во скачиваний: 24

Наверное не правильно вводите строку ...

Первая строка с инструкцией TCMP вводится нормально, а последующие как в примере на картинке (т.е. D0,D1 и т.д.) никак, выдает ошибку.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
m_by
сообщение 7.11.2017 - 16:02
Сообщение #8


Гигант мысли
****

Группа: Пользователи
Сообщений: 252
Регистрация: 15.11.2007
Пользователь №: 6407



)) это не инструкции, а описание
m0 включается если значение в регистрах d0 d1 d2 соответственно меньше заданных значений 10:30:50
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
pavel72
сообщение 7.11.2017 - 16:19
Сообщение #9


Читатель
*

Группа: Пользователи
Сообщений: 7
Регистрация: 4.11.2017
Пользователь №: 10935



Цитата(m_by @ 7.11.2017 - 16:02) *
)) это не инструкции, а описание
m0 включается если значение в регистрах d0 d1 d2 соответственно меньше заданных значений 10:30:50

Это я понял, подскажи как правильно, с точки зрения синтаксиса ввести эти самые d0,d1,d2 и 10:30:50.
Прикрепленный файл  __________________2_.jpg ( 73.97 килобайт ) Кол-во скачиваний: 55
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
m_by
сообщение 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



Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Sergei Troizky
сообщение 7.11.2017 - 17:14
Сообщение #11


Гигант мысли
****

Группа: Пользователи
Сообщений: 377
Регистрация: 30.12.2004
Пользователь №: 108



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


--------------------
Делать надо сразу хорошо. Плохо само получится.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
pavel72
сообщение 7.11.2017 - 18:20
Сообщение #12


Читатель
*

Группа: Пользователи
Сообщений: 7
Регистрация: 4.11.2017
Пользователь №: 10935



Цитата(m_by @ 7.11.2017 - 16:50) *
так не надо ничего вводить, только одна верхняя строка и всё
и она работает постоянно, управляет маркерами m0...m2

а далее только код выполнения необходимого, по нужному маркеру

для выше описанного примера, если
d0 = 10
d1 = 30
d2 = 50
то включится маркер m1

что бы работало с реальным временем на контроллере необходимо заменить в команде TCMP
d0 - d8013
d1 - d8014
d2 - d8015

Блин, дошло наконец-то. ohmy.gif Я-то дурень думал, что строки в примере с d0...d2 <=>10:30:50 необходимо вводить в программу. Спасибо большое.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
pavel72
сообщение 7.11.2017 - 18:27
Сообщение #13


Читатель
*

Группа: Пользователи
Сообщений: 7
Регистрация: 4.11.2017
Пользователь №: 10935



Цитата(Sergei Troizky @ 7.11.2017 - 17:14) *
Если нужно и включать, и выключать в определенное время, то бишь держать включенным в течении определенного интервала времени, есть прямой смысл воспользоваться инструкцией TZCP.
Если же пользуетесь TCMP, не стройте логику на результате равенства (флаг М1). Если контроллер почему-то не будет работать именно в эту минуту, устройство не включится.

Спасибо за совет, про отключение контроллера я не подумал, учту.
Единственное, смущает фраза в руководстве-"...выходной операнд остается после отключения условий выполнения TZCP функции включенным " т.е. после каждого цикла его надо выключать?

Сообщение отредактировал pavel72 - 7.11.2017 - 18:41
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Sergei Troizky
сообщение 8.11.2017 - 08:12
Сообщение #14


Гигант мысли
****

Группа: Пользователи
Сообщений: 377
Регистрация: 30.12.2004
Пользователь №: 108



Цитата(pavel72 @ 7.11.2017 - 18:27) *
... смущает фраза в руководстве-"...выходной операнд остается после отключения условий выполнения TZCP функции включенным " т.е. после каждого цикла его надо выключать?

Фраза эта означает, что флаги-результаты сравнения выставляются инструкцией при ее выполнении, а затем остаются неизменными (как включенные, так и выключенные), пока та же, либо другая, выполненная инструкция не изменит их состояние, в этом же, либо в более позднем цикле программы.
Обычно, они используются в тексте программы сразу после сравнения, но необязательно.
Ничто не запрещает программисту сохранять их состояние, либо их сбрасывать, смотря как требует логика программы.

Сообщение отредактировал Sergei Troizky - 8.11.2017 - 08:24


--------------------
Делать надо сразу хорошо. Плохо само получится.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 28.03.2024 - 12:43