Here are quick video summaries of some of the newest features of Simio 12.205. Detailed release notes are below.
We have enhanced several material consumption areas of the software, including the Consume step and related material consumption within the processing tasks of Server, Combiner and Separator objects.
These were user-requested features.
The Consume step now has a new Must Simultaneously Consume option as illustrated below:
A Must Simultaneously Consume option is now provided, under Processing Tasks -> Material Requirements -> Required Quantity & Constraints, for material consumption within the Server, Combiner and Separator objects.
Note that the Material Requirements property categorization now has a Required Quantity & Constraints category like Resource Requirements.
The Search now has two new properties in Advanced Options (see below). A Copy Over Table Row References property that applies when searching any collection type, and a Set Table Row Conflict Resolution property that applies only if searching table rows.
Note that the default value for the Set Table Row Conflict Resolution property is ‘Replace’ for new models, but ‘Abort’ for old models (as that was the implicit behavior in previous Simio versions).
There is also a new Advanced Compatibility bit which enables some recommended Search step behaviors, eliminating flaws in the previous searching process.
For new models, this compatibility setting will be True, but False for older models unless manually changed.
The Search step is a popular step that is heavily used in consulting projects, often to search rows in tables. When searches of table rows are performed, there may be table row references set on the original token, that the user wants included in match condition or search expression evaluations and/or copied over to new tokens associated with found rows in the searched table.
Depending on the table relationship design, there can be conflicts between the table row references set on the original token and the internal ‘evaluator’ token used by the Search step to evaluate each individual row in the table, or a conflict when trying to set the table reference for a new token to the found row.
Table State Columns and Output Tables Enhancement for Multi-Pass Simulation Approach - RPS Only In Sprint 197, we added a new RestartRun step and Run.RunNumber function. We have now added the ability specify a Keep Values on Run Restart property for both Data Table state columns (ones that are not element or object reference states) and Output Tables. The options are only be available for RPS licenses. These features work across interactive, plan, and experiment runs.
For Table State Columns: For Output Tables:
Note that State Columns in Output Tables DO NOT have the option individually, only state columns on standard Data Tables do. Output Tables either keep the entire table or do not.
These features support a multi-pass simulation approach as described below:
Single-Pass vs Multi-Pass Simulation Approach
Typically, creating a resource schedule or generating the results for a scenario replication instance (experiment mode) requires only one run of the simulation model. A model run is initialized, is executed for some run length, and then ended, completing the Create Plan or Run a Replication action.
Figure 1 - Single-Pass Simulation Approach
There are cases however where it is insufficient to run the model only once to create a schedule or generate results for a scenario replication instance. Instead, the model must be run multiple times in succession, with information determined by previous runs used as input data for the next run.
Simulation runs are continued in succession until the desired objective is achieved. This type of simulation approach is often referred to as a multi-pass approach.
Figure 2 - Multi-Pass Simulation Approach
We have enhanced the Search capability within both the Resource Plan and Entity Workflow Gantts to allow the user to perform continued searches throughout the Gantts. The new down arrow shows a list of previously searched items. The right and left arrows allow for forward and backwards searches through the Gantts on a row by row basis.
For example, in the screenshot below (right side), when the user searches for ‘102’, the first instance of ‘102’ appears in Order_102 within the Gantt timeline area in the Mixing1 row. Selecting the right arrow will then move the highlight to the next ‘102’ instance in the TankFill1 row. Searched items will be highlighted on a row by row basis, without respect of timeline. Thus, multiple instances on a single row will be highlighted before instances on a lower row in the Gantt.
Searches are NOT case-sensitive. Searches include items in the Constraints or Tasks and will expand the
+ on a row to show the Constraint / Task item if not already expanded. Searches do not include items listed in the details tooltip (opened when hovering over an area on the Gantt).
We have added an option for users to delete the existing data recovery file when the project is not opened for recovery. For example, if File > Settings was selected and the user specified the Project Recovery settings to auto-save, then when opening Simio, the ‘Projects for recovery’ dialog will prompt to open project to recover. In this sprint, if the user selects Cancel (don’t open recovery file), an additional dialog prompts for the deletion of the project recovery data.
This change was made based on customer feedback regarding utilization of multi-capacity servers.
Suppose a Server has a capacity of 2 and at time 0.0 during the simulation run, two entities simultaneously arrive to the Server and begin processing. One of the entities has a processing time of 2 hours and the other entity has a processing time of 4 hours. The Server has no output buffer and the downstream process is blocked. Thus, when an entity finishes processing, it is held indefinitely in the processing station of the Server trying to transfer out. We run the simulation for 10.0 hours.
For the above example, running the model for 10 hours, we would see the Capacity.Utilized of the Server equal to 2 for the first 4 hours. Then once BOTH entities were finished processing at time 4.0 hours, the Server’s ResourceState would be set to Blocked which would set the Capacity.Utilized equal to 0 for the remaining 6 hours of the run.
The reported utilization results:
For the above example, running the model for 10 hours, we would see the Capacity.Utilized of the Server equal to 2 for the first 2 hours. Then one of the entities will finish processing and
we’d see the Capacity.Utilized of the Server equal to 1 for the next 2 hours. Then once BOTH entities were finished processing at time 4.0 hours, the Server’s ResourceState would be set to Blocked which would set the Capacity.Utilized equal to 0 for the remaining 6 hours of the run.
The reported utilization results:
Note that this change only impacted the utilization statistics reported for multi-capacity Servers. For models saved in prior Sprint versions, to opt in to the new utilization calculation approach, the user must go to Run Setup -> Advanced Compatibility Settings in the Run Ribbon and set the compatibility setting for Exclude Entities Transferring Out Of Child Stations From Resource Utilization to ‘True’.
We have added an option for users to open a PDF file upon opening a Simio model, similar to those PDF files automatically opened with our Examples and SimBits. This model property is located in the Project Properties panel, specifically the Show Documentation On Load property. To enable this feature, set this value to ‘True’. The PDF file must be saved in the same directory as the Simio model and must have the same file name.
We have added RandomRow table functionality to State Columns in both Data Tables and Output Tables. One use of an Output Table is as a table that is made during the run that can be used for other modeling purposes during the same run. Your modeling needs may require you to sample from this table, for that you can use RandomRow of State Columns. The expression would be in the form of
This new feature allows users to set the distance that the camera follows behind an object. This allows better animation of a model since the camera distance is now adjustable. The Follow Distance Ratio
property is located in the Camera Tracking Options. Note that this value is a ratio so a value of ‘0.5’ would follow the object twice as close as the default value of ‘1’ and a value of ‘2’ would follow the object twice as far as the default value of ‘1’.
It has always been possible to protect a Simio model by assigning it a password. However, with this enhancement, users will now have the option to protect specific views of a model. This feature is found via the Project Folder in the Navigation Pane. Any model that is opened in Personal Edition will require entering the password upon opening the Simio model.
Once here, select the model you would like to protect views in and then select “Set Protected Views”. The views that you list in the Protected View Setup dialog box will be the views that will be seen once the model is protected. Leaving this dialog box empty will lead to no views being shown. Note: View syntax can be seen for all views by clicking on “Default Views”.
In the Data view, under the Tables view icon, there is a new Data Connectors view.
This Data Connectors view was designed to give as much flexibility as possible to the user to put configuration at the level where it makes the most sense. When a user opts to use a new connector, the data-grid will be loaded with a hierarchical master-detail view of configuration settings, an example can be seen below.
Users can specify the Import Folder where the data files are located as well as the file names to be associated with specified tables. This allows for easy changes to be made to what data file is associated to a table. Once the structure of the bindings and tables have been put in place, it is possible to Create Binding to a table binding specified in the Data Connectors. Simio currently supports a CSV Data Importer, AVEVA MES Data Importer, and Database Data Importer.
The counterpart of the newly added Importers found via the Data Connectors view is the Exporters. The Exporters allows for a binding to be created for exporting purposes on a data table. This exportation can occur at three different time: at end of plan run, at project save, or at plan publish. Simio currently supports a CSV Data Exporter, AVEVA MES Data Exporter, and Database Data Exporter.
In this sprint, we have added the ability to set a State Column in an Output Table as a Key. Output Tables are often used to parse raw data, which can lead to a schedule being generated based on an Output Table. Due to this addition, the Add Row step now has an new property Key Column Value where the unique key value for the row can be placed. This feature was designed to allow child Output Table rows to be easily associated to parent Output Table rows as well as for optimizing the searching of Output Tables by providing the ability to find a row number based on the the RowForKey(key) function.
This feature was created to give more insight in to an object that is being watched during a simulation run. With this feature, it is now possible to watch “sub-objects” of objects in the Watch Window. For example, if a custom object includes a Resource object, when the custom object is placed into the Facility View and then watched, upon expansion of the custom object in the Watch Window, the Resource will now appear under the custom object.
Constraint Logic Element: Constraint Type ‘Material Availability’
This feature was designed so users can enforce additional material availability constraints on a Seize and or Route Request:
The figure below illustrates that a resource cannot be seized, or a destination node cannot be assigned unless that requested item is available plus the additional constraint logic is satisfied.
The Constraint Logic Element is located on the Elements view of the Definitions Tab.
Due to the creation of the Constraint Logic element, enhancements were made to both the Seize step and the Route step. These steps now have an Advanced Property Seize Constraint Logic and Route Constraint Logic, respectively, where a user can specify additional constraints on the request by referencing Constraint Logic elements.
If the constraint type is MaterialAvailability, then the quantity of the material that is required will be automatically reserved when a resource is successfully seized (Seize step) or when the entity is successfully assigned a destination node (Route step). This is done to ensure that other seize or route requests waiting for the same material do not violate any material availability constraints.
Note: Any existing Required Materials repeat group on the Route step and the Other Routing Out Options -> Required Materials repeat group on the TransferNode will be deprecated and can be replaced with the Constraint Logic element. If using the deprecated method of constraining routing is desired, set File -> Settings -> Display Deprecated Properties In Properties Window to ‘True’.
This feature was designed to allow users to bind a Log to an Exporter, similar to binding a data table to an Exporter. To use this feature an Exporter must first be created, then to bind the Exporter, go to Results -> Logs -> Create Export Binding. Note: Currently to edit the binding, it must be done via the Data Connectors view.
This feature was implemented in order to have more selective imports of data. In the Data Connectors view, it is now possible to select a Data Connector and import or export all data tables that are using that Data Connector as their active binding.
SchedulingBicycleAssembly_UpdateCreateMOandPOs – We have added a new scheduling example to our Support ribbon > Examples area that is similar to the SchedulingBicycleAssembly example. This example, however, uses Sales Orders from a data table and generates associated Manufacturing Orders (MO) and Purchase Orders (PO) based on Bill of Materials structure. Both MO and PO are tracked via output tables.
The ISA95 and WWMES templates, as well as all scheduling examples, have been updated to use the new Constraint Logic element for material availability.
In Sprint 202, Data Connectors were introduced as a way to import and export data from a multitude of sources with the intent of giving users more flexibility. Using Data Connectors eliminated the need to use the classic “Create Bindings” (found on Data Tab -> Tables View) for CSV and Database bindings.
Models created with classic CSV and Database bindings will still use the classic binding for binding to external data. Models created in 203 or later can show the deprecated table bindings if the setting Show Obsolete Table Bindings is set to ‘True’. This property is located by going to File -> Settings -> Add-ins.
We also deprecated the Wonderware Add-In that was found on the Planning Tab -> Tables view. This deprecation is due to the addition of the AVEVA Importer and Exporter in Sprint 202.
Models that utilize the Wonderware Add-In will still use that functionality. Models created in 203 or later can show the deprecated add-in if the setting Show Obsolete Design Add-ins is set to ‘True’. This property is located in File ->
Export at End of Risk Analysis Run – This new export option allows for the export of data tables at the end of a risk analysis run. This feature was added to aid in the ability to export Targets.
Export Plan at Project Save – This new export option allows for the export of planning tables upon saving the project. This feature was added to allow for the exportation of plan state values. These are the
values shown on the Tables view of the Planning tab. The “Export At Project Save” export option exports
the interactive state values. These are the values shown on the Tables view of the Data tab.
Target columns on tables now will export, just like property and state columns. This feature was added to complete the exportation of data tables with Exporters. Note: Interactive gives two columns: Value and Status. Planning gives four columns: Value, Status, Expected, and Within Bounds Probability.
Regardless of exporting location (interactive or planning), all four columns will be seen in the property grid – all four of these columns have the Boolean property Enabled Export. This property can also be set on the Data Connectors view.
This feature was added to allow for Configurations to be renamed after they have been created. Note: It is not possible to rename the [Default] Configuration.
If an Importer Data Connector has any custom Configurations defined, that Data Connector will appear in the Experiment design view. This allows for the Configuration to be changed with ease and for different Scenarios to have different Configurations defined.
In Sprint 202, we provided the capability to protect specified views within a Simio model. This enhancement was designed to provide more protection flexibility by allowing users to protect specific windows: Profile, Trace, and Watch. This model property is set via the Project Folder in the Navigation Pane, then the Advanced Options property group Protection.
API Enhancement - Ability to Publish Plan to Portal Without Opening Desktop Software – RPS Only This user-requested feature was added to allow for the running and publishing of a plan to Simio Portal without any human participation. Prior to this feature, to publish plan results to Simio Portal a user had to open Simio and select “Publish Plan Results to Website”. This feature allows users to publish to Simio Portal in the API.
Note: There is a new SimioServerConnector.dll available as part of the main Simio install. It and its associated dependencies are found in the ServerConnector subdirectory of the main Simio installation directory. The Simio Server Connector Reference Guide can be found in the main Simio installation directory.
This classic binder was deprecated due to the recent implementation of Data Connectors in Sprint 202. These Data Connectors provide more flexibility to users while also eliminating the need for classic bindings. Models created with classic XML bindings will still use the classic binding for binding to external data. Models created in 204 or later can show the deprecated table bindings if the setting Show Obsolete Table Bindings is set to ‘True’. This property is located by going to File -> Settings -> Add-ins.
This feature was added to complete the transition of using classic bindings to the new Data Connectors, which was implemented in Sprint 202. This new Importer allows for the importation of Excel data to a table via a Data Connector. Models created with classic Excel bindings will still use the classic binding for biding to external data. Models created in 204 or later can show the deprecated table bindings if the setting Show Obsolete Table Bindings is set to ‘True’. This property is located by going to File -> Settings
During the time of an infectious disease outbreak, the strain on hospital and medical care networks is unprecedented. There is uncertainty in what demand a healthcare facility might see. In response, the Simio team has created a model to assess the capacity of critical resources for a hospital. We hope this model facilitates an assessment of a hospital network’s resources and provokes discussion if action needs to be taken.
A healthcare provider’s ability to combat an infectious disease is directly impacted by their quantity of resources available. The accessibility of beds and machines such as ventilators are crucial factors for patients that require intensive care. Being able to anticipate the demand for these resources in a facility is vital with repercussions linked to the mortality rate. With our model you will be able to experiment with the number of beds, ventilators, and personal protective equipment (PPE) such as masks, gloves, and gowns, to find the level necessary to provide care to the infected population. This model may be useful as is or used as a starting point to customize a model to meet your specific needs.