Jigsaw Admin Training
Jigsaw Admin Training
Notes
JIGSAW MANUALS
Jigsaw Administrator
Training Notes
January 2008
Jigsaw Manual - Jigsaw Administrator Training Notes
TABLE OF CONTENTS
SECTION PAGE
2
Jigsaw Manual - Jigsaw Administrator Training Notes
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 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
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
Field
Equipment Supervisor Laptop
Wireless Network
Reporting Database
Jigsaw Servers
Corporate Network
`
` `
Corporate Users
Operations Maintenance
Dispatchers/Administrator
6
Jigsaw Manual - Jigsaw Administrator Training Notes
1.2 JAMS
JAMS FIELD
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
8
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
9
Jigsaw Manual - Jigsaw Administrator Training Notes
1.3.3 MTC
1.3.4 Utilities
10
10
Jigsaw Manual - Jigsaw Administrator Training Notes
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
12
12
Jigsaw Manual - Jigsaw Administrator Training Notes
13
13
Jigsaw Manual - Jigsaw Administrator Training Notes
14
14
Jigsaw Manual - Jigsaw Administrator Training Notes
Configurations
Devices
Help
Enumerations
- Status
- Time Categories
Exception Routing
Averages
Translations
Plans
15
15
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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.
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.
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.
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.
Traveling
Waiting
Spotting
Loading
Hauling
Queued
Backing/Tipping
19
19
Jigsaw Manual - Jigsaw Administrator Training Notes
Equipment Cycle
Empty
Waiting
Traveling
Tipping
Backing
Spotting
Loading
Queued
Hauling
20
20
Jigsaw Manual - Jigsaw Administrator Training Notes
21
21
Jigsaw Manual - Jigsaw Administrator Training Notes
Waiting
Loading
Load Information
Tipping Information
Activity Information
Truck
Shovel
Bench
VIMS Tonnage
Grade
22
22
Jigsaw Manual - Jigsaw Administrator Training Notes
23
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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.
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.
25
Jigsaw Manual - Jigsaw Administrator Training Notes
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
27
27
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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.
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.
31
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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.
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.
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.
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=>
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.
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.
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.
All of the tables are labeled under the Type column, and can be viewed with a select
statement.
Section 3 – SQL Basics
35
35
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
36
36
Jigsaw Manual - Jigsaw Administrator Training Notes
This will list the commands that can be entered, shown below.
3.3.4 Quit
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.
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.
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.
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:
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.
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.
This will order the data by the column chosen. Some examples are listed below:
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.
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.
This will order the data by the column chosen. Some examples are listed below:
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.
To clear the screen, on your keyboard hold down the CTRL key, and then tap the L key
once.
To delete all text after the curser, on your keyboard hold down the CTRL key, and then
tap the K key once.
To delete all text before the curser, on your keyboard hold down the CTRL key, and then
tap the U key once.
You can cycle through old commands by pressing the up and down arrows on the
keyboard.
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.
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.
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.
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.
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.
45
45
Jigsaw Manual - Jigsaw Administrator Training Notes
If two rows were added to the table, it would be displayed as shown below.
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.
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.
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.
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.
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.
48
48
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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.
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.
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:
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.
Looking back to our original example, the record for HT001 has six columns that
reference other tables for EX001 currently being used.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
58
58
Jigsaw Manual - Jigsaw Administrator Training Notes
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/
Configuration tables
Configurations, Enum Table
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.
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
59
59
Jigsaw Manual - Jigsaw Administrator Training Notes
4. Details of Tables
114 tables at pds
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.
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
60
60
Jigsaw Manual - Jigsaw Administrator Training Notes
Locations Table
Crusher, Stockpile, many Blasts
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.
Section 4 – Reporting
61
61
Jigsaw Manual - Jigsaw Administrator Training Notes
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
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
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
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
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_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
sum_worker_status_times
64
64
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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
65
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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.
Section 4 – Reporting
view_truck_routes
66
66
Jigsaw Manual - Jigsaw Administrator Training Notes
Note: some functions modify the database; the ones described below do not.
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.
Section 4 – Reporting
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
Section 4 – Reporting
68
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
Note: When running on a PC this involves finding the report on your local disk or local
Network. /.../.../"Test".rpt
Note: this step is not needed, but is handy to verify that report is functioning properly.
Section 4 – Reporting
69
69
Jigsaw Manual - Jigsaw Administrator Training Notes
To eliminate database logon start from the Preview screen, or navigate through folders to
"Test".rpt.
Now when you preview the report, the database logon is eliminated.
Note: To "unpublish" a report simply check the box next to it in the subfolder that shows
all reports, the select "Delete" button.
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
70
Jigsaw Manual - Jigsaw Administrator Training Notes
Specify categories
Pick report
Highlight JDBC:POSTGRESQL://CRYSTALSERVER:5432/JMINEOPS
Note after this it will ask you to select parameters. Proceed through this without selecting
any.
Section 4 – Reporting
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
To access the Jigsaw data with Microsoft Excel basic knowledge of SQL and Microsoft
Excel will be helpful.
Section 4 – Reporting
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.
Section 4 – Reporting
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.
Section 4 – Reporting
74
74
Jigsaw Manual - Jigsaw Administrator Training Notes
Section 4 – Reporting
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
76
76
Jigsaw Manual - Jigsaw Administrator Training Notes
Section 4 – Reporting
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.
3. Click <New Data Source> once to highlight it, and then click the OK button.
Section 4 – Reporting
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.
Section 4 – Reporting
79
79
Jigsaw Manual - Jigsaw Administrator Training Notes
10. Click the SSL Mode drop-down menu to open it, choose disable from the list, and
then click it.
12. In the Password box, type the password, and then click the OK button.
Section 4 – Reporting
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
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.
Section 4 – Reporting
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
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
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.
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.
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
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
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.
Section 4 – Reporting
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
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
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.
Section 4 – Reporting
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
91
91
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
5.1 Views
92
92
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
94
94
Jigsaw Manual - Jigsaw Administrator Training Notes
Dozer View
95
95
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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 ]
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.
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
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.
Editor View
Main system view. Supports table and layout views. It provides a set of configuration
parameters
100
10
Jigsaw Manual - Jigsaw Administrator Training Notes
Example worker_view
101
10
Jigsaw Manual - Jigsaw Administrator Training Notes
Example grade_view
Example grade_view
Example grade_view
Example grade_view
10
Jigsaw Manual - Jigsaw Administrator Training Notes
Example grade_view
Shift View
Extension of editor view. Provides single shift selector button
10
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
105
10
Jigsaw Manual - Jigsaw Administrator Training Notes
Dump View
Editor view extension. Provides option for configuring blend model template
Inbox View
10
Jigsaw Manual - Jigsaw Administrator Training Notes
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
10
Jigsaw Manual - Jigsaw Administrator Training Notes
Example canvas_view
Example canvas_view
Example canvas_view
Layer View
10
Jigsaw Manual - Jigsaw Administrator Training Notes
Model Extensions
Auto Lineup Extensions
5.4 Troubleshooting
109
10
Jigsaw Manual - Jigsaw Administrator Training Notes
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
110
11
Jigsaw Manual - Jigsaw Administrator Training Notes
111
11
Jigsaw Manual - Jigsaw Administrator Training Notes
Section 6 – Optimization
112
11
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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:
Each MineOPS truck interfaces with on-board monitoring systems including but not
limited to:
113
11
Jigsaw Manual - Jigsaw Administrator Training Notes
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:
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
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
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.
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.
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.
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
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.
• 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.
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
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.
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
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.
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.
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:
Section 6 – Optimization
119
11
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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)
Section 6 – Optimization
120
12
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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
122
12
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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
MineOPS 1.039.057
Copyright © 2004-2007 Jigsaw Technologies
http://www.jigsawtech.com
123
12
Jigsaw Manual - Jigsaw Administrator Training Notes
124
12
Jigsaw Manual - Jigsaw Administrator Training Notes
Step 5: Once the installation process is complete, click the Close button to close the
Adobe Flash Player Plugin Setup: Completed window.
125
12
Jigsaw Manual - Jigsaw Administrator Training Notes
Step 2: In the For Windows 95, 98, ME, NT, 2000, XP and Vista on Intel x86 section,
click the putty.exe link.
126
12
Jigsaw Manual - Jigsaw Administrator Training Notes
Step 3: On the File Download – Security Warning window, click the Run button.
Step 5: Once the PuTTY installation is complete a putty icon will be located on your
desktop.
127
12
Jigsaw Manual - Jigsaw Administrator Training Notes
Step 2: In the Free Edition section, click the Download & Use button.
128
12
Jigsaw Manual - Jigsaw Administrator Training Notes
Step 3: In the Please enter your details section, in the Name: box, type your name.
Step 6: Click the Category: drop-down menu to open it, choose personal from the list,
and then click it.
129
12
Jigsaw Manual - Jigsaw Administrator Training Notes
Step 8: In the VNC Free Edition for Windows section, click the Download button
located directly next to Executable (721K).
130
13
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
131
13
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
132
13
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
133
13
Jigsaw Manual - Jigsaw Administrator Training Notes
Step 14: On the Select Destination Location window, click the Next button.
Step 15: On the Select Components window, click the Next button.
134
13
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
135
13
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
136
13
Jigsaw Manual - Jigsaw Administrator Training Notes
Step 22: Once the download is complete a VNC Viewer 4 icon should be located on your
desktop.
137
13
Jigsaw Manual - Jigsaw Administrator Training Notes
138
13
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
139
13
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
140
14
Jigsaw Manual - Jigsaw Administrator Training Notes
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).
141
14
Jigsaw Manual - Jigsaw Administrator Training Notes
Step 10: In the Forwarded points: section, click the entry you just added once to
highlight it, and then click the Open button.
142
14
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
143
14
Jigsaw Manual - Jigsaw Administrator Training Notes
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 16: You should now see a screen like the one shown below.
144
14
Jigsaw Manual - Jigsaw Administrator Training Notes
Step 1: Obtain the MineOPS executable file, and then double-click on the MineOPS
icon.
Step 3: On the Select Destination Location window, click the Next button.
145
14
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
146
14
Jigsaw Manual - Jigsaw Administrator Training Notes
147
14
Jigsaw Manual - Jigsaw Administrator Training Notes
148
14
Jigsaw Manual - Jigsaw Administrator Training Notes
149
14
Jigsaw Manual - Jigsaw Administrator Training Notes
150
15
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
151
15
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
Section 8 – FAQ’s
152
15
Jigsaw Manual - Jigsaw Administrator Training Notes
8.1 Rotations
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
Section 8 – FAQ’s
154
15
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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.
Section 8 – FAQ’s
155
15
Jigsaw Manual - Jigsaw Administrator Training Notes
Section 8 – FAQ’s
156
15
Jigsaw Manual - Jigsaw Administrator Training Notes
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.
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
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.
158
15
Jigsaw Manual - Jigsaw Administrator Training Notes
Section 8 – FAQ’s
8.8 Projects
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
159
15
Jigsaw Manual - Jigsaw Administrator Training Notes
Section 8 – FAQ’s
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
The moving_averages table is a simple table that defines the moving average
computations for a given parameter measured by the system.
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
161
16
Jigsaw Manual - Jigsaw Administrator Training Notes
Section 8 – FAQ’s
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.
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.
162
16
Jigsaw Manual - Jigsaw Administrator Training Notes
Section 8 – FAQ’s
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.
163
16
Jigsaw Manual - Jigsaw Administrator Training Notes
Section 8 – FAQ’s
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.
164
16
Jigsaw Manual - Jigsaw Administrator Training Notes
Section 8 – FAQ’s
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.
Then you can create a new network configuration tarball using the following command:
Extract the XYZ_keys.tar.gz onto your USB memory stick and you're ready to load the
equipment.
165
16