Sign in to follow this  
Followers 0
Colin Carpenter

Logix 5000 Online

14 posts in this topic

Please can anyone point me to a document that explains in detail the methods that can be used and the way they work regarding going online with a Logix 5000 controller. I'm doing a job at the moment which involves modifying the code of an existing Logix5000 programme, written by someone else. I'm modifying the code offline, and am quite happy with the ladder logic modifications etc. The problem I have is actually getting the code into the controller, and not being entirely familiar with the way things work in online mode, especially relating to data tables etc. The .ACD file that I've created offline obviously holds the data tables from the last time the programme was saved, which was several weeks ago. Obviously things will have changed on the plant (set points, statuses etc) , so I don't want to download historic data tables into the controller. Although I doubt it, it is possible that the controller may have had it's code changed since the time I was given the saved .ACD file, so there may be a later version of the .ACD .... I doubt it, but there might be. Due to the "interwoven" design of the site controllers, the customer is keen not to stop the PLCs, and would prefer it to all be done online, including setting up produced and consumed tags and remote ethernet IO etc. It would be nice to be able to bench test all this, but the cost of two controllers, two ethernet cards and racks is prohibitive to say the least. Coming from the MItsubishi world, I know exactly what I'd do. Firstly, verify that the programme in the CPU matches exactly the version that I believe is in there. If not, find out what changes have been done by others and incorporate them in the new software. Negotiate a 5 minute shutdown fo the PLC, download the software, parameters and tags and then start the PLC again, knowing that the data tables are never uploaded or downloaded so that won't be an issue. If the customer absolutely refuses a 5 minute shutdown, then I'd do all the mods offline, then select the "Online Programme Change" option which would enable large chunks of code to be shuffled around in the CPU while still running the programme. It's fairly simplistic, but it works and lets me know exactly what's going on. Is there a way to be this simplistic with the Logix5000 controllers? Thanks.

Share this post


Link to post
Share on other sites
Let me restate your question and see if I have grasped the key components. I tend to miss details unless I look at something a few times. 1. You are modifying an existing production system which contains multiple Logix 5000 Controllers. 2. You are adding new ethernet I/O to one of the processors. 3. You are adding produced and consumed tags to multiple processors to share data from the new I/O Units. 4. You are adding new control code to one of the processors to service the new ethernet I/O you added. 5. You have an offline copy of what you want the program to look like when done. 6. The customer cannot tolerate any shutdown of the process. 7. You do not want to overwrite any exisitng data files in the processors. 8. Mitsi not AB is your native platform so you're in a learn curve mode to boot. That about sum it up?

Share this post


Link to post
Share on other sites
There is a tag update tool that allows you to update your tags in one program with those of another. So you could upload the current program, compare it to your offline copy to verify there have been no changes, then use this tool to update your tag values. Don't have RsLogix 5000 on this computer so can't help you on the details right now.

Share this post


Link to post
Share on other sites
Hi Bob, Will try and answer as clearly as possible. 1. You are modifying an existing production system which contains multiple Logix 5000 Controllers. That's right. There are two in particular, both 1756 L55 controllers, each fitted with a 1756-ENBT/A ethernet card. 2. You are adding new ethernet I/O to one of the processors. Not physically, but in the course of adding consumed tags to a controller, I have to add the remote 1756-ENBT, the rack info and remote controller into the IO configuration of the local 1756-ENBT so that the consumed tags can be pointed at the contoller that they will be consuming data from (if you see what I mean) 3. You are adding produced and consumed tags to multiple processors to share data from the new I/O Units. Not really, the consumed and produced tags are being installed on these two controllers only, so that they can share data between themselves. This will form the basis of an ongoing project to update the comms around the site and use ethernet more and more, thus taking data transfer away from the severely overloaded and very slow DH+ network. 4. You are adding new control code to one of the processors to service the new ethernet I/O you added. Kind of. A small amount of code will be written to enable the use of the data that arrrives via the produced / consumed tags. 5. You have an offline copy of what you want the program to look like when done. That's right. 6. The customer cannot tolerate any shutdown of the process. He might have to, but would strongly prefer not to. 7. You do not want to overwrite any exisitng data files in the processors. That's right. The existing data files in the controllers need to remain as they are and not be overwritten with the aged values that are currently in the offline version that I'm working on. 8. Mitsi not AB is your native platform so you're in a learn curve mode to boot. That sums it up pretty well. I've done a few SLC 500 and one Control Logix projects, but in all cases they were "new build, stand alone" projects. There's also numerous ladder routine rung modifications which have been done in the offline file and would be very tedious to do on a rung by rung online basis. Thanks Edited by Colin Carpenter

