Incremental pulse counters CX programmer

andepand

Member
Join Date
Jan 2017
Location
Amsterdam
Posts
72
Hi

I have a question regarding the title of this post.

I’m using an Omron CJ2M with an MD212 high speed input expasion and offcourse CX programmer for programming.
I have a working incremental encoder input that increments up until a value that I determine and then resets to zero before incrementing again.

Now, I want 36 of them. I have a transport chain with pushers every 22 inch, these pushers transport products that I want to follow induvidually. So at any given time there are 36 products on the machine, at the end of the line they exit and the pulse counter from that particulair product can reset to zero.

Having only one High_speed_counter_PV that I can refer to, I can only follow one pusher position or the whole chain as it goes round.
My question is, can I for example use a function block to increment pulses or will this be too slow for a high speed encoder input, due to the cyclic execution of the fuction block.

Example:

Var (BOOL) Encoder_A_in
Var (BOOL)Encoder_A_flank
Var (INT)Increment _puser1
Var (INT)Increment_pusher2
Etc..
Var (BOOL) Insert_product1
Var (BOOL Insert_product2
Etc..

IF Encoder_A_in AND NOT Encoder_A_flank THEN
__IF Insert_product1 THEN
____Increment _puser1:= Increment _puser1+1;
__ENDIF;
__IF Insert_product2 THEN
____Increment _puser2:= Increment _puser2+1;
__ENDIF;

ENDIF;

Encoder_A_flank:= Encoder_A_in;

IF Increment_pusher1 >= 360000 (or whatever)THEN
__Increment_pusher1:=0;
__Insert_product1:= FALSE;
ENDIF;
IF Increment_pusher2 >= 280000 (or whatever)THEN
__Increment_pusher2:=0;
__Insert_product2:= FALSE;
ENDIF;

Would this work and/or is there a better way of doing this? Basicly I just need a lot of High speed counter PV’s.

Thanks in advance for any help.


Greetings from Holland,

Andy
 
Last edited:
I have to add (can’t edit my post no more) that products are inserted along the line, on top of eachother. So the last inserted product has a much shorter distance to the end of the line than the first one.
 
For most accurate and fastest results use the REGISTER COMPARISON TABLE Instruction: CTBL(882)for each position. An interrupt is specified for each target setting. Super fast and accurate.
 

Similar Topics

Dear team, We are constantly facing M07 incremental loss on one of our kinetix 6500 safe torque. We have changed Servo motor (MPL-B4530K-MJ72AA)...
Replies
1
Views
134
I have an application using an incremental encoder and then I convert it to degree (0-360) using calculation program. For a while, the calculation...
Replies
8
Views
365
Hi all, I am using a B&R X20 unit and want to integrate an incremental encoder (OUT A, B, & Z). I have three BOOL digital input pins for my A,B...
Replies
3
Views
469
I have a question regarding the features of the so called incremental (velocity) form of the PID controller. As far as I understand this form in...
Replies
14
Views
2,575
Hi, I have some Baldor (Baldor is now ABB) servo motors that have revolvers for position output. But to my surprise the Baldor MicroFlex...
Replies
11
Views
3,814
Back
Top Bottom