You are on page 1of 56

Runge Limited

XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

XPAC 2003 and XPAC 2003 AutoScheduler Release Notes


1. XPAC 2003A, VERSION 7.6.7 ...........................................................................................3
1. DATABASE...........................................................................................................................3
2. SCHEDULING .......................................................................................................................3
3. 3D GRAPHICS ......................................................................................................................4
4. GANTT CHARTS ...................................................................................................................4
5. IMPORT / EXPORT ................................................................................................................4
6. SCRIPTING ...........................................................................................................................5
7. REPORT WRITER ..................................................................................................................5
8. MISCELLANEOUS .................................................................................................................5
2. XPAC 2003, VERSION 7.6.6 ..............................................................................................6

3. XPAC 2003, VERSION 7.6.5 ..............................................................................................7

4. XPAC 2003, VERSION 7.6.4 ..............................................................................................8


1. CACHED EXPRESSION OBJECTIVES ......................................................................................8
2. PRIORITISE SOURCE FIRST ...................................................................................................9
5. XPAC 2003, VERSION 7.6.3 ............................................................................................10

6. XPAC 2003, VERSION 7.6.0 ............................................................................................12


1. CHANGES TO RESOURCES ..................................................................................................12
Changes to the Resource Tree ................................................................................................13
Production Details ..................................................................................................................13
Destination..............................................................................................................................13
Destination Type .....................................................................................................................13
2. DUMP PATHS .....................................................................................................................14
3. DUMPS ..............................................................................................................................15
4. DUMP PROPERTIES ............................................................................................................16
5. CHANGES TO OBJECTIVES..................................................................................................17
6. DUMP MINING DIRECTION .................................................................................................18
7. CHANGES TO CONSTRAINTS ...............................................................................................18
8. ADDITIONS TO THE OUTPUT PATH ......................................................................................20
9. CHANGES TO IMPORT/EXPORT TO HANDLE DUMPS ............................................................20
10. PRODUCTION RATES ..........................................................................................................21
11. USING SCRIPT FILES WITHIN XPAC EXPRESSIONS ..............................................................22
12. SCENARIO SELECTION FROM MAIN DATABASE ...................................................................23
Viewing Polygon Plots at the period data ..............................................................................24
Exporting Data........................................................................................................................24
Show depleting quantities in deposit.......................................................................................25
13. XCM SCRIPTING FUNCTIONS ............................................................................................25
14. NEW LARGE MODEL SUPPORT...........................................................................................25
15. CHANGES TO PROJECT PROPERTIES ....................................................................................27
16. CHANGES TO RANGE SCANNING LEVELS ............................................................................28
17. RELATIVE ADDRESS RULES ...............................................................................................28
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

18. CHANGES TO STEP SIZE .....................................................................................................28


19. TRAVEL TIME ....................................................................................................................30
20. REPORT WRITER ................................................................................................................30
21. MAIN DATABASE...............................................................................................................30
22. CHANGES TO SCRIPTING ....................................................................................................31
23. SCHEDULE ANALYSIS TOOLS (SAT) – (AUTOSCHEDULER ONLY)......................................32
24. EXCEL GANTT CHART .......................................................................................................33
7. RELEASE 7.5.2..................................................................................................................34

8. RELEASE 7.5.1..................................................................................................................34

9. RELEASE 7.5.....................................................................................................................34
1. 1. SCHEDULING ENHANCEMENT ........................................................................................35
Very Small Steps .....................................................................................................................36
New Trigger Event – ‘Add Block to ABL’...............................................................................36
2. 2. GRAPHICS ENHANCEMENTS ...........................................................................................37
3. SCRIPTING ENHANCEMENTS ..............................................................................................40
4. CUSTOM RUN SCRIPT BUTTONS ........................................................................................40
5. #INCLUDE DIRECTIVE ........................................................................................................40
6. NEW & CHANGED XCM FUNCTIONS .................................................................................41
7. COMPACTION OPTIONS.......................................................................................................43
8. USER DEFINED LEVEL ICONS .............................................................................................43
9. RESOURCE IMAGES ............................................................................................................44
10. USER PROCESSING ITEMS ..................................................................................................45
11. EXPANDED BUSINESS GRAPHICS .......................................................................................45
12. RANGE ENHANCEMENTS ...................................................................................................45
13. REPORT WRITER ENHANCEMENTS.....................................................................................47
10. RELEASE 7.4.....................................................................................................................49
1. 1. BUILDS 160-179 ............................................................................................................49
2. 2. NEW FEATURES IN XCM SCRIPTING ..............................................................................55

Page 2
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

1. XPAC 2003a, Version 7.6.7


Public Release

XPAC 20003a (version 7.6.7) is a patch release to XPAC 2003 that addresses some
issues that were raised after the original release.

Note: There is a backwards-compatible database upgrade in XPAC 7.6.7. Databases


will be upgraded when first opened in XPAC 7.6.7, but are still able to be opened and
used in all released versions of XPAC 7.6.

1. Database
• Multiple fixes to position tables
• Database are now ordered alphabetically when selecting a calendar, parameter
or results database
• Fix for range cache being deleted when closing a model
• Fix for main database view not refreshing correctly after a recalculation
• Fix for values not being saved for field of type Record in some circumstances

2. Scheduling
• Fix to activity mining direction dropdown not showing correct activities
• Fix to WIP constraints not working if lowest level flag field is not additive
• Fix for schedules differing if resource changed from product to classified
• Fix for focus changing to different window after running a schedule
• Can now have upper-level successor ranges for dependencies
• Fix for AutoScheduler resources that start with zero production generating a
cryptic error
• Fix for output path of one resource affecting the output path of another
resource
• Fixes to period and capacity constraints not working as expected in some
circumstances
• Fix for inconsistent results when running a schedule for periods 1-4 as
opposed to running 1-1, 2-2, 3-3, 4-4
• Multiple fixes for opening inventories for stockpiles
• Fix to release profiles
• Fix to capacity constraints working with standard resources
• Fix to speed up scheduling; if multiple resources are completing a small
segment of a block will now give priority to the resource with the largest rate.
• Fix to PreSchedule to correctly release successor activities and empty blocks.

Page 3
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Enhancement to PreSchedule & MOQ

New option has been added to global options to allow a new behaviour of blocks
in the PreSchedule and Mined Out Quantities.

Old Behaviour (option ticked off)

A B C

Block B above is 100% Prescheduled


as a result Block C will become available

New Behaviour (option ticked on)

A B C

Block B above is 100% Prescheduled


as a result a new dependency is created

A C

3. 3D Graphics
• Fix for mislabelled controls in 3D graphics dependency docking window
• Fix for dependencies being drawn multiple times when loading or reloading a
3D plot
• Fix for lost surface when using Direct3D graphics engine for 3D graphics
• Fix for incorrect percentages when transferring records from the transfer view
to an input path (occurs if percentages are other than 100%)
• Transferring records to the Mined-Out Quantities or PreSchedule now obeys
the percentages entered into the transfer view
• Fix for selecting upper-level blocks in the graphics view does not update the
transfer view if the marquee tool is used

4. Gantt Charts
• Multiple fixes to Gantt chart legends

5. Import / Export
• Fix to importing data at mixed levels

Page 4
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

• Fix for import/export of an input path to a text file not recognising


non-productive activities
• Fix for importing and exporting import/export templates
• Fix for importing / exporting activities not honouring use accumulation field
for zero test data field
• Fix for import/export of a scenario not correctly activating all items in the
scenario.
• Fix for import/export of a scenario not correctly setting the accumulation data
fields

