Issue with a Bit Shift

danielplcsnet

Member
Join Date
Oct 2010
Location
Mexico DF
Posts
30
Hello guys,

I have a issue with a BSL instruction....

I have a vision sensor and I'm using the BSL instruction for:

1.- Take a picture only when there is material.
2. - Reject the material with defects after 129 positions.

For the first point, there is no problem.......I'm using the "unload" bit, I can take the pictures only when there's material.

I can have a result like 0011100110011 or 101010101 and all ok!

Where:
1 = Bad piece = Reject after 129 positions.
0 = Piece ok

But for the second point I have the problem due I'm losing bits, when I obtain a result like: 1100111100111 (more than 1 bad piece continuos) then only count and reject the first bad piece and the next bad pieces are not reject

As I wrote I'm using the "unload bit, I have tried with a "one shot" and "LIM" instructions but always only counts the first bad piece.

The processor is a Micrologix 1500

Any idea to solve it?

Tthanks in advance
 
I am assuming that the sensor that triggers you vision sensor is the same that triggers the BSL. Why would you not use an xic instruction pointed at bit 128 to trigger your rejecting sequence? I would think that you would only use the unload instruction to prevent overflow of you file.

If you are using a ons instruction as a condition to trigger your reject sequence, that could be your problem. The logic before the ons instruction must go false for a scan then go to true before the ons will go true again.
 
Last edited:
Use the BSL indexing bit and the BSL bit address at positon 129. Seal in the Reject solenoid until it has time to finish.

| BSL INDEX BIT BSL AT "129" REJECT TRIGGER |
| I:1/6 B3:7/1 B3:10/0 |
|-----| |---------------| |---------------( )------|
| |
| REJECT TRIGGER REJECT L.S. REJECT SOLENOID |
| B3:10/0 I:1/7 O:2/0 |
|-----| |----------+----|/|---------------( )------|
| | |
| REJECT SOLENOID | |
| O:2/0 | |
|-----| |----------+ |

 
Last edited:
Maybe you should post your code, it is not very clear the issue is with your shifting part or reject part.

From your explanation, I assume it is with your reject code, you are not getting a transition when you had 2 or more consecutive rejects. Post your code and a lot of help will pour in.

Regards
 
There are several things that could cause two bad parts in a row not to be rejected.

1. You said you were using the "unload" bit in a BSL instruction. The R6:0/UL bit is a status bit and will go each time the BSL is triggered and finishes its shifting by 1 bit position - in other words it signals that all bits have shifted by 1 position and the leftmost bit in the range has been UNLOADED.

I don't think you understand the main function of a bit-shift register: to simulate in PLC memory the exact movement of a physical object. When the object moves, a designated bit in memory moves the same distance. When the object (material in your case) arrives at a certain physical point (ejecter location), the memory bit will arrive at the same time. That means that you need to figure out which BSL bit represents the ejector location. You said it is "position 129". If you know that is the "bit distance" from the beginning BSL insertion point, then use THAT bit address as your ejector trigger. That is all you need! FORGET ABOUT THE UL BIT!

2. Another possibility that will prevent two consecutive objects from being ejected is the speed of the ejector device relative to the movement speed of the material. If the next object arrives at the ejector before it is finished with the last bad part, then it will miss one or more.
 
Last edited:
You can do following:
1. First step as you already did - bit represents PRESENT/NOT PRESENT.
2. AND bit with result from vision system - if there is product AND product is bad then it will be TRUE (1).
3. At the end wait for 1 for rejecting/removing bad product.

Best regards,
Vuckovic Goran.
 
Hi everybody,

Thanks a lot for your comments, the issue was solved.

I used the "UL" bit, the problem was that machine performance is given by a CAMS, then I had to create a new CAM for synchronize the signal of the vision system for detect pieces good and bad.

I used same new CAM for the scrap counter and the performance is fine.

Lancie1 you are right the speed of the movement was affecting.


Thanks one more time.

Daniel
 

Similar Topics

Hi Group See the photo. Will this work? I previously had the "contactor outputs used as inputs" tied directly to the IO DIG OUT coils, and what...
Replies
9
Views
1,934
Hello, I am converting a Panelview 1000 to a Panelview Plus 1000, connected to a MicroLogix 1500. When doing the conversion, I received a Bit...
Replies
8
Views
3,256
1. where can I check on Panel Builder, to see whether a bit Array (N10:56/2) starts from 0 or something else? 2. How do I create expression list...
Replies
2
Views
1,479
I am currently working on upgrading all systems to Win7 64-bit OS due to Windows dropping XP and we are to the point of really needing to update...
Replies
2
Views
2,984
Everything was working fine, but suddenly CPU went into error mode, and the ERR and TER LEDs lit up. Now I can't download or connect with the PLC...
Replies
0
Views
43
Back
Top Bottom