SlideShare a Scribd company logo
1 of 35
Download to read offline
Intelligent Agents for Supervisory
Control Systems
Design Philosophy
CONFIDENTIAL
This document contains confidential information that is the
property of Jayardee P/L.
No part of this document, nor any information contained in this
document, may be communicated to or discussed with any third party
without written consent of Jayadee P/L. This includes any verbal,
written, printed or electronic copy of the document, or any part
there-of.
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Contents
Contents .....................................................................................................................2
Introduction................................................................................................................4
SCS Overview .....................................................................................................................4
Document Outline..............................................................................................................5
Software Design. The functional approach ..................................................................7
Functional or System based Software .................................................................................7
References.........................................................................................................................7
Software Design. The objected oriented approach.......................................................8
Overview ...........................................................................................................................8
References.........................................................................................................................8
Object Modeling: Roles, Responsibilities and Collaboration .........................................9
Further Reading .................................................................................................................9
Text Books...............................................................................................................................................9
Web Sites................................................................................................................................................9
Intelligent Agents ..................................................................................................... 10
Philosophy ....................................................................................................................... 10
Command & Control.............................................................................................................................10
Intelligent Class Objects........................................................................................................................10
Topology ...............................................................................................................................................10
Intelligent Agent Structure ...................................................................................................................11
Analysis. Selecting Class Candidates.......................................................................... 13
Noun-Verb first cut........................................................................................................... 13
Analysis: SCS Application.................................................................................................. 13
SCS Entities ............................................................................................................... 15
SCS Entities: Overview .................................................................................................. 15
SCS Object Hierarchy ........................................................................................................ 16
SCS Data Class: Topology ............................................................................................... 17
SCS Class: Manager...................................................................................................... 18
Manager Role........................................................................................................................................18
Manager Responsibilities......................................................................................................................18
Manager Collaborations .......................................................................................................................18
SCS Class: Executor...................................................................................................... 19
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Executor Role........................................................................................................................................19
Executor Responsibilities......................................................................................................................19
Executor Collaborations........................................................................................................................19
SCS Class: Equipment................................................................................................... 20
Equipment Role ....................................................................................................................................20
Equipment Responsibilities...................................................................................................................20
Equipment Collaborations ....................................................................................................................20
SCS Class: Stock ........................................................................................................... 21
Stock Role .............................................................................................................................................21
Stock Responsibilities............................................................................................................................21
Stock Collaborations .............................................................................................................................21
Software Engineering Methodology.......................................................................... 23
Waterfall software development ...................................................................................... 23
Iterative software development ....................................................................................... 24
Comparison of Waterfall and Iterative software development........................................... 25
Further Reading ............................................................................................................... 25
Iterations in SCS Development.......................................................................................... 26
SCS Iteration 1.......................................................................................................................................26
SCS Iteration 2.......................................................................................................................................26
SCS Iteration 3. Release Version...........................................................................................................26
Simulation ................................................................................................................ 28
Simulator Description....................................................................................................... 28
Benefits ........................................................................................................................... 28
Testing ..................................................................................................................................................28
Training.................................................................................................................................................28
Building the SCS Application...................................................................................... 31
SCS Structure ................................................................................................................... 31
Building the Topology Variable ......................................................................................... 32
Calling the constructor functions at Initialisation.................................................................................32
Creating the Object Class Instances................................................................................... 33
Software Testing .............................................................................................................. 34
Operator Training............................................................................................................. 34
Hardware Architecture.............................................................................................. 35
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Introduction
This chapter provides an overview of this document and an Introduction to the
Supervisory Control System.
SCS Overview
SCS is a Supervisory Control System for Bulk Material Handling process such as found at a mine
site or a bulk port facility.
It is a combined PLC and SCADA application that supervises the operation of the bulk material
handling process.
SCS consists of five class objects. These objects can be deployed to different sites by
configuration only, i.e. no further programming is required.
Being an Object Oriented design, SCS has many advantages such as:
• Re-usable software objects
• Easy to maintain and troubleshoot
• Easy to re-deploy at new sites – configuration only
• Capture of client’s Intellectual Property and commercial advantages
SCS provides the management and supervisory functions expected in a Materials Handling
Environment. These include:
• Management and tracking of Material Inventory (Stockpile Management)
• Management of Production and Operational Plans (Ship loading plans)
• Management of Quality Data (Sample Station data management)
• Management and control of Equipment (Route Management)
SCS is currently completed to Proof of Concept stage in a Schneider environment. It is easily
portable to other environments. It is proposed to port it to GE Proficy Process Systems (PPS) where
each SCS object would be delivered as “PPS block” that integrates the PLC and SCADA logic into a
single class object.
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Document Outline
Section 1provides an introduction to some of the software design techniques,
technologies and concepts that are utilized in the SCS system. These include:
• Object modeling methodologies: Roles, Responsibilities and Collaborations
• Intelligent Agents
• Method for modeling plant layout (Topology)
Some references for further reading are provided in this section.
Section 2describes the basic elements of the SCS system, i.e. the four object classes and
the data class that comprise SCS. It also provides an outline of the analysis process that led to the
definition of these components, and explains how these components are assembled into an SCS
application.
The objects that comprise SCS are:
• Object Class: Equipment
• Object Class: Material
• Object Class: Manager
• Object Class: Executor
• Data Class: Topology
Section 3describes the iterative software development methodology used in developing
the SCS class objects, and compares it with the conventional waterfall method.
Section4describes the Simulator that supports the SCS application, for both testing and
operator training.
Section5provides an outline for how an SCS application is built and delivered using the SCS
class objects.
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
SECTION 1. Design Concepts
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Software Design. The functional approach
This chapter describes the disadvantages of the traditional software development
style. In this document we do not elaborate on this style. We simply refer to domain
experts and provide references for further reading.
This chapter is added for reference and completeness. It is not intended as a
complete treatise on the subject.
Functional or System based Software
Functional or System based software design is focused on software code that delivers a
functional system. In the Materials Handling sector examples include systems such as
• Stockpile Management Systems
• Anti-collision systems
• Route management systems
• Etc
In all these systems the focus is on the functional capability of the “system” rather than the
physical or logical entities within the system. For example:
• The stockpile management system is based on functional capabilities rather than the
individual components of the system, i.e. stockpiles
• Route management systems concentrate on sequencing routes rather than the physical
entities of the system, e.g. conveyors, reclaimers etc.
Maintenance and extensibility are therefore compromised. For example, if a conveyor line is added
to a route management systems additional tables and pointers would need to be added, new
sequences written etc. By contrast, in an Object Oriented system a new Conveyor Object would be
added.
References
“Neolithic programmers lived in a state of simplicity. Programs were composed of a singular
straight, unbroken line of instructions to the computer. Even today, many of us initially learn to
program by writing standalone functions:
The single method style of program construction is the easiest form of programming to learn, but
it breaks down quickly as the program becomes larger. Early programmers and computer scientists
soon realized that they needed some way of managing complexity as software projects increased in
scope and ambition.
……. the ability to decompose a single program into multiple subroutines, classes, or services gave
programmers some fantastic advantages over the monolithic block of code: divide and conquer. You
can turn a single big problem into a series of easily achievable tasks. The human mind simply can't
juggle so many different variables at one time. Decomposing a system allows you to deal only with
one issue at a time, whether that be data validation, retrieval, or display.”
Jeremy Miller. MSDN. http://msdn.microsoft.com/en-us/magazine/cc721605.aspx
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Software Design. The objected oriented approach
This chapter describes the Object Oriented approach to software design. It is
presented for completeness and reference only. It is not intended as a complete treatise
on the subject.
SCS uses an Object Oriented Design.
Overview
Object Oriented Programming OOP refers to a programming methodology based on objects,
instead of just functions and procedures. These objects are organized into classes, which allow
individual objects to be group together.
Objects encapsulate all data and functions of an object. Software objects are often designed to
model, or represent, physical objects in the real world. Examples might include a “Customer” in a
banking context or an “Aeroplane” in an aviation navigation context. In a plant control system an
object might represent a VSD or a PID controller. In such cases there would be one software object
for each physical object in the physical environment. Objects may also be “abstract” in nature where
there is no real world physical equivalent. SCS has objects of both types.
Object oriented design makes it easier to structure and organize software programs. This
therefore leads to programs that are easier to implement, document and maintain.
An additional advantage of OO design is software re-use. For example, in an application for Bulk
Materials Handling, the behavior of a Conveyor is always the same. Therefore a Conveyor Class
Object can be re-used at any Bulk Materials Handling facility where conveyors are used, i.e. ALL such
sites.
Some basic concepts of OO design are:
• Objects
• Classes
• Abstraction and encapsulation
• Inheritance
All the above features are incorporated into the design of SCS.
Some of the well documented benefits and advantages of OO design are:
• Clear modular structure for programs
• Easy to maintain and modify existing code, and easily extensible via the addition of new
classes
• Facilitates creation of libraries that capture corporate intellectual property
References
This topic is covered exceedingly in books, training texts and online. The reader is encouraged to
explore the following examples.
https://www.cs.drexel.edu/~introcs/Fa12/notes/06.1_OOP/Advantages.html?CurrentSlide=3
http://www.saylor.org/site/wp-content/uploads/2013/02/CS101-2.1.2-
AdvantagesDisadvantagesOfOOP-FINAL.pdf
http://wiki.tcl.tk/13398
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Object Modeling: Roles, Responsibilities and Collaboration
This chapter describes the object modeling methodology referred to as “Roles,
Responsibilities and Collaborations”. This methodology is widely accepted as Industry
Best Practice, from organizations such as Microsoft.
This is the methodology used to design and describe the software architecture of the
SCS Application.
The Roles, Responsibilities and Collaboration model was first described by Rebecca Wirfs-Brock
and Alan McKean (see references). It is a simple and effective method to describe and specify the
object classes in an application. The method is often referred to as Class/Responsibility/Collaborator,
or CRC.
CRC Definitions
Class: This is the name the Class
Role: This is the Role of the class within the application
Responsibility: This refers to the specific tasks that the class is responsible to perform
Collaborators: This refers to
a) what other classes the class must collaborate with, and
b) the data structures use to collaborate.
Throughout this document, the CRC methodology is used to describe the role each class plays in
the SCS application, its specific responsibilities, and the mechanisms by which each class
collaborates with the other classes within the application. This provides a simple and logical method
of describing the application in its entirety.
Further Reading
Text Books
Title: Object Design. Roles, Responsibilities and Collaboration
Author: Rebecca Wirfs-Brock and Alan McKean
Publisher: Addison-Wesley
ISBN: 0-201-37943-0
Title: Object-oriented Software Construction
Author: Bertrand Meyer
Publisher: Prentice Hall
ISBN: 0-13-629049-3
Web Sites
http://msdn.microsoft.com/en-us/magazine/cc721605.aspx
http://agilemodeling.com/artifacts/crcModel.htm
http://www.methodsandtools.com/archive/archive.php?id=90
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Intelligent Agents
This chapter describes the concept of “Intelligent Agents” as utilized in the SCS
software.
SCS is based on a philosophy of Intelligent Agents. This is one of the key concepts that make the
SCS logic simple and easy to read and maintain.
It is also one of the key factors that make the objects re-usable across different sites since
regardless of site, a conveyor for example always behaves the same generic way.
Philosophy
When a human designs a conveyor network for example, the logic is usually presented
“generically”. This might be in the form of logical statements or maybe more formally in pseudo
code. For example consider the following hypothetical logic:
• When a conveyor is required to run in a sequence, it will start immediately its
downstream conveyor is running and up to full speed
• A conveyor can only run if its shuttle is in the correct position for the required route
• A shuttle cannot move if its feed conveyor is running and has ore on it
• A conveyor must not feed onto another that already contains material
• Etc. (Note these are hypothetical rules)
There are several ways to implement this kind of logic.
Command & Control
One way is to write a single supervisory program to control all the conveyors. This is quite
common where the network is simple (few routes). The concept does not scale well to larger
networks as has been found.
Intelligent Class Objects
Another method is to use intelligent class objects. With this method the logic is encapsulated
within the class.
This style of logic is then written using generic data such as:
• myConveyor
• myUpstreamConveyor
• myShuttle
• myRoute
• etc
Written this way the logic is very simple, and more importantly directly reflects the generic logic
in the FDS referred to above. That is, for each “Rule” in the FDS these is one line of logic in the PLC
code – no more, no less.
Topology
However, to make this style of programming possible, it is necessary for each object to know
• who is my myUpstreamConveyor ?
• who is my myShuttle ?
• who is my myRoute ?
• etc
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
In the SCS this is achieved via the use of a Data Class named Topology. This class defines all the
equipment in the plant and the layout of the conveyor network in the plant. One instance (variable)
of this Class is created. This variable is then passed to all Equipment objects, which interprets the
layout and determines the upstream and downstream equipment etc.
Intelligent Agent Structure
The structure of the Equipment Class object is illustrated in the diagram. There are five
components:
1. Upstream Equipment Interface
2. Downstream Equipment Interface
3. Executor Interface
4. Plant Interface
5. Generic Class Logic
It is important to note that this structure separates the complexity of the plant layout from the
simple generic logic for the equipment. The four interfaces are placed in separate program segments
that are normally never visited during troubleshooting.
Upstream Equipment Interface
This component determines the state (running, stopped, ore-on, fault) etc of the upstream
equipment.
Downstream Equipment Interface
Similar to Upstream interface
Executor Interface
This component determines the state of the “Executor”, i.e. the object that has custody of
the equipment.
Plant Interface
This component determines the state of the physical equipment *conveyor, shuttle, balance
machine etc) that it represents. It also sends control commands to the equipment based on the
Generic logic.
Generic Class Logic
This component contains the generic control logic for the equipment it represents, i.e. the
start, stop, move, interlock etc commands for the equipment.
Logic for class
Abstracted
Executor Interface
Plant Interface
Downstream
Equipment
Interface
Upstream
Equipment
Interface
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
SECTION 2. SCS Design
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Analysis. Selecting Class Candidates
This chapter provides a high level view to the procedure used to identify the class
objects in the SCS application. It is intended to provide an insight into one method of the
process, not a detailed analysis document.
Noun-Verb first cut
One methodology used to derive the Object Classes of an application is the “Noun-Verb” first
cut. This method involves the following steps:
• Write / review a description of the application. This description should be a plain English
description of the process at high level. It should not include detailed descriptions of
logical functions
• Highlight the nouns and verbs in the document
• Make a list of these, and eliminate duplicates and obvious non-candidates
• The remaining list is the basis of the class objects for the application
Analysis: SCS Application
The text box below contains a high level description of SCS, with key nouns and verbs
highlighted.
Supervisory Control System
Introduction
The Supervisory Control System (SCS) is a real-time application to control the site-wide operations
of a material handling facility, such as a mining or port facility. The SCS is a PLC-based application to
provide real-time control coupled with a SCADA system to provide Operator Interface. The SCS system
communicates with the Plant Control System (PCS) which comprises multiple PLCs controlling plant
level equipment. It is also linked to a database for storage of plans, QA results etc.
Details
The SCS provides the high level control of the Material Handling Equipment, such as Conveyors,
Shuttles, Stackers, Reclaimers, Ship loaders, Train Unloaders, Sample Stations, Ore Processing Facilities,
and Buffer Storage Bins etc.
The SCS also manages the material (ore) at the site. The material is stored in stockpiles. The SCS
maintains the quantity, type, location and other data related to the material as it moves through the
site.
The SCS controls the movement of material through the site by controlling (start, stop,
configuration) of the Equipment. The equipment may be configured in a flexible network by use of
shuttles, blending etc. For example at a Port facility these movements are referred to as “pours”, i.e. a
pre-determined quantity of material delivered from a source (stockpile of Train Unloader) to a hold on a
ship. There may be many (5-10+) concurrent movements at the site. A set of Equipment capable of a
movement are referred to as a route. A piece of equipment may be a member of many routes, but only
one at a time.
The movements are based on the elements of a Plan, e.g. a Ship Loading Plan or a Train Receival
Plan. At a Mine Site, the movement may be based on an Operations Plan. The SCS therefore Executes
the requirements of the Plan.
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Class Candidate How Modeled in SCS Comment
Material Handling
Equipment
Conveyors
Shuttles
Stackers
Reclaimers
Shiploaders
Train Unloaders
Sample Stations
Ore Processing Facilities
Buffer Storage Bins
Class Object: Equipment
Variants are Sub-classes
It would seem obvious that the most
important class in a Materials Handling
Application would be the Materials
Handling Equipment Class
Materials
Stockpiles
Class Object: Stockpile The second obvious class in a Materials
Handling Application is the Materials
Class.
We call it the Stockpile Class as this is
typically the smallest unit of record of
material
Manage Class Object: Manager This class manages the storage,
retrieval, creation, editing and data
validation of Plans
Executes Class Object: Executor This class executes plans by acquiring
custody of the equipment and
stockpiles necessary to complete the
requirements of the Plan
Plan
Operations Plan
Shiploading Plan
Inloading Plan
Data Class: Plan
Variants are Sub-classes
A plan is a list of activities that
need to be executed, e.g. pours,
movements, blends etc
This data is stored in the SQL database
and is:
• managed by the Manager Class,
and
• executed by the Executor Class
Movement
Pour
Not modeled explicitly
These are elements of plans. See
above
Consistent with S88 Process Model
Standard
Network Data Class: Topology There is one instance of this class per
application, i.e. per site.
It models the layout of the site.
Route Not modeled explicitly Consistent with S88 Process Model
Standard
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Routes are elements of topology.
See above
SCS Entities
This chapter describes the Classes in the SCS Application in terms of Roles,
Responsibilities and Collaborators.
The object hierarchy of the application is also documented.
SCS Entities: Overview
As described in the previous chapter, there are five main components of the SCS application.
Four of these are Class Objects, the other is a Data Class, also known as a Used Defined Type (UDT)
or similar in PLCs.
The Data Class is
• Topology
o This data class models the plant layout
o There is 1 instance of this class in the SCS Application
The Object Classes are
• Manager
o This class manages the Plans, both Shiploader and Train Unloader
o There is one instance of this class per Berth in the SCS Application
• Executor
o This class Executes the Plans by taking custody of the required equipment and
stockpile
o There is one instance of this class per Shiploader and Stacker in the SCS
Application
• Equipment
o This class models the behavior of equipment such as conveyors, shuttles,
balance machines, sample stations etc
o There is one instance of this class per physical equipment item in the SCS
Application
• Stock
o This class models the behavior stockpiles
o There is one instance of this class per stockpile in the SCS Application
These entities are described later in this section.
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
SCS Object Hierarchy
The diagram below provides a high-level view the Class Hierarchy, and how the classes interact
(collaborate) with each other.
SCS Object Hierarchy
At the top level, the Manager Class manages the storage and retrieval of the plans from the
database, and validation, activation and editing of Plans. The activated Plan is “published” for
execution by the Executors.
The Executor looks at the pours in the plan. It also reads the Topology variable, and status of all
equipment and stockpiles. Based on this data, it then takes custody of the required equipment and
stockpile in order to execute the plan. NOTE: The Executor does not control the equipment with
start/stop commands. The equipment objects are intelligent objects and work out what to do
themselves.
The Equipment objects are Intelligent Agents. Each equipment object reads the Topology
variable and determines its upstream and downstream equipment (its neighbours). It reads the
status of its Executor (the Executor that has its custody) and what route the Executor is using, and it
reads the status of its upstream and downstream equipment. It then decides what it should be doing
at any point in time and sends the appropriate commands to the physical equipment at the plant
level PLC. The Sample Station sub-class also manages data storage of QA data.
The Stock object manages the stockpile database for each stockpile, locks it when in use and
passes the data to the plant level balance machines for processing.
Execu
tor
Pours StockPlans
Inventory
Inventory
Equip
ment
Status
Topology
Mana
ger
Header
Plant
QA Data
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
SCS Data Class: Topology
Topology is a Data Class, or User Defined Data Type, that describes the plant layout. It is not a
Class Object in the normal sense. It is presented first as it is a precursor to the presentation of the
other Class Objects. The data definition for Topology is shown below.
Topology Data definition
Topology is a Data Structure consisting of three multi-dimensional arrays of BOOLs. These arrays
are:
• Routes
o This array represents the equipment in each route. There are 31 routes allowed
for, and a maximum of 128 equipment instances. Each equipment has a unique
Id. The Bool variable is set to one if the equipment exists in the route
o The snippet below visualizes the Routes array
• Connx
o Each Equipment has a Boolean array indicating its “neighbouring” equipment in
the plant layout, i.e. it Upstream (US) equipment and its Downstream(DS)
equipment
There is ONE instance of this class in the ACS application, as the ACS applies to ONE plant. A
different plant, for example a mine site, would have a different Topology variable.
Snippet of Routes Array
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
SCS Class: Manager
Manager Role
The role of the Manager Class is to manage plans for the site.
There is one instance of the Manager class for each Berth to manage shiploading plans and one
instance for each TUL to manage in-loading plans.
Manager Responsibilities
The responsibilities of the Manager Class include:
• Storage and retrieval of the plan from the database
• Data validation
• Plan activation
• Management of Plan states
• Publish Plan data (collaboration)
Manager Collaborations
The Manager Class Collaborates with:
• Database – read/write
• Executor – by publishing activated plan
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
SCS Class: Executor
Executor Role
The role of the Executor Class is to execute the plans.
There is one instance of the Executor Class for each Shiploader to execute out-loading plans and
one instance for each stacker to execute in-loading plans.
Executor Responsibilities
The responsibilities of the Executor Class include:
• Determine current and next pour
• Determine route for pour
• Manage state of each pour
• Publish its own state and the state of its pours (collaboration)
Executor Collaborations
The Executor Class Collaborates with:
• Manager
o By reading activated plan
• Topology
o By reading global Topology variable
• Equipment
o By reading status of equipment
• Stock
o By reading stockpile data
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
SCS Class: Equipment
Equipment Role
The role of the Equipment class is to model the behavior of the material handling equipment.
There is one instance of the Equipment for each physical item of equipment. Equipment includes
shuttles, conveyors, TULs, Sample Stations, Balance Machines, etc.
Sub Classes
Each of these equipment types are “sub-classes” of the Equipment Class. Referring to the
Section on Intelligent Agents, there is only a small component of this class that is different for each
sub-class. This is the “Class Logic” section shown in the diagram in that section. The vast majority of
the class is common for all types, eg the various interfaces. Therefore this is an ideal candidate for
exploiting sub-classes.
Equipment Responsibilities
The responsibilities of the Equipment Class include:
• Monitor state of the physical (plant level) that it models
• Monitor state of Executors to:
o Determine which executor has its custody
o Determine status of current activity of its executor
• Monitor status of its neighbouring equipment
• Determine actions required
• Send required actions to the plant level equipment
Equipment Collaborations
The Equipment Class Collaborates with:
• Topology
o By reading the global Topology variable so that it knows who its neighbours are
• Executor
o By reading Executor status so that it knows what is expected
o By publishing its own status so it can make decisions
• Equipment
o By publishing its status so that its neighbours know what is going on
o By reading status of its neighbours so it knows what to do
• Plant
o By monitoring real time plant status
o By issuing commands to the plant level equipment
• Database
o To store QA data (Sample Station sub-class only)
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
SCS Class: Stock
Stock Role
The role of the Stock class is to model the behavior of stockpiles.
There is one instance of this class for each stockpile.
Stock Responsibilities
The responsibilities of the Stock Class include:
• Store, retrieve and validate stockpile data to database
• Store, retrieve and validate stockpile data to balance machines
• Manage locked status of stockpile
Stock Collaborations
The Stock Class Collaborates with:
• Executor
o By publishing its status so Executor can make decisions
• Database
o To store and retrieve stockpile data
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
SECTION 3. Software development Methodology
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Software Engineering Methodology
This chapter discusses some of the more popular software engineering
methodologies, and describes the Iterative development methodology used to develop
the SCS Application.
Waterfall software development
Traditional software development cycles utilized the “Waterfall” method.
This involves completing each step of the process sequentially. This is illustrated in the diagram.
There are many disadvantages
of this process. These include:
• Any errors in design are not identified until very late in the process, usually only after
testing, or even after the software is put into operation. These errors are then “locked
in” with little or no opportunity for remediation, except piecemeal improvements at the
periphery of the problem, and bug fixes
• Little opportunity for the user to be involved in the process. Involvement is only at the
very beginning during system requirements capture, and at the end during testing
(perhaps) and operations
• An assumption that ball requirements are known and can be annunciated by the end
user and captured by the designers at the beginning of the project
• It is impossible to know the status of any individual component or function of the
application until all the components are finally integrated together. This is usually very
late in the process, and perhaps not even until installation in the production
environment
• Testing is deferred to the very end of the project when there are often project pressures
to move the application into production, which reduces testing time. Final testing is
often completed during production.
Waterfall model
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Iterative software development
As its name implies, Iterative software development consists of a number of iterations. This
process is documented extensively in the literature and training courses in software development.
Iterative development is not prescriptive. The approach can be adapted to meet the specific
requirements of the project. The two graphics below are typical of the approach.
In the Iterative Model the deliverable at each iteration is a complete, functioning, tested
application that can be reviewed by the client and users. Each iteration has a clearly defined set of
objectives and clearly defined steps.
The advantages of this approach are:
• Early involvement of users and client to shape the outcome
• Early identification of issues
• Early identification of gaps in specifications and improvement opportunities
• Early integration of all functional components of the system
Each Iteration typically comprises the following steps:
• Definition of objectives for the iteration
• Identification and assessment of risks
• Develop, test and implement the software for the iteration
• Review the results, and plan the next iteration
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Comparison of Waterfall and Iterative software development
The following is an extract from IBM web site. IBM have formalized this process into an internal
standard.
Further Reading
Title: Code Complete
Author: Steve McConnell
Publisher: Microsoft Press.
ISBN: 0-7356-1967-0
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Iterations in SCS Development
The SCS system development follows the Iterative development methodology. The following
paragraphs describe the development to date and the steps to follow.
SCS Iteration 1.
Objectives
• To analyse the SCS requirements and define the Class Objects of the system
• To build a Proof of Concept (PoC_1) that demonstrates:
o the roles and responsibilities of each class, and
o how these classes would co-exist (collaborate) to form a fully functioning
application
• To prepare a Design Philosophy document (this document) to form the basis of the next
iteration
• PoC_1 and the Design Philosophy document are intended t provide:
o An insight to clients as to what an Object Oriented SCS would look like as this
style of development is relatively new to the Materials Handling industry
o A basis for discussion with potential clients with a view to deployment in their
specific applications
Status
Iteration 1 is complete and is considered successful
SCS Iteration 2.
Objectives
• To convert the PoC into the target environment for the client.
o We will refer to this as PoC_2.
o PoC_1 has been built using Schneider technology (purely as a matter of
convenience)
• To add some high-level client specific capabilities to the model
• To use PoC2 as the basis of discussion with the client to develop detailed functional
requirements for the Release Version
Status
Iteration 2 has not commenced. However some high-level review and assessment of the GE PPS
environment is underway.
It is estimated that the second iteration of PoC will take 6-8 weeks. This would be completed by
the author.
The client would be responsible for the development of the Requirements Specification for the
release version.
SCS Iteration 3. Release Version
Objectives
• To implement and test the Release Version
Status
• It is anticipated that this Iteration would be completed by the client, thus
retaining critical Intellectual Property In House.
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
SECTION 4. The SCS Simulator
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Simulation
This chapter describes the Simulator that will be included with the project.
Simulator Description
As part of the ACS system there is a Simulator application. This application simulates the
behavior of the plant level equipment and stockpiles.
The Simulator is also an Object Oriented System with two Classes, an Equipment Class and a
Stockpile Class. The Equipment Class has subclasses equivalent to the SCS Equipment Object.
The Simulator runs in a PLC, and simulates the behavior of the plant level PLS, such as start, stop,
move to position, ramp up to speed etc. Equipment such as Conveyors etc also simulate Ore
Tracking functions, and in fact uses the same Ore Tracking PPS block as the real plant.
The interface to the simulation is exactly the same as the interface to the actual plant level
conveyors. Therefore, the SCS can be fully tested using the Simulator, and when necessary the SCS
can be disconnected from the Simulator and connected to the real plant with no change.
Benefits
There are two major benefits of the Simulator are Testing and Training.
Testing
Using the simulator, the SCS software can be tested throughout the entire development phase
of the SCS software. This will ensure that any issues will be identified early in an environment that is
as close to real world conditions as possible.
The Simulator has the ability to:
• Accelerate time
• Decelerate time
• Freeze time
This provides extremely powerful capabilities. At the Supervisory level, events occur at a much
lower rate (but remain real-time events). For example, a ship is berthed perhaps daily, while new
pours occur in a timeframe of multiple hours. This compares with say a VSD startup which occurs in
seconds and minutes.
By accelerating time we can “skip through” a pour, then slow down the simulation to identify
and solve any issues as they arise.
In this way we can compress months of testing time into a matter of days.
Training
Using the simulator, operators can be fully trained on the SCS, using real world ship loading
plans and stockpile data. This will provide an environment that EXACTLY emulates the real world
control desk. The operators cannot detect the difference between the Simulation and the real world,
except perhaps the lack of CCTV evidence!
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
This Operator Training can also serve as “black-box” software testing of the SCS. That is, it can be
conducted with no programmers present. These guys typically “nurse” the software through the
training regime. The result is a much more robust SCS software outcome.
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
SECTION 5. SCS Application Construction and Deployment
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Building the SCS Application
This chapter describes how the SCS Objects (PPS Blocks) are assembled into an SCS
application.
Note that this requires no logical programming, only the creation and configuration
of Class Objects.
This chapter also discusses application testing and hardware architecture.
SCS Structure
There are two sections in an SCS Application. This is illustrated in the screenshot below. The two
components are:
• Initialisation
In this section the Constructor functions for the Topology variable are called.
• SCS Objects
In this section the instances of the SCS Object Classes (PPS Blocks) are created.
Note that in the example there is a third section for the Simulator objects. In the PoC these are
in the same PLC purely for convenience. They could be in a separate PLC. In a real deployment of SCS
there would be no Simulation and the SCS would communicate with plant level PLCs.
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Building the Topology Variable
While Topology is a complex variable, it is simple to create thanks to the two “Constructor
Functions” in SCS. These functions help to populate the Topology variable during initialization. That
is, we let the PLC do the hard work.
As can be seen below, building the plant topology variable is very simple and can be
programmed directly from the routes matrix.
The two constructor functions are:
• Is_In_Route
o This function builds the Routes Array (shown above)
• Topology_Def_CNX
o This function builds the Upstream and Downstream arrays for each equipment
Constructor Function Definitions
Calling the constructor functions at Initialisation
Initialising Routes
The Routes variable is populated by using the “Is_In_Route“ function. The function call is
illustrated below. The first function call (first line) says that TU601 is in Route 1. The Topology
variable is passed to the function so that it can be populated and the Equipment variable is
passed so that the function can identify the equipment Id and name.
Initialising Connections
The Connection variables are populated by using the “Topology_Def_CNX“ function. The
function call is illustrated below. The first function call (first line) says that CV903 is downstream
from CV906. The second function call (second line) says that CV908 is downstream from CV906.
The Topology variable is passed to the function so that it can be populated and the two
Connection Arrays.
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Creating the Object Class Instances
The second step in creating an SCS application is creating the object instances. Here we consider
how to create objects for Conveyors. Other classes and objects use exactly the same process.
First step is to assign each object (conveyor) a unique Id (1…n). In the PoC example Conveyors
are numbered 1...26. Then, for each conveyor in the network, create a class instance, assign its
unique Id, and “connect” the other variables to the pins of the object. This can be seen in the screen
shot.
The inputs to the object are:
• Unique Id so it knows who it is
• Constants purely for programming tidiness
• Topology so it knows where it is in the network
• Executor Data so it can see who is its custodian
• Equipment so it can see status of its neighbours
• Plan_Data so it can see status of pours
• Sim_Interface to control the simulator. In real world this would be plant interface
That’s it.
Application complete.
No further programming required.
Assign Id
&
Topology
Object knows:
• Who it is
• Where it is in current route
• Who it belongs to (custodian)
• etc
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Software Testing
Once the SCS application (PPS blocks) is built there is no need for functional testing. The only
testing required is:
• Model testing
This testing is to ensure that the Topology variable is correctly constructed.
The SCADA application component of SCS provides visual tools to assist this testing.
This testing would require less than half a day
This testing is an off-line test and does not represent any risk to production
• Database interface testing
This testing is to prove the interface between SCS and the plant database.
An image of the real data is used to replicate live conditions
This testing is an off-line test and does not represent any risk to production
• Interface testing
This testing is to prove that the interfaces to the plant level PLC is operating correctly.
It is estimated that interface testing of each piece of equipment would require maximum
1 hour. The equipment would need to be out of service.
There would be no downtime implications from testing in this way
Operator Training
The Simulator would be used to train operators in the use of the new SCS application. This is
described elsewhere.
The operator training process would provide an additional level of software testing not available
with conventional bespoke software systems.
Supervisory Control System. Material Handling Processes
Confidential. Jayardee P/L. September
2014
Hardware Architecture
This chapter describes the recommended hardware architecture for the SCS.
The ACS Application is a PPS Application comprising both the PLC application and the Cimplicity
server components.
The architecture would be as illustrated below.
The key aspects of the system architecture are:
• SCS delivered as a single supervisory application
• High availability (redundant) CPUs are used to ensure availability, reliability and integrity
High
Availability
CPUS
GE IC695CRU320
HA CPU
Plant
Control
System
Supervi
sory
Control
System
SCADA
Server

