FlexSim Knowledge Base
Announcements, articles, and guides to help you take your simulations to the next level.
Sort by:
Você tem dúvidas sobre o que é, ou como funciona o FloWorks? Este Tutorial, composto de 3 vídeos, garante um overview sobre o FloWorks: Vídeos: Introdução ao FloWorks: O que é? Como funciona? Como construir um modelo com o FloWorks: Aprenda a reproduzir um modelo simples Analisando Sistemas com o FloWorks: Observe um exemplo de análise de modelo com o FloWorks Esperamos que aproveitem mais este vídeo tutorial.
View full article
O link que segue leva a um vídeo no qual é apresentado um exemplo de Análise de Sistema utilizando-se o módulo FloWorks FlexSim. No vídeo, um modelo Portuário é analisado com o objetivo de encontrar o gargalo do Sistema. Vídeo Tutorial: FloWorks - Análise de Modelo Esperamos que aproveitem mais este vídeo tutorial.
View full article
17 Mar: Bug fix releases 22.0.5, 22.2.3 and 23.0.1 are now available. FloWorks 23.0.0 is now available (06 January 2023). This version of FloWorks is intended for use with FlexSim 2023. If you are using FloWorks with FlexSim 2022 (LTS) you can upgrade to FloWorks version 22.0.4. If you are using FlexSim 2022 Update 2, you can upgrade to FloWorks version 22.2.2. 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 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 FloWorks 23.0.1 All bug fixes in FloWorks 22.0.5 below. FloWorks 23.0.0 (6 January 2023) Improvement: FlowConveyor snapping improved between conveyors. Improvement: Made FlowConveyor properties available in property tables. Improvement: Extra FlowConveyor options added, such as virtual length support. Improvement: Compare Properties enabled for all active FloWorks objects. Improvement: Toolbox items "Level Triggered Event" and "Time Series" support disabled icon. Improvement: MassFlowConveyor supports stacked products. All bug fixes in FloWorks 22.0.4 below (please note the Known Issues information there). FloWorks 22.2.3 All bug fixes in FloWorks 22.0.5 below. FloWorks 22.2.2 (6 January 2023) All bug fixes in FloWorks 22.0.4 below. FloWorks 22.0.5 Bug fix: Content issues when using warmup time. Bug fix: Input and output trigger ammount issues when using warmup time. Bug fix: Solver crashed with (large) networks that contains cycles. Improvement: Complete new solver mode added, that improves solver times. Improvement: OnEmpty and OnFull are now fired when setting the content using script or ProcessFlow activity. FloWorks 22.0.4 (6 January 2023) Bug fix: Solved FlexSim crashing when FlowControl had invalid references in member list. Bug fix: Legacy flow conveyors were (silently) failing in some cases. Bug fix: Flow Amount for ItemToFlow and FlowToItem can be set correctly. Bug fix: When copying an object it sometimes lost its Flow Control reference. Bug fix: Requesting statistics through FlowObject.stats raised an error. Bug fix: When setting flow content through code the state is now correctly updated. Improvement: Small wording fixes in the user manual. Improvement: Updated tutorials. Improvement: Updated several outdated or incorrect tooltips.
View full article
O link que segue leva a um vídeo no qual é apresentada uma Visão Geral sobre o módulo FloWorks FlexSim. Os tópicos abordados no vídeo são: O que é o FloWorks? Qual a aplicação do módulo FloWorks? Qual a diferença entre FloWorks e o módulo de Fluidos? Quais os principais objetos da biblioteca FloWorks? Algumas propriedades interessantes do Módulo. Vídeo Tutorial: FloWorks Overview Esperamos que aproveitem mais este vídeo tutorial.
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.     Find your licenses   From your FlexSim Account, click the Licenses link in the top menu. In the 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-FSENT21.2 Highlight and copy the Activation ID you will activate.   License your software   Open FlexSim Software. Click Help in the main menu. Choose License Activation. Paste your Activation ID into the field. Click the Activate button. Wait for an indication of success. Repeat for any other Activation ID you wish to activate to this computer.   Your license activates via the Internet, so make sure your computer is connected!   If your computer is offline or has trouble connecting to FlexSim's license server, try the Standalone - Activation - XML / Offline instructions.     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. Please do not include any confidential information, such as license codes, since anything posted on the forum is public! You can also contact your local FlexSim distributor for live phone, web, or email help.
View full article
Introduction Several times per year we release a new feature-version of FlexSim Simulation Software. In order for client PCs to be able to run a licensed version of the upgraded software, you'll need to upgrade the activated license(s) on your license server. Licenses with a current maintenance subscription are eligible to be upgraded to the new version. If you don't understand how licensing works for different FlexSim versions, please review our Answers article FlexSim Version Numbering. Overview There are 5 main steps to upgrading the licenses hosted on your lmadmin or lmtools license server: Return the licenses you intend to upgrade Upgrade your licenses Activate the upgraded license Reread the license Upgrade client PCs Several of these steps have their own fully documented procedures. We'll link you to those resources below. 1. Return the licenses you intend to upgrade The steps to return a license-server-based license are fully documented. Choose the link below that best matches your needs, depending on whether your license server can connect to the Internet: License Server - Return - Online License Server - Return - XML / Offline Be sure to return ALL licenses you wish to upgrade. 2. Upgrade your licenses NOTE: Licenses with expired maintenance will not upgrade. Timed licenses do not upgrade. Only permanent (not timed) licenses under current maintenance can be upgraded. Log in to your FlexSim Account. If you were already logged in to your FlexSim Account, in the top navigation menu hover over your initials icon and choose Reload Account. Now in the top navigation menu, choose Licenses > List. Check that the available seat count is equal to the total. All of a license’s seats should be returned for it to upgrade. Click on the Upgrade Licenses button. If you have several licenses to upgrade and all are owned by or shared with your FlexSim Account, they will all be upgraded at once. Please be patient while the upgrade process works in the background. When the page refreshes, eligible licenses will have a new activation ID for the latest version of the software. Your license code indicates its version at the end of the code to help you know what versions your license will properly activate. Review license code format. 3. Activate the upgraded licenses The steps to activate a license-server-based license are fully documented. Choose the link below that best matches your needs, depending on whether your license server can connect to the Internet: License Server - Activation - Online License Server - Activation - XML / Offline 4. Reread the license Your license server needs to start serving up your newly activated licenses. You can either restart your license manager service, or use your license manager's option to reread your licenses. The steps to reread your licenses differ depending on which license manager you are using to host your licenses. Use these links to jump to instructions for the license manager you're using: lmadmin lmtools+lmgrd 5. Upgrade client PCs Finally, upgrade your PC with a version of FlexSim appropriate for your new license (learn how licenses work across versions). After installing a new version of FlexSim, you will need to configure it to get a license from 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. Having trouble licensing your client PC? Verify client PC licensing to find out how to tell if your client PC is successfully getting a license from your new license server. 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
The instructions below are for offline/Manual XML licensing. If your server successfully connects to the Internet and to FlexSim's main license server, you can try our simpler online license return instructions. 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 are returning/upgrading by highlighting the Fulfillment ID and pressing Ctrl+C. Generate return request If your license server cannot connect to the Internet, you need to return manually. In the FlexSim ServerActUtil program, select Tools > Manual Activation > Generate Request. Choose the Return option. Paste the Fulfillment ID into the field using Ctrl+V. Browse to select a location and file name for your XML return request. Press the Generate button. Repeat for all licenses you wish to upgrade. This creates a return request XML file for each license you are upgrading. Copy the XML return request files to a location with Internet access. Log in to your FlexSim Account. Use the top page navigation to select your Licenses page, then choose Manual XML in the Licenses submenu: Drag your XML requests onto the dropzone (alternatively you can click the dropzone and browse to a file to upload). Your XML request will be uploaded and processed. If there are any errors, you will get more information about the problem which you can use in contacting your local FlexSim representative for help. If the XML request is successfully processed, you will be prompted to download the response XML file. Download your XML responses and transfer them back to your license server. Process each response XML file by opening flexsimserveractutil.exe and going to Tools > Manual Activation > Process Response. Browse to each response XML file and Process. Your licenses should be successfully 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 licenses can either be standalone or network-based. Each license model has its pros and cons. Learn more about these two different license models. You're here because you've chosen network licensing and you're ready to get started. A license manager by any other name FlexSim is licensed using technology from Revenera's FlexNet. FlexNet is one of the top software licensing technologies and is used by many large software companies, including several others in the engineering software space. FlexNet offers two different license managers: lmtools and lmadmin. You decide which platform will work best for your organization's needs. (Spoiler alert: we like lmtools best). lmtools Hosting your FlexSim licenses with lmtools lmtools is a simple utility for creating and managing the licensing service that will serve your FlexSim licenses to your organization's client PCs. This basic utility isn't installed - it is a simple executable. It has no 3rd party dependencies. For maximum security, compatibility, and simplicity, FlexSim recommends using lmtools. Many organizations that add FlexSim to their toolkit already use lmtools for managing their license hosting services for other software, so using lmtools to manage your FlexSim licenses just makes sense. Even if your FlexSim purchase marks the first time your org has set up a license manager, lmtools is a great way to go, and is our recommended license manager. Visit Hosting your FlexSim licenses with lmtools for a complete reference on configuring your license server using lmtools. lmadmin Hosting your FlexSim licenses with lmadmin lmadmin is FlexNet's newer, shinier license manager. It includes a web-based front end, so all the administration is done from your web browser. It is more complex than lmtools, serving both the licensing service and a management front end, and lmadmin relies on Java, which you will need keep up to date with patches and security updates. FlexSim usually does not recommend lmadmin, mainly because of the more complex configuration needed to host and manage the web front end (including additional firewall considerations, an extra username and password, etc.), its reliance on Java, and the fact that many FlexSim users already host other software licenses using lmtools. Visit Hosting your FlexSim licenses with lmadmin for a complete reference on configuring your license server using lmadmin.
View full article
This article is used to aggregate all other licensing articles under one heading. You can use the navigation panel in Answers' right column to navigate between the various licensing articles in this tree. Sharing your licenses License Models Licensing Procedures Licensing Errors FlexSim Feature Limitations by License Type License server - feature pools - only checkout features for license type FlexSim Version Numbering, including how licensing works for a given version number In addition, the following links contain some general licensing tips. These will likely be added to a future article. A few of the items are outdated, but in general the advice is still good. General licensing tips (Mar 9, 2018) License Q&A (Jul 17, 2017)
View full article
O presente vídeo tem como objetivo demostrar três formas de sincronizar eventos no FlexSim através da espera (Wait) por um período X, ou até algum outro evento (Wait for Event). Sincronização de Tarefas - WAIT no FlexSim (3 das n possibilidades)
View full article
The instructions below are for Internet-connected license servers.   If your server cannot connect to the Internet or to FlexSim's main license server, try our offline/Manual XML license return instructions.   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 are upgrading by highlighting the Fulfillment ID and pressing Ctrl+C.     Attempt online return   When your license server returns a license over the the Internet, flexsimserveractutil.exe will communicate with the following FlexSim servers via HTTP (port 80) and HTTPS (port 443):   www.flexsim.com sw.flexsim.com sw1.flexsim.com license.flexsim.com   In the FlexSim ServerActUtil program, select Connect > Return.     Paste the Fulfillment ID into the field using Ctrl+V, and press the Return button.     After a few seconds and several status messages, 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
O presente tutorial tem como objetivo demonstrar de forma resumida a construção e alteração de um modelo utilizando a biblioteca "Bottling", da qual utiliza o MassFlowConveyor, que é basicamente um conveyor desenvolvido pela equipe da FlexSim USA para a simulação principalmente de linhas de envase. Mass Flow Conveyor no FlexSim 2017 Update 1
View full article
Have you received this licensing error? An error occurred in the activation request Operations error: 7189 Client activation is not allowed to activate: Check the license model to make sure a client can activate. You may encounter this error if you attempt to activate a network license directly within FlexSim software. A network license is intended to be installed on a license server using a FlexNet license manager - either lmtools or lmadmin. Please see our instructions for installing a license server, which also include directions for connecting your client software to the license server to obtain a license.
View full article
One of the most powerful uses of a Fixed Resource Process Flow is to unify a set of machines and operators as a reusable entity. For example, many factories have several production lines. Simulation modelers often wonder what would happen if they could either open or close more production lines. If you were to open a new line, would the increased output be worth the cost? Or if you were to close a line, would the factory still be able to meet demand? These are the kinds of questions modelers often ask, and by using a Fixed Resource Process Flow, you can answer this question. This article demonstrates how to use a Fixed Resource Process Flow (or FR Flow) to coordinate several machines and operators as a single entity. The example model represents a staging area, where product is staged before being loaded on to a truck. However, most of the concepts that are discussed could be used in any Fixed Resource Process Flow. Creating a Collection of Objects When you set out to build a reusable FR Flow, it is usually best to start by making a single instance of the entity you want to replicate. Often, it is convenient to build that entity on a Plane. When you drag an object in to a Plane, it is owned by the Plane, which makes the Plane a natural collection. If you copy and then paste the Plane, the copy will have all the same objects as the original Plane. This makes it very easy to make another instance of your entity: just copy and paste the first. If the Plane is attached to an FR Flow, then the copy will also be attached to the same Flow, and will then behave the exact same way. In the example model, you will find a Plane with a processor, five queues, and two operators. This makes up a single staging area. The Plane itself is attached to the FR Flow, meaning an instance of the FR Flow will run for the Plane. It also means the Plane can be referenced by the value current . (You may find it helpful to set the reset position of any operators, especially if they wander off the plane at any point during the model run.) Using Process Flow Variables In order to drive the logic in your entity using an FR Flow, you will need to be able to reference the objects in each entity, so that they will be easily accessible by tokens. For example, if items are processed on Machine A, Machine B, and Machine C, in a production line, then you would want an easy way to reference those machines in each line. This is where Process Flow Variables come in. In the example model, you will find the following Process Flow Variables: Every staging area has a Packer, a Shipper, and a Palletizer, each referenced using the node command. Remember that current is the instance object, which is the Plane. Once these variables are in place, you could create an FR Flow like the following: If you ran this model with the Plane shown previously (complete with correctly named objects) and this flow with the shown variables, then the Packer operator would travel to the Palletizer. If you then copied the Plane, you would see that all Packers go to their respective Palletizers, as shown below: Using Variables and Resources Together Sometimes, you may want to adjust the number of operators per line, or even the number of operators in a specific role. To do this, you can again you Process Flow Variables. The sample model includes these variables: The sample model also includes these resources; the properties for the Shipper Resource are shown: Because this resource is Local, it is as if each attached object has its own version of this resource. Because it references a 3D operator, it will make copies of that operator when the model resets. The number of copies it creates will depend on the local value of the ShipperCount variable. To edit the value for a particular instance object, click on that object in the 3D view, and edit the value in the quick properties window. Disabling Entities Often, modelers simply want to "turn off" parts of their model. If that part of the model is controlled by a fixed resource flow, then you can easily accomplish this task. In the example model, you will find the following set of activities: The Areas resource is numeric, and it is global. The Limit Areas activity is configured so that any token that can't acquire the resource immediately goes to the Area Disabled sink. If the token that controls the process dies, then the area for that token is effectively disabled. The example model uses a Process Flow Variable to control how many areas can be active at a time: The Areas resource uses this value to control how many shipping areas are actually active. If this number is smaller than the number of attached objects, then some of the areas won't run. Note that the order the objects are attached in matters. The first attached area will be the first to generate a token in the Init Area source, and so will be the first one to acquire the area. Using Process Flow Variables in the Experimenter/Optimizer Currently, only Global and User Accessible variables can be accessed in the Experimenter. In the sample model, the only variable that can readily be used in an experiment is the TotalAreas variable, which dictates how many areas can be active. This allows the Experimenter or Optimizer to disable lines. To make it possible for the Experimenter or Optimizer to vary the number of Shippers or Packers per Area, the ShipperCount and PackerCount could be changed to Global Variables. You could put labels on the instance object (the Plane) that are read by the variable, like so: Then the experimenter could set the label value on the Plane object that is attached to the FR Flow. The Experimenter would set the label, which would affect the value of the Variable, which would affect how many copies of the Packer were created by the Packer resource. You could do the same for the ShipperCount variable. Sample Model The attached model (usingfixedresources-6.fsm) provides a working model that can demonstrate the principles in this article. It comes with only one Plane object attached to the FR Flow. Here are some things to try with the model: Reset and run the model to see how it behaves with a single area, where that single area has only one Packer and one Shipper. Create a copy (use copy/paste) of the Plane. Reset and run the model again to see how a second area is automatically driven by the same flow. You may need to adjust the TotalAreas variable if the second doesn't run. Adjust the number of Packers and Shippers (using the Process Flow Variables) on each Plane. Reset and run the model to see how adding more packers and shippers affects it. Create many copies of the first Plane (it is best to set the PackerCount and ShipperCount to 1 before copying). Reset and run the model, to observe the effect. Add or remove some staging areas (queues) to an Area. This model handles those changes as well (in the Put Stations On List part of the flow). Try to set up an experiment or optimization, that varies how many lines are active, and how many Packers and Shippers are in each. In general, play around with the sample model, or try this technique on your own. Other Applications This technique can be used to create production/packaging lines, complex machines, or any conglomerate of Fixed Resources and Task Executers. If you follow the methods outlined in this article, you will be able to create additional instances of complicated custom objects with ease. You will also be able to configure your model for use with the experimenter or optimizer.
View full article
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 dev@flexsim.com 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
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
[ 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 dev@flexsim.com 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
Neste exemplo passo a passo iremos demonstrar como fazer uma otimização em seu modelo no FlexSim, utilizando o Optimizer, ferramenta OptQuest da OptTek, a qual é um add-in opcional no FlexSim. Com esta ferramenta você incorpora Metaheurísticas e orienta seu algoritmo para Otimizar, buscar as melhores soluções. Essa abordagem utiliza soluções funcionaram bem e as recombina em novas e melhores soluções. Vamos lá! Assista o vídeo em nosso canal do YouTube e acompanhe a montagem do modelo passo a passo abaixo: Modelo de Otimização Passo a Passo Para este tutorial, vamos examinar uma situação muito simples. Um único operador carrega o item de uma fonte para um processador. Depois que o item é processado o operador o carrega para um segundo processador que leva mais tempo para processar do que o primeiro. Após o segundo processador termina de processar o item, o operador leva-o para a saída. Agora vamos supor que queremos aumentar a Produção (que também está vinculado à receita) deste sistema, ajustando a posição dos processadores. Se cada processador pudesse ser movido até três metros à direita ou à esquerda, onde cada um deveria ser colocado? Seria muito difícil intuitivamente saber como colocar ambos os processadores para maximizar a produção. A fim de resolver este problema com precisão, vamos usar o Otimizador. Agora, obviamente este é um cenário drasticamente simplificado, mas muitas vezes na vida real você tem situações em que você quer ver como vários layouts afetam a Produção geral. Esta é uma implementação muito simplista de tal experiência. Passo 1: Construindo o Modelo Modelo Crie um novo modelo usando Segundos, Metros e Litros para unidades. Objetos Crie um Source, dois Processors, um Sink, um Dispatcher, e um Operator. Coloque esses objetos como mostrado abaixo e faça as conecções. Posições Defina a localização dos objetos de acordo com a tabela abaixo: Dispatcher e Operator não precisam estar em um lugar específico, mas não devem estar alinhados com o resto dos objetos. Lógica Defina a seguinte lógica: Selecione no Source1, Processor2, e Processor3 para usar transporte (Use Transport disponível no menu de propriedades rápidas (Quick Properties). Selecione o tempo de processo para o Processor2: normal(10, 2) (também disponível no disponível no menu Quick Properties). Selecione o tempo de processo para o Processor3: normal(12, 3). Defina a posicão inicial do Operator na sua posição atual. Passo 2: Definindo o Experimento O restante deste tutorial trata do uso do Experimenter, encontrado no menu Statistics. O Otimizador usa a maioria das funcionalidades já presentes no experimentador. Criando Variáveis Abra a janela Experimenter. Posicione a janela para que você possa ver os processadores no modelo, bem como a janela. Em seguida, para Processor1 e, em seguida, Processor2, siga estas etapas: Clique no processador na vista 3D. Clique no botão Referência de Posição nas Propriedades Rápidas e defina a referência de posição para Direct Spatials. Clique na seta para baixo ao lado do botão +. Selecione Sample no menu variables. Isso coloca o cursor no modo de Amostra. Selecione uma amostra do campo de posição X no menu Propriedades Rápidas clicando nele. Isso adiciona uma nova variável no Experimenter. Defina o valor para o Cenário 1 da nova variável clicando duas vezes na célula e digitando o novo valor. Defina o nome da variável clicando duas vezes no nome atual. Defina o nome sendo Proc1X para o Processor1 e Proc2X para o Processor2. Criando Performances de Medida Selecione a aba Performance Measures na janela do Experimenter, então: Clique no botão + para adicionar uma nova medida de desempenho. Nomeie a nova medida de desempenho Produção. Clique no botão e selecione a primeira opção Statistic by individual object. Selecione o Sink para o objeto e Input para a estatística. Para selecionar o objeto simplesmente digite "/Sink" (sem aspas) no campo do objeto ou faça o seguinte: Clique no botão +. Selecione o Sink através da lista de objetos do modelo. Após clique no botão Select quando você terminar. Otimização Além de utilizar o Experimenter para definir explicitamente cenários, você pode usar o Otimizador. O Optimizer criará automaticamente cenários e, em seguida, testará esses cenários, tentando encontrar um cenário que melhor atenda a um objetivo. Projetando a Otimização Vá para a guia Design do Optimizador na janela do Experimenter. Você verá que as duas variáveis criadas anteriormente estarão presentes; Isso ocorre porque o experimentador e o otimizador compartilham as mesmas variáveis. No entanto, o otimizador precisa de informações adicionais sobre essas variáveis. Especificamente, você deve especificar: Type - O tipo de uma variável determina quais tipos de valores são possíveis para uma determinada variável. Variáveis contínuas podem ter qualquer valor entre o limite superior e inferior. Lower Bound - O limite inferior especifica o menor valor possível que o otimizador pode definir para a variável. Upper Bound - O limite superior especifica o valor mais alto possível que o otimizador pode definir para a variável. Step - Para Variáveis Discretas e Design, o passo especifica a distância entre valores possíveis, começando pelo limite inferior. Group - Para as variáveis de permutação, o grupo especifica qual conjunto de variáveis de permutação essa variável particular pertence. Para esta otimização, queremos permitir que os processadores se movam três metros para cada lado. Como não estamos limitados a posições específicas dentro desse intervalo, ambas as variáveis de posição são Contínuas. No entanto, precisamos definir os limites inferior e superior de cada variável. Para editar valores na tabela, clique duas vezes na célula de interesse e insira o novo valor. Insira os valores mostrados abaixo: O passo final do projeto é definir a função objetivo. A função objetivo está presente, mas em branco. Edite seu nome para Faturamento. Em seguida, clique no campo da função de seta. Um botão aparecerá no lado direito. Clique neste botão para exibir uma lista de todas as variáveis e medidas de desempenho. A função objetivo é um valor derivado de qualquer um ou de todos esses valores. Selecionar Produção, Isso irá adicionar essa medida de desempenho para a função objetivo, e colocar o cursor para a direita e para o final. Adicione o texto * 500 para que a receita seja igual o [Produção] * 500. Deixe a direção em Maximize, porque queremos maximizar o Faturamento. Como temos apenas um objetivo, o modo de pesquisa pode permanecer em Single. Passo 3: Executando a Otimização Vá para a aba Optimizer Run na janela do Experimenter. Então: Defina Run Time sendo 10000. Este é o tempo que o otimizador executará cada configuração do modelo (potenciais soluções) para a avaliação. Defina o Wall Time sendo 0. Normalmente, isso significa quanto tempo o otimizador pode ser executado em tempo real. O valor 0 significa que não tem limite de tempo. Defina Max Solutions como 50. Isso significa que o otimizador tentará não mais de 50 soluções diferentes para encontrar a solução ideal. Clique no botão Optimize. A janela do Experimenter alternará automaticamente para a guia Resultados do Otimizador, Optimizer Results. O otimizador então começará a executar a seguinte sequência: Determinar valores para Proc1X e Proc2X. Executar um modelo com esses valores para 10000 segundos. Avaliar as variáveis e medidas de desempenho. Calcula a função objetivo. Classifique esta solução. Usa as informações desta solução para criar uma nova solução - novos valores para Proc1X e Proc2X. Repete novamente a partir do passo 2. O otimizador pode avaliar várias soluções ao mesmo tempo. À medida que a otimização progride, o gráfico de Resultados do Otimizador é atualizado e mostra o progresso do otimizador. Uma vez que o otimizador avalie 50 soluções, uma mensagem aparecerá indicando por que o otimizador parou. Neste caso, ele dirá que o otimizador atingiu o número máximo de soluções. Se algo der errado, a mensagem conterá informações sobre o erro. Passo 4: Analizando os Resultados Assim que a otimização for concluída, o gráfico de resultados do otimizador será semelhante a este: O Eixo Y é chamado de "Single Objective". Para este exemplo, é sinônimo de Faturamento. As melhores soluções são destacadas. Os círculos com uma borda mais clara ao seu redor representam melhores soluções. Para um único objetivo, as 10 melhores soluções são marcadas desta forma. Como a otimização progrediu, o otimizador ficou melhor e melhor na criação de boas soluções, de modo que as últimas 15 soluções foram todas muito boas. Isso é chamado de convergência, e é uma maneira de saber se uma otimização é concluída; Se o valor objetivo não tiver melhorado por um tempo, pode ser que ele não melhore com mais pesquisas, e a melhor solução atual deve ser usada. Respondendo à Pergunta Inicial O objetivo dessa otimização foi descobrir onde posicionar os dois processadores. Agora podemos encontrar a resposta a esta pergunta com muita facilidade. Passe o mouse sobre a melhor solução (o maior círculo azul) no gráfico; Uma pequena janela aparecerá. Clique nesta solução para selecioná-la. Agora, no painel Opções de gráfico, altere o Eixo Y para Proc1X e o Eixo X para Proc2X. A melhor solução (e todas as outras melhores soluções) é encontrada onde Proc1X é maior, e onde Proc2X é menor. Lembre-se que todas as 10 melhores soluções produziram os mesmos resultados; Neste caso, ter os dois processadores próximos um do outro é a melhor configuração para este modelo. Configurando o Modelo para a Melhor Solução Pode ser muito útil configurar o modelo para visualizar a melhor solução. Para fazer isso, clique no botão Export Scenarios. Este botão leva todas as soluções selecionadas e cria cenários para elas. Volte para a guia Scenarios na janela Experimenter para ver a nova solução. Agora, a partir do menu suspenso " Choose default reset scenario" na extrema direita, selecione o novo cenário. Em seguida, resete o modelo para aplicar esses valores ao modelo 3D. Segue o modelo referente ao artigo: modelo-optimizer.fsm Inscreva-se e acompanhe nosso canal de videos no YouTube FlexSim Brasil
View full article
FloWorks 22.1.0 is now available (12 May 2022). This version of FloWorks is intended for use with FlexSim 2022 Update 1. If you are using FloWorks with FlexSim 2022 (LTS) please use FloWorks version 22.0.1. 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 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 FloWorks 22.1.0 All bug fixes in FloWorks 22.0.1 below. FloWorks 22.0.1 Added support for Object Property Tables Bug fix: incorrect MassFlowConveyor content Bug fix: LoadingPoint issue with not-released positions (and status) Bug fix: Object created at incorrect scale when not using meters The documentation at docs.flexsim.com is in progress of being updated with the new release and will become available shortly. Until such time you can use the offline documentation included in the FloWorks installer and available through the Help menu in FlexSim.
View full article
Top Contributors