Jump to content

gtwirth

Members
  • Posts

    161
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by gtwirth

  1. If you want to connect use MS Access, here is the information that you need. (NOTE: Writing to MS Access is not recommended....It is very slow. We suggest using MySQL instead. Instruction on how to setup MySQL are provided in the DBReadWrite simbit.) The connect string should be: Provider=Microsoft.ACE.OLEDB.12.0;data source=C:\\Users\\dbName.mdb The provider should be: OleDb Data Provider If you are getting an error stating"Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine", see the following URLs... Running connectivity to MS Access using 64 bit apps is a well known issue. If this is an issue on your side, either follow the steps in the following URL or run SImio in 32 bit mode. http://social.msdn.microsoft.com/Forums/en-US/1d5c04c7-157f-4955-a14b-41d912d50a64/how-to-fix-error-the-microsoftaceoledb120-provider-is-not-registered-on-the-local-machine http://www.microsoft.com/en-us/download/details.aspx?id=13255
  2. I updated the library in the above post. This version is "CraneLibraryV4a.zip". In this version, I fixed both issues. 1) There needs to be a Math.EPSILON delay on first entity arrival to provide time for crane initialize. Update your source and add a "Math.EPSILON" delay to the TimeOffset property. This will provide enough time for the crane to initialize. I added a warning message to the library if there is a reservation request for the crane and the crane is not done initializing. 2) The library was assuming that a Transportation Node was defined on the bay. In your bay, the Transportation Node was NULL. I updated the library so the Transportation Node property can be NULL.
  3. Attached is an updated crane library. This version includes the following changes. 1) Crane Specific Transfer Bridge List.....Each crane can use a different bridge list. This gives added flexibility and helps avoid blocks. (e.g. Crane A within a bay can choose Bridge A and Bridge B while Crane B can choose Bridge B and Bridge C). 2) Animation for the seizing of the Cross Bay Transfer Aisle zones....Now when a crane seizes the cross bay transportation bay zone, the zone is display as a dark grey. 3) Bay is no longer visible. This allows for status objects, status labels and symbols that are placed on the floor to be visible.
  4. There is not a way to add custom selection goals. The easier way to provide the node selection in .NET code is using a custom step. I have added a custom step called 'CustomRouteStep" in the attached VS project. The step is real simple. It has an expression and a state. Based on the value of the expression, the state will be populated with the value. Then, the state can be used to select which node on a node list to use. The entity will be routed to the selected node. In this example, a state value = 1 will route the entity to Server1 and a state value = 2 will route the entity to Server2. In your implementation, you would need to build the logic to determine what node to route the entity. Then, you would return the correct node in a state. The state would then be used to find the right node to select in Simio. See attached model and VS code. ScheduleAndFireEvents.zip ScheduleFireEventsCustomRoute.spfx
  5. What license of Simio do you have? You need at least a Student license to use the custom DLLs. Make sure the custom step DLL is placed into Documents\SimioUserExtensions Make sure the custom selection rule DLL is placed into C:\Program Files (x86)\Simio\UserExtensions\SimioSelectionRules. The selection rules should show up on the server as a Dynamic Selection Rule.
  6. I guess I cannot post c# project files directly to the forum...I have zipped up the entire solution and posted the zipped up solution. You should find the zip file in the above post.
  7. When you install Simio, we provide .NET code that for dynamic selection rules.. This code is located at: C:\Users\Public\Documents\Simio\Examples\UserExtensions\SimioSelectionRules This the same code the implements the Campaign Cycle, Campaign Down, Campaign Up, Largest Value First and Smallest Value First dynamic selection rules in Simio. You can modify this code to create your own rules.. These rules can include additional properties that can be used when evaluating. Attached is the same SimioSelectionRules project with 2 additional selection rules (Largest Value First Time Fence and Smallest Value First Time Fence). These additional rules include a Time Fence...In this example, we use the Time Fence to only select entities are are within "x" days of the entity with the smallest due date in the queue. NOTE: If you choose to run the solution / project, you should load Visual Studio as "Run As Administrator". You will need this permission to compile the DLL into the C:\Program Files (x86)\Simio\UserExtensions\SimioSelectionRules\ folder. This will provide an example on how Simio integrates with .NET using a custom step. SimioSelectionRules.zip
  8. I suggest using Node Lists column in a table (see attached example) instead of using a sequence table, I setup a routing table with steps (representing sequences). The route table is a child of the entity table. The sources in the model are setup to reference row 1 of the entity table in Source1 and row2 of the entity table in Source2. Each step in the route table is associated to a node list....The node lists represent the "OR" condition. If the node list has Input@Server1 and Input@Server2, the transfer node will use the list to either sent it to Input@Server1 or Input@Server2 based on the selection goal. In the attached model, the selection goal "Smallest Value" and the selection expression is "Candidate.Node.AssociatedStationOverload"....This represents the sending the entity to the server least available input buffer capacity. I think this handles the scenario you explained. It shows how to build custom steps and firing events using .NET code. If you wanted to communicate with OPC, you would use a custom step to read the OPC server. If you want the OPC server to interact with Simio. you would call a custom event. It is possible to setup the same of integration with an ERP system; although it is not recommended. For ERP integration, I would recommend using a data table with data binding. Since the data in an ERP system is much more static, it can be loaded at the beginning on the model run. Then the data can be referenced in the data table during the simulation run. RouteByNodeListsModel.spfx
  9. I have updated this add-in to support the export and import of elements. If you need to update the properties on the elements in your model, first export them. Then update the text file and the import them again. The element properties will be updated. See attached code and DLL... Updated 2014-01-24....See later posts for code and DLL.
  10. Here is a simple utility that will export, import and delete artifacts of your model. Here is a screen shot of the available capabilities. The code and DLL have can be found on SImio GitHub. Please find at this link: https://github.com/SimioLLC/ExportImportModelAddIn You will also find install instructions in the ReadMe. Here are the changes that have happend over time: Updated 2023-01-31....Added the ability to select multiple tables for export and delete table data functions. Updated 2022-10-05....Updated the exports to sort the data first my name and then export. This ensures that the data exported is in a consistent order. Updated 2021-12-07....Added the ability to select a table and then remove the data from the selected table. If a table name is not selected, all the tables in the model will have their data removed. Updated 2021-09-20....Added Update Model Properties (CSV). With this new method, you can import model properties into your model. If the file contains 3 fields...First is name, then type and last is default value. The only valid types are real, datetime, Boolean and everything else is string. If the model property already exists, it will only update the default value on the property. Note: The example assumes the field separator is a caret '^'. To change this, you need to change the delimiter field. Updated 2021-09-08....Updated the sequence of the exports, deletes and imports happen. When OK is pressed, first the exports are run, then deletes and finally the imports. With this change, I am able to Export Table to DB, Delete Table Data and Import Table from DB from in a single run. I typically do this when re-mapping auto creates elements. Since the table data need to be removed and recreated before mapping of the elements are correctly mapped. Updated 2021-09-06....Upgraded to .NET 4.7.2. Also, fixed the windows form so it displays correctly. When opened, the form should no longer need to be expanded to see all the options. Updated 2018-11-08....Added Export To CSV, Export To DB and Import From DB. Export To DB will create a table in the SQL Server database with the same table name as the table in Simio. The data columns will be of type nvarchar(max) and the default value will be the same as the default value in the Simio table. It is assumed that Simio desktop will still do the data validation, not the database. This feature is used to save the Simio data into a database so it is backed up and can be shared across users. Each time the Export To DB, if the table already exists, it is dropped, and a new table is created. This ensures that the data schemas match between the Simio model and the SQL Server database. Updated 2017-12-05....Fixed index issue with links import. Updated 2017-09-25....Fixed the import of lists. Updated 2017-07-14....Added the ability to auto generate and auto read files. Previously, the files needed to be created prior to running the add-in. Now, they will create by the export. Also, the import will retrieve the same file generated by the export. These options are available when the "Auto Generate and Read Files" option is selected. Updated 2017-07-13....Added the ability to multi-select options. Now, more than one option can be initiated when the OK button is selected. This will streamline the process of exporting, deleting and importing. This tool is very helpful for testing out your model with various configurations to ensure that runs properly under various object and/or data configuration. Updated 2017-07-11....Now supports exporting and importing of model properties, exporting and importing of table properties and delete table data. Updated 2017-06-22....Now supports exporting and importing of data tables using XML. This is simple way to export all the table data from one model and import the same data into a new model (assuming that the same tables schema exists in the new model). Updated 2017-01-27....Now supports exporting of object types using XML. This can be used with the new Configure Scheduling Resources in Simio 9.150 capabilities to define your own object type properties based on an XML document. Updated 2017-01-23....Now supports exporting and importing objects using XML. When using XML, property units are also exported and imported back in. Updated 2016-10-24....Updated files...Added support for repeating properties.
  11. For those Enterprise users, you can use the spreadsheet import to build an RPS model. Just copy the attached files into the C:\Users\Public\Documents\Simio\Examples folder. Then open the RPsixampleForImportBlank.spfx. Use the spreadsheet import to load the objects and links from the RPsixampleImportWithTableData.xlsx (Updated spreadsheet on 2014-07-23 to fix 'LogResourceUsage' column name). The table data will be imported when you run the model since the data binding on all the tables is set to automatic.... 2016-01-27...Removed attachments....With Simio 8, the table structures have changed. We suggest taking a look at the following Simio Scheduling documentation and examples that are provide when you install Simio. C:\Program Files (x86)\Simio\PlanningAndSchedulingWithSimio.pdf C:\Users\Public\Documents\Simio\Examples\SchedulingDiscretePartProduction.spfx C:\Users\Public\Documents\Simio\Examples\SchedulingBatchBeverageProduction.spfx C:\Users\Public\Documents\Simio\Examples\SchedulingBicycleAssembly.spfx
  12. Here are 3 updates to the spreadsheet import: 1) There is a new sheet called "Verticies1" to the attached workbook. Using this sheet, you can add multiple vertices to a link. 2) If a link already exists in a model, the import will now deletes and re-adds the link using the new information from the spreadsheet. Previously, links were not updated, only added. 3) If you set a coordinate in the "Objects1" sheet to blank (or not a number), the value will be 0 if the object is being added. If the object is being updated, the coordinates for the object will be ignored and not updated on the object. Everything you should need is attach to this post. UPDATED: 2012-06-11.....Fix was made so a top level Repeating Group Property can be updated through the spreadsheet. There is not a mechanism to update the children(except for AssignmentsOnEntering and SecondaryResources repeating groups used by the RPsixample model...See post below). 2016-01-27...Remove attachments...Use attachments in Alan Sagan's post. 2016-10-24....See first post for latest files.
  13. Here are some quick notes on the spreadsheet import add-in: - The entire model can be imported through the spreadsheet. - There are 2 sheets; one for objects and one for links. - The first 12 columns on the objects sheet and first 9 columns on the links sheet are fixed. Don't add / change column name / delete the columns. - Starting with PropertyA column on both sheets, you can define add / change column name/ delete these columns. The name defined on these columns is associated to the property name on the object; if the property name exists on the object. - The add-in is also setup to perform updates as well. If an object already exists in the model, the add-in will just update the existing object; not add a new one.
  14. If you happened to uninstall Simio without returning your roamed license, you need to in reinstall the same version in order to return the roamed license. If you just uninstalled Simio 4.79 or higher, you have another option. In the attached zip file (ReturnRoam.zip), there are 2 executables. Unzip these executable into the C:\ProgramData\Simio folder. Then, run the "ReturnROAM.exe". When prompted, select the license (simio-d = Design, simio-e = Team, simio=n = Enterprise) and the year.month that the sprint was released (e.g. Sprint 87 was released in 2013.04). Then press "Return ROAM". The executable will return the roam license. If successful, the following dialog will be displayed. If it is successful with returning the roam license, it will remove the roamed license parameters from the Simio.Settings file. ReturnROAM.zip
  15. We just noticed this. We will fix this in a future build. As a work around, open the Database Binding Screen. Once opened, specify "SQL Server" as the database type and then select the "Custom connection string" option. Once this option is checked, select "ODBC". Now you should be able to enter a custom connect string to your MySql database.
  16. Good point...We will make an adjustment for the Excel Write and DB Write steps to handle expressions. This way it work work the same way as the Write (text) step.
  17. NOTE....Code has been removed from this post. Please use the Excel Read and Excel Write steps that are provided when Simio is installed. There is a ExcelReadWrite simbit. The code is provided in C:\Users\Public\Documents\Simio\Examples\UserExtensions\ExcelReadWrite ExcelReadWrite.zip
  18. NOTE....Code has been removed from this post. Please use the DB Read and DB Write steps that are provided when Simio is installed. There is a DBReadWrite simbit. The code is provided in C:\Users\Public\Documents\Simio\Examples\UserExtensions\DbReadWrite
  19. Many times, you are not sure if the port is open between the Simio GUI (client) and the Simio Network License Server. The program in the attached zip will allow you to test whether the port is open. Just unzip the CheckPort.exe from the attached zip file. Then run the program and enter the host and port. If you get a Socket Exception, you cannot connect to the server / port. If you get a message saying "Socket connect to...", the port is open. CheckPort.zip
  20. We have expanded our API with Simio Version 5....Now we have the ability to add links to networks. This should drastically reduce the time needed to create a network. We also have the ability to modify the size of object through the API. The new files for version 5 are attached to this post. NOTE: If you are downloading just the assembly, there are couple of extra steps: 1) Extract "ImportObjectsAndLinksFromSpreadsheetAddIn.dll" from the "ImportObjectsAndLinksFromSpreadsheetDLL_V5.zip" into a temp folder (e.g. c:\temp). 2) Right-click the assembly and select properties. Then choose to "unblock" button and press apply. (only needed for Windows 7 and later). 3) Copy the assembly into "C:\Users\\Documents\SimioUserExtensions" 2016-01-27...Remove attachments...Use attachments in Alan Sagan's post.
  21. Here are some quick instructions: 1) You will need to have Microsoft Excel on your computer. 2) Download the "ImportsObjectsAndLinks.xlsx" and populate it with your model. 3) Extract "ImportObjectsAndLinksFromSpreadsheetAddIn.dll" from the "ImportObjectsAndLinksFromSpreadsheetAddInDLL_V5.zip" into a temp folder (e.g. c:\temp). 4) Right-click the assembly and select properties. Then choose to "unblock" button and press apply. (only needed for Windows 7 and later). 5) Copy "ImportObjectsAndLinksFromSpreadsheetAddIn.dll" into "C:\Users\\Documents\SimioUserExtensions". You might need to add the SimioUserExtensions folder under MyDocuments (C:\Users\\Documents) if it does not already exist. 6) Open Simio. Create a new Model. 7) From the Project Home...Select Add-In button, select "Load Objects and Links from an external spreadsheet" Choose the "ImportObjectsAndLinks.xlsx".
  22. We have added a Simio add-in that will import a model (objects and links) from a spreadsheet. The most DLL, spreadsheet and code are provided in a later post.. NOTE: You do not need the code to run the add-in. All you need is the ImportObjectsAndLinksFromSpreadsheetAddInDLL_V5.zip and ImportObjectsAndLinks_v5.xlsx. The code is also provided in case you wish to make changes to the add-in. You can run the addin just using the DLL and spreadsheet. All you need to unzip the DLL into C:\Users\\Documents\SimioUserExtensions. You might need to add the SimioUserExtensions under MyDocuments (C:\Users\\Documents) in case it does not already exist. Once you run the add-in in Simio, use the attached spreadsheet. It should create a Source, Server, Sink with an Entity and a Vehicle. If you want to use the code, you will need to update the project properties..under build. The output path needs to be C:\Users\\Documents\SimioUserExtensions...See attached screen shot. Give it a try. Let us know if you have any questions. Updated 2106-10-24.....Added support for repeating properties and wrapped import using BulkUpdate method to speed up import . ImportObjectsAndLinksFromSpreadsheetAddIn_DLL.zip ImportObjectsAndLinksFromSpreadsheet_Code.zip ImportObjectsLinksVertices.xlsx
×
×
  • Create New...