Функции (формулы) для Rapid SCADA

Стартовая страница Форумы Понять, как работает ПО Формулы Функции (формулы) для Rapid SCADA

Просмотр 15 сообщений - с 121 по 135 (из 150 всего)
  • Автор
    Сообщения
  • #34256
    mr_smit
    Участник

    Пока сделал так: добавил расчетный канал 105. А во входном 101 написал формулу SetVal(105, Math.Round(Cnl/100,1)). Т.е. чтобы при получении нового значения температуры оно делилось на 100 и записывалось уже в готовом виде в расчетный канал. Теперь вроде график нормально показывает. Правильно ли это? Или можно как изящнее? Не создавая доп. канал

    #34257
    manjey73
    Участник

    На самом деле странно, во входной канал при формуле Cnl/100 должно было записываться уже дробное число 25.36, почему у вас оно не поделилось непонятно.

    #34258
    mr_smit
    Участник

    Да, вы правы. Моя невнимательность. До того как я задал формулу, значения записывались в чистом виде. А после на графике фигурировало значение >2600 и температура 26 там затерялась. Вопрос снят. Но в догонку, почему при выставленных границах 24-27гр. при превышении 27 события никакие не возникают? Хотя галочка стоит «события разрешены».

    #34259
    JurasskPark
    Участник

    Потому что проект не передали изменённый на сервер. 😀

    #34260
    mr_smit
    Участник

    В том то и дело что передал.

    И ещё заметил баг. Если в «основные таблицы» -> «границы» изменить верхний или нижний предел, а потом перейти в канал и там посмотреть эти границы, то там они не меняются и остаются старые пока не перезапустишь программу (Администратор). RS 6.1.1.0

    #34261
    mr_smit
    Участник

    Если поводить курсором по графику, то там появляются «Завышение» и «Аварийное завышение». Но событие не возникает.

    1 2 3

    #34262
    manjey73
    Участник

    Да, у Администратора есть косяк, таблица уже загружена и открыта и вы не видите изменений. Надо закрыть и снова открыть таблицу.

    Кстати раньше, когда была кнопка обновить на таблице, было адекватнее. Сейчас галочка применить, но требует переоткрытия таблицы

    #34264
    mr_smit
    Участник

    При превышении границы должна же появляться новая строчка в журнале?

    #34265
    manjey73
    Участник

    mr_smit для этого проект должен быть передан Серверу.

    #34266
    a80808
    Участник

    Если стоит птичка «Запись событий»

    #34275
    mr_smit
    Участник

    Проект передан серверу. Не один раз.

    птичка «Запись событий» — где она находится? Нашел только в канале галочку «события разрешены». Поставил. Но в журнале ничего не записывается (грею датчик рукой на столе)

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

    Кстати раньше, когда была кнопка обновить на таблице, было адекватнее.

    Кнопка Обновить переместилась немного выше. Либо нажать Ctrl + R.

    Подбирайте подходящую тему для вопросов. Запись событий и формулы — это разные вещи.

    #34797
    v.pozdnyakov
    Участник

    Добрый день!
    Наверняка такой вопрос уже поднимался, но все же (не смог отыскать).
    Есть кнопка, которая должная менять статус и значение одного канала на 1 если они равны 0 и обратно, если статус и значения равны 1.
    Пробовал «SetVal(…) ; SetStat(…)», но таким образом не работает.
    Полагаю, если выполняется больше одного действия, то необходимо через скрипт работать.
    Если так, то каким образом должен выглядеть скрипт выполняющий два этих действия или же как это можно записать в виде одной формулы?

    • Ответ изменён 1 год, 9 месяцев назад пользователем v.pozdnyakov.
    #34799
    manjey73
    Участник

    Через SetData наверное будет проще попробовать.

    #34803
    v.pozdnyakov
    Участник

    ну вопрос скорее в том, как мне это провернуть в целом?
    Вводя в канале формулу «SetVal(101, Val(101)==0? 1: 0); SetStat(101, Stat(101)==0? 1: 0);» работает только изменение значения, статус не меняется, если поменять местами команды (сначала статус, затем значение), то поменяется лишь статус.
    Возможно моя ошибка в чем-то совсем простом и очевидном, но я пока не дошел до решения.

Просмотр 15 сообщений - с 121 по 135 (из 150 всего)
  • Для ответа в этой теме необходимо авторизоваться.