About off-line programming?

multiple rungs? ...

from Sergei:

I've never seen, though, possibility to edit more than one rung online at a time.

first of all, some models of Allen-Bradley processors allow online/run-mode programming - but other of their (smaller/simpler/less-expensive) models do not ... with the ones that do allow online/run-mode programming, it's entirely possible to edit several rungs at one time ...

basic idea: while online and in the run mode ...

(1) "start edits" for the first rung ...
(2) "accept" the first rung - but do not "test edits" yet ...
(3) "start edits" for the next rung ...
(4) "accept" the next rung - but do not "test edits" yet ...

and so on for the rest of the rungs which need edits ... then ...

(5) "test edits" for ALL of the altered rungs ... this puts all of the new rung changes into the scan at the same time ...

if you like the changes, then ...

(6) "assemble" the edits to finalize everything ... or ...
(7) "untest edits" and work on it some more ...

I'm not sure how other PLC brands handle this, but AB has allowed this "edit multiple rungs in run mode" procedure for as long as I can remember ...
 
Terry Woods said:
My process is clearly and well beyond 3000 rungs! (I currently have about 5000 rungs).

The key to good programming is "Modularity"!

Depending on how they are used, sub-routines can provide a degree of Modularity varying between Absolute Modularity, which is good, and... clutter.

The problem with subroutines, of course, is that you CAN NOT perform run-time edits on them!

Real Men don't eat Quiche - However, Real Men do program ON-LINE in Run-Time! (It takes "hair" don' cha know?)

Subroutines and off-line updates are the lazy man's way of dealing with complicated issues.

Timewise, what is the difference between having all code in the Main and breaking the process into subroutines?

What? Subroutines are only called when they are needed? Therefore they don't gobble up scan-time unless they are called?

The same can be accomplished easily, in any high-end PLC, by carefully planning your Process Control and using SKIP, JUMP, whatever. (MCR is NOT so good in this respect!)

The biggest beef against subroutines in a very large, very dynamic, process is the lack of being able to modify your program ON-LINE, in real-time, while the process is running!

HOW MUCH DOWNTIME CAN YOU AFFORD???
Fair enough, however, I seriously disagree with:
Real Men don't eat Quiche

Quiche is awesome.:confused:

I'm used to using AB Logix 5000 in which you can do run-time edits on subroutines. I find it much more efficient for my particular applications. :D I guess if I coulnd't edit subroutines online, and I had to avoid offline editing, then I would feel the same way you do Terry.

$
 
Last edited:
First off, I'm in the Rockwell world mostly. PLC5 and CLX mostly. And I do process control rather than machine control. So what I say applies to that context.

I usually develop code offline in my office. However, I usually do not download that code into an existing processor in the plant for several reasons. First, I have to have the processor in program mode to download. This means the process is down, I have to justify and schedule downtime so I only do it when needed. Second, if I am modifying an existing program I have to be concerned with the state of the process when I made my copy and the state when I downloaded it. Also, if the PLC contains setup data or recipies, I need to make sure they match too. Basically, you need to evaluate the entire system before you download, that can be a lot of unneccesary effort.

For these reasons, I prefer to make the changes on-line even if the process is down. It limits the risk to the code I am adding. I am usually adding code for new equipment that is locked out so that risk is very small. However, I do not like to key in a ton of new rungs on-line. It takes too long and is too error-prone. The steps I use are:

Go online with the processor and the current program.

Open a second copy of RSLogix with the modified program that has all the new rungs in it. This file has been reviewed and checked before I get to the plant.

Highlight the new block of rungs in the modified program (click to the left of the first rung, hold down Shift and cursor down to the last rung) and copy (ctrl-C).

Switch to the online copy and paste (ctrl-v) the new rungs at the appropriate spot.

Highlight the pasted rungs and do the accept-test-assemble on all the rungs at once. I generally do this in functional groups of rungs. I try to avoid accepting a huge number of rungs at once. Your processor needs free memory to do this.

Once the code is in place, we proceed with checkout.

Yes, I do use subroutines just to break up the program into logical sections. There is really no penalty in the Rockwell world for doing this and it is common practice. I see lots of PLC5 programs where the main ladder file is nothing but JSR instructions. Most of my PLC5 programs look like that too. CLX lets me use programs under a task as my top level organization which is even better.
 
Let's say you have a subroutine that controls a particular motion-control function. Let's say that you want to "tune" the code for that device, on-line, while that device is running.

Can you edit that subroutine without causing problems for the device... simply because you are editing that subroutine? What happens to that controlled device if you open the subroutine for editing, and then go out for a very long/large cup of coffee?

When you are finally done editing, what happens to your process while the edit is being integrated into the running program?

Curious minds want to know!

SimonGoldsworthy said...
"From Terry's comments it would appear off-line programming is done whilst the process is stopped, on-line programming is done whilst the process is running."

My view of off-line programming is when programming is done at the local PC, on the local (PC resident) copy of the PLC program... NOT the copy that is residing and running in the PLC. A good example would be... editing a copy of the program on a lap-top that is not even on the same planet. The operating status of the process doesn't matter one whit!

My view of on-line programming is when programming is done on the program currently existing and running in the PLC. If I change a line of code, the code is changed in the program in the PLC... but NOT in the local copy of the program on the PC.

Clear?

I will certainly admit that being able to cut-n-paste changes from an off-line edited version into a running, on-line version is really a very powerful tool! (Minimum Stress!)

However, in terms of the effect on the running process, the is no difference between manually entering a code change and pasting a code change. An edit is an edit.
 

Similar Topics

Hello, I'm studying PLC's at college and need to know what Off-line programming is and what are it advantages and disadvantages. Can anybody...
Replies
5
Views
3,147
Has anyone been able to use the Weintek Online simulation tool with the Beckhoff free tag driver? I have no problem running it on the HMI but no...
Replies
2
Views
1,621
Team, I have a few IFM O2D inspection cameras that are dropping from the PLC network. I can connect to the cameras with the editing software via...
Replies
0
Views
1,535
Hey guys I'm having an issue with one of our 90-30 PLCs. It's not communicating. It is off line. I can take a CPU out of another rack and the PLC...
Replies
2
Views
1,500
How do you merge off line a rs 5000 program with one that has descriptions on the tags. I have done rs 500 but never 5000
Replies
2
Views
1,458
Back
Top Bottom