Skip to content

Elmo Gold Drive profiled position bug? #103

Open
@MartynStaalsen

Description

I've been working on commissioning some elmo gold drives far a control application using fastcat, and have encountered some issues using egd_prof_pos commands. Currently, it seems the prof_pos handling state machine in jsd_egd.c does not reset bits 4 and 5 of the control word after handling a new move command. Based on my testing, it seems like these bits act as edge-triggered inputs, and thus need to be reset to 0 before a new command can be processed.

The effect is that I'm only able to execute a single prof_pos command before having to restart my ethercat master. Even resetting the drive doesn't seem to let me execute another prof_pos command.

However, it's also possible that I'm not using the egd interface, and some other piece of code I've overlooked should be handling these resets...

Also of note, I think the logic to reset the relative move bit is also faulty:
state->rxpdo_prof.controlword |= (cmd.prof_pos.relative << 6);. Seems like this only has the ability to set the relative bit to True, but would never be able to set it back to False if prof_pos.relative was False.
This line and the above bug make think that either this egd positioning code was never tested on a real drive, I've missed a more recent release that fixes these, or I'm doing something terribly wrong...

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions