I am using etherCAT for motor control in a real-time application. Simulink runs the entire simulation all at once, but I want to send position commands only once the drive and motor are actually ready for movement (i.e., drive enabled). I thought about two potential solutions:
- Delaying the initial position command for the amount of time it takes the equipment to get ready (around 5 sec), but I am sure there must be a more elegant solution to this issue.
- Using relay and enable blocks together. The issue with this solution is that the relay block runs every cycle, even after the drive enabled signal was received, which I am assuming adds to the computational requirements for every cycle.
Is there any block that runs every cycle up until a certain signal is received, and once that signal is received, triggers a subsystem to run from there on until the end of the simulation, all this while the block stops running in the future.