В состав комплексного макета производства 536629 входит демонстрационная программа GripperRobot.rpp. После того, как я изменил координаты для некоторых позиций в подпрограмме "position 1" она стала зависать. Причем мои координаты находятся в допустимом диапазоне - физических препятствий для перемещения нет.
Подскажите, пожалуйста, в чем может быть проблема?
Проблема с макетом 536629
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Проблема с макетом 536629
- Вложения
-
- GripperRobot.rpp
- (503.97 КБ) 534 скачивания
-
- Сообщения: 42
- Зарегистрирован: 10 дек 2019, 18:13
Re: Проблема с макетом 536629
Добрый день! Проблема заключается в том, что движение манипулятора к целевой позиции по оси Z и оси Y завершается раньше, чем движение по оси X. В таком случае, программа зависает на программном элементе "Ждать до" (триггер по переднему фронту сигнала).
Такая проблема называется "Состояние гонки" (англ. race condition) - ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Своё название ошибка получила от похожей ошибки проектирования электронных схем (ссылка на определение термина ).
Чтобы подпрограмма гарантированно завершалась при достижении осей заданных координат, предлагаю заменить триггер на "Ждать до: 1 ( > 0)"
Такая проблема называется "Состояние гонки" (англ. race condition) - ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Своё название ошибка получила от похожей ошибки проектирования электронных схем (ссылка на определение термина ).
Чтобы подпрограмма гарантированно завершалась при достижении осей заданных координат, предлагаю заменить триггер на "Ждать до: 1 ( > 0)"
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Проблема с макетом 536629
Спасибо! Теперь работает стабильно.