Home - Griffin AI Toolkit Release Notes

Griffin AI Toolkit Release Notes

2.5.2 (02/17/2024)

  • Make variables in live charts and table to be case insensitive
  • HeatMap – Add support for bilinear interpolation and add option to flip x or y axis
  • Fix a bug in genetic trainer where if DCC is not valid, the fitness function doesn’t work
  • Update Mail sender to use Jakarta Mail API implementation
  • Update Python interface to close Python processes properly

2.5.0 (01/11/2024)

  • Add a new Modbus server that is directly integrated with the Griffin Mem Database
  • TableView or Matrix view if configured to show different color based on value, will display the background color in Report
  • Added HeatMap component to display heatmap chart
  • Griffin can be installed in any folder other than c:\griffin

2.4.7 (12/21/2023)

  • Added IotaWatt data link
  • Added the ability to remove rows easily in Matrix customizer
  • Added option to wrap search in Find dialog
  • Added the ability to log read data link values to time series database
  • Improve HTTP component to parse JSON response with array values

2.4.6 (12/4/2023)

  • Added Java Open Computer Vision Libraries (Increases the installer size to 300MB)
  • Added a new data link for REST API (JSON data)
  • Added a Live Camera Capture component
  • Removed code to copy tools.jar to JRE (Not required anymore with OpenJDK)

2.4.5 (11/22/2023)

  • Fix a bug in PythonCall where sometimes if a parameter is set as optional, it stays optional even if value is entered.
  • Fix a bug where if all values in a Line chart are same, the PDF file generated doesn’t get updated
  • DataIn and QualityCheck component now checks for NaN value and marks them as BAD
  • Allow String values in Report CSV component
  • Add ability to create a new file in FileOut (start a new file instead of appending)
  • Add ability to load CSV file to Matrix

2.4.1 (6/14/2023)

  • Added IEC61850 Data Link.
  • Add MQTT Data Link
  • Fix a bug where FileOut (CSV output) was using locale specific symbols causing issues in Locale where “,” (comma) is used as decimal separator instead of “.” (period)

2.3.27 (4/20/2023)

  • Add JSON Parser component to parse JSON string from a file or a string variable.
  • Add POP3 Mail receive component
  • Handle null values in multidimensional data passed between Python interface
  • Fix a bug in FileIn component where empty fields can cause exception.

2.3.22 (3/12/2023)

  • Add support to pass MixedMatrix to PythonInterface as multidimensional data variable type
  • Update H2 to the latest version.

2.3.19 (12/18/2022)

  • Add ability to load CSV data into Matrix and MixedMatrix
  • Update FileIn to handle string values with comma in it (as long they are within quotes)

2.3.18 (12/6/2022)

  • Fix a bug in Matrix configuration import/export
  • In Optimizer component, allow use of initial input values in custom constraints and custom cost functions

2.3.16 (11/7/2022)

  • Add support for n-dimensional array in Python call
  • Fix a bug where invalid tags in Griffin DB can cause the Griffin DB service to not start

2.3.15 (10/20/2022)

  • Add ability to export and import Matrix/MixedMatrix configuration to a CSV file
  • Fix a bug in DataOut where tag valid period beyond certain period was not working

2.3.14 (9/11/2022)

  • Add OpenSCADA OPC DA library option to support legacy links
  • Update JFreeChart to the latest version to address better memory performance
  • Update CSV File reader to be closeable interface

2.3.12 (9/7/2022)

  • Add an option to exit and restart application
  • Fix command line batch files for start/stop application and data links
  • Update JSoup library for better memory performance

2.3.11 (8/27/2022)

  • Add an option to override historical time in DataOut
  • Add StringMatrix support
  • Add support to refer Matrix & FIFO Matrix column as array
  • Fix a bug in CSV File Input where when it is not configured and saved, the application cannot be opened again
  • Update Quality Check component to continue on BAD port when the variable is invalid.
  • Update PythonCall component to recognize Python exception and restart the Python process

2.3.5 (6/13/2022)

  • Fix a bug in variable support in messages. Text like “Text < <VariableName>” should work now.
  • Add a new Custom SQL Query component. User can enter the SQL query and can parse the results.
  • Add application component count information under Dashboard->Applications->View->Application Info
  • Add a limited Free license option. Free license limits the application to 250 components per application, no premium components (Optimization) and a maximum of 1000 I/O counts.

