Страница 369 из 381 ПерваяПервая ... 269319359367368369370371379 ... ПоследняяПоследняя
Показано с 3,681 по 3,690 из 4549

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

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

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

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Общий принцип такой
    Безымянный.png
    Два вопроса по этой конструкции:
    1) как она работает;
    2) если сетевые переменные по умолчанию энергонезависимые и обычные переменные можно то же объявить энергонезависимыми, то зачем вообще нужна эта конструкция ?
    Последний раз редактировалось Newcomer; 07.12.2025 в 15:17.

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

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Два вопроса по этой конструкции:
    1) как она работает;
    2) если сетевые переменные по умолчанию энергонезависимые и обычные переменные можно то же объявить энергонезависимыми, то зачем вообще нужна эта конструкция ?
    1) В момент запуска выходные переменные могут быть еще не рассчитаны, поэтому запишут в энергонезависимую переменную ноль. Эта конструкция на один цикл не дает это сделать
    2) Можно и обычные переменные делать энергонезависимыми, но с ними может быть такая же ситуация, когда в момент запуска они перезаписываются нулем. Конструкция не дает этого сделать

  3. #3

    По умолчанию

    Добавить энергонезависимую переменную инициализации R1, которая сохранит значение и 1 Инициализация.jpg
    при включении запишет значение на выход
    Скрытый текст:
    Код:
    function_block Inizial //  Инициализация сетевых переменных
        var_input 
           Val1 :real; 
           R1_ :real;
        end_var
        var_output 
           R1 :real;
        end_var
        var 
          Init : bool:=false; //  Переменная  инициализации
        end_var
    
        if not Init then   //  Инициализация сетевых переменных при пуске
           R1:=R1_;
           Init:=true;
           else          //  Работа  сетевых переменных  после инициализации
           R1:=Val1;
        end_if
    
    end_function_block
    Последний раз редактировалось kondor3000; 07.12.2025 в 14:29.

  4. #4

    По умолчанию

    owen.jpg
    Код:
    function_block fb
        
        var_input
            inVal : udint;
        end_var
        
        var_output 
            outVal : udint;
        end_var
        
        outVal := inVal;
    
    end_function_block

  5. #5

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    owen.jpg
    Код:
    function_block fb
        
        var_input
            inVal : udint;
        end_var
        
        var_output 
            outVal : udint;
        end_var
        
        outVal := inVal;
    
    end_function_block
    Вероятно outVal := inVal; должно выполняться только при первом исполнении FB, т.е. при подаче питания на ПР.
    Последний раз редактировалось Newcomer; 07.12.2025 в 15:39.

  6. #6

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Вероятно outVal := inVal; должно выполняться только при первом исполнении FB, т.е. при подаче питания на ПР.
    Нет. Будет выполняться в каждом цикле.

  7. #7

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Нет. Будет выполняться в каждом цикле.
    А какой смысл выполнять это в каждом цикле ? Задача-то предотвратить запись 0 в outVal при подаче питания. Три человека предложили разные варианты.
    Последний раз редактировалось Newcomer; 07.12.2025 в 15:56.

  8. #8

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    А какой смысл выполнять это в каждом цикле ? Задача-то предотвратить запись 0 в outVal при подаче питания.
    При входе в FB значение надо сначала восстановить из сетевой (ведь она энергонезависимая и содержит сохраненное значение до первого цикла).
    А потом уже в самом FB можно менять это значение при необходимости.

    Код:
    function_block fb
        
        var_input
            inVal : udint;
            in, reset: bool;
            
        end_var
        
        var_output 
            outVal : udint;
        end_var
    
        var
            rtIN : SYS.RTRIG;
            rtReset : SYS.RTRIG;
        end_var
            
        outVal := inVal;
        
        rtIN(I := in);
        If rtIN.Q then
            outVal := 100;
        end_if
    
        rtReset(I := reset);
        If rtReset.Q then
            outVal := 0;
        end_if
        
    end_function_block
    Попробуйте перед выключением подать сначала in.
    А перед следующим выключением подать reset.
    Чисто для эксперимента.
    Последний раз редактировалось EFrol; 07.12.2025 в 16:00.

  9. #9

    По умолчанию

    Не могли бы подсказать, по какой причине не выводится на экран через компонент ввод вывод времени это самое время? Сделал все по инструкции присвоил дату к переменной, эту переменную перетащил к другой, и эту другую в компонент засунул. Однако вообще ничего. Где ошибся?
    И еще как работают переменные и данные в настройках прибора? у меня там вообще 2000 год просто и все. Но в часы реального времени считают. Чего то не уловил видимо.
    Последний раз редактировалось Murzik162; 08.12.2025 в 13:20.

  10. #10

    По умолчанию

    Цитата Сообщение от Murzik162 Посмотреть сообщение
    Не могли бы подсказать, по какой причине не выводится на экран через компонент ввод вывод времени это самое время? Сделал все по инструкции присвоил дату к переменной, эту переменную перетащил к другой, и эту другую в компонент засунул. Однако вообще ничего. Где ошибся?
    И еще как работают переменные и данные в настройках прибора? у меня там вообще 2000 год просто и все. Но в часы реального времени считают. Чего то не уловил видимо.

    Надо привязать все переменные времени и присвоить переменным на холсте программы, а потом выводить на экран (работает только в живой ПР).

    Проще работать с готовыми блоками времени, в том числе в симуляции
    ФБ времени в ПР205 (Часы, Мин. и Сек.) ФБ Опер Таймер (наработка) на языке ST______ https://owen.ru/forum/showthread.php?t=38721#8
    Дата, Время и День недели через DT с 2000г. (и с 1970г.)____________ https://owen.ru/forum/showthread.php?t=40116#4
    Последний раз редактировалось kondor3000; 08.12.2025 в 13:30.

Страница 369 из 381 ПерваяПервая ... 269319359367368369370371379 ... ПоследняяПоследняя

Похожие темы

  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

Ваши права

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