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

Тема: Выполнение определенных функциональных блоков в зависимости от выбора

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,282

    По умолчанию

    Enable:BOOL; объявляется в VAR_INPUT ФБ и потом эта переменная разрешает записывать другие переменные INPUT/OUTPUT, все верно?
    Это обычный бит, к нему привязывается выполнение алгоритма. Бит в 1 - работаем, бит в 0 - стоим. Все просто.
    ---
    На ST в моем примере будет выглядеть примерно так:
    Код:
    FB_1(
    	Enable:=Rezh_post_dv ,
    	Start:=pusk ,
    	Stop:= ,
    	Alarm:=Avaria ,
    	Run_VFD=>Run_1 );
    FB_2(
    	Enable:=Rezh_shag ,
    	Start:=pusk ,
    	Stop:= , 
    	Sensor:= , 
    	Alarm:=Avaria ,
    	Run_VFD=>Run_2 );
    FB_3(
    	Enable:=Rezh_progon ,
    	Start:=pusk ,
    	Stop:= , 
    	Sensor:= ,
    	Quantity:=100 ,
    	Alarm:=Avaria ,
    	Run_VFD=>Run_3 ,
    	Counted=> );
    Run:=Run_1 OR Run_2 OR Run_3;
    Будет работать только тот ФБ, у которого на входе Enable стоит TRUE.
    Старт, Стоп, Сенсор - можно сразу назначать (объявлять) в конфигурации ПЛК на конкретные входа. Run можно тоже вывести на выход, и им делать пуск-стоп частотника. Это мне кажется надежнее, чем командным словом.

  2. #2

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Это обычный бит, к нему привязывается выполнение алгоритма. Бит в 1 - работаем, бит в 0 - стоим. Все просто.
    ---
    На ST в моем примере будет выглядеть примерно так:
    Код:
    FB_1(
    	Enable:=Rezh_post_dv ,
    	Start:=pusk ,
    	Stop:= ,
    	Alarm:=Avaria ,
    	Run_VFD=>Run_1 );
    FB_2(
    	Enable:=Rezh_shag ,
    	Start:=pusk ,
    	Stop:= , 
    	Sensor:= , 
    	Alarm:=Avaria ,
    	Run_VFD=>Run_2 );
    FB_3(
    	Enable:=Rezh_progon ,
    	Start:=pusk ,
    	Stop:= , 
    	Sensor:= ,
    	Quantity:=100 ,
    	Alarm:=Avaria ,
    	Run_VFD=>Run_3 ,
    	Counted=> );
    Run:=Run_1 OR Run_2 OR Run_3;
    Будет работать только тот ФБ, у которого на входе Enable стоит TRUE.
    Старт, Стоп, Сенсор - можно сразу назначать (объявлять) в конфигурации ПЛК на конкретные входа. Run можно тоже вывести на выход, и им делать пуск-стоп частотника. Это мне кажется надежнее, чем командным словом.
    Что то у меня возникли трудности с применением Enable. Судя по Вашим примерам, нужно в VAR_INPUT каждого ФБ добавить строчку Enable:BOOL;. Как привязать к этой переменной выполнение алгоритма? Через какую то команду?
    Последний раз редактировалось Junoka; 25.06.2020 в 07:49.

Похожие темы

  1. Зависание функциональных кнопок у СПК207
    от Shiryaev Oleg в разделе СПК2xx (архив)
    Ответов: 6
    Последнее сообщение: 06.02.2018, 08:07
  2. Макс. число функциональных блоков
    от diman_ob_304 в разделе Программируемые реле
    Ответов: 3
    Последнее сообщение: 18.10.2017, 00:31
  3. Ответов: 1
    Последнее сообщение: 27.04.2017, 21:07
  4. Зона выбора
    от Vitamin в разделе Master SCADA 3
    Ответов: 5
    Последнее сообщение: 16.04.2015, 10:33
  5. Ответов: 13
    Последнее сообщение: 10.07.2009, 17:21

Ваши права

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