Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


Здравствуйте, гость ( Вход | Регистрация )

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
 
Добавить ответ в эту темуОткрыть тему
> Задачка для ума., Нужна помощь с программой.
Михаил_PLC
сообщение 1.6.2011, 22:11
Сообщение #1





Группа: Участники форума
Сообщений: 531
Регистрация: 27.4.2008
Пользователь №: 18198



Доброе время суток.
Возникла проблемка, которую я не смог решить.
Нужно из ограниченного количества функциональных блоков, а это OR, AND, RS, SR, TON, TOF сделать программку, суть которой: один раз нажали кнопку, выход включился, второй раз нажали – выключился, и опять нажали и т.д. Программка должна быть максимально компактной.
Что бы сразу отсечь ненужные вопросы, зачем мне это нужно. Это контроллер (модуль) SAFE PLC EL6900 фирмы Beckhoff,
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kost_Alex
сообщение 2.6.2011, 0:38
Сообщение #2





Группа: Участники форума
Сообщений: 89
Регистрация: 19.5.2006
Из: г.Москва
Пользователь №: 2928



Если я правильно понял:

Код
PROGRAM MAIN
VAR
    Click:        BOOL;
    RS1:        RS;
    Reset_b:        BOOL;
    Out:        BOOL;
    Imp:        BOOL;
END_VAR


IF Click AND NOT Imp THEN

    RS1(
        Set:=    TRUE,
        Reset:=    Reset_b);

    Reset_b:= NOT Reset_b;

    Imp:=TRUE;

ELSIF NOT Click THEN
    Imp:=FALSE;
END_IF

Out:=RS1.Q1;


Сообщение отредактировал Kost_Alex - 2.6.2011, 0:39
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Михаил_PLC
сообщение 2.6.2011, 7:45
Сообщение #3





Группа: Участники форума
Сообщений: 531
Регистрация: 27.4.2008
Пользователь №: 18198



Цитата(Kost_Alex @ 2.6.2011, 0:38) *
Если я правильно понял:

[code]PROGRAM MAIN


Спасибо большое за пример, но можно использовать только функциональные блоки OR, AND, RS, SR, TON, TOF, другого просто ничего нет.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Rus75
сообщение 2.6.2011, 8:23
Сообщение #4





Группа: Участники форума
Сообщений: 1337
Регистрация: 24.5.2010
Из: Москва
Пользователь №: 58149



Ребята, ну мы же не в каменном веке живем. Существует Яндекс. То, что вам нужно называется триггером
Вот какую ссылку мне выдал Яндекс при запросе "функциональный блок RS http://hghltd.yandex.net/yandbtm?fmode=inj...2dc&keyno=0

В этом ПДФ файле на 11 странице есть то, что вам нужно с доминирующей функцией RESET

function_block RS
//------------------------------------
// Flip-Flop (RESET Dominаnt)
//
var_input S, R1 : BOOL; end_var
var_output Q1 : BOOL; end_var
Q1 := not R1 and (S or Q1);
end_function_block

Или на 12 стр. с доминирующей функцией SET

function_block RS
//------------------------------------
// Flip-Flop (RESET Dominаnt)
//
var_input S, R1 : BOOL; end_var
var_output Q1 : BOOL; end_var
Q1 := not R1 and (S or Q1);
end_function_block


Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
vladun
сообщение 2.6.2011, 8:50
Сообщение #5





Группа: Участники форума
Сообщений: 3069
Регистрация: 6.9.2006
Пользователь №: 3907



это импульсное реле, хотя изначально в ТЕОРИИ называлось триггером wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kost_Alex
сообщение 2.6.2011, 10:01
Сообщение #6





Группа: Участники форума
Сообщений: 89
Регистрация: 19.5.2006
Из: г.Москва
Пользователь №: 2928



Я правильно понимаю, что в моем примере нельзя использовать NOT и IF.
Переменные локальные то можно использовать?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
agent_serg
сообщение 2.6.2011, 10:05
Сообщение #7





Группа: Участники форума
Сообщений: 201
Регистрация: 16.6.2009
Пользователь №: 34909



Код
A   I0.0
AN  F10.0
AN  F10.1
S   F10.0
S   F10.1

A   I0.0
A   F10.0
AN  F10.1
R   F10.0
S   F10.1

AN  I0.0
R   F10.1








Думаю, что как-то так.

I0.0 - кнопка
F10.0 - требуемый результат
F10.1 - указатель нажатой кнопки. Условие для переключения триггера будет выполнено только в течение одного программного цикла.

Сообщение отредактировал agent_serg - 2.6.2011, 10:20
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Михаил_PLC
сообщение 2.6.2011, 14:21
Сообщение #8





Группа: Участники форума
Сообщений: 531
Регистрация: 27.4.2008
Пользователь №: 18198



Цитата(Rus75 @ 2.6.2011, 8:23) *
Ребята, ну мы же не в каменном веке живем. Существует Яндекс. То, что вам нужно называется триггером
Вот какую ссылку мне выдал Яндекс при запросе "функциональный блок RS http://hghltd.yandex.net/yandbtm?fmode=inj...2dc&keyno=0

В этом ПДФ файле на 11 странице есть то, что вам нужно с доминирующей функцией RESET

function_block RS
//------------------------------------
// Flip-Flop (RESET Dominаnt)
//
var_input S, R1 : BOOL; end_var
var_output Q1 : BOOL; end_var
Q1 := not R1 and (S or Q1);
end_function_block

Или на 12 стр. с доминирующей функцией SET

function_block RS
//------------------------------------
// Flip-Flop (RESET Dominаnt)
//
var_input S, R1 : BOOL; end_var
var_output Q1 : BOOL; end_var
Q1 := not R1 and (S or Q1);
end_function_block

А причём здесь RS и SR триггеры? Я вообщето про другое спрашивал.

Цитата(vladun @ 2.6.2011, 8:50) *
это импульсное реле, хотя изначально в ТЕОРИИ называлось триггером wink.gif

Во во, оно то мне и нужно... wink.gif

Цитата(Kost_Alex @ 2.6.2011, 10:01) *
Я правильно понимаю, что в моем примере нельзя использовать NOT и IF.
Переменные локальные то можно использовать?

Ничего нельзя использовать, кроме OR, AND, RS, SR, TON, TOF, локальных переменных тоже нет.

Цитата(agent_serg @ 2.6.2011, 10:05) *
Код
A   I0.0
AN  F10.0
AN  F10.1
S   F10.0
S   F10.1

A   I0.0
A   F10.0
AN  F10.1
R   F10.0
S   F10.1

AN  I0.0
R   F10.1








Думаю, что как-то так.

I0.0 - кнопка
F10.0 - требуемый результат
F10.1 - указатель нажатой кнопки. Условие для переключения триггера будет выполнено только в течение одного программного цикла.


Проверил, большое спасибо, все работает!!! clap.gif

Сообщение отредактировал Михаил_PLC - 2.6.2011, 14:22
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
agent_serg
сообщение 2.6.2011, 15:48
Сообщение #9





Группа: Участники форума
Сообщений: 201
Регистрация: 16.6.2009
Пользователь №: 34909



Цитата(Михаил_PLC @ 2.6.2011, 14:21) *
Проверил, большое спасибо, все работает!!! clap.gif

Если у кнопки есть дребезг, тогда в последнем условии (перед R F10.1) добавьте таймер для задержки.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274




Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqvWgxEU

ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvybpdW

Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzquvhFWx
Последние сообщения Форума






RSS Текстовая версия Сейчас: 13.8.2025, 19:39
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных