Griffin AI Toolkit Release Notes
- Add diagnostic window to Modbus Slave Hub link type
- Delete application runtime folder when deleting application
- Add an option to File Input Link to wait for new rows to be added to the CSV file
- Add an option to ParametericTest to keep repeating the tests.
- Added weather component
- When overwriting model files, use a temporary file to avoid race condition where the optimizer can load the model before the model file is completely saved by the retrained.
- Fix a bug where long model name strings were logged during retraining
- OPT will not fail if free inputs are bad.
- Fix a bug where auto start applications were not started after a reboot sometimes because the Griffin DB Service was started after Griffin Service Manager
- Fix a bug where genetic trainer result stored with older version failed to open in the newer version
- Added an option to OPT to check the model test error before optimizing. If the test error is greater than a threshold, the OPT will fail. For submodels, if the test error is greater than a threshold, the submodel is not used and the default model is used.
- Add an option to override reuse weights when model test error is greater than a given threshold.
- Saving model is done to a temporary file and then renamed to the correct filename. This is done to avoid any race condition where the optimizer can open the model before it is fully saved by the retrainer.
- Add an option to drop old submodels if there are not enough data in the new training file (< min patterns per cluster)
- Fix an issue where downgrading to older 16.x breaks the older 16.x version. The workaround for version 2.0.2 and older is to delete the pm.ser file under c:\griffin\runtime
- Fix a bug where FileOut will close even if it is misconfigured
- Copy and paste will now work on Genetic Trainer Input min/max configuration dialog.
- Fix a bug where old models saved with version 14.x cannot be opened
- Sign all .exe within the installer to avoid any anti-virus flagging
- Fix a bug where version number was not displayed
- Initial version with license manager
- Fix a bug in the Matrix report view where all rows had the same header
- Fix a bug in the TableView editor view when tables are rearranaged.
- Fix a bug in right mouse click where menu selection sometimes doesn’t work
- Fixed a bug in OPT component editor where it was not showing editor for a new instance
- Made the model IO dialog non-modal (can leave it open and work with other windows)
- Fixed a bug in NeuralTrainer component where it was not accepting any model selection
- Fixed a bug in Griffin DB where tag group name is handled in case sensitive way
- Changes to OPT customizer to dynamically display relevant columns
- Fixed a bug in paste where sometimes components are highlighted as mis-configured.
- Fixed a bug in paste where sometimes the Start components sequence numbers are not in the same original sequence.
- Improved performance of paste/delete
- Removed “fail” trigger from LinearInterpolation component
- Fixed “ghost” movement boxes showing up during mult-select and dragging
- Undo the removes the “insert space” after a paste
- Genetic Trainer UI improvements
- Model test dialog improvements
- Fixed a bug in OPT block where deprecated Fixed value column values was used instead of current value.
- Change default toolbox style to classic
- Fixed a bug in selecting test data when the EOF option is selected
- Fixed the Matrix component to display the row header in report
- Autoscale axis will not use 0 as minimum for LineChart and XYChart
- Added an option to use Time period (minutes) for LineChart history size
- Added an option to use Array variables for CurveLookup X and Y dataset
- Updated OPT block to remove initial value and have “Fixed/Initial”
- Genetic Trainer Editor fixes
- Increase port drag and drop region to make linking component easier
- Fix bug with first column header in Matrix runtime view getting cut off
- More meaningful data filtering messages (bad value in row)
- Fix issue where reducing number of inputs/outputs on MergeTwo, BranchTwo, or SwitchBranch would leave ghost links in GUI
- Fixed some mouse clicking, install component, and multi-select issues in GUI
- Fixed compact display bug and made it work with MovingAverage
- Fixed issue with Calculator commitChanges() passing even with a syntax error
- Tweak to linear interp in case x2 < x1
- Removed initial conditions option from optimizer – always true
- Fixed issue where missing column in training file prevented Config I/O from opening in CNN customizer
- Max hidden layer nodes limit in genetic trainer
- Add Compact display variables option
- DataOut element now shows tag names instead of variable names in live display variables
- Fix to clustering log messages
- Improve DSV block to report reasons for rejects
- Add logging window for testing optimizer
- Improvements to DSV, Compound Neural Network to generate information on the clusters
- Fix a bug where if the application is restarted, the Charts will loose their historical data for the plots.
- Fix a bug in Line Charts where some of them were not holding data across restart of UI
- Performance improvement on loading and display of application logic
- Performance improvement on opening Model related components
- Fix a bug in display of tooltip on Charts
- Fix a bug in GriffinProcesses
- Fix a bug in BarChart reporting
- Genetic Trainer
- Population diversity display now plotted
- Optimization of all hyperparameters now possible
- CNN functionality has been fixed
- Time limit available – optimization of learning rate allows for efficient use of model training time
- New GeneticTrainer component operates in background – does not block application execution
- View Actual vs. Predicted or DCC from the results interface
- Optimizer Component
- Advanced options tab added
- Improved functionality of “Test Optimizer” mode
- Distance Penalty and Consider Initial Conditions flags now available
- Population size and max evals can be set programmatically
- “Final Cost” now an available design variable for Optimizer blocks, as well as optimized inputs, outputs, and array of optimized inputs
- Distance penalty can be enabled/disabled on the Advanced tab. Distance Penalty column not visible unless enabled.- Add Custom Constraint and Custom Cost
- Neural Networks
- Separate test data file functionality has been removed due to implementation difficulties.
- New activation functions ReLU and SoftSign
- Configurable dropout now available for input and hidden nodes (haven’t seen much benefit from this, might be more suitable to image based tasks)
- All error measurements now in terms of mean squared error (large misses have more influence)
- Time limit available in all training setups – for CNN training time limit is PER SUBMODEL – and per output for models with multiple outputs. Use this with the Genetic Trainer to constrain model complexity/speed of retraining (from scratch).
- All training parameters are customizable for each NeuralTrainer. NeuralTrainer component now has the option to load the training parameters from the model.
- Full support for models with multiple outputs. Note that models with multiple outputs actually contain independently trained neural networks for each output, rather than having a single neural net with multiple output nodes.
- Variables can now be used as clustering variables without being model inputs
- Clustering much faster
- NeuralTrainer component now works for regular or compound models – the CompoundNeuralTrainer element has been removed from the UI
- CompoundNeuralTrainer elements in applications created using 14x or 15x are automatically converted to the new version of the NeuralTrainer. AverageTrainError, AverageTestError, and NumClusters design variables are incorporated into the current NeuralTrainer element.
- CompoundNeuralTrainer element removed as described above
- Steam97 element moved to the Data tab with new icon
- LinearInterpolation given new icon
- Revised Optimization icons for styling consistency using PT Sans font
- Bar Chart – Improvements to Bar chart to display a series of bars
- XY Line Chart – New component to draw XY line from an array
- Line Chart – Add ability to have multiple Y Axis, set color, point type for series
- Add an option to reset chart data
- Fix a bug in Matrix where the data was not persisted across restart
- Add more debug information for Modbus link
- Fix a bug where Charts and Tables are not refreshed with the latest changes to the design
- Fix a bug where SQLRead was handling CHAR type data as string instead of number
- Fix a bug where LineChart was not handling null dataset from runtime engine
- Restore the snapshot feature for application
- Refresh splashscreen and icons for components
- Separate BarChart into a separate component from LineChart
- Make double click as a open action on applications, datalinks, models and genetic trainers window.
- Add accordion palette for component toolbox in application builder. Classic toolbox style still as an option under Edit->Preferences
- LineChart and XYHistChart will now hold data in the realtime engine and make it available for UI. UI will open with the historical data from the realtime engine.
- LineChart and XYHistChart will now provide an option to fix the Axis scale.
- TableView’s “Text & Link” column type will now support variables (String and Numberic) in the text. E.g. “X = <Constants1.X> | TableView1” will display “X = 10” with a link to the TableView1
- Fix a bug in TableView where if there are empty cells, the Runtime UI will crash.
- TableView has an option to set any font for the title and table content
- Genetic Trainer will have a default priority of “Low”
- Bug fixes for the CompundNeural model
- Bug fixes for the Hybrid model
- Updates to SQL blocks to display SQL data type instead of JDBC type.
- Added help files for SQL blocks
- Updated Master IO to allow open and save of multiple master IO list. Updated Optimizer, DSV and Cluster Editor to export to master IO
- Update Optimizer component to add a distance penalty to the cost function for inputs moving away from the current value.
- Fix an issue with Range target type in Optimizer where the cost can be very high when the range parameters overlap with min or max.
- Fix an issue with CurveLookup where it was not working due to a missing library
- Update Optimizer cost function for Range target to handle cases where the range min value is equal to the output min value.
- Update Linear Interrogator component to support extrapolation
- Add a find feature in Application Live Variable view
- Revert Optimizer distance penalty option
- Add variables for clustering in Compound Neural Network without using it as a model input
- Update Optimizer component to add a distance penalty weight option for controllable inputs
- Add support for different locale
- Fix Optimizer to ignore initial value for inputs that are fixed.
- Fix TableView to check cell value for only Numeric type column
- Datalink frozen tag list will be checked such that all tags in the list has to be frozen to be in frozen state. The older version indicated frozen state even if one tag is frozen
- Fix model/genetic trainer to ignore serial version id
- Initial implementation of language support. Not all windows are fully translated yet. Translations are based on google translate.
- Fix app to ignore serial version id
- Sign installer with certificate
- RangeClip warns by default
- HybridModel warns user about IO list
- DataSieve warns about missing model
- Fixes to GeneticTrainer
- improved display of TableView element (TableViewCustomizer.form in case NetBeans/Subversion gives you any trouble)
- CheckList modified so changes aren’t lost when clicking OK with cursor still active
- Fixed issues with the HybridModel editor, including allowing duplicate models, and the Configure I/O not updating properly unless the model has been saved since making changes.
- Fix a bug in Hybrid model where when member models were retrained, the hybrid model was not getting reloaded
- New Master I/O feature that lets user to maintain a common I/O list for easy import into multiple components
- Add option to add or remove variables from LineChart at runtime
- Add option to change LineChart background
- TableView and Matrix view automatically saves column width
- Implement batch read and write for OpenSCADA OPC Link
- Add Curve Lookup component
- Based on the 14.x version This has the new process manager network communication
- Fixes to the Native Win32 OPC data link to support duplicate tags and use proper mask for quality status
- Updates to genetic trainer
- Fixes to the native Win32 OPC data link
- Update Process Manager interface to reuse socket connections.
- Update to make modelling changes compatible with older version models.
- Fix LogMessage block to use carriage return and newline (DOS format)
- More improvements to genetic trainer (autostop).
- Allow XYHistChart to be updated on select threads
- Make XYHistChart available in Reports
- Allow Line Chart to be updated on select threads
- Make XYHistChart available as tabs in Tabbed Window
- Updates to genetic trainer
- Add Gaussian function for neural network
- New genetic trainer
- Add option to backup report output before overwriting it
- Animate find function in application builder
- Add Parametric Test component
- Add print function to application builder
- Update OPC Proxy Link use bitmask 0xC0 to check for good quality
- Fix the FileOut editor layout
- Update link to detect failure and restart services and link
- Fix a bug in FileOut and other components where MovingAverage returned BAD value till a refresh was done
- Add a new help button in Misc. tab in data link editor
- Update documents
- Fix a bug in MovingAverage where sometimes the MovingAverage is stuck with BAD values on restart. The workaround was to do a refresh or recreate the MovingAverage block.
- PID Controller will maintain its state across save and refresh
- Update Neural Network Trainer block to log any errors during training
- Fix an issue with XY plot where trend lines are not generated when there are BAD values
- Update Find Dialog to search misconfigured components
- Change the tab layout in the application builder
- Fix a bug in the OPC Proxy write link
- Line chart allows selection of multiple variable from the dialog
- Highlight active tab in application builder
- Application builder tab doesn’t shuffle tab rows based on selection change
- Fix an issue where sometimes the comments doesn’t get painted after an edit
- Add Griffin OPC Proxy service. Add a new OPC Link type to use OPC Proxy service
- NativeWin32 OPC Tag browser dialog now closes the OPC connection immediately after the dialog is closed
- Fixed an issue with the OPT component editor window resize
- OPT component editor will report the errors during a paste operation
- Email component will continue execution with success port if the email feature is disabled.
- Minor fix to Find Dialog
- Add XY Plot for Data Visualization
- Line Chart title is searchable
- Moving Average value is reset when variable or array size changes
- Find feature can search for miss-configured components
- Fixed a bug where undo function was not checking component validity
- Fix a bug in FIFO Matrix where if a syntax like FIFO.ColumnName.Averages is used, the right column value is not returned.
- Implement a limit on the maximum number of emails an email component can send in one hour
- Implemented frozen value check in data links. Data links can automatically restart or set a tag on frozen value
- Version history has an option to restore runtime data along with the application
- FileOut supports String variables in row header
- Added help document for the Report component
- Added Report Generator Component
- Added a separate “Save to version history” button
- Added Version History feature for Griffin Applications
- Added “Train” and “Test” error variables for regular trainer component
- Added “Min”, “Max” and “Max Delta” to the Link Tags Viewer window
- Fix the layout issue with some text not showing up on the main screen and Optimizer customizer window
- XYHistPlot can be customized to change the point size
- Live points in XYHistPlot are rendered above the hist points
- Components can be selected and moved using keyboard arrow keys
- Change the chart to JFreeChart (right context menu to change axis range)
- Make SMTP info a common application property
- Add Live data trend to XY Hist Plot
- Add a new dialog to list all variable name
- Variable names are listed in case insenstive alphabetic order
- Change the component naming scheme when pasting to be default new name instead of the same name with a suffix
- Fix a bug where save as will disable the live view
- Update help document
- Disable Historian feature by default
- Fix a bug in XYHistChart where X and Y axis lines were not displayed
- DCC block will check for errors. Models are not selected by default.
- LineChart has an option to disable view
- A new variable “NumberOfColumns” is available for Matrix
- Find now searches Email block (content, subject….), FileIn & FileOut file names
- Fix a potential lockup of UI when closing Charts or Tables
- Move LineChart to a new lightweight Charting library (less memory consumption)
- Fix a bug where some threads where not getting started properly due a race condition.
- Fix a bug where Griffin GUI has to be restarted to see changes to Graph and Tuning windows
- Add Historian feature.
- Add XYHistChart component
- Fix an issue with find feature when RangeClip block doesn’t have any variables configured.
- Fix Chart block to highlight in red when variables used are deleted.
- Fix Calculator to support modulo function
- Update SetBits block to support variables for bit value
- Updated for Java 1.8
- Fix Chart to not plot BAD values.
- Fix Calc block to check for unknown variables in the expression.
- Fix FileOut block to allow “None” for row header
- When copying and pasting content, the original component name will be preserved. If the name is already in use, a suffix (_1) will added.
- File dialog will highlight last entered text for easy replace. Enter key will trigger find.
- Double clicking component will not cause the component selection to be lost
- Add a new Steam block STM97. Deprecated the external c program based STM block.
- Validate Start component thread name when pasted from clipboard
- Variable names used in Switch block will get updated when component nane is changed
- Variable names used as index in Calculator will be updated when component name is changed
- Delete key will delete selected components
- Find dialog remembers the last search keyword
- Paste will ask user if space needs to be inserted
- Added warning about integer division (truncated result)
- Added String Constant component
- Added SQLDelete component
- Make SQL components capable of using String variables for server/login/password/tablename
- Start component now supports milliseconds cycle time
- Fix a bug in component rename logic where Calculator result names were not updated.
- Fix a bug where when you exit without savings the changes to gapp and reopen the gapp (without exiting all GUI), the gapp seems to have the changes saved.
- Calculator result name (external variable) will be updated on component name change
- FileOut file name can have variables in it.
- Fix FIFOMatrix variables
- Add license text
- Allow TableView header to use string variables
- Move to Java 7 platform
- Add option to disable GriffinRT java wrapper. Add “disablejavawrapper=true” line to griffin/cfg/processmanager.cfg file to disable.
- Add 64-bit GriffinRT64.exe for 64 bit JVMs.
- Diff Application Tool
- Fixes memory leak in the runtime display
- Fix a bug in Email where it stops working after a refresh
- Prompt user for updating references when a component name is changed
- Add Java version to Version Info
- Add tooltip to edit buttons in Application Builder
- Add additional logging to Process Manager
- Use GriffinRT.exe (java wrapper) for applications, links and genetic trainer. Anti-Malware programs were stopping java.exe from sending emails.
- Increase Griffn DB Service max memory limit to 500MB
- Fix a bug where Tuning Window and Matrix didn’t update when in a Tabbed Window
- Added Genetic Trainer Runtime View
- Fix a bug where Application Refresh was not working because of Design caching.
- SendMail component can have variables in from, to and subject in addition to mail message.
- Variable selction in components like RangeClip should have the default index for Variable set to the Repeater Index they are connected to.
- Copy and Paste should automatically update the Variable references to the new component names.
- When a component is renamed, all variable references to the component should automatically update to the new name.
- Update OPT block to preseve settings if the model is switched to another model with same set of inputs or outputs
- Fix a bug in DataOut where multiple TagGroup was not created.
- Fix a bug in Native OPC where a tag with BAD quality can crash the link.
- Link Tags Window title has the link name.
- Fix the default comment for Repeater block when it is copied and pasted.
- Add Find feature to DataIn and DataOut blocks
- Matrix runtime view will highlight non-default value in yellow.
- Rewrite NativeOPC to optimize performance in reading and writing.
- Moving average will automatically generate variables for array input
- Update Bar Chart to display only current values.
- Fix Tab window to display charts.
- Fix for Griffin Service Manager not stopping or starting applications.
- Fix FileOut block to format numbers in CSV file.
- Add header link option for Matrix runtime view
- Improve performance on the runtime link highlighting.
- Fix a bug in AVG block where the result value is not saved across refresh.
- Delete tags from Griffin DB when a link is deleted
- Include TableView block in Find function
- Highlight Clip block in red when Min or Max variable is Bad
- Fix copy and paste in String Array block
- Add “Select All” button for Tunning window.
- Fix increasing memory usage by the Griffin Application when Tunning screen and live data are open.
- Add Sort Array block
- Add Tabbed Window for organizing multiple tunning screens
- Add Link column type in Tunning window to link to other tables
- Format numbers properly in email and log messages
- Add String array that can be used in email and log messages
- Fix a bug in FileOut block where invalid values were left blank in the rows causing some shifting issue.
- Fix a bug in synchronous write.
- Enchanced performance
- Modbus slave hub reports the client IP address in the log
- Add Data Visualization
- Fix a bug in Csv file reader where empty columns header causes columns to be shifted.
- Set a minimum size for the Matrix runtime window so that the “Update” button shows up.
- Fix a bug where the Optimizer block editor was loading the model twice.
- Use a new Model caching mechanisum, where the file modified time is checked to reload a model from a file.
- Change the DataIn block fatal message about failure status data to a warning.
- Application startup can be delayed based on time or a tag begin a good value
- OPC Link (OpenScada version) waits for the OPC server to come up
- Matrix and Table View can update Application directly
- View Link Tags will use different background colors for read and write tags
- Save as will now save the used tweaked values to the new file name
- Fix a bug where unconfigured DataOut block was causing the tab to not open in the Application Builder
- Set Frame Icons to Griffin Icon
- Make DataQualityCheck block support arrays.
- Make DataQualityCheck check for a valid tag name (goes red if a tag goes bad)
- Fix a bug in the Native Win32 OPC client
- Trim group name in DataOut block
- Load user persisted values in to the application configuration.
- Add an additional native OPC link option.
- Fix a bug in DSV purge code
- Fix a bug where execution highlights was not working well if multiple threads are used.
- Fix a issue where variable updates from Tuning block and Matrix block were not refreshed immediately in the application. Previously they were updated only when the main thread completes a cycle. Now it will refresh on any thread cycle completion.
- DCS Link output has a feature to do range check (trim to min max) and do ramping(limit change to a max delta).
- Repeater block automatically sets the comment to the block name if it not set.
- A new toolbar icon was added for Log window.
- Log Message Block checks variable used in the message and goes red if the varible is invalid
- Link output can have min, max range check (trim to min & max) and delta check (trim values to current bias +/- delta )
- Link output can now be logged to a CSV file.
- OPT block will now check for any inputs to be BAD. if BAD, the optimizer will not optimize and the control logic will pass through the failure port (bottom port) of the block.
- Fix a bug where OPT block was not showing up in the “Find” operation.
- WriteOut block will trim any spaces in tag group names
- Opt block will check if the model file exists and if not will turn red
- Add Export Import feature for Model I/O list
- Fix Matrix Runtime Display to highlight nondefault values.
- Optimizer block will have an additional array variable that will have the optimized inputs
- Genetic trainer can now explore Activation Function combinations and Hidden Nodes combinations
- Tuning table can have multiple colors for different value ranges
- Reverted a broken feature Where a Compound model can use variables only for clustering. This will be added back in the next version.
- Model editor window will check if model is saved before closing.
- Repeater block will automatically update the comment field with the block name
- Fix a bug in Table View (Tuning Screen) where when there is no “Editable” columns, the bottom panel with the “Save Column Size” is hidden.
- Added a “Test Optimizer” option in the Optimizer block editor to run the optimizer intractively.
- Fix a bug in Matrix and TableView block where the string mapping was disabled.
- Copy and paste will now make the start sequence number unique.
- Fix a bug in Matrix where row names are getting sorted when the variables are browsed
- Fix the Data In block to replace space with underscore in variable names entered by user.
- Matrix display now support comments in cell
- Allow compound model to cluster based on any variable from the training file (not just the model inputs).
- Corrected the label in Link Editor-> Manual Add Dialog from “Variable” to “Griffin Tag Name”
- Added help button in Comment editor to show some basic HTML formatting syntax
- Fixed a bug where the Log Message block was not searched during a Find operation.
- Complete Documentation
- Set tooltip for Tables toolbar button in Applications Window
- Check training error to be NaN
- Check input for bad or out of range value in Model Test dialog.
- Added cell comments in Table View (Tuning screen)
- Added “Inputs in Top Model” tab in the Genetic Trainer Result Viewer
- CSV files with text (e.g PI error message) for values will be automatically converted to -99999
- Added Help documents
- Range Check will now log warnings only if the option is selected. By default, it is turned off.
- New Standard Deviation Block will generate Std. Dev. and Mean for a variable. Every time the block is executed, the variable current value is sampled, then the standard deviation and mean is updated.
- Uses a new upgrade.exe file to update existing installation
Ready to Learn More?
Fill out the form below to get started.