Retrieve Lost Tags in PLC program

alive15

Member
Join Date
Oct 2015
Location
Montgomery, AL
Posts
721
Hello, I have an old Micro Logix PLC program which has no tags. When I go online with this program, the tags are not there either. Is there any way to retrieve these lost tags? Maybe through one of the backup programs or some other file extension?

Thanks,
 
The symbols, address comments and other documentation is not stored in the PLC. That info is stored in the *.rss files and can be exported and imported.

When going online, the software can "outsmart you" and choose the best file match for the processor, even if it is a copy of the program that has an empty documentation database.

If you have a copy of the file that you can open "offline" that contains some or all of that information, there are a couple of ways to get that information to be visible while online.:
1) force RSLogix to use that preferred file when going online
2) export those comments and import them into the best matching file.

Let us know if you have a copy with the info you need and we can explain either of those methods in further detail. I will see if I can find another thread on this topic that already has the nuts and bolts in it.
 
I don't have a copy of the .rss file for this program. I am familiar with importing/exporting. This panel is new to me; I was asked to work on it, and all I have is the plc program and the backups. I'm assuming there is nothing I can do w/o the .rss, I knew that from the beginning.

I was hoping someone knew the back door entrance to figuring this out, maybe someone had special instructions on getting these somehow with just the program file.
 
I don't have a copy of the .rss file for this program. I am familiar with importing/exporting. This panel is new to me; I was asked to work on it, and all I have is the plc program and the backups. I'm assuming there is nothing I can do w/o the .rss, I knew that from the beginning.

I was hoping someone knew the back door entrance to figuring this out, maybe someone had special instructions on getting these somehow with just the program file.

The *.rss file is the PLC program (and more). If there are no comments in that file or "the backups", then the only thing to do is to re-create them.
 
There is no 'back door'.
If you don't have the original program file on that processor, you don't get symbols or descriptions.



Upload the program, start with the schematic, and create your own symbols for the inputs and outputs as appropriate.


Then try to figure out what it is doing, and continue creating your own documentation.
 
For this very reason, for customers, I used to leave a copy of the documented program RSS file on a USB thumb drive in the controller's enclosure. If they, I, or another were ever in front of the controller without a documented copy of the program, it would be a lifesaver. The intention was always that for any future edits, a copy of the thumb drive file, whether taken off of it at the time or using a copy of it from the last time, it would be used or updated so as to keep it current.

Ideal world, and all that?

In recent months, I did have a double head strapping machine which arrived from another site and had the entire undocumented program logic contained within the main LAD 2 routine with hundreds of rungs, and no schematics. This is using an SLC 5/05. It took about a week on and off to decipher the code and apply meaningful address names and rung comments. One of the more satisfying feelings is that as you progress, many of the addresses you tick off the list will also fill in the gaps in many other locations within the logic. So the initially daunting list of missing instruction address descriptions will appear to get smaller the further you go. I agree that figuring out the I/O descriptions is the best way to start and then try fill in the gaps. The next step for me was breaking the logical functions of the machine out into separate ladder routines for better structuring and fault finding. That just took a few hours once the descriptions were done. There was just one address that eluded me in the end. Something like a single instance of XIC B3:155/1 as part of the preconditional logic to another B3 flag? As it wasn't assigned to an output instruction anywhere, I ended up removing it. I reckon it may have been either created and left toggled ON, or it was being written in from a now removed external source. The machine was on an Ethernet network with many other SLC 5/05, as it is again now (12 nodes). I did have to configure some new messaging to the master SLC, but this was just a couple of words and a bit of logic each end. I also removed some selector switches from the desk and added a PanelView Plus 1000 instead. So that was an extra routine to handle the terminal's interaction with the machine.

Painful starting off, but it does get easier as you go. However, it does also depend a lot on whether you are somewhat experienced with the application the controller is executing.

If you do require any assistance in that regard, and if permitted, you could post a copy of the RSS file to Forum and a brief description of the application. Some folks here may then be able to assist you?

Regards,
George
 
I have the .rss file, sorry. I meant I do not have the .csv file or the other 5 files from importing / exporting tags. So there is no way to grab these tags with just the .rss file?

I'll start decoding it then ///
 
I suppose it's obvious but if you have the drawings start with the I/O then work your way through, some and some could be difficult to comment internal registers/bits or instructions might be obvious but at least it will give you a start.
 
