How to replace RSlogix 500 DCD bit with studio 5000 ladder diagram

a1112223335

Member
Join Date
May 2022
Location
Tainan
Posts
3
How can I achieve the same functionality in Studio 5000?

Image 001.png for the old RSLogix500 program

Image 002.png for conversion to Studio 5000 program

Image 001.png Image 002.png
 
Last edited:
What is the expected range of N13:1? is it between 0 and 15, inclusive, or will it ever be greater than 15?


Actually, that may not matter, because the simplest approach would be to create Logix INT and Array of BOOL tags:

  • B3_100 - BOOL[16]
  • B10_40 - BOOL[16]
  • B10_50 - BOOL[16]
  • N13_1 - INT
  • N13_0 - INT
Then that rung of logic becomes, in Logix mnemonix ;):

XIC B3_100[N13_1] XIO B10_40[N13_1] OTU B10_50[N13_0]


Caveats

  • The Array dimensions of 16 could be expanded if N13:1 and/or N13:0 could be larger than 15, but that is an implementation detail that I would hope you already knew about.
  • It may make sense to use names more descriptive of the process than those derived from the <File Type><File#>:<Element offset>/[<Bit offset>] e.g. HMI_Auto_bits, or even HMI_Auto_bits_B3_100, instead of B3_100.
_
 
Last edited:
Once we grok all data structures as streams of bits, the rest is bookkeeping

The issues between RSLogix 500 and Logix 5000 are no more than notation and analogy, because the data are always the same i.e. streams of bits; cf. TL;DR below.

A Data File, e.g. B3, in RSLogix 500 can be represented by an array of BOOLs in Logix 5000.

So B3:100/[N13:1] in Binary Data File B3 in RSLogix 500 would be equivalent to B3_100[N13_1] in RSLogix 5000, assuming B3_100 is an array of bools of length one greater than the maximum expected value of N13_1 (N13:1).

The Logix 5000 conversion took a different approach:

  • Create a tag, B3[N], as an array of 16-bit INTs
    • N is the number of elements in the RSLogix 500 Data File B3.
  • Once that was done,
    • B3:100 in RSLogix 500 ≡ B3[100] in Logix 5000
    • B3:100/[N13:1] in RSLogix 500 ≡ B3[100].[N13:1] in Logix 5000
    • The [100+(N13:1 AND 16#FFFFFFF0)/16] and [N13:1 AND 15] notations allow for the possibility that N13:1 could be larger than 15, in which case the RSLogix notation B3:100/[N13:1] refers to a bit in word B3:101 or beyond (see TL;DR below).
  • N.B. the approach is different, i.e. bits in RSLogix 500 and INTs in Logix 5000, but all that changes is the notation used to refer to a specific bit, because the data are still represented by a stream of bits.
  • The Logix 5000 notation for referring to a single bit in an INT is .<bit offset>, or . where I is a tag that contains the bit offset; this is analogous to the /<bit offset> and / notations in RSLogix 500.

TL;DR:

Any RSLogix 500 data file, and any Logix 5000 tag, is a stream of bits:
RSLogix_500_bits_1D.png
The B3:<element offset>/<bit offset> notation makes it look like the bits are in a two-dimensional array, but that is only an artifact of the notation; all data files comprise streams of bits.
RSLogix_500_bits_2D.png
N.B. OP has configured RSLogix 5000 to display the two-line notation, but that is equivalent to the one-line notation with a forward slash as the delimiter between element offset and bit offset:
rsl500_bit_notations.png
 
Last edited:
Thanks for your detailed explanation, I already had new idea for further proceeding.

Now I am trying to finish the program.

Thank you very mach!!

The issues between RSLogix 500 and Logix 5000 are no more than notation and analogy, because the data are always the same i.e. streams of bits; cf. TL;DR below.

A Data File, e.g. B3, in RSLogix 500 can be represented by an array of BOOLs in Logix 5000.

So B3:100/[N13:1] in Binary Data File B3 in RSLogix 500 would be equivalent to B3_100[N13_1] in RSLogix 5000, assuming B3_100 is an array of bools of length one greater than the maximum expected value of N13_1 (N13:1).

The Logix 5000 conversion took a different approach:

  • Create a tag, B3[N], as an array of 16-bit INTs
    • N is the number of elements in the RSLogix 500 Data File B3.
  • Once that was done,
    • B3:100 in RSLogix 500 ≡ B3[100] in Logix 5000
    • B3:100/[N13:1] in RSLogix 500 ≡ B3[100].[N13:1] in Logix 5000
    • The [100+(N13:1 AND 16#FFFFFFF0)/16] and [N13:1 AND 15] notations allow for the possibility that N13:1 could be larger than 15, in which case the RSLogix notation B3:100/[N13:1] refers to a bit in word B3:101 or beyond (see TL;DR below).
  • N.B. the approach is different, i.e. bits in RSLogix 500 and INTs in Logix 5000, but all that changes is the notation used to refer to a specific bit, because the data are still represented by a stream of bits.
  • The Logix 5000 notation for referring to a single bit in an INT is .<bit offset>, or . where I is a tag that contains the bit offset; this is analogous to the /<bit offset> and / notations in RSLogix 500.

TL;DR:

Any RSLogix 500 data file, and any Logix 5000 tag, is a stream of bits:The B3:<element offset>/<bit offset> notation makes it look like the bits are in a two-dimensional array, but that is only an artifact of the notation; all data files comprise streams of bits.N.B. OP has configured RSLogix 5000 to display the two-line notation, but that is equivalent to the one-line notation with a forward slash as the delimiter between element offset and bit offset:
 
Last edited:

Similar Topics

We have a Beckhoff CP6201 PC and an EK1100 module communicating with it via EtherCAT in one of our machines. Due to problems with the PC, I want...
Replies
0
Views
74
Panelview 2711-K5A8. Customer has 6 of these in service connected to SLC 504’s. One has a bad backlight and I need a solution to replace it...
Replies
11
Views
2,259
I’ve got some devices that are triggered by shorting pins to common. There is 24 volts on each pin and right now I am using a relay output card...
Replies
8
Views
2,572
I can't replace cpu S400 416-3XR05-0AB0 BY 416-3ER05-0AB0 in PCS7 Project when using replace object to keep the original configuration in the...
Replies
4
Views
1,506
Good Morning, One of our machines is controlled by a Panelview 1500 (2711P-B15C4D2). We already have the screen itself (RDB15C) as a spare but...
Replies
3
Views
1,003
Back
Top Bottom