12.05.2014 Views

Automating Manufacturing Systems - Process Control and ...

Automating Manufacturing Systems - Process Control and ...

Automating Manufacturing Systems - Process Control and ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

plc software - 32.10<br />

Each block in the functional diagram can be written as a separate subroutine. A<br />

higher level executive program will call these subroutines as needed. The executive program<br />

can also be broken into smaller parts. This keeps the main program more compact,<br />

<strong>and</strong> reduces the overall execution time. And, because the subroutines only run when they<br />

should, the change of unexpected operation is reduced. This is the method promoted by<br />

methods such as SFCs <strong>and</strong> FBDs.<br />

Each functional program should be given its’ own block of memory so that there<br />

are no conflicts with shared memory. System wide data or status information can be kept<br />

in common areas. Typical examples include a flag to indicate a certain product type, or a<br />

recipe oriented system.<br />

Testing should be considered during software planning <strong>and</strong> writing. The best scenario<br />

is that the software is written in small pieces, <strong>and</strong> then each piece is tested. This is<br />

important in a large system. When a system is written as a single large piece of code, it<br />

becomes much more difficult to identify the source of errors.<br />

The most disregarded statement involves documentation. All documentation<br />

should be written when the software is written. If the documentation can be written first,<br />

the software is usually more reliable <strong>and</strong> easier to write. Comments should be entered<br />

when ladder logic is entered. This often helps to clarify thoughts <strong>and</strong> expose careless<br />

errors. Documentation is essential on large projects where others are likely to maintain the<br />

system. Even if you maintain it, you are likely to forget what your original design intention<br />

was.<br />

below.<br />

Some of the common pitfalls encountered by designers on large projects are listed<br />

• Amateur designers rush through design to start work early, but details they<br />

missed take much longer to fix when they are half way implemented.<br />

• Details are not planned out <strong>and</strong> the project becomes one huge complex task<br />

instead of groups of small simple tasks.<br />

• Designers write one huge program, instead of smaller programs. This makes<br />

proof reading much harder, <strong>and</strong> not very enjoyable.<br />

• Programmers sit at the keyboard <strong>and</strong> debug by trial <strong>and</strong> error. If a programmer is<br />

testing a program <strong>and</strong> an error occurs, there are two possible scenarios. First,<br />

the programmer knows what the problem is, <strong>and</strong> can fix it immediately. Second,<br />

the programmer only has a vague idea, <strong>and</strong> often makes no progress doing trial<strong>and</strong>-error<br />

debugging. If trial-<strong>and</strong>-error programming is going on the program is<br />

not understood, <strong>and</strong> it should be fixed through replanning.<br />

• Small details are left to be completed later. These are sometimes left undone, <strong>and</strong><br />

lead to failures in operation.<br />

• The design is not frozen, <strong>and</strong> small refinements <strong>and</strong> add-ons take significant<br />

www.PA<strong>Control</strong>.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!