KanoaMES v1.14
Release Date - 1/1/25
A release candidate for v1.14 will be available shortly.
Implementation Guidance
This release package has been tested against Ignition 8.1.50.
The minimum required version of Ignition is 8.1.33
- kanoaMES_1_14_1.modl
- ApexCharts-signed 1.0.17.modl
- BIJC_Calendar_Component_v1.8.1.modl
Summary
We skipped a release version because who wants to update to a software version called 13 and as much as we wanted to continue with updates to the 1.12 release, there are enough significant changes to warrant a new version number.
- Added support for batch, discrete and continuous processes.
- Added inheritable OEE Thresholds to support Enterprise level OEE scoring.
- Added 'downtime by item' analysis.
- Added kanoa logger feature. Provides a method of logging that won't get lost in the weeds along with all the other gateway messages.
- Added image management functions and views.
- Added support for downtime category hierarchy.
Module Versioning
- 1.14 is our first release that will be supported on both the 8.1 and 8.3 platform. To that end, the module name has changed from 'Kanoa MES' to 'Kanoa MES (8.1) or 'Kanoa MES (8.3)'. The version numbering will be identical between 8.1 and 8.3 because under the hood, they are the same.
Installer
Our Hawthorn installer has undergone some changes to speed up the installation process.
- Move checking if we need to create changeset table to outside of processChangeLog()
- Schema creation and update has been refactored to break it into smaller packets for each functional area of the application.
- Database schema installer is now idempotent.
New Widgets Added
We've also move dashboard and widget installation to use the import function, so you can expect a bunch of new widgets and dashboards to be added with each new release. In this release, we've added a number of widgets and dashboards created for our ProveIt showcase at ICC this year...
- Production Loss
- Utilization
- Item State Bar Chart
- Event Notification
- Performance Reasons
- Scrap Reasons
- Lot Bar Chart
- Lot Quantity Bar Chart
System function intellisense and documentation
- All 641 of our system functions have been reviewed and re-written to standardize and correct any mistakes in the documentation and examples given. A big shout out to Nicole for taking that on!
- As part of that process, we did discover some system functions that deviate from the standard in terms of return values and they have been modified. We have fixed all instances in the kanoaAPP and tags that use these functions, but if you have overridden any views that called them, you'll need to modify them. Fear not, we have created a handy utility built into the application that will allow you to search for all projects, scripts and tags for the list of keywords we have identified as having changed.
Keyword Search Utility
As we prepare the platform to support manufacturing processes such as batch and continuous as well as discrete, we had to make some refactoring choices that may affect existing installs where certain views have been overridden. If this is a first time install, then install away. If you are updating an existing install, we have added a keyword search utility that will search for all projects, scripts and tags for the list of keywords we have identified as having changed.

