Страница 311 из 404 ПерваяПервая ... 211261301309310311312313321361 ... ПоследняяПоследняя
Показано с 3,101 по 3,110 из 4800

Тема: разные вопросы новичка

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

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

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Зачем это?
    Если вам так надо сделайте сравнение, больше 10, 20, 30 и т. д., будет включение бит разделённое на 10 шагов.
    Мне нужен аналоговый выход с шагом 10,20,30-100

  2. #2

    По умолчанию

    Цитата Сообщение от Vesper Посмотреть сообщение
    Мне нужен аналоговый выход с шагом 10,20,30-100
    На аналоговый выход надо подавать от 0 до 1.0 , какой смысл в этом, если вам для подачи на выход, всё равно надо делить на 100.
    На скрине посмотрите.

  3. #3

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    На аналоговый выход надо подавать от 0 до 1.0 , какой смысл в этом, если вам для подачи на выход, всё равно надо делить на 100.
    На скрине посмотрите.
    Имею в виду в %. Шаг нужен только десятки

  4. #4

    По умолчанию

    Цитата Сообщение от Vesper Посмотреть сообщение
    Имею в виду в %. Шаг нужен только десятки
    Ну можете сделать кучу преобразований, выход разделить на 10, преобразовать в целочисленное, 1 Выход десятками.jpg
    умножить на 10, и преобразовать обратно во Float, будет выход десятками.
    Последний раз редактировалось kondor3000; 22.09.2024 в 13:27.

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

    По умолчанию

    Цитата Сообщение от Vesper Посмотреть сообщение
    Мне нужен аналоговый выход с шагом 10,20,30-100
    Тогда вам нафиг не нужен ПИД регулятор. Просто время от времени сравнивайте параметр с уставкой и прибавляйте / убавляйте выход на 10

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

    По умолчанию

    Такое себе.
    ПИД около *5 вдруг будет болтатся и выход такой - плюс 10, минус 10 раскачивать.

  7. #7

    По умолчанию

    Доброго дня

    В ФБ на ST нужно сохранить состояние между выключениями питания.

    Для ФБ на FBD просто объявил бы переменную энергонезависимой.
    А для ST не соображу, как быть.

    Как объявить переменную в ФБ на ST энергонезависимой?

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

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Доброго дня

    В ФБ на ST нужно сохранить состояние между выключениями питания.

    Для ФБ на FBD просто объявил бы переменную энергонезависимой.
    А для ST не соображу, как быть.

    Как объявить переменную в ФБ на ST энергонезависимой?
    Только через внешнюю переменную

    Безымянный.png
    Код:
    function_block functionblock1 //имя функционального блока.
    
    // Пример функционального блока на ST, который является счетчиком и используется для прямого счета.
    // Операция «прямой счет» выполняется по переднему фронту импульса на входе «U»,
    // что увеличивает значение выходного сигнала «Q».
    // При поступлении на вход Res логической «1», выход счетчика «Q» устанавливается в значение входа «N».
    
        var_input //объявление входных переменных
           U : bool; //входная переменная с типом данных bool
           Res : bool; //входная переменная с типом данных bool
           N : udint; //входная переменная для значения счетчика после сброса
           Q_ : udint;
        end_var
    
        var_output //объявление выходных переменных
           Q : udint; //выходная переменная с типом данных udint
        end_var
    
        var //объявление локальных переменных
           CounterValue : udint; //переменная для текущего значения счетчика
           RTrig : bool; //переменная для определения переднего фронта на входе «U»
        end_var
    
        CounterValue := Q_;
        if Res then
           CounterValue := N;
        end_if
        if U and not RTrig and not Res then   
           CounterValue := (CounterValue + 1);
           RTrig := U;
        end_if
        if not U and RTrig then
           RTrig := false;
        end_if
        Q := CounterValue;
    
    end_function_block

  9. #9

    По умолчанию

    Спасибо

    Ясно. Жаль, что пока не существует решения, подобного из FBD.

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

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Спасибо

    Ясно. Жаль, что пока не существует решения, подобного из FBD.
    Ну, с этим можно жить (и вроде обещают retain в ST), а вот то что творится в ветках про прошивки ПР103 и ПР205 - вот это жесть

Страница 311 из 404 ПерваяПервая ... 211261301309310311312313321361 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК 110 - Вопросы новичка?
    от di-s в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 15.04.2025, 16:38
  2. Вопросы новичка!!!
    от sau в разделе ПЛК1хх
    Ответов: 42
    Последнее сообщение: 02.05.2022, 19:57
  3. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  4. Вопросы полного новичка
    от Korion в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.02.2010, 10:08
  5. Вопросы новичка по ПЛК
    от Ollegator в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.07.2009, 09:29

Ваши права

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