Версия для печати темы
Mitsubishi Electric. Контроллеры, преобразователи частоты, HMI _ Программирование _ Подскажите пример таймера с привязкой к реальному времени.
Автор: pavel72 5.11.2017 - 10:36
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее.
Upd. Контроллер FX1N, среда программирования GX Developer FX.
Автор: 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
Вроде работает.
Автор: pavel72 5.11.2017 - 19:19
Цитата(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
Цитата(pavel72 @ 5.11.2017 - 10:36)
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее.
Upd. Контроллер FX1N, среда программирования GX Developer FX.
Что значит "не вводятся". Если не удается записать значение извне, регистр скорее всего получает значение в результате работы программы.
Поскольку никто не знает, какой пример и из какого мануала Вы пытаетесь повторить, выложите свою программу, лучше в pdf, если проблема еще актуальна.
И еще: Вы только включать хотите по таймеру, или и выключать тоже?
Автор: pavel72 7.11.2017 - 10:16
Цитата(Sergei Troizky @ 7.11.2017 - 05:42)
Цитата(pavel72 @ 5.11.2017 - 10:36)
Здравствуйте. Подскажите начинающему- как сделать таймер, что бы он срабатывал в определенное время суток. Изучая мануал, подозреваю, что наиболее подходит для этого инструкция FNC 160 (TCMP), но почему-то пытаясь повторить пример, не вводятся D0, D1 и далее.
Upd. Контроллер FX1N, среда программирования GX Developer FX.
Что значит "не вводятся". Если не удается записать значение извне, регистр скорее всего получает значение в результате работы программы.
Поскольку никто не знает, какой пример и из какого мануала Вы пытаетесь повторить, выложите свою программу, лучше в pdf, если проблема еще актуальна.
И еще: Вы только включать хотите по таймеру, или и выключать тоже?
Здравствуйте. Я пытался повторить пример из этого мануала.
Таймер нужен на включение и выключение в определенное время суток.
Автор: m_by 7.11.2017 - 11:35
1.bmp ( 600.38 килобайт )
: 24
Наверное не правильно вводите строку ...
Автор: pavel72 7.11.2017 - 14:02
Цитата(m_by @ 7.11.2017 - 11:35)
1.bmp ( 600.38 килобайт )
: 24Наверное не правильно вводите строку ...
Первая строка с инструкцией TCMP вводится нормально, а последующие как в примере на картинке (т.е. D0,D1 и т.д.) никак, выдает ошибку.
Автор: m_by 7.11.2017 - 16:02
)) это не инструкции, а описание
m0 включается если значение в регистрах d0 d1 d2 соответственно меньше заданных значений 10:30:50
Автор: pavel72 7.11.2017 - 16:19
Цитата(m_by @ 7.11.2017 - 16:02)
)) это не инструкции, а описание
m0 включается если значение в регистрах d0 d1 d2 соответственно меньше заданных значений 10:30:50
Это я понял, подскажи как правильно, с точки зрения синтаксиса ввести эти самые d0,d1,d2 и 10:30:50.
Автор: m_by 7.11.2017 - 16:50
так не надо ничего вводить, только одна верхняя строка и всё
и она работает постоянно, управляет маркерами m0...m2
а далее только код выполнения необходимого, по нужному маркеру
для выше описанного примера, если
d0 = 10
d1 = 30
d2 = 50
то включится маркер m1
что бы работало с реальным временем на контроллере необходимо заменить в команде TCMP
d0 - d8013
d1 - d8014
d2 - d8015
Автор: Sergei Troizky 7.11.2017 - 17:14
Если нужно и включать, и выключать в определенное время, то бишь держать включенным в течении определенного интервала времени, есть прямой смысл воспользоваться инструкцией TZCP.
Если же пользуетесь TCMP, не стройте логику на результате равенства (флаг М1). Если контроллер почему-то не будет работать именно в эту минуту, устройство не включится.
Автор: pavel72 7.11.2017 - 18:20
Цитата(m_by @ 7.11.2017 - 16:50)
так не надо ничего вводить, только одна верхняя строка и всё
и она работает постоянно, управляет маркерами m0...m2
а далее только код выполнения необходимого, по нужному маркеру
для выше описанного примера, если
d0 = 10
d1 = 30
d2 = 50
то включится маркер m1
что бы работало с реальным временем на контроллере необходимо заменить в команде TCMP
d0 - d8013
d1 - d8014
d2 - d8015
Блин, дошло наконец-то.
Я-то дурень думал, что строки в примере с d0...d2 <=>10:30:50 необходимо вводить в программу. Спасибо большое.
Автор: pavel72 7.11.2017 - 18:27
Цитата(Sergei Troizky @ 7.11.2017 - 17:14)
Если нужно и включать, и выключать в определенное время, то бишь держать включенным в течении определенного интервала времени, есть прямой смысл воспользоваться инструкцией TZCP.
Если же пользуетесь TCMP, не стройте логику на результате равенства (флаг М1). Если контроллер почему-то не будет работать именно в эту минуту, устройство не включится.
Спасибо за совет, про отключение контроллера я не подумал, учту.
Единственное, смущает фраза в руководстве-"...выходной операнд остается после отключения условий выполнения TZCP функции
включенным " т.е. после каждого цикла его надо выключать?
Автор: Sergei Troizky 8.11.2017 - 08:12
Цитата(pavel72 @ 7.11.2017 - 18:27)
... смущает фраза в руководстве-"...выходной операнд остается после отключения условий выполнения TZCP функции включенным " т.е. после каждого цикла его надо выключать?
Фраза эта означает, что флаги-результаты сравнения выставляются инструкцией при ее выполнении, а затем остаются неизменными (как включенные, так и выключенные), пока та же, либо другая, выполненная инструкция не изменит их состояние, в этом же, либо в более позднем цикле программы.
Обычно, они используются в тексте программы сразу после сравнения, но необязательно.
Ничто не запрещает программисту сохранять их состояние, либо их сбрасывать, смотря как требует логика программы.
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)