Страница 53 из 62 ПерваяПервая ... 3435152535455 ... ПоследняяПоследняя
Показано с 521 по 530 из 689

Тема: Функциональные блоки на языке ST

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

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

    По умолчанию

    Цитата Сообщение от Александр_004 Посмотреть сообщение
    Да, мне нужно при каждом изменении значения udiSel, на один цикл изменять выход Start. Спасибо за поправки

    С поправками выше, стало работать, переключает. Но как кратковременно менять значение выхода Start (bool) в цикле программы? При переключении выходов должен сбросится регулятор подключенный к данным выходам.
    Для этого можно использовать код R_Trig, включение выхода на 1 цикл, где In и Q вход и выход
    Код:
    var //объявление локальных переменныx
           R:bool; //локальная переменная с типом данных bool
    end_var    
    
        Q:=In and not R;
        R:=In;

  2. #2

    По умолчанию

    Какие еще есть варианты отключить выход на короткий промежуток времени при смене значения на входе? Возможно ли после каждого оператора If поставить условие отключения выхода, к примеру на 1 мс?
    Моргнуть при изменении этапа, кратковременно выключить выход (сбросить Start).

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

    По умолчанию

    Цитата Сообщение от Александр_004 Посмотреть сообщение
    Да, мне нужно при каждом изменении значения udiSel, на один цикл изменять выход Start. Спасибо за поправки

    С поправками выше, стало работать, переключает. Но как кратковременно менять значение выхода Start (bool) в цикле программы? При переключении выходов должен сбросится регулятор подключенный к данным выходам.
    Еще раз хочу уточнить.
    У вас первый этап занимает два шага, второй этап - 6 шагов. Вы хотите моргнуть при изменении шага (udiSel) или изменении этапа (выходы)? И как моргнуть - кратковременно сбросить переменную Start или кратковременно взвести ее?

  4. #4

    По умолчанию

    udiSel >= 0 захватывает весь диапазон значений udiSel

    наверно хотели написать что-то типа
    (udiSel >= 0) AND (udiSel <= 1) ?

    попробуйте CASE - наверное будет проще
    Последний раз редактировалось 1exan; 12.08.2024 в 12:24.

  5. #5

    По умолчанию

    Цитата Сообщение от Александр_004 Посмотреть сообщение
    Селектор работает, но выход не сбрасывается.
    Не надо кусками делить, сброс должен быть в конце кода
    Код:
    if (udiSel<>udiSel_) and ((udiSel=2) or (udiSel=7) or (udiSel=8) or (udiSel=14)) then
      Start := false;
      udiSel_:= udiSel;
    else Start := True;
      udiSel_:= udiSel;    
    end_if
    
    end_function_block
    Последний раз редактировалось kondor3000; 12.08.2024 в 19:19.

  6. #6

    По умолчанию

    Спасибо за помощь! Оба варианта работают

  7. #7

    По умолчанию

    Добрый день! Как можно в OwenLogic взять текущее состояние отсчета времени в таймере TON, красным оно идет и визуално видно, но в выходах его нет?

  8. #8

    По умолчанию

    Цитата Сообщение от viktor1974 Посмотреть сообщение
    Добрый день! Как можно в OwenLogic взять текущее состояние отсчета времени в таймере TON, красным оно идет и визуално видно, но в выходах его нет?
    Зачем вы в несколько тем пишите? Уже ответил вам тут https://owen.ru/forum/showthread.php...648#post444648

  9. #9

    По умолчанию

    подумал, что не туда написал

  10. #10

    Question

    Добрый день!

    Делаю проект на ПР205. Возникла потребность вывести на экранчик ПРки давление от вакуумметра в "научном" формате.
    Для вычисления мантиссы и десятичного порядка решил написать ФБ на ST. Логичнее использовать функцию, но функция на ST в OWENLogic имеет только один выход, а нужно три.
    Код ФБ на картинке (булевская fbstart не используется).
    Код.png

    Ошибок не выдает, симуляция запускается. Но в режиме симуляции у ФБ не отображаются никакие значения - ни у выходов, ни у входов. Если к входу ФБ floatNum подключить отдельную входную переменную (регистр Modbus), то в симуляции OwenLogic не позволяет ввести значение этой переменной.
    А все выходные переменные блока, если их добавить в окно просмотра, показывают нули.
    Симулятор.png

    Для проверки добавил в проект штатный ФБ "Счетчик прямого счета" из библиотеки Owen - та же картина.
    ФБ счетчик.png

    С чем может быть связано такое поведение?

    P.S.: Среда OWENLogic 2.7.354.0.
    Последний раз редактировалось sergey_gln; 10.09.2024 в 09:51.

Страница 53 из 62 ПерваяПервая ... 3435152535455 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК73 (Функциональные кнопки)
    от necro в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 18.05.2022, 10:03
  2. Функциональные блоки
    от ribamuka в разделе СПК2xx (архив)
    Ответов: 4
    Последнее сообщение: 08.04.2018, 15:01
  3. Функциональные блоки насосов в CoDeSys
    от Алексей Ермолаев в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 28.03.2017, 13:50
  4. Функциональные блоки- где искать?
    от Xops в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 01.03.2016, 11:07
  5. СПК функциональные клавиши
    от Lyohin в разделе Трёп (Курилка)
    Ответов: 0
    Последнее сообщение: 30.03.2015, 15:10

Ваши права

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