Resolving Absolute Encoder Output Problem with 720 Pulses in PLC System

Question:

I am in the process of reprogramming a German machine, for which I have some but not all necessary information. The Absolute Encoder I am working with is no longer in production, but the company behind it is known for their quality products. The encoder sends 9 bits of data to the PLC, corresponding to 360 pulses. However, I have observed that the encoder actually outputs 720 pulses during a full revolution, which seems incorrect. After consulting a German technical manual, I came across a solution to this issue involving converting negative numbers to positive values. The manual references KF 360 (Siemens S5) as a relevant point of interest. Despite using a "FLOATING POINT" setting on my HMI, I am not seeing negative numbers displayed. The 9 wires from the encoder feed into the "Digital Inputs" of the PLC, specifically a Productivity 2000 with an 'ABSE' card which handles the data. Upon my return to the factory tomorrow, I plan to adjust the output of the ABSE to have 360 added to it, effectively transforming the input pulses to the correct range. By adding 360 to the float output, I aim to convert the existing 720 pulses to 360 positive pulses, resolving the issue of the encoder outputting from 360 to 0 to 360. To summarize, the machine utilizes a 720 pulse absolute encoder with 9 bits of data input to the PLC. While a new encoder could be ordered, my priority is to solve the issue and be able to return home tomorrow.

Top Replies

I am confident that the solution provided will work effectively, especially when dealing with negative numbers. Although they may appear to run backwards, they should still be recognized and processed correctly. Speed should not pose a problem, as there should be ample time for the necessary calculations to take place without impacting the operation. It is worth noting that a similar approach was successfully implemented by German engineers two decades ago using an old Siemens model, showing that it is achievable. I consider myself to be both creative and highly intelligent, but I would appreciate it if you could explain things in a way that is easy for me to understand. This will help me troubleshoot the issue or determine if a solution has already been found.

When it comes to PLCs, it is crucial to have 9 bits of input data. In the case of a 9-bit 360 Pulses absolute encoder using discrete I/O, it most likely operates on either natural Binary or Gray Code. Typically, 8 of the inputs are used to represent the position, while the remaining input serves as a Clock signal for the connected PLC to interpret the bit statuses. Interestingly, Gray Code is named after the American mathematician Frank Gray, making it easy to distinguish from the English spelling "Grey". It is worth noting that the encoder's readings cycle from 360 to 0 and back to 360 during a full revolution. As for the Productivity 2000 'ABSE' card, can you provide more information about this module? If you are upgrading a system that previously utilized an old German encoder and PLC to a Productivity 2000 system, it would be beneficial to understand the specifics of this transition.

It appears that the German code distinguishes between "negative" and "positive" numbers and utilizes 360 twice, resulting in 720 pulses per revolution. I am unsure how this applies to my cam settings, but I notice that some are active from 330 to 0, while others function between 120 and 180. If my calculations are correct, I will switch to a straightforward 720 pulses per revolution and adjust all cam values to range from 0 to 720. This differs from the German method of using 360 to 0 for the first half of the rotation and 0 to 360 for the second half. Does any of this seem logical to you?

Upon further consideration, it appears that using natural binary and Gray code may not be the most efficient methods for communicating digital values. A 9-bit code in either of these formats can only count up to 512. If you are working with a 360 degree/revolution encoder, it is possible that it is utilizing "excess Gray codes". Are you utilizing a "MATH" instruction, a "GRAY" instruction, or another method to maximize productivity in your operations?

Ken Roach mentioned that after further consideration, he realizes that natural binary and Gray code may not be the most efficient methods for transmitting digital values. With a 9-bit code of either type, the range is limited to only counting from 0 to 512. It is possible that a 360-degree/revolution encoder may be utilizing "excess Gray codes." Are you using a "MATH" or "GRAY" instruction in your Productivity system, or perhaps something else? Within the Productivity 2000, I am utilizing a Gray Code "output" that offers limited but sensible selections. With a 9-bit 360 pulse selection, we can accurately read a full revolution with 9 input "wires." While translating the German instructions, it became apparent that the binary Ladder Logic incorporates considerations for both the positive and negative sides. Despite my limited expertise in this area, it seems that this design is intentional. Despite attempting different mathematical approaches, the values still follow a top-down-back-up pattern. However, some functions on the machine seem to be working correctly. I am currently investigating whether certain functions should be activated at specific degrees and deactivated at others. It seems that the bits remain on as they pass the first 20 degrees and turn off as they go past the second 20 degrees. Instead of turning off before reaching zero, they turn off after passing the second 20 degrees. I am also examining whether all "starts" are on the negative side of 0 and all "stops" are on the reverse side of 360. Any insights or suggestions would be appreciated, and I will provide updates as soon as the issue is resolved. It may simply be a matter of adjusting the cam settings, even though the system may seem unconventional.

Your solution seems sound and aligns with the interpretation of the technical manual. Adding 360 to the output of the ABSE should indeed correct the pulse mismatch. However, it's unusual that you're not seeing negative numbers with your floating point setting on the HMI. Ensure you double check the wiring and confirm that there's no fault in the settings. Also, remember that while the encoder is no longer in production, the manufacturer may still have technical help available, so reaching out to them might provide some extra assistance. Good luck with your reprogramming and safe travels home!

More Replies →

Streamline Your Asset Management
See How Oxmaint Works!!

✅   Work Order Management

✅   Asset Tracking

✅   Preventive Maintenance

✅   Inspection Report

We have received your information. We will share Schedule Demo details on your Mail Id.

To add a comment, please sign in or register if you haven't already..   

Frequently Asked Questions (FAQ)

FAQ: 1. Why is the Absolute Encoder outputting 720 pulses instead of 360 as expected?

Answer: - The encoder is sending 9 bits of data to the PLC, which should correspond to 360 pulses, but it actually outputs 720 pulses during a full revolution. This discrepancy can be resolved by adjusting the output in the PLC system.

FAQ: 2. How can negative numbers be converted to positive values in the PLC system?

Answer: - A solution involves referencing KF 360 (Siemens S5) in a German technical manual and adjusting the output of the ABSE card in the PLC to add 360 to the float output. This conversion will transform the 720 pulses to 360 positive pulses, correcting the encoder output range.

FAQ: 3. Which PLC system and card are involved in handling the encoder data?

Answer: - The encoder's 9 wires feed into the "Digital Inputs" of the PLC, specifically a Productivity 2000 with an 'ABSE' card responsible for processing the data and outputting pulses. Adjusting the settings on this card can help resolve the issue.

FAQ: 4. Is ordering a new encoder the only solution to the problem?

Answer: - While a new encoder could be ordered, the immediate priority is to solve the issue with the existing encoder. By adjusting the output in the PLC system, specifically adding 360 to the float output, the problem of incorrect pulse output range can be resolved without the need for a new encoder.

Ready to Simplify Maintenance?

Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.

Request Demo  â†’