Коммуникатор

Просмотр 5 сообщений - с 31 по 35 (из 35 всего)
  • Автор
    Сообщения
  • #13757
    manjey73
    Участник

    Что-то логика данного лайфхака мной не познается. Хочу опрашивать каждые 3 минуты на 15-й и 45-й секунде. Не получилось…

    Время = 00:03:15 Период 00:00:30

    Все равно опрос каждую минуту на 15-й и 45-й секунде.

    Фокус только с секундами срабатывает ? и как логически вычислять что вводить, если придумал в какое точно время нужно сделать опрос ? А то иногда понимаю, а иногда думаю что будет так, а на самом деле не так.

    #13760
    Mikhail
    Модератор

    Возможно, исходный код внесёт ясность, ссылка.
    Чтобы опрашивать на 15 и 45 секунде надо поставить время 0:00:15, а период 0:00:30
    Попробуйте, пожалуйста. Надо выяснить этот момент. Если в коде ошибка, то исправлю.

    Есть ещё пара лайфкаков:
    1. В новом модуле автоуправления в триггере по времени можно отправлять команду на опрос. Но это удобно, если опрос редкий — несколько раз в сутки.
    2. Сделать входной канал, который принимает значение 1, если нужно выполнить опрос. И поставить на этот канал триггер в модуле автоуправления.

    Но конечно надо добиться работы от Коммуникатора без дополнительных модулей.

    #13761
    Mikhail
    Модератор

    Промежуток между опросами должен быть достаточно большим, чтобы если прибор не ответил, два Коммуникатора не налезли друг на друга. Хотя Moxa NPort, возможно, не даст подключиться второму, если первый не закрыл соединения. Надо настройки NPort посмотреть.

    #13762
    manjey73
    Участник

    1) время 0:00:15, а период 0:00:30 — так и есть, опрашивается на 15-й и 45-й секунде, но речь была немного не об этом, как этот период еще сдвинуть на 3 минуты ?
    чтобы опросы были 00:03:15, 00:03:45, 00:06:15, 00:06:45 и так далее… Вот это не получилось.

    2) я так и думал сперва, пока про указанный выше лайфхак не узнал, но не могу его просчитать логически…

    Время 00:01:00 Период 00:02:00 — делают опрос строго в нечетную минуту.
    00:01:15 — 00:02:30 выполняется опрос через 2,5 минуты 38:45, 41:15, 43:45

    То есть Период всегда соответствует тому, что задано я так понимаю, Но вот как в 1) сделать я так понимаю не получится…

    Ну и ладно, собственно и это гуд. А то я тогда без этого лайфхака пытался опрашивать двумя устройствами. Знал бы раньше, было бы веселее.
    Было: Raspberry(RapidScada) + TCP сервер на USB-RS485 и другой ПК с RapidScada на тот же TCP сервер стучалась. Так что при условии синхронизации времени можно разделить опросы и не прибегать к RapidGate в небольших задачах 🙂

    NPort и аналогичные легко дают подключаться… Уже одно то, что можно сместить на минуту радует. А не только секунды…

    • Этот ответ был изменен 4 года, 6 месяцев назад от manjey73.
    #13766
    Mikhail
    Модератор

    чтобы опросы были 00:03:15, 00:03:45, 00:06:15, 00:06:45

    Так не получится, потому что период меняется, он равен то 3 минуты, то 30 секунд.

    но не могу его просчитать логически…

    Можно взять текущее время и в отдельные переменные присвоить минуты и секунды. Далее проверять, что минута кратна 3, а секунды в диапазоне от 15 до 30 или от 45 до 59.
    Диапазон секунд нужен, чтобы не пропустить момент.

Просмотр 5 сообщений - с 31 по 35 (из 35 всего)
  • Вы должны авторизироваться для ответа в этой теме.