0% found this document useful (0 votes)
882 views165 pages

Jigsaw Admin Training

Jigsaw Admin Training for mining

Uploaded by

jlexsi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
882 views165 pages

Jigsaw Admin Training

Jigsaw Admin Training for mining

Uploaded by

jlexsi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 165

Jigsaw Administrator Training

Notes

JIGSAW MANUALS
Jigsaw Administrator
Training Notes

January 2008
Jigsaw Manual - Jigsaw Administrator Training Notes

TABLE OF CONTENTS

SECTION PAGE

Section 1 – Jigsaw System Overview


1.1 System Architecture……………………………………….6
1.2 JAMS………………………………………………………7
1.2.1 JAMS Server Side……………………………………..8
1.2.2 JAMS Field Equipment Side…………………………..8
1.2.3 JAMS Replicated Data Flows………………………….8
1.3 Client Application………………………………………….9
1.3.1 MineOPS Menu Options……………………………….9
1.3.2 The Mine Graph………………………………………..9
1.3.3 MTC……………………………………………………10
1.3.4 Utilities…………………………………………………10
1.4 Field Application…………………………………………...10
1.4.1 Truck……………………………………………………11
1.4.2 Shovel…………………………………………………..11
1.5 Real Time Dashboards……………………………………...12
1.6 Historical Reporting………………………………………...13
1.7 Third Party Integrations…………………………………….14

Section 2 – Jigsaw System Concepts


2.1 System Basic Configuration………………………………….15
2.2 MineOPS Truck Haulage Cycle Automation………………...16-19
2.3 Truck Cycle…………………………………………………..19-21
2.4 Shovel Cycle………………………………………………….21
2.5 Production Data………………………………………………22
2.5.1 Load Information…………………………………………22
2.6 Jigsaw System Features Summary……………………………22-24

Section 3 – SQL Basics


3.1 Jigsaw Server and Database Introduction…………………….25
3.1.1 Server……………………………………………………..25
3.1.2 Accessing the Production Server…………………………25-29
3.1.3 Naming Conventions……………………………………..30
3.1.4 Open The Database……………………………………….31
3.2 SQL Commands………………………………………………32
3.2.1 Viewing Text……………………………………………...32-33
3.2.2 Copy and Paste Text………………………………………33
3.2.3 Resize The Window………………………………………34
3.3 Basic Commands……………………………………………...34
2

2
Jigsaw Manual - Jigsaw Administrator Training Notes

3.3.1 The Main Menu……………………………………………34


3.3.2 View Column Names In A Table………………………….35
3.3.3 SQL Help…………………………………………………..36
3.3.4 Quit………………………………………………………...36
3.4 The Select Command…………………………………………..36
3.4.1 Select All Entries In A Table……………………………....37
3.4.2 Select Specific Data………………………………………..38
3.4.3 Select Data In An Ordered Manner………………………..39
3.4.4 Select Data With Wildcards……………………………….40
3.5 Shortcuts……………………………………………………….41
3.5.1 Clear The Screen…………………………………………..41
3.5.2 Delete All Text After The Cursor……………………….....41
3.5.3 Delete All Text Before The Cursor………………………..41
3.5.4 View Old Commands……………………………………...41
3.5.5 Search Through Previously Typed Commands……………42-44
3.6 Basic Database Layout………………………………………...44
3.6.1 A Sample Table……………………………………………44-45
3.6.2 A Sample Relationship…………………………………….46
3.6.3 A Real Life Example………………………………………47-50
3.7 Changing Records in MineOPS………………………………..50-51
3.8 Viewing Relationships………………………………………….51
3.8.1 The device_id Column……………………………………...52
3.8.2 The status_id Column……………………………………….53
3.8.3 The reason_id Column………………………………………54
3.8.4 The equipment_type_id Column………………………….....55
3.8.5 The activity_id Column……………………………………...56
3.8.6 Other Fields In the Equipment Operations Screen..................57

Section 4 – Reporting
4.1 Descriptions of Shift and Summarization Tables..........................58-67
4.2 Publishing Crystal Reports.............................................................68-70
4.3 Accessing Jigsaw Data with Microsoft Excel.................................71
4.3.1 Computer System Requirements...............................................71
4.3.2 Personal Knowledge Requirements...........................................71
4.3.3 PostgreSQL ODBC Driver Installation.....................................72-76
4.3.4 How to the Configure Database Connection.............................77-80
4.3.5 How to Retrieve Data with MS Query Wizard..........................81-87
4.3.6 How to Retrieve Data with SQL Sentences...............................88-90
4.3.7 Information Storage Basics........................................................91
4.3.8 Common Linked Tables.............................................................91
4.3.9 Equipment Status and Activities Stored Procedures..................91

3
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 5 – System Administration


5.1 Views..........................................................................................................92-107
5.2 Client Extension.........................................................................................108
5.3 Windows Client Installation and Environment Configurations.................108
5.4 Troubleshooting.........................................................................................108
5.4.1 Windows Client Troubleshooting........................................................108
5.4.2 Field Client Troubleshooting...............................................................108
5.5 Adding New Equipment.............................................................................109
5.6 Creating A New Memory Stick..................................................................109-111

Section 6 – Optimization
6.1 MineOPS Optimization..............................................................................112
6.1.1 Abstract.................................................................................................112
6.1.2 System Architecture..............................................................................112-113
6.1.3 Best Path Road Network Optimization.................................................114
6.1.4 Linear Programming (LP) Optimization...............................................115
6.1.5 Continuity Constraints..........................................................................115
6.1.6 Material Constraints..............................................................................115
6.1.7 Shovel Digging Rate Constraints..........................................................115
6.1.8 Blending Constraints.............................................................................116
6.1.9 Available Truck Haulage Constraints...................................................116
6.1.10 Shovel Restrictions..............................................................................117
6.1.11 Grade Restrictions...............................................................................117
6.1.12 Shovel Priorities..................................................................................117
6.1.13 Material Priorities................................................................................117
6.1.14 Shovel Coverage Factors.....................................................................118
6.1.15 Objective Function..............................................................................118
6.1.16 Dynamic Truck Allocation..................................................................118
6.1.17 Continuous Position Tracking and Accurate Arrival Time Prediction.119
6.1.18 Idle/Travel Time Minimization............................................................119-120
6.1.19 Truck Reassignments............................................................................120
6.1.20 Summary................................................................................................121

Section 7 – MineOPS Install


7.1 Requirements and Suggestions......................................................................122
7.1.1 Required Software...................................................................................122
7.1.2 Current Version........................................................................................122
7.2 Adobe Flash Player Download.......................................................................123-124
7.3 PuTTY Download...........................................................................................125-126
7.4 REAL VNC Download...................................................................................127-136
7.5 REAL VNC Setup...........................................................................................137-143
7.6 Install MineOPS..............................................................................................144-151
4

4
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 8 – FAQ’s
8.1 Rotations.........................................................................................................152
8.2 Enum Attributes..............................................................................................152-153
8.3 Enum Categories.............................................................................................154
8.4 General TKPH Config.....................................................................................154-155
8.5 TKPH Config By Truck...................................................................................156
8.6 Fuel Consumption............................................................................................156
8.7 Average Speeds................................................................................................157
8.8 Projects.............................................................................................................158
8.9 Available Logger Options................................................................................159
8.10 Moving Averages...........................................................................................160
8.11 Exception Routing..........................................................................................161
8.12 Equipment Warnings......................................................................................162
8.13 Haulage Notes.................................................................................................163
8.14 How To Create New Equipment Record........................................................164

5
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 1 – Jigsaw System Overview

1.1 System Architecture

Field
Equipment Supervisor Laptop

Wireless Network

Reporting Database
Jigsaw Servers

Corporate Network