6. Scripting
• Fix for script subroutines GetPilFromPositionName and
GetPositionNameFromPil when referencing a database other than the database
being run over
• Documentation added for InitTrackField and GetTrackedFieldValue
• Fix for post-step user processing script using the next step instead of the
current step

7. Report Writer
• Fix to OpeningDumpCapacity and ClosingDumpCapacity functions, which
were reporting incorrect values when multiple resources where dumping to a
dump record at the same time. Please note: Only the Dump Capacity field
should be passed as a parameter to these functions.

8. Miscellaneous
• Fix for not being able to reorder global variables
• Updated contact details in Feedback.exe and about box
• Miscellaneous other bug fixes

Page 5
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

2. XPAC 2003, Version 7.6.6


Non-public Release

A patch release which includes the following fixes:


• Fix – Filling dump correctly – ensuring activity zero fields aren’t modified
• Fix – Input path resources using advanced destination scheduling
- Will now delay, or overflow correctly if no dump room available
- Will not delay or overflow if the source has a quantity of zero
- If delayed will now correctly restart the input path step

• Fix - GetRecNum(CURRENTDESTINATION) will now work in user


processing triggers.

Page 6
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

3. XPAC 2003, Version 7.6.5


Non-public Release

XPAC 7.6.5 is a patch release to XPAC 2003 that addresses some issues that were
raised after its release.

Items Addressed:
• Corrected issue where the successor range was not filtering lower level records.
• Improved speed of record deletion.
• Corrected issue where Accumulation Fields for Resources and Dumps would
appear cross-linked occasionally.

Page 7
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

4. XPAC 2003, Version 7.6.4


Non-public Release

XPAC 7.6.4 is a patch release to XPAC 2003 that address some issues that were
raised after its release and includes two enhancements: i) the ability to cache the value
of Expression Objectives and; ii) a Prioritise Source First mode in Destination
Scheduling. XPAC 2003 must be installed on the machine prior to installing the patch.

Items Addressed:
• Fixed problem with Period Constraints of type “Both” not behaving in the
expected manner.
• Fixed problem with BTRIEVE engine not loading under some circumstances
• Reports can now be run “Silently” as they did in 7.5.
• Fixed issue with Ranges not being cached correctly when a model was shutdown.
This meant that Ranges had to be re-evaluated every time a model started up.

1. Cached Expression Objectives

A substantial increase in performance can be obtained if the value of Expression


Objectives Scripts is cached during scheduling. The caching can occur on a per period
or per schedule basis. It can be activated by a selecting the appropriate option in the
Objectives Screen.

Cached Expression
Objectives

If activated the value of all Expression Objectives for the Resource will be cached.

Page 8
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

2. Prioritise Source First

When using “Both” Capacity Constraints, “Both” Period Constraints or Expression


Objectives the XPAC scheduling system will select the Best Source-Destination
Combination. However in many circumstances it is required to select the best Source
first and then the best Destination based upon this Source. Large models can achieve
substantial increase in performance by using this option.
To select the Source first, check the “Prioritise Source First” Flag on the Destination
screen in XPAC.

Prioritise Source First


Flag

Only resources with the flag ticked on will be scheduled in this manner.

Page 9
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

5. XPAC 2003, Version 7.6.3


Public Release

XPAC 7.6.3.699 is a patch release to XPAC 2003 that address some issues that were
raised after its release. XPAC 2003 must be installed on the machine prior to
installing the patch.

