Simulator
Assets can be simulated using the assetSimulator tag UDT found in the Kanoa tag provider. You can create an instance for each asset you want to simulate and this will generate state changes and counts based on how you configure it.
Figure 1 - assetSimulator tag UDT
Once you have created and configured your assetSimulator instance, simply copy its tagPath to the assetOEE tag UDT instance parameter 'MQTTPath'. This setup enables the asset simulator to automatically update the assetOEE tags 'Input Count', 'Output Count' and 'State' tags with the simulation values.
Figure 2 - assetOEE Tag Instance
By default, the simulator runs once a minute.
The assetSimulator UDT contains three folders:
- Inputs: Formatted to match the Inputs folder of the Kanoa assetOEE UDT.
- SimProperties: Parameters used to control the behavior of the simulated asset.
- SimTimer: A timer and script that runs the simulation.
The SimProperties parameters are used as follows: Counter Parameters
- Infeed Increment Ideal: The ideal amount by which the infeed counter should increase per simulation tick under perfect conditions.
- Infeed Variability: Adds noise to the infeed increment. This is a value between 0 and 1, where 0 means no noise, and 1 allows the infeed increment to vary between zero and double its ideal value.
- Infeed Increment: The actual value used to increment the infeed counter on the last tick, considering the Performance Target, Quality Target, and Variability parameters.
- Outfeed Increment, Outfeed Increment Ideal, and Outfeed Variability: Function similarly to their infeed counterparts.
OEE Targets
- Performance Target: A user provided value between 0 and 1 that influences the performance component of the OEE calculation. This value affects the infeed and outfeed increments accordingly, where 0 represents 0% performance, and 1 represents 100%.
- Quality Target: Works the same way as the Performance Target. It adjusts the actual infeed and outfeed increments based on the desired output quality.
States
- State Table: Contains the state codes to be assigned to the asset UDT's state variable. It includes columns for the state code and the duration (number of simulation cycles) that each state code will be active.
- State Index: The current row being used in the State Table.
- State Run Code: The value in the State Table indicating the running state, used to coordinate updates in the simulation.
- State Ticker: The count of the number of cycles the simulator has been in the current state.
- Note that Availability OEE scores are controlled based on how the State Table is configured by the user.
Example Scenario By default, the simulator runs once every minute. With default settings, it increments the infeed and outfeed counters by 1 unit per tick, running at 100% performance and quality when the machine is active. Therefore, you can expect 60 parts per hour for both infeed and outfeed, as the simulation runs once per minute, 60 times per hour.
Developers may want to set their simulated assets _assetOpsViewPath to "kanoa/mes/asset/operation/simulatedAssetNav" for easy access to the Simulation Control GUI.
Figure 3 - Simulator Configuration Screen