More Related Content

What's hot

The informal sector in waste recycling in egypt2
The informal sector in waste recycling in egypt2The informal sector in waste recycling in egypt2
The informal sector in waste recycling in egypt2ACORN International
 
Gender livestock and livelihood indicators
Gender livestock and livelihood indicatorsGender livestock and livelihood indicators
Gender livestock and livelihood indicatorsPeter Chikwekwete
 
Enterprise pandemic virus infrastructure response plan (1)
Enterprise pandemic virus infrastructure response plan (1)Enterprise pandemic virus infrastructure response plan (1)
Enterprise pandemic virus infrastructure response plan (1)Ronimiah3
 
OfficeCentral User Manual (English) - Procurement Module
OfficeCentral User Manual (English) - Procurement ModuleOfficeCentral User Manual (English) - Procurement Module
OfficeCentral User Manual (English) - Procurement ModuleKhairun Nisa Aziz
 
State of Florida Telecom Business Model
State of Florida Telecom Business ModelState of Florida Telecom Business Model
State of Florida Telecom Business ModelState of Georgia
 
Sap fico blueprint 2017 final Anilkumar chowdary
Sap fico blueprint 2017 final Anilkumar chowdarySap fico blueprint 2017 final Anilkumar chowdary
Sap fico blueprint 2017 final Anilkumar chowdaryANILKUMARPULIPATI1
 
Advanced System Analysis And Design
Advanced System Analysis And Design Advanced System Analysis And Design
Advanced System Analysis And Design Anit Thapaliya
 
Nea2 f final june 2012
Nea2 f  final june 2012Nea2 f  final june 2012
Nea2 f final june 2012jimbrown123
 
HSA Programmer’s Reference Manual: HSAIL Virtual ISA and Programming Model, C...
HSA Programmer’s Reference Manual: HSAIL Virtual ISA and Programming Model, C...HSA Programmer’s Reference Manual: HSAIL Virtual ISA and Programming Model, C...
HSA Programmer’s Reference Manual: HSAIL Virtual ISA and Programming Model, C...HSA Foundation
 
Nepal Budget Highlight 2074/75 (2017/18) Tax Rates
Nepal Budget Highlight 2074/75 (2017/18) Tax RatesNepal Budget Highlight 2074/75 (2017/18) Tax Rates
Nepal Budget Highlight 2074/75 (2017/18) Tax RatesCA. Tika Karki
 
sun proxy statement 07
sun proxy statement 07sun proxy statement 07
sun proxy statement 07finance19
 
Oracle Inventory Complete Implementation Setups.
Oracle Inventory Complete Implementation Setups.Oracle Inventory Complete Implementation Setups.
Oracle Inventory Complete Implementation Setups.Muhammad Mansoor Ali
 
Getting started with income tax | Tally Chennai | Tally Intergation | Tally ...
Getting started with income tax | Tally Chennai |  Tally Intergation | Tally ...Getting started with income tax | Tally Chennai |  Tally Intergation | Tally ...
Getting started with income tax | Tally Chennai | Tally Intergation | Tally ...stannventures.Pvt.Ltd
 
وثيقة النموذج المرجعي للتطبيقات الوطنية
وثيقة النموذج المرجعي للتطبيقات الوطنيةوثيقة النموذج المرجعي للتطبيقات الوطنية
وثيقة النموذج المرجعي للتطبيقات الوطنيةYesserProgram
 

What's hot (19)

Google Search Quality Rating Program General Guidelines 2011
Google Search Quality Rating Program General Guidelines 2011Google Search Quality Rating Program General Guidelines 2011
Google Search Quality Rating Program General Guidelines 2011
 
The informal sector in waste recycling in egypt2
The informal sector in waste recycling in egypt2The informal sector in waste recycling in egypt2
The informal sector in waste recycling in egypt2
 
Cmdm rev eng
Cmdm rev engCmdm rev eng
Cmdm rev eng
 
Gender livestock and livelihood indicators
Gender livestock and livelihood indicatorsGender livestock and livelihood indicators
Gender livestock and livelihood indicators
 
Arc
ArcArc
Arc
 
Enterprise pandemic virus infrastructure response plan (1)
Enterprise pandemic virus infrastructure response plan (1)Enterprise pandemic virus infrastructure response plan (1)
Enterprise pandemic virus infrastructure response plan (1)
 
OfficeCentral User Manual (English) - Procurement Module
OfficeCentral User Manual (English) - Procurement ModuleOfficeCentral User Manual (English) - Procurement Module
OfficeCentral User Manual (English) - Procurement Module
 
State of Florida Telecom Business Model
State of Florida Telecom Business ModelState of Florida Telecom Business Model
State of Florida Telecom Business Model
 
Sap fico blueprint 2017 final Anilkumar chowdary
Sap fico blueprint 2017 final Anilkumar chowdarySap fico blueprint 2017 final Anilkumar chowdary
Sap fico blueprint 2017 final Anilkumar chowdary
 
Advanced System Analysis And Design
Advanced System Analysis And Design Advanced System Analysis And Design
Advanced System Analysis And Design
 
Evaluating Your Program
Evaluating Your ProgramEvaluating Your Program
Evaluating Your Program
 
Nea2 f final june 2012
Nea2 f  final june 2012Nea2 f  final june 2012
Nea2 f final june 2012
 
HSA Programmer’s Reference Manual: HSAIL Virtual ISA and Programming Model, C...
HSA Programmer’s Reference Manual: HSAIL Virtual ISA and Programming Model, C...HSA Programmer’s Reference Manual: HSAIL Virtual ISA and Programming Model, C...
HSA Programmer’s Reference Manual: HSAIL Virtual ISA and Programming Model, C...
 
Nepal Budget Highlight 2074/75 (2017/18) Tax Rates
Nepal Budget Highlight 2074/75 (2017/18) Tax RatesNepal Budget Highlight 2074/75 (2017/18) Tax Rates
Nepal Budget Highlight 2074/75 (2017/18) Tax Rates
 
sun proxy statement 07
sun proxy statement 07sun proxy statement 07
sun proxy statement 07
 
Oracle Inventory Complete Implementation Setups.
Oracle Inventory Complete Implementation Setups.Oracle Inventory Complete Implementation Setups.
Oracle Inventory Complete Implementation Setups.
 
Getting started with income tax | Tally Chennai | Tally Intergation | Tally ...
Getting started with income tax | Tally Chennai |  Tally Intergation | Tally ...Getting started with income tax | Tally Chennai |  Tally Intergation | Tally ...
Getting started with income tax | Tally Chennai | Tally Intergation | Tally ...
 
وثيقة النموذج المرجعي للتطبيقات الوطنية
وثيقة النموذج المرجعي للتطبيقات الوطنيةوثيقة النموذج المرجعي للتطبيقات الوطنية
وثيقة النموذج المرجعي للتطبيقات الوطنية
 
Forex India
Forex IndiaForex India
Forex India
 

Viewers also liked

Præsentation 150825 forandringsledelse oplæg til erfadag
Præsentation 150825 forandringsledelse oplæg til erfadagPræsentation 150825 forandringsledelse oplæg til erfadag
Præsentation 150825 forandringsledelse oplæg til erfadagMaren Sander Granlien
 
White Paper Final-Amended
White Paper Final-AmendedWhite Paper Final-Amended
White Paper Final-AmendedMyles Brock
 
Saving Big On Solar
Saving Big On SolarSaving Big On Solar
Saving Big On SolarAlex Papkov
 
Specii cu întrebuinţări_multiple.ppt_prezentare (2)
Specii cu întrebuinţări_multiple.ppt_prezentare (2)Specii cu întrebuinţări_multiple.ppt_prezentare (2)
Specii cu întrebuinţări_multiple.ppt_prezentare (2)carmenmitrea
 
霊園提案最終版
霊園提案最終版霊園提案最終版
霊園提案最終版怜史 秋山
 
Tìm hiểu và viết ứng dụng tra từ điển viết tắt của các thuật ngữ ngành IT trê...
Tìm hiểu và viết ứng dụng tra từ điển viết tắt của các thuật ngữ ngành IT trê...Tìm hiểu và viết ứng dụng tra từ điển viết tắt của các thuật ngữ ngành IT trê...
Tìm hiểu và viết ứng dụng tra từ điển viết tắt của các thuật ngữ ngành IT trê...Nguyễn Plus
 