In addition to the advice given above, if there is an HMI, you can glean a lot from it, perhaps even export from its software then massage the results into the RSLogix 500 csv format. I have done this so many times...it's embarrassing how many times I have had to recreate documentation that should have never been lost in the 1st place.
 
A Documented Disaster?...

Lare said:
Reverse engineering


But it takes usally as much time than coding program again

It depends? If you don't quite know the functional breakdown of the machine/process, even with schematics, and how it is currently implemented in the logic, it may be very difficult to start coding the functions again from scratch, and get it all right. There may be lots of little nuances in an original project that you could miss or get wrong. We're not all OEMs who can assume to know exactly how a machine was originally intended to work. We're likely good guessers, and clever at figuring out how to get things "working". But will it be as it was originally intended to operate, when you start executing your new code, instead of the existing code, which was still functioning correctly, except for the fact you had no project documentation?

Even if you are intending to start over with the project, which is "essentially" what I ended up doing as a lot of the code was cleaned up as I moved the logic into the new routines, you still may often have to Reverse Engineer the existing "blank" project in order to best figure what it is you are attempting to rewrite. My case is fine because I know the machine and its functions intimately, even without schematics or documentation. As a reference point, we have other machines quite identical to it. But even with a good FDS, it might not always be plain sailing, or worth it, if it is already running just fine.

In other words, we should not just say..."Yeah, I always rewrite because Reverse Engineering takes too long?" Perhaps that length of time is irrelevant when compared to the pitfalls of rewriting a functioning project from scratch, just so you have your project documentation.

Just consider the circumstances, is all I am advising. If the project is functioning as intended, and you have no project documentation, then I would advise you to Reverse Engineer it, and not rewrite it. Unless the project looks badly organised or written. Still, I would say Reverse Engineer it first, and now when you are familiar with it, consider cleaning it up, as in my case. But if it's, say, a procured second hand machine, and the project is not functioning properly, is missing, or is not fit for its new purpose, then I would suggest looking at a rewrite.

Horse for courses, definitely.

alive15 said:
...all I have is the plc program and the backups...

...maybe someone had special instructions on getting these somehow with just the program file...

...I have the .rss file, sorry. I meant I do not have the .csv file or the other 5 files from importing / exporting tags. So there is no way to grab these tags with just the .rss file?...

alive15,

From the above comments, I am sensing a certain misconception you appear to have on where "tags" and general documentation are normally stored for an RSLogix 500 project? Or where and how they are retrieved?

Normally, when you have the original "documented" project file (RSS), all the instruction address descriptions and/or symbols, any rung comments or Data File names, etc., will be stored in the structure of the RSS project file itself. You do not also need any other files, such as the import/export file extensions you are familiar with. The use of exporting and importing addresses, symbols and rung comments to separate file types is simply an add-on feature. It is not essential, as you appear to be thinking, in getting the documentation for the project. It should already exist in the documented RSS project file. That is, the offline RSS project file, local or otherwise, to your workstation running RSLogix 500.

Further, the "tags" are not stored in the processor, or in any other file, when we save the project. They are only stored in the RSS file. If the copy of the RSS project file you have, and any backup files (_BAKXXX.RSS), do not have any of the original documentation, then you will not be able to get it "out" of the RSS files. It does not exist. You also cannot get it from anywhere else in other files, or from the controller itself.

"If" someone had taken the time to export the addresses/symbols and rung comments from the original documented RSS project file (not normally done), and you happen to have those export files, then you may have been able to import the documentation back into the undocumented RSS project file that you have. But normally users do not perform this export as it is not required just to save a copy of the documentation. Why? Because it is all stored in the RSS project file.

Your undocumented copy of the RSS project file is likely an upload from the controller to a new file, because the original documented RSS project file was not available when trying to go online with this controller, at some point. Any subsequent use of this undocumented RSS project file will result in the creation of undocumented backup files. If the source does not have documentation, then the backups will not have documentation either.

And lastly, "tags" are not really a correct term to use with RSLogix 500 style addressing or their descriptions. A "tag" in RSLogix 500 is called an "address". An address, whether module-defined or user-defined, has a fixed syntax which represents a specific location in the Data Files. We cannot edit address names. We can only select addresses, or create new words of predefined addresses.

Tags, proper, are normally the reserve of Logix 5000 based systems, and not Logix 500. A module-defined tag in Logix 5000 is similar to the address in that it is predefined and we can only select it. But a user-defined tag is essentially where we can define the tag name, using a defined syntax, and its data type, as a pointer to a location in memory. The tag does not exist until it is created. A distinct difference to the Logix 500 address.

