Converting PLC5 to Studio 5000

Cornato

Member
Join Date
May 2022
Location
BR
Posts
2
I'm a new AE and have been tasked with converting a 25yo PLC5 program to Studio 5000. I have a bunch of these BTW/BTR left over from the old program that got converted into MSG blocks. I don't know how to correlate them to Studio 5000. There's logic that uses the old BTW blocks DN bits and such. How do I mimic that in the new program? I have pictures but I just joined and idk how to post them on here.
 
Those were always used on Analog modules as those modules didn't use the backplane data bus the same way discrete modules did. So these had to be talked to explicitly to set up, and also to read values from. That's the BTR/BTW pair you often see. In an analog input module the BTW was set once to configure the module scaling etc, and the BTR was invoked as often as needed to read the analog value.

If that's what these were doing you can just note where the BTR put the analog values it read and relate those to the analog module tags you are using in the new PLC.
 
Welcome to the PLCTalk forum community !

If you are retaining the old 1771 I/O network and modules, then you need to migrate this logic to ControlLogix MSG instructions that perform the same BTR and BTW functions. You're going to have to identify each of those modules and figure out the RIO network addressing (the rack/group/slot stuff). You should probably also re-organize the triggering logic since some of it looks haphazard.

If you're converting to a modern I/O platform, you'll still have to understand the data table layout for the BTRs and BTWs, and the scaling of the signals for each module.

So start at the beginning: identify each of those I/O modules from the drawings or by physically looking at the labels.

And again, welcome to the Forum !
 
A picture, as they say, is worth a thousand words.

The triggering logic looks like the authors might have been mixing two common methods: self-retriggering as fast as possible (the /EN bit of the control block) versus a self-retriggering timer to execute the instruction periodically (the /DN bit from the Timer).

That works by coincidence to do periodic execution because the /EN bit from the control block is generally off after the BTR completes and the preceding rung instructions are false, so it's not relevant.

Especially when you don't have descriptions or good notes, figuring out analog module data from old PLC-5 programs requires careful research and attention.

It's do-able, but you really have to start with the part number of the module (and ideally its Series letter). Inferring the module type from the size and format of the data is hard.

cornato_BTR.png
 
A couple of more comments:

I noticed that Data File N20 is used extensively in this section of code: whole blocks of data from the block transfer module are moved around inside it, and the lower numbered elements are used on a word and bit basis for various functions.

And that's fine: it's one way to keep all the memory for a routine or program in a block of memory space, so you can reproduce that logic with a little search-and-replace.

PLC-5 controllers could have huge Data Table files (relative to the platform); you could have up to 32K in N20 if you wanted to, subject to the overall RAM of the PLC-5 controller. Lots of folks who are more familiar with the 256 word maximum for the SLC/MicroLogix Data Table files forget that.

Don't feel obligated to maintain that single-array method in ControlLogix. When I have raw legacy device data, I often put it into an array with a name like "RGS_021_Raw_Data[x]" and then process it with respect to status and scaling.
 

Similar Topics

Hey all, I'm pretty new to PLC programming and am on a team doing a PLC5 to Studio5000 conversion. After doing the built in conversion, I've...
Replies
6
Views
2,483
Hi Guys, I'm currently in the middle of a conversion from a PanelView 1400E touch screen to a Panelview Plus 1250. The existing panelview works...
Replies
3
Views
7,155
Hey all, I've encountered something weird today that I can't explain. I have a variable in a string file, call it ST15:18. I need to convert...
Replies
2
Views
4,244
I am trying to take data recieved through Channel 0 on a PLC5 as an Ascii string then convert it to a decimal number in the PLC The string is...
Replies
2
Views
3,824
Can you write and test software on a Micrologix PLC and then convert it to run on a PLC5?
Replies
10
Views
5,780
Back
Top Bottom