LazerAio

liquidCCreactor

Apr 8th, 2022 (edited)
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. --Credit ian for bulk of code
  2. error_prior = 0
  3. local integral_prior = 0
  4. local kp = 0.01
  5. local ki = 0
  6. local kd = 1
  7. local bias = 0
  8.  
  9. while true do
  10. sleep(0)
  11. setRps = 4000
  12. getRps = peripheral.wrap("left").fluidTank.coolFluid()
  13.  
  14. error = setRps - getRps
  15. integral = integral_prior+error
  16. derivative = error-error_prior
  17.  
  18. if integral*ki > 1 then
  19.  
  20.  
  21. integral = 1/ki
  22.  
  23. end
  24.  
  25.  
  26. if integral*ki < -0.1 then
  27.  
  28.  
  29. integral = 0/ki
  30.  
  31. end
  32.  
  33.  
  34.  
  35. value_out = kp*error+ki*integral+kd*derivative+bias
  36.  
  37. error_prior = error
  38.  
  39. integral_prior = integral
  40. if value_out > 100 then value_out = 100 end
  41. if value_out < 0 then value_out = 0 end
  42.  
  43.  
  44.  
  45.  
  46. peripheral.wrap("left").setAllControlRodLevels(value_out)
  47. end
  48.  
Add Comment
Please, Sign In to add comment