22 lines
1.5 KiB
Markdown
22 lines
1.5 KiB
Markdown
# Core Concepts
|
|
|
|
## Brief Introduction
|
|
This file explains the concepts of States and strategies, needed to modify the different programs.
|
|
|
|
## State concepts
|
|
The emulator operates on a state machine with three core states:
|
|
* **Standby**: The equipment is idle but ready.
|
|
* **Running**: The equipment is active and operational.
|
|
* **Fail**: The equipment has encountered a fault condition.
|
|
* **Other**: It's possible to add more states, but new states need to be generated in the core library as well; consider use the 3 basic states before adding more.
|
|
|
|
## Strategy concepts
|
|
The emulator is able to run different predefined strategies to control the modbus registers, this is the list of available strategies:
|
|
* **Single Value**: This strategy will set a value to a setpoint, it has the option to add noise to the value.
|
|
* **Random**: Random value between 0 and 100, can be used to L1 testing.
|
|
* **Ramp**: The selected value is going to be adjusted in a constant step rate, to a setpoint, setpoint can be updated in execution time.
|
|
* **Saw Wave**: Moves the value between two sepoints with constart increments, once it reaches the limit it will reverse direction.
|
|
* **Square Wave**: Constant change between two sepoints with instant change between them.
|
|
* **PID**: Full PID controller, you need to give a output, input and setpoint modbus address, PID calculate the output based on the input and the PID constants.
|
|
* **Totalizer**: Constant increment of a value, to emulate run hours.
|
|
For more details read the specific strategy implementation |