Logix5000 tag names adhere to the IEC 61131-3 standard.

You can use:

Letters "A - Z"
Numbers "0 - 9"
Underscore character "_" (but not sequentially "__")

Tags must start with a letter to avoid confusion with logical expressions. The remaining characters can be any of the supported characters and Tag names are limited to 40 characters.

Good luck with the "decoding".

Regards,
George
 
@Geospark Sorry for the confusion, I have the plc program, but no tags inside the program. If you don't mind, I will use the word "tag" to describe "addresses". Yes, I would assume that the original .rss w/ tags was lost, so someone uploaded the plc program, but obviously, no tags were in the file. My goal is to find a way to get these tags somehow someway once these tags are lost. I do not think this will be possible after reading everyone's post; I was hoping someone had a good trick up their sleeve.

Also, just curious, why did you quote decoding, isn't decoding slang for "figuring out" a problem, in America? So I meant to say "I will starting figuring it out then ///"


--Furthermore, does anyone know if this applies to uploading a plc program from a compact logix / control logix using rs logix 5k or studio logix 5k? I believe the tags are pulled with the upload as well, correct?
 
--Furthermore, does anyone know if this applies to uploading a plc program from a compact logix / control logix using rs logix 5k or studio logix 5k? I believe the tags are pulled with the upload as well, correct?

It depends. I think it was around version 17 or 19 when storing comments in the PLC was first supported, but I believe you have to enable that feature (off by default).

With RSLogix/Studio 5000, you do create actual tags that are often more human readable and can in some cases stand alone to help interpret the logic without additional documentation.
 
Tags abound!...but let's decode my meaning?...

alive15 said:
@Geospark Sorry for the confusion, I have the plc program, but no tags inside the program. If you don't mind, I will use the word "tag" to describe "addresses". Yes, I would assume that the original .rss w/ tags was lost, so someone uploaded the plc program, but obviously, no tags were in the file. My goal is to find a way to get these tags somehow someway once these tags are lost. I do not think this will be possible after reading everyone's post; I was hoping someone had a good trick up their sleeve...

I can assure you, I was not confused. So no need to apologise my friend. I just felt that you might be, that was all. As for the "tag" references? I don't mind in the slightest. Now that you know the difference, you are hopefully making a more informed decision on the matter...

For my sake though, try not to overdo it so much! ;)

As for your goal, there is nohow, noway to retrieve the project documentation from anywhere other than a copy of the original documented RSS project file, or if there happened to be exported address/symbol files. If there is not, then there is no thinking about this. It is definitely not possible. Unfortunately, this information is not hidden somewhere waiting for someone to work some magic trick. You have just got to move on, as you've mentioned you are doing...

Your "decoding"...

alive15 said:
...Also, just curious, why did you quote decoding, isn't decoding slang for "figuring out" a problem, in America? So I meant to say "I will starting figuring it out then ///"...

That is exactly what I interpreted from the word "decoding" that you used. Oh, look? I've done it again in quotes, twice?...

Quotation marks around a word may be applied for several different reasons. One of those reasons may be to simply quote a word that somebody else has previously used, without intending to imply any other meaning. In my two examples above, this is exactly what I am try to do. I am simply quoting the word you had used at face value.

Another reason someone might apply quotation marks to a word is of course when they do want to imply a somewhat different meaning, or possibly even opposite meaning. To do this effectively, the words used in the sentence with the quoted word are very import...

Example: "Oh, I see? So you are "decoding" it, eh? Yeah, right!"

Here, the use of quotation marks on the original word, along with the structure and tone of the rest of the sentence, is implying a somewhat sarcastic tone, is it not? It suggests that the person performing this "decoding" is doing anything but decoding (<<< no quotes here because I am using the word proper in my own sentence).

One other reason someone might apply quotation marks to a word is to place further emphasis on the word, or more, the action the word implies, especially when the word is a verb. This is the reason I applied quotation marks around your original word "decoding"...

alive15 said:
...I'll start decoding it then ///

Geospark said:
...Good luck with the "decoding".

This is a genuine wish of good luck in your endeavours. The emphasis I was hoping to imply here on the word "decoding" is an all encompassing one. When decoding, or Reverse Engineering an existing project, it can be daunting, or quite involved. So I was light-heartedly saying have fun with the decoding, and all that it might entail.