Montacarga
MontacargaMontacarga
MontacargaNey Plaz
 
Muốn giảm mỡ máu nên ăn gì
Muốn giảm mỡ máu nên ăn gìMuốn giảm mỡ máu nên ăn gì
Muốn giảm mỡ máu nên ăn gìpalmer318
 
RideSnap_1_LandingPage
RideSnap_1_LandingPageRideSnap_1_LandingPage
RideSnap_1_LandingPageXiao Lu
 
Sample of Suspension 2D Drawings
Sample of Suspension 2D DrawingsSample of Suspension 2D Drawings
Sample of Suspension 2D DrawingsAndrew Mac Guinness
 
CC-0903 Henry Company CH-SBH Cover Story-August 2015
CC-0903 Henry Company CH-SBH Cover Story-August 2015CC-0903 Henry Company CH-SBH Cover Story-August 2015
CC-0903 Henry Company CH-SBH Cover Story-August 2015Rick Baker, PMP
 
ở đâu mua đồng hồ casio hàng fake 1 cao cấp
ở đâu mua đồng hồ casio hàng fake 1 cao cấpở đâu mua đồng hồ casio hàng fake 1 cao cấp
ở đâu mua đồng hồ casio hàng fake 1 cao cấpdann874
 
The medieval period
The medieval periodThe medieval period
The medieval periodtbrown24
 

Viewers also liked (20)

Præsentation 150825 forandringsledelse oplæg til erfadag
Præsentation 150825 forandringsledelse oplæg til erfadagPræsentation 150825 forandringsledelse oplæg til erfadag
Præsentation 150825 forandringsledelse oplæg til erfadag
 
LINK RESOURCE GENERAL PROFILE
LINK RESOURCE GENERAL PROFILELINK RESOURCE GENERAL PROFILE
LINK RESOURCE GENERAL PROFILE
 
Presentacion
PresentacionPresentacion
Presentacion
 
Presentation22
Presentation22Presentation22
Presentation22
 
White Paper Final-Amended
White Paper Final-AmendedWhite Paper Final-Amended
White Paper Final-Amended
 
Saving Big On Solar
Saving Big On SolarSaving Big On Solar
Saving Big On Solar
 
Specii cu întrebuinţări_multiple.ppt_prezentare (2)
Specii cu întrebuinţări_multiple.ppt_prezentare (2)Specii cu întrebuinţări_multiple.ppt_prezentare (2)
Specii cu întrebuinţări_multiple.ppt_prezentare (2)
 
Ul permainan
Ul permainanUl permainan
Ul permainan
 
霊園提案最終版
霊園提案最終版霊園提案最終版
霊園提案最終版
 
Tìm hiểu và viết ứng dụng tra từ điển viết tắt của các thuật ngữ ngành IT trê...
Tìm hiểu và viết ứng dụng tra từ điển viết tắt của các thuật ngữ ngành IT trê...Tìm hiểu và viết ứng dụng tra từ điển viết tắt của các thuật ngữ ngành IT trê...
Tìm hiểu và viết ứng dụng tra từ điển viết tắt của các thuật ngữ ngành IT trê...
 
Montacarga
MontacargaMontacarga
Montacarga
 
Phnom penh to battambang circuit 9 days
Phnom penh to battambang circuit 9 days Phnom penh to battambang circuit 9 days
Phnom penh to battambang circuit 9 days
 
Muốn giảm mỡ máu nên ăn gì
Muốn giảm mỡ máu nên ăn gìMuốn giảm mỡ máu nên ăn gì
Muốn giảm mỡ máu nên ăn gì
 
RideSnap_1_LandingPage
RideSnap_1_LandingPageRideSnap_1_LandingPage
RideSnap_1_LandingPage
 
Sample of Suspension 2D Drawings
Sample of Suspension 2D DrawingsSample of Suspension 2D Drawings
Sample of Suspension 2D Drawings
 
The Price We Pay
The Price We PayThe Price We Pay
The Price We Pay
 
CC-0903 Henry Company CH-SBH Cover Story-August 2015
CC-0903 Henry Company CH-SBH Cover Story-August 2015CC-0903 Henry Company CH-SBH Cover Story-August 2015
CC-0903 Henry Company CH-SBH Cover Story-August 2015
 
Talal's CV
Talal's CV Talal's CV
Talal's CV
 
ở đâu mua đồng hồ casio hàng fake 1 cao cấp
ở đâu mua đồng hồ casio hàng fake 1 cao cấpở đâu mua đồng hồ casio hàng fake 1 cao cấp
ở đâu mua đồng hồ casio hàng fake 1 cao cấp
 
The medieval period
The medieval periodThe medieval period
The medieval period
 

Similar to Supervisory Control using Intelligent Agents

Best Practices for Acquiring IT as a Service
Best Practices for Acquiring IT as a ServiceBest Practices for Acquiring IT as a Service
Best Practices for Acquiring IT as a ServiceDaniel Checchia
 
Project report on truck turnaround time
Project report on truck turnaround timeProject report on truck turnaround time
Project report on truck turnaround timePuspendu Pattanayek
 
Force dotcom apex code developers guide
Force dotcom apex code developers guideForce dotcom apex code developers guide
Force dotcom apex code developers guideslipnslideslideshare
 
Port consulting sow001
Port consulting sow001Port consulting sow001
Port consulting sow001dflexer
 
Fdi in tradable_services___8211__final_report
Fdi in tradable_services___8211__final_reportFdi in tradable_services___8211__final_report
Fdi in tradable_services___8211__final_reportKrishna Murari
 
Documentation de Doctrine ORM
Documentation de Doctrine ORMDocumentation de Doctrine ORM
Documentation de Doctrine ORMgueste89c23
 
FFSMIS User Guide
FFSMIS User GuideFFSMIS User Guide
FFSMIS User GuideFFSP WFL
 
Instructor utilities guide
Instructor utilities guideInstructor utilities guide
Instructor utilities guideapaezgonzal
 
Georgia annual state it report 2013
Georgia annual state it report 2013Georgia annual state it report 2013
Georgia annual state it report 2013State of Georgia
 
Soa In The Real World
Soa In The Real WorldSoa In The Real World
Soa In The Real Worldssiliveri
 
Bhuma learning portal_ui
Bhuma learning portal_uiBhuma learning portal_ui
Bhuma learning portal_uiDebjani Roy
 
White Paper: Look Before You Leap Into Google Apps
White Paper: Look Before You Leap Into Google AppsWhite Paper: Look Before You Leap Into Google Apps
White Paper: Look Before You Leap Into Google AppsOffice
 
ARQUIVO ROUBADO
ARQUIVO ROUBADOARQUIVO ROUBADO
ARQUIVO ROUBADOD813061988
 
M Daemon E Mail Server Manual
M Daemon E Mail Server ManualM Daemon E Mail Server Manual
M Daemon E Mail Server Manualguestcf19c83
 

Similar to Supervisory Control using Intelligent Agents (20)

Best Practices for Acquiring IT as a Service
Best Practices for Acquiring IT as a ServiceBest Practices for Acquiring IT as a Service
Best Practices for Acquiring IT as a Service
 
Lab view manual
Lab view manualLab view manual
Lab view manual
 
Project report on truck turnaround time
Project report on truck turnaround timeProject report on truck turnaround time
Project report on truck turnaround time
 
Force dotcom apex code developers guide
Force dotcom apex code developers guideForce dotcom apex code developers guide
Force dotcom apex code developers guide
 
Port consulting sow001
Port consulting sow001Port consulting sow001
Port consulting sow001
 
Fdi in tradable_services___8211__final_report
Fdi in tradable_services___8211__final_reportFdi in tradable_services___8211__final_report
Fdi in tradable_services___8211__final_report
 
Documentation de Doctrine ORM
Documentation de Doctrine ORMDocumentation de Doctrine ORM
Documentation de Doctrine ORM
 
FFSMIS User Guide
FFSMIS User GuideFFSMIS User Guide
FFSMIS User Guide
 
Instructor utilities guide
Instructor utilities guideInstructor utilities guide
Instructor utilities guide
 
Georgia annual state it report 2013
Georgia annual state it report 2013Georgia annual state it report 2013
Georgia annual state it report 2013
 
Soa In The Real World
Soa In The Real WorldSoa In The Real World
Soa In The Real World
 
Bhuma learning portal_ui
Bhuma learning portal_uiBhuma learning portal_ui
Bhuma learning portal_ui
 
White Paper: Look Before You Leap Into Google Apps
White Paper: Look Before You Leap Into Google AppsWhite Paper: Look Before You Leap Into Google Apps
White Paper: Look Before You Leap Into Google Apps
 
Plsql
PlsqlPlsql
Plsql
 
Dicom standards p02-conformance
Dicom standards p02-conformanceDicom standards p02-conformance
Dicom standards p02-conformance
 
ARQUIVO ROUBADO
ARQUIVO ROUBADOARQUIVO ROUBADO
ARQUIVO ROUBADO
 
Gemini Manual
Gemini ManualGemini Manual
Gemini Manual
 
perl_tk_tutorial
perl_tk_tutorialperl_tk_tutorial
perl_tk_tutorial
 
perl_tk_tutorial
perl_tk_tutorialperl_tk_tutorial
perl_tk_tutorial
 
M Daemon E Mail Server Manual
M Daemon E Mail Server ManualM Daemon E Mail Server Manual
M Daemon E Mail Server Manual
 