2.3.4 (5/17/2022)

  • SQLRead component now has an option to replace null with a value
  • Update the SQL Server JDBC driver library to the latest version
  • Use Windows authentication for SQL Server when username is empty
  • Use SQL Connection pooling for SQL components
  • Allow string constants in String Copy operation
  • TableView component now supports String columns
  • Added a new MixedMatrix component that allows string and numeric columns
  • Added a HTTP component to do GET, POST and PUT REST APIs
  • Added a Teams component to post messages to a Microsoft Teams Channel

2.3.3 (5/10/2022)

  • Fixed a bug in OPC UA data link where unsigned byte was not handled correctly
  • Fixed a bug where String copy operation was not working for string array
  • Added support for string type values to be written to historical DB (InfluxDB)
  • Fixed a bug where Matrix variable chooser provided “Values” variable under column name
  • Fixed a bug where String arrays displayed two values variables in variables chooser.

2.3.2 (4/19/2022)

  • Update Steam IF97 library to the latest version and add other unit systems (Engineering and IF97 Default Unit)
  • Update DataOut component to optionally save data to InfluxDB time series database
  • Fix a bug in GeneticTrainer where sometime it doesn’t run any trainers
  • Sort Tag browser in DataOut component
  • Fix a bug where historical data for LineChart and XYHistChart was not loading

2.3.1 (3/29/2022)

  • Fix a bug in Process Manager where application start stop interface was not working in some cases

2.3.0 (3/27/2022)

  • Improve performance for scanning application, links, genetic trainer and model folders
  • Improve Griffin DB performance. Add a new listener based interface to support web interface
  • Remove OpenSCADA OPC link library and standardize on Native JNI implementation
  • Switch log4j from v1 to v2. Note: the older v1 version was not vulnerable to the recent log4j vulnerability
  • Display bad values in tag browser as BAD instead of 0

2.2.11 (2/10/2022)

  • Fixed a bug in SQLRead component with reading rows as an array
  • Added the ability to specify the variable type when reading data in SQLRead.
  • Fixed a bug where old SQLRead that was reading CHAR[1] type column as a integer was not working anymore.

2.2.10 (2/03/2022)

  • Added Pareto mode for Optimizer.
  • Made memory improvements when working in sub-second thread cycle

2.2.9 (1/17/2022)

  • Fixed a bug in SQL Components where String type SQL columns were processed like number type.

2.2.8 (1/11/2022)

  • Updated OPC UA data link to use BrowseNext function to query more tags in case the OPC server returns a limited set of tags.

2.2.7 (12/21/2021)

  • Fixed a bug in the FIFO component editor where the scrollbar was not scrolling all the way .
  • Fixed a bug in the Repeater component where the RepeaterIndex variable value was set to the last value +1 after the repeat loop is complete. This was causing some errors in the log about GUI update of variables failing.
  • Fixed the Python Call component to detect the Python process exit and restart the process.

2.2.6 (12/08/2021)

  • Added a JavaCall component to write custom Java code within the component.
  • Added a FIFO Array component that can maintain a FIFO for a list of variables.
  • Added support for Matrix variables to be accessed with Column index and Row index from other components.
  • Added support for Matrix values to be passed between Python code and Griffin application

2.2.5 (10/26/2021)

  • Add a Python Call component to make calls to Python functions
  • Add an “Always” option for application retries
  • Add an option in StringOp component to find a text in a string array
  • Fix a bug in Genetic Trainer where top results were not correctly sorted sometimes

2.2.4 (10/6/2021)

  • Fix a bug in OPC UA Data link where if it is started before the server is available, it never makes the connection
  • Update String Operation component to convert a string to number
  • Update DateTime component to convert string to datetime. DateTime component also generates a timestamp string
  • Add documentation for String Operation component
  • Fix a bug where older design files failed to open

2.2.3 (10/1/2021)

  • OPC UA Data link now displays the full tag path. Manual add in OPC UA will now use full tag path.
  • OSI PI Data link now supports String value type

