Equipment Overview
Machines are present in almost every premise these days.
Some examples of machinery include; Fabrication Equipment (such as saws, drill
presses, sheet metal presses), Bottling Equipment, Spraying Systems, Welding
Systems, Crushing Units, Mixing Systems, and so forth. All these systems
typically have a control system installed. Some of these control systems are
managed by basic electrical circuits while others are controlled by
Programmable Logic Controllers (PLCs).
Regardless of the type of control system
used, they all employ the following principles. That is, the different levels
of control with how it manipulates the materials (also known as products) in
which it was designed for.
How It Works
This framework can be used across various types of systems. It’s
designed in a way that it can be scaled, it is flexible for future expansion
and upgrading, assists with system integration, and should assist with
breakdown recovery times. What this guide does not do, is teach how to program
a PLC. It is assumed that a suitable level of programming knowledge is held by
the programmer.

What are Sub Systems?
The best starting point in understanding how machinery works,
is looking at the basic components. A machine is made up of various sensors,
buttons, actuators and valves. Each of these components (for example a sensor),
in the confines of this document, are classified as a Sub System. These units
can be as basic as a dry contact switch or as complicated as a VSD having its
own internal CPU.
These components can be connected to a more advanced
communication medium such as Ethernet, however employing such technologies will
increase system costs as well as reduce ‘fix’ options during breakdowns. There
are also risks associated with differences in communication protocol versions
which can result in cost increases during breakdowns when equipment has become
obsolete. When keeping communication to basic forms like digital IOs and
analogue IOs, this risk can be significantly reduced.
Within this document we will use the example of a bottling assembly.
An example of a Sub System within this scenario, is that of a product liquid
level sensor (input) which is monitoring the tanks product liquid level which
is ultimately going to be used for filling bottles on the production line.
Another example is that of the valve (output) which controls the flow of the fluid
being supplied to that said tank. Both components are independent from one
another and there only link is through the control System that either listens
to their signals or tells them when to operate.
An
important point to take from this is that the communications between the
component should be reduced to a small number of Input / Outputs (IOs).
Ideally, the number of connections needs to be kept to a minimum between these
units. The reason being that it reduces the workload required for finding non
‘like for like’ parts during breakdown and provide greater options for what can
be later used if there is a desire to change the unit from the Original
Equipment Manufacturer (OEM).

What are Systems?
The next level up from Sub Systems are Systems. System is
the term used to describe a relationship between various components (also known
as Sub System). This is typically a single point of transformation of a product
being used in the manufacturing process. It usually only involves a single
step. It usually involves monitoring and controlling various Sub Systems.
An example of a System, relating to the bottling Assembly
scenario, is that of the product liquid storage tank. The tank level needs to
be constantly monitored and filled when nearing the empty point. The purpose of
the tank is to act as a buffer between the slow product liquid supply and a high-volume
discharge during the bottling filling phase. The connection of the liquid level
sensor with the control valve that re-fills the tank, is what we refer to as a
System. It is the system of filling the tank. Note that it does not include the
draining, that would be another System.
Another example of a system could be the detection of a
bottle being present within the filling location and the valve filling the
liquid into the bottle. Note that the System is kept to a minimum number of
interactions between Sub-Systems. This means that the System which is
responsible for filling the bottles does not include moving the bottle in and
out of the filling location.
Another example of a System could be the maintenance of
pressure within the product liquid fill line. The Sub-Systems utilised within
this System are the product liquid fill line pressure sensor and the VSD for
the motor connected to the product liquid fill line’s pump. The interaction
between these sub-systems (i.e. when the pressure drops below a certain amount
- the pump starting) is what is known as the System. The System is maintaining
the set pressure of the product liquid fill line.
Ideally, it should be possible to list all the Systems
utilised within a PLC as well as having each System residing in its own
independent program module. This allows for faster fault finding as well as
faster and more cost-effective upgrades.

What are Assemblies?
Finally, Assemblies are the collection of Systems which
ultimately transfer a product from its raw form to a more finished product.
An example of an Assembly is the filling, labelling,
and capping of water bottles. The Assembly has various Systems (tank storage
level management, bottle filling, bottle capping, conveyor movement, bottle
labelling etc).

What are Sequences?
Sequences are essentially a storyline or pathway of how a
machine is to operate. They are utilised in both System level programming as
well as Assembly level programming[1].
It includes both the management of the outputs (controlling valves and VSDs) as
well as monitoring of inputs (buttons and sensor readings). It is the logical
progression of events during a machine’s operation.
An example of a sequence is the product tank liquid level monitoring
System. Initially, when the tank is full, the System (filling the tank) is in
the Standby Stage. Once the water level drops below a set low level
point, the Sequence then goes into a Filling (Run) Stage. It then
subsequently triggers the inlet valve to open. Once the product liquid level
climbs to the high point, the Sequence goes into a Stop Stage which then
triggers the inlet valve to close. Once the Sequence detects that the valve has
closed, and the level is no longer increasing then the Sequence switches to the
Standby Stage again. This process is then repeated as often as required.
Sequence programming is typically included within the System
and Assembly programming modules.
[1]
Not to be confused with the low-level programming that is transferred to the
PLC. For the purposes of this framework Assembly Programming is that which
involves the interconnection programming that links the system programming.

