FlexSim Knowledge Base
Announcements, articles, and guides to help you take your simulations to the next level.
Sort by:
O presente tutorial tem como objetivo explicar o significado dos principais estados assumidos pelos objetos padrões do FlexSim em um modelo convencional que contenha tanto objetos fixos (Fixed Resources), quanto executadores de tarefas (Task Executers). Link para o vídeo: Explicação dos Principais Estados no FlexSim Obrigado.
View full article
O link que segue leva a um vídeo no qual é apresentado uma introdução à nova ferramenta do FlexSim, o Statistics Collector. No vídeo, explica-se quais são as configurações básicas da ferramenta. Também pode-se acompanhar um exemplo simples, desde a coleta de uma estatística básica, até a apresentação dos dados em um gráfico, do tipo histograma. Vídeo Tutorial: Overview sobre Statistics Collector Esperamos que aproveitem mais este vídeo tutorial.
View full article
Help->License Activation" />Open FlexSim Software. Click Help in the main menu. Choose License Activation. Click the Return tab. Each of your activated licenses will be listed in the dropdown selector. Select a license you want to return. Click the Return button. Please wait while your FlexSim Software communicates with the license server. The status text will update, and should end with an indication of success. Repeat to return any other Activation IDs that need to be returned. If you have any questions or problems, please search our Answers Community for possible solutions. There is a good chance someone else has already asked your question. Still not finding what you're looking for? Submit a new question and we'll check it out. If you're including any confidential information, such as license codes, be sure to mark your question as private! You can also contact your local FlexSim distributor for live phone, web, or email help.
View full article
FlexSim 2017 Update 2 is available. If you have bug reports or other feedback on the software, please email dev@flexsim.com or create a new idea in the Development space. Release Notes Reorganized the User Manual and updated its formatting. Added more topics, tutorials, and reference pages to the User Manual. Added new Statistics Collector and Calculated Table tools. Added new generic charts for plotting statistics gathered with Statistics Collectors and Calculated Tables. Updated the pin to dashboard buttons to create and use Statistics Collectors instead of the legacy charts. Added a Variant constructor and assignment operator to Vec3 and Color classes. Added functionality for copying dashboard charts as images, and pasting images into dashboards. Added new interfaces to FlexScript, such as Math, Group, and DateTime. Added toNum() and fromNum() methods to the string class. Added a setState() method to the Object class that will work correctly with listening to state changes. Improved handling of read-only model files. Keyboard shortcuts (Ctrl+PageUp and Ctrl+PageDown) and additional enhancements for switching tabs. Added the ability to have null values in a bundle. Added the ability to make kinematics exclude incline rotation when managing rotations. Improved the parenthesis and quote autocomplete functionality. Added autocomplete for curly and square brackets. Added a new print() command to write to the output console more easily. Added support for instanced meshes. Updated the animation system so a single shape can have multiple animators from different shape files. Changed the assimp 3D importer so that it can extract and load embedded textures. Added support for using specular maps and gloss maps. Added support for FlexScript dot syntax in SQL queries. Added the capability to specify a warmup time in the interactive model run. Added options for following objects with the view. Improved MTBF/MTTR state listening to use less events and be more precise. Updated the Network Navigator to work for an object that is inside a container that is connected to the network. Fixed a bug with global variable highlighting and autocomplete. Fixed an issue with destroying a TE on a network when it blocks space on the network. Included fixes listed in 17.1.5. Backwards Compatibility Note: the following changes may slightly change the way updated models behave. Fixed a bug with min() and max() when using distribution functions. Previously, getting the number of columns in a Global Table using Table.numCols or gettablecols() returned 0 when the number of rows was 0. Column headers and data types are preserved even when there is no row data. These commands now return the number of columns. Changed operators to not change their incline rotation when traveling on inclines. This will change location calculations if you have advanced logic based on internal operator locations. NodeListArrays like Object.outObjects can no longer be implicitly cast to an Array. Use the toArray() method instead. Fixed a bug with animations drawing their first frame instead of their last frame at times beyond the endtime. Added a special rule for ambient color {0, 0, 0} to not use the ambient color. This change will make shapes with ambient {0,0,0} to appear brighter. Change the ambient color to a dark gray, such as {1,1,1} if you want them to remain dark. Fixed a bug in the shader that dulled specular highlights with the diffuse texture. This may change how shapes look; they may appear shinier now. Added the IS NULL and IS NOT NULL clauses to SQL. Math and comparison operators on null values now return NULL. FlexSim's SQL execution engine is now more in line with the SQL ANSI standard regarding null values. Specifically, if you do comparisons or math operations on elements that have null values, this will return null values. This is different than in FlexScript, where a null value acts like 0 in math operations. Also, null values will be ignored in aggregation functions like AVG(). An option to use legacy SQL nulls was added to Model Settings to preserve backwards compatibility. Upgraded models will automatically enable this option, but new models will default to using the SQL ANSI standard for nulls. Added support for more SQL query operators, such as the case-when-then-else-end operator and window functions. This adds many new keywords to SQL, meaning that if you used these as column names in older queries, they will create syntax errors in the query parser in this version. To fix this, put square brackets [] around the column name. Changed accessing dynamic label properties to use evaluate() instead of value. For example, consider the following code sample: Variant value = current.MyLabel; In 17.1 and previous, this code was the same as: Variant value = current.labels["MyLabel"].value; In 17.2 we changed it so that this code is now the same as: Variant value = current.labels["MyLabel"].evaluate(); The difference is in how FlexScript-toggled node values are retrieved. In 17.1 and previous, current.MyLabel would have just given the text that is the FlexScript code. In 17.2, retrieving current.MyLabel will actually evaluate the FlexScript as code. This is consistent with how table values are accessed. If you have old code that explicitly tried to get the code text with current.MyLabel, you will need to update that code in 17.2 to use current.labels["MyLabel"].value. Process Flow Added a Material Consumption and Replenishment template. Added functionality for pasting images into Process Flow views. Conveyor Added a Gap-Optimizing Merge Controller Process Flow template. Added instanced rendering to improve Render Mode performance. Changed Render Mode to be enabled by default. Added new visual options for conveyors. Improved run speed performance of the Conveyor Module. AGV Added unload-to-empty capability to the AGV Process Flow template. AStar Added a bridge element to the AStar network. Added functionality for collision avoidance. Improved heat maps for analyzing AStar traffic. Backwards Compatibility Note: the following changes may slightly change the way updated models behave. Changed the path finding algorithm for the AStar navigator. When you tell an AStar traveler to travel to an object, now it will behave more like the default navigator. It will calculate a "threshold radius" around the object, based on the object's size. Then it will only travel to the edge of that radius. This makes it work better especially for loading/unloading to/from rack objects. The travel operation won't commit as much to traveling to the center of the object,because that can be left to the load/unload operation, which determines exactly where in the rack to pick/place the item. However, this change does affect how older models work because it changes the routes that travelers take.
View full article
RailWorks 22.0.0 is now available ( 25 July 2022). This version of RailWorks is intended for use with FlexSim 2022. All versions can be found in the Downloads section of your FlexSim account on the 3rd party modules tab. Please do not hesitate to report any bugs, usability improvements and feature requests to developmentbrflexsim@flexsimbrasil.com.br About RailWorks The FlexSim Brasil RailWorks module consists of premade custom objects, designed to represent a real environment for the Rail problem modeling, with less configuration. Our approach is to unite 3D modeling with the Process Flow functionality, allowing object configuration and visualization through the native 3D FlexSim solution, and the rail system events to be triggered by the Process Flow, using not only defaults FlexSim Process Flow activities, but also new ones developed by our team. For any questions, please email developmentbrflexsim@flexsimbrasil.com.br Release notes RailWorks 22.0.0 Release for FlexSim 2022 Refactor: Changed the way that Rails can be resized and moved. Feature: Added the RailWorks manual to FlexSim. Feature: Added travel offset to the MoveTrain activity. Feature: Added speed profiles to the Locomotive. That means that you can now set the speed of a Locomotive based upon if it is coupled to a Wagon or not. Feature: Added acceleration and deceleration of locomotives. Feature: Added RailwayTimetable, providing observability for the model as it saves every important event in RailWorks, like the time when a locomotive arrived at a station, as an example. Feature: Added a new model to the Stations: Fuel Station. Feature: Added a new model to the Stations: Flow Station. Feature: Integration with FloWorks. Feature: Added loading modes to thee LoadWagon activity. Bug Fix: Fixed various bugs affecting the locomotive movement. Bug Fix: Fixed a bug affecting the load and unload actions. Bug Fix: Fixed a bug affecting the Experimenter. RailWorks 21.2.0 Release for FlexSim 2021 Update 2 Feature: Added a new routing algorithm option, focused on preventing train collisions (Requires Python installed). Bug Fix: Fixed a bug in the model limit. RailWorks 21.1.0 Release for FlexSim 2021 Update 1 Feature: Added trigger - onCreate - to the SourceTrain object. Feature: Added triggers - onEntry, onExit - to the Rail object. Feature: Added triggers - onFuel, onLoad, onUnload - to the Station object. Feature: Added triggers - onLoad, onUnload - to the Crane object. Feature: Added trigger - onArrival - to the RailControlPoint object. Feature: Added tank wagon 3D Model option to the Wagon Object. Feature: Added custom dashboards to the module. Feature: Added auto-connect to SourceTrain to connect with the nearest ConnectPoint. Feature: Added the possibility to keep the FlowItems or create new ones when loading and unloading. Feature: Added the possibility to load FlowItems fractionally or discretely. Bug Fix: Fixed bugs on train movement. Bug Fix: Fixed bug on entry of task executer as flow item in Station. Bug Fix: Fixed a bug in the RailControlPoint. Refactor: Changed functionality of Rail's Connect Points. Style: Changed RailSystem model. Style: Added a new model to the Wagon Object: Gas Tank Wagon.
View full article
FlexSim 19.0.4 and 19.1.1 are now available for download. IMPORTANT NOTE 1: The 19.0.3 installer has a bug that causes the current installer to hang during the Cleaning Up stage when upgrading from 19.0.3 to a newer version. We have resolved the issue for future installers, but to avoid the error now, uninstall 19.0.3 using Add/Remove Programs before installing the new version. Alternatively, you can press the X in the upper-right corner of the empty window, click Yes to canceling the installation (this won't do anything), and the Cleaning Up... window will successfully finish installing the upgrade. IMPORTANT NOTE 2: 19.0.4 and 19.1.1 include a bug fix to the JT importer. The JT importer now correctly accounts for the measurement units of the shape that are defined in the file. JT shapes in existing models may appear scaled incorrectly when you open them. You can resolve their scaling issue by executing the script below: forobjecttreeunder(model()) { treenode focus = a; string path = gets(shape(focus)); if(stringlen(path) > 3) { string extension = stringcopy(path, stringlen(path)-1, 2); if(comparetext(extension, "jt", 1)) { double x = xsize(focus); double y = ysize(focus); double z = zsize(focus); applyshapefactors(focus); setsize(focus, x, y, z); } } } Below is an example of the issue. Note that the shape is much smaller than its yellow box. Running the script above fixes the shape's scale factors so that it correctly fits in the yellow box again.
View full article
Neste vídeo, abordamos de forma rápida e bem resumida, como funciona simulação em ambientes hospitalares e elaboramos uma rápida demonstração através de um passo a passo, o funcionamento do software FlexSim Healthcare. O vídeo encontra-se disponível no canal do Youtube da FlexSim Brasil.
View full article
Nesse vídeo disponível no canal Youtube da FlexSim Brasil, demonstramos como retornar as licenças standalone do FlexSim em um procedimento simples e rápido. Para licenças em rede, o procedimento é diferente, no entanto, o arquivo com as instruções para retorno das licenças standalone e em rede, encontra-se anexo nesse artigo. passoa-passo-retorno-de-licenca-flexsim.pdf flexsimlicenseserver-upgrade.pdf flexsimlicenseserver-installation.pdf
View full article
RailWorks 22.1.0 is now available ( 26 July 2022). This version of RailWorks is intended for use with FlexSim 2022. All versions can be found in the Downloads section of your FlexSim account on the 3rd party modules tab. Please do not hesitate to report any bugs, usability improvements and feature requests to developmentbrflexsim@flexsimbrasil.com.br About RailWorks The FlexSim Brasil RailWorks module consists of premade custom objects, designed to represent a real environment for the Rail problem modeling, with less configuration. Our approach is to unite 3D modeling with the Process Flow functionality, allowing object configuration and visualization through the native 3D FlexSim solution, and the rail system events to be triggered by the Process Flow, using not only defaults FlexSim Process Flow activities, but also new ones developed by our team. For any questions, please email developmentbrflexsim@flexsimbrasil.com.br Release notes RailWorks 22.1.0 Release for FlexSim 2022 Update 1 Refactor: Changed the model limit control and system functionality Feature: Added the PreCreate activity in ProcessFlow Bug Fix: Fixed various bugs affecting the locomotive and wagon movement. Bug Fix: Fixed a bug affecting the model limit creating new models. Bug Fix: Fixed a bug affecting the model limit window with multiple modules installed.
View full article
In version 2018 and forward, you can make this chart using a Chart Template. You can simply drag and drop the chart from the dashboard library. This article may help you understand how the chart template works. You can use the Install button on the chart template to view the Process Flow, Statistics Collector, and Calculated Table that make the chart. This article reviews how to use the Zone, along with the Statistics Collector, to create a bar chart of the current work-in-progress (WIP) by item type. The method scales to as many types as you need (this example uses 30 types), and can easily adapted to text data, like SKU. An example model ( zonecontentdemo.fsm) demonstrates this method. Creating the Process Flow To create this chart, we first need to gather the data for this chart. In this case, it is easiest to build off the capabilities of the Zone. In particular, we will use Zone Partitions to categorize all of our object. After we set up the Zone, we'll use a Statistics Collector to gather the data that we need. Create a new General Process Flow. You can have as many General Process Flow objects as you want, so let's one that just deals with gathering statistics. This way, gathering statistics will not interfere with the logic in our model. The process flow should look something like this: Here's how it works. The Listen to Entry is configured to listen to a group of objects. In this case, the group contains all the sources in the model, and it's listening to the OnExit of the sources. However, it could be OnEntry or OnExit of any group of 3D objects. If you want to split the statistics by Type or SKU, then any flowitem that reaches the entry group already has the appropriate labels. In this example model, when a flowitem leaves any source, a token gets created. The token makes a label called Item that stores a reference to the created item, as shown in the following picture. The next step is to link the flowitem with the token that represents it. The Link Token to Item is configured like this: Now, the Item has a label that links back to the token. The token then enters a zone. The Zone is partitioned by type: At last, the token comes to a decide activity. The decide is configured not to release the token. The token will be released by the second part of the flow. Once the token is released, it exits the zone, and goes to a sink. The second part of the flow also has an event-triggered source, that is configured to listen to all the sinks in the model. Again, the entry objects and exit objects are arbitrary; you can gather data for the entire model, or for just a small section of the model, using this method. The event triggered source also caches off the item in a label. At this point, we need to release the token that was created when items entered the system. To do this, the Release Token activity is configured as seen here: The token created on the exit side has a reference to the item, which has a reference back to the token created on the entry side. We release this token to 1, which means connector 1. Note: We could have used a wait for event activity in the zone, and then used the match label option to wait for the correct item to leave the system. However, this method is much, much faster, especially as the number of tokens grows. Creating the Bar Chart Statistics Collector The next step is to create a statistics collector that gathers data appropriate for a bar chart. Note that this method will grow the number of rows dynamically, so that it won't matter how many types (or SKUs) your model has; you will still get one bar per type/SKU. In order to make the number of rows dynamic, we need to listen to the OnEntry and the OnExit of the zone activity: Notice the shared label on this collector. Because this label is shared, both the OnEntry and OnExit events will create this label on the data object. The value of this label is the item's type. Next, we move to the Data Recording tab. Set the Row Mode to Unique Row Values, and set the row value to Partition. This means that whenever an event fires, the statistics collector will look at the partition label on the data object. If the value is new to the statistics collector, the collector will make a new row for this value. If not, then the collector will use the row that is already present. Finally, we need to make our columns. We only need two columns: one for the Partition, and one for the Content of that partition. Both of these columns can use the Integer storage type, and raw display format. However, if your partition value was text-based, like an SKU, you should use the String storage type. The value for Partition is just the data object's Partition label: Notice that the Update option is set to When Row is Added. This way, the statistics collector knows that this value will not change, and that it's available at the time the row is created. The other column is a little harder, because we need to use the getstat command: The getstat command arguments depend on the stat you are trying to get. In this case, we are asking the zone (current, the event node) for the Partition Content statistic. We want the current value. Since this is a process flow activity, we pass in the instance as the next argument. Finally, we pass in which partition we want to get the data from, the row value. In this case, we could have identically passed in data.Partition. Also, notice that this column is updated by event dependency. To make sure this does what we want, we need to edit the event/column dependency table. We want the Content column to be updated when items enter and exit, so it should look like this: Now, open the table for the statistics collector. You should see two columns. When you run the model, rows will be added as items of different types are encountered. The table will look something like this: This screenshot came from early in the model, before all 30 types of item has been encountered, so it doesn't have 30 rows yet. Making the Bar Chart This is the easiest part. Create a new dashboard, and add a new bar chart. Point the chart at the statistics collector. For the Bar Title option, choose the Partition column. Be sure to include the Content column. Also, make sure that the "Show Percentages" checkbox on the Settings tab is cleared. The settings should look like this: The resulting chart looks something like the following image. You can set the color on the Colors tab. Ordering the Data Because the rows of this table are created dynamically, the order of the rows will likely change run to run. To force an ordering, you can use a calculated table. Since the number of rows on this table don't grow indefinitely, and the number is relatively small, it's okay to set the Update Mode on the calculated Table to always. Here's what the properties of that calculated table look like: We simply select all columns from the target collector (CurrentContent, in this case) and order it by the Partition column. That yields an ordered bar chart: Example and Additional Charts The attached example model demonstrates this method, as well as how to create a WIP By Type vs Time chart: Happy data collecting! zonecontentdemo.fsm
View full article
Have you ever encountered this error?   --- Status... Status: 4 Creating request Status: 5 Request created Status: 6 Context created Status: 7 Connected to remote server Status: 0 Error ERROR: flxActAppReturnSend - (50018,41145,32) "Failure to send request or receive a response for an unspecified reason. Recovery: check parameters used for the request." ---   We're looking for more information on this error. If you're encountering this error, please comment below.   This error appears to be a communication error where the client PC may have an Internet connection, but is not successful in contacting the license server. This may be due to a firewall misconfiguration or a proxy server.   You may want to make sure your client PC can connect to FlexSim's servers (addresses and ports listed in this article).   You may also need to configure FlexSim to communicate through your proxy server:  
View full article
This article demonstrates how to use the Statistics Collector and Calculated Tables to create three utilization pie charts: a state pie chart an individual utilization pie chart a group utilization pie chart Example Model You can download that model (utilizationdemo.fsm) to see the working demonstration. The model has a Source, a Processor, a Sink, a Dispatcher, and several operators. The operators carry flow items to and from the processor, as well as operate the processor. The operators are in a group called Operators. State Pie Chart First, we need to make a Statistics Collector that collects state data for the operators. The easiest way to do that is to use the pin button to pin the State statistic for any object in the model. Use the pin button to pin a pie chart to a new dashboard. The pin button creates a new Statistics Collector, as well as a new chart. Open the properties for new Statistics Collector (double click on it in the toolbox), and change its name to OperatorStatePie. On the Data Recording tab, remove the object from the Enumerated Rows table. Using the sampler, add the Operators group (you can sample it in the toolbox). Now, when you reset and run the model, the state chart should work. Utilization Pie Chart Often, users need to combine sever states into a single value that can be used to determine the utilization of an object in the model. In order to gather this data, we can use a calculated table. Make a new Calculated Table, and give it the following query: SELECT Object, (TravelEmpty + TravelLoaded + Utilize) / Model.statisticalTime AS Busy, 1 - Busy AS NotBusy FROM OperatorStatePie This query sums the time in several states into a total, and then divides by the statistical time. Be sure to set the name of the table (the part after FROM) to the name of your Statistics Collector. Run the model for a little bit of time, and then click the Update button on the properties window. You should get a table like the following: Instead of viewing the data as just numbers, change the Display Format of each column to better represent the data. On the Display Format tab, set the Object column to display Object data. Then set the other two columns to display percentages. When you switch back to the Calculations tab, the data will be formatted: Once we get the query right, set the update mode to Always. This will updated the data in the table whenever the data is needed, including every time the chart draws. If updating the table is computationally expensive, you can use the By Interval or Manual options. Generally, a small number of rows (1-100) is small enough to use the Always mode. Regardless of the update mode, we can make a chart based on this table. In the dashboard, create a new Pie Chart. For the Data Source, select the calculated table. For the Pie Title, select the Object column. For the Center Data, select the Busy column. Be sure to include the Busy and NotBusy columns. This should show you a pie chart, comparing the operator's busy and not busy time. Group Utilization To make the final utilization chart, make a second calculated table. The query for the second table should be as follows: SELECT AVG(Busy) AS AvgBusy, AVG(NotBusy) AS AvgNotBusy FROM CalculatedTable1 Again, use the Update button to be sure the query is correct. Once it is, set the update mode to Always. Finally, you can make the pie chart for this data: Things to Try If you feel comfortable with this model, you can try a couple extra tasks, such as: Remove one of the operators from the group, reset, and run. The charts will update accordingly. Add the Processor to the group, reset, and run. The state chart should work automatically.
View full article
RailWorks 23.0.1 is now available ( 24 January 2023). This version of RailWorks is intended for use with FlexSim 2023. All versions can be found in the Downloads section of your FlexSim account on the 3rd party modules tab. Please do not hesitate to report any bugs, usability improvements and feature requests to dev@flexsimbrasil.com.br About RailWorks The FlexSim Brasil RailWorks module consists of premade custom objects, designed to represent a real environment for the Rail problem modeling, with less configuration. Our approach is to unite 3D modeling with the Process Flow functionality, allowing object configuration and visualization through the native 3D FlexSim solution, and the rail system events to be triggered by the Process Flow, using not only defaults FlexSim Process Flow activities, but also new ones developed by our team. For any questions, please email dev@flexsimbrasil.com.br Release Notes The following is a list of features and fixes that have been included in the latest RailWorks releases. RailWorks 23.0.1 (24 January 2023) Release for FlexSim 2023.0 RailWorks 22.2.3 (24 January 2023) Bug Fix: Fixed various bugs affecting the locomotive movement. Feature: Added automatic train detection and anticipation of movement. Feature: Added a wait logic on locomotive to continue with movement when rail is not on use.RailWorks 21.2.4 Feature: Added GIS Portal object for integration with GIS Map. Release for FlexSim 2022 Update 2 All bug fixes in RailWorks 21.2.4 below. RailWorks 22.2.2 (12 December 2022) All bug fixes in RailWorks 21.2.3 below. RailWorks 22.2.1 (25 November 2022) Release for FlexSim 2022 Update 2 Bug Fix: Fixed various bugs affecting the definition of traveling routes Bug Fix: Fixed various bugs affecting the locomotive and wagon movement amongst the rail tracks Bug Fix: Fixed a bug affecting the usage of multiple locomotives at same railway Bug Fix: Fixed a bug affecting the offset distance in Control Points Bug Fix: Fixed a bug affecting the Decouple activity and Couple by another Locomotive Retroative Release: New versions released with bugs fixed from 2021.2 to 2022.2 All bug fixes in RailWorks 21.2.2 below. RailWorks 22.1.4 (24 January 2023) All bug fixes in RailWorks 21.2.4 below. RailWorks 22.1.3 (12 December 2022) All bug fixes in RailWorks 21.2.3 below. RailWorks 22.1.2 (23 November 2022) All bug fixes in RailWorks 21.2.2 below. RailWorks 22.1.1 (26 July 2022) Release for FlexSim 2022 Update 1 Refactor: Changed the model limit control and system functionality Feature: Added the PreCreate activity in ProcessFlow Bug Fix: Fixed various bugs affecting the locomotive and wagon movement. Bug Fix: Fixed a bug affecting the model limit creating new models. Bug Fix: Fixed a bug affecting the model limit window with multiple modules installed. All bug fixes in RailWorks 21.2.1 below. RailWorks 22.0.4 (24 January 2023) All bug fixes in RailWorks 21.2.4 below. RailWorks 22.0.3 (12 December 2022) All bug fixes in RailWorks 21.2.3 below. RailWorks 22.0.2 (23 November 2022) All bug fixes in RailWorks 21.2.2 below. RailWorks 22.0.1 (26 July 2022) Release for FlexSim 2022 Refactor: Changed the way that Rails can be resized and moved. Feature: Added the RailWorks manual to FlexSim. Feature: Added travel offset to the MoveTrain activity. Feature: Added speed profiles to the Locomotive. That means that you can now set the speed of a Locomotive based upon if it is coupled to a Wagon or not. Feature: Added acceleration and deceleration of locomotives. Feature: Added RailwayTimetable, providing observability for the model as it saves every important event in RailWorks, like the time when a locomotive arrived at a station, as an example. Feature: Added a new model to the Stations: Fuel Station. Feature: Added a new model to the Stations: Flow Station. Feature: Integration with FloWorks. Feature: Added loading modes to thee LoadWagon activity. Bug Fix: Fixed various bugs affecting the locomotive movement. Bug Fix: Fixed a bug affecting the load and unload actions. Bug Fix: Fixed a bug affecting the Experimenter. All bug fixes in RailWorks 21.2.1 below.
View full article
FlexSim 2018 Update 2 is available. If you have bug reports or other feedback on the software, please email dev@flexsim.com or create a new idea in the Development space. Release Notes Added an interface for running experiments and optimizations on the cloud. Added a mechanism for adding new charts as experimenter performance measures. Added a Sankey Diagram to the dashboard charts. Added a Milestone Collector statistics tool and chart templates. Added a way to customize how objects draw their 3D shape meshes. Added {} syntax to specify FlexScript expressions in SQL queries. Added a Down Behavior tool that can be used by Time Tables and MTBF MTTR objects. Added a message() method to the Object class to replace sendmessage() and senddelayedmessage(). Added a varchar bundle field type for variable-length strings. Added status bar updates to the table view. Updated the bar and pie charts with more options and data formats. Added duration settings to the gantt chart. Added new task sequence classes to the FlexScript API. Added a getCategoryName() method to the TrackedVariable class. Added getEntryFromValue() and reevaluateBackOrders() methods to the List class. Added padStart() and padEnd() methods to the string class. Added an option to sort back orders independent of entries when reevaluating back orders. Added an option to configure a list to always leave its entries on the list. Added events to the Statistics Collector. Added options for sorting rows in statistics collectors. Added dot syntax label access to List.BackOrder. Added a backOrder keyword that is available in a list back order queue strategy. Added a new overload to List.pull() that takes both an array and a query. Updated user library functionality to better handle conveyor types and containers. Updated Move into Highlighted code to preserve global position and rotation. Improved sampler options in various places. Improved drop-down options with label values in several places. Updated the Ctrl+W keyboard shortcut so it correctly closes the window that has keyboard focus. Updated the query() command to re-throw exceptions. Fixed a bug with updating bundle indexes when using certain commands. Fixed a performance bug with pasting into bundle tables. Fixed a window docking bug. Fixed a bug with the robot not drawing collision spheres or its stopped indicator. Backwards Compatibility Note: the following changes may slightly change the way updated models behave. Changed Variant math operations on non-numbers to throw exceptions. Updated the Source to automatically attach task executer flowitems to the DefaultNavigator. Updated dumpquery() to use bundle varchar fields. Fixed an issue with the Z-axis being inverted for screen-locked shapes in perspective 3D views. Process Flow Added stop() and resume() methods to the Token class. Updated global shared assets so they now have a separate global block instance. Updated Edit Mode so you can no longer move activities when it is off. Added a check box to quick properties to turn off all trace histories. Updated Wait for Event to handle listening to arrays of objects. Updated Pull from List so you can use it with a Resource shared asset. Updated the Resource so you can point it at a global List or a List shared asset. Added a way to sample shared assets in certain fields. Updated the naming convention for Resource object copies. Added an error message when trying to rename a shared asset the same name as another. Improved the performance of the Wait for Event activity. People Updated the multi-location to allow people to enter without an available sub-location. Conveyor Added a max count slug building property to the conveyor type. Added a catch condition to the power and free functionality to customize whether a given dog will actually catch an item. Added the capability to reverse conveyors under certain conditions. Changed the roller skew kinematics to be based on item travel distance instead of time. Changed the conveyor's belt repeat distance to sync to the adjusted dog interval. Fixed a bug with decision points snapping to grid when added with a conveyor from a user library. AGV Updated path transfers to prioritize their requests. Fixed an issue with accumulating path allocations causing AGVs to get stuck. Fixed various issues with AGVs having different deceleration values. Backwards Compatibility Note: the following changes may slightly change the way updated models behave. Improvements to AGV proximity detection on accumulating paths. Emulation Fixed Modbus polling for changes. Fixed the Modbus panels in the Variable shared asset so they show the associated object now.
View full article
In the last little while we've had several questions regarding Picking Line operations. (How to make one, how to simplify, how to set up one using Process Flow & Lists, etc.) So I've put together a very simple little model utilizing Process Flow and a basic List structure, that shows a basic picking line. It creates orders, and sends them by tote via a conveyor, and Operators will pick items from their respective stations to fulfill the orders into the tote, before sending it to Checking and Shipping. Note that this could easily be adapted into an assembly line situation as well. pickingstations.fsm
View full article
FloWorks 17.2.0 will be released in parallel with FlexSim 2017 Update 2. This new version of FloWorks has some major changes to align it with recent updates to FlexSim, such as dot syntax, Process Flow templates, and a revised user manual. Therefore we are releasing it as a public beta. The latest beta version, released August 21, can be found in the Downloads section of your FlexSim account on the 3rd party modules tab. Click "More Versions" to show the Beta release. Please do not hesitate to report any bugs, usability improvements and feature requests to support@talumis.com. About FloWorks FloWorks is a 3rd party module developed and maintained by Talumis BV (talumis.com). It provides faster and more accurate modelling and calculation of fluid systems than the default FlexSim fluid library. It is especially useful within the oil, gas, and bulk industry both for production and supply chain optimization. This module requires a FloWorks license with active maintenance. For any questions, please email support@talumis.com. Release notes Note: the bug fixes will also be available in versions 17.1.3 and 17.0.6, where applicable. Added FlowObject class interface ("dot syntax") for majority of FloWorks objects. Can now access products by name when using FloWorks product table (e.g. source.product = "Raw material" instead of source.product = 3 ). Can define recipes for products in the products table and dynamically load / execute them on Flow Mixers. Added Process Flow templates for mixers executing production schedule and flow tank with cleaning / certification. Updated Pin to Dashboard buttons to use Statistics Collectors to collect data. Revised most of the user manual (tutorials are missing, will be re-released in a future version). Bug fix: Calling SelectFlowIp and SelectFlowOp with multiple ports produced FlexSim error. Bug fix: When using a product table, sometimes the Product dropdown would not show the correct product when opening Properties. Bug fix: Flow Conveyor would not suspend correctly when output flow restricted.
View full article
Quando desenvolvemos um modelo de simulação que possua diversas ou até mesmo elevado número de variáveis de entrada, faz-se necessário analisar diversos cenários dentro de um simulador para termos o maior número de detalhes possíveis com relação ao comportamento do sistema. No FlexSim, o recurso que permite esse tipo de análise é o Experimenter. Com ele, podemos estimar como as variáveis de entrada, afetam as respostas de um experimento e pode-se planejar de forma racional os cenários a serem executados. O vídeo explicando um pouco sobre experimentos e também falando sobre o Experimenter, encontra-se em nosso Canal no Youtube.
View full article
Você tem dúvidas sobre o que é, ou como funciona o recurso List? Este Tutorial vai apresentar uma visão geral do recurso e fazer um rápido exemplo. Acesse o link : https://youtu.be/P7wGuQ7UKuQ Você pode entrar nesses outros tutoriais em português que apresentam outros exemplos da utilização do recurso: 1) https://answers.flexsim.com/articles/39239/tutorial-em-portugues-como-direcionar-os-itens-usa-3.html 2) https://answers.flexsim.com/articles/39233/tutorial-em-portugues-como-utilizar-o-recurso-list-1.html
View full article
Verify Connectivity   Issues with client-server licensing can often be traced to communication issues that prevent the client PC and server from communicating. The first step is to verify whether the client PC can connect to the license server over the licensing ports.   Even if you successfully establish connectivity, remember that server configuration or license issues can also keep a client PC from becoming licensed. See our Troubleshooting Tips article for guidance.   Basic connectivity (ping test)   On the client PC, click the Start button or press the Windows key, then type “cmd” into the search box in the Start menu, and press Enter. Windows will search for and open the Command Prompt.   From the command prompt, enter ping [server name or IP address]. For example, if your license server has a local IP address of 10.0.0.135, then type on the command line ping 10.0.0.135.   If you are referencing your license server by name in FlexSim software’s License Activation interface, use the same fully qualified domain name here instead of the IP address:     If your client PC receives a response from your license server, then the server is visible across the network, by name or IP address, from the client PC.   Advanced connectivity - ports test   If you can pass the ping test the next step is to see if the required ports are open for communication. There are a couple of methods you can use to test if your client PC can connect to your license server over the ports specified in the .lic file.   PowerShell Test-NetConnection   From Windows PowerShell, enter Test-NetConnection [server name or IP address] -Port [port number]. For example, if your license server has a local IP address of 10.0.0.135, and is hosting FlexSim licensing over our default ports 26914 and 56914, you should run the following two commands:   Test-NetConnection 10.0.0.135 -Port 26914 Test-NetConnection 10.0.0.135 -Port 56914   If both of these commands include in their response TcpTestSucceeded : True, then the required connectivity is available. Test-NetConnection documentation   Telnet   Check out our tutorial video at https://flexs.im/telnet that guides you through the basic steps of enabling telnet on your client PC, then using it to test port connections from a client PC to your license server.   Double check your configurations   If you can't establish a ping connection or a port connection, use the suggestions below to double-check your settings. Or perhaps you passed the connection verification checks but FlexSim Software is still not getting licensed? These connectivity tips may reveal the solution:   CLIENT PC SETTINGS - You may have a typo or otherwise have misconfigured the settings that point your client PC to the license server. Double check that your settings are entered using the correct format (single-user client PC, multi-user client PC).   PORT & ADDRESS - Double check the port number and server address/name used in activating licenses on your client PC. Make the port number specified is the number in use for your license service. Our default port number is 26914 but enter your custom port number if you set your own.   SERVER FIREWALL - Did you add the required exceptions to your license server’s firewall (lmtools, lmadmin)? To any other network appliances and firewalls (lmtools, lmadmin)?   Connectivity suggestions   You've triple-checked your client PC settings. You've set firewall exceptions. The port test still shows that you can't connect from the client PC to the server. What can you do?   These aren't fixes, but they can help you narrow the source of the problem so that you can find a solution.   CHECK THE LICENSE SERVER - Maybe your license server isn't actually serving your licenses. You can install the FlexSim simulation software locally on your license server, then using the port you specified (default is 26914) and the local IP address 127.0.0.1, you can point your local FlexSim installation to the local license server to see if your license server can license itself. If it can't, check out these license-server troubleshooting tips (where you'll also read about this local test troubleshooting method).   DISABLE FIREWALLS (temporarily as a test) - A connection issue could be caused by a firewall configuration problem on the client PC, on the license server, or on some network appliance in between. One at a time, disable intervening firewalls on the client PC, the license server, and appliances in-between, as applicable. With each disabled firewall, retest connectivity. If connectivity is established after disabling a firewall, work on that firewall's configuration, then reenable it. Test again. Repeat for each firewall until a connection between client and server can be established.   DISABLE ANTI-VIRUS (temporarily as a test) - Some anti-virus solutions will block application communications. Disable anti-virus software on the client PC. If nothing changes, also disable anti-virus on the server. If this fixes the issue, work with your IT administrator to modify your anti-virus settings. Remember to reactivate your anti-virus software after this experiment.   ASK YOUR FRIENDLY NEIGHBORHOOD ADMIN - Your network may have settings, topology, filtering, etc. that affect the client PC’s ability to communicate with the license server. Work with your network administrator to make sure the client PC can communicate with the license server across your network using both port numbers - for the licensing service and the vendor daemon. See default and custom port numbers.
View full article
Sometimes things don't work out the way you thought they would. Usually, at least with license servers, it just means that you missed a step, or there is some issue that wasn't considered. Below we'll outline some things you should check:   Server configuration   - Check the service   Is the FlexSim_License service you created using LMTOOLS up and running? When you created and configured your licensing service, did you check the log file? Look for any errors or issues in the log. Troubleshoot the service if necessary.   - Local test   You can rule out configuration issues by installing FlexSim locally on your license server. Configure the local FlexSim installation using the port you specified (default is 26914) and the local IP address 127.0.0.1, to point your local FlexSim installation to the local license server to see if your license server can license itself.   - Connectivity problems   If your local test works, then your client PC licensing issues may actually stem from connectivity problems. In that case, check out our article Client/Server connectivity.   - Check, check again   Double check that your server is configured properly. When viewing your license service’s log file, you should see indications of ports in use, features being served, etc. (lmtools, lmadmin). If no features are listed, or port numbers are different than what was expected, please revisit the configuration guide (lmtools, lmadmin). Carefully read and execute each step of the instructions to make sure that you have properly configured your license server.   Overzealous anti-virus   Some anti-virus solutions prevent unrecognized services from running or accessing necessary functionality. If a local test (above) works, you may only need to test disabling anti-virus solutions on the client PC. Or if you're trying to get the license service to run on the server, you may need to test there also. Remember to reactivate your anti-virus software after this experiment.   Version or product mismatch   Your actual license, activated to your server using flexsimserveractutil.exe (online, manual), must be for a FlexSim version the same or greater than the software’s version number.   Your license is also for a specific product (FlexSim vs FlexSim Healthcare vs FlexTerm, etc.).   See the article FlexSim Version Numbering, for more information regarding FlexSim versioning and how it relates to licensing.   Seats all in use   If your FlexSim client software is not obtaining a license from the server, it’s possible that all seats are already in use on other client PCs. Check the log files (lmtools, lmadmin) to determine where your seats are currently in use.
View full article
Top Contributors