ReleaseNotes:Planimate 3.9 Release Notes

From Planimate Knowledge Base
Jump to: navigation, search

Release notes, bug fixes and misc enhancements to Planimate 3.9 SV39W2 Release notes

  • Basic instructions on Scenarios:

Things to know about the current scenario implementation.. 1. The need to "initialise" the model now replaces the starting of the model, in preparation for editing by the InterDyne user (i.e. via the Edit Button). But there is effectively no difference between then and now.
2. You can only load or save a scenario while the model is in its pre-init (paused) state. Thus it is recommended that you save your scenario before beginning the actual run. NB: This may preclude the saving of output data into a scenario file.
3. Before point 2 will work, you need to choose the "pause after pre-init" option from the Display/Display Options list-picker dialog.
4. You also need to have the model automatically run upon being loaded. Again this is selected from the Display/Display Options list-picker dialog.
5. The model can automatically go into the pre-init paused state, but can do so only when it is loaded as a command line argument for Simview. e.g. Drag the MDL file on to the SimView.exe [or icon] in Explorer/File Manager. Alternatively, make a program item for the model file itself. If the model is loaded from the menu bar, this option does not activate.
6. During a run, and after a run is stopped, you will not be able to save your scenario - you will have to re-initialise the model in order to do so. NB: If output tables in your scenario are set to be cleared upon initialisation, their data will be lost. This may limit the ability of an existing model output table to work well in a scenario, and may require some rework of tables before output data can be preserved upon reinitialisation. A better solution will come if the ability to save a scenario at any stage is addressed.

SELECTING THE INFORMATION TO INCLUDE IN THE SCENARIO
Choose those tables you wish to have included into the scenario. Do the same for Portal and Model Attributes.
Choose an order for the information before selecting anything, because there is currently no means of re-ordering the scenario, other than removing an item and then re-selecting it to become the last on the list.
For each table (or attribute) : a) Open it for editing, b) Click on the table/attribute edit dialog's Options button, c) Select the option called "Include in Scenario".
This item will now be included into the scenario file.

SAVING YOUR FIRST SCENARIO FILE
To save a scenario file, first initialise the model, by starting a run. Then when the model has initialised, the "Save Scenario" and "Load Scenario" options will now be available from the File menu. Select the Save Scenario option, enter a file name, and a scenario file will be written to the disk. This file has a .SCN extension. It is a text file, and can be read by a word processor or spreadsheet.
Once created, a Scenario file may be reloaded in the per-init/paused state.
If you alter your model scenario, say by including another table or attribute, and you then try to reload an earlier scenario file, SV will warn you that the format is different, and then load what it can from the file.

POSSIBLE OR KNOWN BUGS:
Do not continue a run after the Pre-init pause by double-clicking the clock... The screen will go blank, and not recover, necessitating a 3 finger salute.
Do not stop a run that is in the pre-init pause state, as the system will also hang, requiring abandonment of the session.
See further notes on scenarios below.
New Features since SV39V5

  • Scenarios (still incomplete)

Tables and portal attributes can tagged as "included in scenario" then they collectively can be saved/loaded in the model pre-init pause state
Scenario files contain subsystem names so files are interchangeable as long as the portal hierarchy leading to the object saved is the same

  • Preinit state (option in display options)

