Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Задачи для начинающих

13.02.21 20:40
Re: Задачи для начинающих
 
anly патриот
anly
в ответ AlexNek 13.02.21 19:51, Последний раз изменено 13.02.21 20:42 (anly)
Для этого нужно знать эти специальные языки и упрощение тоже еще вопрос.
конечно надо знать и выбрать (если есть выбор) тот из них, на котором программа будет выглядеть понятней и легче модифицироваться, если приспичит.

Этот что на картинке подобен стандартному SFC.

https://ftp.owen.ru/CoDeSys3/98_Books/plcopen_sfc_v10_ru.p...

Именно на таком и следует программировать, если задача является последовательностью (во времени) шагов.

На текстовом языке, а ля C# или стандартном ST (а также на графических стандартных FBD, LD) этот алгоритм будет выглядеть гораздо менее привлекательным.

Но перед алгоритмом нужно хоть немного описать задачу. Похоже у нас есть два светофора стоящих на пешеходном переходе: один для машин, другой для пешеходов. Имеется еще кнопка запроса перехода. Два светофора должны работать в противофазе в стандартном режиме и в режиме запроса перехода. Еще нужно будет определить различные времена, как минимум время горения красного, зеленого, желтого цвета и задержку переключения машинного и пешеходного светофоров. Нужно еще определится с алгоритмом запроса пешехода на переход.
Всё именно так и есть. А времена там на картинке жестко забиты (от балды правда). Например, @T > 5000 означает время активности шага сверху более 5000 милисекунд.
Нужно еще определится с алгоритмом запроса пешехода на переход.

Пока машины ездят достаточно одного нажатия на кнопку, и сразу или через паузу (если зелёный машинам светил слишком мало) отреагировать на это нажатие. Очередное нажатие будет воспринято только когда пешеходам опять красный будет, а пока пешеходам зелёный, то нажатия кнопки - в игнор.

Проклят нарушающий межи ближнего своего (Втор.27:17)
 

Перейти на