Items Addressed:
• Roster Exceptions Activity Dialog behaviour corrected. Fixed crash on insert.
Also now displays correct activity type and saves insert/delete/edit operations
correctly.
• Exporting Data Fields will replace any quote character (") with a space ( ) in
Description and Unit columns, so that when you import that exported data field
set, it will no longer "misalign" if you used a combination of quotes and commas.
• Updated Contact Details
• Fixed issue where when you created multiple resources, then enabled those
multiple resources for a scenario it would crosslink the accumulation fields.
• Fixed issue when creating a calendar using the calendar wizard it would not
display the dates it used correctly in the calendar if you specified the date field as
the first row in the grid. It will now perform a full recalc of the calendar after it
has created it.
• Fixed issue where creating If you turn "All Years have 12 months" off, specify
1/7/3 as the start date (1st of July) it will not use that date to populate the first date
on the calendar you create (it will use 1/1/3 instead)
• Fixed issue where it was removing hidden rows when saving the formula 1 sheet
as an excel sheet.
• Fixed issue where it would "half delete" a Stockpile/Dump if you tried to delete it,
but then clicked "No" at the "This stockpile/dump is used in the following
scenarios:" message box.
• Fixed issue where if you deleted an active Stockpile/Dump, it wouldn't remove it
from the scenario.
• Improved Error Message when you try to schedule using a Dump that has no
capacity field set.
• Fixed issue where if you schedule one set of data, it may show selectable periods
in another scenario if you change the scenario combo to that scenario instead.
• Will now delete all scenario created stockpiles for all scenarios (not just the active
one) when you go to import data.
• Fix to Cross Tab Reports
• Fix to Output path Totals, when changing accumulation fields during scheduling
• Fix to re-running scheduling from other than first period
• Fix to saving changes made to calendar after running a schedule
• Fix to advancing mine status - including hang in graphics
• Fix to allow changes to calendar without resetting schedule to first period
• Fix to GetCurrentPeriod to work in AddToABL script after schedule run multiple
times
• Fix to stop scheduler jumping to end of period - caused by very small steps
• Fix to GoRec when called from run once script and ran over more than 10,000
records

Page 10
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

• Fix to importing data to large model system


• Fix to speed up processing of mine out quantities from user script
• Added Large Model Support Repair Option
• Fix Polygon Plot - window split not saving
• Mines status animation does not always show the same result when stepped period
by period.
• Fix Block remains after stepping through animation with next period button
• Fix to allow SetDependency to be called from Hole Scan script
• Fix to minor issue editing global variables
• Miscellaneous bug fixes

Page 11
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

6. XPAC 2003, Version 7.6.0


Public Release

The scheduling screens have been rearranged to support destinations, including dumps
and stockpiles. This document will be of most benefit to existing users of XPAC –
please take a moment to review this document to discover the changes.

1. Changes to Resources

In the 2003 release we have changed the way resources are configured.

Previously in XPAC 7.5 there were three different types of resource, Standard
Production (input path and production rate), Standard Target (input path and a target)
or Auto Target (using AutoScheduler and a target).

There is now a single resource, with two new properties.


“Mining Sequence” & “Resource Capacity” see diagram below

Mining Sequence indicates whether the resource should use an Input path or the
AutoScheduler to select the blocks. Resource Capacity is the choice of using
production rates or target scheduling.

These two properties effectively replace the three different types of resources in 7.5
and introduce a new type of scheduling, production rate auto scheduling.

Note that the productive activities are now located on the resource screen.

Note also that AutoScheduler requires the purchase of an AutoScheduler license

Page 12
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Changes to the Resource Tree

The order of the items that are displayed under a resource has changed; there are also
several new screens.
In the screen shot above you will notice that the Objectives item is grayed out, this
indicates that the resource is not configured to use objectives, it is using an input path
instead.

Production Details, Destination and Objectives are all new screens.

Production Details
The production details contain different configuration options depending upon
whether you are using the AutoScheduler or Input Path and what type of production
(target or rate). The settings include number of resources, availability, utilization, the
production target, upper & lower limits, step size etc.

Destination

This screen allows you to set each activities destination.

Destination Type
Product
Is the default destination, and behaves in exactly the same way as previous versions of
XPAC

Essentially the material does not have any destination that is modeled within the
scheduling setup.

Stockpile
Stockpile will allow selection of stockpile from the “Default Destination” column; all
blocks of the particular activity will be sent to the stockpile.

Page 13
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Dump Path
All blocks of the particular activity will be sent to the dump path

Advanced Dest.
The AutoScheduler will select the best dump location for each block based on the
objectives specified. (Refer to the changes to objectives below)

Classified Field
If a classified field is selected, the destination of each block mined will be read from
the classification field of the particular record.

Format of classified field


SP:<stockpile name>
DN:<dump name>
F:<Row code>
RS:<Rule set name>
DP:<Dump Path Name>
ADVDEST
PRODUCT

Note: If it is unable to match the value, it will search through the stockpiles to see if
the value is equal to a stockpile name, if it is still unable to match will then default to
PRODUCT.

Overflow dump
If the option “Allow use of overflow dump” is ticked on, any material that is sent to a
dump when the dump has already been completely filled will appear in the output path
with a destination of “Overflow”. If this option is not ticked on the schedule will stop.

Enable “Advanced Destination Scheduling” in Input Path


This is advanced option for use when you are using an Input Path; it allows you to
define objectives just for use in selecting the dump blocks.

Default Destination
The third column on the destination screen is titled “Default Destination” this is
because the destination you select in this screen may be overridden by a different
destination in the input path.

Note: when using the AutoScheduler the column is titled “Destination” as


AutoScheduler does not use an input path.

2. Dump paths

A new section has been added to the scenario setup called dump paths. If you aren’t
using AutoScheduler, or need to specify an exact path for a dump, you will need to
create a dump path. Dump paths are very similar to Input Paths, but there is no activity
column.

Page 14
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

3. Dumps

There is a new section called dumps in the schedule setup screen.

When a dump is created a corresponding entry in the main database is created. This
works in the same way as stockpiles in XPAC 7.5.

To create a different hierarchy for the dump as shown in the above example you must
go to the “Project Properties screen” (accessible from the File menu) change the
Section to Dumps and edit the properties as shown below.

Page 15
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

4. Dump Properties

Dump Location is the name of the record that is associated with this dump.

Fill Capacity – each dump must have a capacity field in the main database associated
with it; this field defines the amount of material that can be moved into the dump.
This field must be an activity zero field which is additive.

Note: Material from multiple activities may be moved into a dump, the capacity will
control the total amount from all activities.

Page 16
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Activity Mapping
Multiple activities can be sent to a dump, the different activities can be
mapped to the same fields, use an Activity Mapping.

Dump Fill Accumulation Field


Each dump must have an accumulation field defined for each activity in use, the
reason this should be defined is so the swelling of material moved to a dump can be
taken into account.

5. Changes to Objectives

Note: Objectives are a key concept of AutoScheduler – you will only have this screen
if you have purchased an AutoScheduler license.

An objective type has now been added to facilitate dump scheduling. Each objective
can either be a source, destination or expression objective.

Source Objective
Is exactly the same type of objective as previous versions of XPAC, it is used so the
resource can select a block to mine.

Destination Objective
Is newly added type of objective and will only be used by the resource when it is
selecting a destination to dump to.

Expression Objectives

Page 17
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

This objective is used for selecting a source and destination based upon the
best combination of all the possible combinations currently available.

Active
A new tick has also been added so you don’t have to delete the objectives you can just
disable them.

Priority
You can now set priorities to be greater than 100. Previously priorities were limited to
the range 0-100. Also, XPAC no longer internally rounds the priority to an integer
value. This gives greater control over relative priorities between objectives. E.g.
previously an objective with priority 9.4 would have the same effective priority as one
with a priority of 8.6 i.e. both would be rounded to the nearest integer internally and
treated as both having an identical priority of 9.

6. Dump Mining Direction

A new row has been added to activity screen allowing you to specify a mining
direction for the dump.

7. Changes to constraints

Note Constraints are only automatically active if you have purchased an


AutoScheduler license.

Constraints have been changed to operate not only on the amount of material that can
be mined from an area, but now you can also constraint how much material is dumped
to an area. “Both” type of constraints can be used to limit the amount of material that
is moved from an area to another area, i.e. to constrain the amount of Pit A that can be
dumped to Dump B, you would create a source range for Pit A, a destination range for
Dump B and set the maximum capacity.

These changes effect “Range”, “Contents of Range”, “Concurrent WIP” capacity


constraints and period constraints.

Page 18
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Page 19
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

8. Additions to the output path

New columns available in the output path are Destination Task, Initial Destination,
Destination Filled, and Destination.

The above output path shows the record 83: South\S02\3\C has been dumped to the
142:InPit\2 record and that 142:InPit\2 was initially 0% full and was 100% full at the
end of the step. It also shows that it was dumped using the AutoScheduler and that
after dumping 83: South\S02\3\C the InPit dump was completely full and all material
then went the “Overflow”

9. Changes to Import/Export to handle dumps

A number of changes have been made to Import/Export to enable it to work with


Dumps. The changes have been made is such a way that for a model with no dumps
then the user should see little or no differences in this area. The Import/Export files
and templates created for these models are fully compatible with those that already
existed in XPAC 7.5.

In order to support dumps, and other structures not derived from the top-level record
Deposit, Import/Export now allows Names and PIL fields to be defined for Level 0 as
well. This only applies to the Main database. All other database types (i.e. Calendar
and Parameters) cannot define Level 0 and are treated in exactly the same as in XPAC
7.5. The ability to set Level 0 fields means that a single data file can be used that
contains all the Deposit Data along with the Dumps simply by having a field in the
import data which contains the Level 0 Name and/or the Level 0 PIL that is
appropriate. Setting up of these values is done exactly the same as for the other Levels
i.e. through the import/export field properties and attributes screens and dialogs.
These Level 0 settings are Saved and Restored in Templates exactly as for other level
fields. They can also appear in file headers and will be produced, if defined, as a
consequence when data is exported.

In the event that the data for Deposits and Dumps is in separate files AND those files
DO NOT contain data (Names or PILs) for Level 0 then there is a relatively simple
way of dealing with this. Open the “Main” database view. Select a node in the
appropriate sub-tree for the data to be imported into i.e. to import the deposit data,
select a deposit record; similarly to import into the dumps select a dump record (Note:
if you are wanting to import Dump data and there are no dumps currently created then
you’ll need to create the Dump first through the Schedule Setup screen – and then

Page 20
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

you’ll be able to select the Dump node in the “Main” database view.) Next,
from the File menu, choose the Import | Data... command. The
record (Node) selected at the time the command is started, will form the default node
for all other records to be imported under if no other upper level record information is
supplied e.g. if the data does not contain Level 0 values then these will be taken from
this ‘current’ or ‘default’ record. To make it clear to the user, this record name appears
in the Title bar of all the dialogs displayed during the import process so there should
be no accidental importing of data into the wrong portion of the database structure.

This feature is also useful in other situations in which the data file does not contain
the full level information for the data. E.g. might have a model that combines data
from several Pits, each under their own Level 1 node in the Deposit structure -
\Deposit\PitA, \Deposit\PitB etc. As may well be the case, a file containing only data
for a particular Pit A, may not contain a field with the name “PitA” or the PIL number
of 1 that it corresponds to. To deal with this common situation, the user can now
select the PitA record in the main database tree and then import the data file for Pit A,
setting the level fields that do exist in the file as appropriate. The import code will
automatically fill in the missing parent level data from the selected record. Previously,
the user was required to either edit the data to add the missing fields or else
manipulate the template to create a dummy constant field.

Data export is the same as in XPAC 7.5 with the exception that the user now has the
option to include data fields for Level 0 as well. Export templates that already exist
will produce exactly the same results. If the user chooses to create a new template
using ‘all fields’ of the ‘Main’ database, they should find that as expected, fields for
Level 0 will now also be included.

Polygon import/export has been extended in a similar fashion to allow the associating
of polygons with dump records along with deposit records as was previously.

10. Production rates

Production rates can now be based on Destination, as well as Source and Calendar
fields.

Previously the production rates for production-based resources could be an expression


involving Main (i.e. Source) and Calendar fields (i.e. expressions involving M() and
C() fields). This remains unchanged in XPAC 2003. With the introduction of Dump
scheduling however, these productivity expressions can also involve Destination
fields as well. This is done via the addition of “D” (i.e. D() ) fields in the Production
rate expression.

Note: because the Destination records are also in the main database the row codes you
use with Destination (i.e. D()) fields are the same i.e. they will have an ‘m’ prefix
NOT ‘d’ as might otherwise be assumed.

Page 21
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Also, you can use the new predefined constant CURRENTDESTINATION


as a logical record number to such functions as GetRecNum(), GetApil() etc,
to identify the current destination record.

The following is a simple example of how all three parts; Source, Destination and
Calendar can be included in the one productivity expression.

M(mLoaderProdFactor) * D(mDumpProdFactor) * C(cLoaderCalProdFactor)


See also the following section, “Using script files within XPAC expressions”. This
explains how expressions can now call functions from external script files. This,
together with the ability to reference the Destination record or Destination fields
allows for complex productivity calculations (e.g. Travel Times etc.) to be made on
the fly during scheduling.

11. Using script files within XPAC expressions

Wherever expressions are expected, XPAC now has the ability to call functions from
external script files. This allows the handling of complex expressions requiring branch
or conditional evaluation to be more easily handled. Any required logic can be added
to the external script file in the form of a function and then that function can be called
from the expression with any number and/or type of parameters that the function
requires.

Two different methods have been added to support this.

1. LoadModule()
LoadModule can be used to load an external file and then evaluate a user-
defined function in it that can have as many parameters of whatever type is
required. The returned value is then evaluated as part of the expression.

e.g. 10 * LoadModule(“File1.bas”).Func(1, “Alphabet”, iCount,


M(mField1)) + 3

This will call the function “Func” in the file “File1.bas”, with 4 arguments, 1,
“Alphabet”, iCount, and M(mField1). The result will be multiplied by 10 and
then 3 added.

2. ‘!’ and ‘|’ (NOT RECOMMENDED)


The expression must start with the exclamation character (‘!’) followed by the
filename, optionally enclosed in double quotes (“”). Next a vertical bar (‘|’)
character is used to separate the filename from the rest of the expression.

e.g. !“File1.bas”|Func(1, “Alphabet”, iCount, M(mField1)) * 10 + 3

This will call the function “Func” in the file “File1.bas”, with 4 arguments, 1,
“Alphabet”, iCount, and M(mField1). The result will then be multiplied by 10
and then 3 added.

Page 22
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

This ability has particular application to the Productivity expressions for


Production based resources. The complex travel time and fleet productivity
calculations involving different Source and Dump records can now be encapsulated in
a function in an external script file that can be called from the Productivity expression.
In the same way, Expression objectives for use with Auto scheduling can now contain
complex logic involving both Source and Destination records to come up with the best
possible combination.

This change applies to ALL areas where expressions are expected i.e. they can be used
throughout XPAC in such things as Polygon Graphics Templates, Expression
Objectives, Capacity Constraints etc.

12. Scenario Selection from main database

One of the major changes in XPAC 2003 is the modification that has been made to the
main database storage system. The main database now incorporates the handling of
data that changes during the course of a schedule. This primarily affects stockpiles &
dumps, although there is an option to allow this to effect the deposit as well.

Previously in XPAC 7.5 the data stored in the main database could be changed during
a schedule, and would require the user to set the data back to its original state before
running the schedule again.

In XPAC 2003 the data stored in the main database is called the “Original Data”, and
cannot be changed during a schedule. All changes made during a schedule are stored
in a separate location. The data that changes during a schedule (for example a
stockpile or dump being filled) can only be viewed by selecting the scheduled period
from the scenario toolbar.

Original data
Always shows whatever data has been imported or configured in the main database.
The data can be updated / modified in exactly the same way as previous versions of
XPAC, with one exception – it cannot be changed during scheduling.

Period Data
Shows any changes that have occurred during a scheduled period, if no changes have
taken place then the original data will be displayed.

Page 23
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Only the changes made by dumps, stockpiles and user processing scripts that
write to the main database are stored in the period data.

Note: Period data will be shown as red in the combo box when the schedule is out of
date.
The database tree is shaded using a different background colour when a period is
selected.

< All Scenarios >


When “All Scenarios” is selected from the scenario tool bar, every stockpile and
dump that exists in the database will be shown in the tree, if a scenario is selected only
the dumps and stockpiles active for that scenario will be shown. Deleting a stockpile
or dump when a scenario is selected will remove it from the scenario, deleting a dump
or stockpile when “All Scenarios” is selected will delete it from the project
completely.

Running XCM’s over the period data


After a schedule is complete and you want to write back to the scheduled data, for
example to calculate the floats for a longwall, then you can run an XCM over any
period by changing the period data on the main database then selecting “Run Once At
Current Period” or “Run Range At Current Period”.

Viewing Polygon Plots at the period data


All polygon plots that access the main database will use whatever period is currently
selected by the main database. When running a plot you must ensure that the main
database has the correct period selected.

Exporting Data
Period data can also be exported from the main database, using “Export| Data at
Current Period…”.

Page 24
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Show depleting quantities in deposit


There is also an option for the period data to reflect the changes to the deposit. For
example if a block has a quantity of 5000 tons and 50 % is mined in the first period
and the option “Show depleting quantities in deposit” in Global Options is turned on
then the period data will show a value of 2500 tons for the block in the first period.
“Show depleting quantities in stockpiles” global option also behaves in a similar
fashion, when ticked on the values shown in the main database for stockpiles exclude
any material that has been reclaimed from the stockpile.

13. XCM Scripting Functions

Two new functions have been added to allow the user access to Base Data whilst
scheduling (using DbWriteValue or DbReadValue during scheduling will respectively
write or read period Data). To write or read base data use WriteBaseValue or
ReadBaseValue. Note these functions can only read/write lowest level records.
ReadBaseValue( DbName As Variant,
ByVal RecNo As Long,
ByVal FieldNo As Long)
As Variant

WriteBaseValue( DbName As Variant,


ByVal RecNo As Long,
ByVal FieldNo As Long,
ByVal Value As Variant,
Optional ByVal bDontPrompt As Boolean)

14. New Large Model Support

XPAC 2003 has been changed to use a new database system for large models. This
new database system is replacing the two-file system, and will provide several
benefits. The new large model support database has smaller files and faster access. It
uses an industry-leading performance database that provides reliability and scalability.
XPAC should handle models up to 5 million records. Bare in mind that performance
will be sluggish on anything but a trivial number of fields (<20) and a fast machine
should be specified with at least 2GB of RAM.

Converting to use Large Model Support


To convert a model to use the new Large Model Support, select the Tools menu and
go to the Advanced submenu. Select the Convert to Large Model Support item.
XPAC will prompt you to backup your data, which is highly recommended. And then
commence converting. A progress dialog will appear showing the status of the
conversion.

Page 25
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Page 26
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

The files
The new Large Model Support stores data in 5 new files. These new files
have an '.XDB' extension as shown in the picture below. If the file size grows over 2
Gigabytes large, a new file will be created with a '.^01' extension. This helps maintain
manageable files and fast access to your data.

15. Changes to project properties

The Project Properties screen (accessible from the File menu) has been modified in
the following ways:

• Position tables, which used to be a separate tab, have been combined with the
Levels tab. Each level has an associated check box to enable position tables, and if
enabled, a button to bring up the position table editing dialog.

Page 27
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

• Auto ranges can now be generated for any level in the database
hierarchy. The combo box Auto Ranges is used to select the naming
scheme – if any entry other than ‘None’ is selected, a range is generated for each
record for that level.
• Whole level hierarchies can now be imported and exported.

16. Changes to range scanning levels

The scanning level for ranges has been removed from the range itself. Now, if
appropriate, a scanning level can be selected each time a range is used. For example,
when generating a graphics plot, in addition to selecting a range you can select the
scanning level to use. In addition, a scanning level can be selected for the range
condition (constraint).

17. Relative Address Rules

Show Level 0 option has been added to relative rules, when ticked on a new column
“Level 0” will be added, this is to allow dependency rules to be created between
dumps and deposit.

18. Changes to Step Size

Page 28
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

AutoScheduler resources can specify the amount from a block it will process
before selecting the same or another block. Reserve Step has been added -
this stops any other resource completing the block if a resource has reserved it.

Page 29
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

19. Travel Time

With the current release of XPAC 2003, we have re-implemented the travel time
objects to allow faster calculations, and easier usage.
This has been achieved by splitting the travel time control into two controls: one that
supports Graphical interfacing, and another that supports code interfacing.
The new Graphical version of the Travel Time control now has a new file format, and
also will support truck data and haul route data exported from Talpac8.
These new objects may assist the developer of XPAC models in calculating travel
times, based upon data within the XPAC model. The calculations are very fast, with
typical calculations taking less than 1/10th of a second.

The new coding object also assists the developer of XPAC models by allowing
programmatic control of the data, as can be seen below.

For more information about the Travel Time control refer to “Travel Time Help.doc”

20. Report Writer

New Inventory Functions


For complete documentation on the following functions, please refer to the online
help, which can be accessed from the Help menu.

GetDestApil ()
This function can be used in the Filter part of the report writer. This function may be
used to retrieve the APIL of the destination. This function filters blocks whose
destination name is equal to the passed string.

OriginalValue ()
This function can be used to retrieve a value from the Main database.

OpeningInvSP () and ClosingInvSP ()


Two new script functions have been added to retrieve the inventory of Stockpiles.

OpeningDumpCapacity () and ClosingDumpCapacity ()


Two new script functions have been added to retrieve the remaining Capacity of
Dumps.

21. Main Database

Flat Calendars
A new option has been added allowing Users to view Calendar databases with a ‘flat’
structure – i.e. all records are displayed together in chronological order (refer Figure
below).
When the Flat Calendar option is enabled –

Page 30
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

The Structure Tree is hidden;


Upper level records are displayed shaded.
You can disable/enable the Flat Calendars option –
From the Database Options screen under the Tools menu;
From the Edit menu (when a Calendar is the active database);
By selecting Ctrl+E (when a Calendar is the active database).

Figure 1: Flat Calendar

22. Changes to Scripting

Please see the XCM Programming guide for more detailed information about the
following functions.

• Extended Functions to handle different APILs:


CreateRecordEx(Level 0 Name As String,
Level 0 Pil As Long,
optional Level 1 Name As String, optional Level 1 Pil As Long,
optional Level 2 Name As String, optional Level 2 Pil As Long,
optional Level 3 Name As String, optional Level 3 Pil As Long,
optional Level 4 Name As String, optional Level 4 Pil As Long,
optional Level 5 Name As String, optional Level 5 Pil As Long,
optional Level 6 Name As String, optional Level 6 Pil As Long,
optional Level 7 Name As String, optional Level 7 Pil As Long,
optional Level 8 Name As String, optional Level 8 Pil As Long,
optional Level 9 Name As String, optional Level 9 Pil As Long,
optional Level 10 Name As String, optional Level 10 Pil As Long)
As Integer

GetPilFromPositionNameEx( ByRef lRecord As Long,


ByRef iActivity As Integer,
Optional ByRef bAvailable As Boolean,
Optional ByVal sResource As String )
As Integer

GetPositionNameFromPilEx(optional Pil Number As Long,


optional Level Number As Long,
optional Database Name As Variant]))

