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

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

  1. #4531

    По умолчанию

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

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

    По умолчанию

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

  3. #4533

    По умолчанию

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

  4. #4534

    По умолчанию

    Я делал так
    Код:
    ///<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; 24.05.2026 в 16:40.

  5. #4535

    По умолчанию

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

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

    По умолчанию

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

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

    По умолчанию

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

  8. #4538

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Я вот хотел бы задать этот вопрос. Не про исправление, а про погрешность 10-15град
    Это такое говеное сопротивление непосредственно измеряющего элемента?
    Или такой говеный АЦП в ПР?
    АЦП говённый и диапазон большой (до 10 КОм в ПР200, хотя заявлено 4 КОм) + у АЦП ноль плавает сильно + схема 2-х проводная.
    В новых ещё хлеще, диапазон 300 КОм, при том же АЦП.
    Последний раз редактировалось kondor3000; 24.05.2026 в 14:17.

  9. #4539

    По умолчанию

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

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

    По умолчанию

    Так ему и предлагают варианты, типа ПРМ-3, в ПР погрешности изменения сопротивления проводов, для их компенсации, будет больше, чем значение этого сопротивления, то есть достоверно невозможно измерить в принципе.
    И вообще ПР не заточено для измерения термосопротивлений, для измерения термосопротивлений используют малый ток, десятые доли миллиампера, для исключения разогрева ТС током измерения.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

Похожие темы

  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

Ваши права

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