2.2.2 (9/27/2021)

  • OPC UA Data link now supports all reading and writing to tags of type numeric array, string and string array
  • DataIn and DataOut components can now read and write numeric array, string and string array type values
  • Fix a bug in components variable check was case sensitive causing some components to be highlighted in amber.
  • Added the “Retained” message option for MQTT publish component
  • Add an option to Repeater component to repeat based on a selected array size
  • Added a String operation component for string manipulation
  • Fix a bug in the CSV file timestamp parser where some invalid time can cause date like 8/2/21 to be parsed as in year 21 instead of year 2021.
  • Fix a bug where datalink of type Modbus slave cannot be created.
  • Fix a bug where sometimes components are highlighted in red even when they are configured properly.

2.2.1 (9/12/2021)

  • Components will be highlighted in amber color if they use variables from components that are not connected to a logic.
  • MQTT component now supports plain text and JSON message format in addition to SparkPlug. JSON message can be used to exchange Griffin variables between Griffin applications running on different servers using a MQTT broker.
  • Show tags in sorted order in DB Browser
  • Increase the default memory limit for runtime application to 6GB
  • Fixed a bug in Linear Interpolation component where invalid result variable was not tagged.
  • Added a “Restore application defaults” option on Tuning screen (TableView)
  • Fixed a bug where old deleted components (like ModelDCC) remained in the application
  • Double click on variable chooser dialog will automatically selects the variable

2.2.0 (9/6/2021)

  • Added a new event triggered thread type and a Trigger Event Thread component
  • Added MQTT component to publish and subscribe to Sparkplug B IoT messages
  • Added Genetic Trainer Component
  • Fix an issue where sometimes the component are highlighted as not configured.
  • Improve performance of loading historical data during application startup
  • Increase default memory limit in processmanager.cfg file

2.1.9 (6/4/2021)

  • Fix a bug where the “Auto save after training” was not saving compound neural network with the trained flag.
  • Improved the model load time

2.1.8 (5/2/2021)

  • Update Modbus link to make update time validation optional and configurable.

2.1.7 (5/6/2021)

  • Fix a bug in FunctionStart component where parameters gets stuck with the same value.

2.1.6 (5/2/2021)

  • Fix FIFO Matrix component to be used by third party library

2.1.5 (4/29/2021)

  • Updated Repeater to support loop while a condition is true
  • Fix a bug in Steam and StdDev component where when the name of the component was updated, the live variables failed to update
  • Add a visible attribute to the Griffin HTML tag used in Report component. This allows blocks of charts or tables to be visible based on a condition variable.
  • Update data link to detect failure in write only links for restart

2.1.4 (3/4/2021)

  • Updated FileIn component to stop at end of file. Added a new output port to FileIn for end of file or error
  • Updated FileOut to have a column type and allow timestamp, string and number variable for column values.
  • Fixed PI link to open PI link configuration saved with older version (15.x)

2.1.3 (2/9/2021)

  • Added Correlation component that performs Pearson Correlation on CSV data file or Matrix columns.
  • Fixed a bug in Genetic trainer where error messages may be displayed on the console window when opening the results before any models are saved.

2.1.2 (2/4/2021)

  • CurveLookup can be done on an array to generate an array result
  • Fixed a bug in Genetic trainer where results may not show up in some configuration settings.

2.1.1 (1/30/2021)

  • Added Covariance equivalization as an input/output normalization
  • Fixed Genetic Trainer ranking issue

2.1.0 (1/23/2021)

  • Add OPC UA data link
  • Update OSI PI Data link to support explicit login

2.0.12 (1/17/2021)

  • Update Modbus data link to check write time from DCS master to set BAD status for stale values

2.0.11 (1/2/2021)

  • Fix a bug in Native OPC where only value was set to BAD and status was still good. 
  • Update OPC documentation for Native OPC link type.
  • Update log4j and apache commons library to latest version
  • Make Native OPC as the default