• Extended Functions to handle Source ABL:


GetFirstABLSource( ByRef lRecord As Long,
ByRef iActivity As Integer,
Optional ByRef bAvailable As Boolean,
Optional ByVal sResource As String )
As Integer
GetNextABLSource( ByRef lRecord As Long,
ByRef iActivity As Integer,
Optional ByRef bAvailable As Boolean,
Optional ByVal sResource As String )
As Integer

Page 31
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

GetSourceABLCount( Optional ByVal lActivity As Long,


Optional ByVal bAvailable As Boolean,
Optional ByVal sResource As String )
As Integer
WriteSourceABLToFile( sFileName As String,
optional ByVal bAppend as Boolean,
optional ByVal sComment As String )
As Boolean
FindSourceInABL( lRecord As Long,
iActivity As Integer,
Optional ByRef iFlags As Integer,
Optional ByVal sResource As String )
As Boolean

• Extended Functions to handle Destination ABL:


GetFirstABLDestination( ByRef lRecord As Long,
ByRef iActivity As Integer,
Optional ByRef bAvailable As Boolean,
Optional ByVal sResource As String )
As Integer
GetNextABLDestination(ByRef lRecord As Long,
ByRef iActivity As Integer,
Optional ByRef bAvailable As Boolean,
Optional ByVal sResource As String )
As Integer
GetDestinationABLCount(Optional ByVal lActivity As Long,
Optional ByVal bAvailable As Boolean,
Optional ByVal sResource As String )
As Integer
WriteDestinationABLToFile(sFileName As String,
optional ByVal bAppend as Boolean,
optional ByVal sComment As String )
As Boolean
FindDestinationInABL( lRecord As Long,
iActivity As Integer,
Optional ByRef iFlags As Integer,
Optional ByVal sResource As String )
As Boolean

