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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

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

Saved successfully!

Ooh no, something went wrong!