События и несколько записей

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

Просмотр 15 сообщений - с 16 по 30 (из 57 всего)
  • Автор
    Сообщения
  • #19346
    Mikhail
    Модератор

    Формулы, которые устанавливают значение канала из формулы этого же канала, некорректны.

    #19352
    manjey73
    Участник

    А что должно быть, чтобы были корректны? просто поведение может и не одинаковое, с применением Cnl или SetVal как-то не сильно отличаются. Сыпят по два раза непонятно что. Пишет Включен и тут же Откл

    И я же не значение канала выставляю, а его статус меняю.

    Получается прилетело значение — сработка
    Потом я меняю статус и одновременно с этим еще раз меняется значение? или что происходит не так?

    • Этот ответ был изменен 2 года, 10 месяцев назад от manjey73.
    • Этот ответ был изменен 2 года, 10 месяцев назад от manjey73.
    #19358
    manjey73
    Участник

    На другом ПК та же фигня.
    Например использую в качестве статуса значения 112 и 14.

    Дорасчетный канал, в канале управления SetVal(Канал, Cmd)
    Формула Val();Cnl или Val();Val()

    Вбиваю 112 — в уведомлениях предыдущее значение 14 и новое 112
    Вбиваю 14 — в Уведомлениях предыдущее 112 и новое 14

    И так по кругу. Предыдущее значение каким образом появляется при смене значения ?

    Галочки стоят только на смену значения.

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

    Сделайте скриншоты свойств входных каналов. Иначе целостная картина не складывается.

    #19372
    manjey73
    Участник

    1

    Это по последнему, где менял статус по значениям. Retain могу убрать, в другом примере его все равно нет.

    #19373
    manjey73
    Участник

    2

    3

    Вот из другой системы. Вариации формул не влияют, все равно прилетает по два раза.

    Последнее описание это канал 451, ввод значения из списка Типов событий, особенно зарегистрированных, видно что сперва прилетает событие, статус которого и так сейчас в канале, потом новое.

    #19374
    manjey73
    Участник

    Блин, кто жует скриншоты… ?

    ц

    • Этот ответ был изменен 2 года, 10 месяцев назад от manjey73.
    • Этот ответ был изменен 2 года, 10 месяцев назад от manjey73.
    • Этот ответ был изменен 2 года, 10 месяцев назад от manjey73.
    #19378
    manjey73
    Участник

    1

    3

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

    По скриншотам рассмотрим 2 канала: 175 и 176.
    Оба канала имеют некорректные формулы.

    Формула канала 175 некорректна, потому что она использует Cnl. Cnl — это значение, которое приходит от контроллера. Cnl не работает на дорасчётных каналах. Либо канал не должен быть дорасчётным.

    Формула канала 176 некорректна, потому что он всё время ссылается сам на себя, вызывая Val(). А должен, вероятно ссылаться на другой канал. Либо опять же канал не должен быть дорасчётным.

    #19389
    manjey73
    Участник

    Изначально было Val()

    Суть канала — дорасчетный, в котором должно храниться некое значение, например параметры Гистерезиса
    В канале управления запись значения в этот канал. То есть данные каналы просто хранят переменные, и не берут их ни из устройства ни из других каналов.

    Как в таком случае записать в канал значение, и чтобы оно сохранялось на Linux ?
    Вся байда, насколько помню, это хранение параметров из-за того, что текущие данные пишутся в оперативную память и при перезагрузках пропадают.

    Подскажите тогда выход из ситуации, чтобы и сохранение канала работало и формула не создавала двойного дубля.

    И да, при перезагрузке сервера тоже дубли событий происходят.

    • Этот ответ был изменен 2 года, 10 месяцев назад от manjey73.
    #19461
    manjey73
    Участник

    ;Val() > 0 ? 116 : 115

    Даже такая формула вызывает два срабатывания событий по каналу. То есть какой-то части в формуле значения нет вообще.

    2

    Канал Дорасчетный, формула выше, Текст перечисления, Размерность с 3-им параметром чтобы избавиться от красного цвета. Тут Зеленый и черный. Запись событий только по изменению.

    • Этот ответ был изменен 2 года, 10 месяцев назад от manjey73.
    #19463
    Romiros
    Участник

    А что-то описание какое-то корявое Отключен: вкл. И т.д. Или так нужно? Как будто два раза проверяется. Может неправильно размерности используете?

    • Этот ответ был изменен 2 года, 10 месяцев назад от Romiros.
    #19465
    manjey73
    Участник

    Romiros так я Михаилу и толдычу, что повтор идет и непонятно с чем он связан.
    Сперва прилетает то значение, которое БЫЛО в канале и тут же Новое. Потом сново, то, что было и тут же новое.

    Если взять коды событий «Поставить на охрану», «Снять с охраны» то описания будут соответствовать.

    #19466
    manjey73
    Участник

    1. При перезагрузке Сервера и смене формулы статусов на 11 и 15 происходит их сработка

    4

    2. при изменении дубль в таком виде.
    Сперва отключал, должна быть только одна надпись «Аварийное отключение Откл»
    Потом включал, соответственно только синяя надпись «Аварийное занижение ВКЛ»

    Формула сейчас такая ;Val() > 0 ? 11 : 15

    #19467
    Romiros
    Участник

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

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