• IsInRange, GetFirstInRange, GetNextInRange


Have all been optimised to run as fast as possible.

23. Schedule Analysis Tools (SAT) – (AutoScheduler only)

The Schedule Analysis Tools has been removed from XPAC 2003. The company’s
intention is to again provide a SAT tool in future versions. We are currently
reevaluating the design and hope to re-release an enhanced version with XPAC 8.0.

Page 32
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

24. Excel Gantt Chart

The Gantt chart can now be viewed in Excel (for users who have Microsoft Excel
installed on their machines).

To use this new chart, you must first go to Global Options and tick “Use Excel-based
Gantt charts.

When accessed from the menu, “View -> Gantt Charts”, or from the toolbar, the Gantt
chart will be displayed within an Excel worksheet complete with the usual Excel
toolbars and menus.
To access the Excel menus click on the icon in the top left hand corner. This will
display the menus as shown below or alternatively click on the desired button from
the toolbars.

Page 33
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

7. Release 7.5.2

Import / Export

Regional and Language Options


XPAC was not correctly handling the language option “Install files for complex script
and right-to-left languages (including Thai)”; the new release addresses this issue.

Dependencies Rules
In certain circumstances during scheduling dependencies would not correctly release
blocks, as a result some blocks would not get mined. Testing has shown that majority
of models are unaffected by this fault.

8. Release 7.5.1
Maintenance release, no added functionality

9. Release 7.5

Circular Reference Report Enhancements


A number of enhancements have been made to the circular reference reporting. The
scanner will now report the exact chains with no extraneous nodes. Additionally the
rule generating each stage of the circular reference is displayed.