SV "pauses" after initialisation of attributes and tables is complete (objects haven't been primed/initialised yet)
Scenarios can be loaded/saved in this state

  • Graph views now support minor axis grids
  • major grid lines are now thicker so minor grid lines are obvious
  • y axis grid spacing can be specified
  • Table Graph Views handle mouse clicks:
  • drag in graph to view points
  • let go near point to show point co-ord and overlay number
  • use left/right to select prev/next point, up/down to select overlay
  • can drag within graph to select another point
  • click outside of graph, <ESC> or press right button to leave mode
  • "Clear" operation applies clear value to table/row/col/cell/attribute setting it to its "Clear" value as defined in edit. For item attributes they are set to the value '0'

Misc bug fixes:

  • attribute link copy: attribute stats rebind to new attributes on copy
  • text alignment/grid snap in paint problem fixed
  • cell stats can now be added to panels
  • click action Save As can no longer be invoked while paused.
  • added Log Start Time click action
  • click action Run Start Time can no longer be invoked while paused.
  • after modifying table cell via edit unblocks work properly
  • menubar Model Attributes->Add adds to current window, not top screen
  • warning given if Show Dialog attepted when not running
  • Facility stoppage dist timer handling fixed (it was drawing a random number on each test of the stoppage parameter rather than drawing one value and waiting for it to be matched)

SV39W Release notes
New Features since SV39V5

  • Scenarios (still incomplete)

Tables and portal attributes can tagged as "included in scenario" then they collectively can be saved/loaded in the model pre-init pause state
Scenario files contain subsystem names so files are interchangeable as long as the portal hierarchy leading to the object saved is the same

  • Preinit state (option in display options)

SV "pauses" after initialisation of attributes and tables is complete (objects haven't been primed/initialised yet)
Scenarios can be loaded/saved in this state

  • Graph views now support minor axis grids
  • major grid lines are now thicker so minor grid lines are obvious
  • y axis grid spacing can be specified
  • Table Graph Views handle mouse clicks:
  • drag in graph to view points
  • let go near point to show point co-ord and overlay number
  • use left/right to select prev/next point, up/down to select overlay
  • can drag within graph to select another point
  • click outside of graph, <ESC> or press right button to leave mode
  • "Clear" operation applies clear value to table/row/col/cell/attribute setting it to its "Clear" value as defined in edit. For item attributes they are set to the value '0'

Misc bug fixes:

  • attribute link copy: attribute stats rebind to new attributes on copy
  • text alignment/grid snap in paint problem fixed
  • cell stats can now be added to panels
  • click action Save As can no longer be invoked while paused.
  • added Log Start Time click action
  • click action Run Start Time can no longer be invoked while paused.
  • after modifying table cell via edit unblocks work properly
  • menubar Model Attributes->Add adds to current window, not top screen
  • warning given if Show Dialog attepted when not running
  • Facility stoppage dist timer handling fixed (it was drawing a random number on each test of the stoppage parameter rather than drawing one value and waiting for it to be matched)

SV39V5 Changes
Fixed user "Dialog" bug when using item attributes
SV39V4 Changes
Table Importing during model run --------------------------------
Importing a table during model run (via the Change Object->File option) has been enhanced to support the following:

  • Tables can be imported from formatted data. The format of the column being imported into must match the format of the data from the column being read into it. Calendar times and labels are handled, labels must be already defined (new ones can not be automatically added unlike in edit mode).
  • As well as importing into "Table", a "Row", "Column" or "Block" target can be used as the destination into which data is read. "Block" enables definition of the top left corner of a rectangular table block into which data will be read, whereas "Table" starts at Row 1 Column 1.
  • An offset row/column into the source table (the file) can be specified, defining the top-left corner of a rectangular table block from which data is read.
  • A limit on the number of rows and columns to be read can be specified, without a limit SV attempts to fill to the last row/column (if the target is table or block), to the last row (if the target is a column) or to the last column (if the target is a row).
  • The source table file can have more columns (and rows) than the region which will be read given the offset, limit and target as described above.

The last 4 points mean that an arbitrary sized rectangular block can be read from a large table file.
SV39V2 Changes (from SV39T6)
1. Tables

  • The label name import filter can now handle "'s appearing in label names when deriving label lists from a table
  • Only the first 30 characters of a label name are retained
  • The "File" sub menu in the Label List editor has a "Sort" option which sorts the labels, removes duplicates and numbers them from 1
      • THIS WILL SCRAMBLE ANY TABLE COLUMNS OR ATTRIBUTES USING THAT LABEL LIST
  • Its now possible to have the row label column (ie. Column 0) derived from dynamic data in the table.

In the table editor, the [TABLE] button menu has a new option "Row Label Source" which enables a column containing the row label names to be nominated.
Its a good idea to make this column the last column in the table

  • The table "Keep Simulation Values" option is on by default
  • The Table View option "In Place Edit" is now implemented. With it off, tables can be browsed/scrolled but the values can not be changed

2. Performance View => Panels
Performance View screens are now called PANELS. Some key enhancements have been made to enable them to be grouped, managed and copied much more effectively:

  • Every panel has an owner, which may be another panel or a dynamic model screen or subsystem. Ownership loops are not allowed. Thus every panel has a dynamic screen at the top of its "ancestry" tree.
  • A given dynamic screen or panel can own many panels
  • Newly added panels get the current screen as the default owner,
  • The owner of a panel can easily be changed. Any panels owned by a panel stay with that panel when its owner is changed.
  • Copying a dynamic screen (ie. copying the portal for a subsystem) will completely copy all owned panels as well, for all subsystems in the copy.
  • Copied screen-change buttons and table views will be updated to "point" to the copied version of the object they were associated with - if it was also involved in the copy. Otherwise the copies remain associated with the original object.

The panel arrangement is flexible, enabling panels to be collected together in different ways:
Example 1: Stringing panels in series
[Dynamic]--->[Panel 1]--->[Panel 2]--->[Panel 3]
Here the subsystem "Dynamic" owns Panel 1, which in turn owns Panel 2 etc. This would be a good structure to use where the user works in a way which steps along the panels.
Example 2: A group of panels
[Dynamic]--->[Panel 1] --->[Panel 2] --->[Panel 3]-->[Panel 4]
Here, panels 1,2,3 are owned by the subsystem Dynamic Panel 3 also owns Panel 4 This would be a good structure where the panels are related but not accessed in any particular order
NOTE: These structures are intended to help the modeller organise their panels into logical collections. In example 1, when you shift "Panel 1" it will "carry" with it its child panels, which can minimise work when reusing panel structures.
The structure used does not currently alter what each panel is able to access.
A later version will have button types for "Next Panel" and "Previous Panel" which will follow the owner/child panel links without requiring specific "pointing" to a given panel.
3. "Screen List" in status bar and Edit Background Menu changes
The "Performance View" section of the subsystem navigation list now lists Panels in a structured way, indented to indicate ownership much like dynamic screens are. The first panel for a given panel "tree", owned by a dynamic screen, is annotated with the dynamic screen's name.
The editing background menu (object mode) has been consolidated to support working with panels more effectively. For any screen, the background menu allows:

  • adding a new panel (which will be owned by the current screen)
  • navigating directly if there is a single owned panel
  • navigating (via list selection) if more than one panel is owned
  • navigating to the owner panel (or dynamic screen) if the current view is a panel
  • navigating to the owning portal screen if the current view is a dynamic screen

In addition to listing attribute,table and mapper counts, the portal object menu now also shows the number of panels owned by the portal's subsystem.
Misc Fixes / Changes:

  • Dialogs can now reference attributes from an arbitrary dynamic screen - ie. they now can be used on a "Panel" screen.
  • "Table Stats" are gradually being renamed "Table Views"
  • new "Run At Start" model option - will run the model when SV is started with the model on the command line
  • 4 conditions are now supported in the multi condition list
  • Extra button actions added (Log View, Save As)
  • New Key lock system requires key file to run SV, eanbles "Edit" and "Run" access levels
  • Fixed crash bug when an item re-visited a change object in the same epoch (ie. in a zero capacity loop) - this is now trapped
  • More specialised options in the portal object menu have been moved to a sub-menu
      • Important notes for SV39T6: ***

This version has seen more internal rewrite and consolidation, so please be careful migrating to it. The file format is different to T5.
In particular note the following:

  • In user mode (hidden menus)
  • you can only interact with tables and attribute stats (in place edit) when system is paused (not stopped).
  • Change to graphs:

A graph can have its scales fixed to constant points.
In the graph "Stat" menu, Parameters enables min/max x and y scale ranges to be fixed - these will only be retained if the options->Auto X Scale/Auto Y Scale are turned off first.
All graphs in older models will have the auto x scale/auto y scale option turned on, to avoid update problems with older models. This slows graph redraw down, so use a fixed scale if possible for x and/or y
Using a fixed scale for an axis which is in absolute time will probably not work yet. Let me know.

  • Font management

Once fonts were edited under windows, DOS runs of the model became ugly.
This has been addressed by tracking DOS and Windows font information separately. Initially, the DOS Text (Button) font will be guessed, which is of consequence when a Windows-saved version of a model is loaded under DOS, particularly if many font changes were made to the default font classes whilst under Windows.
Your buttons may look ugly under DOS if you did alot to the model under Windows, but fixing them should only be a one time operation. If its real bad, let me know and I'll code a once off special case for you, so you can migrate your model over.

  • Stat Copy handling

It is possible to create a cell, graph or table view in a dynamic screen well below the the screen its table is defined in. This would cause a crash when copying the portal containing the stat, this has been fixed by rewriting the way stat copy is handled. The code change was not trivial.

      • Important Reminder ***

Please report all System Errors Code messages and "Program Error Intercepted" warnings you encounter, they are abnormal and should never arise. In the latter, the only numbers I need to know are EIP/ESP:


[3.9T2]
SV39T3

  • graph X scale grid can be shown, hidden, x scale grid interval can be set (but its not saved yet)
  • label selection list sorted (when selecting label, not editing list)
  • double click handling consolidated to some degree (for win) Should avoid phantom double clicks problem
  • clock drawn properly in DOS if win font changed
  • Implemented dialog as a change object calc (target set to button code on exit, 1 = OK, 0 means a cancel occured and other attributes were not changed)
  • default object name font not bold under Win
  • attribute clear at start option
  • as for table, can set clear value of attribute
  • In place edit for attribute stats (during simu pause only) Option on attribute stat
  • loop delay implementation
  • set on screen by screen basis but is attref based so individual item can have different delays
  • delay is applied for entering and leaving items which are forced to wait at the loop
  • during the delay the item occupies occupancy on both the track and the loop
  • delay is not applied for entering item which has a trip step at the loop (is anyone using this)
  • Enhanced paused-click on loop shows items occupying it, a 'D' before the name indicates item is under loop delay (and it will appear on the pause-click menu for the track from which it is entering/on which it is leaving

Bug fixes

  • database dialog fixed for icon save
  • not scanning attribute properly for dialog items - gave Scan Count error
  • stat box width retained on copy/paste
  • BMP in DB should now work

[3.9S]
SV39S Release 9
This includes both a Win32 and DOS build
Recent Dial enhancements

  • separate x and y axis
  • scroll mode (scrolls display)
  • absolute times display in x axis when in scroll mode and absolute time in use
  • min update interval can be set
  • join points option implemented properly on update (needs to be on to get solid line)

Area graph mode for tables

  • under dos may cause GPF (get me a model which does this!)

Attribute (value, table cell) Stat width and justification can be changed
Clear at start/retain simul values options are set on a column by column basis
Added "User Can Sort" table option which, if set, allows the user to sort the table when the model is paused, by clicking in its title area
Row insert/delete during paused mode (nb: doesn't resize table, just shifts data)
FEC debug window (display menu) shows pending events during simulation paused mode
Sped up table & attribute name lookup (binary list used)
Sped up switch unblocking code

  • a reference to a table cell (eg: at a switch) where the table column is "Constant During Run" will only get unblocked when that particular table column is altered

Hence:

  • Use a constant attribute for the column index (at the switch)
  • Store multiple switch dependencies in different columns, not down one column

to benefit from this speedup
Binary search option added to the search dialog

  • this can speed up searches in sorted tables significantly, but requires that the data is sorted, each search element is for equality and that multiple search elements are combined using AND.

Entry can be triggered from a signal (from assembler pull or timetable)

  • supports trip assign & latency

Optimisation option to change object implemented - can specify that a "Routine" (notice the new naming) is only implemented when item moves, not during search. This speeds up lookahead but means you cant have a switch downstream to the change object without intervening capacity.
Enhanced database management

  • BMP/PCX images placed in the model's DB file will be located and loaded (the ability to do this is not integrated into SV yet, you need F_DBASE)

Enhanced dialogs - can reference any attribute in a dialog anywhere. => warning: be disciplined using this!
Added file name track option in model info

  • displays the name of all data files accessed via change objects and images (via paint objects) used in the model

[3.9R]
SV39R, R1, R2

  • fixed bug when simulation time < clock reported (at best would print bad second time, at worst would crash when error detected)
  • current linear search speed up (no re-evaluating second condition as iterating)
  • sped up processing of multi-conditional AND (second/third expressions not computed if the combining operation is AND and the previous result is false.
  • Table block insert/delete operations implemented
  • Fixes to table/mapper display bugs with x scale in absolute time mode
  • Many font changes due to Windows work

(Eg. table/stat titles)
[3.9Q]
SV39Q3 changes:

  • EXE return result code handling:

0 : no system error (doesn't mean model didn't stop with error)
1 : error processing command line, load file bad, script name bad
2 : error processing script
3 : user hit escape during run (for demo/animate mode)

  • Fixed abs time '-' handling bug (conversion from edit to run)
  • Table write row

SV39Q changes:
-=-=-=-=-=- | WARNING | Check results and data integrity carefully with this version, =-=-=-=-=-= The changes to the time handling were not trivial.
In particular, look out for absolute times which differ between run and stopped state. I've covered Tables and Attributes, anywhere else where an Abs Time is entered which I've missed???
Also, re-verify edit time sorting is OK
Needless to say, this version uses a NEW FILE FORMAT [139] so retain previous model versions.

  • Absolute Time handling enhancements
  • Once system is in absolute time mode, the Run Absolute Time can be set separately to the Edit Absolute Time reference.
  • the Edit Absolute Time should be left at 1-jan-1970 for new models, there is no need to change it now. Eventually, I might hide it altogether.
  • Table columns and attributes in absolute time mode will retain their integrity if the Run Absolute Time is changed. This is because they are internally stored as offsets from the Edit Absolute Time and automatically translated to the Run Absolute Time reference when the model is run. Retain Values does the reverse translation (if on).
  • Do not export Absolute Time Attributes/Table Columns as seconds, otherwise you create a dependency on the current edit/run absolute time.

Instead, always Export/Import as a formatted time. Then, upon import, they will be properly translated to the current time frame. This is particularly important for exports/imports during a run, since the run time frame is now free to change.

  • Dire Warnings are given when the Edit Absolute Time reference is changed.
  • Work still needed to use abs time notation in schedules, entry arrivals etc.
  • Animate Start / Run Stop time are now specified in Absolute Time, with '-' as the default/0 case.

[NOTE: word Absolute to be changed to Calendar soon]

  • Reworked Table Sort (edit sort) so it can be applied during a run
  • does not sort labels when model is paused
  • edit-sort (no run) has been modified to use much less memory
  • test and report and strange error messages please
  • Portal has new option - "Retain State" which causes portal to remember state it was in when model is stopped. This is so model can be inspected after a run. State is *NOT* retained when the model is saved/reloaded.
  • The "states" option in portals no longer needs the ctrl-click

Renaming states now works!
(?surprised no one pointed this out before)
[3.9P]
SV39P changes:

  • ctrl-paste of object now enables a name to be specified. Any object within the sub-hierarchy matching the name entered and type of the copied object is replaced. '*' and '?' can be used as wildcards.
  • Added attribute option "Retained On Paste/Replace" attribute option. Attributes tagged with this option will be retained for the top level subsystem of a replaced portal, during a ctrl-paste. The target attribute will have the "Retained On Paste/Replace" option enabled, if it was not already. If the target portal does not contain an attribute that the original portal had, it gets ignored.
  • event timer rewritten - supports events switching scrn to PV screen
  • Exit message handling re-implemented - allows combination of msgs, screen changes, pauses etc. events.
  • Start time specification for run appears in abs time mode if abs time mode is selected.
  • A DOS command can be executed as part of a file access operation. For file reads, the command is executed before the file is read, for writes it is performed after the file is written. This enables sub-models to be invoked.
  • "Clear value" for table columns can now be specified column by column. For absolute time columns, a abs time can be used or '-' which means the "infinite" time... a very large number which will be put last in a sort. "Zero Contents At Start" changed to "Clear Contents At Start"

NB: This version has been built with full optimisation
[3.9o]
CTRL-Paste object merge (works for portals too) enabling merge/replace of objects, including entire sub-systems
Bug fixes for track-pv links and trip deletion
DIALOGs added as a button action, enabling attributes to be input by the user



idkbase note 170