Проблема с макетом 536629

Обсуждаем модели и конструкции, построенные своими руками
Ответить
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Проблема с макетом 536629

Сообщение Mr.Kubikus »

В состав комплексного макета производства 536629 входит демонстрационная программа GripperRobot.rpp. После того, как я изменил координаты для некоторых позиций в подпрограмме "position 1" она стала зависать. Причем мои координаты находятся в допустимом диапазоне - физических препятствий для перемещения нет.

Подскажите, пожалуйста, в чем может быть проблема?
Вложения
GripperRobot.rpp
(503.97 КБ) 206 скачиваний
С уважением, Григорий
GitHub FB ВК
AntonEngineer
Сообщения: 42
Зарегистрирован: 10 дек 2019, 18:13

Re: Проблема с макетом 536629

Сообщение AntonEngineer »

Добрый день! Проблема заключается в том, что движение манипулятора к целевой позиции по оси Z и оси Y завершается раньше, чем движение по оси X. В таком случае, программа зависает на программном элементе "Ждать до" (триггер по переднему фронту сигнала).
Race condition.jpg
Race condition.jpg (124.41 КБ) 2940 просмотров
Такая проблема называется "Состояние гонки" (англ. race condition) - ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Своё название ошибка получила от похожей ошибки проектирования электронных схем (ссылка на определение термина ).

Чтобы подпрограмма гарантированно завершалась при достижении осей заданных координат, предлагаю заменить триггер на "Ждать до: 1 ( > 0)"
Race condition 2.jpg
Race condition 2.jpg (18.66 КБ) 2940 просмотров
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1018
Зарегистрирован: 22 окт 2010, 23:57

Re: Проблема с макетом 536629

Сообщение Mr.Kubikus »

Спасибо! Теперь работает стабильно.
С уважением, Григорий
GitHub FB ВК
Ответить