Share this post


Link to post
Share on other sites
TW has answered you well concerning the Produced and Consume tags. They must be done offline and downloaded. So here is how I would accomplish what you describe. Step 1 - During my negotiated 15 minute stopage I'd upload a processor, save a copy to my thumb drive. Go offline, add my produced tag and/or consumed tags. And then Download the new program. Step 2 - After everything is running from adding the tags, I'd open an online copy of each processor and an offline copy of each processor. I'd then use the copy and paste feature to add my new rungs to the existing program. You can also makr older rungs for delete at the same time. Now I'd verify edits and proceed to test edits. This will make my new rungs live and the ones marked for delete will be ignored. If all goes well I'd proceed to assemble edits.

Share this post


Link to post
Share on other sites
Thanks for the advice, it's really appreciated. I found the comparison tool on the DVD and installed that and it really is useful, as it shows the differences between the two versions. I know I should know the answer to this, but with Logix5000, what actually happens when you attempt to go online with a programme that has been modified relative to the running code in the CPU and which contains different data tables to those in the CPU? Is there an option to do anything (eg upload the data tables from the CPU), or does the software just notice that everything's different and refuse to do anything. Thanks. Edited by Colin Carpenter

Share this post


Link to post
Share on other sites
Thats exactly right, it will notice that changes have been made offline and refuse to go online. From there you have the option to upload the changes from the controller or download your offline file. Edited by pandersen

Share this post


Link to post
Share on other sites
Actually with RsLogix 5000, depending on the differences in the program it will "coordinate" the changes and go online. Maybe someone else can jump in on the degree of changes that can be correlated before and upload is necessary

Share this post


Link to post
Share on other sites
Coorilating changes - usually changes that did not create data tables, files, or produce/consume as stated above. And also u did not change certain parameters on messaging blocks, such as cache connection. Upload is just the above statements that are true. The most important thing on modifying existing code, if u screw up the customer can u go back to the original state? Make backups (get online before u start and upload and even save the data table states!!!) Can u get ur hands before hand on a processor and practice the procedures described above? uploading downloading, compare programs, practice how to test an edit, etc .... Also do you have all the proper CPR? level of software and firmware on ur laptop to pull this off? Nothing worse then having the wrong version and then not having the correct firmware to go along with a newer verison of RSLogix5000. Is the version level the same as your customer? Nothing worse then a customer that is mad at you for uping there version level where they have not purchased that level of software and is not in this years budget.

Share this post


Link to post
Share on other sites
Thanks for all the advice. It seems that there's a general "sense of the unknown" regarding what can and can't be done "online". The site is being very good about this, and we've agreed a brief shut down period for the two PLCs this weekend, and we've also agreed that the original guy who wrote all the code (who has since left the company) can be in attendance briefly during the initial upload of the code, as he will have far more knowledge of the things that are happening in the background than I will. The laptop used will be the site's own laptop which I know is running the same version of Logix5000 as mine, so that should be OK. Regarding testing of the Logix5000, I actually have access to an old, redundant 1756- L1/A Control Logix CPU and rack, but the later versions of Logix5000 don't seem to acknowledge that that CPU exists, and at around £3,000 for a modern CPU and rack, there's no chance of getting one of those just to sit on the bench. I believe that there's an emulator package that can be run on a PC, but whether or not it would truly emulate the online / offline behaviour of a controller I have no idea ..... but the pessimist in me doubts that it would.

Share this post