2.0.10 (12/27/2020)

  • Native OPC now uses OPC Server cache to read data just like OpenSCADA. This should resolve any performance issue on the OPC server with Native OPC link type. 
  • Native OPC can be directly configured to use a particular login credential if needed. The “Griffin Service Manager” service “Run As” credentials doesn’t have to be modified.
  • Native OPC can now be used for both COM based OPC servers (localhost) as well as DCOM based OPC servers (remote computers). For remote computers, credentials can be configured on the OPC link configuration
  • Native OPC now uses JNI to make the native COM/DCOM calls, this eliminates additional processes (griffinopcread and griffinopcwrite)
  • Folder permissions are set so no the background service has full access to the C:\griffin folder.

2.0.9 (12/7/2020)

  • Automatically remove spaces and other characters not allowed in Grffin DB tag when configuring a data link.
  • Fixed a bug where additional “Clustering only inputs” that was deleted was causing a model from being added to a hybrid model
  • LineChart and XYHistChart history can be cleared by right clicking on the chart and selecting the “Clear History” context menu

2.0.8 (11/5/2020)

  • Log Viewer will continue to display logs even if the application is stopped and restarted. No need to close and reopen Log Viewer when restarting the application
  • Fixed a bug where some error logs were going into model_editor.log
  • LineChart and XYHistChart history data will be held in a database file instead of memory. This reduces the memory usage of the background runtime application engine.
  • Move errors showing up in servicemanagerwrapper.log to the appropriate application log

2.0.6 (10/20/2020)

  • Add diagnostic window to Modbus Slave Hub link type
  • Delete application runtime folder when deleting application

2.0.5 (10/6/2020)

  • Add an option to File Input Link to wait for new rows to be added to the CSV file

2.0.4 (8/29/2020)

  • 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.

2.0.3 (8/19/2020)

  • 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.

2.0.2 (8/9/2020)

  • 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

2.0.1 (7/2020)

  • Initial version with license manager

16.0.6 (6/4/2020)

  • 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

16.0.5 (2/5/2020)

  • 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)

16.0.4 (1/11/2020)

  • Fixed a bug in NeuralTrainer component where it was not accepting any model selection

16.0.3 (11/19/2019)

  • 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

16.0.2 (10/28/2019)

  • 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.

16.0.1 (10/2/2019)

  • 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

15.7.16 (9/24/19)

  • 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

15.7.15 (9/15/19)

  • 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

15.7.13 (7/30/19)

  • Add Compact display variables option
  • DataOut element now shows tag names instead of variable names in live display variables
  • Fix to clustering log messages

15.7.11 (6/27/19)

  • Improve DSV block to report reasons for rejects

15.7.10 (6/23/19)

  • Add logging window for testing optimizer

15.7.7 (6/16/19)

  • 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.

15.7.2 (4/3/2019)

  • 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

15.7.1 (3/25/2019)

  • 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.
  • CNNs
    • 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.
  • UI
    • 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

15.6.5 (3/19/2019)

  • Fix a bug in Matrix where the data was not persisted across restart

15.6.4 (12/25/2018)

  • Add more debug information for Modbus link

15.6.3 (11/15/2018)

  • Fix a bug where Charts and Tables are not refreshed with the latest changes to the design

15.6.2 (11/12/2018)

  • Fix a bug where SQLRead was handling CHAR type data as string instead of number

15.6.1 (11/7/2018)

  • Fix a bug where LineChart was not handling null dataset from runtime engine

15.6.0 (11/1/2018)

  • 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”

15.5.4 (9/19/2018)

  • 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

15.5.3 (7/23/2018)

  • Update Optimizer component to add a distance penalty to the cost function for inputs moving away from the current value.

15.5.2 (7/18/2018)

  • 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.

15.5.1 (7/4/2018)

  • 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

15.5.0 (4/18/2018)

  • Revert Optimizer distance penalty option
  • Add variables for clustering in Compound Neural Network without using it as a model input

15.4.5 (4/8/2018)

  • Update Optimizer component to add a distance penalty weight option for controllable inputs

15.4.4 (4/8/2018)

  • 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

15.4.3 (3/25/2018)

  • 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.

15.4.1 (3/16/2018)

  • Fix app to ignore serial version id

15.4.0 (3/3/2018)

  • Sign installer with certificate

15.3.3 (1/31/2018)

  • 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.

15.3.0 (1/28/2018)

  • 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

15.2.0 (11/10/2017)

  • Add Curve Lookup component

14.5.5 (10/27/2017)

  • 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

15.1.0 (10/23/2017)

  • Updates to genetic trainer
  • Fixes to the native Win32 OPC data link

15.0.5 (9/20/2017)

  • Update Process Manager interface to reuse socket connections.

15.0.4 (9/11/2017)

  • Update to make modelling changes compatible with older version models.
  • Fix LogMessage block to use carriage return and newline (DOS format)

15.0.3 (9/10/2017)

  • More improvements to genetic trainer (autostop).
  • Allow XYHistChart to be updated on select threads
  • Make XYHistChart available in Reports

15.0.2 (9/6/2017)

  • Allow Line Chart to be updated on select threads
  • Make XYHistChart available as tabs in Tabbed Window

15.0.1 (8/28/2017)

  • Updates to genetic trainer
  • Add Gaussian function for neural network

15.0.0 (8/2/2017)

  • New genetic trainer

14.5.2 (7/26/2017)

  • Add option to backup report output before overwriting it
  • Animate find function in application builder

14.5.1 (7/18/2017)

  • Add Parametric Test component
  • Add print function to application builder

14.4.12 (5/7/2017)

  • 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

14.4.10 (4/14/2017)

  • 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

14.4.9 (4/9/2017)

  • 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

14.4.8 (4/4/2017)

  • Fix an issue with XY plot where trend lines are not generated when there are BAD values
  • Update Find Dialog to search misconfigured components

14.4.7 (3/25/2017)

  • Change the tab layout in the application builder

14.4.6 (3/24/2017)

  • Fix a bug in the OPC Proxy write link

14.4.4 (3/19/2017)

  • 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

14.4.3 (3/17/2017)

  • Add Griffin OPC Proxy service. Add a new OPC Link type to use OPC Proxy service

14.4.2 (3/2/2017)

  • 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

14.4.1 (3/1/2017)

  • Email component will continue execution with success port if the email feature is disabled.
  • Minor fix to Find Dialog

14.4.0 (2/2/2017)

  • Add XY Plot for Data Visualization
  • Line Chart title is searchable
  • Moving Average value is reset when variable or array size changes

14.3.3 (2/2/2017)

  • Find feature can search for miss-configured components
  • Fixed a bug where undo function was not checking component validity

14.3.2 (1/12/2017)

  • Fix a bug in FIFO Matrix where if a syntax like FIFO.ColumnName.Averages[0] is used, the right column value is not returned.

14.3.1 (1/10/2017)

  • Implement a limit on the maximum number of emails an email component can send in one hour

14.3.0 (11/3/2016)

  • 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

14.2.2 (8/28/2016)

  • FileOut supports String variables in row header
  • Added help document for the Report component

14.2.1 (8/26/2016)

  • Added Report Generator Component
  • Added a separate “Save to version history” button

14.2.0 (8/9/2016)

  • Added Version History feature for Griffin Applications

14.1.2 (27/6/2016)

  • 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

14.1.1 (16/5/2016)

  • 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

14.0.8 (4/20/2016)

  • Change the chart to JFreeChart (right context menu to change axis range)

14.0.7 (4/4/2016)

  • 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)

14.0.2 (1/13/2015)

  • Fix a bug where some threads where not getting started properly due a race condition.

14.0.1 (12/18/2015)

  • Fix a bug where Griffin GUI has to be restarted to see changes to Graph and Tuning windows

14.0.0 (11/29/2015)

  • Add Historian feature.
  • Add XYHistChart component

12.0.7 (7/30/2015)

  • 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.

12.0.6 (7/29/2015)

  • Fix Calculator to support modulo function
  • Update SetBits block to support variables  for bit value


  • Updated for Java 1.8

11.7.1 (6/12/2015)

  • 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

11.7.0 (6/6/2015)

  • Add a new Steam block STM97. Deprecated the external c program based STM block.

11.6.1 (4/4/2015)

  • 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)

11.6.0 (3/30/2015)

  • 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.

11.5.9 (3/2/2015)

  • Calculator result name (external variable) will be updated on component name change
  • FileOut file name can have variables in it.

