Sanity Check for Absolute Encoder Parallel Push/Pull

Jmeadows7676

Member
Join Date
Oct 2013
Location
Alabama
Posts
158
I have 2 Absolute Encoders 8192 steps per Rev. (Model TR Electronic CEV65m-11003) These Encoders communicate to the PLC5-60 via Parallel push/pull to 16-bit local Input cards. I have discovered that the Position will be wrong for 1 scan of the plc logic every so often, the PLC5 Histogram showed me this. A very common error I see is when the count goes 510, 511, 1023, 512 (Dec.) or 254, 255, 511, 256 (Dec.). It seems the MSB is coming on a fraction too early. If you put the above values in Binary, you will see what I'm talking about. I've done some research on Parallel Push/pull and in the Encoders Manual it states something like this is possible and list a few solutions. One is filtering the Input value another is making the Encoder output "Grey Code".
The above problem is causing confusion with the Operators looking at the HMI. If the Diameter integer gets polled by the HMI when the value is in "Error" that incorrect value stays on the screen for the update time of the hmi. So, it looks like the Encoder Feedback is jumping around.

I guess i am asking is what I'm seeing a known issue with Parallel push/pull Communication or do I have a higher-level problem.

Thanks, in advance.
 
The issue is a typical issue with binary progression bit pattern interfaces. As you correctly stated more than one input needs to change at a time and that can result in erroneous values being displayed if the bits don't change exactly together. Filtering can be it's own issue depending on how quickly the value changes.

I would personally switch to a Gray Code version of the same encoder you are using. Gray Code produces only one bit change at a time so it is much more difficult to get the issue you are currently seeing.

Keith
 
[..] in the Encoders Manual it states something like this is possible and list a few solutions. One is filtering the Input value another is making the Encoder output "Grey Code".
Indeed.
- The proper solution is to switch to Gray code.
- A crude workaround would be to filter out any value change greater than +/- 2. But then you may get into situations where the value may change without it being the encoder that is the cause. For example power-up, PLC going to run mode, 24V to the encoder disappearing and reappearing etc. Such situations must not cause the encoder to be stuck at an old value.
 
Thanks for the Sanity Check Everyone. At first opportunity I will change these Encoders output to GreyCode and then convert back to decimal. Too bad this machine is still PLC 5. Doesn't have a Grey to Decimal converter instruction. I will have to do it the long way, I guess.

Again Thanks
 

Similar Topics

Hello all, I have a Controllogix 1756-L61 with some RIO. There are a couple of 1734-OB4E's that have gone bad. (no output voltage) My boss found...
Replies
10
Views
1,073
Hi, I'm just trying to clear data for any type of String. The following results in only the first character being zeroed: tSINT := 0...
Replies
25
Views
8,166
Hi all, I'm generating AOIs for lots of our shipped components and, for the purpose of eliminating superfluous functionality/bloat, I got stuck...
Replies
6
Views
2,269
Hi all, I have a process with multiple required outcomes, with different devices controlling different process variables, but with each of them...
Replies
20
Views
7,660
Hey guys, I've recently been asked to review some code at a water treatment plant that isn't working right; seems like sometimes it'll work, but...
Replies
7
Views
5,257
Back
Top Bottom