What are Stages
Stages are the sub-set of a Sequence. They are the steps in
which a machine takes as opposed to the entire storyline (which would be
referring to the Sequence). Depending on what conditions are present at the
time, the machine will jump to the required Stage as pre-determined within the
Sequence programming. For example; if an operator presses the Run button while
the machine is in the Standby stage, the machine will progress to the Starting
stage.
As part of this framework there are 10 fundamental stages;
1. Standby
2. Starting
3. Started
4. Warm-up
5. Running (Initial)
6. Running (Manual)
7. Running (Auto)
8. Warm-Down
9. Stopping
10. Stopped
Depending on the system requirements, there may be more
present, however as a fundamental all of these stages should exist in every System.
This is to ensure that in the chance that the System needs to be upgraded, and
or improved, these items are not having to be added and integrated at a later
stage into a working system. Making major modifications into a working system
can increase the risk of equipment damage and malfunction during programming.
This framework allows for greater flexibility when adding stages (which is a common request during the life cycle of equipment). If implemented across multiple machines it allows for greater understanding by programmers and technicians during breakdown. It also allows for greater visibility of System status across all levels within the machine. It also lowers the risk of incorrect programming. This method of programming also allows for safer cut-overs when programming on live equipment.

Essentially Sequencing operates on an indexing variable. The
corresponding values for each of the stages are detailed below.
Standby (Index: 0000 → 0999)
Within this Stage the System is not operating and is waiting
to be initiated. This can either be manually triggered via operator
intervention or via an AUTO Run Switch / Latch. Once a Sequence has finished
its Stopped Stage, it should return back to this Stage. During this Stage, no
output should be operating.
Starting (Index: 1000 → 1999)
This Stage typically involves the System conducting
pre-start checks before running. These can include making sure consumable
levels are correct, and or doors are closed etc. This is different from fault
interrupters which occur during the system Run Stages. These checks are usually
those System readings which are present while the system is operating.
An example of this would be the System checking the pressure
on the product liquid fill line. As the system would not be running, the
expected pressure reading should be near zero. If the System detects a high-pressure
reading, then the System could conclude that there is a fault which maintenance
crews need to investigate.
This Stage can also include other functions like opening
supply lines to the System.
Started (Index: 2000 → 2999)
This Stage is essentially the point in which the above
checks have passed, and the System can then progress to the next Stage. This Stage
can also include checks that the actions taken in the previous stage have
successfully executed (for example checking those pressures in the supply line
(downstream of the valves are within an expected range).
Warm-up (Index: 3000 → 3999)
This Stage is typically used for warming equipment up (if
required). It can be used for charging lines as well as for testing liquid
lines at lower pressures prior to engaging full pressure (which would be
present during normal operation). Thereby reducing the amount of spillage in
the event of pipe rupture. Having the system start at a lower pressure may also
reduce the effects of hydraulic shock. When using this stage, a timer will be
needed, which switches over to the Running stage (4000) after a pre-determine
amount of time. If this Stage is not required, then program the system to
immediately jump to the next Stage (4000).
Running [Initial] (Index: 4000 → 4999)
This Stage is the initial Stage of Running. Within this Stage
the System typically determines which Running mode is required. It can do this
through checking user inputs and or equipment states. An example of this is if
the user has selected AUTO on the mode switch on the control board. As part of
this Stage, the System would check the state of that switch and then change the
Stage to Running (Auto) (6000).
Typically, when a Stage is switched out (for example being
switch out of AUTO to Manual mode by and operator), the Sequence will then be
switched back to this Stage (4000) which will then determine that the next
stage will be Run Manual mode (5000).
Running [Manual] (Index: 5000 → 5999)
In this Stage the System / Assembly is being manually
ran. System setpoints are typically defined by the operator / maintenance
staff. When the System / Assembly detects a change in Run Mode (for example Manual
→ Auto) then the Stage will be changed to Running (Initial) (4000).
Running [Auto] (Index: 6000 → 6999)
This Stage is the typical stage that’s going to be employed most
of the time. For complex Systems which may have several steps, additional Stages
can be added (for example 6001, 6002, 6003 and so forth).
An example of this could be a product liquid fill line pressurisation
system which operates at two pressures (Standby and Fill). When the System
isn’t filling bottles with liquid, the Stage is set to Running Auto Standby
(6000). When the System detects that it is about to fill a bottle (via
monitoring another System’s status which is responsible for filling product
into the bottles) then it sets its own Sequence Stage to Running Auto Fill
(6001). When the System responsible for Bottle Filling changes to completed,
the Pressure System sets its own Sequence back to the Running Auto Standby
(6000) stage.
Warm-Down (Index: 7000 → 7999)
Please refer to Stage Warm-up (3000) as this is the reverse
function of that Stage.
Stopping (Index: 8000 → 8999)
Please refer to Stage Starting (1000) as this is the reverse
function of that Stage.
Stopped (Index: 9000 → 9499)
Please refer to Stage Started (2000) as this is the reverse
function of that Stage.
Operator Intention (Index: 9500 → 9899)
System Fault (Index: 9900 → 9998)
This Stage is for setting the system into a state which is
acceptable under any fault conditions. The purpose for employing a Fault Stage
is to ensure that when a fault does occur, the System is then deliberately
interrupted, and requires a deliberate action by the operator and or
maintenance to acknowledge the fact that an error has occurred.

Emergency Stop (Index: 9999)
IMPORTANT: This Stage is not a replacement for having
a certified safety system. This is a supplementary and informative function to
allow the system to return to a state ready for resetting.
The emergency stop Stage is purely for stopping the control
system outputs and ensuring that they ready for resetting. This stopping
function is purely supplementary to the emergency control system and is only
there if the safety system fails, the control system isn’t forcing the outputs
to trigger. It is also, used for setting System / Assembly into a state ready
for it to be return into service.
In the same manor that the Fault Stage works, the system
requires acknowledgement from the operator and or maintenance staff that the
system has been placed into emergency mode. Within this section, any emergency
indications which are added, must not be latching in nature.
