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


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

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

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
> Программирование на Pcs 7, Программирование
aynaz
сообщение 21.4.2016, 20:47
Сообщение #1





Группа: New
Сообщений: 2
Регистрация: 21.4.2016
Пользователь №: 295663



Добрый вечер!
У меня не получается выполнить следующий алгоритм действий: Нажимаем на первую кнопку конвейер начинает двигаться вправо, достигает третьей лампочки, загорается лампа, потом конвейер идет обратно ко второй лампочки она также загорается, после конвейер опять двигается в сторону третьей лампочки она опять загорается и звучит сигнал, конвейер останавливаться. Все три лампочки, которые расположены последовательно друг за другом.

Вот то, что у меня получилось:

Function_Block

Var_Input
but1:Bool:=0;
but2:Bool:=0;
sens1:Bool:=0;
sens2:Bool:=0;
sens3:Bool:=0;
End_Var

Var_Output
lamp1:Bool:=0;
lamp2:Bool:=0;
lamp3:Bool:=0;
con_r:Bool:=0;
con_l:Bool:=0;
signal:Bool:=0;
End_Var

Var
End_Var

If but1=1 then
con_r=1;
End_If

If sens3=1 and a=1 then
a:=1;
lamp3:=1;
con_r:=0;
con_l:=1;
End_If

If sens2=1 then
lamp2:=1;
con_l=0;
con_r=1;
End_If

If sens3=1 and a=0 then
a:=0;
lamp3:=1;
con_r:=0;
signal:=1;
End_If

End_Function_Block

Когда загрузил на контроллер конвейер начал двигаться вправо, достиг 3 лампочки, она загорелась, потом конвейер пошел обратно ко второй лампочке она тоже загорелась , после был сигнал, и процесс зациклился, т.е от третьей лампочки да второй конвейер начал двигаться, звук также оставался. Вопрос в чем у меня тут ошибка?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть тему
Ответов (1 - 2)
rancatto
сообщение 21.4.2016, 22:55
Сообщение #2





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



используйте оператор case

//остановлен
0:
If but = 1 then //нажали кнопку старт
con_r := 1;
con_l := 0;
state := 1 ;
end_if;
//ждем сигнал от 3-й лампы при движении вправо
1 :
if sens3 = 1 then
con_r := 0;
con_l := 1;
lamp3 := 1;
state := 2;
end_if;
//ждем сигнал от 2 лампы при движении влево
2:

if sens2=1 then
lamp3 := 0;
con_r := 1;
con_l := 0;
lamp2 := 1
state := 3;
end_if;
// ждем сигнала от 3 лампы при движении вправо с выдаче звукового оповещения
3:

if lamp 3 = 1 then
lamp2 := 0;
con_r := 0;
con_l := 0;
signal := 1;
lamp3 := 1;
end_if;


дальше добавить можно все что угодно - аварийный останов, возвращение конвейера к исходному состоянию после каждого цикла и тд, как душа пожелает - данный case сработает 1 раз.
примерно как то так

Сообщение отредактировал rancatto - 21.4.2016, 22:57
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
aynaz
сообщение 22.4.2016, 10:35
Сообщение #3





Группа: New
Сообщений: 2
Регистрация: 21.4.2016
Пользователь №: 295663



Спасибо большое!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

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

 

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




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

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

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






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