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

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

    Ребят, спасибо всем кто откликнулся на мои вопросы, но вопросов меньше не стало, поэтому создал еще одну тему.
    Подскажите как работать с диапазоном значений, датчик от -20 до +80 (modbus), но необходимо вытащить из входного канала в дорасчетный только от +21 до +24, все что ниже или выше буде равнятся этим числам.
    Или вариант намбер ту: как в дорасчетном вычесть число 21 из входного канала (Val(1231)-21)/0.002 не работает, тупо делит val на 0.002 и все.

    #25322
    manjey73
    Участник

    Очень странный подход к работе датчика 🙂

    Какие значения передает modbus? именно от -20 до +80 или типа от 0 до 1000 или иной вариант?

    #25323
    Romiros
    Участник

    Действительно странно. Можно попробовать что-то типа такой формулы. Не проверял пишу с телефона:
    Val(1231)>=21?Val(1231):Val(1231)<=24?Val(1231):24

    #25324
    alexandr1803
    Участник

    Пока решил проблему так: создал еще дубликаты входных каналов с другим номером и прописал формулу (Cnl*0,1-21)/0.002+3500
    И в дорасчетном сложил три таких канала и поделил на 3. Весь этот геморрой затеял для задания частоты на ПЧ. Старт не ниже 35Гц к нему прибавляю по 0,5Гц на каждый 0,1*С. 21*С минимальная частота, 24*С частота 50Гц. Просто я пока незнаю умеет ли это модуль автоматизации (завтра буду пробовать), если нет, то ему ведь надо ткуда-то задание брать в автомате? Просвятите если кто заморачивался с этим.
    Частотник настроен на сон при частоте ниже 34,5Гц.

    #25325
    alexandr1803
    Участник

    Val(1231)>=21?Val(1231):Val(1231)<=24?Val(1231):24 Выдает ответ 42 почему-то? Значение текущее Val(1231)=23,3

    #25326
    alexandr1803
    Участник

    По тому решению, которое применил задание частоты показывает 46,67Гц/23,3*С, Впринцыпе и так сойдет, т.к. частотник не будет работать на частоте ниже 35 и выше 50 (запрет в параметрах)

    #25327
    alexandr1803
    Участник

    Какие значения передает modbus? именно от -20 до +80 или типа от 0 до 1000 или иной вариант? Модбас передает именно температуру без запятой (233)- это 23,3*С датчик сам на борту с модбасом (китай)

    #25328
    a80808
    Участник

    ModBus передает что скажешь (точнее что производитель устройства придумал). ModBus оперирует регистрами а уж тип регистра может быть разный: Indeger, Unsigned Integer, Short, Unsigned Short, Double… Понятно что Unsigned знак не передают. Интерпретация ложится на клиента.

    #25329
    a80808
    Участник

    Передается двоичное данное

    #25330
    alexandr1803
    Участник

    Му-ака я кусок. Спасибище ОГРОМНОЕ, формула рабочая, я не тот канал указал (1231 это ср. влажность); (1232 ср. температура).

    #25331
    a80808
    Участник

    Бывает 🙂

    #25332
    alexandr1803
    Участник

    Romiros спасибо за формулу.

    #25333
    alexandr1803
    Участник

    Ребят как создать переменную в канале управления пустого КП, чтоб ее значение отображалось во входном дорасчетном канале пустого КП? (для задания уставки влажности)? Или это есть в модуле автоматизации?

    #25334
    Romiros
    Участник

    Вам необходимо создать дорасчетный канал. В нем прописать следующую формулу: Val();Stat(). Это позволит значению уставки не уходить в неопределенное значение. Далее создать канал управления с формулой SetVal(..) или SetData(…). Я для таких целей обычно создаю дорасчетный канал и канал управления с одинаковыми номерами, чтобы формула была универсальная без номеров каналов.

    #25335
    alexandr1803
    Участник

    Romiros, не подскажешь, как из твоей формулы вычесть 21*С? Иначе не получается прибавить температуру к стартовой частоте в 3500 Примерно так: (Val(1232)-21)/0.002+3500

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