wgts_main.php 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. <?php
  2. // include helper functions
  3. include "wgts_functions.php";
  4. // include channel list
  5. include "wgts_channels.php";
  6. $color = "#000000";
  7. // link to STS status overview
  8. placeTextWithWebsiteLink(0, 1130, "STS", 140, 40, $color, "STS Status Overview", "../");
  9. // link to DPS status overview
  10. placeTextWithWebsiteLink(153, 1480, "DPS", 70, 6, $color, "DPS Status Overview", "http://bora-dps.kaas.kit.edu/");
  11. // if DPS magnetic field is ramped, show warning on WGTS status monitor
  12. $thresDPS = 0.1; // magnet B in T
  13. $tol = 180; // hall sensor B in mT 55
  14. //$cali = array( 800, -800, 800, -800, 800, -800, 808, -769, 736, -778 );
  15. // calibration from M. Erhard
  16. $cali = array( 760, -760, 760, -760, 760, -760, 808, -769, 736, -778 );
  17. $DPSramped = "false";
  18. for ($index = 1; $index <= 5; $index++)
  19. {
  20. $value = ( (5.5 * $adeiValue[0][2*($index-1)] / $cali[2*($index-1)]) + (5.5 * $adeiValue[0][1 + 2*($index-1)] / $cali[1 + 2*($index-1)]) ) / 2.0 ;
  21. if ( abs($value)>$thresDPS )
  22. {
  23. $DPSramped = "true";
  24. }
  25. }
  26. if ( $DPSramped == "true" )
  27. {
  28. $color = "#FF0000";
  29. placeText(100, 1480, "Magnets On", 30, 5, $color);
  30. }else{
  31. placeText(100, 1480, 'Magnets Off', 30, 5, $color);
  32. }
  33. $color = "#000000"; // reset color to black
  34. // link to alternative WGTS status overview
  35. placeTextWithWebsiteLink(580, 5, "WGTS tech", 200, 6, $color, "Technical WGTS Status Overview", "http://bora-wgts.kaas.kit.edu/");
  36. // link to WGTS magnet status overview
  37. placeTextWithWebsiteLink(620, 30, "Magnets", 70, 6, $color, "WGTS Magnet Status Overview", "https://bora-mcs.kaas.kit.edu/");
  38. // LHe and LN2 supply
  39. for ( $ii=2; $ii <= 3; $ii++)
  40. {
  41. $Level = $adeiValue[$ii][0]/100;
  42. $posXPic = 506; // 506 for LHe, 506+445 for LN
  43. $posYPic = 106;
  44. $TankPic = "WGTS-Schema-";
  45. $posXLevel = 690; // 700 for LHe, 700+445-155 for LN
  46. $posYLevel = 180;
  47. $posXPres = $posXLevel; // 700 for LHe, 700+445-155 for LN
  48. $posYPres = 150;
  49. $posXTemp = $posXPres; // 700 for LHe, 700+445-155 for LN
  50. $posYTemp = 120;
  51. if ( $ii == 2 )
  52. {
  53. $TankPic = $TankPic."LN";
  54. $posXPic += 445;
  55. $posXPres += 445-155;
  56. $posXTemp = $posXPres;
  57. $posXLevel = $posXPres;
  58. $title = "LN2 buffer vessel";
  59. }else if ( $ii ==3 )
  60. {
  61. $TankPic = $TankPic."LHe";
  62. $title = "LHe buffer vessel";
  63. }
  64. if ( $Level>=0.0 && $Level<0.05 )
  65. {
  66. placePicOrig($posYPic, $posXPic, $TankPic."0".".png", $title);
  67. }else if ( $Level>=0.05 && $Level<0.40 )
  68. {
  69. placePicOrig($posYPic, $posXPic, $TankPic."25".".png", $title);
  70. }else if ( $Level>=0.40 && $Level<0.60 )
  71. {
  72. placePicOrig($posYPic, $posXPic, $TankPic."50".".png", $title);
  73. }else if ( $Level>=0.60 && $Level<0.95 )
  74. {
  75. placePicOrig($posYPic, $posXPic, $TankPic."75".".png", $title);
  76. }else if ( $Level>=0.95 && $Level<=1.00 )
  77. {
  78. placePicOrig($posYPic, $posXPic, $TankPic."100".".png", $title);
  79. }
  80. // Level of LHe / LN2 buffer vessel
  81. $level = sprintf('%.1F', $adeiValue[$ii][0])."%";
  82. placeTextWithLink($posYLevel, $posXLevel, $level, 70, 5, $color, $KatrinNumber[$ii][0], $adeiChannel[$ii][0]);
  83. // Pressure of LHe / LN2 buffer vessel
  84. $pres = sprintf('%.1F', $adeiValue[$ii+2][0])." bar";
  85. placeTextWithLink($posYPres, $posXPres, $pres, 80, 5, $color, $KatrinNumber[$ii+2][0], $adeiChannel[$ii+2][0]);
  86. // Temperature of LHe / LN2 buffer vessel
  87. $temp = sprintf('%.1F', $adeiValue[$ii+15][0])." K";
  88. placeTextWithLink($posYTemp, $posXTemp, $temp, 80, 5, $color, $KatrinNumber[$ii+15][0], $adeiChannel[$ii+15][0]);
  89. }
  90. // DPS1-R beamtube temperature
  91. $posX = 100;
  92. $posY = 400;
  93. for ($ii = 0; $ii < sizeof($adeiValue[6]); $ii++)
  94. {
  95. if ( $ii&1 ) // odd index
  96. {
  97. $posY = 379;
  98. }else // even index
  99. {
  100. $posY = 415;
  101. $posX = $ii*36;
  102. }
  103. $temp = sprintf('%.1F', $adeiValue[6][$ii])." K";
  104. placeTextWithLink($posY, $posX+95, $temp, 60, 2, $color, $KatrinNumber[6][$ii], $adeiChannel[6][$ii]);
  105. }
  106. for ($ii = 0; $ii < sizeof($adeiValue[7]); $ii++)
  107. {
  108. if ( $ii&1 ) // odd index
  109. {
  110. $posY = 379;
  111. }else // even index
  112. {
  113. $posY = 415;
  114. $posX = $ii*36;
  115. }
  116. $temp = sprintf('%.1F', $adeiValue[7][$ii])." K";
  117. placeTextWithLink($posY, $posX+315, $temp, 60, 2, $color, $KatrinNumber[7][$ii], $adeiChannel[7][$ii]);
  118. }
  119. // Source beamtube temperature
  120. for ($ii = 0; $ii < sizeof($adeiValue[8]); $ii++)
  121. {
  122. if ( $ii&1 ) // odd index
  123. {
  124. $posY = 379;
  125. }else // even index
  126. {
  127. $posY = 415;
  128. $posX = $ii*53;
  129. }
  130. //if ( $ii == 2 ) continue; // 200-RTP-3-5109 shows large variations
  131. $temp = sprintf('%.1F', $adeiValue[8][$ii])." K";
  132. placeTextWithLink($posY, 980-$posX, $temp, 60, 2, $color, $KatrinNumber[8][$ii], $adeiChannel[8][$ii]);
  133. }
  134. // DPS1-F beamtube temperature
  135. for ($ii = 0; $ii < sizeof($adeiValue[9]); $ii++)
  136. {
  137. if ( $ii&1 ) // odd index
  138. {
  139. $posY = 379;
  140. }else // even index
  141. {
  142. $posY = 415;
  143. $posX = $ii*36;
  144. }
  145. if ( $ii == 2 ) continue; // 200-RTP-3-7101 shows constantly 31.6 K
  146. $temp = sprintf('%.1F', $adeiValue[9][$ii])." K";
  147. placeTextWithLink($posY, $posX+1077, $temp, 60, 2, $color, $KatrinNumber[9][$ii], $adeiChannel[9][$ii]);
  148. }
  149. for ($ii = 0; $ii < sizeof($adeiValue[10]); $ii++)
  150. {
  151. if ( $ii&1 ) // odd index
  152. {
  153. $posY = 379;
  154. }else // even index
  155. {
  156. $posY = 415;
  157. $posX = $ii*36;
  158. }
  159. $temp = sprintf('%.1F', $adeiValue[10][$ii])." K";
  160. placeTextWithLink($posY, $posX+1297, $temp, 60, 2, $color, $KatrinNumber[10][$ii], $adeiChannel[10][$ii]);
  161. }
  162. // Isolation vakuum
  163. placeText(612, 700, "Isolation vacuum", 200, 4, $color);
  164. $vak1 = sprintf('%.1e', $adeiValue[11][0])." mbar";
  165. placeTextWithLink(612, 460, $vak1, 100, 4, $color, $KatrinNumber[11][0], $adeiChannel[11][0]);
  166. $vak2 = sprintf('%.1e', $adeiValue[11][1])." mbar";
  167. placeTextWithLink(612, 1050, $vak2, 100, 4, $color, $KatrinNumber[11][1], $adeiChannel[11][1]);
  168. // Magnet temperature
  169. $MagnetName = array ( "M5", "M4", "M1", "M2", "M3", "M7", "M6" );
  170. for ($ii = 0; $ii < sizeof($adeiValue[12]); $ii++)
  171. {
  172. $posY = 297;
  173. $posX = $ii*220;
  174. if ($ii==2) $posX=$ii*235;
  175. if ($ii==3) $posX=$ii*210;
  176. if ($ii==4) $posX=$ii*200;
  177. if ($ii>=5) $posX=$ii*211;
  178. $temp = sprintf('%.1F', $adeiValue[12][$ii])." K";
  179. $bgcolor="#FFFFFF";
  180. $textcolor="#000000";
  181. placeBoxTextWithLink($posY, $posX+140, $temp, 50, 3, $bgcolor, $textcolor, $KatrinNumber[12][$ii], $adeiChannel[12][$ii]);
  182. placeText($posY+185, $posX+140, $MagnetName[$ii], 50, 5, $color);
  183. }
  184. // Magnet currents / B field
  185. for ($ii = 13; $ii <=15; $ii++)
  186. {
  187. if ($ii==13) {$posX=400; $Nl=9280;} else if ($ii==14) {$posX=810; $Nl=9289;} else if ($ii==15) {$posX=1200; $Nl=21852;}
  188. // Magnet currents
  189. placeTextWithLink(250, $posX-18, sprintf('%.1F', $adeiValue[$ii][0])." A", 80, 4, $color, $KatrinNumber[$ii][0], $adeiChannel[$ii][0]);
  190. $Bfield = 1.26e-6 * $adeiValue[$ii][0] * $Nl; // mu0 * I * N/l
  191. placeText(250, $posX+50, "<--> ".sprintf('%.1F', $Bfield)." T", 80, 4, $color);
  192. }
  193. // Inner shield (27 K)
  194. for ($ii = 0; $ii < sizeof($adeiValue[16]); $ii++)
  195. {
  196. if ( $ii&1 ) // odd index
  197. {
  198. $posY = 337;
  199. }else // even index
  200. {
  201. $posY = 455;
  202. $posX = $ii*110;
  203. if ( $ii==6 ) $posX = $ii*110+150;
  204. if ( $ii>=8 ) $posX = $ii*110+175;
  205. }
  206. $temp = sprintf('%.1F', $adeiValue[16][$ii])." K";
  207. placeTextWithLink($posY, $posX+130, $temp, 60, 2, $color, $KatrinNumber[16][$ii], $adeiChannel[16][$ii]);
  208. }
  209. // M5, M6 magnetic dipoles
  210. for ($ii = 19; $ii <=20; $ii++)
  211. {
  212. if ($ii==19) {$posX=60; $coeff=2.1e-3; $Nl=9280; $Bfieldz=1.26e-6*$adeiValue[13][0]*$Nl;} else if ($ii==20) {$posX=1330; $coeff=1.96e-3; $Nl=21852; $Bfieldz=1.26e-6*$adeiValue[15][0]*$Nl;}
  213. placeText(240, $posX, "Ix= ", 80, 3, $color);
  214. placeText(260, $posX, "Iy= ", 80, 3, $color);
  215. $Bfieldz = 1.26e-6 * $adeiValue[$ii][0] * $Nl; // mu0 * I * N/l
  216. for ($jj = 0; $jj<=1; $jj++)
  217. {
  218. if (abs($Bfieldz)>0.1) {$Shift = $coeff * $adeiValue[$ii][$jj] * 0.755 / $Bfieldz;} else {$Shift=0.0;}
  219. //$Shift = $coeff * 97 * 0.755 / 3.6;
  220. placeText(240+$jj*20, $posX+80, " <--> ".sprintf('%.1F', $Shift*1e+2)." cm", 140, 3, $color);
  221. placeTextWithLink(240+$jj*20, $posX+55, sprintf('%.1F', $adeiValue[$ii][$jj])." A", 60, 3, $color, $KatrinNumber[$ii][$jj], $adeiChannel[$ii][$jj]);
  222. }
  223. }
  224. // throughput & column density
  225. $Q = ($adeiValue[23][0]+3.2 ) * 1.0;
  226. $Qtext = sprintf('%.1f', $Q)." sccm";
  227. placeTextWithLink(700, 1200, "q = ".$Qtext, 150, 4, $color, $KatrinNumber[23][0], $adeiChannel[23][0]);
  228. $Q1 = $Q * 0.01689189;
  229. $Q1text = sprintf('%.1f', $Q1)." mbar l/s";
  230. placeText(725, 1200, "q = ".$Q1text, 150, 4, $color);
  231. $Ntext = sprintf('%.1e', GetColDens($Q1))." 1/m^2";
  232. placeText(750, 1200, "N = ".$Ntext, 150, 4, $color);
  233. ?>