On the word being slang? I would say no, not in any country should it be regarded as being slang. Slang suggests a word unofficially created to colloquially represent another proper word or meaning. Decode is a verb or participle. Decoding is the present participle form of the verb (meaning it ends in -ing). Other proper words or phrases may be classed as being similar in meaning to the verb decode. But these words would not be classed as being slang for decode...

Some examples:

decipher
decrypt
unravel
untangle
work out
sort out
piece together
solve
interpret
translate
construe
explain
understand
comprehend
grasp
make sense of
get to the bottom of
find the key to
find the answer to
throw light on
crack
twig
suss

...and figure out, which is quite close to your "figuring out" example. Here, while we would say that figure out is similar to decode, we would say that figuring out is similar to decoding, as figuring is the present participle of figure. But we would not say that decoding is slang for figuring out, or vice versa, we would not say that figuring out is slang for decoding.

In other words (<<< that's a pun), "slang" is not the correct word to use to describe the relationship between decoding and figuring out. They are just similar in meaning, that's all.

I would say that, when describing the action of Reverse Engineering a controller project, the word decoding is quite fitting, or apt (<<< two more similar meaning proper words while neither being slang for the other).

alive15 said:
...--Furthermore, does anyone know if this applies to uploading a plc program from a compact logix / control logix using rs logix 5k or studio logix 5k? I believe the tags are pulled with the upload as well, correct?

It's a wonder you didn't call them "addresses" here! :ROFLMAO:

The feature you are thinking of is called "Download Project Documentation and Extended Properties". It was only introduced at Studio 5000 Logix Designer v21 and above. For RSLogix 5000 v20 or older, this feature is not available...

RSLogix 5000 v20 and older stores in controller memory...

Tag names (up to 40 characters)
Alias names (up to 40 characters)
Task, Program & Routine names
Structured Text (ST) descriptions

RSLogix 5000 v20 and older stores in the offline ACD file...

Tag Descriptions
Controller Description
Module Descriptions
UDT Member Descriptions
Rung Comments
FBD Text Boxes
SFC Text Boxes
Add-On Instruction Help

Similar to the documentation in a Logix 500 RSS project file, if a Logix 5000 ACD project file does not have the original documentation included, then the only way to include it is by locating and using the original documented ACD file, or by importing the documentation if an exported CSV file happens to be available (again, typically not available).

Studio 5000 Logix Designer v21 or above stores in controller memory...

Tag names (up to 40 characters)
Alias names (up to 40 characters)
Task, Program & Routine names
Structured Text (ST) descriptions

And optionally, if the "Download Project Documentation and Extended Properties" checkbox is selected at project download (it is by default), then also stored in the controller's extended memory are...

Rung Comments
Tag Descriptions
Extended Tag Properties

When offline and proceeding to download to a revision 21 or higher controller, the Download confirmation window has the checkbox at the top for "Download Project Documentation and Extended Properties" and the checkbox is ticked by default. If you do not want to download and store the project documentation in the controller then you can untick the checkbox and then only the same documentation as an RSLogix 5000 project will be downloaded and stored in the controller's memory.

The Download Project Documentation and Extended Properties checkbox cannot be selected when you are online with the controller. However, it does show the setting of the documentation in the controller. If the checkbox is ticked, project documentation and extended properties were downloaded. If the checkbox is unticked, project documentation and extended properties were not downloaded.

Regards,
George
 
Last edited:
I faced this problem numerous times. By chance, is there a name plate with the OEM name with a serial number. A quick email may provide you with the original program that you could use to import documentation. Any changes after install could be incorrect so make sure to mark as such.
 

Similar Topics

we have lost the HMI Panel View source file (.apa) we do not have back either. we have only .PBA file. can some one help how to get .apa source...
Replies
2
Views
1,143
We have many CISCO and STRATIX switches in our process network. The Stratix switches have AOPs that enables us to use our Rockwell PLCs to gather...
Replies
8
Views
2,227
Hi, I started my journey with Micro820 and I have to read input status address 10001-10010 from one device via Modbus TCP, everything works fine...
Replies
0
Views
1,191
I'm headed to my shop right now to try an experiment. I'm trying to find out if the PowerFlex 700s can swap control boards and successfully power...
Replies
8
Views
2,571
Hi All, I am writing a piece of software for some research and would like to retrieve a running program from a PLC using python or some other...
Replies
5
Views
1,995
Back
Top Bottom