Example:
In this example:
• #4 Activity 1 is dependent on #5 Activity 1.
• #5 Activity 1 is dependant on #6 Activity 1.
• #6 Activity All is dependent on #4 Activity1.

#4 #5
All All
RuleA(1)
1 1
2 2
3 3
RuleA(2
RuleA(3 #6
All
1
2
3

Page 34
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

The circular reference report generated would be:

Terminology change
With XPAC 7.5 ‘User processing’ is now known as Trigger events, and the word
trigger will appear in the scheduling tree. All events (such as POST BLOCK and PRE
PERIOD) behave in the same manner as before. The change helps bring XPAC in
line with terminology used in other products such as MS SQL and ORACLE
databases. The process of doing an action is still referred to as user processing, the
category of events that cause an event to fire are known as triggers.

1. 1. Scheduling Enhancement

Removal of Time-Slicing

The Time-Slicing option has been removed from the Schedule Set-up Tree. Previously
Time-Slicing was affecting Stockpiling and Release Profiles. The following points
explain how these areas are now handled:

1. Stockpiles
Stockpiles that are being mined from and mined to simultaneously now benefit
from look-ahead scheduling. If we know that this is happening, we can combine
the production rate for the resources to determine when the stockpile will be full

Page 35
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

(or empty). This removes the situation under time slicing where
Resource A would remove 1 ton from the stockpile and Resource B
would add one ton to the stockpile etc.

2. Release Profiles
Resources on a delay because no blocks we’re available previously looked for new
blocks at each time-slice. These Resources will now delay for a maximum of the
old time-slice value before looking for new blocks. These need only occur if other
resources are releasing segments of blocks because of a release profile. The value
of the delay can be modified by clicking the ‘Advanced’ button in the Edit Release
Profile Curve Dialog.

Advanced
Button

Very Small Steps

It is now assumed that for Blocks with 100% remaining and that take less than 1
minute to mine; the resource can mine this block in zero time. The resource is then
immediately rescheduled to process another block (all other resources will wait until
the resource being rescheduled is taking more than one minute).

New Trigger Event – ‘Add Block to ABL’

A new trigger (formerly User Processing) event has been added to fire after a resource
mines a block and causes other blocks (record/activities) to be added to the ABL
(Available Block List).

If set to run with 'Current' then the user processing script will run once for each
record-activity that is added to the ABL. The CURRENT record in this case will be
set to the record added to the ABL (NOT the record that was mined in order to release
this block)

The function GetCurrentActivity() and GetCurrentStepActivity() BOTH return the


activity of the item added to the ABL. (To get the activity that was just mined by the
resource in order for the ‘this’ block to be released you have to call
GetCurrentOutputStep and look at the Activity in the OutputPathStep – see bellow)

Page 36
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

The functions GetCurrentStepDetails, GetCurrentOutputStep and


GetLastOutputStep should all return details about the step that actually
caused 'this' record-activity item to be added to the ABL. (Note: in some
circumstances these can be empty - i.e. there may be no Last or Current output step as
an item can be added to the ABL while a resource is looking for something to mine
(possible dealing with empty blocks etc.)

The function GetCurrentResource will return the resource that caused the item to be
added to the ABL.

Be aware that this Trigger (Event) fires through a resource - hence if no resource was
involved in causing a block to be added to the ABL then no trigger (event) will occur
i.e. PreSchedule, MOQ, End of Preschedule etc. may all cause items to be added to
the ABL but they cannot cause a Trigger (Event) to occur since no resource is
involved. This may be resolved in the future when some form of global trigger (event)
mechanism will be added.

Care should also be taken because of empty blocks – these can result in resources
freeing other activities indirectly i.e. a resource may release an activity that is empty
which results in the immediate release of subsequent activities that depend on this
‘empty’ activity/block. This may cause problems if it is assumed that only particular
resources can release particular activities – empty blocks means that almost any
resource could free any activity.

2. 2. Graphics Enhancements

Speed Improvements
A significant amount of work has gone into optimising the graphics engine inside of
XPAC. The result is both greater speed and greater efficiency when using large
models. During testing, speed improvements between 2-fold and 5-fold were
recorded, depending on the size of the plot. In addition, plots that previously could not
be opened due to system memory constraints could be opened because of a reduced
memory overhead, at no loss of functionality.

DXF Feature Layer Improvements


In addition, the DXF feature layer support has been extended to display a greater
number of the DXF entities. These include:
• Arcs
• Circles
• Lines
• Polylines and light-weight polylines (including line width)
• Solids
• Text
• Block inserts

Page 37
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Each entity is displayed using the appropriate colour (the BYLAYER and
BYBLOCK colour options are also obeyed). When a DXF file is imported
into XPAC, the file is stored in the database, ensuring that all DXF layer and entity
information is preserved. DXF feature layers can also be exported (using the File |
Export Feature Layers option). Within a plot, feature layers can be enabled the same
way as before (using the Layers tab with the template properties), with the addition of
the ability to enable individual DXF layers within a feature layer.

Page 38
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Polygon Coordinate Generation Wizard


A minor enhancement to the polygon coordinate generation wizard is the
ability to select a range when merging polygons from a lower level to an upper level,
or replicating polygons from an upper level to a lower level. This allows for the
aggregation of polygons without having to write complex scripts.

Navigation Options
Several additions have been made to the right-click menus for the polygon graphics
view and the polygon transfer view. There are now navigation options to find the
selected record in the main database, the dependency view, and the combined output
path view. When using the navigation options in the polygon graphics view, they will
find the first selected record. When using the navigation options in the transfer view,
they will find the record in the active row.

Graphical Preview in Coordinates Screen

A new addition to the polygon coordinates editing screen is a graphical preview. This
preview can be used to view the polygon for the current record selected in the
structure tree, or the current feature layer selected in the feature layer list. By default

Page 39
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

the refresh button in the toolbar must be pressed to refresh the view, but
there is also a auto-refresh button to automatically refresh the view when the
current record changes. There are also basic zooming, rotating and panning tools.
When viewing the record for a polygon, a small circle is drawn over the current point
selected in the coordinates grid.

3. Scripting Enhancements

4. Custom Run Script Buttons


There is now an option to have up to four buttons defined on the toolbar to run a
script. This is set up through the Scripting Options tab of the Global Options dialog
box. A script filename, database and range can be set, including the option to run
once.

5. #include Directive
It is now possible to include additional files in an XCM. The syntax for this is:

‘#include “<filename>”

(Note the #include directive must be prefixed by a single quote.)

The ‘#include” directive tells the XCM compiler to treat the contents of a specified
file as if it appeared in the main program file. A suggested use of this would be a file
of math functions that are common to a number of XCM’s. Multiple files can be
included by having a ‘#include” directive for each file.

The following limitations apply:


• Only one level of #include directives is possible (i.e. - included files cannot
include additional files).
• While debugging, functions in included files cannot be stepped into; hence the
debugger will automatically step over them.

The compiler will only process #include directives if the option is turned on in the
Global Options dialog:

Page 40
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Toggle for
#include
Directive

6. New & Changed XCM Functions

GetCurrentScheduleTime()
This function returns the time and date of the current output step.

StartedTask() and CompletedTask()


Two new script functions have been added for use in both the Filter and Result part of
the Report Writer. These functions are used to pass records that have either started or
completed within the periods that the Report Writer is generating results for. When
used as a Result, these functions return a count of how many tasks have started or
completed in the period respectively.

LastStartedTask() and LastCompletedTask()


Two new script functions have been added for use as ‘simple’ Filters, i.e. filters that
cannot be used in combination with any other filters -
LastStartedTask() returns the value of the last record that was started in a given
period that is associated with the Result field. If no record was started in the given
period, the value of the current record is returned.

Page 41
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

LastCompletedTask() returns the value of the last record that was


completed in the given period that is associated with the Result field. If
no block was completed in the given period, the value of the current block is
returned. Note: If reporting tasks based on a timescale, do not use a timescale
with a resolution smaller than that of the calendar used to run the schedule with
this XCM. For example, if a schedule was run using a monthly calendar, do not
use a timescale created based on weekly intervals.

CSum()
A new XCM function for use in the Result section of Report Writer allowing the user
to sum report fields. For example, CSum(1,4) would return the sum of the values in
the Report in rows 1 through to 4.

GetLastOutputStep()
This function now returns the Last output Step in the report writer. The step also
includes the Destination of the Output Step. This may be useful when using
Stockpiles.

Destination()
This function can be used in the Filter part of the report writer. This function may be
used to check whether the currently mined blocks' destination is a stockpile. This
function filters blocks whose destination name is equal to the passed string.

The script function GetPSItem() & GetMOQItem() both use tor return a
RemovedItem type. This function was inconsistent with the rest of XPAC, as the
return values varies fro 0-100, where the rest of XPAC uses 0 – 1.0. The function now
returns an “ItemRemoved” type; this is to force a compile error to alert the user that
the underling values have changed. The internal fields will retain the same names.

GetASLCount ()
This function returns the number of items in the ABL. It accepts the following
parameters:

• Optional ByVal lActivity As Long - If present, specifies an activity number to


filter by. If zero or not present, the function will return the count for all activities.

• Optional ByVal bAvailable As Boolean – If true, specifies that only records that
are not constrained will be returned. If false or not specified, all records will be
returned.

• Optional ByVal sResource As String – If present, specifies a resource to filter by.


If not present, the current resource is used.

Page 42
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

7. Compaction options.

There is now a new page in the Global Options dialog box that allows tailoring of
compaction of the project file when the project is closed:

8. User Defined Level Icons

It is now possible to have user-defined icons for levels. These can be added by
launching the Assign Icons dialog in the Level Tab of the Project Properties dialog
box.

Page 43
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

To add an icon to the project, press the “Browse…” button. This will open a file
selection dialog to allow the selection of a bitmap file to be used as an icon. Icons
must be 16x16 pixel bitmaps. User defined Icons can be deleted by selecting the
appropriate icon and pressing the Delete key. This will not affect any level icons that
have already been applied.

Note: User defined Icons are not available until the project has been created, therefore
the browse button is disabled when creating a New Project.

9. Resource Images

Each resource set up in XPAC has an associated icon and image. The image is
displayed on the main resource screen, and the icon is displayed in the Schedule Setup
Tree, and in graphics for animations. There is now the option to import a bitmap into
XPAC to replace the default image and/or icon for each resource. This is done from
the main resource screen on the All Items tab. New resources will receive a default
icon and image based on the resource class (as has happened in past versions).

Page 44
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

10. User Processing Items

The user processing item under each resource is now shown in green if the item
contains user processing scripts. This allows quick identification when multiple
resources have been created.

11. Expanded Business Graphics

It is now possible to select multiple populations for the histogram report, where each
population is defined by a range. It is also possible to include a ‘less than’ and a
‘greater than’ interval. The ‘less than’ interval displays the sum of the frequency
values which are less than the lower bound of the defined interval range. The ‘greater
than’ interval displays the sum of the frequency values that are greater than the upper
bound of the defined interval range.

12. Range Enhancements

Disable Cache Option

Page 45
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

A new option has been added to the range dialog box to disable caching for
the selected range. Normally the contents of ranges are cached in order to
speed up evaluation. When the database structure changes, the caches are flushed to
ensure the range is re-evaluated with the new structure. However, ranges can be
specified with constraints. When these constraints depend upon a database field that
changes, the cache can become invalid without XPAC recognising this. Normally
when loading a range with a constraint, XPAC will prompt as to whether the cache for
the range should be used, or the range should be re-evaluated. By ticking on the
Disable Caching For This Range option, the range will always be re-evaluated,
ensuring that the range will always be up to date.

Page 46
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Show Ranges for Record

A new feature in the database structure tree is the ability to right-click on a record, and
generate a list of ranges in which the record is included. There are two sections to the
resultant list: ranges that the record is included in at the scanning level, and ranges
that the record are included at a level other than the scanning level (either parent or
child records of the scanning level records).

13. Report Writer Enhancements

Subtotals an Calendar Time Scales


New functionality has been added to Report Writer allowing users to create time
scales from existing calendars and include subtotal fields in reports. To create a time
scale from an existing calendar, simply choose the Select from Calendar option in the
Auto Time Slicer Dialog and select appropriate values from the options provided.
To create subtotal fields in reports, select the Subtotal period type from the New
Period Dialog when inserting new fields in the time scale.

Cumulative Frequency Reports


Cumulative Frequency Reports can now be created showing –
the frequency values accumulated to the maximum value,
frequency values negated from the maximum value.
The system defaults to the former option.

Cross Tab Reports


New functionality has been added allowing the user to –
a) Automatically generate the report display intervals;
b) Select between using the record name or record APIL as the row title;
c) Display the frequency field column totals;
d) Write the database name, date and time in the report footer.

