Страница 454 из 456 ПерваяПервая ... 354404444452453454455456 ПоследняяПоследняя
Показано с 4,531 по 4,540 из 4554

Тема: Фичи и баги OWEN Logic

  1. #4531

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Выкладывайте проект, сами намудрили что то.
    И pt100 не рекомендуется использовать, будут врать до 10-15 градусов, лучше поставьте pt1000.
    Да в том и дело, что в проекте именно PT100. Вот проект в том виде в котором есть сейчас. Может и намудрил, такое первый раз вижу.
    Вложения Вложения

  2. #4532

    По умолчанию

    Цитата Сообщение от Mr_Camel Посмотреть сообщение
    Да в том и дело, что в проекте именно PT100. Вот проект в том виде в котором есть сейчас. Может и намудрил, такое первый раз вижу.
    Зачем вы на всех входах ограничение максимум 100 поставили? Вот и показывает 0 на 100 Омах.
    Если сопртивление 110 Ом на 25 градусах, а может 320 Ом быть.
    При чём на неиспользуемых 1 и 2 входах максимум 400 стоит.

    Если в проекте pt100, то надо использовать ПРМ-3, они поддерживают pt100 и 3-х проводную схему.

    У вас еще и Опер таймеры работать не будут.
    Последний раз редактировалось kondor3000; 23.05.2026 в 21:58.

  3. #4533
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,693

    По умолчанию

    Я у меня всё нормально показывает:

    ПТ100.png

    Хотя зачем использовать для булевого сигнала целый регистр я не понимаю, вроде даже не сто, а сто тысяч раз советовали упаковывать в маску, короче, не надо стремится сделать как можно хуже или по принципу "и так сойдёт", для этого даже ничего и думать не надо, просто прислушиваться к советам или здравому смыслу, получится ровно в 16 раз лучше, мне так кажется!
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  4. #4534

    По умолчанию

    Боюсь Вы не внимательно читали мое сообщение. Во первых 100 там стоит по умолчанию, это я вернул
    Изначально было 400. Это ни как не влияет на проблему. Проблема появляется только при подключении к физическому входу макроса.
    Чуть позже пришлю скриншот онлайны. Так будет понятнее

  5. #4535
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    2,101

    По умолчанию

    Цитата Сообщение от Mr_Camel Посмотреть сообщение
    Боюсь Вы не внимательно читали мое сообщение. Во первых 100 там стоит по умолчанию, это я вернул
    Изначально было 400. Это ни как не влияет на проблему. Проблема появляется только при подключении к физическому входу макроса.
    Чуть позже пришлю скриншот онлайны. Так будет понятнее
    Тогда подключайтесь к ПРке онлайн и смотрите что у вас на входах делается
    А зачем вы все переменные энергонезависимыми сделали?
    И еще, смысл дублировать на выходе сетевую переменную внутренней?
    Последний раз редактировалось Dimensy; 23.05.2026 в 22:15.

  6. #4536

    По умолчанию

    Mr_Camel, возьмите ГОСТ по термопреобразователям сопротивления и сделайте собственный макрос - вычислите полином 4 степени.
    Кроме того, макрос из компонентов при неудачном выборе константы внутри макроса - может зависать при обрыве датчика до перезапуска самой ПР. Это связано с тем, что его выход при отказе датчика фиксирует последнее достоверное значение.
    Поэтому сделайте свой макрос и при отказе датчика на выход отправляйте подстановочное значение температуры, а не последнее достоверное.

  7. #4537

    По умолчанию

    Я делал так
    Код:
    ///<Description>Преобразователь сопротивления в температуру (Pt1000)</Description>
    ///<Author>!!FPA!!</Author>
    ///<GroupName>Аналоговые преобразования</GroupName>
    
    function_block Pt1000_
    
        var_input
            ///<Description>Сопротивление термопреобразователя, Ом</Description>
            Rt          : real;
            ///<Description>Сопротивление соединительных проводов, Ом</Description>
            Rw          : real;
            ///<Description>Значение выхода при отказе термопреобразователя, °C</Description>
            Error_Value : real;
            ///<Description>Внешний сигнал неисправности/недостоверности показаний датчика (отказ модуля ввода)</Description>
            Ext_error   : bool;
        end_var
    
        var_output
            ///<Description>Температура, °C</Description>
            T       : real;
            ///<Description>Признак отказа термопреобразователя</Description>
            error   : bool;
        end_var
    
        var
            R0      : real := 1000;
            A       : real := 3.9083e-3;
            B       : real := -5.775e-7;
            D1      : real := 255.819;
            D2      : real := 9.14550;
            D3      : real := -2.92363;
            D4      : real := 1.79090;
            r       : real;
        end_var
    
        // если сопротивление термопреобразователя без учёта сопротивления проводов
        // - больше эквивалента температуры (+850 °C)
        // - или меньше эквивалента температуры (-200 °C)
        error := (Rt > (3.9048*R0)) or (Rt < (0.1852*R0)) or Ext_error;
    
        if error then
            T := Error_Value;
        else
            r := ((Rt - Rw) / R0) - 1;
            if r < 0 then
                T := r * (D1 + r * (D2 + r * (D3 + r * D4)));
            else
                T := (pow(A*A+4*B*r, 0.5) - A) / (2*B);
            end_if;
        end_if;
    
    end_function_block
    Замените в двух местах число 1000 на 100:
    Pt1000 -> Pt100
    R0 : real := 1000; -> 100

    Назначения входов и выходов - в комментариях.

    Значение Ext_error берёте как объединение сигналов неисправности канала измерения (AI) и отказа модуля ПРМ (если измерение на модуле).

    -----
    Цитата Сообщение от Валенок Посмотреть сообщение
    FPavel, можно пояснить, почему:
    Код:
     r := ((Rt плюс Rw) / R0) - 1;
    а не минус с учетом 3-х проводной схемы?
    Ошибся я. Конечно же Вы правы - это коррекция сопротивления соединительных проводов и должна вычитаться.
    Исправил сразу в этом сообщении.
    Последний раз редактировалось FPavel; Вчера в 16:40.

  8. #4538

    По умолчанию

    И в ближайшее время ожидаю вопрос, почему температура измеряется с погрешностью в 10-15 градусов и как это исправить.

  9. #4539
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,161

    По умолчанию

    FPavel, можно пояснить, почему:
    Код:
     r := ((Rt плюс Rw) / R0) - 1;
    а не минус с учетом 3-х проводной схемы?

  10. #4540
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,161

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    И в ближайшее время ожидаю вопрос, почему температура измеряется с погрешностью в 10-15 градусов и как это исправить.
    Я вот хотел бы задать этот вопрос. Не про исправление, а про погрешность 10-15град
    Это такое говеное сопротивление непосредственно измеряющего элемента?
    Или такой говеный АЦП в ПР?

Страница 454 из 456 ПерваяПервая ... 354404444452453454455456 ПоследняяПоследняя

Похожие темы

  1. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  2. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  3. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16
  4. OWEN Logic 1.1.0.11b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 58
    Последнее сообщение: 12.10.2010, 20:55

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •