You are on page 1of 16

WITNESS 2006 Release 1

The theme of this major release is experimentation with a completely new experimentation
framework offering easy scenario setups and model runs, and powerful scenario comparison
tables and charts. Also included in the release are innovative profile distributions based on the
latest research, a range of new date and time functionality, many new ease of use features,
and exciting support for product extension through a new module type enabling the linking of
COM Server DLLs.
WITNESS Scenario Manager
The new Scenario Manager is a key highlight of this release. It is a new and exciting way to
conduct and report on experiments. A separate installation program adds this functionality to a
WITNESS installation and the scenario manager can either be run from the Start menu or from
the Model menu inside WITNESS.
When run the Scenario manager offers an interface where different investigations and
scenarios can be defined and run. After running the experiments it also provides many table
and chart options across different model runs in order to compare results.
The following show some of the output tables and charts that are possible
An example of a simple run of 3 replications the labor statistics report showing a 95% confidence
intervals
An example of a run where both a quantity and a cycle time have been varied the machine statistics
report has been grouped by machine and the experimentation parameters are listed alongside the results
to enable easy flexible charting.
Some example charts
1. showing a key result against a selected input parameter.
2. A status report with edited scenario names to identify key data against each result
3. A radar chart to show variance of replications
There are many, many types of chart possible with an easy to use toolbar to facilitate setup in each chart
window as an option.
Please refer to scenario manager documentation for further information.
WITNESS Profiles
A new type of WITNESS distribution is available a profile distribution. This is in effect a real
continuous distribution but with a time axis. It is used for applying factors to values that vary
by time. For example recent research into human performance indicates many factors can
affect performance for example different temperatures at different times of day, different
noise levels, humidity levels, the after lunch effect, etc. This new distribution type allows you
to easily model factors that may affect your processes and apply different timings or other
calculations at different times in a model.
When defining a profile distribution the distribution type Profile should be selected from the
pull down list. The distribution will be set to be of type real automatically.
(A new designer element is included in the Startup model Profile in the data tab).
Example of a Profile Distribution - this may be used to affect timings of activities over a ten
hour shift. The cycle time for a machine could be divided by a reading from the profile to
reflect a different level of efficiency at different times on the shift.
The WITNESS function ReadProfile(Profile Distribution. Time, line) will return a value based on
the time supplied. The time supplied to the function may be any time it may be the actual
time in the simulation or it may be the time a person allocated to a task has been on shift (a
new function TimeOnShift is available to calculate this). The value returned by the function can
then be used in many ways, for example a cycle time could be multiplied by the value in order
to represent different efficiencies at different times of the day or shift.
The screen shown above is the edit dialog from the detail for the distribution. To add a new
point either double click on the graph or add a new value in the * box. Existing values can be
dragged with the left mouse button on the chart or adjusted in the table. When dragging on
the chart the dragging is along one axis only at a time (dependent on the first drag direction).
The profile range is defined in the settings box and the time unit to be used can be chosen too.
A right mouse button menu offers a number of other options including drag granularity and the
ability to add fitted lines to the data points. The default line is a linear spline i.e. just a
simple straight line joining of the data points. There are a number of other options and each
fitted line can be read from in the ReadProfile Distribution.
Example of a Profile Distribution showing linear and quadratic lines of best fit. Cubic lines of best fit and
cubic splines are also available. All fitted lines may be used in the simulation model if required.
A range of new Date and Time functionality
WITNESS will now automatically accept date and time information held in real variables. The
simulation model will accept a model start date and time and times may be entered into
expressions in terms of clock values e.g. 00:01:22 would represent a time of 1 minute and 22
seconds.
To use the date and time functionality you need to select the new clock mode offered in
Model/Clock menu. Here you can select whether your model will use seconds, minutes, hours
or days as the fundamental simulation time unit (or you can select custom mode which offers
the classic WITNESS clock functionality that allows you to define time units of your choice).
Setting of the clock using this dialog must be done at the start of the model. On this dialog you
can select a clock start date for the model using the calendar component accessed with the pull
down arrow. The format for representing dates will be determined automatically from the
country settings in your operating system.
On the right hand side of the Model/Clock menu dialog is the choice of how the time will be
displayed in the time window. For example the time and date option (long option) may appear:
The periods and holidays tabs offer global settings for the model and must not be confused
with shift patterns which may be applied to individual elements within a model.
Real variable value displays now also offer formats which will display the date and time values
held and in addition there are many new functions that allow access to date and time
information held in a real variable These include:
FormatAsDate (S) (date (R), option (I))
Extracts the calendar date portion of a real date value and converts this into a string in the format "DD/MM/YYYY" (or
whatever date format your PC has been set to).
FormatAsDateAndTime (S) (date_and_time (R), option (I))
Converts a real date value into a string in the format "DD/MM/YYYY HH:MM:SS". Note that the date format depends on
the date format set on your PC.
FormatAsTime (S) (time (R))
Converts a real time value into a string in the format "HH:MM:SS" . Note that this function returns the total number of
hours (that is, HH can be a value greater than 24) unlike the FormatTimeOfDay function, which returns an actual time of
day.
FormatAsTimeOfDay (S) (time_of_day (R), option (I))
Extracts the time of day (from 00:00am to 12:00pm) from a (real) date value and converts this to a string in the
"HH:MM:SS" 24 hour clock format. Note that this function ignores how many days result from the value, unlike the
FormatAsTime function.
GetActualTime (R) ( )
Returns the current actual time, taken from the clock on your PC.
GetDay (I) (Time (R))
Extracts the day of the month from a variable or time/date expression and returns an integer in the range 1 to 31.
GetDayOfWeek (I) (Time (R))
Converts the day of the week from a variable or time/date expression into an integer in the range 1 (Sunday) to 7
(Saturday).
GetDayOfWeekAsString (S) (Time (R))
Converts the day of the week from a variable or time/date expression into a string, e.g. "Monday".
GetDayOfYear (I) (Time (R))
Converts the day from a variable or time/date expression into an integer indicating a day of the year from 1 (January 1st)
to 365 (December 31st) or 366 (December 31st in a leap year).
GetHour (I) (Time (R))
Extracts the hour from a variable or time/date expression and returns an integer in the range 0 (midnight) to 23 (11 pm).
GetMinute (I) (Time (R))
Extracts the minute from a variable or time/date expression and returns an integer in the range 0 to 59.
GetMonth (I) (Time (R))
Extracts the month from a variable or time/date expression and returns an integer in the range 1 (January) to 12
(December).
GetMonthAsString (S) (Time (R))
Converts the month from a variable or time/date expression into a string.
GetSecond (I) (Time (R))
Extracts the second from a variable or time/date expression and returns an integer in the range 0 to 59.
GetYear (I) (Time (R))
Extracts the year from a variable or time/date expression and returns an integer in the range 100 to 9999.
New Used report functionality
It is now possible to directly access a relevant element dialog from the used report. For
example if a function shows it is used in Actions on Start for ShiftA then the ShiftA detail dialog
can be opened directly from that line on the used report.
Extract from the a Used Report showing underlined elements which can be clicked to offer access to the
elements detail dialog
Display Locking
This release sees a change to how display locking is implemented in WITNESS. Control of
locking settings has been moved to the display toolbar
The four options on the toolbar set the current lock status for all element displays in a model.
This enables rapid changes between different locking options.
Display Selection
There are a number of changes to the way in which screen selection is shown. These new
options depend too on the display locking option chosen at the time. The main changes are:
A solid outline now surrounds the display element that is clicked on. A dotted line
surround all other items that will move if the selected element is moved. In the picture to
the left individual locking is turned on and hence the display shows that all the display
items linked with the third indexed machine will move if the yellow square status icon is
moved.
When in a dialog that offers the ability to update an icon all the icons that will be affected
are now shown on the display. In the picture to the left each of the three yellow square
status icons are shown with a solid surround.
New Direct Display Option
A new toolbar button on the display toolbar now gives direct access to the update dialog
for an individually selected display item. This functionality is also available on the right hand
mouse button menu. This avoids the extra clicks necessary in using the element display bar.
Icon Rotation
A new type of icon rotation is included in this release. A single icon can now be chosen to be
automatically rotated depending on the direction of travel (either walk movement or along a
path or in a queue).
The new Auto Rotate check box on the style dialog for a part, vehicle or carrier enables the
icon(s) to be rotated automatically from a defined start angle and with a couple of different
options for rotation behaviour.
Display Offset for elements on a path element path display
For all path element path displays there is a new option to allow more varied offsetting of
elements which are at the same point on the path. In the last version of WITNESS elements
were placed at a fixed distance away from each other. It is now possible on the path display
dialog to specify that offset and to choose between two different placement direction options.
With path is in the direction of the path (in front or behind) at the side is right or left of the
path direction.
(Negative numbers are allowed for the placement gap)
Improvements to the Assistant toolbar and Tree operation.
A major upgrade in this area sees the introduction of a second list option in the tree display.
The tree now provides all the functionality of the different assistants in WITNESS. Whereas
previously the assistant would open up a list of, say, functions and then close this when used
the new tree display enables the lists to remain for use again and again.
There are three different tree display options chosen using the tabs above either the model
tree (as before), the assistant tree or both as shown here.
When one of the assistant toolbar buttons is chosen then the assistant tree is automatically
opened at the appropriate section.
Use of the assistant is easier too with double clicking on the required item automatically
placing it in the open actions box or expression with focus.
Right mouse button functionality gives access to insert with prompt.
The second, assistant tree also provides a second list of elements in the model. This enables
easier dragging of an element from one module to another as the displays can be positioned at
different areas of the tree.
Searching and Filtering are provided with a new interface at the bottom of the trees.
The search button , when toggled in, will continuously update the tree to show all
elements containing the text string typed in the box.
Buffer Path Displays
A new display option of path displays for buffers has been introduced. This enables buffers to
queue items in a non-linear fashion using the same type of path displays as can be defined for
conveyors, tracks, sections and path elements.
A maximum display size can be defined for the path display to limit the number of parts that
will be displayed. If this is chosen then the positioning of parts along the path display will use
this maximum figure to generate the positioning of parts so that when the limit is reached the
end position of the path is also reached.

