Keeping track of large programs

vpelleri

Guest
V
Hello,
This is my first post in this forum. I'm fairly new to PLC's as well. I've installed 2 Direct Logic DL06's so far. My question to everyone is "What or how do you keep track of all your ins/outs/memory locations/etc. on larger programs? My ladders are only about 50 rungs and my head swims sometimes when I try remember if I've done something yet or not(program-wise). If the rung goes off the screen it's a real chore to keep up with the ANDs and ORs. SO, I'm just wondering if there are any rulls of thumb or flow charting techniques that might help keep everything straight.

Thanks for your help!

Art
 
Many ways, many tools

To tell you the truth, this is probably as individual as the programming techniques themselves. As the software and hardware have evolved over the years, I found myself relying more on logging than memory for sure. You can use the built in cross-referencing in most programming software, or some of the other features of the mfg's stuff. I have used Excel for keeping track of used bits, and words in my data table for the A-B PLCs so I presume you can do the same thing easily enough with other brands. Also, if you think 50 rungs is a large program and gives you headaches just wait till you get a real BIG job. Several hundred up to a few thousand rungs is not out of the realm of possibility for today's PLC applications. You are just getting involved in this so sit back and enjoy the ride, while pondering what the heck to do next. It is fun, you know?
 
As randylud said:
- Keep all memory maps in Excel.
- Create all descriptors in Excell also and copy them to the program.
- Structure you ladder with subroutines, so you will see what is not programmed yet and easy to trace later on.
- Use a common address structure for all projects.

But I mostly rely on my memory, I think still can remeber programs written in 1994 ;). Our average program was over 300 rungs, some times over 700 - printout takes two 4" binders.
 
To keep track of address usage, I use a spreadsheet like the others who've posted here (editing a spreadsheet is much easier than editing the address comments directly in the PLC programming software).

As for keeping track of what I've already written, and what has yet to be done, most of the programs I write follow a structure that I've used (and hopefully improved) over numerous projects. So I can normally browse through the ladder diagram and spot anything I've missed.

As a basic rule of thumb, try to write programs that other people will be able to understand.
 
Don't worry, you are still new. Over time your experience will
grow and projects will be more and more managable.
Just try to be organized. It is nice to plan and standardize
everything so you can reuse some of the code (which is usually
very repetitive). Excell is great tool that can make life
much easier.
 
In addition to the tips above, I use the following spreadsheets or word processor documents:

Point List: Includes all I/O, signal level, internal program address, sensor or field device location, card asddress and channel, and on multiple PLC projects the address of the PLC's CPU with the I/O points. As each is scaled and used in the program I mark it off. If I have an unmarked I/O I know I'm missing some logic. I go through it a second time, marking off the points as I create the data display on the opertor interface.

Alarm List: All alarm functions and the results (equipment shutdown, indication only, indication plus horn, etc.). I mark them off as I program the alarm logic.

Functional Description: Lists the main control functions and individual control loops in text format, plus a description of the system architecture (communications protocols, number of PLCs, operator interface locations, etc. Again, I check the logic off as I complete it.

Setpoint List: Identifies all of the adjustements and tuning constants the operator will have access to. I mark items on this one twice - once for program logic and once for the operator interface configuration

Operator Interface Screen Description: As it implies, just a text description for each screen, identifying setpoints, data, trends, alarms and system functins like page change, time set, etc. As I create thescreens, I cut and paste bitmaps into it and then this becomes part of the O & M manual.

I try to have as much of this done as possible BEFORE I start writing logic. This helps insure a logical structure for my program, breaks the job down to manageable chunks, gets my head clear on the project, and helps make sure I don't forget major components of the control logic.

After I'm done programming and it is time to test, I use fresh printouts of all of the above as a check list for test aand debug, marking off each item as I verify it.

All of the above may seem like overkill, and it can obviously be scaled back for small projects. However, I usually use the info as part of submittal to the customer to get approval, and I have had very good luck in both obtaining the approval and verifying that what I'm providing matches the customers expectations. Electrical schematics alone don't cut it on complex systems!
 
Last edited:
I typically do much the same as Tom. I keep several lists of things I have to do as well as a master memory list in Excel. Having dual monitors helps a great deal. PLC programming software on one and my lists on the other. Having the Mnemonics committed to memory as well as the Excel hotkeys makes it all go a lot faster. No stopping to grab the mouse to move around.

Doing as much before starting to program does make it go faster and helps make an error free program (as much as thats possible anyway.)

After a few hundred rungs, keeping it all together becomes much more difficult. Organization helps!
 
Thanks for al the kind responses everyone. Looks like I need to build some spreadsheets, maybe even an Access database?

Art
 
Hi: another way is to print out a "data table usage form". Then you can cross the used things off as you go.I worked as an industrial electrician for quite a few years and wrote all the programs for the plywood mill i was at. I agree with the others about using a spreadsheet, except that I always found that it was a chore to keep it updated. (especially if there is shiftwork and others are changing or adding to your program). I dont know about the plc you are using but allan bradley (icom AI or rslogix) allows you to do symbolic programming. It auto picks the next available address so when programming it makes it all pretty easy to keep track. Some plc's also have a function where it shows whats used in the data table with x's on the address on the screen. As they all said, it will get easier as you get more time behind you. Some of my programs were thousands of rungs once you get the shift reports and stuff all done. once you get the hang of all the search functions and display stuff it will all come together. hope this helps...Les
 

Similar Topics

Good Morning , I have a Panelview Plus application that I would like see in my CompactLogix which screens are presently displayed on the...
Replies
9
Views
4,004
EDIT: Sorry for the typo in the title, it should say "via MSG" Hi guys, I've come up against something that is likely simple to take care of...
Replies
12
Views
1,889
Does anybody have a sample plc program for a micrologix 1400 using an encoder to keep up with multiple parts? The part hits a part present...
Replies
4
Views
2,435
Hey guys I am new to these forums and I am relearning PLC's after a 10 year break from it. What I am trying to do is keep track of cans that get...
Replies
8
Views
2,347
I have a Micro830, but I imagine my problem is just locical and probably applicable to most any PLC I have a conveyor with a photocell at one...
Replies
12
Views
3,027
Back
Top Bottom