login about faq

**I am a PLC programmer RSLOGIX500 (SLC500) for many years. My company required us to change to RSLOGIX5000 (Compact Logix). No time to take classes for this project.

Ok, looking to use the BSL. Wraparound operation like this

RSLogix500 was

  • File, address or location of the bits to shift
  • Control, the unique address of the control
  • Bit Address, is the of the bit that will be added to the array
  • Length, is the total number of bits to be shifted

Then to use as a wraparound then point the bit address to last bit in the array. But, with RSLOGIX5000 I read the instruction help files and still don’t have a clue.

How does the above files cross to the Array, Control, Source bit and Length?

I used the Instruction help feature, but at my level of RSLogix5000 training, it was no help, to me anyway.

I do not wish to use any other means other then Bitshift.**

I do love the new RSLogix5000 and compactlogix, 2 thumbs up to AB...

asked Mar 16 '11 at 16:09

Jim%201's gravatar image

Jim 1
211

edited Mar 16 '11 at 19:20

Scott%20Whitlock's gravatar image

Scott Whitlock ♦♦
635115


You have to create a tag of type CONTROL. (Assume that's called ctrl).

AB is a bit vague about what constitutes a bit array. You can make an array of BOOL, but I think a DINT can also be a bit array. I don't think the instruction cares... it just takes the address of whatever you put into the Array input and assumes you know what you're doing.

So set the Array input to the tag with the bits you're shifting. Set Control to ctrl. If you want to do a rotate (wrap), then for Source Bit, use ctrl.UL. Finally, the Length input of the instruction needs to be the number of bits in your array. For a DINT, that's 32.

Remember it's an asynchronous instruction, so wait for ctrl.DN before using the result.

Hope that helps.

link

answered Mar 16 '11 at 19:28

Scott%20Whitlock's gravatar image

Scott Whitlock ♦♦
635115

Rs5K BSL instruction is similar to SLC ..You have the Array which where you data shifting, you have the control same as the SLC, then Source Bit which is your trigger to start shifting then you have the Lenght which is your shifting distance.. if your shifting only less than 32 bit then 1 DINT would be enough, however if its more than then make a dint array..

Ganie

link

answered Apr 01 '11 at 09:18

Ganie's gravatar image

Ganie
1

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or __italic__
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×26
×4

Asked: Mar 16 '11 at 16:09

Seen: 917 times

Last updated: Apr 01 '11 at 09:18