Link to post
Share on other sites
There's more ..... The more I thought about this, the more awkward it seems. After all, all I want to do is download the programme from my laptop so that only the parameters and programme are changed in the controller, while the controller maintains the data that it currently has in it's data files. Another option would be that the software would give me the option to upload the current data files in the controller to my laptop, then when I download the programme I know that the data files being sent would be the values that were only a couple of minutes old. Another option would be that it just plainly gives me the choice of doing nothing with the data files, and only operates with the code and parameters. And it turns out (I think) that you can actually do that now, with a tool called DATA PRESERVE which is available as a download from Rockwell at the following URL http://www.software.rockwell.com/support/d...ail.cfm?ID=3709 This installs an extra tool in the TOOLS menu of Logix5000, called RSLogix 5000 Data Preserved Tool. I can't try it out yet, as I'm not online, but the text file that accompanies it reads the following. (It's dated September 2008, so is fairly recent) It looks good to me Readme for RSLogix5000 Data Preserved Download Tool version 1.2 - September 4, 2008 The RSLogix5000DataPreservedDownloadTool.exe application is a utility that runs in an integrated mode, launched from within RSLogix5000. There must be a project (ACD) file open within RSLogix5000 before launching the tool. The project file must contain a valid CIP path to the controller, and the controller type in the project file must match the type of the controller. The tool performs the following tasks: 1. Checks the tags defined in the open ACD file, and reads all corresponding tags currently in the controller that is pointed to in the open ACD file. All tags, including controller scope and program scope are read, except tags with one of the excluded types. The following tag types are excluded: MOTION_GROUP,COORDINATE_SYSTEM, AXIS_CONSUMED, AXIS_GENERIC, AXIS_GENERIC_DRIVE AXIS_SERVO, AXIS_SERVO_DRIVE, AXIS_VIRTUAL, ALARM_ANALOG, ALARM_DIGITAL, MESSAGE 2. Saves the tag structure and values from the controller in a text file (Taginfo.csv) in the current RSLogix5000 Data Preserved Download Tool directory 3. Downloads the open ACD file to the controller 4. Writes saved tag values from the Taginfo.csv text file into the corresponding tags in the controller If there is no tag in the controller corresponding to a tag in the open ACD file when reading tags then that entry in Taginfo.csv is skipped / left blank. Tags with excluded types are not written into the csv file at all. If there is no entry, or a blank in Taginfo.csv for a tag in the controller after the new ACD file is downloaded, then the tag write is skipped and the value loaded with the ACD file will remain in the tag. The tool can be operated in one of two operating modes: 1. Download with Data Preservation with Prompt - you are prompted to do the download with or without data preservation. Download without data preservation is the same as doing an ACD file download from within RSLogix5000. 2. Download with Data Preservation without Prompt - the download with data preservation will be done automatically. By default the tool is installed in mode 1 (prompting is enabled). After the tool has been run menu options become enabled in the tool window. The edit\configuration menu allows the operating mode to be toggled for subsequent runs. Note for Softlogix users: Softlogix users can not use the Virtual Backplane driver of RSLinx to download to Softlogix Controllers. You must configure a standard network driver in RSLinx other then the virtual backplane to talk to your Softlogix controller in RSLogix 5000 and save this path in your project in order for the tool to properly connect Limitations: Bridging/multi-hops are not supported This product uses the log4net library which is licensed under the Apache Version 2 license (http://www.apache.org/licenses/LICENSE-2.0).

Share this post


Link to post
Share on other sites
Nice find. Sounds like it's exactly what you need.

Share this post


Link to post
Share on other sites
Nice Find Colin -- thanks for sharing.

Share this post


Link to post
Share on other sites
If you do this all in ONLINE PROGRAMMING (not uploading/downloading), it's much nicer. For one thing you will know immediately what you can and can't do. For another, if you screw up unless you accidentally created something that you don't want, you can use the full 4-level update (edit, accept, test, assemble). When you are in test mode, your code goes "live" and the old code is retained. Once you assemble, the old code disappears. If you realized that you screwed up, you can revert right back to accept/edit mode, which immediately makes your test code inactive again. This is true with ALL AB PLC's except a couple Micrologix models that don't allow online programming anyways. It is the safest way to do this kind of thing aside from having a full blown offline simulator.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0