Supervisory Control using Intelligent Agents

  • 1. Intelligent Agents for Supervisory Control Systems Design Philosophy CONFIDENTIAL This document contains confidential information that is the property of Jayardee P/L. No part of this document, nor any information contained in this document, may be communicated to or discussed with any third party without written consent of Jayadee P/L. This includes any verbal, written, printed or electronic copy of the document, or any part there-of.
  • 2. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Contents Contents .....................................................................................................................2 Introduction................................................................................................................4 SCS Overview .....................................................................................................................4 Document Outline..............................................................................................................5 Software Design. The functional approach ..................................................................7 Functional or System based Software .................................................................................7 References.........................................................................................................................7 Software Design. The objected oriented approach.......................................................8 Overview ...........................................................................................................................8 References.........................................................................................................................8 Object Modeling: Roles, Responsibilities and Collaboration .........................................9 Further Reading .................................................................................................................9 Text Books...............................................................................................................................................9 Web Sites................................................................................................................................................9 Intelligent Agents ..................................................................................................... 10 Philosophy ....................................................................................................................... 10 Command & Control.............................................................................................................................10 Intelligent Class Objects........................................................................................................................10 Topology ...............................................................................................................................................10 Intelligent Agent Structure ...................................................................................................................11 Analysis. Selecting Class Candidates.......................................................................... 13 Noun-Verb first cut........................................................................................................... 13 Analysis: SCS Application.................................................................................................. 13 SCS Entities ............................................................................................................... 15 SCS Entities: Overview .................................................................................................. 15 SCS Object Hierarchy ........................................................................................................ 16 SCS Data Class: Topology ............................................................................................... 17 SCS Class: Manager...................................................................................................... 18 Manager Role........................................................................................................................................18 Manager Responsibilities......................................................................................................................18 Manager Collaborations .......................................................................................................................18 SCS Class: Executor...................................................................................................... 19
  • 3. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Executor Role........................................................................................................................................19 Executor Responsibilities......................................................................................................................19 Executor Collaborations........................................................................................................................19 SCS Class: Equipment................................................................................................... 20 Equipment Role ....................................................................................................................................20 Equipment Responsibilities...................................................................................................................20 Equipment Collaborations ....................................................................................................................20 SCS Class: Stock ........................................................................................................... 21 Stock Role .............................................................................................................................................21 Stock Responsibilities............................................................................................................................21 Stock Collaborations .............................................................................................................................21 Software Engineering Methodology.......................................................................... 23 Waterfall software development ...................................................................................... 23 Iterative software development ....................................................................................... 24 Comparison of Waterfall and Iterative software development........................................... 25 Further Reading ............................................................................................................... 25 Iterations in SCS Development.......................................................................................... 26 SCS Iteration 1.......................................................................................................................................26 SCS Iteration 2.......................................................................................................................................26 SCS Iteration 3. Release Version...........................................................................................................26 Simulation ................................................................................................................ 28 Simulator Description....................................................................................................... 28 Benefits ........................................................................................................................... 28 Testing ..................................................................................................................................................28 Training.................................................................................................................................................28 Building the SCS Application...................................................................................... 31 SCS Structure ................................................................................................................... 31 Building the Topology Variable ......................................................................................... 32 Calling the constructor functions at Initialisation.................................................................................32 Creating the Object Class Instances................................................................................... 33 Software Testing .............................................................................................................. 34 Operator Training............................................................................................................. 34 Hardware Architecture.............................................................................................. 35
  • 4. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Introduction This chapter provides an overview of this document and an Introduction to the Supervisory Control System. SCS Overview SCS is a Supervisory Control System for Bulk Material Handling process such as found at a mine site or a bulk port facility. It is a combined PLC and SCADA application that supervises the operation of the bulk material handling process. SCS consists of five class objects. These objects can be deployed to different sites by configuration only, i.e. no further programming is required. Being an Object Oriented design, SCS has many advantages such as: • Re-usable software objects • Easy to maintain and troubleshoot • Easy to re-deploy at new sites – configuration only • Capture of client’s Intellectual Property and commercial advantages SCS provides the management and supervisory functions expected in a Materials Handling Environment. These include: • Management and tracking of Material Inventory (Stockpile Management) • Management of Production and Operational Plans (Ship loading plans) • Management of Quality Data (Sample Station data management) • Management and control of Equipment (Route Management) SCS is currently completed to Proof of Concept stage in a Schneider environment. It is easily portable to other environments. It is proposed to port it to GE Proficy Process Systems (PPS) where each SCS object would be delivered as “PPS block” that integrates the PLC and SCADA logic into a single class object.
  • 5. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Document Outline Section 1provides an introduction to some of the software design techniques, technologies and concepts that are utilized in the SCS system. These include: • Object modeling methodologies: Roles, Responsibilities and Collaborations • Intelligent Agents • Method for modeling plant layout (Topology) Some references for further reading are provided in this section. Section 2describes the basic elements of the SCS system, i.e. the four object classes and the data class that comprise SCS. It also provides an outline of the analysis process that led to the definition of these components, and explains how these components are assembled into an SCS application. The objects that comprise SCS are: • Object Class: Equipment • Object Class: Material • Object Class: Manager • Object Class: Executor • Data Class: Topology Section 3describes the iterative software development methodology used in developing the SCS class objects, and compares it with the conventional waterfall method. Section4describes the Simulator that supports the SCS application, for both testing and operator training. Section5provides an outline for how an SCS application is built and delivered using the SCS class objects.
  • 6. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 SECTION 1. Design Concepts
  • 7. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Software Design. The functional approach This chapter describes the disadvantages of the traditional software development style. In this document we do not elaborate on this style. We simply refer to domain experts and provide references for further reading. This chapter is added for reference and completeness. It is not intended as a complete treatise on the subject. Functional or System based Software Functional or System based software design is focused on software code that delivers a functional system. In the Materials Handling sector examples include systems such as • Stockpile Management Systems • Anti-collision systems • Route management systems • Etc In all these systems the focus is on the functional capability of the “system” rather than the physical or logical entities within the system. For example: • The stockpile management system is based on functional capabilities rather than the individual components of the system, i.e. stockpiles • Route management systems concentrate on sequencing routes rather than the physical entities of the system, e.g. conveyors, reclaimers etc. Maintenance and extensibility are therefore compromised. For example, if a conveyor line is added to a route management systems additional tables and pointers would need to be added, new sequences written etc. By contrast, in an Object Oriented system a new Conveyor Object would be added. References “Neolithic programmers lived in a state of simplicity. Programs were composed of a singular straight, unbroken line of instructions to the computer. Even today, many of us initially learn to program by writing standalone functions: The single method style of program construction is the easiest form of programming to learn, but it breaks down quickly as the program becomes larger. Early programmers and computer scientists soon realized that they needed some way of managing complexity as software projects increased in scope and ambition. ……. the ability to decompose a single program into multiple subroutines, classes, or services gave programmers some fantastic advantages over the monolithic block of code: divide and conquer. You can turn a single big problem into a series of easily achievable tasks. The human mind simply can't juggle so many different variables at one time. Decomposing a system allows you to deal only with one issue at a time, whether that be data validation, retrieval, or display.” Jeremy Miller. MSDN. http://msdn.microsoft.com/en-us/magazine/cc721605.aspx
  • 8. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Software Design. The objected oriented approach This chapter describes the Object Oriented approach to software design. It is presented for completeness and reference only. It is not intended as a complete treatise on the subject. SCS uses an Object Oriented Design. Overview Object Oriented Programming OOP refers to a programming methodology based on objects, instead of just functions and procedures. These objects are organized into classes, which allow individual objects to be group together. Objects encapsulate all data and functions of an object. Software objects are often designed to model, or represent, physical objects in the real world. Examples might include a “Customer” in a banking context or an “Aeroplane” in an aviation navigation context. In a plant control system an object might represent a VSD or a PID controller. In such cases there would be one software object for each physical object in the physical environment. Objects may also be “abstract” in nature where there is no real world physical equivalent. SCS has objects of both types. Object oriented design makes it easier to structure and organize software programs. This therefore leads to programs that are easier to implement, document and maintain. An additional advantage of OO design is software re-use. For example, in an application for Bulk Materials Handling, the behavior of a Conveyor is always the same. Therefore a Conveyor Class Object can be re-used at any Bulk Materials Handling facility where conveyors are used, i.e. ALL such sites. Some basic concepts of OO design are: • Objects • Classes • Abstraction and encapsulation • Inheritance All the above features are incorporated into the design of SCS. Some of the well documented benefits and advantages of OO design are: • Clear modular structure for programs • Easy to maintain and modify existing code, and easily extensible via the addition of new classes • Facilitates creation of libraries that capture corporate intellectual property References This topic is covered exceedingly in books, training texts and online. The reader is encouraged to explore the following examples. https://www.cs.drexel.edu/~introcs/Fa12/notes/06.1_OOP/Advantages.html?CurrentSlide=3 http://www.saylor.org/site/wp-content/uploads/2013/02/CS101-2.1.2- AdvantagesDisadvantagesOfOOP-FINAL.pdf http://wiki.tcl.tk/13398
  • 9. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Object Modeling: Roles, Responsibilities and Collaboration This chapter describes the object modeling methodology referred to as “Roles, Responsibilities and Collaborations”. This methodology is widely accepted as Industry Best Practice, from organizations such as Microsoft. This is the methodology used to design and describe the software architecture of the SCS Application. The Roles, Responsibilities and Collaboration model was first described by Rebecca Wirfs-Brock and Alan McKean (see references). It is a simple and effective method to describe and specify the object classes in an application. The method is often referred to as Class/Responsibility/Collaborator, or CRC. CRC Definitions Class: This is the name the Class Role: This is the Role of the class within the application Responsibility: This refers to the specific tasks that the class is responsible to perform Collaborators: This refers to a) what other classes the class must collaborate with, and b) the data structures use to collaborate. Throughout this document, the CRC methodology is used to describe the role each class plays in the SCS application, its specific responsibilities, and the mechanisms by which each class collaborates with the other classes within the application. This provides a simple and logical method of describing the application in its entirety. Further Reading Text Books Title: Object Design. Roles, Responsibilities and Collaboration Author: Rebecca Wirfs-Brock and Alan McKean Publisher: Addison-Wesley ISBN: 0-201-37943-0 Title: Object-oriented Software Construction Author: Bertrand Meyer Publisher: Prentice Hall ISBN: 0-13-629049-3 Web Sites http://msdn.microsoft.com/en-us/magazine/cc721605.aspx http://agilemodeling.com/artifacts/crcModel.htm http://www.methodsandtools.com/archive/archive.php?id=90
  • 10. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Intelligent Agents This chapter describes the concept of “Intelligent Agents” as utilized in the SCS software. SCS is based on a philosophy of Intelligent Agents. This is one of the key concepts that make the SCS logic simple and easy to read and maintain. It is also one of the key factors that make the objects re-usable across different sites since regardless of site, a conveyor for example always behaves the same generic way. Philosophy When a human designs a conveyor network for example, the logic is usually presented “generically”. This might be in the form of logical statements or maybe more formally in pseudo code. For example consider the following hypothetical logic: • When a conveyor is required to run in a sequence, it will start immediately its downstream conveyor is running and up to full speed • A conveyor can only run if its shuttle is in the correct position for the required route • A shuttle cannot move if its feed conveyor is running and has ore on it • A conveyor must not feed onto another that already contains material • Etc. (Note these are hypothetical rules) There are several ways to implement this kind of logic. Command & Control One way is to write a single supervisory program to control all the conveyors. This is quite common where the network is simple (few routes). The concept does not scale well to larger networks as has been found. Intelligent Class Objects Another method is to use intelligent class objects. With this method the logic is encapsulated within the class. This style of logic is then written using generic data such as: • myConveyor • myUpstreamConveyor • myShuttle • myRoute • etc Written this way the logic is very simple, and more importantly directly reflects the generic logic in the FDS referred to above. That is, for each “Rule” in the FDS these is one line of logic in the PLC code – no more, no less. Topology However, to make this style of programming possible, it is necessary for each object to know • who is my myUpstreamConveyor ? • who is my myShuttle ? • who is my myRoute ? • etc
  • 11. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 In the SCS this is achieved via the use of a Data Class named Topology. This class defines all the equipment in the plant and the layout of the conveyor network in the plant. One instance (variable) of this Class is created. This variable is then passed to all Equipment objects, which interprets the layout and determines the upstream and downstream equipment etc. Intelligent Agent Structure The structure of the Equipment Class object is illustrated in the diagram. There are five components: 1. Upstream Equipment Interface 2. Downstream Equipment Interface 3. Executor Interface 4. Plant Interface 5. Generic Class Logic It is important to note that this structure separates the complexity of the plant layout from the simple generic logic for the equipment. The four interfaces are placed in separate program segments that are normally never visited during troubleshooting. Upstream Equipment Interface This component determines the state (running, stopped, ore-on, fault) etc of the upstream equipment. Downstream Equipment Interface Similar to Upstream interface Executor Interface This component determines the state of the “Executor”, i.e. the object that has custody of the equipment. Plant Interface This component determines the state of the physical equipment *conveyor, shuttle, balance machine etc) that it represents. It also sends control commands to the equipment based on the Generic logic. Generic Class Logic This component contains the generic control logic for the equipment it represents, i.e. the start, stop, move, interlock etc commands for the equipment. Logic for class Abstracted Executor Interface Plant Interface Downstream Equipment Interface Upstream Equipment Interface
  • 12. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 SECTION 2. SCS Design
  • 13. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Analysis. Selecting Class Candidates This chapter provides a high level view to the procedure used to identify the class objects in the SCS application. It is intended to provide an insight into one method of the process, not a detailed analysis document. Noun-Verb first cut One methodology used to derive the Object Classes of an application is the “Noun-Verb” first cut. This method involves the following steps: • Write / review a description of the application. This description should be a plain English description of the process at high level. It should not include detailed descriptions of logical functions • Highlight the nouns and verbs in the document • Make a list of these, and eliminate duplicates and obvious non-candidates • The remaining list is the basis of the class objects for the application Analysis: SCS Application The text box below contains a high level description of SCS, with key nouns and verbs highlighted. Supervisory Control System Introduction The Supervisory Control System (SCS) is a real-time application to control the site-wide operations of a material handling facility, such as a mining or port facility. The SCS is a PLC-based application to provide real-time control coupled with a SCADA system to provide Operator Interface. The SCS system communicates with the Plant Control System (PCS) which comprises multiple PLCs controlling plant level equipment. It is also linked to a database for storage of plans, QA results etc. Details The SCS provides the high level control of the Material Handling Equipment, such as Conveyors, Shuttles, Stackers, Reclaimers, Ship loaders, Train Unloaders, Sample Stations, Ore Processing Facilities, and Buffer Storage Bins etc. The SCS also manages the material (ore) at the site. The material is stored in stockpiles. The SCS maintains the quantity, type, location and other data related to the material as it moves through the site. The SCS controls the movement of material through the site by controlling (start, stop, configuration) of the Equipment. The equipment may be configured in a flexible network by use of shuttles, blending etc. For example at a Port facility these movements are referred to as “pours”, i.e. a pre-determined quantity of material delivered from a source (stockpile of Train Unloader) to a hold on a ship. There may be many (5-10+) concurrent movements at the site. A set of Equipment capable of a movement are referred to as a route. A piece of equipment may be a member of many routes, but only one at a time. The movements are based on the elements of a Plan, e.g. a Ship Loading Plan or a Train Receival Plan. At a Mine Site, the movement may be based on an Operations Plan. The SCS therefore Executes the requirements of the Plan.
  • 14. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Class Candidate How Modeled in SCS Comment Material Handling Equipment Conveyors Shuttles Stackers Reclaimers Shiploaders Train Unloaders Sample Stations Ore Processing Facilities Buffer Storage Bins Class Object: Equipment Variants are Sub-classes It would seem obvious that the most important class in a Materials Handling Application would be the Materials Handling Equipment Class Materials Stockpiles Class Object: Stockpile The second obvious class in a Materials Handling Application is the Materials Class. We call it the Stockpile Class as this is typically the smallest unit of record of material Manage Class Object: Manager This class manages the storage, retrieval, creation, editing and data validation of Plans Executes Class Object: Executor This class executes plans by acquiring custody of the equipment and stockpiles necessary to complete the requirements of the Plan Plan Operations Plan Shiploading Plan Inloading Plan Data Class: Plan Variants are Sub-classes A plan is a list of activities that need to be executed, e.g. pours, movements, blends etc This data is stored in the SQL database and is: • managed by the Manager Class, and • executed by the Executor Class Movement Pour Not modeled explicitly These are elements of plans. See above Consistent with S88 Process Model Standard Network Data Class: Topology There is one instance of this class per application, i.e. per site. It models the layout of the site. Route Not modeled explicitly Consistent with S88 Process Model Standard
  • 15. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Routes are elements of topology. See above SCS Entities This chapter describes the Classes in the SCS Application in terms of Roles, Responsibilities and Collaborators. The object hierarchy of the application is also documented. SCS Entities: Overview As described in the previous chapter, there are five main components of the SCS application. Four of these are Class Objects, the other is a Data Class, also known as a Used Defined Type (UDT) or similar in PLCs. The Data Class is • Topology o This data class models the plant layout o There is 1 instance of this class in the SCS Application The Object Classes are • Manager o This class manages the Plans, both Shiploader and Train Unloader o There is one instance of this class per Berth in the SCS Application • Executor o This class Executes the Plans by taking custody of the required equipment and stockpile o There is one instance of this class per Shiploader and Stacker in the SCS Application • Equipment o This class models the behavior of equipment such as conveyors, shuttles, balance machines, sample stations etc o There is one instance of this class per physical equipment item in the SCS Application • Stock o This class models the behavior stockpiles o There is one instance of this class per stockpile in the SCS Application These entities are described later in this section.
  • 16. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 SCS Object Hierarchy The diagram below provides a high-level view the Class Hierarchy, and how the classes interact (collaborate) with each other. SCS Object Hierarchy At the top level, the Manager Class manages the storage and retrieval of the plans from the database, and validation, activation and editing of Plans. The activated Plan is “published” for execution by the Executors. The Executor looks at the pours in the plan. It also reads the Topology variable, and status of all equipment and stockpiles. Based on this data, it then takes custody of the required equipment and stockpile in order to execute the plan. NOTE: The Executor does not control the equipment with start/stop commands. The equipment objects are intelligent objects and work out what to do themselves. The Equipment objects are Intelligent Agents. Each equipment object reads the Topology variable and determines its upstream and downstream equipment (its neighbours). It reads the status of its Executor (the Executor that has its custody) and what route the Executor is using, and it reads the status of its upstream and downstream equipment. It then decides what it should be doing at any point in time and sends the appropriate commands to the physical equipment at the plant level PLC. The Sample Station sub-class also manages data storage of QA data. The Stock object manages the stockpile database for each stockpile, locks it when in use and passes the data to the plant level balance machines for processing. Execu tor Pours StockPlans Inventory Inventory Equip ment Status Topology Mana ger Header Plant QA Data
  • 17. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 SCS Data Class: Topology Topology is a Data Class, or User Defined Data Type, that describes the plant layout. It is not a Class Object in the normal sense. It is presented first as it is a precursor to the presentation of the other Class Objects. The data definition for Topology is shown below. Topology Data definition Topology is a Data Structure consisting of three multi-dimensional arrays of BOOLs. These arrays are: • Routes o This array represents the equipment in each route. There are 31 routes allowed for, and a maximum of 128 equipment instances. Each equipment has a unique Id. The Bool variable is set to one if the equipment exists in the route o The snippet below visualizes the Routes array • Connx o Each Equipment has a Boolean array indicating its “neighbouring” equipment in the plant layout, i.e. it Upstream (US) equipment and its Downstream(DS) equipment There is ONE instance of this class in the ACS application, as the ACS applies to ONE plant. A different plant, for example a mine site, would have a different Topology variable. Snippet of Routes Array
  • 18. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 SCS Class: Manager Manager Role The role of the Manager Class is to manage plans for the site. There is one instance of the Manager class for each Berth to manage shiploading plans and one instance for each TUL to manage in-loading plans. Manager Responsibilities The responsibilities of the Manager Class include: • Storage and retrieval of the plan from the database • Data validation • Plan activation • Management of Plan states • Publish Plan data (collaboration) Manager Collaborations The Manager Class Collaborates with: • Database – read/write • Executor – by publishing activated plan
  • 19. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 SCS Class: Executor Executor Role The role of the Executor Class is to execute the plans. There is one instance of the Executor Class for each Shiploader to execute out-loading plans and one instance for each stacker to execute in-loading plans. Executor Responsibilities The responsibilities of the Executor Class include: • Determine current and next pour • Determine route for pour • Manage state of each pour • Publish its own state and the state of its pours (collaboration) Executor Collaborations The Executor Class Collaborates with: • Manager o By reading activated plan • Topology o By reading global Topology variable • Equipment o By reading status of equipment • Stock o By reading stockpile data
  • 20. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 SCS Class: Equipment Equipment Role The role of the Equipment class is to model the behavior of the material handling equipment. There is one instance of the Equipment for each physical item of equipment. Equipment includes shuttles, conveyors, TULs, Sample Stations, Balance Machines, etc. Sub Classes Each of these equipment types are “sub-classes” of the Equipment Class. Referring to the Section on Intelligent Agents, there is only a small component of this class that is different for each sub-class. This is the “Class Logic” section shown in the diagram in that section. The vast majority of the class is common for all types, eg the various interfaces. Therefore this is an ideal candidate for exploiting sub-classes. Equipment Responsibilities The responsibilities of the Equipment Class include: • Monitor state of the physical (plant level) that it models • Monitor state of Executors to: o Determine which executor has its custody o Determine status of current activity of its executor • Monitor status of its neighbouring equipment • Determine actions required • Send required actions to the plant level equipment Equipment Collaborations The Equipment Class Collaborates with: • Topology o By reading the global Topology variable so that it knows who its neighbours are • Executor o By reading Executor status so that it knows what is expected o By publishing its own status so it can make decisions • Equipment o By publishing its status so that its neighbours know what is going on o By reading status of its neighbours so it knows what to do • Plant o By monitoring real time plant status o By issuing commands to the plant level equipment • Database o To store QA data (Sample Station sub-class only)
  • 21. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 SCS Class: Stock Stock Role The role of the Stock class is to model the behavior of stockpiles. There is one instance of this class for each stockpile. Stock Responsibilities The responsibilities of the Stock Class include: • Store, retrieve and validate stockpile data to database • Store, retrieve and validate stockpile data to balance machines • Manage locked status of stockpile Stock Collaborations The Stock Class Collaborates with: • Executor o By publishing its status so Executor can make decisions • Database o To store and retrieve stockpile data
  • 22. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 SECTION 3. Software development Methodology
  • 23. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Software Engineering Methodology This chapter discusses some of the more popular software engineering methodologies, and describes the Iterative development methodology used to develop the SCS Application. Waterfall software development Traditional software development cycles utilized the “Waterfall” method. This involves completing each step of the process sequentially. This is illustrated in the diagram. There are many disadvantages of this process. These include: • Any errors in design are not identified until very late in the process, usually only after testing, or even after the software is put into operation. These errors are then “locked in” with little or no opportunity for remediation, except piecemeal improvements at the periphery of the problem, and bug fixes • Little opportunity for the user to be involved in the process. Involvement is only at the very beginning during system requirements capture, and at the end during testing (perhaps) and operations • An assumption that ball requirements are known and can be annunciated by the end user and captured by the designers at the beginning of the project • It is impossible to know the status of any individual component or function of the application until all the components are finally integrated together. This is usually very late in the process, and perhaps not even until installation in the production environment • Testing is deferred to the very end of the project when there are often project pressures to move the application into production, which reduces testing time. Final testing is often completed during production. Waterfall model
  • 24. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Iterative software development As its name implies, Iterative software development consists of a number of iterations. This process is documented extensively in the literature and training courses in software development. Iterative development is not prescriptive. The approach can be adapted to meet the specific requirements of the project. The two graphics below are typical of the approach. In the Iterative Model the deliverable at each iteration is a complete, functioning, tested application that can be reviewed by the client and users. Each iteration has a clearly defined set of objectives and clearly defined steps. The advantages of this approach are: • Early involvement of users and client to shape the outcome • Early identification of issues • Early identification of gaps in specifications and improvement opportunities • Early integration of all functional components of the system Each Iteration typically comprises the following steps: • Definition of objectives for the iteration • Identification and assessment of risks • Develop, test and implement the software for the iteration • Review the results, and plan the next iteration
  • 25. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Comparison of Waterfall and Iterative software development The following is an extract from IBM web site. IBM have formalized this process into an internal standard. Further Reading Title: Code Complete Author: Steve McConnell Publisher: Microsoft Press. ISBN: 0-7356-1967-0
  • 26. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Iterations in SCS Development The SCS system development follows the Iterative development methodology. The following paragraphs describe the development to date and the steps to follow. SCS Iteration 1. Objectives • To analyse the SCS requirements and define the Class Objects of the system • To build a Proof of Concept (PoC_1) that demonstrates: o the roles and responsibilities of each class, and o how these classes would co-exist (collaborate) to form a fully functioning application • To prepare a Design Philosophy document (this document) to form the basis of the next iteration • PoC_1 and the Design Philosophy document are intended t provide: o An insight to clients as to what an Object Oriented SCS would look like as this style of development is relatively new to the Materials Handling industry o A basis for discussion with potential clients with a view to deployment in their specific applications Status Iteration 1 is complete and is considered successful SCS Iteration 2. Objectives • To convert the PoC into the target environment for the client. o We will refer to this as PoC_2. o PoC_1 has been built using Schneider technology (purely as a matter of convenience) • To add some high-level client specific capabilities to the model • To use PoC2 as the basis of discussion with the client to develop detailed functional requirements for the Release Version Status Iteration 2 has not commenced. However some high-level review and assessment of the GE PPS environment is underway. It is estimated that the second iteration of PoC will take 6-8 weeks. This would be completed by the author. The client would be responsible for the development of the Requirements Specification for the release version. SCS Iteration 3. Release Version Objectives • To implement and test the Release Version Status • It is anticipated that this Iteration would be completed by the client, thus retaining critical Intellectual Property In House.
  • 27. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 SECTION 4. The SCS Simulator
  • 28. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Simulation This chapter describes the Simulator that will be included with the project. Simulator Description As part of the ACS system there is a Simulator application. This application simulates the behavior of the plant level equipment and stockpiles. The Simulator is also an Object Oriented System with two Classes, an Equipment Class and a Stockpile Class. The Equipment Class has subclasses equivalent to the SCS Equipment Object. The Simulator runs in a PLC, and simulates the behavior of the plant level PLS, such as start, stop, move to position, ramp up to speed etc. Equipment such as Conveyors etc also simulate Ore Tracking functions, and in fact uses the same Ore Tracking PPS block as the real plant. The interface to the simulation is exactly the same as the interface to the actual plant level conveyors. Therefore, the SCS can be fully tested using the Simulator, and when necessary the SCS can be disconnected from the Simulator and connected to the real plant with no change. Benefits There are two major benefits of the Simulator are Testing and Training. Testing Using the simulator, the SCS software can be tested throughout the entire development phase of the SCS software. This will ensure that any issues will be identified early in an environment that is as close to real world conditions as possible. The Simulator has the ability to: • Accelerate time • Decelerate time • Freeze time This provides extremely powerful capabilities. At the Supervisory level, events occur at a much lower rate (but remain real-time events). For example, a ship is berthed perhaps daily, while new pours occur in a timeframe of multiple hours. This compares with say a VSD startup which occurs in seconds and minutes. By accelerating time we can “skip through” a pour, then slow down the simulation to identify and solve any issues as they arise. In this way we can compress months of testing time into a matter of days. Training Using the simulator, operators can be fully trained on the SCS, using real world ship loading plans and stockpile data. This will provide an environment that EXACTLY emulates the real world control desk. The operators cannot detect the difference between the Simulation and the real world, except perhaps the lack of CCTV evidence!
  • 29. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 This Operator Training can also serve as “black-box” software testing of the SCS. That is, it can be conducted with no programmers present. These guys typically “nurse” the software through the training regime. The result is a much more robust SCS software outcome.
  • 30. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 SECTION 5. SCS Application Construction and Deployment
  • 31. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Building the SCS Application This chapter describes how the SCS Objects (PPS Blocks) are assembled into an SCS application. Note that this requires no logical programming, only the creation and configuration of Class Objects. This chapter also discusses application testing and hardware architecture. SCS Structure There are two sections in an SCS Application. This is illustrated in the screenshot below. The two components are: • Initialisation In this section the Constructor functions for the Topology variable are called. • SCS Objects In this section the instances of the SCS Object Classes (PPS Blocks) are created. Note that in the example there is a third section for the Simulator objects. In the PoC these are in the same PLC purely for convenience. They could be in a separate PLC. In a real deployment of SCS there would be no Simulation and the SCS would communicate with plant level PLCs.
  • 32. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Building the Topology Variable While Topology is a complex variable, it is simple to create thanks to the two “Constructor Functions” in SCS. These functions help to populate the Topology variable during initialization. That is, we let the PLC do the hard work. As can be seen below, building the plant topology variable is very simple and can be programmed directly from the routes matrix. The two constructor functions are: • Is_In_Route o This function builds the Routes Array (shown above) • Topology_Def_CNX o This function builds the Upstream and Downstream arrays for each equipment Constructor Function Definitions Calling the constructor functions at Initialisation Initialising Routes The Routes variable is populated by using the “Is_In_Route“ function. The function call is illustrated below. The first function call (first line) says that TU601 is in Route 1. The Topology variable is passed to the function so that it can be populated and the Equipment variable is passed so that the function can identify the equipment Id and name. Initialising Connections The Connection variables are populated by using the “Topology_Def_CNX“ function. The function call is illustrated below. The first function call (first line) says that CV903 is downstream from CV906. The second function call (second line) says that CV908 is downstream from CV906. The Topology variable is passed to the function so that it can be populated and the two Connection Arrays.
  • 33. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Creating the Object Class Instances The second step in creating an SCS application is creating the object instances. Here we consider how to create objects for Conveyors. Other classes and objects use exactly the same process. First step is to assign each object (conveyor) a unique Id (1…n). In the PoC example Conveyors are numbered 1...26. Then, for each conveyor in the network, create a class instance, assign its unique Id, and “connect” the other variables to the pins of the object. This can be seen in the screen shot. The inputs to the object are: • Unique Id so it knows who it is • Constants purely for programming tidiness • Topology so it knows where it is in the network • Executor Data so it can see who is its custodian • Equipment so it can see status of its neighbours • Plan_Data so it can see status of pours • Sim_Interface to control the simulator. In real world this would be plant interface That’s it. Application complete. No further programming required. Assign Id & Topology Object knows: • Who it is • Where it is in current route • Who it belongs to (custodian) • etc
  • 34. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Software Testing Once the SCS application (PPS blocks) is built there is no need for functional testing. The only testing required is: • Model testing This testing is to ensure that the Topology variable is correctly constructed. The SCADA application component of SCS provides visual tools to assist this testing. This testing would require less than half a day This testing is an off-line test and does not represent any risk to production • Database interface testing This testing is to prove the interface between SCS and the plant database. An image of the real data is used to replicate live conditions This testing is an off-line test and does not represent any risk to production • Interface testing This testing is to prove that the interfaces to the plant level PLC is operating correctly. It is estimated that interface testing of each piece of equipment would require maximum 1 hour. The equipment would need to be out of service. There would be no downtime implications from testing in this way Operator Training The Simulator would be used to train operators in the use of the new SCS application. This is described elsewhere. The operator training process would provide an additional level of software testing not available with conventional bespoke software systems.
  • 35. Supervisory Control System. Material Handling Processes Confidential. Jayardee P/L. September 2014 Hardware Architecture This chapter describes the recommended hardware architecture for the SCS. The ACS Application is a PPS Application comprising both the PLC application and the Cimplicity server components. The architecture would be as illustrated below. The key aspects of the system architecture are: • SCS delivered as a single supervisory application • High availability (redundant) CPUs are used to ensure availability, reliability and integrity High Availability CPUS GE IC695CRU320 HA CPU Plant Control System Supervi sory Control System SCADA Server