`
` `

Corporate Users
Operations Maintenance
Dispatchers/Administrator

Wireless Network: 802.11 networks to communicate with field equipment.


Corporate Network: Provide access to corporate users.
Dispatchers/Administrators reside on this network.
Jigsaw Application Servers: Host JAMS (Jigsaw Advanced Messaging System).
Reporting Server: Crystal Reports Server and replicated reporting database.
Database Server: Relational real time database

6
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 1 – Jigsaw System Overview

1.2 JAMS

JAMS FIELD

JAMS Assignment GPS


MineOPS
Client Adapter Engine

Logger VIMS
Console

Replication Database
Client Adapter

Onboard
Database

Wireless Network

JAMS CENTRAL

JAMS JAMS
MineOPS Optimizer
Client Adapter Web Server

Logger
Console

Replication Database
Server Adapter

RealTime
Database

7
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 1 – Jigsaw System Overview

1.2.1 JAMS Server Side

Component based application server.


Replicator: Synchronizes remote databases with central database.
MineOPS: Implements system business logic. Proxy equipment.
Web Server: Dashboard presentation.
Optimizer: Optimal assignments to hauling equipment.
Central Database: Relational database. PostgreSQL or SQL Server 2005.

1.2.2 JAMS Field Equipment Side

Component based application server.


Replicator Client: Synchronizes local databases with central database.
MineOPS: Implements system business logic.
Assignment: Dynamic assignments implementing optimized solutions.
GPS: Interface with external receiver.
VIMS: Interface with CAT vital signs.
Onboard Database: SQLite database.

1.2.3 Replicated Data Flows

Transactional Data Created Onboard: Production, Time Accountability,


Activities, VIMS, GPS, and Logins.
Data stored onboard.
Data replicated to central database.
Optimal Assignment Data, Road, Location, Material, and other configuration data
created at central JAMS.
Data replicated to field equipment.
Real time data modified both onboard and in central. Latest change replicated.

8
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 1 – Jigsaw System Overview

1.3 Client Application

Native windows application. Windows installer accessed through JAMS Web


server.
Any number of instances supported.
User/Role based authentication.
User/Role based configuration, same application used for dispatching,
administration, etc.
Automatic updates controlled from server.

1.3.1 MineOPS Menu Options

The Applications menu: Provides access to the Mine Graph and Mine Traffic
Control applications.
The Operations menu: Provides access to the utilities used by dispatchers to
control real time operations.
The LP menu: Provides access to utilities to visualize and configure optimization.
The Shift menu: Provides access to utilities to visualize and modify transactional
data.
The Engineering menu: Provides access to utilities to configure locations and
other mine information.
The Admin menu: Provides access to utilities to configure all Jigsaw applications.

1.3.2 The Mine Graph

Visualize equipment positional information. True equipment position refreshed


every 5 seconds.
Visualize and modify road network, mine locations.
Visualize hauling routes.
Graphical representation of equipment status.
Interaction with graphical objects to access relevant utilities.

9
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 1 – Jigsaw System Overview

1.3.3 MTC

Schematic representation of hauling routes and optimization solution.


Visualize equipment status.
Visualize shovel and dump queues.
Visualize material feed rates in and out of shovels.
Interaction with graphical objects to access utilities. Drag and drop assignments.

1.3.4 Utilities

Show data in tabular and layout form.


Display fields and actions are configured.
Typical actions:
- Add: Add new record.
- Delete: Delete current record.
- Apply: Implement changes.

1.4 Field Application

Native Linux application.


Connects to local JAMS instance.
Automatic updates controlled from server.

10

10
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 1 – Jigsaw System Overview

1.4.1 Truck

GPS display: Real time truck position. Other equipment positions updated every
5-10 seconds.
KPI display: Key performance indicators for operator usage.
Activity button: Cycles the truck to the next activity.
VIMS indicators: Speed, Gear, and Brake Temps.
GPS indicators: GPS display interaction.
Message window: Dispatcher and other relevant messages.
Jigsaw Menu:
- System: Restart system, change display.
- Activity selector: Set the current Truck activity.
- Status selector: Set the current Truck status and reason.
- Operator: Logon, logoff.
- Message: Write message to dispatcher.
- Fuel: Enter fuel and hour meter quantities.
- Help: Miscellaneous queries.

1.4.2 Shovel

GPS display: Real shovel truck position. Other equipment positions updated
every 5-10 seconds.
Activity button: Cycles the shovel to the next activity.
Grade button: Select digging grade.
GPS indicator: GPS display interaction.
MTC window: Trucks enroute.
Message window: Dispatcher and other relevant messages.
Jigsaw Menu:
- System: Restart system, change display.
- Activity selector: Set the current Shovel activity.
- Status selector: Set the current Shovel status and reason.
- Operator: Logon, logoff.
- Message: Write message to dispatcher.
- Help: Miscellaneous queries.
11

11
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 1 – Jigsaw System Overview

1.5 Real Time Dashboards

12

12
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 1 – Jigsaw System Overview

1.6 Historical Reporting

13

13
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 1 – Jigsaw System Overview

1.7 Third Party Interfaces

Relational database connection.


Web Services.
Flat Files
- Loader/Importer interface.
- Grade Blocks, Drill Patterns, and Drill Parts.

14

14
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 2 – Jigsaw System Concepts

2.1 System Basic Configuration

Configurations
Devices
Help
Enumerations
- Status
- Time Categories
Exception Routing
Averages
Translations
Plans

15

15
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 2 – Jigsaw System Concepts

2.2 MineOPS Truck Haulage Cycle Automation

The MineOPS system performs real-time automation of the entire truck haulage cycle
using the following inputs:
GPS receivers on shovels
GPS receivers on trucks
VIMS interface on trucks
TPMS interface on trucks
MineOPS distributed database

The state machine for haulage cycle automation defines the following activities, which
trucks perform during mining operations.

Inactive: The truck is delayed, down, or standby and must be ready before normal
activities continue. Trucks enter the inactive activity after a status changed caused
by operator input, dispatcher input, or arriving at a location like a shop or tiedown
with an auto status change defined.
Traveling: The truck is traveling empty to a shovel. Empty trucks automatically
enter the traveling activity after ready or after departing from a dump. MineOPS
automatically detects dump departure after a truck travels by more than the
departure_distance from the tipping point.
Waiting: The truck is waiting idle at a shovel. Trucks in the traveling activity
enter the waiting activity after stopping within waiting_distance of a shovel.
When shovels are loading in close proximity, MineOPS assumes the truck is
waiting at the shovel to which it is assigned unless it is outside of the
waiting_distance radius. If the truck is outside the waiting_distance of its
assigned shovel but within the waiting_distance of another shovel, MineOPS
assumes that the truck traveled to the incorrect shovel and relocates it to the
correct shovel.
Spotting: The truck is backing next to the shovel. Trucks in the waiting activity
enter the spotting activity when the GPS detects that the truck has reversed its
heading within the spotting_distance of a shovel. Like the waiting activity,
16

16
Jigsaw Manual - Jigsaw Administrator Training Notes

MineOPS automatically relocates a truck to the correct shovel when it detects the
truck spotting within the spotting_distance of a different shovel from the one to
which it is currently assigned.

Section 2 – Jigsaw System Concepts

2.2 MineOPS Truck Haulage Cycle Automation Continued

Loading: The truck is loading at a shovel. Trucks in the spotting activity enter
the loading activity when the GPS detects that the truck has stopped within the
loading_distance of a shovel after traveling in reverse and the shovel is currently
idle. This mechanism for the start of the load detection provides timely detection
of the start of the load when the truck stops next to the shovel and works without
a payload system. However it can cause spurious start of load events when trucks
stop multiple times while spotting. When the loading_distance is zero, MineOPS
disables the start of the load detection for all trucks having a working payload
system (either TPMS or VIMS). The first dipper signaled by either a
VIMS_DIPPER or TPMS_DIPPER RPC reliably signals the start of the load for
any truck. Loads detected by payload systems verify that the truck’s current
position is within either the loading_distance or the spotting_distance of a
shovel and automatically relocates the truck if not loading at the correct shovel.
Hauling: The truck is hauling to a dump. Trucks in the loading activity enter the
hauling activity when the GPS detects that the truck has traveled by more than
the departure_distance from the loading location. In this case, MineOPS
assumes that the truck is loaded with the material type currently set by either the
dispatcher or shovel operator. The truck can also enter the hauling activity when
either the shovel operator or dispatcher executes the next activity for a shovel
currently loading. When the shovel operator places a truck in the hauling activity,
MineOPS transmits the material type from the shovel to the truck. On entering the
hauling activity, MineOPS generates the correct dump assignment for the truck
based on the material type, LP solution, and truck restrictions in effect for the
truck at that time.
Queued: The truck has arrived at a dump, shop, or tiedown location. Trucks in
the hauling activity enter the queued activity when the GPS detects that the truck
has stopped within the boundary of the location. Unlike DISPATCH, MineOPS
supports arbitrary polygon boundaries for any location that allows precise
destination control. If a truck arrives at an incorrect dump, MineOPS generates an
event log and warning for the truck indicating that the truck has arrived at an
17

17
Jigsaw Manual - Jigsaw Administrator Training Notes

incorrect location. In such cases, MineOPS relocates the truck and records the
dump at the actual arrival location. MineOPS also supports a configurable down,
delay or standby reason for any location. On arrival at a location with a
configured status reason, MineOPS automatically changes the status to the given
reason and changes the activity to inactive.

Section 2 – Jigsaw System Concepts

2.2 MineOPS Truck Haulage Cycle Automation Continued

Backing: The truck is backing prior to tipping at a dump. Trucks in the queued
activity enter the backing activity when the GPS detects that the truck has
reversed its heading within a dump boundary.

Tipping: The truck is tipping at a dump. Trucks in the backing activity enter the
tipping activity when the GPS detects that the truck has stopped within the
tipping_distance of a dump’s boundary. Setting the tipping_distance to zero
disables the GPS detected tipping. Trucks also enter the tipping activity when the
payload system detects either a VIMS_CYCLE or TPMS_TRAYUP RPC.

While a truck is traveling or hauling, MineOPS tracks the precise truck location by road
segment and position. Unlike beacon based systems that only track discrete locations,
MineOPS continuously updates the precise truck position and updates the truck’s ETA at
the shovel. MineOPS detects intermediate call point arrivals as the point at which a truck
moves from one road segment to another road segment. Thus, intermediate call point
arrivals are precisely determined when the truck arrives at an intersection, instead of
when the truck is detected within a circular beacon.

Each location in the database contains a reassignment flag, which allows the mine to
control the points at which the system reevaluates a truck’s current shovel assignment.
However, unlike DISPATCH, which triggered the reassignment request when the truck
was detected within a radius of the location, MineOPS triggers a reassignment request
when the truck enters the road segment, which ends at the given location. This gives the
system and the operator time to respond to the reassignment request before the truck
reaches the intersection.

A configurable offroad_distance parameter controls the maximum distance from a


truck’s current GPS location to the road’s trajectory in the database for a truck to be
considered traveling on a given road. Whenever the truck’s position is within this
distance, MineOPS updates the truck’s current position on the road segment as a fraction
18

18
Jigsaw Manual - Jigsaw Administrator Training Notes

between 0.0 and 1.0. When a truck’s GPS position deviates by more than
offroad_distance from the road’s trajectory, MineOPS scans the database for the next
matching road segment. In this way, MineOPS functions like modern GPS navigation
systems found in automobiles immediately detecting when a truck has passed a given
intersection.

Section 2 – Jigsaw System Concepts

2.2 MineOPS Truck Haulage Cycle Automation Continued

This architecture allows MineOPS to immediately detect misroutes when a truck travels
down a road not on the best path from its starting location to its destination. On detecting
a misroute, MineOPS logs a misroute error and creates a misroute warning visible on the
MineOPS GUI. Later on arriving at a reassignment location, MineOPS reevaluates the
shovel assignment.

2.3 Truck Cycle

Traveling
Waiting
Spotting
Loading
Hauling
Queued
Backing/Tipping

19

19
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 2 – Jigsaw System Concepts

2.3 Truck Cycle Continued

Equipment Cycle
Empty

Waiting

Traveling

Tipping
Backing
Spotting

Loading
Queued
Hauling

20

20
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 2 – Jigsaw System Concepts

2.3 Truck Cycle Continued

Truck Cycle Activities

Out of Cycle Activities

Inactive Any delay or down status.


Empty The Truck is empty and ready waiting for an assignment.
Loaded The Truck is loaded and ready waiting for an assignment.
Moving Empty The Truck is traveling to a shop or shift change location and is
empty.
Moving Loaded The Truck is hauling to a destination that is not a stockpile.

21

21
Jigsaw Manual - Jigsaw Administrator Training Notes

2.4 Shovel Cycle

Waiting
Loading

Section 2 – Jigsaw System Concepts

2.5 Production Data

Load Information
Tipping Information
Activity Information

2.5.1 Load Information

Truck
Shovel
Bench
VIMS Tonnage
Grade

2.6 Jigsaw System Features Summary

 Distributed Database Architecture


Provides reliable operation in networks with incomplete radio coverage.
System control logic performed on-board truck for accurate timing and
reliable data acquisition.
Provides sophisticated operator interface including real-time mine routing
map, operator KPI’s, and shift production.
Eliminates single server point of failure resulting in increased system
reliability and availability.
 Industry Standard Wireless Network Protocols
Commodity radio hardware assures cost effective, extensible, and high-
bandwidth network.
High bandwidth combined with on-board SQL database architecture provides
capacity for detailed data acquisition and analysis.

22

22
Jigsaw Manual - Jigsaw Administrator Training Notes

MineOPS utilizes RSA encryption, firewalls, and VPN technology to secure


the wireless network.
 Standard SQL Database Access On Server and Mobile Devices
Industry standard SQL database design provides easy integration with
reporting services and data analysis tools.

Section 2 – Jigsaw System Concepts

2.6 Jigsaw System Features Summary Continued

 Sophisticated Location and Haul Route Management and Optimization


Best path algorithm supplies routing information directly to truck operators
via on-screen map display.
System logs exceptions for misroutes from best path and adjusts with revised
operator assignments.
System verifies all location arrivals against precise polygon boundaries at
dumps, shops, and tiedowns.
System verifies shovel arrivals and automates the entire haulage cycle.
On-board GPS data analysis algorithms provide precise measurement of
mining activities including waiting, spotting, loading, hauling, queuing,
backing, and tipping.
On-board algorithms match GPS coordinates to determine each truck’s
absolute road position and update ETA once per second.
On-board GPS algorithms measure, record, and store distances and speeds for
the entire haulage network.
 Comprehensive LP Optimization Including Blending and Dumping
Constraints
Linear programming algorithm computes optimal shovel to dump routing to
maximize production.
LP algorithm implements blending to any dump based on assayed material
qualities at digging location.
LP automatically matches material qualities with materials type constraints at
dumps.
LP adjusts shovel feed rates or stockpiles excess production to match
maximum dump capacities.
LP automatically adjusts shovel feeds to match available truck fleet.
23

23
Jigsaw Manual - Jigsaw Administrator Training Notes

LP allows specific shovels to be locked to or restricted from feeding certain


dumps.
LP integrates shovel priorities and material priorities to obey mine production
priorities.
LP provides an adjustable shovel coverage percentage for each shovel to
control the desired coverage level for each shovel.

Section 2 – Jigsaw System Concepts

2.6 Jigsaw System Features Summary Continued

 Efficient Dynamic Assignments Including Fueling, Maintenance, and


Tiedown Decisions
Dynamic programming minimizes queue and hang times by using precise
ETA’s to match trucks with shovels.
Flexible fleet constraints allow each shovel to specify the truck types accepted
for loading.
Trucks or entire truck fleets can be restricted from hauling to specified dumps,
shovels, or from hauling specified materials.
Trucks can be locked to haulage cycles to provide easy operator shift change
procedures.
Trucks can be locked to regions to prevent entering or leaving mining regions.
Flexible truck fleet categories allow shovels to dynamically adjust fleet
restrictions.
System features an extensible assignment infrastructures which provides
fueling, maintenance, and tiedown.
Dynamic programming continuously reevaluates assignment decision when
each truck loads, tips, or arrives at key intersections.
 Interfaces with On-Board Equipment Monitoring and Health Systems
System automatically acquired data from on-board VIMS systems, including
engine hours, fuel level, and exceptions.
Customer programmable triggers provide automated data gathering of any on-
board engine parameter.
Interfaces with tire monitoring systems for accurate measurement and storage
of tire temperature.
 Seamless Migration Strategy from Legacy Mine Management Systems
24

24
Jigsaw Manual - Jigsaw Administrator Training Notes

MineOPS imports data directly from legacy Modular ddb files into its
comprehensive SQL database schema. This data import can function in real-
time while the existing Modular DISPATCH system is operating.
MineOPS systems can gradually replace an existing DISPATCH system by
communicating using the standard RPC protocol during a transition period.
After DISPATCH field equipment is replaced, a single configuration
parameter switches between DISPATCH compatibility mode and running
with complete MineOPS optimization system.

Section 3 – SQL Basics

3.1 Jigsaw Server and Database Introduction

This section will quickly introduce the Jigsaw server, and the database contained on it, as
well as methods of accessing them.

3.1.1 Server

There are two Jigsaw Dell Poweredge 2950 Servers named ngg01 and ngg02
respectively. The first server contains the production database, and the second is the
backup server. To view information from the MineOPS application, the production
server, ngg01 should be used.

3.1.2 Accessing the Production Server

To access the server from a Windows computer, an application called Putty must be
downloaded to obtain a terminal on the server. If an application is already present on the
computer, such as secure shell, it may be used instead.

Step 1: Download Putty at http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe.

Step 2: On the desktop, double-click the Putty icon.


25

25
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 3 – SQL Basics

3.1.2 Accessing the Production Server Continued

Step 3: In the Host Name (for IP address) box, type the mine’s IP address or Domain
name of the mine’s Jigsaw server.

Step 4: In the Port box, type the port name of the mine’s Jigsaw server.

26

26
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 3 – SQL Basics

3.1.2 Accessing the Production Server Continued

Step 5: Click the Open button.

27

27
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 3 – SQL Basics

3.1.2 Accessing the Production Server Continued

28

28
Jigsaw Manual - Jigsaw Administrator Training Notes

Step 6: In the Putty window, or similar program, type your login name, and then tap the
Enter key on the keyboard.

Section 3 – SQL Basics

3.1.2 Accessing the Production Server Continued

29

29
Jigsaw Manual - Jigsaw Administrator Training Notes

Step 7: Type your password, and then tap the Enter key on the keyboard.

Step 8: You now have a shell on the server, and should see the prompt shown below. The
server is running Ubuntu 7.04, and Linux commands may be executed from this shell.

Section 3 – SQL Basics

3.1.3 Naming Conventions

30

30
Jigsaw Manual - Jigsaw Administrator Training Notes

Before proceeding, the naming convention needs to be discussed with regard to the
command prompt, and commands to be issued. When a command needs to be entered,
the document will first show the command prompt (which should be displayed on the
screen) and then the command prompt in bold (which must be entered by the user). There
are two command prompts that will be displayed. These are shown below.
 Linux Prompt – The Linux command prompt is ngg01:-$
A Linux command will appear in this document as:
ngg01:-$ sample_linux_command
The line above tells the Linux computer to execute the command
sample_linux_command.
The user must type the text sample_linux_command exactly as shown, since Linux is
case sensitive.

 PSQL Prompt –The PSQL command prompt is jmineops=>


A PSQL command will appear in this document as:
jmineops=> sample_psql_command.
The line above tells the PostgreSQL database prompt to execute the command
sample_psql_command.
The user should type sample_psql_command exactly as shown. SQL commands may be
entered as lowercase characters, or all uppercase characters. For simplicity, we will use
lowercase bold text for the SQL commands, and the fields to be executed will be put in
brackets.
Example: jmineops=> sql_command [text_field]

Section 3 – SQL Basics

3.1.4 Open The Database

To access the production database, type the following command:


31

31
Jigsaw Manual - Jigsaw Administrator Training Notes

ngg01:-$ psql –U developer jmineops

Since this is the first real command executed, it will be broken down below:
ngg01:-$ - The Linux command prompt.
psql – The Linux command to open a PSQL database.
-U developer – Specifies the user name as developer. This does not change.
jmineops – The name of the PSQL database to be opened. At the time of this
document, there is only one database present on the system. If another database
were added, the name jmineops would be changed to reflect the name of the
database to be opened.

If typed correctly the following text will be displayed:


Ngg01:-$ psql -U developer jmineops
Welcome to psql 8.2.4, the PstgreSQL interactive terminal.

Type: \copyright for distribution terms


\h for help with SQL commands
\? For help with psql commands
\g or terminate with semicolon to execute query
\q to quit

jmineops=>

The user is now connected to the database, and is ready to issue SQL commands to be
executed. The next section will describe these commands in detail.

Section 3 – SQL Basics

3.2 SQL Commands

32

32
Jigsaw Manual - Jigsaw Administrator Training Notes

Once access to the PSQL database has been obtained, the user is ready to execute SQL
commands. SQL commands are recognized by many different databases. PSQL, the
Jigsaw database ,is one of these. The following sections will break down common tasks
used to access and view data.

3.2.1 Viewing Text

After selecting data from the command line, the contents of a table can be displayed in
two manners. If there is a small amount of data in the table, it will be displayed in
completion, and the command prompt will reappear ready for the next command.

If there is a large amount of data to display however, the contents will be brought up for
the user to scroll up and down to view, using the up and down arrows on the keyboard.
To exit out of this view of the data, the q key must be pressed. A common mistake is to
begin typing commands before exiting the view. To fix this, any text accidentally entered
must be deleted, and the q key must be typed. An example is shown below.

The first screen shows a green box in the bottom left corner of the screen. This shows that
the window can be moved up and down, but is not ready to accept select statements until
the q key on the keyboard has been pressed.

Section 3 – SQL Basics

3.2.1 Viewing Text Continued

33

33
Jigsaw Manual - Jigsaw Administrator Training Notes

The second screen shows a common error, the user is trying to enter a command, but the
window is still in view mode. The q key on the keyboard must be pressed to clear this
screen.

The command prompt shown below must be visible for the database to accept a
command.
Jmineops=>

3.2.2 Copy and Paste Text

The windows shortcuts, CTRL + C to copy, and CTRL + V to paste will work in some
Linux environments. They should be used with caution. In postgres, CTRL + C will work
to copy text, but CTRL + V will not work to paste text. Instead, to paste text, use the
right-click on the mouse.

Section 3 – SQL Basics

3.2.3 Resize The Window

34

34
Jigsaw Manual - Jigsaw Administrator Training Notes

It is common to resize the window to a larger size to get all the text to appear on the
screen at the same time. Once you have entered the database however, you must exit and
resize the window before entering. The database will not acknowledge the window is
bigger until this is done.

3.3 Basic Commands

The three sub-sections below show how to navigate the database. These commands do
not require a semicolon at the end of the command, like nearly every other SQL
command. While these three are not the only navigational commands, they are the main
ones needed for the typical user.

3.3.1 The Main Menu

To view a list of contents in the current database, type \h.


jmineops=> \d
This will list the items in the database, shown below.

All of the tables are labeled under the Type column, and can be viewed with a select
statement.
Section 3 – SQL Basics

3.3.2 View Column Names In A Table

35

35
Jigsaw Manual - Jigsaw Administrator Training Notes

To view a list of columns in a table, type jmineops=> \d table_name.

The columns are displayed on the left side. This command is helpful for sorting data,
when you don’t remember the exact name of the columns in a table.

Section 3 – SQL Basics

3.3.3 SQL Help

36

36
Jigsaw Manual - Jigsaw Administrator Training Notes

To view a list of all recognized SQL keywords, type jmineops=> \h

This will list the commands that can be entered, shown below.

The only command needed however, will be the select statement.

3.3.4 Quit

To exit out of the PSQL database, type jmineops=> \q.

3.4 The Select Command

The select command is the command to view data and tables in the database. The
following sub sections will introduce the select statement, and demonstrate how to use it.

Section 3 – SQL Basics

3.4.1 Select All Entries In A Table

37

37
Jigsaw Manual - Jigsaw Administrator Training Notes

The format for using the select statement in its basic form is as follows:
jmineops=> select * from table_name;

The part in bold is how every select statement must begin. In its simplest form, the table
name follows the bold section. Finally, all select statement must end with a semicolon.

Some simple examples of select statement are listed below:

Example 1: jmineops=> select * from equipment;


This example will select all records from the equipment table.

Example 2: jmineops=> select * from devices;


This example will select all records from the devices table.

Example 3: jmineops=> select * from enum_tables;


This example will select all records from the enum_tables table.

Example 4: jmineops=> select * from workers;


This example will select all records from the workers table.

Using the select statement in its basic form will display the whole contents of a table. At
times you will want to view a particular record, or set of records. The next sub-section
examines this topic.

Section 3 – SQL Basics

3.4.2 Select Specific Data

38

38
Jigsaw Manual - Jigsaw Administrator Training Notes

The format for using the select statement in its basic form is as follows:
jmineops=> select * from table_name where column_name=column_field;

The first part of the statement is the same, we just expand it, starting with the where
clause. The where clause specifies that you only want to view part of a table based on
certain criteria. After typing where, you must specify by which column you want to sort
the data by. You can choose any column to sort the data by.

After choosing the column, you must type the equal sign followed by the column field
you wish to view. To demonstrate this we will use the workers table as an example.

Viewing the table using a simple select statement gives 298 results, which may be
inconvenient for searching through the data.

You can view the columns in the workers table by typing jmineops=> \d workers

Every column is a candidate for sorting. Some examples are listed below:

Example 1: jmineops=> select *from workers where id=7;


This example will select the worker with an id of 7.

Example 2: jmineops=> select * from workers where last_name = Duku;


This example will select all workers with the last name Duku.

Example 3: jmineops=> select * from workers where pay_number=21381;


This example will select the worker with a pay number of 21381.

The three examples above were useful for selecting one item from a table. If you want to
select multiple data from the complete list, for example all workers from Crew A, you
use the same principle.

Example 4: jmineops=> select * from workers where crew_id=1159;


This example will select all workers from the crew with the id of 1159 (Crew A).

Section 3 – SQL Basics

3.4.3 Select Data In An Ordered Manner

39

39
Jigsaw Manual - Jigsaw Administrator Training Notes

We now know how to display a complete table, or part of a table. This section explains
how to display the table in an order desired by the user.

jmineops=> select * from table_name order by column_name;

This will order the data by the column chosen. Some examples are listed below:

Example 1: jmineops=> select * from workers order by first_name;


This example will display the workers table, displayed alphabetically by first name,
starting with the letter a.

Example 2: jmineops=> select * from workers order by pay_number;


This example will display the workers table, displayed in numerically increasing order by
pay number, starting with zero.

You can combine the where clause with the order by clause to achieve even more
customized data. In this case, the where should come before the order by, which appears
at the end just before the semicolon.

Example 3: jmineops=> select * from workers where crew_id=1159 order by


pay_number;
This example will display the workers from Crew A, displayed in numerically increasing
order by pay number, starting with zero.

Section 3 – SQL Basics

3.4.4 Select Data With Wildcards

40

40
Jigsaw Manual - Jigsaw Administrator Training Notes

There are times when you know what you are searching for, but can’t remember the exact
phrase you need. There are other times when you want to view data that is similar to
other entries, such as all items that begin with HT.

Wildcards can help with these situations. Wildcards are used to substitute for a string. For
example, all trucks in the equipment table begin with HT. Currently, the first truck is
named HT001 and the last truck is named HT024. Instead of viewing all 24 trucks
individually, you can use a wild card to replace the numbers. The letters HT are common
to all trucks, so the wild card would represent the number of the trucks. The format is
shown below.

jmineops=> select * from table_name where column like ‘known_text%’;

This will order the data by the column chosen. Some examples are listed below:

Example 1: jmineops=> select *from workers order by first_name;


This example will display the workers table, displayed alphabetically, starting with the
letter a.

Section 3 – SQL Basics

3.5 Shortcuts

41

41
Jigsaw Manual - Jigsaw Administrator Training Notes

This section will provide a few shortcuts to make life a bit easier. These commands
should be entered using your computer’s keyboard.

3.5.1 Clear The Screen

To clear the screen, on your keyboard hold down the CTRL key, and then tap the L key
once.

3.5.2 Delete All Text After The Cursor

To delete all text after the curser, on your keyboard hold down the CTRL key, and then
tap the K key once.

3.5.3 Delete All Text Before The Cursor

To delete all text before the curser, on your keyboard hold down the CTRL key, and then
tap the U key once.

3.5.4 View Old Commands

You can cycle through old commands by pressing the up and down arrows on the
keyboard.

Section 3 – SQL Basics

3.5.5 Search Through Previously Typed Commands

42

42
Jigsaw Manual - Jigsaw Administrator Training Notes

To search through previously typed commands, on your keyboard hold down the CTRL
key, and then tap the R key once.

This command will search through all commands typed in the history of commands
stored by the database. After typing CTRL + R, the prompt is ready for you to begin
typing the command you wish to search for.

Once you begin typing the database will search for all commands typed that match
exactly what you have typed so far. For example, if you want to find the command:
‘select * from enum_tables where id=924;’ from the history, you could use the CTRL +
R method.

We assume that the following 10 commands are in the history:


select * from reasons;
\d
select * from enum_tables where id=924;
select * from reasons where id=2;
update grades set material_id=1770, updated_at=getutodate() where material_id=79;
select * from enum_tables;
select * from equipment where name=HT001;
\d shift_loads
insert into display_styles (updated_at, enum_id, display_config) values
(getutodate(), 1774,*_types= {background = String}; background=”red”);
\q

Section 3 – SQL Basics

3.5.5 Search Through Previously Typed Commands Continued

43

43
Jigsaw Manual - Jigsaw Administrator Training Notes

To search for the desired command, you can type CTRL + R, and then begin typing
select. After you type ‘s’, you are eliminating all text in the history that does not begin
with s. The commands in history remaining are listed below.

select * from reasons


select * from enum_tables where id=924
select * from reasons where id=2
update grades set material_id=1170, updated_at=getutodates() where material_id=79;
select * from enum_tables;
select * from equipment where name=’HT001’;

The most recent command in history that begins with s will appear, along with the text
type so far.

You can continue typing, and eliminate more entries until you find your selection, or
continue to press CTRL + R to cycle through the remaining commands that match the
text typed so far. Once the command you want is found, press the right arrow key to
select it.

Section 3 – SQL Basics

3.6 Basic Database Layout

44

44
Jigsaw Manual - Jigsaw Administrator Training Notes

This section will briefly introduce how tables are laid out, and how relationships between
tables exist. If you have worked previously with relational databases, you may skip this
section.

3.6.1 A Sample Table

A relational database contains a set of tables that have values that may be used in other
tables. A basic table has s set of columns, which contain fields used as identifiers, and
rows, which are instances of the table. The columns in the tables cannot contain spaces. A
blank sample table name ‘example’ is outline below.

jmineops=> select * from [example];


id | updated_at | field_1 | field_2 | field_3_id
------+-----------------------+--------------+---------------+-----------------
(0 rows)

This example shows us several details about tables in Postgres.


 The id field is present in every table in the database. This number is unique for
every row, and is used to distinguish specific rows. Every row must contain an id.
 The updated at field is also present in every table. This field is shown as a date in
UTC time. The date is displayed first, followed by the time the record was
updated at. A sample date is: 2007-12-09 17:07:47. A created at field may also
be present in addition, or replacement of the updated at field.
 The field_1 and field_2 columns are informational fields specific to the table.
They may be numbers, text string, or dates, depending on the table.
 The field_3_id column contains a numerical value that is being used by another
table.
 After the last row, the number of rows is listed in parenthesis. In the sample table,
there are no rows, thus no data present.

Section 3 – SQL Basics

3.6.1 A Sample Table Continued

45

45
Jigsaw Manual - Jigsaw Administrator Training Notes

If two rows were added to the table, it would be displayed as shown below.

jmineops=>select * from [example];

id | updated_at | field_1 | field_2 | field_3_id


------+-------------------------------+---------------------+-------------------------+----------------
1 | 2007-12-09 17:07:47 | sample_text | sample_integer | 5
2 | 2007-12-09 17:07:49 | sample_text | | 8
(2 rows)

Some things to note about the updated table are shown below.
 Row two has a column field_2 without data. Some columns are mandatory, while
others may be left blank. This will be looked at more in detail in the next section.
 The field_3_id column contains two integers. This is the topic of the next sub-
section.
 Each row contains a unique record, and must contain a unique id.

Section 3 – SQL Basics

3.6.2 A Sample Relationship

46

46
Jigsaw Manual - Jigsaw Administrator Training Notes

This section shows a typical relationship found in the PSQL database. Using the sample
table from the previous section, we have the following.

jmineops=>select * from [example];


id | updated_at | field_1 | field_2 | field_3_id
------+-------------------------------+---------------------+--------------------------+----------------
1 | 2007-12-09 17:07:47 | sample_text | sample_integer | 5
2 | 2007-12-09 17:07:49 | sample_text | | 8
(2 rows)

The field_3_id is referencing another table (or possibly a column in the same table).
Frequently, the table being referenced is actually a table name with the name of the
column, minus the _id part. Using this layout, we can look for the table called field_3.

jmineops=> select * from [field_3];


id | name | updated_at | field_a | field_2 | field_b_id
------+---------------+---------------------------------+--------------------+------------------------+------------------
1 | item_1 | 2007-12-09 17:08:47 | sample_text | sample_text | 1523
5 | item_5 | 2007-12-09 17:08:49 | sample_text | | 834
6 | item_6 | 2007-12-09 17:09:37 | sample_text | sample_text | 1533
8 | item_8 | 2007-12-09 17:09:49 | sample_text | | 1283
(4 rows)

Some things to note about the table relationships are listed below.
 Row 1 in the example table is referring to Item_5 in the field_3 table. The value
5 in the sample table matches id 5 in the field_3 table, and this its name is given
as Item_5. In the next section, a real example from the MineOPS application will
be used to clarify this relationship.
 There are only four rows in the field_3 table. Rows 2,3,4, and 7 have been deleted
(or edited).
 Even through both tables have a column field_2, they can have different data, and
do not relate to each other.
 The field_b_id column in the second table also references another table. Usually
id columns with large values probably reference the enum_tables table.

Section 3 – SQL Basics

3.6.3 A Real Life Example

47

47
Jigsaw Manual - Jigsaw Administrator Training Notes

To illustrate the relationship between tables, and the relationship between the MineOPS
application and the PSQL database, an example will be shown below using real data.

The Equipment screen from the MineOPS application is shown below.

Section 3 – SQL Basics

3.6.3 A Real Life Example Continued

48

48
Jigsaw Manual - Jigsaw Administrator Training Notes

Selecting EX001, the following screen is displayed.

The following fields are present:


Equipment: Specifies which piece of equipment to view.
Class: The type of equipment the item belongs to, predefined by Jigsaw.
Status: The major status the equipment is in (Down, Delay, Standby,
Maintenance).
STATUS: The specific reason the equipment has for being in its state.
Operator: Who is logged in to the equipment.
Location: Where the equipment is currently located.
Equipment Type: The type of equipment the item is.
Deleted At: The date and time the item was deleted from the database, if
applicable.

Section 3 – SQL Basics

3.6.3 A Real Life Example Continued

49

49
Jigsaw Manual - Jigsaw Administrator Training Notes

The relationship between the office application and the database, as well as the effect of
changing the fields in MineOPS will be examined.

To begin, we will look at the equipment table in the database.

id: 30- The unique row identifier for excavator EX001.


type: Shovel – The class the equipment belongs to, predefined by Jigsaw.
name: EX001 – The name of the equipment record.
created_at: 2007-07-27 17:22:32 – The date and time the record was created at.
updated_at: 2007-07-27 17:22:32 – The date and time the record was updated at.
deleted_at: The date and time the item was deleted from the database, if applicable.
revision: Unused
device_id: 40 – References the fortieth row in the devices table.
status_id: 1327 – References the entry in the enum_tables table with the id of 1327.
reason_id: 2 – References the second row of the reasons table.
lineup_status_id: Unused.
equipment_type_id: 1055 – References the entry in the enum_tables table with the id of
1055.
activity_id: 924 – References the entry in the enum_tables table with the id of 924.
activity_start: 2007-12-10 17:34:36 – The date and time the current activity began.
size: Unused.
tiedown_id: Unused.
unit_it: Unused.

Section 3 – SQL Basics

3.6.3 A Real Life Example Continued

50

50
Jigsaw Manual - Jigsaw Administrator Training Notes

length: Unused.
height: Unused.
project_id: 1 – References the first row in the projects table.
time_late: Unused.
prestart_check: Unused.
warnings: Unused.

3.7 Changing Records in MineOPS

To switch the view in MineOPS to view another piece of equipment, you simply click the
mouse. An example of this is shown below, switching from EX001 to HT001.

Section 3 – SQL Basics

3.7 Changing Records in MineOPS Continued

51

51
Jigsaw Manual - Jigsaw Administrator Training Notes

This simple action accessed the database to retrieve the equipment record. The same
action could be completed in the database with the following command:

jmineops=> select * from equipment where name=’HT001’;

Making the change in MineOPS has the effect of changing rows in the database. In this
case we changed the row 30 (id=30) for EX001 to row 1 (id=1) for HT001.

To continue our example, we will switch back to EX001.

3.8 Viewing Relationships

Looking back to our original example, the record for HT001 has six columns that
reference other tables for EX001 currently being used.

Section 3 – SQL Basics

3.8.1 The device_id Column

52

52
Jigsaw Manual - Jigsaw Administrator Training Notes

The device_id column for EX001 contains a value of 40. To view the relationship, we
need to look at row forty for the devices table.

jmineops=> select * from devices where id=40;

The matching row in the devices table contains an entry for EX001. Looking at the
columns, we see that this table contains networking information for EX001. Changing
the I.P. address in the devices table, for example, will give the record in the equipment
table a more complete picture of EX001.

Both the equipment and devices table are used to set up the system correctly. The next
section shows a field that portrays the current information about a piece of equipment.

Section 3 – SQL Basics

3.8.2 The status_id Column

53

53
Jigsaw Manual - Jigsaw Administrator Training Notes

The status_id column for EX001 contains a value of 1327. This value references the
enum_tables table. We will look at that table, where the id is equal to 1327.

jmineops=. Select * from enum_tables where id-1327;

This row shows that the record for EX001 in the equipment tables is referencing the row
in the enum_tables that contains a value for status of ready. This field is also being used
in the MineOPS application, shown below.

Changing the status in the office application changes the id number the equipment table is
referencing from the enum_tables table.

Section 3 – SQL Basics

3.8.3 The reason_id Column

54

54
Jigsaw Manual - Jigsaw Administrator Training Notes

The reason_id column for EX001 contains a value of 2. To look at the relationship, we
need to look at row two of the reasons table.

jmineops=> select * from reasons where id=2;

This row shows that the record for EX001 in the equipment tables is referencing the
second row (id=2) in the reasons table. This field is also being used in the MineOPS
application shown below.

The display above uses two columns from the reasons table: the descrip, and code fields.
Changing the reason, or STATUS as it is referred to in the office software, changes the
row of the reasons table that EX001 is referencing in the equipment table.

Section 3 – SQL Basics

3.8.4 The equipment_type_id Column

55

55
Jigsaw Manual - Jigsaw Administrator Training Notes

The equipment_type_id column for EX001 contains a value of 1055. This value
references the enum_tables table. We will look at that table, where the id is equal to
1055.

jmineops=> select * from enum_tables where id=1055;

This record shows that the record for EX001 in the equipment tables is referencing the
row in the enum_tables that contains a value showing that the excavator is a Liebherr
994B. This field is set when the equipment is added to the system, and does not need to
be changed once in the system.

Section 3 – SQL Basics

3.8.5 The activity_id Column

56

56
Jigsaw Manual - Jigsaw Administrator Training Notes

The activity_id column for EX001 contains a value of 924. This value references the
enum_tables table. We will look at that table, where the id is equal to 924.

jmineops=> select * from reasons where id=924;

This row shows that the record for EX001 in the equipment tables is referencing the row
in the enum_tables that contains a value for an Activity of Waiting. This field is
constantly changing, as the excavator moves from loading to waiting.

Section 3 – SQL Basics

3.8.6 Other Fields In The Equipment Operations Screen

57

57
Jigsaw Manual - Jigsaw Administrator Training Notes

In the previous sub-sections, we examine the fields in the equipment table that references
other tables. We used the Equipment Operations screen from the MineOPS application as
an example of some of the fields being used from the database.

Not every field that contains a value in the equipment table is used in the Equipment
Operations screen. In fact, only the following fields were used: Equipment (id), Class
(type), Status (status_id), STATUS (reason_id), Equipment type (equipment_type_id),
and Deleted At (deleted_at).

That leaves two fields in the Equipment Operations Screen that were not found in the
Equipment table.

The first is the Operator Field. This field is getting its’ information from the workers
table. The second field is the locations table. This information is collected from the
Garmin GPS device installed on the equipment in the field.

This shows that windows in the office software can contain values from multiple tables,
and finding these values in the database can be tedious.

Section 4 – Reporting

4.1 Descriptions of Shift and Summarization Tables

58

58
Jigsaw Manual - Jigsaw Administrator Training Notes

Jigsaw Database Schema


Description of shift and summarization tables

1. Background
Postgres Relational Database
Free software download for windows and Linux
Overview at http://en.wikipedia.org/wiki/PostgreSQL
Documentation at http://www.postgresql.org/docs/

Tools to Examine Database:


pgadmin3
Free Windows & UNIX download
Supports viewing, editing, sorting: psql - command line interface

2. Overview of Jigsaw Schema


Engineering tables
Equipment, Workers, Locations, Roads, Grades

Configuration tables
Configurations, Enum Table

Shift tables (aka transactions)


Loads, Dumps, Hauls, Activities, States, Fuel, GPS, Drills

Summary tables
Info, Loads, Dumps, Hauls, Statuses, Worker activities

3. Database Replication
All equipment has the same database, in near real time. Field equipment does not have
fully populated database -older shift records, for example.

Data flows both ways:


Central to field: Roads, Positions of all equipment
Field to Central: My position, Loading and dumping records

This allows up to date mine maps on field equipment. This prevents some information
loss when radio is bad, or the central computer is down.
Section 4 – Reporting

4.1 Descriptions of Shift and Summarization Tables Continued

59

59
Jigsaw Manual - Jigsaw Administrator Training Notes

4. Details of Tables
114 tables at pds

Engineering Equipment table

Some intro info that applies to all tables:

We see the data in table format, one row for each equipment.
Different columns for each attribute of the record.
Usual column types are int, float, string, and time.
The id is unique for each row, and is used by other tables to reference this table.
It should not be changed, thus pgadmin3 is best suited for database experts.

The times are in UTC, always AZ + 7 hours.


Created - row first created
Updated - row last changed
Deleted - equipment no longer active, but old shift records will still reference this row, so
it is still needed in the table for historical reports.

Particular info on equipment table:


Name
Type

Note status_id column. All columns with *_id are references to another table. In this case
id number 350 is Ready, id number 385 is Delay, etc.

Workers Table
crew_id - references another table (the enum table)
126 = Crew 2
426 = Crew 4

Note that for reports we must translate these references properly, this will be done with
joins.
Qualifications
(546,467)
546 = CAT D11
467 = experienced
Section 4 – Reporting

4.1 Descriptions of Shift and Summarization Tables Continued

60

60
Jigsaw Manual - Jigsaw Administrator Training Notes

Locations Table
Crusher, Stockpile, many Blasts

A good place to introduce GPS location info:


In raw GPS WGS 84 data format
Elevation in cm
Longitude, latitude in 1/1000 of a second

Example: latitude = 118624739 msec


* 1000 = 118624.739 Sec
/ 3600 = 32.951316 Degrees

An external program (proj) used to convert


GPS <=> mine values

Configurations

enum_table
For those familiar with legacy system, some of this info found in enum.c
Many reports will need to join to this table.
It is important to sort table by type.
Status shows 5 different statuses at pds.
Time Category shows the 9 time categories

Phrases
If you want to use any of the standard reports, but just change a phrase, this table is used.
language_id 1 = English
2 = Spanish

Shift Tables
shift_loads (& shift_dumps)
One record for every load, with Truck, Excavator, Material, Blast and Grade info.

Note that no shift info in record - time_full is used by reports to determine shift.

Note that dump info is a separate record, referenced by dump_id.

Section 4 – Reporting

4.1 Descriptions of Shift and Summarization Tables Continued

61

61
Jigsaw Manual - Jigsaw Administrator Training Notes

Extra load is for manually created records.

Note that haul info, operator info, activity info is not directly referenced by this record.

shift_states
Used for Time reports, reporting on status
time = start of this state
unit:S002 status: Down reason:M_TRIP_SYSTEM at:Blast 3950 E
comment: pulling shim

Note: most records do not have a comment

shift_activities
Used for Time reports, activities performed while ready. Truck production activities are:
Moving Loaded Queue (at dump) Backing Tipping
Moving Empty Queue (at shovel) Spotting Loading

The time_start and time_end fields can be used to place activities in proper sequence,
associate them with load records, etc.

shift_hauls
Used for hauling reports. Both empty and loaded hauls are recorded. The sample data
shown has invalid efh, lift_down, and lift_up values.

shift_logins
Critical for associating workers with all other shift records. They are assumed to be on
the equipment from is_logon = TRUE to is_logon = FALSE
Ideally TRUE is always followed by FALSE.

Note that by sorting data by worker and then by time, we can validate this.

Section 4 – Reporting

4.1 Descriptions of Shift and Summarization Tables Continued

62

62
Jigsaw Manual - Jigsaw Administrator Training Notes

shift_gps
Very useful data for any sort of positional reporting.
GPS location is sampled at sample_time seconds.
16 values are recorded per record. Data is saved in a text vector of 16 comma-separated
values.
Example: speeds = 19,19,17,21,29,16,9,7,0,0,0,2,4,16.37.48
Elevations and X Y data has an initial value and then offsets.
Example: Eastings: 17692.62,91.02,-98.16 ...
X Y data is saved in both GPS values and mine values.
access_points and signal_strength can be used to assess radio coverage. Satellites can
assess GPS quality.

Note that in the sample data there is a problem with access_points and signal_strength
values.

Other tables
shift_fuels: Fueling time and amount
shift_lp: LP solution info
shift_vims: VIMS data, position, time
shift_road_times: No data at pds
shift_mems: No data at pds
shift_prestarts: No data at pds
shift_drills: No data at pds
shift_trams: No data at pds

Summary Tables
Created by summarizer, used by Crystal Reports for shift data.
Compress a large number of shift records into much smaller tables.

sum_eq_loads
Loads by Excavator by shift.
The timestamp was when the summarizer was run.
The shift_info_id is used to find start and end times of a shift.

Section 4 – Reporting

4.1 Descriptions of Shift and Summarization Tables Continued

63

63
Jigsaw Manual - Jigsaw Administrator Training Notes

shift_info
Gives start time and duration of shift.
Most reports will have to join these records to the sum_*records to select by shift.
Similar to sum_eq_loads: sum_blast_loads, sum_detail_loads, sum_grade_loads,
sum_eq_dumps

Dumps by Truck by shift.


Similar to sum_eq_dumps: sum_dump_dumps, sum_detail_dumps, sum_grade_dumps
sum_load_dumps
A general-purpose load and dump record, one record for each load/dump pair. Fields
include:
Load and dump shifts (not always the same)
Operators: Excavator, Truck Loaded, Truck Dumping
Haul records: Loaded and Empty 6 activity records. The activity records are still being
worked on - not all data is being recorded for these 6, and we now have 8 records for full
load dump cycle.

sum_distances
Simple summation of all loaded and empty distance traveled by a truck in a shift.
Distances are in feet or meters, depending on site location.

sum_detail_distances (no data at pds)


A much more detailed summary of equipment-operator, empty up-down-level and lifts
loaded up-down-level and lifts efh, loads & dumps

sum_status_times
Gives the total time during a shift that equipment spent in the different status conditions.
Example: Loader LD001: Scheduled Down 1014 seconds
Unscheduled Down 36900
Ready 5286

Will sum to shift length (43200 for 12 hour shifts) in most cases.

Section 4 – Reporting

4.1 Descriptions of Shift and Summarization Tables Continued

sum_worker_status_times
64

64
Jigsaw Manual - Jigsaw Administrator Training Notes

Similar to above, but broken down by worker-equipment

sum_worker_activity_times
Similar to above, but broken down by worker-equipment, and reporting activity, total
elapsed time spent in this activity, and number of times the activity was performed in the
shift.

5. Review of Views
There are 16 views in the pds database.
A view is basically just a "canned" SQL query.
More views could be added as needed by reports.

SQL query mini guide


Retrieving information (general):
SELECT _columns FROM table WHERE conditions;
All values: SELECT * FROM equipment;
Gives all 29 rows of the equipment table

Some values: SELECT * FROM equipment WHERE name = 'HT004


Gives the row for equipment HT004 if it exists

Multiple critera: SELECT * FROM TABLE WHERE rec1 = "value1" AND rec2 =
"value2";
Selecting specific columns: SELECT name, type FROM equipment
Gives:
Name | type
-------+--------
HT013 | Truck
HT009 | Truck
HT007 | Truck
D002 | Drill

Section 4 – Reporting

4.1 Descriptions of Shift and Summarization Tables Continued

Sorting: SELECT col1, col2 FROM table ORDER BY col2


65

65
Jigsaw Manual - Jigsaw Administrator Training Notes

Select name, type FROM equipment ORDER BY name DESC;


Gives:
Name | type
-------+--------
S004 | Shovel
S003 | Shovel
S002 | Shovel
S001 | Shovel
LD002 | Loader

view_shift_load_with_tonnages
This is identical to the shift_load records, but the deleted records are removed, and the
computed tonnage is added.

SELECT *, material_tonnage (time_full, truck_id, material_id, grade_id, blast_id)


FROM shift_loads
WHERE deleted_at IS NULL

view_load_dumps
Very similar to sum_load_dumps - in fact, is used by summarizer to help prepare sum
load dump information.

view_report_phrases
Used by Crystal Reports
All phrases used in reports at this site (English phrases only).
This illustrates the use of JOINs to replace language_id with actual name, and select
appropriate language for the site.

SELECT languages. Name, phrases. Phrase, phrases. Translation


FROM phrases
JOIN languages ON languages.id = phrases.language_id
JOIN configurations ON configurations. attribute = 'language'
AND configurations. value = languages. Name

Section 4 – Reporting

4.1 Descriptions of Shift and Summarization Tables Continued

view_truck_routes
66

66
Jigsaw Manual - Jigsaw Administrator Training Notes

A very complicated query on current real time truck routing

6. Review of Functions - 47 in pds database

Definition: "In SQL databases, a user-defined function provides a mechanism for


extending the functionality of the database server by adding a function that can be
evaluated in SQL statements."

Note: some functions modify the database; the ones described below do not.

Example: to_local returns local time


Select *, to_local (updated_at) as az_time from languages;

id | updated_at | name | az_time


----+---------------------+---------+---------------------
1 | 2007-10-08 22:51:56 | English | 2007-10-08 15:51:56
2 | 2007-10-08 22:51:56 | Espanol | 2007-10-08 15:51:56

to_utc: Local time to UTC time used by database

activities_for_interval: all activities taking place in this time bracket


eg select * from activities_for_interval('2007-11-11 05:00:00', '2007-11-11 05:01:00');
Returns 19 activities that took place in this minute.

activity_for_interval: similar to above, but only returns certain fields

gps_points: most gps_points that fall within a time interval. The start point must be in the
time interval. Points are displayed in mine values.
select * from gps_points('2007-11-10 05:00:00', '2007-11-10 05:01:00', 1 );
Note: you can skip points by setting final value bigger than 1.

hauls_for_interval: haul records with time_arrive in a given time interval


select * from hauls_for_interval('2007-11-10 05:00:00', '2007-11-10 05:01:00');

Section 4 – Reporting

4.1 Descriptions of Shift and Summarization Tables Continued

Operator (eq_id, time)

67

67
Jigsaw Manual - Jigsaw Administrator Training Notes

Database function that returns the current worker on given equipment. It assumes log on
and log off was done properly.
select * from operator(1, '2007-11-10 20:00:00');

shovel_idle_time(time, time)
select * from shovel_idle_time ('2007-11-10 05:00:00', '2007-11-10 05:10:00');
Gives equipment_id, idle_seconds, queue_seconds, ready_seconds, max_queue,
load_count, truck_ready_seconds in a time interval

time_by_activity (time, time)


select * from time_by_activity('2007-11-10 05:00:00', '2007-11-10 05:10:00');
Gives equipment_id, activity_id, activity_count, activity_total time during a given time
interval.

Section 4 – Reporting

4.2 Publishing Crystal Reports

There are 2 ways to publish Crystal reports:


68

68
Jigsaw Manual - Jigsaw Administrator Training Notes

A. Via Crystal web site as the administrator


Open web browser on web site machine
http://10.7.0.71:8080/businessobjects/enterprise11/adminlaunch/launchpad.html
Note: replace "10.7.0.71" with actual IP of server

Select Central Management Console

Log on
System: pds01
Username: administrator
Password: ****** (varies by site, sometimes "Jigsaw")
Authentication: Enterprise
Select Log On button

Select Destination

Folders
Jigsaw Reports
Select desired folder. If none are appropriate you can create a new folder.

Create new Object

Browse for an existing report

Note: When running on a PC this involves finding the report on your local disk or local
Network. /.../.../"Test".rpt

Select OK button on the "New Object" screen

Note: The report will be published without the ".rpt" extension.

Preview the report

Note: this step is not needed, but is handy to verify that report is functioning properly.

Section 4 – Reporting

4.2 Publishing Crystal Reports

69

69
Jigsaw Manual - Jigsaw Administrator Training Notes

To eliminate database logon start from the Preview screen, or navigate through folders to
"Test".rpt.

Select Process Tab

Select Database screen


Use original database logon information from this report
User: developer
Password: jigsaw

Use same database logon as when report is run

Select Update button.

Now when you preview the report, the database logon is eliminated.

Publish other reports as desired

Note: To "unpublish" a report simply check the box next to it in the subfolder that shows
all reports, the select "Delete" button.

Be sure to Log off

B. From the PC with Business Objects Publishing Wizard

Note where this report is being downloaded. This is handy when you have many reports
to publish. It can be tricky to get networking set up properly. If you are updating a report
that already exists, delete the existing report from Crystal Server.

Start => Programs => BOXI => CR Server => Publishing Wizard

Enter the name of your BEO System.


System: pds01 or actual IP address
User: Administrator
Password: Jigsaw
Authentication: Enterprise
Section 4 – Reporting

4.2 Publishing Crystal Reports Continued

Add Files, then Next


70

70
Jigsaw Manual - Jigsaw Administrator Training Notes

Specify Location, then Next

Confirm Location, then Next

Specify categories

Personal Categories, Jigsaw, then Next

Take default (Specify Schedule) => Next

Take default (Specify Repository Refresh) => Next

Take default (Specify Keep Saved Data) => Next

Change (Change Default Values)

Review or modify properties => Next

Generate thumbnail image => Next (do for each report)

(Specify Database Credentials)

Pick report

Highlight JDBC:POSTGRESQL://CRYSTALSERVER:5432/JMINEOPS

Logon User Name: developer


Logon Password: jigsaw
Next

Note after this it will ask you to select parameters. Proceed through this without selecting
any.

Section 4 – Reporting

4.3 Accessing Jigsaw Data with Microsoft Excel

4.3.1 Computer System Requirements


71

71
Jigsaw Manual - Jigsaw Administrator Training Notes

To access Jigsaw data with Microsoft® Excel your computer must posses the following
requirements:
- Microsoft® Excel 2003
- Microsoft® Query
- Access to your local Intranet

4.3.2 Personal Knowledge Requirements

To access the Jigsaw data with Microsoft Excel basic knowledge of SQL and Microsoft
Excel will be helpful.

Section 4 – Reporting

4.3.3 PostgreSQL ODBC Driver Installation

72

72
Jigsaw Manual - Jigsaw Administrator Training Notes

1. In your local Intranet address bar box, type http://, the mine’s Jigsaw server
address, a colon, and 9099. (Example:http://172.17.150.6:9099) This URL is
specific to mine site, and will not apply to other mines.

2. Right-click the psqlodbc.msi link, and then click Save As Target.

Section 4 – Reporting

4.3.3 PostgreSQL ODBC Driver Installation Continued

73

73
Jigsaw Manual - Jigsaw Administrator Training Notes

3. Click the Save As drop-down menu to open it, choose your desired location from the
list, click it, and then click the Save button.

4. Click the Run button.

Section 4 – Reporting

4.3.3 PostgreSQL ODBC Driver Installation Continued

74

74
Jigsaw Manual - Jigsaw Administrator Training Notes

5. Click the Run button.

6. On the psqlODBC Setup window, click the Next button.

Section 4 – Reporting

4.3.3 PostgreSQL ODBC Driver Installation Continued

75

75
Jigsaw Manual - Jigsaw Administrator Training Notes

9. Click the I accept the terms in the License Agreement box to place a check mark in
it, and then click the Next button.

8. On the psqlODBC Setup Custom Setup window, click the Next button.

Section 4 – Reporting

4.3.3 PostgreSQL ODBC Driver Installation Continued

76

76
Jigsaw Manual - Jigsaw Administrator Training Notes

8. Click the Next button.

9. Click the Finish button.

Section 4 – Reporting

4.3.4 How to the Configure Database Connection

77

77
Jigsaw Manual - Jigsaw Administrator Training Notes

1. Open Microsoft Excel, click the Data menu, click Import External Data, and then
click New Database Query.

2. In the Choose Data Source window, click the Databases tab.

3. Click <New Data Source> once to highlight it, and then click the OK button.

Section 4 – Reporting

4.3.4 How to the Configure Database Connection Continued

78

78
Jigsaw Manual - Jigsaw Administrator Training Notes

4. In the Create New Data Source window, in the What name do you want to give
your data source? box, type JigsawDB.

5. Click the Select a driver for the type of database you want to access: drop-down
menu to open it, choose PostgreSQL Unicode from the list, and then click it.

6. Click the Connect… button.

Section 4 – Reporting

4.3.4 How to the Configure Database Connection Continued

79

79
Jigsaw Manual - Jigsaw Administrator Training Notes

7. In the PostgreSQL Connection window, in the Database box, type jmineops_pds.

8. In the Server box, type zeus.

Note: This name will be different at each mine site.

9. In the User Name box, type developer.

10. Click the SSL Mode drop-down menu to open it, choose disable from the list, and
then click it.

11. In the Port box, type 5432.

12. In the Password box, type the password, and then click the OK button.

Section 4 – Reporting

4.3.4 How to the Configure Database Connection Continued

80

80
Jigsaw Manual - Jigsaw Administrator Training Notes

13. On the Create New Data Source window, click the OK button.

14. On the Microsoft Excel menu bar, click the Data menu, click Import External Data,
and then click New Database Query.

Section 4 – Reporting

4.3.5 How to Retrieve Data with MS Query Wizard

81

81
Jigsaw Manual - Jigsaw Administrator Training Notes

1. In the Choose Data Source window, click JigsawDB once to highlight it.

2. Click the Use the Query Wizard to create/edit queries box to place a check mark in
it.

3. Click the OK button.

Section 4 – Reporting

4.3.5 How to Retrieve Data with MS Query Wizard

82

82
Jigsaw Manual - Jigsaw Administrator Training Notes

4. In the Query Wizard – Choose Columns window, in the Available tables and
columns: section, click your desired options once to highlight them, and then click the
Next button.

Section 4 – Reporting

4.3.5 How to Retrieve Data with MS Query Wizard

83

83
Jigsaw Manual - Jigsaw Administrator Training Notes

5. In the Query Wizard – Filter Data window, in the Column to filter: section click
deleted_at once to highlight it.

6. In the Only include rows where: section, click the deleted_at drop-down menu to
open it, choose is Null, and then click it.

7. Choose the And option by clicking it, and then click the Next button.

Section 4 – Reporting

4.3.5 How to Retrieve Data with MS Query Wizard

84

84
Jigsaw Manual - Jigsaw Administrator Training Notes

8. In the Query Wizard-Filter Data window, in the Column to filter: section, click
time_empty once to highlight it.

9. In the Only include rows where: section, click the time_empty drop-down menu to
open it, choose is greater than from the list, and then click it.

10. Choose the And option by clicking it.

11. In the Only include rows where: section, click the second time_empty drop-down
menu to open it, choose is less than from the list, and then click it.

12. Choose the And option by clicking it.

13. To the right of the time_empty drop-down menus, choose your desired date range,
and then click the Next button.

Section 4 – Reporting

4.3.5 How to Retrieve Data with MS Query Wizard

85

85
Jigsaw Manual - Jigsaw Administrator Training Notes

14. In the Query Wizard – Finish window, choose the View data or edit query in
Microsoft Query option by clicking it, and then click the Finish button.

15. In the Microsoft Query window, click the Table menu, and then click Add
Tables….

Section 4 – Reporting

4.3.5 How to Retrieve Data with MS Query Wizard

86

86
Jigsaw Manual - Jigsaw Administrator Training Notes

16. In the Query from JigsawDB window, in the view_shift_dump_ section, click
shovel_id, and truck_id once to highlight it.

17. In the equipment section, click id once to highlight it.

18. In the equipment_1 section, click id once to highlight it.

Section 4 – Reporting

4.3.5 How to Retrieve Data with MS Query Wizard

87

87
Jigsaw Manual - Jigsaw Administrator Training Notes

19. Click the File menu, and then click Return Data to Microsoft Office Excel. This
will return the data to Microsoft Excel.

Section 4 – Reporting

4.3.6 How to Retrieve Data with SQL Sentences

88

88
Jigsaw Manual - Jigsaw Administrator Training Notes

1. Open Microsoft Excel, click the Data menu, click Import External Data, and then
click New Database Query.

Section 4 – Reporting

4.3.6 How to Retrieve Data with SQL Sentences Continued

89

89
Jigsaw Manual - Jigsaw Administrator Training Notes

2. In the Choose Data Source window, click JigsawDB once to highlight it.

3. Click the Use the Query Wizard to create/edit queries box to place a check mark in
it.

4. Click the OK button.

5. Click the SQL button.

Section 4 – Reporting

4.3.6 How to Retrieve Data with SQL Sentences Continued

90

90
Jigsaw Manual - Jigsaw Administrator Training Notes

6. In the Execute SQL window, in the SQL statement: section, type the desired SQL
statement, and then click the Execute button.

7. Click the File menu, and then click Return Data to Microsoft Office Excel. This will
return the data to Microsoft Excel.

Section 4 – Reporting

4.3.7 Information Storage Basics

91

91
Jigsaw Manual - Jigsaw Administrator Training Notes

Most tables/views contain a deleted_at field. On transactional tables, records with a


deleted_at field must be ignored. On linked tables, they should be included for reporting
purposes.
All timestamps are in UTC (Universal Time Clock). To make queries use the to_utc(ts)
stored procedure. To display returned date/times use the to_local(ts) stored procedure.

3.3.8 Common Linked Tables

Below is a list of common linked tables that will be helpful to understand:


- Equipment (all equipment records): The type field specifies the equipment class.
(Example: Truck, Shovel, etc.) The equipment_type_id field links to the equipment type.
- Locations (all location records): The type field specifies the location type. (Example:
Blast, Dump, or Stockpile)
- Grades (for production data grades): The location_id links to the location where the
grade is located. The material_id links to the material for the grade.
- Reasons (status codes): The status_id links to the status for this code. The
time_category_id links to the time category.
- Enum_tables (enumerations): The type indicates the enumeration type. (Example:
material, status, activity, time category, or equipment type)
- Workers: All of the operators.

3.3.9 Equipment Status and Activities Stored Procedures

Below is a list of statements that will be helpful to understand when you are looking at
equipment statuses, and activities stored:
- Equipment Statuses: States_for_interval (stime, etime)
- Activities Stored: Activities_for_interval (stime, etime)

Notes:
- Ensure that the complete time interval is covered.
- Ignore deleted fields.

Section 5 – System Administration

5.1 Views

92

92
Jigsaw Manual - Jigsaw Administrator Training Notes

Understanding the Help system

Understanding the Jigsaw system configuration


1. Devices (Roles)
- APPLICATIONS
- TRUCK
- SHOVEL
- AUX EQUIPMENT
- OFFICE
- ADMINISTRATOR
- DISPATCHER
- ENGINEERING
- SUPERVISOR
- ORE CONTROL
- REPORTING

Devices utilities configure the MineOPS main menu bar

Section 5 – System Administration

5.1 Views Continued

93

93
Jigsaw Manual - Jigsaw Administrator Training Notes

Each utility in the list corresponds to a view in the configurations table. For example for
the ADMINISTRATOR role, the applications, operations and lpmenu utilities are menu
views configured in the configurations table. Each menu configuration in the database
will have an "_view" suffix. For example, the applications menu will have the following
configuration in the database.

- module = applications_view. View name


- application = jminegraph
- name = OFFICE. Device name
- attribute = init. Values will be passed to the view at instantiation time
- value = view=menu;views=jsmine,jsmtc
- view = menu. Indicates is an instance of Menu View
- views = jsmine,jsmtc. List of views to be presented on that menu. jsmine (mine map),
jsmtc (mine traffic screen)

- module = operations_view. View name


- application = jminegraph
- name = OFFICE. Device name
- attribute = init. Values will be passed to the view at instantiation time
- value = view=menu;views=jsmine,jsmtc
- view = menu. Indicates is an instance of Menu View
- views =
truck,shovel,dozer,shovel_coverage,dump,stockpile,inpit,blast,grade,equipment_operatio
ns,dispatching,events2,truck_kpi,restrictions,messenger,events_text,truck_warnings,truc
k_misroute

Section 5 – System Administration

5.1 Views Continued

94

94
Jigsaw Manual - Jigsaw Administrator Training Notes

Dozer View

- module = equipment_view. View name


- application = jminegraph
- name = OFFICE. Device name
- attribute = init. Values will be passed to the view at instanciation time
- value =
view=equipment;class_name=Dozer;attrs=name:ro,activity,reason,operator,maintenance.
fuel_remaining:ro,traveling.elevation,dozing.target_elevation,dozing.elevation_diff,travel
ing.location,traveling.coordinate:ro;enable_vnc=true
- view=equipment. Base view is equipment view
- class_name=Dozer. View will show only Dozers. Dozer is a subclass of Equipment.
This is matched against the "type" column on the equipment table
attrs=name:ro,activity,reason,operator,maintenance.fuel_remaining:ro,traveling.elevation,
dozing.target_elevation,dozing.elevation_diff,traveling.location,traveling.coordinate:ro
name:ro = name read only
- activity = Equipment Activity popup menu. Will show only activities for that
equipment type.
- reason = Reasons popup menu
- maintenance.fuel_remaining:ro. Percent fuel remaining. This attribute is implemented
in the maintenance.rb model and not as a database field.
- traveling.elevation. Elevation from the traveling record.
- traveling.location. Location from traveling record
- traveling.coordinate:ro. Coordinate from traveling record. The coordinate attribute is
implemented in the model as a composed_of attribute. This attribute implements the
transformation between gps coordinates and mine coordinates
- enable_vnc=true. Enable vnc button

Section 5 – System Administration

5.1 Views Continued

95

95
Jigsaw Manual - Jigsaw Administrator Training Notes

Object/Relational Mapping Overview

ORM libraries map database tables to classes. If a database has a table called equipment,
our program will have a class or model named Equipment. Rows in this table correspond
to objects of the class—particular equipment is represented as a model of class
Equipment. Within that model, attributes are used to get and set the individual columns.
Our Equipment model has methods to get and set the name, the size, and so on.
Active Record is the ORM layer supplied with Rails. It closely follows the standard
ORM model: tables map to classes, rows to objects, and columns to object attributes. It
differs from most other ORM libraries in the way it is configured. By relying on
convention and starting with sensible defaults, Active Record minimizes the amount of
configuration that developers perform.

For relationships not stored directly in the parent table a has_one relationship is defined.
The child class will have a belongs_to relationship to the parent.

class Equipment < ActiveRecord::Base


set_table_name "equipment"
has_one :traveling, :dependent => :destroy
has_one :maintenance, :dependent => :destroy
has_one :operator,
:class_name => "Worker",
:foreign_key => "equipment_id"
belongs_to :device
belongs_to :unit, # deprecated field
:class_name => "Enum::Unit",
:foreign_key => "unit_id"
belongs_to :status,
:class_name => "Enum::Status",
:foreign_key => "status_id"
belongs_to :reason
belongs_to :lineup_status,
:class_name => "Enum::Status",
:foreign_key => "lineup_status_id"
belongs_to :lineup_reason,
:class_name => "Reason",
:foreign_key => "lineup_reason_id
Section 5 – System Administration

5.1 Views Continued

96

96
Jigsaw Manual - Jigsaw Administrator Training Notes

belongs_to :equipment_type,
:class_name => "Enum::EquipmentType",
:foreign_key => "equipment_type_id"
belongs_to :activity,
:class_name => "Enum::Activity",
:foreign_key => "activity_id"
belongs_to :tiedown,
:class_name => "Location",
:foreign_key => "tiedown_id"
belongs_to :project
composed_of :warnings,
:class_name => 'WarningList',
:mapping => [ :warnings, :to_s ]

class Maintenance < ActiveRecord::Base


set_table_name "maintenance"
belongs_to :equipment
composed_of :tkph_avg,
:class_name => "FloatList",
:mapping => [ :tkph_avg, :to_s ]
composed_of :tkph_max,
:class_name => "FloatList",
:mapping => [ :tkph_max, :to_s ]
composed_of :tire_positions,
:class_name => 'TirePositionList',
:mapping => [ :tire_positions, :to_s ]
composed_of :tire_pressures,
:class_name => 'IntegerList',
:mapping => [ :tire_pressures, :to_s ]
composed_of :tire_temperatures,
:class_name => 'IntegerList',
:mapping => [ :tire_temperatures, :to_s ]

Section 5 – System Administration

5.1 Views Continued

97

97
Jigsaw Manual - Jigsaw Administrator Training Notes

Models can also be extended. Truck, Shovel, and all specific model inherit from
Equipment. The < indicates that Truck inherits from Equipment.

class Truck < Equipment end

- module = equipment_view. View name


- application = jminegraph
- name = OFFICE. Device name
- attribute = init. Values will be passed to the view at instanciation time
- value =
class_name=InpitDump;controller_name=location_controller;attrs=name,class:ro,locatio
n_type,status,feed_rate:ro,total_trucks:ro,dumping.capacity,dumping.dump_time:ro,dum
ping.materials,beacon.radius,coordinate.easting,coordinate.northing,elevation,region,loca
tion_category;actions=apply,delete
- class_name=InpitDump. Will show only InpitDumps. InpitDump is a subclass of
Dump which is a type of Location. This is matched against the type on the locations table
- controller_name=location_controller
- view = editor_view. Default
attrs=name,class:ro,location_type,status,feed_rate:ro,total_trucks:ro,dumping.capacity,du
mping.dump_time:ro,dumping.materials,beacon.radius,coordinate.easting,coordinate.nort
hing,elevation,region,location_category name
- class:ro. Show dump type (InpitDump)
- location_type
- status
- feed_rate:ro. Real time feed rate value. Not a database attribute but a model attribute
- total_trucks:ro. Real time number of trucks assigned or tipping at that dump.
- dumping.capacity

Section 5 – System Administration

5.1 Views Continued

98

98
Jigsaw Manual - Jigsaw Administrator Training Notes

- dumping.dump_time:ro
- dumping.materials
- beacon.radius
- coordinate.easting
- coordinate.northing
- elevation,region
- location_category
- actions=apply,delete

There is a set of standard views


- aggregate
- array
- composed
- browser
- dashboard
- dump
- editor
- equipment
- event_log
- layer
- canvas
- menu
- menu_editor
- pivot
- messages
- restriction
- shift
- shift_load_multi
- shift_multi_hour
- jsmine

Section 5 – System Administration

5.1 Views Continued

99

99
Jigsaw Manual - Jigsaw Administrator Training Notes

- jsmtc
- truck
- shovel

Menu View
Creates a simple menu or submenu in MineOPS. The views are a list of menus or other
views.

Example operations_view, engineering_view

Editor View
Main system view. Supports table and layout views. It provides a set of configuration
parameters

# view = parent view to use. Defaults to editor_view


# class_name = Base class name for editor
# attrs = Base class attributes to be displayed by editor view.
Each attributes support the following options.
"ro" make attribute read only
"nil" provides a clear option on the popup menu
"view" links 2 view together using a composed view.
# detail_attrs = Detail class attributes to be displayed by the editor view
# new_attrs = Attributes to be shown on new_view
# controller = Controller class_name to use. Defaults to Application Controller.
Controllers can be extended to implement view specific functionality
# access = view access mode (ro,rw). Defaults to rw
# types = editor view types (table,layout). Defaults to table and layout
# actions = supported actions (apply,add,delete). Defaults to apply
# panel = editor is a panel not a dialog. Defaults to false
# auto_apply = Remove apply button and auto_apply changes (true/false)
# filter_expr = Predifined filter based on object instance
# conditions = Predifined database filter. Rails conditions to be passed to find method.
# single_selection = Specifies if the view is for a database singleton (only one record)
# refresh_interval = time in seconds for auto refreshing the view in layout mode
# linked_views = used to link views
# deleted_view = Specifies if the view supports showing deleted records
# scrollable_size = Maximum scrollable size for the view. Defaults to 800,500
Section 5 – System Administration

5.1 Views Continued

100

10
Jigsaw Manual - Jigsaw Administrator Training Notes

# sound_cmd = system command for GUI beep


# include = Option to include other tables at load time
# EditorView can be extended by reimplementing 'view' method
# EditorView supports modification views
# ClassView = MenuView to categorize objects by class
# NewView = View used to create new object
# ListView = View used to show has many relationships
# DeletedView = View used to show deleted records

Example worker_view

- module = worker_view. View name


- application = jminegraph
- name = OFFICE. Device name
- attribute = init. Values will be passed to the view at instanciation time
- value =
attrs=last_name,first_name,pay_number,hire_date,crew,worker_category,qualifications:v
iew;actions=apply,add,delete
- class_name=Worker. Default by view name
- controller_name=application_controller
- view = editor_view. Default
- actions=apply,add,delete
attrs=last_name,first_name,pay_number,hire_date,crew,worker_category,qualifications:v
iew
- last_name
- first_name
- pay_number
- hire_date,crew
- worker_category
- qualifications:view

Section 5 – System Administration

5.1 Views Continued

101

10
Jigsaw Manual - Jigsaw Administrator Training Notes

Example grade_view

Example grade_view

Example grade_view

Example grade_view

Section 5 – System Administration

5.1 Views Continued


102

10
Jigsaw Manual - Jigsaw Administrator Training Notes

Example grade_view

Shift View
Extension of editor view. Provides single shift selector button

Shift Load Muilti View


Extension of editor view. Provides multi shift selector view buttons

Section 5 – System Administration

5.1 Views Continued


103

10
Jigsaw Manual - Jigsaw Administrator Training Notes

Shift Load Muilti View

Shift Load Muilti View

Section 5 – System Administration

5.1 Views Continued


104

10
Jigsaw Manual - Jigsaw Administrator Training Notes

Pivot View
# group_attrs = attributes to group by
# funct_attrs = attributes to apply functions to. Available functions count, sum, min, max,
avg, wavg and variance
# time_field = Time selection field for shift tables
# extra_attrs = Extra attributes to be shown by aggregation
# auto_load = auto load view using current shift information
# num_shift = number of shift to auto load
# auto_export = export information as soon as the view is opened

Equipment View
Extension of editor view. Base view for equipment. Provides the following configuration
parameters
delayed_assignments = Enable option to delay assignments (true/false)
filter_by_equipment_type = Enable option to filter reasons menu by equipment type
(true/false)
enable_vnc = Enable option to open a direct vnc connection from view (true/false).
Provides a set of default actions

Truck View
Extension of Equipment View. Provides extra default truck actions

Location View
Editor view extension.

Section 5 – System Administration

5.1 Views Continued

105

10
Jigsaw Manual - Jigsaw Administrator Training Notes

Dump View
Editor view extension. Provides option for configuring blend model template

Inbox View

Section 5 – System Administration

5.1 Views Continued


106

10
Jigsaw Manual - Jigsaw Administrator Training Notes

Aggregate Dash View


Used to aggregate views in the window or dialog. Supports tabs, xbox, and ybox layouts.

Example supervisor_view

Messenger View

Canvas View
# views = List of available layers
# local = Mine local transform
# size = Canvas size
# access = Canvas access. Defaults to rw
# background = Canvas background color

Example canvas_view

Section 5 – System Administration

5.1 Views Continued


107

10
Jigsaw Manual - Jigsaw Administrator Training Notes

Example canvas_view

Example canvas_view

Example canvas_view

Layer View

Section 5 – System Administration

5.2 Client Extension


108

10
Jigsaw Manual - Jigsaw Administrator Training Notes

Model Extensions
Auto Lineup Extensions

5.3 Windows Client Installation and Environment Configurations

Running the MineOPS.exe Installer


MineOPS Version Number and Auto Update
Installing VNCViewer
Environment Variables

5.4 Troubleshooting

Critical Server Processes


JAMS, JAMSCluster, OpenVPS, NTPd, SQLBackup, Crystal Reports
Server Logs – Located At /opt/Jigsaw/Logs
Debugging (enable object_name)
Replication Clients
SSH Tunnel for Support

5.4.1 Windows Client Troubleshooting

Windows Client Logs – Located At x:\Program Files\MineOPS\Logs

5.4.2 Field Client Troubleshooting

Critical Client Process (JAMS, VPN Tunnel, Network Interfaces)


Client Logs – Located At /opt/Jigsaw/Logs
Reloading SQLite Database
Debugging – enable object_name
Section 5 – System Administration

109

10
Jigsaw Manual - Jigsaw Administrator Training Notes

5.5 Adding New Equipment

Create Equipment Using Equipment View (Truck, Shovel, Drill, Aux)


Assign Project, Equipment Type, Device, IP Address
Create VPN Keys for Equipment
Packing VPN Keys
Updating Memory Stick

5.6 Creating A New Memory Stick

1.Figure out which device is the memory stick. Currently in the server
the device is sdb
2.Create file partition in memory stick (as root). Primary partition
fdisk /dev/sdb
root@jigsaw1:~# fdisk /dev/sdb

Command (m for help): m


Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disk label
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Section 5 – System Administration

110

11
Jigsaw Manual - Jigsaw Administrator Training Notes

5.6 Creating A New Memory Stick Continued

Command (m for help): d


Selected partition 1

Command (m for help): n


Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1014, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1014, default 1014):
Using default value 1014

Command (m for help): w


The partition table has been altered!

Calling ioctl() to re-read partition table.


Syncing disks.

3.Create file system in memory stick


root@jigsaw1:~# mke2fs -j /dev/sdb1
mke2fs 1.40-WIP (14-Nov-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
128000 inodes, 255524 blocks
12776 blocks (5.00%) reserved for the super user First data block=0
Maximum file system blocks=264241152
8 block groups
32768 blocks per group, 32768 fragments per group 16000 inodes per group
Super block backups stored on blocks:
32768, 98304, 163840, 229376

Writing inode tables: done


Creating journal (4096 blocks): done
Section 5 – System Administration

111

11
Jigsaw Manual - Jigsaw Administrator Training Notes

5.6 Creating A New Memory Stick Continued

Writing super blocks and file system accounting information: done

This file system will be automatically checked every 21 mounts or 180


days, whichever comes first. Use tune2fs -c or -i to override.

4. Mount memory stick


$mount /dev/sdb1 /mnt/flash/

5.Untar winsys Linux distro


$cd /mnt/flash/
$tar xfjp /opt/Jigsaw/Tablet/images/winsys-1.1.001.tar.bz2

6.Untar equipment keys


$tar xfvzp ~jigsaw/nnt_keys2.tgz

7.Unmount memory stick


umount /mnt/flash/

Section 6 – Optimization

112

11
Jigsaw Manual - Jigsaw Administrator Training Notes

6.1 MineOPS Optimization

6.1.1 Abstract

The Jigsaw MineOPS system contains state of the art optimization algorithms, which
utilize the processing power and network bandwidth of modern computer systems to
provide optimized truck allocation. By utilizing the innovative distributed SQL database
architecture of MineOPS, these algorithms achieve precise truck tracking, arrival time
prediction, and idle time prediction not possible with RPC message based systems of the
past. The MineOPS algorithms combine many techniques used and proven in past
systems with new algorithms made possible by the use of modern PC based components
in a distributed, high-speed wireless LAN. By combining modern powerful PC hardware
with distributed database architecture, MineOPS achieves a level of scalability and
optimization not possible with legacy architectures.

6.1.2 System Architecture

Unlike existing mine optimization systems that use a single centralized server, MineOPS
utilizes distributed database architecture. Each MineOPS device has a replicated copy of
the real-time SQL database with the current status of the entire mining operation. This
database includes but is not limited to:

• Current position and status of all equipment


• Current LP optimization solution
• Current road network
• Material blast blocks and boundaries
• Dump locations and boundaries
• Complete operator database
• Transaction oriented shift database for upload to central server

Each MineOPS truck interfaces with on-board monitoring systems including but not
limited to:

• GPS for current real-time position


• Caterpillar VIMS for truck weights, load-cycle automation, and
health monitoring
• Caterpillar TPMS for truck weights and load-cycle automation
• Michelin MEMS for tire monitoring
Section 6 – Optimization

113

11
Jigsaw Manual - Jigsaw Administrator Training Notes

6.1.2 System Architecture Continued

Using the on-board interfaces in combination with the current real-time SQL database
provided by the MineOPS replication system, each vehicle automatically tracks it's own
current activity, position, and status. Unlike the RPC based systems of the past,
MineOPS does not need 100% communication with the server because the logic to
perform routine transactions like arrivals, assignments, loading, and tipping are
performed by software on the vehicle rather than by communicating with a central server.
In addition, because all shift data is generated on the vehicle and stored in the replicated
SQL database, data is not lost due to communication errors and timestamps represent the
accurate time at which an event occurred even when radio communications are
unavailable.

The distributed MineOPS architecture is mirrored on the central server. Unlike legacy
systems, which run a single central message based process to handle low-level
transactions, the central MineOPS server performs the following functions:

• Database replication of SQL tables to wireless clients


• Computation of LP optimization solution
• Computation of optimal truck assignments
• Application database access to office users
• Mine KPI computation and reporting

The MineOPS architecture increases the reliability and scalability of the system
compared to legacy systems, which have a single centralized transaction process. Instead
of the traditional architecture, which requires manual switchover from primary to backup
machines, MineOPS allows multiple active replication servers for unmatched scalability
and reliability.

Section 6 – Optimization

114

11
Jigsaw Manual - Jigsaw Administrator Training Notes

6.1.3 Best Path Road Network Optimization

The MineOPS SQL database contains a comprehensive road and location database which
describes the current mine haulage network. The location database includes a record for
various types of locations including:

• Blasts
• Dumps
• Crushers
• Stockpiles
• Shops
• Call Points

A separate road database includes a record for each road segment, which connects two
locations. Each road segment is described by either a line or a curve, the total distance,
empty/loaded travel times, speed limits, etc.

For the system to determine the path a truck must travel to go between any two locations
in the mine, the systems uses an enhanced Dijkstra's path computation algorithm. This
algorithm starts at any known location and returns the shortest paths to all other locations
in the mine map.

Although existing systems also employ a similar path algorithm in the central transaction
process, MineOPS unique distributed database architecture executes this algorithm on
board every vehicle. Using a graphical map on each vehicle, MineOPS displays to the
operator the exact path he should take to his destination.

MineOPS also incorporates a new algorithm, which matches the current GPS coordinate
of the vehicle to an absolute position on a road segment. This algorithm, which replaces
the simple virtual beacons used in legacy systems, precisely locates the truck on a road
and allows the immediate detection of misroutes. Additionally it provides the
optimization algorithm with precise arrival time prediction necessary to accurately
compute and minimize idle and queuing times.

Section 6 – Optimization

115

11
Jigsaw Manual - Jigsaw Administrator Training Notes

6.1.4 Linear Programming (LP) Optimization

MineOPS utilizes the simplex algorithm to compute a set of optimal path rates between
shovels and dumps. The resulting LP solution represents the rate at which the system
should assign trucks to each haulage path. MineOPS uses these paths, not the shovels
themselves to generate individual truck assignments.

6.1.5 Continuity Constraints

The most basic constraint is that of continuity, which states that, the total flow into a
shovel or dump must equal the flow out of that shovel or dump.

6.1.6 Material Constraints

Material constraints force shovels digging waste to feed waste dumps; shovels digging
ore to feed appropriate crushers, stockpiles, or leach dumps. MineOPS includes a very
general-purpose material constraint schema. The mine defines any number of 'Material'
types in the enumeration database table. Each grade block in the mine is then associated
with a single material type.

Each dumping location accepts one or more of the Material types specified. When a
shovel specifies the grade(s) being dug, the LP optimization solution configures paths
only to those dumps, which accept the material being dug by the shovel.

6.1.7 Shovel Digging Rate Constraints

Each operating shovel has a limit on the rate at which it can produce material. MineOPS
continuously measures and updates this digging rate by measuring the time required to
spot and load each truck and the tonnage of material produced. The LP solution
incorporates this digging rate as a constraint, which specifies that the total of all paths
leaving a shovel must be less or equal to the shovel's maximum dig rate.

Section 6 – Optimization

116

11
Jigsaw Manual - Jigsaw Administrator Training Notes

6.1.8 Blending Constraints

The LP solution enforces blending constraints to control the quality of material produced
at specific dumps. To configure blending, the mine first specifies a list of material
qualities for each material block. For example, a gold/copper mine might specify %Au
and %Cu as material qualities. Each material block contains assayed values for all the
quality parameters, typically obtained from the mine planning system.

MineOPS contains a BlendModel database in which operations defines different blending


constraints to be incorporated into the LP solution. Each Blend Model defines the
following parameters.

• Blending control mass, ie. Tonnage, which must remain within specifications
• Blending control interval, time over which blend is computed
• Minimum quality value
• Maximum quality value
• Current average quality value

To enable blending at a particular dump or crusher, mine operations associates the dump
with a Blend Model. Linear programming insures that for each Blend Model, the total
material produced from the face during the blending interval results in an average quality
between the configured minimum and maximum quality parameters.

6.1.9 Available Truck Haulage Constraints

Many if not most mines operate with fewer trucks than are required to completely cover
the shovels. In these under-trucked scenarios, LP can optionally configure a total truck
haulage constraint, which automatically decreases feed rates to low priority or long haul
shovels such that the required truck haulage matches that actual available truck haulage.

For mines, which incorporate multiple pits, the LP algorithm creates separate haulage
constraints for each pit to avoid starving shovels in one pit due to insufficient trucks in
another pit.

Section 6 – Optimization

117

11
Jigsaw Manual - Jigsaw Administrator Training Notes

6.1.10 Shovel Restrictions

The LP optimization supports locking of shovels to specific dumps or restricting shovels


from feeding certain dumps. These constraints are more restrictive than material
constraints, since they force the LP solution to only consider certain specific dumps as
candidates for assignments.

6.1.11 Grade Restrictions

The LP optimization supports locking of grade blocks to dumps or restricting a specific


grade block from being assigned to certain dumps. These restrictions are less restrictive
than shovel restrictions since they only apply to shovels digging a specific material block.

6.1.12 Shovel Priorities

The LP solution supports low, medium, and high priorities for any shovels. Shovel
priorities ensure that high priority shovels are covered preferentially over lower priority
shovels.

6.1.13 Material Priorities

The LP solution supports low, medium, and high priorities for all Material types defined
in the enumeration database. Unlike shovel priorities, material priorities only apply to
shovels when that shovel is digging the selected material type. Thus, if a shovel changes
from digging ore to waste, it automatically switches to the associated waste priority.

Section 6 – Optimization

118

11
Jigsaw Manual - Jigsaw Administrator Training Notes

6.1.14 Shovel Coverage Factors

MineOPS supports a percent coverage factor for each shovel. Setting the coverage factor
less than 100% allows the mine to cover high priority shovels up to the specified
percentage, with the remaining coverage being distributed among lower priority shovels.
Coverage factors can also be higher than 100% to insure minimal hang time for very high
priority shovels.

6.1.15 Objective Function

The objective function is the linear function, which LP optimizes. The existing 'haulage'
objective function represents the truck haulage requirements to cover the operating
shovels. This function has units of 'tonnes' and results in a solution, which maximizes the
coverage of the operating shovels given the existing haulage constraints.

Unlike legacy systems, MineOPS can easily replace the objective function with different
alternatives. In 2008, Jigsaw will release alternative optimization functions, which
compute minimum cost, or maximum profit rather than maximum shovel coverage.

6.1.16 Dynamic Truck Allocation

Although the LP solution gives an optimal set of feed rates between shovels and dumps,
it does not compute each individual truck assignment. To optimally assign trucks to
match the LP selected feed rates, MineOPS incorporates an innovative truck allocation
algorithm that utilizes the following information gathered and stored in the distributed
MineOPS SQL database:

• Current truck position and speed


• Projected truck arrival times at destination
• Projected truck arrival times at shovels
• Current shovel queues
• Current shovel digging rates
• Recent truck assignments to each path

Section 6 – Optimization

119

11
Jigsaw Manual - Jigsaw Administrator Training Notes

6.1.17 Continuous Position Tracking and Accurate Arrival Time Prediction

Unlike existing systems that only track arrival at fixed virtual beacon locations, MineOPS
equipment continuously match the current GPS coordinate to a road position. This
results in a continuous update of equipment location and accurate prediction of arrival
times not possible with beacon based systems. Continuous position tracking also allows
the immediate detection of and compensation for misroutes, like a modern GPS
navigation system tells the user if he has passed a highway exit ramp.

Continuous position tracking is made possible by MineOPS unique distributed database


architecture which efficiently replicates database changes throughout the mine's wireless
network.

6.1.18 Idle/Travel Time Minimization

Using the current truck positions and projected arrival times, the central optimization
server continuously recomputed the next shovel assignment for each ready truck. This
dynamic truck allocation algorithm uses the current position and projected arrival times
of trucks to created an ordered queue of trucks at each shovel. The algorithm then
computes a set of assignments, which minimize the total cost C.

C = Ct * Ti + Ci * (Hi + Wi)

Ti Travel time of i'th truck assignment to a given LP path.


Hi Projected shovel hang time at the time of arrival at shovel
Wi Projected truck waiting time at the time of arrival at shovel
Ct Relative cost for excess travel time, default 1.5
Ci Relative cost for idle time, default 1.0

By forecasting shovel queues at an accurate projected arrival time and comparing


projected assignments based on projected idle times, MineOPS dynamic truck allocation
aggressively minimizes truck and shovel idle times. This eliminates the bunching of
trucks, which often occurs when multiple trucks receive assignments that result in
overlapped shovel arrivals.

Section 6 – Optimization

120

12
Jigsaw Manual - Jigsaw Administrator Training Notes

6.1.18 Idle/Travel Time Minimization Continued

Unlike existing message based systems which compute an assignment for the current
truck at the time the truck requests assignment, the MineOPS optimization server
recomputed the future shovel assignments for all trucks when any truck loads at a shovel
or dumps at a dump. This ensures that the next optimal shovel assignment is always
available in the replicated assignment record onboard each truck and eliminates
communications problems at dumps which may not have radio coverage.

6.1.19 Truck Reassignments

While a truck is traveling empty to a shovel, conditions can change such that the existing
assignment decision is non-optimal. Such conditions include shovel delays, slow downs,
truck delays, or additional trucks being ready. Existing systems, which make
reassignments at virtual beacons often, make poor decisions, which require the truck to
backtrack or take non-optimal routes to the reassignment shovel. Because such systems
imprecisely track a truck's location and incur a significant delay between beacon arrival
and receipt of a reassignment, a truck is often past the reassignment beacon before
receiving the assignment.

MineOPS evaluates reassignments when a truck enters a road segment, which ends with a
selected reassignment point. The system limits the search for possible reassignments to
only those shovels, which would not require backtracking or reversal. Thus, as a truck
gets closer to a shovel, the potential candidates for reassignments decrease. This
algorithm insures that the path taken from a truck's starting location to its destination
shovel is optimal and does not cause a "pit tour" as the system generates new shovel
reassignments.

Section 6 – Optimization

121

12
Jigsaw Manual - Jigsaw Administrator Training Notes

6.1.20 Summary

MineOPS combines a distributed SQL database architecture, powerful PC architecture,


and state of the art algorithms to create a powerful, scalable next-generation solution for
mine optimization and control. By using proven linear programming algorithms,
accurate position tracking, and aggressive minimization of idle and travel times,
MineOPS provides optimal truck assignments. MineOPS standard SQL database,
distributed architecture, and haul cycle automation solve the communications problems
which plague existing systems which rely on sending RPC messages to a central
transaction server.

Section 7 – MineOPS Install

122

12
Jigsaw Manual - Jigsaw Administrator Training Notes

7.1 Requirements and Suggestions

The additional installations required by the MineOPS system, and their compatibility
with the same, have been tested to ensure the best possible functionality of MineOPS.
Any problems or concerns regarding the download of such programs should be discussed
with a member of your local I.T Services Team.

7.1.1 Required Software

Adobe Flash Player:


http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=Shoc
kwaveFlash
Version: 9, 0, 115, and 0

PuTTY:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Version: putty.exe

REAL VNC:
http://www.realvnc.com/products/download.html
Version: 4.1

7.1.2 Current Version

MineOPS 1.039.057
Copyright © 2004-2007 Jigsaw Technologies

http://www.jigsawtech.com

Section 7 – MineOPS Install

123

12
Jigsaw Manual - Jigsaw Administrator Training Notes

7.2 Adobe Flash Player Download

Step 1: In your Web browser address bar type,


http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=Shoc
kwaveFlash, and then tap the Enter key on the keyboard.

Step 2: Click the Download Now button.

Step 3: Click the Save File button.

Section 7 – MineOPS Install

124

12
Jigsaw Manual - Jigsaw Administrator Training Notes

7.2 Adobe Flash Player Download Continued

Step 4: On the desktop, double-click the Install_Flash icon.

Step 5: Once the installation process is complete, click the Close button to close the
Adobe Flash Player Plugin Setup: Completed window.

Section 7 – MineOPS Install

125

12
Jigsaw Manual - Jigsaw Administrator Training Notes

7.3 PuTTY Download

Step 1: In your Web browser address bar type,


http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html, and then tap the
Enter key on the keyboard.

Step 2: In the For Windows 95, 98, ME, NT, 2000, XP and Vista on Intel x86 section,
click the putty.exe link.

Section 7 – MineOPS Install

126

12
Jigsaw Manual - Jigsaw Administrator Training Notes

7.3 PuTTY Download Continued

Step 3: On the File Download – Security Warning window, click the Run button.

Step 4: Click the Run button.

Step 5: Once the PuTTY installation is complete a putty icon will be located on your
desktop.

Section 7 – MineOPS Install

127

12
Jigsaw Manual - Jigsaw Administrator Training Notes

7.4 REAL VNC Download

Step 1: In your Web browser address bar type,


http://www.realvnc.com/products/download.html, and then tap the Enter key on the
keyboard.

Step 2: In the Free Edition section, click the Download & Use button.

Section 7 – MineOPS Install

128

12
Jigsaw Manual - Jigsaw Administrator Training Notes

7.4 REAL VNC Download Continued

Step 3: In the Please enter your details section, in the Name: box, type your name.

Step 4: In the Email: box, type your e-mail address.

Step 5: In the Organization: box, type your organizations name.

Step 6: Click the Category: drop-down menu to open it, choose personal from the list,
and then click it.

Step 7: Click the Proceed to download button.

Section 7 – MineOPS Install

129

12
Jigsaw Manual - Jigsaw Administrator Training Notes

7.4 REAL VNC Download Continued

Step 8: In the VNC Free Edition for Windows section, click the Download button
located directly next to Executable (721K).

Section 7 – MineOPS Install

130

13
Jigsaw Manual - Jigsaw Administrator Training Notes

7.4 REAL VNC Download Continued

Step 9: The window with the terms of use and conditions will pop up. Read carefully,
click the I accept these terms and conditions box to place a check mark in it, and then
click the Download button.

Section 7 – MineOPS Install

131

13
Jigsaw Manual - Jigsaw Administrator Training Notes

7.4 REAL VNC Download Continued

Step 10: In the File Download – Security Warning window, click the Run button.

Step 11: In the Internet Explorer – Security Warning window, click the Run button.

Section 7 – MineOPS Install

132

13
Jigsaw Manual - Jigsaw Administrator Training Notes

7.4 REAL VNC Download Continued

Step 12: On the Setup – VNC window, click the Next button.

Step 13: Read the License Agreement, choose the I accept the agreement option by
clicking it, and then click the Next button.

Section 7 – MineOPS Install

133

13
Jigsaw Manual - Jigsaw Administrator Training Notes

7.4 REAL VNC Download Continued

Step 14: On the Select Destination Location window, click the Next button.

Step 15: On the Select Components window, click the Next button.

Section 7 – MineOPS Install

134

13
Jigsaw Manual - Jigsaw Administrator Training Notes

7.4 REAL VNC Download Continued

Step 16: On the Select Start Menu Folder window, click the Don’t create a Start
Menu folder box to place a check mark in it, and then click the Next button.

Step 17: In the Additional icons: section, click the Create a VNC Viewer desktop icon
box to place a check mark in it, and then click the Next button.

Section 7 – MineOPS Install

135

13
Jigsaw Manual - Jigsaw Administrator Training Notes

7.4 REAL VNC Download Continued

Step 18: On the Ready to Install window, click the Install button.

Step 19: On the VNC Server Properties (Service – Mode) window, click the OK
button.

Section 7 – MineOPS Install

136

13
Jigsaw Manual - Jigsaw Administrator Training Notes

7.4 REAL VNC Download Continued

Step 20: On the Information window, click the Next button.

Step 21: Click the Finish button.

Step 22: Once the download is complete a VNC Viewer 4 icon should be located on your
desktop.

Section 7 – MineOPS Install

137

13
Jigsaw Manual - Jigsaw Administrator Training Notes

7.5 REAL VNC Setup

Step 1: On your desktop, double-click the putty icon.

Step 2: Click the Run button.

Section 7 – MineOPS Install

138

13
Jigsaw Manual - Jigsaw Administrator Training Notes

7.5 REAL VNC Setup Continued

Step 3: In the Host Name (of IP address) box, type mineops.

Step 4: In the Saved Sessions box, type the name of the piece of equipment you wish to
connect to, and then click the Save button.

Section 7 – MineOPS Install

139

13
Jigsaw Manual - Jigsaw Administrator Training Notes

7.5 REAL VNC Setup Continued

Step 5: In the Save Sessions section, click the piece of equipment you wish to connect to
once to highlight it, and then click the Load button.

Step 6: In the Category: section, expand Connection, expand SSH, and then click
Tunnels once to highlight it.

Section 7 – MineOPS Install

140

14
Jigsaw Manual - Jigsaw Administrator Training Notes

7.5 REAL VNC Setup Continued

Step 7: In the Add new forwarded port: section, in the Source port box type a port
number for your local computer. For example, a port number between 5900 - 5999. It is
easiest to pick an equipment number equal to the port. For example, Truck Name HT054
would use port number 5954.

Step 8: In the Destination box, type the equipment name, a colon, and the source port
number (example: HT054:5900).

Step 9: Click the Add button.

Section 7 – MineOPS Install

141

14
Jigsaw Manual - Jigsaw Administrator Training Notes

7.5 REAL VNC Setup Continued

Step 10: In the Forwarded points: section, click the entry you just added once to
highlight it, and then click the Open button.

Section 7 – MineOPS Install

142

14
Jigsaw Manual - Jigsaw Administrator Training Notes

7.5 REAL VNC Setup Continued

Step 11: In the Putty window, or similar program, type your login name, and then tap the
Enter key on the keyboard.

Step 12: Type your password, and then tap the Enter key on the keyboard.

Section 7 – MineOPS Install

143

14
Jigsaw Manual - Jigsaw Administrator Training Notes

7.5 REAL VNC Setup Continued

Step 13: With the PuTTY window open, double-click the VNC Viewer 4 icon on your
desktop.

Step 14: On the VNC Viewer: Connection Details window, in the Server: box, type the IP
address to the mine’s Jigsaw server, a colon, and the name of the equipment you wish to
connect to (example: 10.225.106.10:HT54).

Step 15: Click the OK button.

Step 16: You should now see a screen like the one shown below.

Section 7 – MineOPS Install

144

14
Jigsaw Manual - Jigsaw Administrator Training Notes

7.6 Install MineOPS

Step 1: Obtain the MineOPS executable file, and then double-click on the MineOPS
icon.

Step 2: On the Setup – MineOPS window, click the Next button.

Step 3: On the Select Destination Location window, click the Next button.

Section 7 – MineOPS Install

145

14
Jigsaw Manual - Jigsaw Administrator Training Notes

7.6 Install MineOPS Continued

Step 4: On the Select Start Menu Folder window, click the Next button.

Step 5: On the Select Additional Tasks window, click the Create a desktop icon box to
place a check mark in it, and then click the Next button.

Section 7 – MineOPS Install

146

14
Jigsaw Manual - Jigsaw Administrator Training Notes

7.6 Install MineOPS Continued

Step 6: On the Ready to Install window, click the Install button.

Step 7: Click the Finish button.

Section 7 – MineOPS Install

147

14
Jigsaw Manual - Jigsaw Administrator Training Notes

7.6 Install MineOPS Continued

Step 8: Click the Start button, and then click My Computer.

Step 9: Double-click the Local Disk (C:) icon.

Section 7 – MineOPS Install

148

14
Jigsaw Manual - Jigsaw Administrator Training Notes

7.6 Install MineOPS Continued

Step 10: Double-click the Windows folder.

Step 11: Double-click the System32 folder.

Section 7 – MineOPS Install

149

14
Jigsaw Manual - Jigsaw Administrator Training Notes

7.6 Install MineOPS Continued

Step 12: Double-click the drivers folder.

Section 7 – MineOPS Install

150

15
Jigsaw Manual - Jigsaw Administrator Training Notes

7.6 Install MineOPS Continued

Step 13: Right-click on a host file, click Open With, click Word Pad, and then click the
OK button.

Step 14: Scroll down to the bottom of the host file, type the IP address of the mine’s
Jigsaw server, tap the tab key on your keyboard, type mineops, and then save and close
the file.

Step 15: Repeat the above two steps for all host files.

Section 7 – MineOPS Install

151

15
Jigsaw Manual - Jigsaw Administrator Training Notes

7.6 Install MineOPS Continued

Step 16: Close all open windows.

Step 17: On the desktop, double-click the MineOPS icon.

Step 18: On the MineOPS login_view window, in the Server box, type the IP address or
Domain name of the mine’s Jigsaw server.

Step 19: In the User box, type your user name.

Step 20: In the Password box, type your password.

Step 21: Click the OK button.

Section 8 – FAQ’s

152

15
Jigsaw Manual - Jigsaw Administrator Training Notes

8.1 Rotations

Question: How do I create a new Crew Rotation?

An entry in the crew rotation table requires the following entries:


 start_date: UTC time of the first shift of the first day of the rotation.
 day_count: Number of days in the rotation.
 shift_count: Number of shifts in a day.
 timezone: Name of the time zone, which applies (example: America/Lima,
US/Arizona, etc.).
 shift_start: Time in seconds from midnight of the start of the first shift (example:
21600 is 6:00 am).
 rotations: day_count * shift_count primary keys of crew entries in enum_tables
table. One crew entry for each shift in the rotation.
 client_initials: Client initials (example: subdirectory of /opt/Jigsaw/Clients).
 client_name: The full name of the customer.

For loading previous DISPATCH, the customer’s crew rotation information,


dbx/xml_loader automatically defines the current rotation based on information from
enum.c and config.prv.

8.2 Enum Attributes

Questions: What is the meaning? Which attributes are used by the system?

Enum attributes are used to infer certain properties about an enumeration. The properties
about a specific enumeration are analogous to the old flags column in the client’s enum.c
file.

Ruby scripts query an enum’s properties using the has_attribute: method; compiled code
uses the objective C has_attribute: method.

The list of enumerations used by the system is defined in the enum_attributes table.

Note: Each unique class in the enum_tables table supports a different set of attributes.

Section 8 – FAQ’s

153

15
Jigsaw Manual - Jigsaw Administrator Training Notes

8.2 Enum Attributes Continued

id updated_at enum_class attribute_names


1 2007-10- Activity empty,loaded,traveling,idle,down
08
22:51:47
2 2007-10- PrestartItem normal,critical
09
01:56:04
3 2007-10- Shift regular
19
19:03:22
4 2007-10- TimeCategory ready,delay,down,standby,shiftchange
31
23:55:20
5 2007-11- Status working,delay,down
01
18:04:17
6 2007-11- Material empty,ore,waste,inpit,intransit
01
21:26:58
7 2007-11- EquipmentType equipment,truck,shovel
01
21:32:43
8 2007-11- LocationType location,blast,call_point,dump,crusher,stockpile,pit,region,shop,tiedown
01
23:47:19
9 2007-11- Crew regular,day
02
02:29:17
10 2007-11- BreakType tiedown,lunch
21
01:10:14

Section 8 – FAQ’s

154

15
Jigsaw Manual - Jigsaw Administrator Training Notes

8.3 Enum Categories

Question: Describe the enum categories and how they are used in the system.

Enum categories group one enumeration in terms of another enumeration. For example,
grouping Status into TimeCategory, or Material into MaterialCategory. When loading
existing DISPATCH customer’s data, dbx/xml_loader automatically defines the
EnumCategories table based on information in enum.c.

8.4 General TKPH Config

Question: Describe the TKPH information in the fuel_consumption table.

The fuel_consumption table configures fuel consumption, EFH calculations, and TKPH
calculations for each fleet. Although the system supports individual configurations for
each truck, the information typically is the same for all trucks of a given equipment type.
Entries that contain values for each of the six tires store the values ordered by the
following TirePosition enumeration.

Name Symbol Ordinal


Right Front RF 0
Left Front LF 1
Right Inner RI 2
Right Outer RO 3
Left Inner LI 4
Left Outer LO 5

Section 8 – FAQ’s

155

15
Jigsaw Manual - Jigsaw Administrator Training Notes

8.4 General TKPH Config Continued

The TKPH configuration entries in the fuel_consumption table are as follows:


empty_tonnes: Empty weight of the truck, in tones.
tkph_idle: Nominal TKPH value when the truck is not traveling.
tkph_time: Time over which TKPH is averaged.
tkph_empty_pct: Weight distribution for six tires when the truck is traveling
empty.
tkph_loaded_pct: Weight distribution for six tires when the truck is traveling
loaded.
Tkph_assign_percent: MineOPS ranks haulage paths based on average TKPH for
the haul. Long, high speed hauls result in high TKPH values; short lower speed
hauls result in low TKPH values. The lowest tkph_assign_percent of all shovel
hauls is considered for trucks with high TKPH values.

Section 8 – FAQ’s

156

15
Jigsaw Manual - Jigsaw Administrator Training Notes

8.5 TKPH Config By Truck

Question: Describe the TKPH configuration by truck.

The following TPH values are stored in the maintenance table with a separate entry for
each truck.
tkph_max: Maximum TKPH values for each tire.
tkph_avg: Current computed TKPH value for each tire. The system generates a
TKPH warning when any tire is higher than its corresponding maximum value.

8.6 Fuel Consumption

Question: Describe the fuel consumption table and format of configuration values.

The fuel_consumption table contains the following configuration options for fuel
consumption calculations.
min_grade: Road grade for the first item in consumption rates tables, in percent.
max_grade: Road grade for the last item in consumption rates tables, in percent.
idle_rate: Fuel consumption rate when the truck is idle, in liters/hour.
empty_rates: Fuel consumption rates from min_grade to max_grade, in
liters/hour.
loaded_rates: Fuel consumption rates from min_grade to max_grade, in
liters/hour.

Section 8 – FAQ’s

157

15
Jigsaw Manual - Jigsaw Administrator Training Notes

8.7 Average Speeds

Question: Describe the average speeds table.

MineOPS computes expected travel times and ETA’s based on distance and speed, rather
than just storing travel times for a given road segment. The average_speeds table
parameterizes truck speeds based on the following independent variables:
is_loaded: True if a truck is loaded, false if a truck is empty.
pct_grade: The percent grade of road from start to end.
equipment_type_id: The equipment type entry in the enum_tables.
road_category_id: The road category entry in the enum_tables.

Thus, average_speeds contains a separate entry for each unique combination of these four
variables, which the system has measured. MineOPS automatically creates a new entry or
updates an existing entry whenever a truck travels a given road segment. Each entry
contains the following values.

speed: The moving average speed, km/hour.


speed_min: The minimum speed limit, in km/hour.
speed_max: The maximum speed limit, in km/hour.
desired_gear: The desired gear when a truck is traveling this type of road.
desired_rpm: The desired engine RPM when a truck is traveling this type of road.
desired_brake_temp: The desired brake temperature when a truck is traveling this
type of road.

158

15
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 8 – FAQ’s

8.8 Projects

Question: Describe the activities definition.

The projects table defines a list of activities that equipment should perform when
working on a given project. The list is a comma-separated list. Each entry in the list can
explicitly specify the next expected activity using a colon. If no text activity is specified
the system assumes that the next expected activity is the next item in the list. For
example, listed below is the standard definition of the truck haulage project.

moving_empty:empty,moving_loaded:loaded,empty:traveling,loaded:hauling,inacti
ve:inactive,queued:backing,backing:tipping,spotting:loading,traveling,waiting,loadi
ng,hauling,tipping:traveling

This defines the following activity list.


Activity Next Expected Activity
moving_empty empty
moving_loaded loaded
empty traveling
loaded hauling
inactive inactive
queued backing
backing tipping
spotting loading
loading traveling
traveling waiting
waiting loading
loading hauling
hauling tipping
tipping traveling

159

15
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 8 – FAQ’s

8.9 Available Logger Options

Question: Describe all available logger options.

The logger is an extensible logging system for distributed data logging. Messages output
by the logging system can be used for message passing, event logging, debugging, and
diagnostics.

The event_logs table stores the log messages for messages specified in the logger
"enabled" property defined in the configurations table. Each logged event contains the
device_id generating the event, the time created, the event log module, messages,
arguments, and the latitude/longitude of the event.

Ruby scripts or objective-C applications can listen for a log messages emitted by the
system using the database logger "listen" interface. This mechanism provides a flexible
inter-process communications framework to push messages from the JAMS server
business logic to the graphical user interface. Any given log message can have zero or
multiple listeners, the sender of a log message does not know or care if any applications
are listening for the log message.

Using a standard telnet interface, the user can connect to the logger TCP port (default
port number 1110) of any device and view log messages using the 'enable' command.
For example, to view all changes to the traveling record, which records the current GPS
position, the user can use the JAMS logger command 'enable traveling'.

160

16
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 8 – FAQ’s

8.10 Moving Averages

Question: What are the available properties?

The moving_averages table is a simple table that defines the moving average
computations for a given parameter measured by the system.

Average_type_id selects from one of the following AverageType parameters declared in


the enum_tables.

Name Symbol
Shovel spot times Spotting
Shovel dig rates Digging
Dump spot times Backing
Dump tipping times Tipping
Haulage feed rates Federate
Blending compositions Blending
Travel speeds Speed

average_count: The number of samples in a moving average.


min_value: The minimum valid value for a sample. Values less than this are
ignored.
max_value: The maximum valid value for a sample. Values greater than this are
ignored.

161

16
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 8 – FAQ’s

8.11 Exception Routing

Question: Describe how to configure the exception routing table.

The exception_routing table specifies the user to which a given exception should be
delivered. Each exception is delivered to the inbox of a given user and contains the
following fields:
Subject: Character string describing the subject of this exception.
Contents: List of key/value pairs, which contains all information relevant to the
exception.

The following fields in the exception_routing table match the subject and contents of
each exception, and deliver the exception to the specified username.

equipment_class: If non-null, specifies a specific class of equipment that


generates this type of exception.
username: Specifies the logged in user account which should receive the
exception.
subject: Matches the subject of a given exception.
predicates: If non-null, matches one or more key/value pairs in the contents of
exception.
disabled: If true, disables this entry in the exception table.

For example, the following entry at Yanacocha delivers down status exceptions (having
primary key 102) to the MAINTENANCE dispatcher account. All other exceptions are
delivered to the DISPATCHER account.

jmineops_mysa=> select * from exception_routing;

id | updated_at | equipment_class | username | subject | predicates |


disabled
----+---------------------+-----------------+-------------+---------+------------+----------
1 | 2007-11-01 13:35:14 | | DISPATCHER | | |f
2 | 2007-11-20 20:30:53 | | MAINTENANCE | :status | Status=102 | f

162

16
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 8 – FAQ’s

8.12 Equipment Warnings

Question: Describe how/when the equipment warnings are recorded.

The system maintains a current real-time list of warnings in the equipment warnings list.
This list contains an array of primary keys into the enum_tables table, which the
following contain warning enums.

gps_offline: GPS receiver is not working.


gps_quality: Fewer than 4 GPS satellites in view.
network_offline: The radio network is offline.
misroute: The truck is not following the best path to the destination.
boundary_shovel: The truck is spotting or loading at an incorrect shovel.
boundary_location: The truck has arrived or is tipping at in incorrect location or
dump.
assign_none: No assignment is available.
assign_locked: The current assignment is to a locked shovel or dump.
tkph: The TKPH value exceeds tkph_max.
fuel_low: The current fuel is below the fuel_low_percent threshold.
payload_offline: The payload system (VIMS or TPMS) is offline.
grade_missing: The grade block is not defined for the shovel and one is required.
region_change: The truck is traveling to a different region.

163

16
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 8 – FAQ’s

8.13 Haulage Notes

Question: Describe haulage notes.

Each record in the shift_dump table contains a list of the following HaulageNote primary
keys. These notes describe conditions that may affect the consistency of the recorded
information.

material: The material type is incorrect for this dump.


dump: The load was tipped at an incorrect dump.
grade: The grade record does not match the load.
dump_boundary: The load was tipped outside of a dump boundary.
region_boundary: The load was tipped outside of a dump’s enclosing dumping
region.
gps_offline: The GPS system was not operational.
dump_down: The dump is not ready.
dispatcher: The action was generated manually by the dispatcher.
reconcile: The reconciliation process generated the dump.

164

16
Jigsaw Manual - Jigsaw Administrator Training Notes

Section 8 – FAQ’s

8.14 How To Create New Equipment Record

Question: How do I create a new equipment record?

The class for new equipment must always be defined at the time the equipment is created
in the database. Each equipment class requires different singletons (records uniquely
associate with the equipment record). For example, each truck has a hauling record; each
shovel has a digging record; each drill has a drilling record. These singletons are created
once when the record is created in the database and destroyed if the record is deleted (ie.
the deleted_at field is set to non-null). Thus, you CANNOT create an equipment record
and then manually change its 'type' field to Drill, Dozer, Shovel, or Truck.

Once the new equipment is created, you should define the equipment_type to reference
the proper equipment type in enum_tables and define the truck size for the trucks. The
GUI should enforce that a new truck record should only allow EquipmentType
enumerations having the 'truck' attribute.

The devices address field should be set to contain the IP address of the equipment and the
devices software_version field should contain the current MineOPS software version.

The following script allows you to create a new OpenVPN certificate for the
EQUIPMENT-NAME, where XYZ is the client initials.

/opt/Jigsaw/Services/openvpn/OpenVPN -client XYZ key EQUIPMENT-NAME

Then you can create a new network configuration tarball using the following command:

/opt/Jigsaw/Services/openvpn/OpenVPN -client XYZ writekeys XYZ_keys.tar.gz

Extract the XYZ_keys.tar.gz onto your USB memory stick and you're ready to load the
equipment.

165

16

You might also like