Thanks for your response! I am, in fact, using the high-speed inputs. I have the input filter set to 25 microseconds and I do NOT have pulse-catching enabled. I chose a low-pulse encoder to try and avoid this in the first place...however, in regard to your response, I am not using encoder "position", as most would use. I would have to continuously track 20+ "positions" at any given time. It seems like the bit shift is a better option for this. So I am not using the HSC, because I am just looking for individual pulses from the encoder; I am trying to use the EII. I was told the HSC is only useful if you are truly keeping "count", i.e. greater than 1. The encoder is, in fact, quadrature, with A leading B. I am only working with channel B at the moment. Another idea I had was by using the HSC, with a high preset of 60, I could use a 360ppr encoder and get the same resolution, while maybe avoiding some of the problems inherent to my method. If it matters, the encoder I am using is a Red Lion ZOH0060A. It was the only encoder I found with such a low pulse count. Thanks!
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!