Hey guys, I am working on an application that tracks irregularly spaced PET bottles on a conveyor line and then blows them into boxes waiting on the side of the conveyor. I believe I have working logic, but I am having issues with the encoder at operating conveyor speeds.
I believe the best logic for my project is to use a photoeye to detect the presence of a bottle (a one-shot makes sure it is only detected once), and then "store" the "presence" of the bottle in a binary file using an encoder pulse to trigger a BSL function. Using this logic, the bits in the file are analogous to a real, physical location on the conveyor, and I can just monitor specific addresses in the file where my real-world air nozzles are located.
My current problem is that as my conveyor speeds increase, the PLC begins to miss pulses from the encoder. During my initial set-up, I took data at very slow speeds to experimentally determine how many pulses were between the photoeye and each air valve, but when I run at full speed, I only detect about 70% of the pulses detected at slow speeds. Not good. Althought the "skipped pulses" seem to be proportional to the detected pulses at slow speeds.
I am using an encoder that only runs at 60ppr, so I would think that my PLC (MicroLogix 1200) can handle this...I did the math before I purchased the encoder and thought I found the pulses to be infrequent enough that the PLC wouldn't miss any.
My 2 trains of thought:
1) I need to use an interrupt for each encoder pulse since they occur so quickly (utilizing an EII), which I am not fluent in. I can find instructions to intitially configure the EII file, but I am unsure of how you are supposed to correctly set up the ladder logic to utilize the interrupt.
2) There is an electrical issue. The encoder I bought uses pull-up resistors. The resistor value I selected only drops the detected voltage to 14V from 24V. Is it possible that the encoder does not spend enough time in the "off" state at high speeds because of this high voltage value? OR does the usage of a resistor introduce a time-lag into the system which further complicates the issue?
Any help would be appreciated,
Thanks!