YaskawaEurope / mlx-examples

This repository contains the sources of the MotoLogix code examples. The rendered pages can be seen on the Yaskawa Motologix website.
https://motologix.yaskawa.eu.com/examples
MIT License
3 stars 0 forks source link

[Feature Request]: Add start conditions for a McePosTable entry #31

Open yeu-rioual opened 4 months ago

yeu-rioual commented 4 months ago

McePosTable version

0.2.0

Description of the new feature / enhancement

This is about adding a mechanism which prevents the motion of a PosTable entry to be executed until the configured start conditions for that entry are satisfied. So PosTable would schedule a standstill and only proceed after the start conditions are satisfied.

Ideally, if the conditions are already satisfied in-time, the robot should not have any short standstill, but smoothly continue its trajectory (blended motion).

Implementation

This mechanism only checks before starting the motion. Once the motion of an entry has started, the start conditions are disregarded. So it cannot be used for aborting an already started motion.

The used should be informed about the status of the missing start conditions.

Further specification in the pull request

Scenario when this would be used?


To keep the PR's small, this feature will be implemented in two steps:

yeu-rioual commented 3 months ago

About the InterlockFlags of McePosTableIO, should the robot stops on True or False ?

I figured that "True" = "Yes" = "I want interlock". So True should stop the robot. And a default False would allow the robot to move.

But we could also consider "True" = "the robot can move".

Which would be the most natural option ?

yeu-rioual commented 3 months ago

When runnig McePosTable step by step (nMode = 2), how should-we handle the bStep rising edge ?

Scenario 1:

Scenario 2:

Scenario 3:

yeu-degroot commented 3 months ago

About the InterlockFlags of McePosTableIO, should the robot stops on True or False ?

I figured that "True" = "Yes" = "I want interlock". So True should stop the robot. And a default False would allow the robot to move.

But we could also consider "True" = "the robot can move".

Which would be the most natural option ?

Perhaps we could consider the following naming, which might be less confusing than interlock: