FlexSim Knowledge Base
Announcements, articles, and guides to help you take your simulations to the next level.
Sort by:
Lembre-se que para o desenvolvimento desse passo a passo, foi utilizado a versão 2017. Update 1, caso você esteja modelando utilizando outra versão algumas alterações podem ser necessários. Nesse exemplo será construído um modelo que usa listas para relações básicas de roteamento de itens. Os itens serão enviados de três filas para um dos quatro processos.Uma lista de itens (item list) será utilizada para resolver esse problema. As filas irão empurrar os itens para a lista e os processos irão puxar os itens da lista e processa-los. De início será construído um modelo puxado simples,e depois um modelo puxado com restrições e priorizações. Passo 1. Montar Layout Para esse exemplo, crie um novo layout. A Figura 1 mostra quais objetos devem ser adicionados Observe que NÃO há ligação entre as filas e os processos. Figura 1- Layout exemplo 2 Passo 2. Configurar source Na janela de propriedades do source, em inter-arrivaltime coloque exponential (0 ,2.5,0). Figura 2- Inserir inter- arrival time 2.Na aba FLOW, em send to port abra a lista de opções e escolha a opção random port. Figura 3- Sent to port 3. Na aba trigger, adicione uma Oncreation trigger para configurar o tipo e a cor. OnCreation> Data > Set item type and color> duniform(1,3). Figura 4- Configurar tipo e cor Passo 3. Adicionar lists Para adicionar a lógica é preciso criar um item list. Em Toolbox> > Global list> Item list(Figura 5). Figura 5- Adicionar item list Ao clicar em Item list irá abrir janela de propriedades da lista (Figura 6), por agora apenas feche a aba. A sua lista deve estar nomeada como ItemList1. Figura 6- Janela de propriedades Itemlist **Não é necessário definir nenhuma das configurações agora. Apenas feche a janela de propriedades.** Passo 4. Configurar queue Para configurar a queue para empurrar os itens para a lista, clique sobre cada uma das filas> Aba Flow> Send to port> abra a lista de opções> Escolha use list> Push to item list. CONFIRA se o o nome da lista corresponde ao nome da lista que você criou. Figura 7- Push to item list **OBS: Faça o Passo 4 para TODAS as filas** Passo 5. Configurar Processos Para fazer com que os processos puxem da lista, configure cada input de processos para todos os 4 processos. Clique em um dos processos, na aba Flow vá na parte de input, marque a opção pull strategy. Na aba de escolha da estratégia(Pull Strategy) >Use list>Pull from item list. Deixe o campo QUERY em branco. E confira se o nome da lista escolhida é o mesmo da lista que você criou no Passo 3. Figura 8- Estratégia puxada **Obs: Faça o Passo 5 para todos os processors.** Faça um test rápido! Reset seu modelo e confira como estão as entradas e saídas da sua lista, para verificar se até aqui as coisas estão funcionando da maneira correta. Nas propriedades do ItemList1, vá na aba General e clique no botão a esquerda “ View Back Orders”. Figura 9- View Back Orders Sua lista deve estar parecida com a da Figura 10. Mudando apenas os nomes dos processos de acordo como os seus estão nomeados. Figura 10- Janela de pedidos pendentes A Figura 10 representa que os processos começaram a puxar da lista, mas como não há itens que foram empurados para a lista, eles estão aguardando para poderem puxar e se tornarem fulfilled(preenchidos). Execute o modelo (Run) e você perceberá os itens entrando nas filas e sendo empurrados para a lista (View entries-Figura 9) fazendo com que os pedidos pendentes sejam atendidos e então começam a ser processados. Quando um item é empurrado para a lista e existe pedidos pendentes o item será imediatamente puxado da lista. Dessa forma o pedido pendente irá se tornar Fulfilled e será removido da lista de pedidos Back Orders. Eventualmente, todos os processos irão puxar os itens e dessa forma a lista de pedidos pendentes se tornará vazia, já que todos estão em operação. Então a lista de entradas vai crescendo(Figura 11) até que um dos processos termine o processamento e requisite puxar um item da lista. Figura 11- Entradas na lista aguardando serem puxadas Quando os itens são empurrados para a lista, eles são adicionados no fim da lista. Assim se o sistema puxado não utilizar prioridades como parte da sua tomada de decisão, os itens irão ser puxados como FIFO( first-in-first-out), ou seja, seguindo a ordem de quem chegou primeiro sai primeiro. O mesmo acontece com os pedidos pendentes, a primeira máquina que fica disponível puxa o primeiro item que está na lista. Salve seu modelo e ele está pronto para ser executado. ex2.fsm Modelos experimentos Para testar diferentes configurações das operações puxadas faça os seguintes cenários. Cenário 1- Filtrar por tipo de item Considere que um dos processos (Processor 1) pode apenas processar o tipo de item 2. Para vincular essa lógica na simulaçao utilize um Query nesse processo. Clique sobre o processo que deseja restringuir a entrada ao tipo 2 de item, na janela de propriedades, vá em FLOW > Pull strategy > em Query digite a restrição WHERE Type == 2 (Figura 12). Figura 12- Adicionar query para tipo de item Salve o modelo como Exemplo2_cenario1. Reset seu modelo e execute. ex2cenario1.fsm Cenário 2- Puxar pelo LIFO Agora todos os processos puxam seguindo a ordem último a chegar primeiro a sair (LIFO) ao invés do padrão FIFO, o que significa que o item mais recentemente adicionado na lista deve ser o primeiro a ser puxado . Crie essa lógica na simulação, implementando um Query. Abra o arquivo do exemplo 2, e salve como exemplo2_cenario2. Para cada um dos 4 processos faça o seguinte: Clique no processo >vá em FLOW > Pull strategy > em Query no adicionar> ORDER BY> AGE (Figura 13). Figura 13- Lógica LIFO Repita o 1) para TODOS os processos. Salve o modelo e coloque para executar. ex2cenario2.fsm
View full article
[ FlexSim HC 5.1 ] FlexSim HC 5.1 is available. The start page will automatically notify you of the update and allow you to download and install the update from within FlexSim. To manually download the installer log in to your account at www.flexsim.com, then go to the Downloads section. If you have bug reports or other feedback on the software, please email [email protected] or create a new idea in the Development space. Missing DLL Error when Installing This version of HC requires certain files that should be present on windows if you're up to date on windows updates. If you're experiencing this error or another similar one please refer to this answer for more information. 5.1.0 Release Notes New Features Added a getremainingprocesstime() command. Areas can now be added as members to a shift schedule. Added support for code labels in Appointments table Added ability to resize code snippet windows. Added support for areas as well as locations in the Stop/Resume Flow pick list options. Improved the First Activity Satisfying All Its Requirements pickoption in the Next Activity field. Added pickoptions to easily diplay variables, labels, and table values on the screen. Column width and Row heights of the PCI table are now saved. Added a checkbox dashboard widget. Added more Data Collector pickoptions. Updated the ambulance and helicopter shapes. Added helicopter rotor animation. Added more chair and med station shapes. Added label columns to the Custom Arrivals table Bug Fixes Fixed Based on Simulation Time pickoption not working for weekly tables after the first week. Fixed a bug with undoing after deleting a network node. Fixed the resource utilization box plot when showing multiple periods. Fixed Experiment Variable drop down placement when the panel is scrolled. Fixed model resetting when Flowchart window was opened. Fixed the By Patient's location/area pickoption for the Process Time field so that quotation marks are no longer required. Fixed console errors being thrown by the Start Animation pickoption. Fixed console errors from the Patient's label pickoption for the Next Activity field. Fixed bug when a low priority OffSchedule event happens when a lower priority Lunch request is already queued up. Fixed Stop/Resume pick list error in User Event Trigger. Fixed a bug with reassigning task sequences when a resource goes off schedule and the resource's group is in an Alternate Group. Fixed refresh issues in the Sample Set Filter popup. Fixed a memory issue with the Entrance Criteria pickoption code. Fixed window positioning so they open centered on the application window. Fixed bug in "Based on Nurse Workload" pick list option for Patient Destination field. Fixed Output Raw Data not writing State headers. Improved positioning of ambulances and helicopters after a transport activity
View full article
Trusted Storage   FlexSim is licensed using FlexNet's Trusted Storage. Trusted Storage is a secure storage area FlexNet creates on your license server where it keeps encrypted and hashed license information for licensing FlexSim. Before you can activate a FlexSim license to your license server, its Trusted Storage must be configured. This is done by your license server authenticating with FlexSim's main license server.   Below we'll cover configuring Trusted Storage on your license server. If you're here looking for instructions for standalone licensing, check out the article Standalone - Configure Trusted Storage.   I haven't configured Trusted Storage before - why now?   When your license server communicates over the Internet with FlexSim, this initial Trusted Storage configuration happens automatically and invisibly during the course of the license server's first license activation. The first time you activate a FlexSim license to your license server, your license server and FlexSim's main license server authenticate with each other, configuring your local Trusted Storage, and then immediately activating the requested license.   In other words:   Internet-connected activation = automatic and transparent Trusted Storage configuration.   But you're here because your license server can't communicate over the Internet with FlexSim's main license server. Consequently, your Trusted Storage configuration must be completed manually before activating any license.   Create a Trusted Storage config request   On your license server, in your extracted download folder of FlexSim license server materials, navigate into the folder flexsimserveractutil. Right-click flexsimserveractutil.exe and select Run as administrator. In the FlexSim ServerActUtil program, go to Tools > Manual Activation > Generate Request. Enter a valid Activation ID. You can use our special activation ID configure-ts, but any valid activation ID can work. Enter 1 for the Count (seat quantity). Click Browse to select an Output File. Choose a filename for the saved request. We used configure-ts.xml. Press Save. Press Generate. You've just saved a new XML activation request in the location you selected. You can confirm this is a Trusted Storage config request by viewing the saved XML file in a text editor like Notepad. A configuration request will lack the TrustedHostInformation tag. If your configure.xml file contains that tag, that means your Trusted Storage is already configured. In that case, you can move on to the offline license activation steps for your license server. Otherwise, continue configuring your Trusted Storage below.   Submit your Trusted Storage configuration request   Transfer your Trusted Storage config request XML file from your chosen save location to a computer with Internet access. From your Internet-connected computer, open a web browser and login to any FlexSim Account - even a new guest account will work. Click the Licenses link in the header, then choose Manual XML in the Licenses submenu. Upload your XML request file by dragging it onto the drop zone. Your uploaded XML request will be processed. Upon completion, you will be prompted to download the XML response.   Did you get a red error message instead of a green success indicator?     A message "Fulfill count exceeded the available seat count" means that Trusted Storage is already configured on your license server. In that case, move on to the offline license activation steps for your license server. Otherwise, continue below to finish configuring your Trusted Storage.   Process your manual activation responses   Transfer your downloaded XML activation response to your offline license server. In the FlexSim ServerActUtil program, go to Tools > Manual Activation > Process Response. Browse to an XML activation response file. Press Process. FlexSim should give you an indication of successful processing of your config request.   At this point your Trusted Storage should be fully configured. You are ready to activate your licenses.
View full article
Nesse vídeo, fazemos um overview sobre o FlexSim e demonstramos como modelar diretamente pelo 3D usando as conexões padrão disponíveis no software e as diferentes formas de inserir os objetos na área de modelagem (Grid). Também demonstramos como analisar de forma bem básica as estatísticas de cada um dos objetos e uma rápida introdução sobre o Dashboard e a variável estatística presente em cada um dos objetos individualmente. Para assistir o vídeo, acesse nosso canal do youtube.
View full article
Download the files Download FlexSim’s latest lmtools-related files here: https://flexs.im/lmtools-download You can browse archived versions of both lmtools and lmadmin here: https://flexs.im/licenseserver-archive Extract the download Once the download is complete, right-click the .zip archive and choose to Extract All… Save to a folder directly on your root drive. Your lmtools download folder Your extracted folder should end up looking something like this: In later instruction steps, any time we refer to the downloaded files, these are the files we're talking about. Note on location Technically you could save your download files in any folder, but we recommend right at the root drive level for convenience. If you choose to save your download folder in an alternate location, please make sure that the directory path doesn't include any folder named "FlexSim". Since Windows files are not case sensitive, this prohibition also applies to variations like "Flexsim" or "flexsim". We have seen instances where some versions of FlexNet licensing encounter errors when the name of the vendor daemon ("flexsim" in our case) is the same as a folder in the path. A folder that includes "FlexSim" as part of a larger name is fine. For example "FlexSim_Licensing" is a fine folder name. Examples of good paths: C:\FlexSim_LMTOOLS C:\licensing\vendors\FlexSim_LMTOOLS\ C:\Program Data\FlexSim_License\ Examples of bad paths (incompatible folder names bolded): C:\flexsim\ C:\licensing\vendors\Flexsim\ C:\Program Data\licensing\FlexSim\files\
View full article
tl;dr   must be stable and persistent, always able to maintain a constant connection with the client software don't use a user's personal computer as a license server use a currently supported Microsoft OS bare-metal hardware, virtual hardware, cloud hosted - all are fine if the hardware meets the OS specifications, it meets the license server specifications configure your network and firewalls to allow the client-server communication   Use an always-on, accessible server (not a user's PC)   Your license server should be on a stable, persistent system that is always on and always accessible via a stable IP address or fully qualified domain name. A user’s personal system is not a good license server, unless they are only serving licenses to themselves, in which case please consider contacting your local FlexSim distributor to exchange for a standalone license.   Operating System   Hosting FlexSim licenses requires a currently supported version of Windows (desktop or server versions are supported). FlexSim and FlexNet do not support Windows operating systems that have reached their end-of-life. See Microsoft guidance on product lifecycle.   You should perform all Microsoft Updates so that your operating system is fully patched prior to installing the license server software.   In the future we hope to allow FlexSim licenses to be hosted on Linux or Mac license servers, in addition to Windows. Work toward multiplatform is ongoing. We do not currently have an estimated timeline.   Server Hardware   If your license server hardware meets the specifications required for the chosen Microsoft OS, it will be adequate to run the license server software. Hosting licenses is generally NOT a demanding workload.   Please do not confuse these minimal license server hardware requirements with the different and more demanding system requirements for running FlexSim Simulation Software.   Cloud Hosting   Your license server could be hosted by a cloud provider or on premises, on a virtual machine, or a bare-metal OS.   Keep in mind that your license server should be a stable, persistent server that client PCs can remain connected to. If your server setup works by creating and destroying new instances of a virtual machine each time you reboot, it is NOT suitable for use as a license server. You will lose your Trusted-Storage-based FlexSim licenses when the virtual machine is terminated.   Networking, firewalls, connectivity   For the client software to remain licensed, it must maintain a constant network connection to your license server. The exact details of such a configuration are up to you.   If you want to limit client-server connections to the local network, allow access to the license server worldwide over a VPN, or make your licenses available over the public Internet, these are all decisions you must make and configure your network and firewalls accordingly such that your FlexSim client PCs can maintain a constant connection to the license server.   Further networking guidance, including information regarding firewalls and port numbers, is found in the individual instructions for lmtools or lmadmin.  
View full article
Why would I delete a fulfillment?   You may need to manually delete a fulfillment from your PC if:   Your license is broken. Sometimes you can fix this problem yourself by attempting a repair. However, you may get a message that the repair failed. "Repair: failure. Online return/repair request for the activation ID is not originated from the original client machine." In this case contact your local FlexSim distributor to explain the situation and let them take a look. Reference this post. If they determine it is best to delete the broken fulfillment, follow the instructions below to do so. Your distributor will then force-return the broken license so that it will be available for a new activation. You mistakenly requested a force-return of a license. If you later find the fulfillment that you thought was lost, that fulfillment is no longer able to be returned normally (because it was already force-returned).   In these cases, and in a few other rare circumstances, you may find it necessary to manually remove a fulfillment from your computer. This process occurs exclusively on your computer without any communication with FlexSim's main license server.   Delete your fulfillment   FlexSim 23.0 or greater   For FlexSim version 23.0.1 or greater, you can delete fulfillments using the License Activation window.   From FlexSim's main menu, choose Help > License Activation. Under the Advanced tab, find the Delete sub-tab. Choose the fulfillment you'd like to remove from your computer and click Delete. Confirm your choice to remove the fulfillment from your computer.     Currently licenses that are *BROKEN* do not show up in this list (how do licenses become broken?), so if this applies to your situation you will need to use the Older versions method below.   Older versions   If you are using an older version of FlexSim, we recommend that you download the latest FlexSim software and use the updated delete method described above, even if your license is for an older FlexSim version. Older FlexSim versions do not have a graphical interface for removing fulfillments, but if you're comfortable you can still do so using a FlexScript command.   Find the fulfillment ID   The first step is to find the fulfillment ID of the license you want to return. This is an identifier unique to the activation you're removing.   View your licenses to find the fulfillment ID you wish to remove from your PC.   Prepare your delete command   Once you know your broken fulfillment ID, you're ready to build the command that will remove it from your computer.   licenseactivation(LA_DELETE_FULFILLMENT_RECORD, "paste entire 'FID_...' fulfillmentID here");   Be sure to paste the complete fulfillment ID into the 2nd parameter.   Depending on your software's licensed state, you may be able to run this command directly in a script window. If not, we'll work around that limitation by using an object's reset trigger.   Execute the delete command   There are two ways to manually delete your fulfillment:   Run the command in a script window Use a 3D object's reset trigger   Run in a Script window   If your FlexSim installation is still licensed, you can open a Script window to run FlexScript commands:     Run the command console. You will be prompted to confirm that you truly want to remove the fulfillment:     Choose Yes to remove the fulfillment.   Use a 3D object's reset trigger   If your FlexSim software is not licensed the Script command console is not available. Instead, do the following:   Create a new model. Drag any object into the 3D view. Create a reset trigger on that object. Enter the FlexScript command into the reset trigger. Press OK to save the script. Reset the model. Choose Yes to confirm that you truly want to remove the fulfillment.  
View full article
Have you received this licensing error? Operations error: 7032 Invalid fulfillment ID: FID_ ... (entire fulfillment ID listed) You may encounter this error during an attempted license return. This error means that the license server has no record of your license activation, and therefore is not able to recognize the return action from your unknown activation. This error should only be encountered under a few rare circumstances: 1. Rollback on FlexSim's main license server FlexSim's main license server could be rolled back to an earlier time due to a necessary database restoration in order to mitigate database corruption or other unforeseen issues or circumstances. License actions, such as license activations or returns, that occurred after the last viable backup was saved, but before its restoration, will be lost. The solution for any license affected will consist of one or both of the following: If an activation occurred during the lost time period you would need to manually remove any un-returnable fulfillments. Standalone - Delete fulfillment License Server - Delete fulfillment If a license return occurred during the time period, you should contact your local FlexSim distributor to request a force-return. Explain the error and this situation. 2. Change to FlexSim's licensing infrastructure Your FlexSim product has reached End-of-Life and the license server under which your license was originally activated has been retired. This situation is outlined in FlexSim's End User License Agreement > Software End-of-life. As of this writing, FlexSim has never retired any of our FlexNet licensing infrastructure and we currently have no plans to do so. This item is included here for completeness' sake and in the event that such future licensing changes occur. If you are using software past its End-of-Life date and you think this problem may be affecting you, please contact your local FlexSim distributor.
View full article
It may be necessary in rare circumstances to manually delete a fulfillment from your license server. You may need to do this if you mistakenly requested a force-return of your license, if FlexSim's main license server was rolled back to an earlier point in time, or some other rare circumstance.   This manual process occurs exclusively on your license server without any communication with FlexSim's main license server. This procedure applies to both online and offline/secure/air-gapped license servers.   Assumed configurations   All steps below assume that you followed the installation instructions as described in our license server installation instructions, and that all FlexSim's license server files were extracted to the location C:\FlexSim_LMTOOLS. Throughout these instructions we will reference files inside that folder.   Find your fulfillment ID   On your license server, run the flexsimserveractutil.exe program (C:\FlexSim_LMTOOLS\flexsimserveractutil\flexsimserveractutil.exe) by right-clicking and selecting Run as Administrator.     In the FlexSim ServerActUtil program, go to Tools > View License Rights.     Copy the Fulfillment ID for the Activation ID you intend to manually delete by highlighting the Fulfillment ID and pressing Ctrl+C.     Delete the fulfillment   In the FlexSim ServerActUtil program, go to Connect > Delete.     Paste your fulfillment ID into the field. Press the Delete button.     You should receive an indication of success.     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
You may find it necessary to check the status of your licenses. Perhaps you're trying to diagnose some issue, or you want to check which license you have activated.   Here we explain how to view the licenses activated to your PC, and their status.   View your licenses   Open FlexSim. From the main menu, go to Help > License Activation. Go to the View Licenses tab. Press the View Licenses button. You should see a list of fulfillment information, or a message indicating that there are no licenses on your PC.   What does it all mean?   If you have licenses on your PC, each license listed includes a block with status and license info, including whether the license is fully trusted and enabled or broken, the unique fulfillment ID that pertains to this specific license activation, and more. You'll also see INCREMENT blocks for each feature that makes up your license.   Take action   Check the article Licensing Procedures under the Standalone Licensing heading for instructions if you need to repair or return your license or do other sorts of license maintenance.
View full article
You may find occasion to check the status of your licenses. Perhaps you're trying to diagnose some issue, or you want to check which license is activated, or how many seats. Here we explain how to view the licenses activated to your license server, and their status. Assumed configurations All steps below assume that you followed the installation instructions as described in our license server installation instructions, and that all FlexSim's license server files were extracted to the location C:\FlexSim_LMTOOLS. Throughout these instructions we will reference files inside that folder. View License Rights On your license server, run the flexsimserveractutil.exe program (C:\FlexSim_LMTOOLS\flexsimserveractutil\flexsimserveractutil.exe) by right-clicking and selecting Run as Administrator. In the FlexSim ServerActUtil program, go to Tools > View License Rights. An information block is printed for each license activated to your license server. You will find listed the unique fulfillment ID for each activation, along with the license code (also called an activation ID and listed here as entitlement ID), its status (fully trusted/enabled, broken, etc.), the number of seats activated, and for timed licenses, an expiration date. Take Action Check the article Licensing Procedures under the Network Licensing heading for instructions if you need to repair or return your license or do any other sort of license maintenance.
View full article
[ FlexSim 2016 ] FlexSim 2016 Update 2 is available. FlexSim's start page will automatically notify you of the update and allow you to download and install the update from within FlexSim. To manually download the installer log in to your account at www.flexsim.com, then go to the Downloads section. If you have bug reports or other feedback on the software, please email [email protected] or create a new idea in the Development space. Release Notes Added support for STEP and IGES 3D shapes. Added a Quick Library popup when you double-click on empty space or A/S Connect to empty space in the 3D view. Improved object rotation manipulation in the 3D view. Added sorting to toolbox for top level items. Added the ability to use the query() command with partitioned lists, using ListName.$1 or ListName.PartitionIDStr syntax. Added support for the ON clause in SQL queries using the query() command. Added support for the ARRAY_AGG() aggregation function in SQL queries using the query() command, in the manner of PostgreSQL. Added an "Allow Multiple Pushes Before Back Order Fulfillment" setting to lists. Added a "Reevaluate All Values On Push" setting to lists. Added a Date Based feature to gantt charts. Updated the auto-numbering mechanism when naming new objects. Updated file browse dialogs to remember the last used directory. Changed the default directory for opening and saving user libraries to be within documentsdir(). Added a colors tab to the tracked variable dashboard chart. Updated the Presentation Builder interface to make the timeline more useable. Updated the Animation Creator interface. Updated the Stop Time interface. Added range and type validation to many edit fields. Overhauled the FlexSim Web Server interface. Added functionality to the Webserver to restrict access to certain models using Windows Authentication. Fixed a bug with the window docking system that caused sizing to not work properly sometimes. Fixed TimeTable Excel Import bug not working with Daily/Weekly Repeat table. Fixed the Visual Studio project files so they don't give you the linker errors when you compile flexsimcontent.dll with Visual Studio. Fixed a bug with cell heights and widths when inserting and deleting table rows or columns. Fixed line charts continuing to collect data beyond their collect time. Fixed the query() command so that it can be called within List fields. Included fixes listed in 16.0.5. Process Flow Improved Process Flow view performance. Added Split, Join, and Synchronize activities. Added right-click options for re-ranking activities in a block and removing an activity from a block. Added tooltips to activities that show you the activity type. Added copy and paste options to the Process Flow right-click menu. Populated field names of lists for SQL drop-down menu options. Updated Text editing interface to be more user friendly. Added an "Assign Event Object To" option to the Wait For Event and Event-Triggered Source. Fixed a bug with Zone Partitions not being able to be graphed. Fixed an issue with connectors losing their ranks when clicking and dragging them. Fixed the List Back Order Reevaluation Events so you can listen to activity events. Fixed the Experimenter duplicating TEs/FRs attached to Process Flow objects not properly duplicating the Process Flow instance. Fixed Sub Flows that have Resources pointing to 3D objects in the model not properly creating/destroying copies of the 3D object. Fixed Resources in Fixed Resource and Task Executer Process Flows losing their references when being updated by a user library. Fixed a bug with the Pull from List where releasing the token and leaving the back order on the list would not give you all of the pulled results when using the 'Assign To' option. Fixed a bug with capturing ProcessFlow views at resolutions larger than the window size. AGV Added new agvinfo() command options. Updated paths so that they can be contained within visual tools. Backwards Compatibility Note: the following changes may slightly change the way updated models behave. Fixed issues with routing through path junctions where 3 or more paths connect. Conveyor Fixed an issue with manually moving a waiting item off a conveyor with a restart delay.
View full article
[ FlexSim 2016 ] FlexSim 2016, version 16.0.5, is available. To download the installer log in to your account at www.flexsim.com, then go to the Downloads section and click on More Versions. If you have bug reports or other feedback on the software, please email [email protected] or create a new idea in the Development space. Release Notes Fixed sin() command not displaying in the Command Helper. Fixed a bug when shift-selecting entire rows and columns of global tables. Fixed C++ Variant comparisons where the primitive is on the left side. Fixed the return values for CURRENT_MINUTE, CURRENT_SECOND, and CURRENT_MILLISECOND in getmodelunit(). Fixed a bug with SQL parsing of FlexScript functions returning doubles in 32-bit FlexSim. Fixed some pin buttons in the Stats window. Fixed a bug in a Pull From List pick option. Fixed Crane and Robot speeds not scaling with model units. Fixed a bug with the From/To Lookup Table popup not putting quotes around table names. Fixed a bug with exporting Custom Chart data as CSV sometimes not working. Fixed some UI issues with the Edit Name box for User Libraries. Fixed an exception in the Set Label trigger popup. Conveyor Fixed header for OnMessage trigger of Photo Eyes. Fixed decision point rotation in a rotated container. Fixed a bug with calculating the time that items will split off from each other when an ahead item speeds up. Fixed a rare crashing issue with accumulated items. Fixed an issue with resuming nonaccumulating conveyors that weren't stopped. Process Flow Fixed a UI bug with the process flow variable panel in Quick Properties when opening a model. Fixed some instance references from showing just the name to now showing the path to better distinguish objects in containers. Fixed an extra line being added in the token Shared Assets list when requesting a Zone. Fixed the Quick Library so you can collapse sections. AGV Fixed issue with click-creating AGV control points before creating paths. Fixed issue with calling stopobject() on an agv when it has arrived at a control point at (near) zero speed.
View full article
FlexSim 2023 is now available for download. For more in-depth discussion of the new features, check out the official software release page: FlexSim 2023: Enhancements to Bonsai Integration (AI), Emulation, AGV/AMR, and more You can view the Release Notes in the online user manual. FlexSim 23.0.0 Release Notes If you have bug reports or other feedback on the software, please email [email protected] or create a new idea in the Development space.
View full article
FlexSim 2022 is now available for download. You can view the Release Notes in the online user manual. For more in depth discussion and videos of the new features, check out the official software release page. If you have bug reports or other feedback on the software, please email [email protected] or create a new idea in the Development space.
View full article
Preparation   You may want to brush up on how a license version is related to a product version.   When you understand what version of FlexSim will work with your license, download and install an appropriate software version for your license.   If your computer is not connected to the Internet, you will need to transfer FlexSim's installer to your computer on a USB drive or some other method.   You will also need to be able to transfer XML license files to and from your offline computer.   NOTE: If this is the first time a license has been activated on this computer, an initial XML request/response communication will be needed to configure your local Trusted Storage.   This means that for a first ever license activation on a given computer, complete the steps below for just a single Activation ID - that will configure your computer's Trusted Storage.   Once that is complete, repeat again the entire Manual XML activation process for that initial Activation ID and any other Activation IDs that will be installed to this computer.   Find your licenses   Log in to your FlexSim Account, click the Licenses link in the top menu. In the Licenses submenu, choose List. Expand the various product and version folders to find the Activation ID you wish to activate. An Activation ID looks similar to this example: yourcompany.com01-ABCDE-FGHIJ-KLMNO-FSENT16.2   Create manual activation requests   Open FlexSim Software. In FlexSim's main menu, Go to Help > License Activation. Click the Advanced tab. Go to the Manual Activation sub-tab. Enter a valid Activation ID into the field (see the Find your licenses heading, above). Click the Generate Request button. You will be prompted to save an XML file. Choose a location and filename to save your XML activation request. If this is your first time ever activating any FlexSim licenses on this PC, only generate an XML request for one activation ID (see red-highlighted note above). Otherwise, repeat steps 4-6 for all licenses you wish to activate on this PC, so that all your XML activation request files can be transferred at one time.   Submit your manual activation requests   Transfer your XML activation requests to a computer with Internet access. From your Internet-connected computer, open a web browser and login to your FlexSim Account. Click the Licenses link in the header, then choose Manual XML in the Licenses submenu. Upload your XML files by dragging them onto the drop zone. Your uploaded XML requests will be processed. Upon completion, you will be prompted to download each XML response.   Process your manual activation responses   Transfer your downloaded XML activation responses to the offline computer you are licensing. In FlexSim, using the same licensing interface where you generated your request, click the Process Response button. Browse to an XML activation response file. FlexSim should give you an indication of successful processing of your activation, and your activation will be complete. Repeat to process the XML activation responses for any other licenses you are manually activating.   IMPORTANT NOTE   If this is the first time a license has been activated on this computer, an initial request/response communication will only serve to configure your local Trusted Storage.   This means that for a first ever license activation on a given computer, after this first request/response has been successfully processed on the offline computer, a 2nd request using the same license code will need to be generated/uploaded/processed/downloaded/processed to fully activate your license.   This is a one-time event per-computer. Subsequent license activations to the same system require only one request/response XML pair. If you have any questions or problems, please search our Community for possible solutions. There is a good chance someone else has already asked your question.   Still not finding what you're looking for? Licensed users can submit a support request and we'll check it out.
View full article
Introduction to lmtools   This article is a sort of table of contents to the various articles that will take you from start to finish in installing, licensing, configuring, and running your FlexSim license server using the lmtools license manager.   background info   Server-based vs Standalone licensing - Learn the differences between these two license models, and when you might choose one over the other. License managers - lmadmin vs lmtools - FlexSim supports these two FlexNet license managers. Learn the differences, and why FlexSim recommends lmtools.   Let's get started   When installing a new license server, start here at the top and work your way down the list of articles linked below. By the end you should be in good shape to properly host and serve your FlexSim licenses.   Each link should open in its own browser tab, so once you complete a sub-task just close that tab. Then back here in this main tab click the link to the next step.   The list of links below might seem intimidating, but conceptually it's just 4 main things we're about to work through:   Preparation and Prerequisites Activate licenses to your license server Configure the licensing service Configure client PCs   If you run into any problems, you can also find additional helpful resources linked at the end of this article:   Troubleshooting Related links     1) Preparation and Prerequisites   System Requirements - almost any Windows computer could act as your license server. Click inside for the details. Download files - download the required lmtools files and extract them to an appropriate folder on your license server. FlexNet Licensing Service 64 - FlexSim is licensed using Revenera's industry-standard FlexNet licensing platform. This article prepares your license server with the background service necessary for hosting your FlexSim licenses.   2) Activate licenses to your license server   Choose the right steps below to license your server, depending on whether or not your license server can communicate over the internet directly with FlexSim's main license server.   • Online, Internet-enabled systems   License Server - Activation - Online - Activate your FlexSim licenses to your license server directly over the Internet. Should be easy-peasy. • Secure / Offline / Air-gapped systems   If your license server will not connect to the Internet (or if for any reason it cannot communicate with FlexSim's license servers) there are a few extra steps to get up and running. You've got this!   Configure Trusted Storage - Your new license server has a secure storage area for holding license info, but first it must authenticate with FlexSim's main license server. License Server - Activation - XML / Offline - the manual steps to activate your FlexSim licenses onto your license server.   3) Configure the licensing service   Configure your license service - use FlexNet's lmtools license manager to create and configure the service that will serve up your FlexSim seats. Add Windows Firewall exceptions - your licensing service needs to communicate with other PCs on the network. This will get you started.   4) Configure client PCs   With your license server installed and configured, it's finally time for your license server to fulfill its destiny and serve licenses to your client PCs.   Make sure you know the IP address or fully qualified domain name for your license server, as well as the license service port number (see #1 under Check the service status). You'll use your server's address/name and service port when configuring the client PCs.   FlexSim Version Numbering - your FlexSim license is for a particular version of FlexSim. If your software maintenance is not current, you may need to use an older version of the software. In this article you'll learn how licensing works for a given version number and where to download an appropriate version of FlexSim that will work with your license. With an appropriate version of FlexSim installed on the client PCs, you're ready to configure them to communicate with your license server. There are two ways a client PC can be configured. Choose the method below that most closely matches the main use case for your client PC:  Single-user client PCs - this method configures settings that are saved on a per-user basis. Multi-user client PCs - usually appropriate for a university computer lab or other shared-PC situation, where the configuration should be computer-based. Verify client PC licensing - Not sure if your client PC is getting licensed properly? Dive in to find out how to tell your client PC is successfully getting a license from your new license server   Troubleshooting   Isn't there a law in the universe that if something can go wrong, it will? If you're stuck in a licensing black hole, these tips might be just the thing to help you get moving.   Client/server connectivity - if the client PC and the license server can't communicate, the client PC won't be able to get a license. Troubleshooting tips - when you're pretty certain that connectivity isn't an issue, but your client PC still isn't getting a license, check here for some ideas.   Related Links   FlexSim's license file - your new licensing service uses a license file to specify port numbers. Get more background on license files and ports here.  
View full article
If you have colleagues who should also have visibility to your license codes, you can "share" your licenses with their account. Licenses should only be shared in accordance with FlexSim's end user license agreement. When you share your licenses with another FlexSim Account, they are able to view all of your activation IDs in full, as well as the activation histories of those licenses. To share your licenses with another FlexSim Account, do the following: Log in to your FlexSim Account at https://flexs.im/account. In the navigation header, click the Licenses link, then choose Sharing from the submenu: Follow the instructions to add one or more FlexSim Accounts to share your licenses with. The FlexSim Accounts must already exist. Press the Add button to submit the accounts. When you submit, if you are navigated away from the Share page, simply revisit the Sharing link as described in step 2 above. You should see the results of your share attempt. You will also see a list of the accounts you're sharing with, as well as any accounts that are sharing with you: Your licenses will now be listed in your colleague's FlexSim Account. They will see your licenses listed on their Licenses page the next time they log in. If they were currently logged in to their account while you shared your licenses, they should log out, then log back it to note the change.
View full article
FlexSim 2020 Update 2 is available. If you have bug reports or other feedback on the software, please email [email protected] or create a new idea in the Development space. Release Notes Updated the run speed slider so you can customize the ratio of display units to real seconds. Moved object properties windows into the context sensitive Properties window (formerly known as Quick Properties). Added a new Quick Properties window that appears next to your cursor when double clicking on an object. Added a pop-out button to the Labels panel of the Properties window. Added a Dark theme for FlexSim's UI. Removed help manual from the installer and linked help to docs.flexsim.com. Created a separate installer for a local help manual. Added Unit edit buttons to more edit fields. Updated the Quick Library to match the current state of collapsed and expanded panels in the main library. Removed the View Settings window and moved all its options into the Properties window. Improved performance of Properties window and various other UIs. Added Object Property tables. Added Object class properties and methods to the Variant class in FlexScript. This removes the need to use .as(Object) if you know the treenode pointed at by a Variant is an Object. Added Object.resetPosition property. Added capture groups to the string.replace() method. Enabled several SQL clauses - NOT, NOT IN, DELETE FROM, INSERT INTO, and LEFT JOIN/LEFT OUTER JOIN. Added ARRAY_VAL() sql function for accessing a value in an array. Added unit conversions to the convert() command - convert(4.5, "ft/min", MODEL_UNITS). Improved performance of loading media by making it multi-threaded. Updated the default web server 3D view to stream using WebGL data instead of video. Added Color.fromPalette options to several Set Color popups. Added a pickoption for the Source's On Creation trigger for attaching items to an Object process flow. Disabled the beeping noise when pressing Enter in edit fields. Fixed the Create Object edit mode sometimes not creating objects and just exiting (like when clicking on the library when the User Manual was active). Fixed a draw issue with tables drawing bold text sometimes. Fixed a bug with window docking. Backwards Compatibility Note: the following changes may slightly change the way updated models behave. Changed updatehotlinks() to only repaint the view if it applies a node with a viewsyncupdate attribute of 1. The keywords VALUES an DELETE were added to the sql parser. This means that previous models that use the term VALUES, Values, values, DELETE, etc. will get an error because sql now sees it as a special keyword. If you get this error, just wrap your term with square brackets: [Values] to tell the parser to not interpret it as a sql keyword. Agent Added the Agent module to the Flexsim Installer. Enabled A* walls as static agents. Added a neighbors() function to the Agent API. Fixed social forces for agents not in model space. Fixed bugs with using A* bridges. AGV The join tool now joins in all cases, defaulting to a straight path if it can't solve for a curved path. Conveyor The join tool now joins in all cases, defaulting to a straight conveyor if it can't solve for a curved conveyor. Emulation Added Allen-Bradley connections. People Improved performance of state history tables. Fixed listening to travel events on a person created with the Create Person activity. Process Flow Added new Kinematics activities. Added new Warehousing activities. Added an Enabled checkbox to the Source activities so that you can turn them off. Consolidated Fixed Resource and Task Executer process flow types into a single "Object" type. Added a right-click menu option to the 3D view so a user can right-click on an object and add an Object process flow directly. Added an Object Flow field to the Create Object activity and added a pickoption for attaching items to an instanced flow. Changed double clicking on an activity to be more consistent with the 3D view and now opens the activity's properties window. This window now has a name edit field so you can still easily rename the activity. You can also slow double click to only open the old name edit field. Improved performance of activity properties windows.
View full article
Many simulation models need to show operator or machine utilization by time period of day, or per shift: shiftutilization.fsm Under Construction Summary Until this article is completed, here is the basic idea. I use a process flow to create one token per operator in the group. Each operator token creates one token per shift. The shift token creates its own Categorical Tracked Variable (which is how state information is stored on all objects). The shift token just remains alive, holding the tracked variable. The oeprator token goes into a loop, listening to OnChange of the 3D Operator's state profile node. Whenever the state changes, the token sets the shift token's state label to the same state. This essentially copies the state changes onto another tracked variable. Another child token listens for when the shift changes. When the shift changes, the operator token puts the current shift profile into some unused state (STATE_SCHEDULED_DOWN, in this case), and then applies new state changes to the correct shift token's label. A Statistics Collector listens for when the Operator token starts the main loop at the beginning of each shift. When this happens, the collector saves a row value that is an array, composed of the operator and the shift token. The row mode is set to unique, so that each unique combo of operator/profile gets its own row. Each column in the collector is made to show the data from the shift corresponding to that row. The result is the table shown in the article, which can be plotted with a pie chart as shown above.
View full article
Top Contributors