Sign in to follow this  
Followers 0
elenercom

Problem of pulse output inside of interruption program

6 posts in this topic

Hi everybody, Please help me to solve this problem. I use FX3U-32MT and try to generate pulses ( with one of instructions PLSY, PLSV or DRVI,..) to rotate a servo motor. everything is OK when a program is without interruption. Problem is when the above mentioned instructions are inside of interrupt program, they can be executed only once after PLC is switched to RUN (I used high speed counter set interruption). Program check is OK. PLC has no error. Although output Y0 , instruction activation flag and output busy flag are OFF, the instruction can not be executed again. Your help is highly appreciated. Thank you for reading.

Share this post


Link to post
Share on other sites
I've never put motion control instructions inside an interrupt routine. How are you triggering the interrupt? You may need to do some sort of housecleaning work after each time you use the interrupt routine, to reset flags etc. Because the interrupt routine doesn't run all the time, it may leave things undone.

Share this post


Link to post
Share on other sites
Thank you for your reply. I use the high speed counter set instruction where the destination device is an interrupt pointer. Each time, after pulse output has stopped, I tried to reset flags concerned to output Y0. It still does not help. Actually I can do the same thing with servo set in speed mode to avoid that problem. Anyway I think it should be also OK in positioning mode.

Share this post


Link to post
Share on other sites
What do you call "instruction activation flag"? See 8.2.1 Cautions on subroutines and interrupt routine- Countermeasures against latches of devices used in subroutines (or interrupt routines) in the Programming Manual. It does not mention your instructions directly, but I am almost sure this is your problem. Edited by Sergei Troizky

Share this post


Link to post
Share on other sites
M8348 is called positioning instruction activation flag of Y0 output. I was familiar with cautions in 8.2.1. I can handle output or timer inside interrupt program without any problem. Such a pity that there is no example on high speed output inside an interrupt routine. Thank you for your comment

Share this post


Link to post
Share on other sites
I did not mean you having problems with timer. I mean that your problem is of the same nature.When all the pulses are done, you must execute the instruction as false in the main program, otherwise it remains active forever.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0