Control logix Incremental Encoder problem.

BB1980

Member
Join Date
Oct 2012
Location
Dublin
Posts
8
Hi Everyone,

I've ran into a problem with a project I'm working on for college so hoping to get some advice here as my knowledge and experience is limited. The system includes a motor and incremental encoder feeding back to a control logix 1756 input card. The encoder is a sick DSK40 and it has up to 2048 lines per rev. The motor has a reduction gear fitted to the working end of it meaning I get 1 revolution for every 32 of the motor. The problem is the input card cannot pick up on the pulses from the encoder, I've read here that I will need a high speed input card for this to function correctly. My problem is I don't have the time or the money to get the high speed card. So, my question is, would a less accurate encoder, one of say 10 or 15 pulses per revolution suffice? Would a encoder with 10 pulses give longer pulses or just less of them? If they were longer pulses then do you think the input card could pick up on them? I'm not to too worried about losing the accuracy because of the 32:1 reduction gear I will still be accurate on the head. So if I had an encoder with 10 pulses per rev this would still give me 320 pulses per revolution of my tooling head.
If possible I would prefer to use the incremental encoder due to cost etc but alternatively, would an absolute encoder need a high speed card or would this be usable with my input card?

Apologies for long winded question, any help or advice would be hugely appreciated.

Thanks,
BP
 
Option 1: Small Pulses/Rev Encoder
You will have to ask / answer these questions:
What is the update rate of my input card?
What is the turn on delay of my input card?
What is the turn off delay of my input card?
What is the cycle time of my PLC?
What is the maximum possible tool speed?

Most incremental encoders have an equal angle off pulse and on pulse, and so you will see longer pulses
 
Cheers for the reply, the fact the pulses are generally equal may help me so, using a cheap encoder with 15 pulses (5euro) will allow me 480 pulses per revolution of the output shaft. As long as I have around 360 I figure it should be accurate enough.
Rough calculations based on this and a worse case scenario with a high max speed will give a pulse time of 13 ms, the input card spec says the input delay is 1-4 ms so hopefully it will work.
Another suggestion recieved was to reduce the filter time on the input card, I wasn't aware of this setting so will try that too.
Failing all this I may look at using a cheap stepper motor set up which was my original plan, which leads to the next query, is it straight forward enough to generate a pulse train for stepper motor control using rs logix and is it ok to use a standard output card?

Thanks again for any advice.
 
@BB1980

You should easily be able to achieve this if you use the "Change-Of-State" feature of the Input card, and trigger an Event Task to count your pulses.

Change of State is enabled on the module, by default, for ALL inputs, and for both transitions. You will likely only want the task triggered for Off-to-On changes, and you should turn off Change-of-State for the other inputs on the card.

Keep the amount of code in the event task to a minimum, and use as much optimisation of the code as you can.....

1. Place instructions most likely to be false first (leftmost).
2. Place branches most likely to be true at the top.
3. Avoid using branches unless you have to (branches are code that take up memory, and have to be executed, taking up time). Logix5000 allows output type instructions anywhere on a rung, so you can use outputs in series etc.

Don't be tempted to reduce the RPI for the module - keep it as standard, the C-O-S will "override" the RPI for the selected inputs.

Edit: the code will only be scanned when it sees the pulse input ON, so if you use a COUNTER in your event task, it will not count after the first pulse, because the rung will never be seen to be false. A counter only counts on a rung false-to-true transition. To get over that, put an unconditional OTU of the counter's .CU (if you are using CTU, or .CD if you are using CTD).
 
Last edited:
Hi daba,

Thanks for the reply. Apologies for this I've never used the event task instruction. Is the event task like a JSR but for tasks? Do you mean use a condition to set event task then within that task have a dedicated program purely counting the pulses and controlling the motor?

Thanks a million
 
This is really easy to set up, no code to write, just configure the task and module correctly and it will execute when the chosen inputs change state..... in the pictures I've set it up so inputs .2 and .3 will trigger the task execution when they come on

2013-03-15_204420.jpg 2013-03-15_204800.jpg
 
Last edited:
Wow, great information there lads, thank you all so much. I will use the event task in the code and hopefully get to test it over the weekend will post the results, Thanks a million
 
Just to give an update on this, I have not had much time on it since but I did try reducing the filter time which seems to of improving it a lot. I might get away with reducing the filter time and changing the 'change state' setting. My program is very small so I might be ok without the event task. Thanks for all the advice.
 

Similar Topics

I am having trouble with getting no control of my analog output signal. I am using the SCL function block to control my analog output. The logic...
Replies
11
Views
210
hi all, i have a plc i need to get info from for a site im working on: I have a 1764 Micro Logix 1500 LSP Series C (See Attached Image) im...
Replies
2
Views
353
I currently have a weird issue involving Ethernet IP communication between a ABB CI873 (EthernetIP Module) and a 1756-L83ES. The Layout is as...
Replies
8
Views
693
Possible for two processors in same rack to have separate motion groups across a single Kinetix Rack using a single EN3TR? One 6500/5700 rack, 8...
Replies
1
Views
403
Hi all! I am hoping to find some help understanding the ABB VFD Connection to my Rockwell PLC. I have set up the VFD parameters based on...
Replies
4
Views
576
Back
Top Bottom