Page 47
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Accumulation Fields View – Main Database


A new default view - <Accum Flds> has been added for the Main Database.
This view displays each Activity relevant to the Active Scenario along with their
associated Accumulation Fields and Zero Test Definition Fields (ZTDF).

Page 48
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

10. Release 7.4

1. 1. Builds 160-179
Note SAT was removed in XPAC 2003, pending a redesign.

Schedule Analysis Tools (SAT) – (AutoScheduler only).


A new suite of tools has been added to XPAC called the Schedule Analysis Tools
(SAT). Full details are included in the AutoScheduler User Guide.

The SAT is a suite of tools to aid in the analysis of a schedule. The tools display data
(eg database values, contents of the ABL, etc) at a specified point in the schedule. In
order to be used, a schedule must first be run with the Export data for Schedule
Analysis Tools option turned on in the expanded ‘Select Period Range’ dialog box.

Main Viewer
The Main viewer consists of a series of controls for setting the current time to be
analysed and a combined output path similar to the combined output path in XPAC.

ABL Viewer
The Available Block List viewer shows the blocks that are available at the current
time.

Database Viewer
The Database viewer displays the main database in a familiar and comfortable way.

Dependency Viewer
The Dependency viewer displays the predecessors and successors of a given record.

Page 49
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

Materials Viewer
The Materials viewer displays a histogram.

Page 50
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

New Schedule Joint Path View


A new screen has been added to XPAC to assist in building input paths.
This new screen is located on the Scheduling Menu called Joint Path View.

This screen presents the user with the input paths on the left, combined output paths
on the upper right and period and stockpile totals on the lower right. Operating in a
simple manner the user can select and manipulate the input path, schedule then easily
view and analyse the schedule results and continue modifying the input path to
achieve better schedule.

Scheduling Report Writer – Excel sheet option and Automation


The Scheduling Report Writer now has a new option in ‘Output Type’ called ‘XLS’.
This causes the output from a report to go to an Excel file, with the name given by the
entry under ‘File Name’. The extension is always set to ‘.xls’.

A ‘Report Writer’ type report can now be selected to automatically execute


immediately after a schedule has finished running. This is a useful adjunct to the
above enhancement. The report is selected in the drop down part of the ‘Select Period
Range’ dialog box. This dialog box is presented immediately upon setting a schedule
to run. The drop down section becomes visible by clicking on the down arrow.

Polygon Graphics Changes


