Стартовая страница › Форумы › Понять, как работает ПО › Формулы › Функции (формулы) для Rapid SCADA
- В этой теме 149 ответов, 17 участников, последнее обновление 1 год, 3 месяца назад сделано
Oleg.
-
АвторСообщения
-
25.08.2024 в 19:01 #34256
mr_smit
УчастникПока сделал так: добавил расчетный канал 105. А во входном 101 написал формулу SetVal(105, Math.Round(Cnl/100,1)). Т.е. чтобы при получении нового значения температуры оно делилось на 100 и записывалось уже в готовом виде в расчетный канал. Теперь вроде график нормально показывает. Правильно ли это? Или можно как изящнее? Не создавая доп. канал
25.08.2024 в 19:19 #34257
manjey73УчастникНа самом деле странно, во входной канал при формуле Cnl/100 должно было записываться уже дробное число 25.36, почему у вас оно не поделилось непонятно.
25.08.2024 в 19:59 #34258mr_smit
УчастникДа, вы правы. Моя невнимательность. До того как я задал формулу, значения записывались в чистом виде. А после на графике фигурировало значение >2600 и температура 26 там затерялась. Вопрос снят. Но в догонку, почему при выставленных границах 24-27гр. при превышении 27 события никакие не возникают? Хотя галочка стоит «события разрешены».
25.08.2024 в 20:24 #34259
JurasskParkУчастникПотому что проект не передали изменённый на сервер. 😀
25.08.2024 в 20:44 #34260mr_smit
УчастникВ том то и дело что передал.
И ещё заметил баг. Если в «основные таблицы» -> «границы» изменить верхний или нижний предел, а потом перейти в канал и там посмотреть эти границы, то там они не меняются и остаются старые пока не перезапустишь программу (Администратор). RS 6.1.1.0
25.08.2024 в 21:12 #34261mr_smit
Участник25.08.2024 в 21:36 #34262
manjey73УчастникДа, у Администратора есть косяк, таблица уже загружена и открыта и вы не видите изменений. Надо закрыть и снова открыть таблицу.
Кстати раньше, когда была кнопка обновить на таблице, было адекватнее. Сейчас галочка применить, но требует переоткрытия таблицы
25.08.2024 в 22:08 #34264mr_smit
УчастникПри превышении границы должна же появляться новая строчка в журнале?
25.08.2024 в 22:11 #34265
manjey73Участникmr_smit для этого проект должен быть передан Серверу.
25.08.2024 в 22:11 #34266
a80808УчастникЕсли стоит птичка «Запись событий»
26.08.2024 в 12:51 #34275mr_smit
УчастникПроект передан серверу. Не один раз.
птичка «Запись событий» — где она находится? Нашел только в канале галочку «события разрешены». Поставил. Но в журнале ничего не записывается (грею датчик рукой на столе)
26.08.2024 в 17:17 #34289
MikhailМодераторКстати раньше, когда была кнопка обновить на таблице, было адекватнее.
Кнопка Обновить переместилась немного выше. Либо нажать Ctrl + R.
Подбирайте подходящую тему для вопросов. Запись событий и формулы — это разные вещи.
19.09.2024 в 11:33 #34797v.pozdnyakov
УчастникДобрый день!
Наверняка такой вопрос уже поднимался, но все же (не смог отыскать).
Есть кнопка, которая должная менять статус и значение одного канала на 1 если они равны 0 и обратно, если статус и значения равны 1.
Пробовал «SetVal(…) ; SetStat(…)», но таким образом не работает.
Полагаю, если выполняется больше одного действия, то необходимо через скрипт работать.
Если так, то каким образом должен выглядеть скрипт выполняющий два этих действия или же как это можно записать в виде одной формулы?-
Ответ изменён 1 год, 9 месяцев назад пользователем
v.pozdnyakov.
19.09.2024 в 12:19 #34799
manjey73УчастникЧерез SetData наверное будет проще попробовать.
19.09.2024 в 13:36 #34803v.pozdnyakov
Участникну вопрос скорее в том, как мне это провернуть в целом?
Вводя в канале формулу «SetVal(101, Val(101)==0? 1: 0); SetStat(101, Stat(101)==0? 1: 0);» работает только изменение значения, статус не меняется, если поменять местами команды (сначала статус, затем значение), то поменяется лишь статус.
Возможно моя ошибка в чем-то совсем простом и очевидном, но я пока не дошел до решения. -
Ответ изменён 1 год, 9 месяцев назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.