11.5.1 (11/23/14)

  • Fix FIFOMatrix variables

11.1.2 (1/5/14)

  • Add license text
  • Allow TableView header to use string variables

11.1.1 (12/?/13)

  • Move to Java 7 platform

10.5.4 (9/4/13)

  • Add option to disable GriffinRT java wrapper. Add “disablejavawrapper=true” line to griffin/cfg/processmanager.cfg file to disable.

10.5.3 (9/2/13)

  • Add 64-bit GriffinRT64.exe for 64 bit JVMs.

10.5.2 (8/27/13)

  • Diff Application Tool

10.4.6 (7/22/13)

  • Fixes memory leak in the runtime display

10.4.3 (6/20/13)

  • Fix a bug in Email where it stops working after a refresh
  • Prompt user for updating references when a component name is changed

10.4.2 (6/13/13)

  • Add Java version to Version Info
  • Add tooltip to edit buttons in Application Builder
  • Add additional logging to Process Manager

10.4.1 (6/9/2013)

  • 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

10.4.0 (5/25/2013)

  • Added Genetic Trainer Runtime View

10.3.1 (5/13/2013)

  • Fix a bug where Application Refresh was not working because of Design caching.

10.3.0 (5/5/2013)

  • 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

10.2.10 (4/26/2013)

  • Matrix runtime view will highlight non-default value in yellow.

10.2.8 (4/22/2013)

  • Rewrite NativeOPC to optimize performance in reading and writing.

10.2.7 (4/10/2013)

  • Moving average will automatically generate variables for array input

10.2.6 (4/8/2013)

  • Update Bar Chart to display only current values.

10.2.5 (4/6/2013)

  • 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.

10.2.4 (4/3/2013)

  • Add header link option for Matrix runtime view

10.2.3 (3/29/2013)

  • Improve performance on the runtime link highlighting.
  • Fix a bug in AVG block where the result value is not saved across refresh.

10.2.2 (3/27/2013)

  • 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.

10.2.1 (3/19/2013)

  • Fix increasing memory usage  by the Griffin Application when Tunning screen and live data are open.

10.2.0 (3/10/2013)

  • Add Sort Array block

10.1.0 (3/10/2013)

  • 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.

10.0.2 (2/27/2013)

  • Fix a bug in synchronous write.

10.0.1 (2/26/2013)

  • Enchanced performance
  • Modbus slave hub reports the client IP address in the log


  • Add Data Visualization

8.3.1 (8/27/2012)

  • 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.

8.3.0 (6/14/2012)

  • 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

8.2.3 (6/12/2012)

  • 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

8.1.2 (5/28/2012)

  • Fix a bug where unconfigured DataOut block was causing the tab to not open in the Application Builder
  • Set Frame Icons to Griffin Icon

8.1.0 (5/23/2012)

  • 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

8.0.0 (5/10/2012)

  • Trim group name in DataOut block
  • Load user persisted values in to the application configuration.
  • Add an additional native OPC link option.

7.8.2 (4/17/2012)

  • Fix a bug in DSV purge code

7.8.1 (3/24/2012)

  • 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.

7.8.0 (3/2/2012)

  • DCS Link output has a feature to do range check (trim to min max) and do ramping(limit change to a max delta).

7.7.6 (2/26/2012)

  • 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

7.7.5 (2/22/2012)

  • Link output can have min, max range check (trim to min & max) and delta check (trim values to current bias +/- delta )

7.7.4 (2/21/2012)

  • Link output can now be logged to a CSV file.

7.7.3 (2/12/2012)

  • 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

7.7.2 (1/8/2011)

  • Fix Matrix Runtime Display to highlight nondefault values.
  • Optimizer block will have an additional array variable that will have the optimized inputs

7.7.1 (12/22/2011)

  • 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

7.7.0 (12/4/2011)

  • 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.

7.6.9 (11/19/2011)

  • 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.

7.6.8 (11/16/2011)

  • 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.

7.6.7 (11/13/2011)

  • 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.

7.6.6 (10/31/2011)

  • 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.

7.6.5 (10/22/2011)

  • 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

7.6.4 (10/17/2011)

  • Added Help documents

7.6.3 (10/12/2011)

  • 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.