• It is now possible to specify a mining elevation in addition to a mining direction.
This allows for a full 3D mining direction to be specified. The 3D mining
direction is used by a mine status plot when it is animated and by a period
progress plot when a block is split into multiple shading segments. The mining

Page 51
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

elevation is specified in the Productive Activities dialog box on the Edit


menu, and defaults to 0 (horizontal). Values would typically be between
+90 (straight up) and –90 (straight down). The mining elevation can be specified
as a value or a database field.

• It is now possible to view multiple dependency rule sets without viewing all of
them. The Dependencies tab has a list of the dependency rule sets and individual
rule sets can be selected.

• As an added option to ‘Show dependencies for selected records only’, it is now


possible to show a chain of dependencies. When this option is ticked on the
Dependencies tab of the plot settings, and a record is selected in the view, any
predecessors and successors of that record (depending on the setting) will be
shown. By default this chain will continue out until there are no more predecessors
and successors, but it is also possible to stop this chain after a specified number of
steps.

• It is now possible to see blocks that have been removed by Zero Test Data Fields,
Mined Out Quantities and the Preschedule in a Period Progress Plot. The Shading
tab now supports defining a legend entry for each of the above three items, and the
Period Selection dialog box now supports selecting one of the above points as the
start of shading for the plot.

• When animating a schedule in the graphics, the colour specified for each resource
is now used as the background colour of the text that is drawn next to the icon.
This enables the easy identification of each resource during animation, especially
when animating several resources that are the same class (as they will use the
same icon). The colour of a resource can be specified on the All Items tab in the
Schedule Setup tree.

• There is now a button in the Input Path window to select the contents of the
current input path in the graphics view.

• There is now a tool in the polygon graphics toolbar to select objects in the view by
defining a polygon.

• There is now a tool in the polygon graphics toolbar to measure distances on the
screen. This can only be used when the plot is in orthographic, plan-view

• Please see the release notes for XPAC 7.3.1 below for even more graphics
changes.

Range Changes
• It is now possible to include one or more ranges within another range, to build up
a composite range. The Range Selection dialog box now has an ‘Include Other
Range…’ button under the list of rules. Normal range rules can be combined with
this option in the one range, allowing the creation of quite sophisticated ranges.

Page 52
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

• The scripting function IsInRange has been modified to evaluate the


range at the scanning level instead of the lowest level. There is now an
optional flag to evaluate the range using the full range tree (that is, the parents and
children of the records at the scanning level).

• Please see the release notes for XPAC 7.3.1 below for even more range changes.
Transfer Output Path
• We have added a small dialog so you can now easily change an output path to an
input path or a preschedule. To access this just display an output path, right-click
and select “Transfer to …”.

Dependency Rules
• Applying of the dependency rule sets has been improved. If the rule set has not
been applied, then it will be shown in red in the Schedule Setup tree. If a schedule
is started without the dependency rule set applied, XPAC now gives the option of
applying the rule sets before scheduling commences.

• From & To Ranges have been added to dependency rules so you can define
exactly where the dependencies will be created.

• Upper Level Release Profiles have been added to dependency rules.


Upper Level Release Profiles allow different areas to release other areas correctly.

For Example: when 50 % of Bench A is completed you want to release 50% of


Bench B

Bench A has three strips Bench B

Strip1 (10 tonnes) Strip1 (10 tonnes)


Strip2 (10 tonnes) Strip2 (10 tonnes)
Strip3 (1000 tonnes) Strip3 (600 tonnes)

Previously in XPAC it would require all three strips in Bench A to have been

Page 53
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

mined by 50% before it would release Bench B. Now as soon as 510


tonnes of bench A is mined it will then release 50% of bench B (310
tonnes).

To use upper level release profiles you must select a release profile in the
dependency rule. Click on the advanced button, tick the check box “Use Upper
Level Profiles”, then select for each activity the field from the main database
where you want XPAC to get the accumulation data from.

Output & Input Path & PreSchedule / Mined Out Quantity screens
• The screens have been totally re-written for this release of XPAC, giving big
improvements in the speed and functionality of both screens.

• Views & Ranges are now enabled in the input / output path, so you can now select
a transposed view or filter via a range.

• Period Totals & Stockpiles totals can now be viewed from the output path, by
default the total screens are not calculated, you need to press F9 to calculate the
totals.

• Input Path, Mined Out Quantities & PreSchedule screens are no longer limited to
16000 entries but are now only limited by other factors (i.e amount of disk space /
size of model etc).

• Input Path columns have changed instead of ticking the destination field and
Production rate percent on or off, you must right-click choose path fields and you
can re-arrange and select which columns you want

• Input Path Destination Field


As well as listing all the available stockpiles in the list box selection for the
destination we have added all the classification fields from the main database, so
the input path step can now read it’s destination from a classified field. To use this
you must create a classification field in the database and add your stockpile names
as members of the classification list.

Scheduling Changes
• Advance to Start
We have increased the speed of advancing to the start of the schedule.
This facility is very useful for scenarios that require significant time to schedule.
After scheduling for example periods 1 to 10, you decide to make some changes
that will only effect period 7, you can simply start the schedule from period 7.
XPAC will advance the schedule to period 7 for you saving you the time it takes
to schedule period 1 to 7.

• Validating schedule
XPAC before running a schedule will run through a validation process, making
sure the schedule setup doesn’t have any errors and compiling scripts the will be

Page 54
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

used during scheduling. This process will now only happen once per
XPAC session or if you change the schedule setup then it will also re-run
the validation process. This can be another useful time-saver as for large
scheduling models the validation process can take a long time.

• Pressing F10 to Schedule


The F10 button has changed slightly, now when you press F10 XPAC will start
the schedule from the last point the was scheduled. For example if you had
previously scheduled from periods 1 to 7 and then added entries to an input path
for example, then pressed F10 XPAC will start from period 7 and schedule until
the finish period you had previously selected. Of course if you change anything in
the schedule setup that effects the entire schedule then pressing F10 will start from
the first period.

2. 2. New Features in XCM Scripting

• New function to be used during scheduling in user processing scripts that make it
easy to track the current progress of the schedule.

When you want to start the tracking of a Field you must call InitTrackingField
(can be done in a Begin of Schedule script), you can optional specify the activity,
range and resource you want to filter by. Then whenever you want to retrieve the
value you must call GetTrackingField with the same arguments you used for the
InitTrackingField call.
Function InitTrackingField (ByVal FieldNo as Long, Optional ByVal
ActivityNum As Long, Optional ByVal sRangeName As String, Optional ByVal
sResourceName As String) As Boolean

Function GetTrackingField (ByVal FieldNo as Long, Optional ByVal


ActivityNum As Long, Optional ByVal sRangeName As String, Optional ByVal
sResourceName As String) As Double

• The polygon scripting functions have been overhauled, with a number of new
functions added, and a number of old functions retired. The following table
outlines the changes:
Old Function New Function
N/A GetPolygonCount
GetPolygonVertexXYZ LoadPolygon
N/A SavePolygon
DeletePolygon SavePolygon
GetPolygonCentroidXY GetPolygonCentroid
GetPolygonAreaXY GetPolygonArea
InPoly, InPolyRec PointInPolygon
N/A InflatePolygon
N/A PolygonArithmetic
N/A CalculateLineIntersection

Page 55
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes

The old functions are still available for compatibility reasons, but it is
recommended that the new functions be used for new scripts or scripts
that will be heavily modified. The new functions allow the script to load,
manipulate, and save an entire polygon. For more information, please see the
XCM Programming Manual.

Main Database
• Min / Max added to Field Type
We have added the ability to have minimum or maximum fields at different levels
in the database.

Page 56

You might also like