KanoaMES v1.10
Release Date - 3/16/25
Implementation Guidance
This release package has been tested against Ignition 8.1.47.
The minimum required version of Ignition is 8.1.33
- kanoaMES_1_10_21.modl
- ApexCharts-signed 1.0.17.modl
- BIJC_Calendar_Component_v1.8.1.modl
Change Summary
Count Editor and Item States
We introduced the concept of item states in v1.9 to provide a mechanism for coding scrap reasons, identifying 'First Pass' vs 'Rework', as well as providing support for lines that run multiple production orders at the same time.
In v1.10, you can now configure item states for specific counters i.e infeed, outfeed or waste or all counters, and we have updated the Production Count Editor to dynamically generate count buttons based on your itemState configuration. The Count editor now has a tab to select between using buttons or the table. The table should still be used when assigning item or production orders to counts.
User Security
We made some changes to our user security to improve the performance of the user table when an Ignition user source is pointed to a very large set of users in Active Directory. You can now configure which user sources should be user to populate the user table from on the Configuration tab.
- We now return error messages if a user cannot be created or updated.
- Roles table now displays user source column. If a role is created through Kanoa, then its user source will be considered null.
- Roles table now has filter option that allows disabled roles to be shown. Option is by default false.
- Roles that originate from a user source cannot be entirely deleted, only disabled. Roles created through Kanoa may be deleted.
- Roles created through Kanoa may have their name changed by double-clicking to edit the cell. Roles that originate from a user source may not have their name changed.
- Fixed issue where users could not be edited if no assets had been defined.
Scheduling
- We improved the performance of shift and operations scheduling in preparation of additional intelligent scheduling features coming in future releases.
- Recurring Options has been updated and fixes applied to end on or after as well as 'Monthly'.
- Auto-Schedule toggles mode on Lines with simultaneous scheduled events. We now check and only set the mode to the first event found.
- Dragging a production order now correctly splits the order quantity across multiple events if an event gets split across shifts.
- Editing 'This and Following Events' selected the wrong day for sites with a large timezone difference. This is fixed.
- Recurring Shift Blocks with UNTIL keyword were slowing down the shift calendar. This has been fixed.
Schedulers can now choose between scheduling all or a partial amount when dragging production orders onto the calendar.
The calendar start day is now configurable, os if your week starts on a Monday, you can reflect that in the calendar.
Change Log
Installer
- Installer now forces a system.project.requestScan() after a module update.
Navigation
- Selecting Home will now navigate back to the default dashboard if a differnet dashboard was selected in the dashboard viewer.
Asset Management
- Can no longer save an asset if type is site and a timezone has not been selected.
- Asset Custom attributes could be modified but not saved when a user is not logged in. This has been fixed.
- Selected Asset keeps resetting to the persistent assetPath whenever you change the date in Production Order View. This has been fixed.
Production Order Management
- Production Order meta data can now be exported.
- system.kanoa.order.updateProductionOrderField() was not returning # of records modified correctly. This has been fixed.
- Work Orders do not show up in event selector once it has been scheduled. Have now added 'Scheduled' as a default selection to the filter options.
Material Management
- Material loading is slow in the Materials Configuration page when there is a large number of materials. This is fixed. We no longer show item attributes in the same table and also don't color code items when there are more than 500 materials to be displayed.
Lot Management
- Lot trace graph was including lots that were not part of the trace. This has been fixed.
- system.kanoa.lot.getLotQty() updated to fix date filtering issue
Styles
- Moved style rules in kanoaAPP stylesheet.css to css files. the advanced stylesheet is now for users.
Bug fixes
- Made changes to the DocBundlePrefix to fix issues with missing intellisense.
- Made changes to module exception logging to prevent nuisance errors being logged when changes were saved in the designer.
- Dateutil package dependency with io.py got broken with the latest Ignition 8.1.47 release. This has been fixed.
- Removed printing 'getUserAction' in the console. It was being written all over the place.
- Run Review editor doesn't work when 'By Shift' is enabled. Shift data didn't have the runStart column. This has been fixed.
- We now allow nulls for itemStateClassId meaning you can create an itemState that is not inside an itemStateClass
- Operations Panel showing 'none' when no units assigned. This has been fixed.
- Couldn't edit a mode start time if the mode was the same as subsequent modes in the Run Review screen. This has been fixed.
- Adding a mode in run review will get deleted by deleteDuplicateEvents() timer script. This has been fixed.
- Cannot view Dashboards when not logged in. This has been fixed.
- Asset Overview dashboard font got really small with many level of oee_enabled asset. This is fixed.
- Fixed the DowntimeByReason widget. Bars were being plotted on the pareto axis. Order of bar was not correct. This has been fixed.
- State Linking Table was getting cutoff in the bottom right of the screen. This has been fixed.
- Preview Marquee wasn't working. This has been fixed.
System Functions
- system.kanoa.security.addUser() and system.kanoa.security.updateUser() functions have been modified to return a tuple containing success/error message
- system.kanoa.schedule.getScheduleBlocks() updated to return item units
- system.kanoa.security.getTableUsers() and getTableRoles() functions added
- system.kanoa.security.addConfig(), updateConfig() and updateConfigField() functions added
- system.kanoa.schedule.adjustExistingEvents() updated
- system.kanoa.attribute.getAttributeEvents() updated to add more date filter options
- system.kanoa.lot.getLotQty() updated to fix date filtering issue
- system.kanoa.lot.getLots() updated to return itemUnitName
- system.kanoa.lot.traceLot() updated to filter lots by lotOperationEventId
- system.kanoa.order.updateProductionOrderField() was not returning # of records modified correctly. This has been fixed
- system.kanoa.utilities.createChecksum(dictInfo) added
- system.kanoa.schedule.checkAssetSchedule() updated
- system.kanoa.schedule.getCalendarEvents() updated
- system.kanoa.schedule.checkForScheduleOverlap() updated
- system.kanoa.date.getTimezoneOffsets() added
- system.kanoa.shift.getPreviousShift() and system.kanoa.shift.getCurrentShift() updated to speed up and fix invalid key error assetId
- system.kanoa.shift.getClosestAncestor() updated
- system.kanoa.event.assetOperationChange() updated to add setChildModeOnly bit to prevent workOrder being set on child assets. This was causing production order over-counting when an order was assigned to an oee_enabled assets that that child assets that were also oee_enabled.
- system.kanoa.item.getAssetItemStates() updated to fix assetPath filtering.
- system.kanoa.item.addItemState() and system.kanoa.item.updateItemState() updated to add counterTypeId
- system.kanoa.event.deleteCounterEvents() update to correctly return # of records modified
- system.kanoa.event.getCounterEventTotals() updated to support querying of null itemStates
- updateGlobals() function was showing up in intelli-sense. This is now a private function
System Functions
- Added assetTypeName to mes.vwCounterEvent