Readme files updates

This commit is contained in:
Emmanuel HC
2025-09-21 17:58:42 -05:00
parent 6dffd66af2
commit a60b0cb3ed
24 changed files with 454 additions and 597 deletions

22
src/README.md Normal file
View File

@@ -0,0 +1,22 @@
# 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