Extra Histogram Report Detail
The histogram statistics report has been altered slightly. By default just the top row the report
will be shown reporting on the mean, s.d, max and min and their times of recording. This is
designed to give easier access to this key information across several histograms at once.
To access the histogram detail the Detailed report box now needs to be checked. This offers
extra detail to before in that cell min/mid/max figures are included.
New options for Error Tolerance
On the Model/Options dialog on the Detail tab there are now two new Error Handling options.
Each of these check boxes when ticked will divert error messages to a file warnings.log in the
directory where the model is run.
The first suppresses warning messages when an attribute is accessed (for example in a rule)
when a part is not present.
The second suppresses warning messages when a Read File is not present all values read are
set to zero or null.
Lanner have introduced these warning diverts based on direct customer requests and advise
most customers to leave the warning messages in place to avoid error.
Simple Model Profiling
It can sometimes be useful to know which rules and elements in a model are being checked,
run and scheduled the most. This can show where perhaps a model can be changed to be more
efficient and run more quickly.
A profiling report can be generated for any model. With the interact box open press the keys
Ctrl, Shift and P at the same time. This turns profiling on and a message in the interact box
confirms this. Then run the model for a time. After the model is stopped again press the keys
Ctrl, Shift and O at the same time. This lets you select a filename for the generated profiling
report and outputs the report.
Pressing Ctrl, Shift and P again will turn off profiling.
The report file generated shows the following:
For each element:
the number of events that have been scheduled against that element (including all cycles,
breakdowns and setups that have been in the jobs, idle and blocked lists).
The number of times the labor rule for that element has been evaluated and how many
times it has failed to obtain labor successfully
The number of times the input rule for that element has been evaluated and how many
times it has failed to obtain input successfully
The number of times the output rule for that element has been evaluated and how many
times it has failed to output successfully
Power and Free Carrier Display Options
A new option for the display of power and free carriers has been added. This allows the display
of the part description when loaded and the carrier description when unloaded. To enable this
the option to individually set and retain each carriers description has been added.
Model Tags
This is a new feature aimed at increasing the amount of information shown as a model runs.
Any attribute in the model can now be given tag status.
The display on the left is from an extended version of the new demonstration model
Warehouse.mod where the attribute Storelane has been given a Tag display style (defined off
the display bar). In this example a font of size 5 has been used to economize on display.
In addition the Part (Factory.P1) in its style dialog is instructed to display tags.
Any part attribute data can be displayed in this way including name and string attributes.
Save As File Menu command
This command will now remember the last file type saved and use that type as the default
type. Types include .SIM files, .LST files, .MDL files, etc.
ComLinks
This powerful extension to WITNESS connectivity allows users to link in COM Server DLL or EXE
files compiled in VB, C, C++, C#, etc. A new type of module can now be defined a
component module. This automatically interrogates the prepared DLL or EXE (or type library)
and creates functions inside the module being defined which give direct access to the methods
and properties exposed in the DLL/EXE. These functions include all the syntax necessary for
communicating properly with the DLL/EXE. All integer, real or string methods may be
accessed. WITNESS users can now make complex calculations more efficient in raw code and
obtain external information to the program more easily and much more.
Defining a component module selecting one of the COM Server files
There are eight new WITNESS functions included to help with COM linkage in this way:
ComCreate
ComInvokeInt
ComInvokeReal
ComInvokeString
ComInvokeVoid
ComRelease
CLSIDFromProgID
DispIDFromName

You might also like