Показано с 1 по 10 из 194

Тема: СП310+пр200

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

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

    По умолчанию

    По аналогии с предложенными вариантами получилось вот так - см аттач.
    В else закоментированные строки выдают ошибку, но работает и без них. Что то я не понимаю, но что не понимаю - не понимаю. Подправьте как должно быть. И пару слов пояснений если не затруднит.
    Вложения Вложения
    Последний раз редактировалось Viktor D; 18.10.2024 в 06:54.

  2. #2

    По умолчанию

    Цитата Сообщение от Viktor D Посмотреть сообщение
    По аналогии с предложенными вариантами получилось вот так - см аттач.
    В else закоментированные строки выдают ошибку, но работает и без них. Что то я не понимаю, но что не понимаю - не понимаю. Подправьте как должно быть. И пару слов пояснений если не затруднит.
    Код:
    function_block DRIVER_drm //имя функционального блока.
    
        var_input //объявление входных переменных
             strt : bool;//старт
             stop : bool;//стоп
             pause : bool;//пауза
        end_var
    
        var_output //объявление выходных переменных
            rt_fw : bool;//вращение вперёд
            rt_bw : bool;//вращение назад
        end_var   
    
        var //объявление локальных переменных
            State : udint;   // Текущее состояние
            t : SYS.TON;        // Метка времени события
        end_var
    
       //CODE
         
       if strt then
           
           case State of
               
               0: t(I:=true, T := t#1s);
                        if t.Q then State := 1; t(I := false); end_if
                   
               1: t(I:=true, T := t#3s);
                        if t.Q then State := 2; t(I := false); end_if
                            
               2: t(I:=true, T := t#1s);
                        if t.Q then State := 3; t(I := false); end_if
                            
               3: t(I:=true, T := t#3s);
                        if t.Q then State := 0; t(I := false); end_if     
    
           end_case   
    
           rt_fw := State = 1;
           rt_bw := State = 3;
    
       else
           State := 0;
           t(I := false);
           rt_fw := false;
           rt_bw := false;
                  
       end_if
       
    end_function_block

  3. #3
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,574

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Код:
    function_block DRIVER_drm //имя функционального блока.
    
        var_input //объявление входных переменных
             strt : bool;//старт
             stop : bool;//стоп
             pause : bool;//пауза
        end_var
    
        var_output //объявление выходных переменных
            rt_fw : bool;//вращение вперёд
            rt_bw : bool;//вращение назад
        end_var   
    
        var //объявление локальных переменных
            State : udint;   // Текущее состояние
            t : SYS.TON;        // Метка времени события
        end_var
    
       //CODE
         
       if strt then
           
           case State of
               
               0: t(I:=true, T := t#1s);
                        if t.Q then State := 1; t(I := false); end_if
                   
               1: t(I:=true, T := t#3s);
                        if t.Q then State := 2; t(I := false); end_if
                            
               2: t(I:=true, T := t#1s);
                        if t.Q then State := 3; t(I := false); end_if
                            
               3: t(I:=true, T := t#3s);
                        if t.Q then State := 0; t(I := false); end_if     
    
           end_case   
    
           rt_fw := State = 1;
           rt_bw := State = 3;
    
       else
           State := 0;
           t(I := false);
           rt_fw := false;
           rt_bw := false;
                  
       end_if
       
    end_function_block
    мне кажется имеет смысл к этому коду добавить ловлю фронта старта, чтоб если это первый запуск начинать с кейса №1 как просил вопрашающий
    Цель моих действий сделать ФБ который будет осуществлять следующий алгоритм: вращение вперёд-пауза-вращение назад и всё это повторять в течении определённого времени.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  4. #4

    По умолчанию

    Насколько я понял на входе детектор переднего фронта, далее имеем генератор который выдаёт импульсы длительность которых задаётся соответствующими входными переменными и наконец счётчик всё считает и по его результату переключаются входы.
    Правильно я понял?

    На стандартных ФБ я так примерно и делал, только там BLINK выдавал импульсы в 1 сек, а счётчик их считал (сколько задано по входной переменной). В таком варианте поставив BLINK на паузу (сняв входной сигнал) весь процесс становиться на паузу и продолжается с того же места.

    Остальное (как отловить входной фронт и вставить переменную в ФБ) вроде понятно. Надо будет попробовать применить на практике.

    Для меня сложно угадать правильный синтаксис. С вашими примерами многое становиться понятно.

    Спасибо за подсказки.
    Последний раз редактировалось Viktor D; 18.10.2024 в 09:02.

Похожие темы

  1. Не получается опросить пр200 панелью сп310
    от дск в разделе Панели оператора (HMI)
    Ответов: 20
    Последнее сообщение: 24.01.2023, 10:13
  2. Подключение СП310 к пр200
    от Jakan в разделе Панели оператора (HMI)
    Ответов: 3
    Последнее сообщение: 22.08.2019, 23:23
  3. ПР200+СП310 в качестве МПР51
    от mouc1k в разделе Среда программирования OWEN Logic
    Ответов: 3
    Последнее сообщение: 25.12.2018, 11:30
  4. СП310 Сервер по Модбас ТСР + СП310 Слейв по Модбас RTU
    от Global в разделе Панели оператора (HMI)
    Ответов: 7
    Последнее сообщение: 19.04.2018, 11:16
  5. пр200+сп310
    от zamnarzanom в разделе Программируемые реле
    Ответов: 5
    Последнее сообщение: 10.10.2016, 09:13

Ваши права

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