Использование формулы в канале > 1 раза

Стартовая страница Форумы Понять, как работает ПО Использование формул Использование формулы в канале > 1 раза

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

    Вопрос на засыпку. Как реализовать алгоритм формулы так, чтобы ее можно было использовать в канале более 1-ого раза (экземпляра)

    Ну как пример, мне надо два экземпляра таймера TON в формуле одного канала ?

    Есть какие-то идеи ?

    #37506
    saprin8
    Участник

    То есть 2 формулы в канале одном? Функция же одно значение возвращает, выход из нее будет сразу после первого TON. Думаю можно только с условием выполнения одного или другого таймера, возвращение двух вряд ли.

    #37507
    a80808
    Участник

    А если инеапсулировать в третью?

    #37508
    manjey73
    Участник

    Один таймер без проблем. Пример в теме Формулы контроля вводимого значения

    Мне же надо в CheckComm встроить два таймера. Сам CheckComm вызывается из входной формулы канала.
    И таких примеров у меня был не один, когда нужны два таймера или таймеры должны быть вложенными.

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

    Если для вычисления значения формулы используется номер канала, то потребуется переделать формулу так, чтобы она не зависела от номера канала. Какой-нибудь произвольный ключ для хранения связанных с формулой данных использовать.

    #37513
    manjey73
    Участник

    да, использовался CnlNum, немного изменил подход, попробую протестировать сейчас.
    В общем добавил таймеру переменную со значением по умолчанию 0 (типа индекс, номер таймера).
    Ключ словаря изменил на string и просто ключ делаю $»{CnlNum}_{индекс}»

    Судя по коду должно будет работать и можно будет использовать несколько таймеров не пересекаясь с другими каналами.

    #37514
    manjey73
    Участник

    К номеру канала приходится привязываться, ибо таймеры могут располагаться в разных каналах и считать каждый своё. Просто надо ДВА 🙂

    Blink можно организовать только двумя таймерами например.
    Или в приведенном примере со Статусами мне нужны задержки как на Превышение, так и на Занижение.

    #37515
    manjey73
    Участник

    Ну, вроде все получилось 🙂
    надо теперь привести к общему варианту. чтобы остался один Ton на все.

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