Jump to content
OMRON Forums

Variable EQU position


Recommended Posts

I’m working on an application to do EQU output firing along an XY path. I’m using the laser control white paper to do this, but in my variation I will need to continuously update the EQU on/off position since the spacing and width of the EQU signal will vary along the path (each spacing and width will likely be different). Will the best way to accomplish this be to have a background C program looking for the falling edge of the EQU signal, and re-run the EquSetup_DutyCycle routine at that event, updating the passed values to the routine with the next position? The on off positions could be stored in the PMAC, and be updated to the EQU subroutine with indirect addressing, or comp table storage potentially. Thanks!
Link to comment
Share on other sites

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

We have a feature specifically for this purpose called the Capture/Compare ISR. Please look at the Power PMAC User's Manual starting on page 756 for more details.


Basically you pre-load all compare edges in the User Buffer and then load them in on a compare event through the ISR. A C example for exactly this is on page 759.


There are a few little caveats in using the ISR so please read the "Using Capture Compare Interrupt Service Routine (ISR)" Application Note posted on the FileDepot as well before starting.


Let me know if you have any problems making it work.

Link to comment
Share on other sites

Ah yeah in the case of Gate2, you would have to use your originally proposed technique.


It should work fine unless your EQU needs to fire so often that the C program does not have time to update the next edge positions. You could schedule the edge-update thread to run at 1 kHz or something to make it update more often if needed.

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...