Professional Documents
Culture Documents
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
XPAC 20003a (version 7.6.7) is a patch release to XPAC 2003 that addresses some
issues that were raised after the original release.
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
New option has been added to global options to allow a new behaviour of blocks
in the PreSchedule and Mined Out Quantities.
A B C
A B C
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
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
Page 6
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes
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
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.
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
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
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
Page 11
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes
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).
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.
Page 12
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes
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
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
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.
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.
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.
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
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.
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.
A new row has been added to activity screen allowing you to specify a mining
direction for the dump.
7. Changes to constraints
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.
Page 18
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes
Page 19
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes
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”
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.
Production rates can now be based on Destination, as well as Source and Calendar
fields.
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
The following is a simple example of how all three parts; Source, Destination and
Calendar can be included in the one productivity expression.
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.
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.
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.
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 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.
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.
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
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
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.
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.
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.
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).
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.
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
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”
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.
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
Please see the XCM Programming guide for more detailed information about the
following functions.
Page 31
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes
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
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
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
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
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
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).
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)
Page 36
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes
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.
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
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.
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
5. #include Directive
It is now possible to include additional files in an XCM. The syntax for this is:
‘#include “<filename>”
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 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
GetCurrentScheduleTime()
This function returns the time and date of the current output step.
Page 41
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes
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 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.
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:
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
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.
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.
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
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).
Page 47
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes
Page 48
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes
1. 1. Builds 160-179
Note SAT was removed in XPAC 2003, pending a redesign.
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
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.
Page 51
Runge Limited
XPAC 2004 and XPAC 2004 AutoScheduler Release Notes
• 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.
• 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
• 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.
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
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
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.
• 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
• 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