Login
Задачи для начинающих
5160 просмотров
Перейти к просмотру всей ветки
in Antwort AlexNek 13.02.21 19:51, Zuletzt geändert 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)