ReadMe! BuildSim 2.2 Thanks for checking out this latest incarnation of BuildSim. This is our released version for Windows XP/NT/2000/98 Our goal is to provide a cross-platform solution for Simulation and Industrial Process Control development. TRY BEFORE YOU BUY Any feedback will be helpful. If there are features that are hosed - let us know. If there are features you'd like to see, let us know.You can use the application as is for free. It has some limits in the Free mode - we call "Bronze". You can upgrade to Silver or Gold. Each upgrade level gets you more capabilities, more blocks. Pricing: Bronze - FREE! But it does have some limits. Silver - $50.00 USD Gold - $250.00 USD How To Upgrade: http://www.tritera.com/products/web_buildsim/BSHelp/bspages/bs_upgrade_process.html 1. You can buy a license to upgrade BuildSim with a CreditCard: Go to http://www.tritera.com/products/web_buildsim/buynow.shtml or Send check or money order (DO NOT SEND CASH!) drawn on a US Bank to the address below. Tritera Incorporated P.O. Box 83338 San Diego, CA 92138-3338 2. email your LicenseRequest to buildsim@tritera.com and we will send back a License which will the enable the new features and more capabilities. CODE GENERATION NOTE There are 2 "libraries" to support using the automatic code generator output. There is a library for each of the following platforms: 1. Win32 2. Java The current version of the code generator produces either Java or C++ code. Thanx for your interest and support! NEWEST IMPROVEMENTS 01. BuildSim is now Threaded. Simulation speed has been dramatically improved. 02. The Click-Shift to Connect process has been improved by requiring you to hold the shift key down throughout the connection process. 03. Modified the PlotWindow to include direct selection of the SimHistory block as the source of plotting data. 04. Help HTML files have been updated. 05. The PlotCursor now refreshes and correctly tracks selected plots. 06. Projects can now be exported and imported as XML. KNOWN PROBLEMS - ON THE "TO BE FIXED" LIST 01. EquationBlocks and SystemBlocks in a Project DON'T AutoCode Correctly (C++ and Java). 02. Multiple ProjectWindow can be opened for the same SystemBlock - should only allow one. 03. Need to show resizor for PlotLabels and PlotTitles. PLANNED FUTURE ENHANCEMENTS ( Unprioritized ) 01. Overplotting 02. InternetBlocks - send/get data over IP. 03. User Definable Block Palettes 04. Default Project Blocks 05. Add C# to Code Generation. 06. Improve Code Generator to handle SystemBlocks and EquationBlocks. 07. Add Some Basic Frequency Design Tools. 08. Export Plots and Projects as JPEGs 09. Add Basic Zoom Capability to Plot Window. 10. Add ability to replay recorded data in a simulation as a data source. 11. DatabaseBlock - be able to submit/retrieve data to/from databases like MySQL and SQLServer. BUG FIXES in Build 2005.04.01 01. PlotBlocks now properly draw with correct scale for the given number of samples and the min/max values. 02. Marquee selects and shift-mouse-drag for setting up connections now choose a color that contrasts better with the background color. 03. Grouping blocks to create system blocks does a better job of kepping the connections to exterior blocks. BUG FIXES in BUILD 2004.08.28 01. Plot Cursor tracks plots correctly. 02. License files, keys were not being properly encoded - bug in Base64 encoding/decoding. BUG FIXES in BUILD 2004.04.25 01. PlotCursor no longer disappears. 02. Canceling out of ChooseColor no longers crashes the application. BUG FIXES in BUILD 2002.12.22 1. Upgrade help system to HTML based system. Updated help to reflect current version. 2. Fixed Block Palette Toggling bug - now the palettes stay in sync. 3. Fixed PlotBlock Ghost drawing bug - the bug draws a ghost plot image on the simulation control window. 4. Updated how windows are created so that XP themes are supported in a better way - custom title bar heights and other theme related customization should now be handled much better. 5. SimHistory and DataLog flags on system type BuildBlock now appear correctly. BUG FIXES in BUILD 2002.05.05 1. Fixed Equation Block Edit/Redraw BUG. 2. Fixed SumNode Block Image Disappear BUG. 3. Color Printing Now Implemented. 4. Fixed Can't Edit URaisedBlock BUG. 5. Fixed Copy to clipboard bug for Project Window and Plot Window - so now bitmaps can be copied to clipboard for pasting into 3rd party word processing/graphics/presentation applications. BUG FIXES in BUILD 2002.04.12 1. PlotBlocks and EquationBlocks now print correctly. 2. Fixed the Sinusoidal Signal Block Edit Bug - It can now be edited. 3. Fixed the PlotBlock Load Error Bug. PlotBlocks now load from a project file correctly. 4. Fixed EquationBlock Load Error Bug. EquationBlocks now load from a project file correctly. 5. Basic printing now implemented in Project Windows and Plot Windows. 6. BuildBlock Connections can no longer be dragged (not something we want to allow just yet). BUG FIXES IN BUILD 2002.03.23 1. EquationBlocks now parse correctly. OutputNodes can be referred in a set of equations in an EquationBlock. 2. DataLog Block simplified and now correctly logs input data. There is an option to write a XML style header at the top of the log file. 3. Updated UserCodeBlock so that it now works on Win32 platform. This required a major overhaul of the simulation code for a user code block. 4. Created sample code for a C based User Code Block - really simple example. 5. Changed the use of CNodes to actually carry the output data from a BuildBlock so that multiple nodes on a Block can be used correctly. The previous implementation stored output data in an attribute of the BuildBlock. The problem was that a sink BuildBlock had no easy way to determine the source of its input if the source block had multiple out nodes. This problem was clearly identified when working the UCB development - where multiple output nodes would be needed. This affected all the BuildBlocks. OOP really made this change simple - in two areas, how a sink block gets its input data from a source block(s), and how a BuildBlock stores the results of its simulation calculations. Getting data is now done through the CNodes in its input nodes attribute(a list). Each CNode captures the connection information - like which CNode is its source of data. Likewise, output results from a BuildBlock now go into a CNode in its output nodes attribute - also a list. So now for multi-output blocks the whole issue of which node to get data from is taken care of almost automatically. 6. Changed PlotBlock to include scatter plotting with line plotting. 7. Fixed UserCodeBlock to now rely on the user's DLL to specify Input and Output arity. 8. Fixed UserCodeBlock to now display the file path to the DLL in the EditBlock window. 9. Fixed userCodeBlock to verify that the minimum required set of functions are in the user's DLL. EditBlock window displays RED/GREEN light to show whether the minimum functions are in the DLL. 10. Added a ResizeBorder indicator to the PlotBlock while its being resized. 11. Fixed UserCodeBlock so that it acts like a fixed arity block - that is to say, once the arity is set on the block, the IO nodes are not deleted if a source block is diconnected. 12. Fixed problem with PlotWindow being updated after a simulation completes. 13. Verified that PlotBlock properly loads from a project file. 14. Made a set of changes to support opening Project Documents by either double-clicking or drag/drop. This change relies on the use of Windows messages and SharedMemory. TS SharedMemory section was added for this purpose. 15. Plot Grids Disappear BUG - /resizeThisPlot and /installPlot do things different. The /resizePlot method does it right in that the grid lines are placed in the plotBackground view. The /installPlot method puts the grid lines in the plotCanvas. The FIX is to correct where the grid lines are placed. NOTE - I should revisit this code and code factor this whole thing so that its done in one common method. 16. Change FONT Selection in PlotPrefs to use Win FONT Selection Window. Much Easier BTW! 17. BUG - No marquee in project window if Background is White. Problem - The marquee color is set to white. In Project Canvas/Do Operation the marquee case, changed the local Do Marqee to check the background color before setting which color to use for the marquee rectangle. 18. Changed BuildSim/initAppPrefFile to use the Application Executable File Spec/Path in defining where the Preference File should be. Works much better now. 19. Added a method at startup to check if the CTRL Key is down, if so, it deletes the Preference file and creates a new one. This is a recovery step for those pesky troublesome preference files. 20. Changed/Consolidated the Label Font Preferences - The Color is Set Separately from the default Font Selection Window Because the FONT Colors are limited in the system FONT selector. Added a Font Name Display String. Its lame but its better than nothing and the realestate is limited. 21. BUG - Display of Plot Statistics - Negative numbers don't display. Problem was with Universal formatEng. It did not allow for enough space for formatting negative numbers. FIXED.