As this new utility has only just been added, it cannot be run prior to updating the module. Hopefully you are updating a development environment. If you are directly updating a production environment (not recommended) then you should check your custom projects, views, scripts and tags from within the ignition designer. For future updates, this utility can be used prior to updating.
Here is a list of changes and views that have been touched.
Refactor Changes
Search for the following keywords.
- 'oeeType' - Was replaced with 'oeeEnabled'
- 'system.kanoa.item.addItemUnit' - was changed to return a tuple
Feel free to submit a support ticket if you would like help with updating from a previous version. As always we recommend you installing on a dev server prior to deploying to production.
Changes
Ops
- Added params for lotOperationIdList and lotOperationList to system.kanoa.lot.getLotEvents()
- Operations scheduling color coding doesn't work if config param is not set. This is fixed.
- Added 'downtime by item' analysis to the kanoa/mes/analytics/downtimeApex view and kanoa/core/dbp/widgets/analytics/assetDowntimeBarChart dashboard widget.
- Modified kanoa/mes/asset/overview/assetSummary/assetSummary view to correctly calculate aggregate OEE scores by time weighting production runs.
- Added system.kanoa.image functions for image manipulation.
- Added system.kanoa.file functions for file management.
- assetOEE UDT Work Order Change Script references an invalid tag. This is fixed.
- assetOEE UDT State change script for contiguous downtime events messes with last running state. This is fixed.
- system.kanoa.asset.adjustTimeForSite() has been removed.
- system.kanoa.utilities.getGatewayTimeZoneOffset() has been deprecated and all widgets now point to system.kanoa.date.getGatewayTimeZoneOffsetMins().
- New view kanoa/mes/analytics/enterpriseOEE has been added that calculates and show OEE scores for every level of an enterprise.
- Inheritable OEE thresholds has been added.
- 'Input Materials' tab has been removed from Item Configuration. This has been replaced by Trace.
- Add Batch capability. Assets can now be set with the process type of 'Batch' and standard rates can be set to 'Batch time in mins'. OEE Performance is then calculated as Batch time / runtime.
- Asset Import doesn't add items. This is fixed.
- Added logger view to App.
- When duplicating an asset, we also need to duplicate the sort order. This is fixed.
- updateShiftEvents() throwing exception if enterprise was set to 'oeeEnabled' and then disabled. This has been fixed.
- Added support for downtime category hierarchy.
- Updated scheduling to support batch processes.
- Add unique constraint to stateEvent and counterEvent. Fix for mqtt backflush.
- Saving a new dynamic attribute doesn't work in attribute editor. This is fixed.
- Specify some default dashboard on installation instead of a blank screen. Welcome dashboard is now displayed.
- Scheduler shows orders that cannot run on an asset if asset has no item links. This is fixed.
- Added new function system.kanoa.schedule.calcEventDuration() that calculates the expected duration it will take to complete a production run for a given item
- Asset selection is no longer cleared after making a change to an asset's configuration.
- assetShiftOOEGraph widget was not filtering out non-production mode events skewing the oee calculation. This is fixed.
- Added system.kanoa.order.addProductionOrderState().
- ModeDataEditor allows setting a modeEvent in the future. We now prevent future dates from being set.
- Unable to view actual qty in Production Orders table. This is fixed.
- The Add buttons on the Production Details counts screen stop working after the first button press. This is fixed.
- Cannot add counts if no counts exist in count Editor widget. This is fixed.
- When making a new enterprise, we get an unnecessary Toast message and the Asset Tree does not refresh automatically. This is fixed.
- Dynamic Attributes editor isn't working. This is fixed.
- Shift Scheduling - Exception thrown when saving recurring shift. This is fixed.
- system.kanoa.item.updateItemAttribute() fails. This is fixed.
Quality
- Added system.kanoa.quality.image functions for quality check image capture and storage.
- When duplicating a check sheet, the new check sheet doesn't get a Status. This is fixed.
- Can't delete a check sheet if it's been used. This is fixed.
- Check Item Triggers get cleared out every time you revise a check sheet
- QDS Test Fail Actions - Issue Check Sheet should limit its options to Released checks. This is fixed.
- Can't delete a check sheet if it's been used. This is fixed.
- Cannot add comments to a check item. This is fixed.
- Gateway Admins and users with configureQuality can now schedule a checksheet in draft or in revision.
- Cannot disable checksheets that are released. You can now.
- When 'Items' are enabled for a checksheet, you can select any item regardless of what was configured. We now limits the item options when scheduling.
- Quality sheets in non-Released status can be triggered. This is fixed.
- No way to revise images in check sheets. This is fixed.
- Duplicating a check item changes the name of the check item, but if you continue duplicating it will re-use the new name. This is fixed.
- Cannot put a checksheet back into revision if it has a trigger check. This is fixed.
- Any file can be attached to a check sheet as an image. Files are now limited to images.
- Images associated to quality tests aren't easily accessible when reviewing the test or data. You can now view images by double clicking on the check item in the analysis details view.
- Import check sheet is failing if a check sheet as a trigger check item. This is fixed.
- Automatic tests aren't given a "taken on" or "taken by" date, or a shift. This is fixed.
- Checksheet configuration will accept invalid tolerances/range values. We now validate tolerances.
- You can "trick" the Quality Check Sheets to let you revise a check that's released. This is fixed.
- Cannot link an item with an itemSet if that item is already linked with another itemSet. This is fixed.
- Check Details - Most recent record doesn't get a timestamp in Row View and doesn't appear in Column View. This is fixed.
- Checksheet not obeying Timed Interval settings if delay is not set. This is fixed.
- Quality - Shift heatmap throws error if no shifts are defined. This is fixed.
Trace
- detectCycle() function error in traceGraph when a lotOperationEvent has two output events and the lot was new. This is fixed.