Стартовая страница › Форумы › Понять, как работает ПО › Использование формул › Использование формул
- В этой теме 83 ответа, 10 участников, последнее обновление 5 месяцев назад сделано
a80808.
-
АвторСообщения
-
08.10.2022 в 19:25 #25321
alexandr1803
УчастникРебят, спасибо всем кто откликнулся на мои вопросы, но вопросов меньше не стало, поэтому создал еще одну тему.
Подскажите как работать с диапазоном значений, датчик от -20 до +80 (modbus), но необходимо вытащить из входного канала в дорасчетный только от +21 до +24, все что ниже или выше буде равнятся этим числам.
Или вариант намбер ту: как в дорасчетном вычесть число 21 из входного канала (Val(1231)-21)/0.002 не работает, тупо делит val на 0.002 и все.-
Тема изменена 10 месяцев, 3 недели назад пользователем
Mikhail.
08.10.2022 в 20:27 #25322
manjey73УчастникОчень странный подход к работе датчика 🙂
Какие значения передает modbus? именно от -20 до +80 или типа от 0 до 1000 или иной вариант?
08.10.2022 в 20:31 #25323Romiros
УчастникДействительно странно. Можно попробовать что-то типа такой формулы. Не проверял пишу с телефона:
Val(1231)>=21?Val(1231):Val(1231)<=24?Val(1231):2408.10.2022 в 20:57 #25324alexandr1803
УчастникПока решил проблему так: создал еще дубликаты входных каналов с другим номером и прописал формулу (Cnl*0,1-21)/0.002+3500
И в дорасчетном сложил три таких канала и поделил на 3. Весь этот геморрой затеял для задания частоты на ПЧ. Старт не ниже 35Гц к нему прибавляю по 0,5Гц на каждый 0,1*С. 21*С минимальная частота, 24*С частота 50Гц. Просто я пока незнаю умеет ли это модуль автоматизации (завтра буду пробовать), если нет, то ему ведь надо ткуда-то задание брать в автомате? Просвятите если кто заморачивался с этим.
Частотник настроен на сон при частоте ниже 34,5Гц.08.10.2022 в 21:04 #25325alexandr1803
УчастникVal(1231)>=21?Val(1231):Val(1231)<=24?Val(1231):24 Выдает ответ 42 почему-то? Значение текущее Val(1231)=23,3
08.10.2022 в 21:08 #25326alexandr1803
УчастникПо тому решению, которое применил задание частоты показывает 46,67Гц/23,3*С, Впринцыпе и так сойдет, т.к. частотник не будет работать на частоте ниже 35 и выше 50 (запрет в параметрах)
08.10.2022 в 21:27 #25327alexandr1803
УчастникКакие значения передает modbus? именно от -20 до +80 или типа от 0 до 1000 или иной вариант? Модбас передает именно температуру без запятой (233)- это 23,3*С датчик сам на борту с модбасом (китай)
08.10.2022 в 21:46 #25328
a80808УчастникModBus передает что скажешь (точнее что производитель устройства придумал). ModBus оперирует регистрами а уж тип регистра может быть разный: Indeger, Unsigned Integer, Short, Unsigned Short, Double… Понятно что Unsigned знак не передают. Интерпретация ложится на клиента.
08.10.2022 в 21:46 #25329
a80808УчастникПередается двоичное данное
08.10.2022 в 21:47 #25330alexandr1803
УчастникМу-ака я кусок. Спасибище ОГРОМНОЕ, формула рабочая, я не тот канал указал (1231 это ср. влажность); (1232 ср. температура).
08.10.2022 в 21:48 #25331
a80808УчастникБывает 🙂
08.10.2022 в 21:48 #25332alexandr1803
УчастникRomiros спасибо за формулу.
09.10.2022 в 06:40 #25333alexandr1803
УчастникРебят как создать переменную в канале управления пустого КП, чтоб ее значение отображалось во входном дорасчетном канале пустого КП? (для задания уставки влажности)? Или это есть в модуле автоматизации?
09.10.2022 в 07:36 #25334Romiros
УчастникВам необходимо создать дорасчетный канал. В нем прописать следующую формулу: Val();Stat(). Это позволит значению уставки не уходить в неопределенное значение. Далее создать канал управления с формулой SetVal(..) или SetData(…). Я для таких целей обычно создаю дорасчетный канал и канал управления с одинаковыми номерами, чтобы формула была универсальная без номеров каналов.
09.10.2022 в 08:01 #25335alexandr1803
УчастникRomiros, не подскажешь, как из твоей формулы вычесть 21*С? Иначе не получается прибавить температуру к стартовой частоте в 3500 Примерно так: (Val(1232)-21)/0.002+3500
-
Тема изменена 10 месяцев, 3 недели назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.