Блок «Starte jedes mal» позволяет запускать программу при выполнении какого-либо условия. То есть, он работает аналогично ветвлению, но выполняется не однократно, а каждый раз, когда выполняется условие, в течение всего прогона программы. Блок «Starte jedes mal»:
Является сокращением следующей конструкции:
В блок «Starte jedes mal» категории «Motor» («Двигатель») можно ввести все условия из этой категории.
Указание: сегмент программы внутри блока «Starte jedes mal» должен быть максимально коротким и не должен содержать блокирующие вызовы или бесконечные циклы, чтобы эта часть программы выполнялась быстро.
Иконка на блоках двигателей обозначает все двигатели, которые не являются двигателями с энкодером или серводвигателями.
При помощи блока setze Motorgeschwindigkeit auf [] … (присвоить скорости двигателя значение [] ...) можно задать определенное значение скорости двигателя (от 0 до 512). В выпадающем меню (маленький треугольник) можно выбрать направление вращения.
При помощи блока hole Motorgeschwindigkeit (получить скорость двигателя) можно вызвать скорость двигателя, чтобы обработать ее как значение.
При помощи блоков läuft Motor (двигатель работает) и ist Motorgeschwindigkeit … (скорость двигателя ...) активность и скорость двигателя можно использовать как условие.
При помощи блока stoppe Motor [] (остановить двигатель []) можно остановить нужный двигатель. При этом в блоке stoppe Motor [] предусмотрена возможность выбора одной из двух опций: немедленный останов или останов выбегом. Нужную опцию выбирают в выпадающем меню (маленький треугольник):
Двигатель с энкодером выполняет те же функции, что и обычный двигатель, плюс дает возможность считать число оборотов и синхронно управлять несколькими двигателями. При этом оборот разбивается примерно на 64 шага.
При помощи блока
можно выбрать определенное значение скорости двигателя (от 0 до 512). В выпадающем меню (маленький треугольник) можно выбрать направление вращения. Также можно ввести число шагов, которые должен пройти двигатель. В этом примере двигатель проходит 100 шагов, т. е. одну целую и одну третью оборота. Как видно из примера, этот блок содержит плюсик, при помощи которого можно синхронно управлять несколькими двигателями. Можно синхронизировать между собой либо двигатели главного устройства, либо двигатели добавочного устройства; перекрестная синхронизация, а именно между двигателями главного устройства с одной стороны и двигателями добавочного устройства с другой стороны, невозможна.
Указание: быстро следующие друг за другом вызовы функции синхронизации, например при выполнении цикла (см. пример), могут повлиять на синхронность или вообще воспрепятствовать ей.
При помощи блока stoppe Motor … (остановить двигатель ...) двигатель останавливается. Если надо остановить несколько двигателей одновременно, щелчком по плюсику слева в блоке можно добавить другие двигатели (не более трех).
Блок hat Position erreicht (достиг положения) служит для того, чтобы использовать достижение положения как условие. Под положением здесь имеется в виду конечное положение двигателя с энкодером после прохождения всей длины шага.
При помощи блока setze Position auf … (присвоить положению значение ...) можно выбрать определенное положение серводвигателя (от 0 до 512). 0 и 512 — значения максимального отклонения справа и слева. Соответственно, если указать 256, то серводвигатель займет центральное положение.
При помощи блока rufe Position ab (вызвать положение) можно вызвать положение серводвигателя, чтобы обработать его как значение.