SHOW:
|
|
- or go back to the newest paste.
| 1 | os.loadAPI("api/PID")
| |
| 2 | ||
| 3 | target = 13900 | |
| 4 | base = 26 | |
| 5 | settings = {
| |
| 6 | kp = 0.007, | |
| 7 | ki = 0.0005, | |
| 8 | kd = 0.000001, | |
| 9 | maxout = base, | |
| 10 | minout = base - 100 | |
| 11 | } | |
| 12 | ||
| 13 | pid = PID.new(settings) | |
| 14 | reactor = peripheral.wrap("back")
| |
| 15 | ||
| 16 | pid.target = target | |
| 17 | pid.input = 0 | |
| 18 | pid:compute() | |
| 19 | ||
| 20 | sleep(0.5) | |
| 21 | ||
| 22 | while true do | |
| 23 | pid.input = reactor.getHotFluidProducedLastTick() | |
| 24 | ||
| 25 | pid:compute() | |
| 26 | ||
| 27 | reactor.setAllControlRodLevels(base - pid.output) | |
| 28 | ||
| 29 | term.clear() | |
| 30 | term.setCursorPos(1, 1) | |
| 31 | print(pid.input) | |
| 32 | print(base - pid.output) | |
| 33 | ||
| 34 | sleep(0.1) | |
| 35 | end |