Автор Тема: Вопрос про циклы в командах SMD - 4.2  (Прочитано 84 раз)

MaR

  • Новичок
  • *
Вопрос про циклы в командах SMD - 4.2
« : 06 Ноября 2019, 11:35:37 »
Добрый день.
При выполнении следующей последовательности команд двигатель движется при первом цикле 4 раза вперед и 1 назад, а все последующие повторения уже 3 раза. Увеличение до 5 раз в перед ничего не меняет и двигатель так же делает после первого повтора 3 цикла вперед:( Пожалуйста, укажите на ошибку в коде или что не правильно настроено.

команды отправляемые с помощью программы SMC_program v.4.0.5:

Начало загрузки команд: 1
Начало программы
Установить сигнал "разрешение"
Установить метку
Движение вперед
Скорость 600 ш/с
движение 600 ш
Пауза 1000мс
Повторить от метки 4 раз
Реверсивное движение
Скорость 600 ш/с
Движение 2400 ш
Пауза 2000мс
Повторить от метки 4 раз
Завершить загрузку
Старт/стоп выполнения программы

Administrator

  • Администратор
  • Ветеран
  • *****
Re: Вопрос про циклы в командах SMD - 4.2
« Ответ #1 : 06 Ноября 2019, 13:47:29 »
Добрый день!
Старые блоки серии SMSD не предполагают использование вложенных циклов. Сам по себе возврат от команды "Повторить от метки" к строке "Метка" уменьшает счетчик на 1. Два вложенных цикла при любом количестве повторов вызовут бесконечное повторение.

Вашу программу можно переписать следующим образом:
Начало загрузки команд: 1
Начало программы
Установить сигнал "разрешение"
Скорость 600 ш/с
Установить метку
Движение вперед
движение 600 ш
Пауза 1000мс
движение 600 ш
Пауза 1000мс
движение 600 ш
Пауза 1000мс
движение 600 ш
Пауза 1000мс
Реверсивное движение
Движение 2400 ш
Пауза 2000мс
Повторить от метки 4 раз
Завершить загрузку
Старт/стоп выполнения программы

Administrator

  • Администратор
  • Ветеран
  • *****
Re: Вопрос про циклы в командах SMD - 4.2
« Ответ #2 : 06 Ноября 2019, 13:48:42 »
Вложенные циклы реализованы в блоках управления серии SMSD-LAN https://electroprivod.ru/smsd-42lan.htm

MaR

  • Новичок
  • *
Re: Вопрос про циклы в командах SMD - 4.2
« Ответ #3 : 06 Ноября 2019, 14:07:08 »
Большое спасибо за ответ. А то я никак не мог понять в чем ошибка: (