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

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

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

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

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Общий принцип такой
    Безымянный.png
    Поясните, как это сделать в таком случае. Нужно чтобы переменная V_S при передергивании питания не сбрасывалась в 0.
    Изображения Изображения
    • Тип файла: png 765.png (12.9 Кб, Просмотров: 7)
    Последний раз редактировалось Newcomer; Сегодня в 12:52.

  2. #2

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Поясните, как это сделать в таком случае. Нужно чтобы переменная V_S при передергивании питания не сбрасывалась в 0.
    А она и не сбрасывается - вы сами записываете в неё ноль из блока, к которому эта переменная подключена.
    Если хотите сохранять её значение - реализуйте этот функционал ВНУТРИ блока (возможно получится тот же fSEL использовать)

  3. #3

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    А она и не сбрасывается - вы сами записываете в неё ноль из блока, к которому эта переменная подключена.
    Если хотите сохранять её значение - реализуйте этот функционал ВНУТРИ блока (возможно получится тот же fSEL использовать)
    У меня FB сделан на ST. Как сделать что бы переменную V_S внутри блока не сбрасывалась в 0 при передергивании питания ?

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

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    У меня FB сделан на ST. Как сделать что бы переменную V_S внутри блока не сбрасывалась в 0 при передергивании питания ?
    Ну, мы же не знаем, что у вас и как организовано внутри блока.
    Вариантов множество. Покажите внутренности блока и вам подскажут.

    Как вариант
    Код:
    function bmState: udint; //имя функции и тип данных выхода
        var_input //объявление входных переменных
            Enable : bool;
            netState : udint;
            b0 : bool; //входная переменная с типом данных bool
            b1 : bool;
            b2 : bool;
            b3 : bool;
            b4 : bool;
            b5 : bool;
            b6 : bool;
            b7 : bool;
            b8 : bool;
            b9 : bool;
            b10 : bool;
            b11 : bool;
            b12 : bool;
            b13 : bool;
            b14 : bool;
            b15 : bool;
        end_var
          
        if Enable then
            bmState.0 := b0;
            bmState.1 := b1;
            bmState.2 := b2;
            bmState.3 := b3;
            bmState.4 := b4;
            bmState.5 := b5;
            bmState.6 := b6;
            bmState.7 := b7;
            bmState.8 := b8;
            bmState.9 := b9;
            bmState.10 := b10;
            bmState.11 := b11;
            bmState.12 := b12;
            bmState.13 := b13;
            bmState.14 := b14;
            bmState.15 := b15;
        else
            bmState := netState;
        end_if
        
    end_function

  5. #5

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Ну, мы же не знаем, что у вас и как организовано внутри блока.
    Вариантов множество. Покажите внутренности блока и вам подскажут.

    Как вариант
    Код:
    function bmState: udint; //имя функции и тип данных выхода
        var_input //объявление входных переменных
            Enable : bool;
            netState : udint;
            b0 : bool; //входная переменная с типом данных bool
            b1 : bool;
            b2 : bool;
            b3 : bool;
            b4 : bool;
            b5 : bool;
            b6 : bool;
            b7 : bool;
            b8 : bool;
            b9 : bool;
            b10 : bool;
            b11 : bool;
            b12 : bool;
            b13 : bool;
            b14 : bool;
            b15 : bool;
        end_var
          
        if Enable then
            bmState.0 := b0;
            bmState.1 := b1;
            bmState.2 := b2;
            bmState.3 := b3;
            bmState.4 := b4;
            bmState.5 := b5;
            bmState.6 := b6;
            bmState.7 := b7;
            bmState.8 := b8;
            bmState.9 := b9;
            bmState.10 := b10;
            bmState.11 := b11;
            bmState.12 := b12;
            bmState.13 := b13;
            bmState.14 := b14;
            bmState.15 := b15;
        else
            bmState := netState;
        end_if
        
    end_function
    Почему после первого вызова функции Enable не поменяла своего состояния ?

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

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Почему после первого вызова функции Enable не поменяла своего состояния ?
    Потому что Enable это входная переменная
    У меня после сбоя питания идет задержка на разрешения запуска всяких процессов. Эта функция, пока идет задержка, держит состояние до сбоя. Поэтому Enable и сделана входной переменной.
    Последний раз редактировалось Dimensy; Сегодня в 15:48.

  7. #7

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Потому что Enable это входная переменная
    У меня после сбоя питания идет задержка на разрешения запуска всяких процессов. Эта функция, пока идет задержка, держит состояние до сбоя. Поэтому Enable и сделана входной переменной.
    И сколько длится эта задержка ?

Похожие темы

  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

Ваши права

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