Страница 68 из 77 ПерваяПервая ... 18586667686970 ... ПоследняяПоследняя
Показано с 671 по 680 из 935

Тема: Макросы в онлайн базе OWEN Logic

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Добрый день!
    Подскажите пожалуйста.
    Есть задача подключить датчик 50М напрямую к ПР-102. В списке возможных термосопротивлений для настройки аналогового входа 50М нет.
    Но есть программный модуль - преобразователь сопротивления в температуру (50М)
    Вопрос какая настройка должна быть у аналогового входа в этом случае?

  2. #2

    По умолчанию

    Цитата Сообщение от heavyprapor Посмотреть сообщение
    Добрый день!
    Подскажите пожалуйста.
    Есть задача подключить датчик 50М напрямую к ПР-102. В списке возможных термосопротивлений для настройки аналогового входа 50М нет.
    Но есть программный модуль - преобразователь сопротивления в температуру (50М)
    Вопрос какая настройка должна быть у аналогового входа в этом случае?
    Не надо использовать 50М, 100М с любыми ПР. Погрешность будет +/- 15 градусов. Используйте Pt1000. Либо докупайте ещё модуль ПРМ-3.
    А подключить можно поставив измерение сопротивления на входе и макрос 50М.
    Последний раз редактировалось kondor3000; 15.10.2024 в 09:20.

  3. #3

    По умолчанию

    Настройка - измерение сопротивлений.

    Но проблема в том, что погрешность измерений будет огромной и зависеть от температуры проводов (плавать и не поддаваться коррекции).
    Предполагаю, что погрешность будет составлять 5-10 C.

    Требуйте замены датчика на высокоомный, вроде Pt1000 (не Pt100, а именно 1000 - тысяча). Даже Pt100 даёт неудовлетворительные результаты.

  4. #4

    По умолчанию

    Спасибо за развёрнутый ответ.
    Попробовал на практике с настройкой аналогового входа 300кОм + программный модуль. Получилась (как справедливо замечено) дичь.
    Использовалось 2 датчика, измеряли температуру в двух одинаковых ёмкостях. Начальное сопротивление на датчиках было 54.4 Ом. На контроллер приходили значения 50.1 и 51.2
    Кроме того после начала нагрева приходящие значения сопротивления вообще начали падать.
    Далее эксперимент был признан неудачным и заказаны НПТ-3.

  5. #5
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    241

    По умолчанию

    Блок определения максимального числа не работает? Или я что-то не понимаю?
    Снимок экрана 2024-11-15 104441.png

  6. #6

    По умолчанию

    Цитата Сообщение от Солнечный заяц Посмотреть сообщение
    Блок определения максимального числа не работает? Или я что-то не понимаю?
    Снимок экрана 2024-11-15 104441.png
    Этот блок выдает 0, если будет 2 и более максимальных.

    Если будет достаточно значения и индекса 1-го максимального, попробуйте:
    Код:
    function_block MAX10_
    
        var_input
            X1 : udint;
            X2 : udint;
            X3 : udint;
            X4 : udint;
            X5 : udint;
            X6 : udint;
            X7 : udint;
            X8 : udint;
            X9 : udint;
            X10 : udint;
        end_var
    
        var_output
           VMax : udint;
           NMax : udint;
        end_var
    
        VMax := X1; NMax := 1;
        if X2 > VMax  then VMax := X2;  NMax := 2; end_if
        if X3 > VMax  then VMax := X3;  NMax := 3; end_if
        if X4 > VMax  then VMax := X4;  NMax := 4; end_if
        if X5 > VMax  then VMax := X5;  NMax := 5; end_if
        if X6 > VMax  then VMax := X6;  NMax := 6; end_if
        if X7 > VMax  then VMax := X7;  NMax := 7; end_if
        if X8 > VMax  then VMax := X8;  NMax := 8; end_if
        if X9 > VMax  then VMax := X9;  NMax := 9; end_if
        if X10 > VMax then VMax := X10; NMax := 10; end_if
    
    end_function_block
    Последний раз редактировалось EFrol; 15.11.2024 в 11:16.

  7. #7
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    241

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Этот блок выдает 0, если будет 2 и более максимальных.
    Да, опасная особенность. Не ожидал такого подвоха. Да, я понимаю, что в описании ФБ есть упоминание этой "фичи", но все же. Впреть буду пользоваться онлайн библиотекой с большей осторожностью.

  8. #8
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    241

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Если будет достаточно значения и индекса 1-го максимального, попробуйте:
    код:
    Код:
    function_block MAX10_
    
        var_input
            X1 : udint;
            X2 : udint;
            X3 : udint;
            X4 : udint;
            X5 : udint;
            X6 : udint;
            X7 : udint;
            X8 : udint;
            X9 : udint;
            X10 : udint;
        end_var
    
        var_output
           VMax : udint;
           NMax : udint;
        end_var
    
        VMax := X1; NMax := 1;
        if X2 > VMax  then VMax := X2;  NMax := 2; end_if
        if X3 > VMax  then VMax := X3;  NMax := 3; end_if
        if X4 > VMax  then VMax := X4;  NMax := 4; end_if
        if X5 > VMax  then VMax := X5;  NMax := 5; end_if
        if X6 > VMax  then VMax := X6;  NMax := 6; end_if
        if X7 > VMax  then VMax := X7;  NMax := 7; end_if
        if X8 > VMax  then VMax := X8;  NMax := 8; end_if
        if X9 > VMax  then VMax := X9;  NMax := 9; end_if
        if X10 > VMax then VMax := X10; NMax := 10; end_if
    
    end_function_block
    Да, это не проблема. Я уже сделал свой вариант. Просто в начале поленился, решил использовать готовый блок из библиотеки. Ваша реализация, конечно, намного лучше существующей. Было бы здорово обновить ФБ в библиотеке, это кого-нибудь спасет.

  9. #9
    Пользователь Аватар для Солнечный заяц
    Регистрация
    16.08.2009
    Адрес
    г. Рыбинск, Яр.обл.
    Сообщений
    241

    По умолчанию

    Цитата Сообщение от Рогов Алексей Посмотреть сообщение
    Все нормально
    Не понял вас, что нормально? Что ФБ выдает неправильное значение?
    Да и при чем здесь пузырьковая сортировка? В этом блоке ее нет. Выводиться должно максимальное значение и номер входа с максимальным значением.

  10. #10

    По умолчанию

    Покажите пожалуйста пример как вызвать макрос Pt100 в ST функции
    Так же 50М.
    Последний раз редактировалось novinky; 10.12.2024 в 14:01.

Страница 68 из 77 ПерваяПервая ... 18586667686970 ... ПоследняяПоследняя

Похожие темы

  1. Универсальные макросы для OWEN Logic
    от rovki в разделе Среда программирования OWEN Logic
    Ответов: 952
    Последнее сообщение: 19.01.2026, 23:15
  2. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  3. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  4. ПО OWEN Logic !!!
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 3
    Последнее сообщение: 11.10.2011, 15:33
  5. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16

Ваши права

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