Limiting signal pulse width in AB SLC5/04 PLC


Thread Starter

Prasad Kumaran

In a high speed application, I had to do a confirmity check on the first 8 to 10 mSec of a sensor "on" pulse which stretchs up to 16 to 17 mSec. My PLC scan time is 4 mSec. It is an inspection machine running 60 parts per sec. Desperately need some help, can a PLC do this or do I have to use some external high speed timers.
Thank you in advance.

Steve Myres, PE

Please explain your application in a little more detail. If what you are trying to do is check the signal repeatedly during the first 8 ms, I have a suggestion. I have done an application counting low speed encoder pulses with a fast discreet input module and an interrupt subroutine. I was too cheap to buy the high speed counter module, especially for the number of channels I needed. What you do is write a subroutine that performs a immediate update for
the relevant module. I think the instruction is an IIM. Then check for changes in the bit of interest. The interrupt routine can be set to trigger as frequently as every 1 ms, and can be set in 1 ms increments. You should not use the 1 ms frequency unless you have extremely low scan time. There is about 750-850 microseconds of overhead every time the interrupt routine executes, so a 1 ms period will increase your scan time 400% or more. 2 ms execution will add about 50-75% to execution time. Also, be very careful about the maximum execution time for the actual instructions in the subroutine.

Jeremy Pollard

depending on the PLC, it might have an immediate I/O instruction that interacts with the scan time or a real time interrupt routine so that some routines can be done in real time. With a scan time of 4 ms you will have a pulse variation of +/- 4 ms and a max of 8 in real time. Use a 1 ms real time subroutine to minimize impact of scan.

Have used this because I gto caught with the same thing:) Its still a bad sat afternoon.

Cheers from:

Jeremy Pollard, CET
[email protected]
On The Web -
PLCopen North America - [email protected]
the Training Factory, Inc.
Programmable Controller Support Systems
The Software User Newsletter ONLINE
The Crazy Canuckian!
8 Vine Crescent, Barrie, Ontario L4N 2B3
705.739.7155 Fax 705.739.7157

John Paley--Graphic Pkg Corp

The other 2 posts are right, STI will work. But I'd like to add something. Read in the manual about the "Interrupt Latency Bit". Setting this to 1 enhances STI performance.

I use STIs for the same reason, encoders to measure belt travel, through discreet inputs. I can get 1" resolution at 1500 FPM. That's not bad for discreet inputs. If you use Prox's, make sure you get the "fast" ones. (usually 300uS, some are 200) And use the "fast" DC input cards. I think they're ITV-16-sink and ITB-16 source. Every where you can get speed in this type of
application is important. No sense looking for a pulse every mS if the sensor takes a mS to switch, and the card takes a half mS to pass it.

Good luck!!
I'm worried if I use STI the total scan time of my application increases, where I can't capture the inspection data from the Vision system. MY PLC is AB SLC5/04 with a input card of ITV16 and a sensor with a response of 200us. After the bad part have been rejected the sensor basically checks whether the part is still there (at a different location). I uses external solid state timer to limit the reject pulse set at 12msec. The part to part travelling time is only 16msec. I tried to use a PLC timer/scan time dependent register, to get a positive reject, failed, that's why I opt for external one, which is triggered by the PLC. I have to do the inspection of the left over bad part on the run, the machine runs at 60 parts/sec.