BSL problem

Yeah, that and some money for the homework project! At least I hope it is homework. If not please let me know where this elevator is so I can stay clear!
 
That's the approach I would use. I would also add a one-shot to the drop table pulse. Something like this...

🍻

-Eric
Eric,
Earlier in this thread this was posted about not using a bit for the bit address that was also in the BSL array.

"I think your problem is that the B9:0/0 that you are using in your bit address for "Paper Present" is also used in the BSL array. Try using B9:4/0 or something that is not in the array."
But I see your recommendation does just that. What is the rule for this?
 
The problem that I see with the setup would be getting the two signals on at the same time, every time. What is the signal duration of both the paper present sensor and the pulse counter? If the "paper present" sensor duration is shorter then time between pulses then you might always have a count issue. If I remember correctly the shift happens on the first scan following a false to true transition. I am not at my PC with logix right now but I will check later.

You might get it to work with the latch and unlatch that you stated above.

If it was me, I would look at trying to get it where you have one pulse per paper. There would be some timing that would need to be done but it would give you the ability to track better.
The problem with trying to get one pulse per paper is the conveyors are not mechanically linked. I am sure on stops and starts the belt conv. will lose or gain a pulse or so before the paper drops from the gripper. I could deal with that if we moved the paper sensor down to the belt conveyor but then we are back to the troublesome counting of flat paper edges as compared to a very accurate gripper count.
 
As far as using a bit in the BSL instruction, it is a good idea, just not a bit that is used in the BSL array. You could have your input trigger b3:0/0 and this would be your bit address. When you set up the BSL and you say that the array will start at B9:0 and it is 64 long, don't use B9:0/0- B9:3/15 unless there is a reason to change a position in the array after it has been set. If you have an input turn on B9:0/0 then you are over riding what the BSL is doing. Your first attempt would have worked better if you would have used a bit that isn't in the array.

The Bit address is what is being loaded into the first position in the array, in your case B9:0/0. Are you thinking that the bit address is stating the first address to be used? If so, that is not correct. When you say that your file "array" is B9:0, this is at the word level and it will always start at B9:0/0 , the first bit in the word.
 
As far as using a bit in the BSL instruction, it is a good idea, just not a bit that is used in the BSL array. You could have your input trigger b3:0/0 and this would be your bit address. When you set up the BSL and you say that the array will start at B9:0 and it is 64 long, don't use B9:0/0- B9:3/15 unless there is a reason to change a position in the array after it has been set. If you have an input turn on B9:0/0 then you are over riding what the BSL is doing. Your first attempt would have worked better if you would have used a bit that isn't in the array.

The Bit address is what is being loaded into the first position in the array, in your case B9:0/0. Are you thinking that the bit address is stating the first address to be used? If so, that is not correct. When you say that your file "array" is B9:0, this is at the word level and it will always start at B9:0/0 , the first bit in the word.
I understand about B9:0/0 being the first bit. But I did try Eric Nelsons idea about using a one shot to latch the bit address and unlatching it on the bit shift and it worked perfectly even though he used B9:0/0 as the bit address also. So there is a little uncertainty about that rule. I have 2 PLC books I use and they both show BSL using the input(I:0/1) directly as the bit address so they were no help.
 
Eric,
Earlier in this thread this was posted about not using a bit for the bit address that was also in the BSL array.

"I think your problem is that the B9:0/0 that you are using in your bit address for "Paper Present" is also used in the BSL array. Try using B9:4/0 or something that is not in the array."
But I see your recommendation does just that. What is the rule for this?
I would concur that B9:0/0 should NOT be used. I was just lazy when editing your program... ;)

🍻

-Eric
 
I would tend to not use the input directly, only because then you have no adjustment or offset for timing deviations. I would examine the input to trigger an on delay timer and then a dwell time limit. This way, you can adjust the timing of the real input, and ensure that if it stays on a bit too long, you only get one pulse from and for a programmed amount of time.

With all that said, this is one of those deals where it's hard to give advice without being there to see it in action.
 
Thank you all for your help. it works fine on the first machine with some minor adj(+4) as to which bit I had fire the output.
That made me think of trying to make the output bit adjustable either though 2 PB ( more and less) or one of those small HMI. I put an indirect address on the bit that fires the output in rung 3. Do you think this will work?
 
That made me think of trying to make the output bit adjustable either though 2 PB ( more and less) or one of those small HMI. I put an indirect address on the bit that fires the output in rung 3. Do you think this will work?
If you do this, be sure to put limits on the value in N7:1. You don't want someone to keep pushing one adjustment button and going outside your shift register... 🙃

Also, I don't remember if the math instructions function as a one shot, or if they execute every scan. You may need to add one-shots to the rung to prevent the value from going wild when the button is pressed. Debounce the inputs if using physical pushbuttons.

🍻

-Eric
 
Last edited:
given inputs:
1 push button up
1 push button down
2 sensor for confirming the correct position of the elevator,.
for ground position.
1 push button up
1 push button down
for second floor position.
2 sensor for confirming the position of the elevator in second floor position.
2 sensor for elevator door.

output:
motor reverse
motor forward

chixrex - start your own thread and ask your questions - but be aware this does sound like a coursework assignment. If it is, then you will NEED to show what you have done so far, and what specific areas you are having problems.
 

Similar Topics

Hello everyone, I am tracking multiple products and I'm using BSL instruction for each product. Products are loaded in trays which are 5...
Replies
3
Views
1,940
I am experimenting with the BSL instruction in LogixPro and have run into a problem. The goal of my program is as follows: track bad products...
Replies
14
Views
13,776
Hi all, I am trying to convert RSLogix 5000 program to Step7. I need to bit shift left my array of double integers for tracking the product on...
Replies
2
Views
528
I’m working on a conveyor project for work. We’re trying to install a few diverts to carry product directly to one of two trailer doors. I have...
Replies
5
Views
1,067
Hello friends, When I trigger once for an application, I want to shift the 15th bit in the word address by 10 bit , so; 1000 0000 0000 0000 ->...
Replies
3
Views
1,685
Back
Top Bottom