smort

mashsparge071219

Dec 6th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.24 KB | None | 0 0
  1.  
  2.  
  3. [setup]
  4. "Status" VariableType = String
  5. "Resumepoint" VariableType = String
  6. new value MLTSP
  7. MLTSP precision = 1
  8. new value mashpumprate
  9. mashpumprate = 80
  10. new value heatrate
  11. heatrate = 100
  12. new value mashrate
  13. mashrate = 44
  14. new value stuckmashlimit
  15. stuckmashlimit = 8
  16. new value striketemp2
  17. "BKL PID" target = 0
  18. "Dough in" state = false
  19. "Pauser" state = false
  20. "Mash timer" Type = CountDown
  21. stop "Boil timer"
  22. "Boil timer" Type = CountDown
  23. reset "Sparge timer"
  24. stop "Mash timer"
  25. "Resumepoint" value = "start"
  26. "Strike temp" value = 0
  27. "Sparge volume" value = 0
  28. "Preboil volume" value = 0
  29. "Mash temp" value = 0
  30. "Mash temp1" value = 0
  31. "Mash temp2" value = 0
  32. "Mash temp3" value = 0
  33. "Mash temp4" value = 0
  34. "Mash temp5" value = 0
  35. "Mash time1" value = 00:00:00
  36. "Mash time2" value = 00:00:00
  37. "Mash time3" value = 00:00:00
  38. "Mash time4" value = 00:00:00
  39. "Mash time5" value = 00:00:00
  40. "Hop time0" value = 0
  41. "Hop time1" value = 0
  42. "Hop time2" value = 0
  43. "Hop time3" value = 0
  44. "Hop time4" value = 0
  45. "Hop time5" value = 0
  46. "Hop time6" value = 0
  47. "Hop time7" value = 0
  48. "Hop time8" value = 0
  49. "Hop time9" value = 0
  50. "Boil time" value = 00:00:00
  51. "Boil timer" value = 00:00:00
  52. stop "hop timer"
  53. "hop timer" value = 00:02:00
  54. "Hopstand temp" value = 0
  55. "First wort" value = false
  56. "Status" value = "Send recipe data"
  57. wait "Status" value != "Send recipe data"
  58. "Status" value = "Delayed boil?"
  59. wait "Pauser" state == true
  60. "Pauser" state = false
  61.  
  62. [closevalves]
  63. "L1" state = off
  64. "CW" state = off
  65. "HW" state = off
  66. "HP" state = off
  67. "HR" state = off
  68. "HO" state = off
  69. "RV" value = 0
  70. "HMB" state = off
  71. "MP" state = off
  72. "MD" state = off
  73. "SV" value = 0
  74. "BP" state = off
  75. "HEI" state = off
  76. "HEB" state = off
  77. "BR" state = off
  78. "HEO" state = off
  79. "BW" state = off
  80. "HED" state = off
  81. "CWD" state = off
  82. sleep 4000
  83.  
  84. [waterfill]
  85. "Resumepoint" value = "waterfill"
  86. "Status" value = "CHecK hoses"
  87. wait "Pauser" state == true
  88. "Pauser" state = false
  89. "Status" value = "Ready for water"
  90. wait "Pauser" state == true
  91. "Pauser" state = false
  92. "Status" value = "Filling water"
  93. "HO" state = on
  94. "HMB" state = on
  95. "MD" state = on
  96. sleep 2000
  97. "HW" state = on
  98. "CW" state = on
  99. "L1" state = on
  100. sleep 15000
  101. "HR" state = on
  102. "HP" state = on
  103. "HO" state = off
  104. "HMB" state = off
  105. "MD" state = off
  106. wait "HLT volume" value >= "HLT fillvolume" value
  107. "HW" state = off
  108. "HLT pump" value = 50
  109. "HLT PID" Target = 78
  110. "BW" state = on
  111. "HED" state = on
  112. sleep 6000
  113. "MD" state = on
  114. sleep 3000
  115. "HEB" state = on
  116. "HED" state = off
  117. "HEO" state = on
  118. "HEI" state = on
  119. "SV" value = 100
  120. "HMB" state = on
  121. sleep 15000
  122. "HEB" state = off
  123. sleep 30000
  124. "MD" state = off
  125. "MP" state = on
  126. "RV" value = 100
  127. wait "MLT volume" value >= "Mash volume" value
  128. "BW" state = off
  129. "SV" value = 0
  130. "CW" state = off
  131. "CWD" state = on
  132.  
  133.  
  134. [mashprep]
  135. "Status" value = "MasHinGPrEp"
  136. "Boil timer" value = "Boil time" value
  137. "RIMS PID" Enabled = true
  138. "RIMS PID" target = "Strike temp" value + 5
  139. sleep 3000
  140. "RV" value = heatrate
  141. "MLT pump" value = mashpumprate
  142. "Status" value = "HEaTing"
  143. sleep 7000
  144. goto heating1
  145.  
  146. [heating1]
  147. "Resumepoint" value = "heating1"
  148. mashpumprate = "MLT pump" value
  149. striketemp2 = "Strike temp" value - 1
  150. if "MLT temp" value >= striketemp2
  151. "RIMS PID" target = "Strike temp" value
  152. endif
  153. if "Pauser" state == true
  154. "Pauser" State = false
  155. goto stopmash
  156. endif
  157. if "Dough in" state == true
  158. "RIMS PID" Enabled = false
  159. "Status" value = "StoPPiNg"
  160. stop "Mash timer"
  161. "RV" value = 0
  162. sleep 5000
  163. "MLT pump" value = 0
  164. "Mash timer" value = "Mash time1" value
  165. delete striketemp2
  166. "Dough in" state = false
  167. "Status" value = "aDD gRaiN"
  168. wait "Pauser" state == true
  169. "Pauser" state = false
  170. "RIMS PID" Enabled = true
  171. "RIMS PID" target = "Mash temp" value
  172. "Status" value = "StaRTinG"
  173. print "mashing started"
  174. "RV" value = mashrate
  175. "MLT pump" value = mashpumprate
  176. sleep 5000
  177. start "Mash timer"
  178. "Status" value = "MaShiNg"
  179. goto mash1
  180. endif
  181. if "MLT volume" value < stuckmashlimit
  182. "Stuck mash" Active = true
  183. goto stopmash
  184. endif
  185. if "MLT temp" value >= "Strike temp" value
  186. "Status" value = "ready for dough in"
  187. endif
  188. sleep 1000
  189. goto heating1
  190.  
  191. [mash1]
  192. "Resumepoint" value = "mash1"
  193. mashpumprate = "MLT pump" value
  194. if "Pauser" state == true
  195. mashrate = "RV" value
  196. goto stopmash
  197. endif
  198. if "MLT volume" value < stuckmashlimit
  199. "Stuck mash" Active = true
  200. mashrate = "RV" value
  201. goto stopmash
  202. endif
  203. if "Mash timer" value <= 00:00:00:00
  204. "RIMS PID" Target = "Mash temp1" value
  205. if "Mash temp1" value > 70
  206. if "HLT temp" value > 76
  207. stop "Mash timer"
  208. goto heating2
  209. endif
  210. else
  211. goto heating2
  212. endif
  213. endif
  214. sleep 1000
  215. goto mash1
  216.  
  217. [heating2]
  218. sleep 1000
  219. "Resumepoint" value = "heating2"
  220. mashpumprate = "MLT pump" value
  221. if "Pauser" state == true
  222. mashrate = "RV" value
  223. goto stopmash
  224. endif
  225. if "MLT volume" value < stuckmashlimit
  226. "Stuck mash" Active = true
  227. mashrate = "RV" value
  228. goto stopmash
  229. endif
  230. if "MLT temp" value >= "Mash temp1" value
  231. "RIMS PID" Target = "Mash temp1" value + 0.5
  232. "Mash timer" value = "Mash time2" value
  233. start "Mash timer"
  234. goto mash2
  235. endif
  236. sleep 1000
  237. goto heating2
  238.  
  239. [mash2]
  240. "Resumepoint" value = "mash2"
  241. mashpumprate = "MLT pump" value
  242. if "Pauser" state == true
  243. mashrate = "RV" value
  244. goto stopmash
  245. endif
  246. if "MLT volume" value < stuckmashlimit
  247. "Stuck mash" Active = true
  248. mashrate = "RV" value
  249. goto stopmash
  250. endif
  251. if "Mash timer" value <= 00:00:00:00
  252. if "Mash temp2" value > 70
  253. if "HLT temp" value > 76
  254. "RIMS PID" Target = "Mash temp2" value
  255. stop "Mash timer"
  256. goto heating3
  257. endif
  258. else
  259. "RIMS PID" Target = "Mash temp2" value
  260. stop "Mash timer"
  261. goto heating3
  262. endif
  263. endif
  264. sleep 1000
  265. goto mash2
  266.  
  267. [heating3]
  268. "Resumepoint" value = "heating3"
  269. mashpumprate = "MLT pump" value
  270. if "Pauser" state == true
  271. mashrate = "RV" value
  272. goto stopmash
  273. endif
  274. if "MLT volume" value < stuckmashlimit
  275. "Stuck mash" Active = true
  276. mashrate = "RV" value
  277. goto stopmash
  278. endif
  279. if "MLT temp" value >= "Mash temp2" value
  280. "RIMS PID" Target = "Mash temp2" value + 0.5
  281. "Mash timer" value = "Mash time3" value
  282. start "Mash timer"
  283. goto mash3
  284. endif
  285. sleep 1000
  286. goto heating3
  287.  
  288. [mash3]
  289. "Resumepoint" value = "mash3"
  290. mashpumprate = "MLT pump" value
  291. if "Pauser" state == true
  292. mashrate = "RV" value
  293. goto stopmash
  294. endif
  295. if "MLT volume" value < stuckmashlimit
  296. "Stuck mash" Active = true
  297. mashrate = "RV" value
  298. goto stopmash
  299. endif
  300. if "Mash timer" value <= 00:00:00:00
  301. if "Mash temp3" value > 70
  302. if "HLT temp" value > 76
  303. "RIMS PID" Target = "Mash temp3" value
  304. stop "Mash timer"
  305. goto heating4
  306. endif
  307. else
  308. "RIMS PID" Target = "Mash temp3" value
  309. stop "Mash timer"
  310. goto heating4
  311. endif
  312. endif
  313. sleep 1000
  314. goto mash3
  315.  
  316. [heating4]
  317. "Resumepoint" value = "heating4"
  318. mashpumprate = "MLT pump" value
  319. if "Pauser" state == true
  320. mashrate = "RV" value
  321. goto stopmash
  322. endif
  323. if "MLT volume" value < stuckmashlimit
  324. "Stuck mash" Active = true
  325. mashrate = "RV" value
  326. goto stopmash
  327. endif
  328. if "MLT temp" value >= "Mash temp3" value
  329. "RIMS PID" Target = "Mash temp3" value + 0.5
  330. "Mash timer" value = "Mash time4" value
  331. start "Mash timer"
  332. goto mash4
  333. endif
  334. sleep 1000
  335. goto heating4
  336.  
  337. [mash4]
  338. "Resumepoint" value = "mash4"
  339. mashpumprate = "MLT pump" value
  340. if "Pauser" state == true
  341. mashrate = "RV" value
  342. goto stopmash
  343. endif
  344. if "MLT volume" value < stuckmashlimit
  345. "Stuck mash" Active = true
  346. mashrate = "RV" value
  347. goto stopmash
  348. endif
  349. if "Mash timer" value <= 00:00:00:00
  350. if "Mash temp4" value > 70
  351. if "HLT temp" value > 76
  352. "RIMS PID" Target = "Mash temp4" value
  353. stop "Mash timer"
  354. goto heating5
  355. endif
  356. else
  357. "RIMS PID" Target = "Mash temp4" value
  358. stop "Mash timer"
  359. goto heating5
  360. endif
  361. endif
  362. sleep 1000
  363. goto mash4
  364.  
  365. [heating5]
  366. "Resumepoint" value = "heating5"
  367. mashpumprate = "MLT pump" value
  368. if "Pauser" state == true
  369. mashrate = "RV" value
  370. goto stopmash
  371. endif
  372. if "MLT volume" value < stuckmashlimit
  373. "Stuck mash" Active = true
  374. mashrate = "RV" value
  375. goto stopmash
  376. endif
  377. if "MLT temp" value >= "Mash temp4" value
  378. "RIMS PID" Target = "Mash temp4" value + 0.5
  379. "Mash timer" value = "Mash time5" value
  380. start "Mash timer"
  381. goto mash5
  382. endif
  383. sleep 1000
  384. goto heating5
  385.  
  386. [mash5]
  387. "Resumepoint" value = "mash5"
  388. mashpumprate = "MLT pump" value
  389. if "Pauser" state == true
  390. mashrate = "RV" value
  391. goto stopmash
  392. endif
  393. if "MLT volume" value < stuckmashlimit
  394. "Stuck mash" Active = true
  395. mashrate = "RV" value
  396. goto stopmash
  397. endif
  398. if "Mash timer" value <= 00:00:00
  399. if "HLT temp" value > 76
  400. stop "Mash timer"
  401. "Resumepoint" value = "spargeprep"
  402. goto spargeprep
  403. endif
  404. endif
  405. sleep 1000
  406. goto mash5
  407.  
  408. [stopmash]
  409. "Status" value = "StoPPiNg"
  410. stop "Mash timer"
  411. "RIMS PID" Enabled = false
  412. "RV" value = 0
  413. sleep 5000
  414. "MLT pump" value = 0
  415. "Stuck mash" Active = false
  416. "Pauser" state = false
  417. "Status" value = "PaUsED"
  418. wait "Pauser" state == true
  419. "Status" value = "StaRTinG"
  420. "Pauser" state = false
  421. if "Resumepoint" value == "heating1"
  422. "RV" value = heatrate
  423. else
  424. "RV" value = mashrate
  425. endif
  426. "MLT pump" value = mashpumprate
  427. sleep 5000
  428. "RIMS PID" Enabled = true
  429. if "Resumepoint" value == "heating1"
  430. "Status" value = "HEaTing"
  431. goto heating1
  432. endif
  433. if "Resumepoint" value == "mash1"
  434. "Status" value = "MaShiNg"
  435. start "Mash timer"
  436. goto mash1
  437. endif
  438. if "Resumepoint" value == "heating2"
  439. "Status" value = "HEaTing"
  440. goto heating2
  441. endif
  442. if "Resumepoint" value == "mash2"
  443. "Status" value = "MaShiNg"
  444. start "Mash timer"
  445. goto mash2
  446. endif
  447. if "Resumepoint" value == "heating3"
  448. "Status" value = "HEaTing"
  449. goto heating3
  450. endif
  451. if "Resumepoint" value == "mash3"
  452. "Status" value = "MaShiNg"
  453. start "Mash timer"
  454. goto mash3
  455. endif
  456. if "Resumepoint" value == "heating4"
  457. "Status" value = "HEaTing"
  458. goto heating4
  459. endif
  460. if "Resumepoint" value == "mash4"
  461. "Status" value = "MaShiNg"
  462. start "Mash timer"
  463. goto mash4
  464. endif
  465. if "Resumepoint" value == "heating5"
  466. "Status" value = "HEaTing"
  467. goto heating5
  468. endif
  469. if "Resumepoint" value == "mash5"
  470. "Status" value = "MaShiNg"
  471. start "Mash timer"
  472. goto mash5
  473. endif
  474.  
  475.  
  476. [spargeprep]
  477. delete mashpumprate
  478. delete mashrate
  479. delete mashpumprate
  480. delete heatrate
  481. delete stuckmashlimit
  482. new bool boilstart
  483. new bool finished
  484. new value MLTintegrator
  485. new value MLTtoplevel
  486. new value MLTmaxlevel
  487. new value MLTSPmaxlevel
  488. new value MLTlowlevel
  489. new value lastMLTlevel
  490. new value MLTleveldiff
  491. new value averageMLTlevel
  492. new value averagecounter
  493. new value lasthltvlv
  494. new value lastbklvlv
  495. new value spargeloopcounter
  496. new value flowcounter
  497. new bool airout
  498. flowcounter = -20
  499. new value flowmin
  500. flowmin = 0.9
  501. new value flowmax
  502. flowmax = 1.1
  503. new bool spargedone
  504. spargedone = false
  505. "RIMS PID" target = 0
  506. "RIMS PID" enabled = false
  507. "HLT flow" enabled = false
  508. "Pauser" state = false
  509. "HLT pump" value = 0
  510. "MLT pump" value = 0
  511. "RV" value = 0
  512. "SV" value = 0
  513. "HMB" state = off
  514. "HR" state = off
  515. "HO" state = on
  516. "BR" state = on
  517. "BP" state = on
  518. "Status" value = "SpArgEPrEp"
  519. sleep 30000
  520. "HLT pump" value = 50
  521. "MLT pump" value = 75
  522. "RV" value = 39
  523. "SV" value = 39
  524. "HLT flow" enabled = true
  525. sleep 15000
  526. MLTSP = "MLT volume" value
  527. lastMLTlevel = "MLT volume" value
  528. MLTtoplevel = MLTSP + 0.1
  529. MLTlowlevel = MLTSP - 0.1
  530. MLTmaxlevel = 51
  531. MLTSPmaxlevel = MLTSP + 5
  532. reset "Sparge timer"
  533. start "Sparge timer"
  534. "Status" value = "SpArgE"
  535. stop "hop timer"
  536. "hop timer" value = 00:02:00
  537. goto sparge
  538.  
  539. [sparge]
  540. if MLTSP != MLTSP
  541. MLTtoplevel = MLTSP + 0.1
  542. MLTlowlevel = MLTSP - 0.1
  543. endif
  544. if "Pauser" state == true
  545. lasthltvlv = "RV" value
  546. lastbklvlv = "SV" value
  547. "Pauser" state = false
  548. goto stopsparge
  549. endif
  550. if "MLT volume" value > MLTmaxlevel
  551. "Status" value = "high level"
  552. "MLTmax" active = true
  553. print "high level"
  554. goto stopsparge
  555. endif
  556. if "MLT volume" value > MLTSPmaxlevel
  557. "Status" value = "high level"
  558. "MLTmax" active = true
  559. print "high level"
  560. goto stopsparge
  561. endif
  562. if "BKL volume" value >= 11
  563. if boilstart == false
  564. "BKL PID" enabled = true
  565. "BKL PID" Target = 98.8
  566. print "BKL heating started"
  567. boilstart = true
  568. endif
  569. endif
  570. if "BKL volume" value >= "Preboil volume" value
  571. if "Preboil volume" value >= 10
  572. lasthltvlv = "RV" value
  573. lastbklvlv = "SV" value
  574. finished = true
  575. goto stopsparge
  576. endif
  577. endif
  578. if airout == false
  579. if "BKL volume" value >= 8
  580. if "BP" state == on
  581. airout = true
  582. "BP" state = off
  583. endif
  584. endif
  585. endif
  586.  
  587. if spargedone == false
  588. if spargeloopcounter >= 40
  589. averageMLTlevel = averagecounter / 40
  590. averagecounter = 0
  591. MLTleveldiff = averageMLTlevel - lastMLTlevel
  592. MLTintegrator = MLTleveldiff * 3
  593. "SV" value += MLTintegrator
  594. if averageMLTlevel > MLTtoplevel
  595. if MLTleveldiff > 0.02
  596. "SV" value += 0.5
  597. endif
  598. endif
  599. if averageMLTlevel < MLTlowlevel
  600. if MLTleveldiff < -0.02
  601. "SV" value -= 0.5
  602. endif
  603. endif
  604. lastMLTlevel = averageMLTlevel
  605. spargeloopcounter = 0
  606. endif
  607. if flowcounter >= 20
  608. if "HLT flow" rate <= flowmin
  609. "RV" value += 0.5
  610. endif
  611. if "HLT flow" rate >= flowmax
  612. "RV" value -= 0.5
  613. endif
  614. flowcounter = 0
  615. endif
  616. if "HLT flow" total >= "Sparge volume" value
  617. flowmin = 0
  618. flowmax = 0
  619. "RV" value = 0
  620. spargedone = true
  621. print "sparge volume reached"
  622. sleep 3000
  623. "HLT pump" value = 0
  624. "HLT PID" Target = 0
  625. endif
  626. averagecounter += "MLT volume" value
  627. spargeloopcounter += 1
  628. flowcounter += 1
  629. endif
  630. if "First wort" value == true
  631. "Hop alarm" state = true
  632. "Status" value = "First wort hop"
  633. start "hop timer"
  634. "First wort" value = false
  635. endif
  636. if "hop timer" value <= 00:00:00
  637. "Status" value = "SpArgE"
  638. stop "hop timer"
  639. "hop timer" value = 00:02:00
  640. endif
  641. if "Hop alarm" state == true
  642. "Hop addition" Active = true
  643. else
  644. "Hop addition" Active = false
  645. endif
  646. sleep 500
  647. goto sparge
  648.  
  649. [stopsparge]
  650. "RV" value = 0
  651. "SV" value = 0
  652. if "MLTmax" active == true
  653. sleep 3000
  654. "MLTmax" active = false
  655. else
  656. "Status" value = "StoPPiNg"
  657. sleep 3000
  658. "Status" value = "PaUsED"
  659. endif
  660. "HLT pump" value = 0
  661. "MLT pump" value = 0
  662. stop "Sparge timer"
  663. if finished == true
  664. "BKL PID" Target = 104
  665. "Status" value = "Heating"
  666. print "sparging done"
  667. "RIMS PID" Enabled = true
  668. "RIMS PID" Target = 0
  669. "HLT PID" Target = 0
  670. "The end" Active = true
  671. sleep 3000
  672. "The end" Active = false
  673. "SV" value = 0
  674. "MD" state = on
  675. wait "BKL temp" value >= 97
  676. if "Delayed boil" state == true
  677. "Status" value = "Delayed BoiL!"
  678. "BKL PID" Target = 71
  679. goto wait
  680. else
  681. goto boilprep
  682. endif
  683. wait "Pauser" state == true
  684. "HLT pump" value = 50
  685. "MLT pump" value = 50
  686. "RV" value = lasthltvlv
  687. "SV" value = lastbklvlv
  688. "RV" value = 0
  689. "Pauser" state = false
  690. start "Sparge timer"
  691. "Status" value = "SpArgE"
  692. goto sparge
  693.  
  694. [wait]
  695. "Status" value = "Delayed Boil"
  696. "Waiting" Active = true
  697. sleep 3000
  698. "Waiting" Active = false
  699. "Status" value = "Start boil?"
  700. wait "Pauser" state == true
  701. "Pauser" state = false
  702. "Status" value = "Confirm"
  703. wait "Pauser" state == true
  704. "Pauser" state = false
  705. "BKL PID" target = 104
  706. goto boilprep
  707.  
  708. [boilprep]
  709. delete bool boilstart
  710. delete bool finished
  711. delete value MLTintegrator
  712. delete value MLTtoplevel
  713. delete value MLTlowlevel
  714. delete value lastMLTlevel
  715. delete value MLTleveldiff
  716. delete value averageMLTlevel
  717. delete value averagecounter
  718. delete value lasthltvlv
  719. delete value lastbklvlv
  720. delete value spargeloopcounter
  721. delete value flowcounter
  722. delete value flowmin
  723. delete value flowmax
  724. delete bool spargedone
  725. new bool boilstop
  726. boilstop = false
  727. "Status" value = "heating to boil"
  728. "Boil timer" value = "Boil time" value
  729. wait "BKL temp" value >= 99.5
  730. "KO" state = on
  731. start "Boil timer"
  732. "Status" value = "boiling"
  733. "Boil mode" state = true
  734. "Boilpower" value = 75
  735. stop "hop timer"
  736. "hop timer" value = 00:02:00
  737. print "boiling start"
  738. "Boiling" active = true
  739. sleep 1500
  740. "Boiling" active = false
  741. goto boil
  742.  
  743. [boil]
  744. if "BKL temp" value <= 98.8
  745. if boilstop == false
  746. "Boilpower" value = 100
  747. stop "Boil timer"
  748. boilstop = true
  749. endif
  750. endif
  751.  
  752. if "BKL temp" value >= 99.3
  753. if boilstop == true
  754. "Boilpower" value = 75
  755. start "Boil timer"
  756. boilstop == false
  757. endif
  758.  
  759. if "Boil timer" value <= "Hop time0" value
  760. new time hoptime00
  761. hoptime00 = "Hop time0" value - 00:00:04
  762. if "Boil timer" value >= hoptime00
  763. "Hop alarm" State = true
  764. if "Boil timer" value < 00:15:00
  765. if "Boil timer" value > 00:14:40
  766. "Status" value = "protafloc"
  767. else
  768. "Status" value = "hop addition"
  769. endif
  770. endif
  771. delete hoptime00
  772. start "hop timer"
  773. endif
  774. endif
  775. if "Boil timer" value <= "Hop time1" value
  776. new time hoptime00
  777. hoptime00 = "Hop time1" value - 00:00:04
  778. if "Boil timer" value >= hoptime00
  779. "Hop alarm" State = true
  780. if "Boil timer" value < 00:15:00
  781. if "Boil timer" value > 00:14:40
  782. "Status" value = "protafloc"
  783. else
  784. "Status" value = "hop addition"
  785. endif
  786. endif
  787. delete hoptime00
  788. start "hop timer"
  789. endif
  790. endif
  791. if "Boil timer" value <= "Hop time2" value
  792. new time hoptime00
  793. hoptime00 = "Hop time2" value - 00:00:04
  794. if "Boil timer" value >= hoptime00
  795. "Hop alarm" State = true
  796. if "Boil timer" value < 00:15:00
  797. if "Boil timer" value > 00:14:40
  798. "Status" value = "protafloc"
  799. else
  800. "Status" value = "hop addition"
  801. endif
  802. endif
  803. delete hoptime00
  804. start "hop timer"
  805. endif
  806. endif
  807. if "Boil timer" value <= "Hop time3" value
  808. new time hoptime00
  809. hoptime00 = "Hop time3" value - 00:00:04
  810. if "Boil timer" value >= hoptime00
  811. "Hop alarm" State = true
  812. if "Boil timer" value < 00:15:00
  813. if "Boil timer" value > 00:14:40
  814. "Status" value = "protafloc"
  815. else
  816. "Status" value = "hop addition"
  817. endif
  818. endif
  819. delete hoptime00
  820. start "hop timer"
  821. endif
  822. endif
  823. if "Boil timer" value <= "Hop time4" value
  824. new time hoptime00
  825. hoptime00 = "Hop time4" value - 00:00:04
  826. if "Boil timer" value >= hoptime00
  827. "Hop alarm" State = true
  828. if "Boil timer" value < 00:15:00
  829. if "Boil timer" value > 00:14:40
  830. "Status" value = "protafloc"
  831. else
  832. "Status" value = "hop addition"
  833. endif
  834. endif
  835. delete hoptime00
  836. start "hop timer"
  837. endif
  838. endif
  839. if "Boil timer" value <= "Hop time5" value
  840. new time hoptime00
  841. hoptime00 = "Hop time5" value - 00:00:04
  842. if "Boil timer" value >= hoptime00
  843. "Hop alarm" State = true
  844. if "Boil timer" value < 00:15:00
  845. if "Boil timer" value > 00:14:40
  846. "Status" value = "protafloc"
  847. else
  848. "Status" value = "hop addition"
  849. endif
  850. endif
  851. delete hoptime00
  852. start "hop timer"
  853. endif
  854. endif
  855. if "Boil timer" value <= "Hop time6" value
  856. new time hoptime00
  857. hoptime00 = "Hop time6" value - 00:00:04
  858. if "Boil timer" value >= hoptime00
  859. "Hop alarm" State = true
  860. if "Boil timer" value < 00:15:00
  861. if "Boil timer" value > 00:14:40
  862. "Status" value = "protafloc"
  863. else
  864. "Status" value = "hop addition"
  865. endif
  866. endif
  867. delete hoptime00
  868. start "hop timer"
  869. endif
  870. endif
  871. if "Boil timer" value <= "Hop time7" value
  872. new time hoptime00
  873. hoptime00 = "Hop time7" value - 00:00:04
  874. if "Boil timer" value >= hoptime00
  875. "Hop alarm" State = true
  876. if "Boil timer" value < 00:15:00
  877. if "Boil timer" value > 00:14:40
  878. "Status" value = "protafloc"
  879. else
  880. "Status" value = "hop addition"
  881. endif
  882. endif
  883. delete hoptime00
  884. start "hop timer"
  885. endif
  886. endif
  887. if "Boil timer" value <= "Hop time8" value
  888. new time hoptime00
  889. hoptime00 = "Hop time8" value - 00:00:04
  890. if "Boil timer" value >= hoptime00
  891. "Hop alarm" State = true
  892. if "Boil timer" value < 00:15:00
  893. if "Boil timer" value > 00:14:40
  894. "Status" value = "protafloc"
  895. else
  896. "Status" value = "hop addition"
  897. endif
  898. endif
  899. delete hoptime00
  900. start "hop timer"
  901. endif
  902. endif
  903. if "Boil timer" value <= 00:15:00
  904. new time hoptime00
  905. hoptime00 = 00:15:00 - 00:00:04
  906. if "Boil timer" value >= hoptime00
  907. "Hop alarm" State = true
  908. if "Boil timer" value < 00:15:00
  909. if "Boil timer" value > 00:14:40
  910. "Status" value = "protafloc"
  911. else
  912. "Status" value = "hop addition"
  913. endif
  914. endif
  915. delete hoptime00
  916. start "hop timer"
  917. endif
  918. endif
  919. if "Boil timer" value <= "Hop time9" value
  920. new time hoptime00
  921. hoptime00 = "Hop time9" value - 00:00:04
  922. if "Boil timer" value >= hoptime00
  923. "Hop alarm" State = true
  924. "Status" value = "hop addition"
  925. delete hoptime00
  926. start "hop timer"
  927. endif
  928. endif
  929.  
  930. if "Boil timer" value <= -00:00:04
  931. stop "Boil timer"
  932. reset "Boil timer"
  933. "Boil mode" state = false
  934. "Boilpower" value = 0
  935. "BKL pump" value = 60
  936. "BP" state = on
  937. "HEI" state = on
  938. "HEO" state = on
  939. sleep 2000
  940. "HP" state = off
  941. "HR" state = off
  942. "CWD" state = off
  943. "HW" state = on
  944. "HO" state = on
  945. "HMB" state = on
  946. "MD" state = on
  947. sleep 1000
  948. "CW" state = on
  949. sleep 5000
  950. if "MLT volume" value <= 6
  951. "MD" state = off
  952. "RV" value = 100
  953. "MP" state = on
  954. else
  955. if "HLT volume" value <= 45
  956. "MD" state = off
  957. "HP" state = on
  958. "HR" state = on
  959. else
  960. "CWD" state = on
  961. "HW" state = off
  962. endif
  963. endif
  964. if "Hopstand time" value > 00:00:00
  965. "BKL PID" target = "Hopstand temp" value
  966. "Boil timer" value = "Hopstand time" value
  967. "Status" value = "Hopstand"
  968. "Resumepoint" value = "hopstand"
  969. new bool timerstarted
  970. timerstarted = false
  971. goto hopstand
  972. else
  973. "Status" value = "cooling"
  974. "Resumepoint" value = "finished"
  975. "BKL PID" target = 0
  976. "KO" state = off
  977. goto cooling
  978. endif
  979. endif
  980.  
  981. if "hop timer" value <= 00:00:00
  982. "Status" value = "boiling"
  983. "Resumepoint" value = "finished"
  984. stop "hop timer"
  985. "hop timer" value = 00:02:00
  986. endif
  987.  
  988. sleep 1000
  989. goto boil
  990.  
  991. [hopstand]
  992. if "BKL temp" value <= "Hopstand temp" value
  993. if timerstarted == false
  994. start "Boil timer"
  995. timerstarted = true
  996. "Hop alarm" State = true
  997. "Status" value = "hop addition"
  998. start "hop timer"
  999. "CW" state = off
  1000. "KO" state = off
  1001. "BKL pump" value = 0
  1002. endif
  1003. endif
  1004.  
  1005. if "Boil timer" value <= 00:00:00
  1006. if "Boil timer" value >= -00:00:03
  1007. "Status" value = "cooling"
  1008. "Resumepoint" value = "finished"
  1009. "BKL PID" target = 0
  1010. "CW" state = on
  1011. "BKL pump" value = 60
  1012. goto cooling
  1013. endif
  1014. endif
  1015.  
  1016. if "HLT volume" value >= 52
  1017. if "HW" state == on
  1018. if "CWD" state == off
  1019. "CWD" state = on
  1020. sleep 1000
  1021. "HW" state = off
  1022. endif
  1023. endif
  1024. endif
  1025.  
  1026. if "MLT volume" value >= 8
  1027. if "HW" state == on
  1028. if "HO" state == on
  1029. "HR" state = on
  1030. "HP" state = on
  1031. "HO" state = off
  1032. sleep 3000
  1033. "HMB" state = on
  1034. "MP" state = on
  1035. "RV" value = 100
  1036. sleep 3000
  1037. "MLT pump" value = 50
  1038. sleep 2000
  1039. "RIMS PID" target = 65
  1040. endif
  1041. endif
  1042. endif
  1043.  
  1044. if "The end" Active == true
  1045. if "Boil timer" value <= -00:00:05
  1046. "The end" Active = false
  1047. stop "Boil timer"
  1048. reset "Boil timer"
  1049. endif
  1050. endif
  1051.  
  1052. if "hop timer" value <= 00:00:00
  1053. "Status" value = "hopstand"
  1054. stop "hop timer"
  1055. "hop timer" value = 00:02:00
  1056. endif
  1057.  
  1058. sleep 1000
  1059. goto hopstand
  1060.  
  1061. [cooling]
  1062. if "HLT volume" value >= 52
  1063. if "HW" state == on
  1064. if "CWD" state == off
  1065. "CWD" state = on
  1066. sleep 1000
  1067. "HW" state = off
  1068. endif
  1069. endif
  1070. endif
  1071.  
  1072. if "MLT volume" value >= 8
  1073. if "HW" state == on
  1074. if "HO" state == on
  1075. "HR" state = on
  1076. "HP" state = on
  1077. "HO" state = off
  1078. sleep 3000
  1079. "HMB" state = on
  1080. "MP" state = on
  1081. "RV" value = 100
  1082. sleep 3000
  1083. "MLT pump" value = 50
  1084. sleep 2000
  1085. "RIMS PID" target = 65
  1086. endif
  1087. endif
  1088. endif
  1089.  
  1090. sleep 1000
  1091. goto cooling
Advertisement
Add Comment
Please, Sign In to add comment