FRAME_VmsStatusF.cpp 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include "AppGlobalF.h"
  4. #include "ITSSkinF.h"
  5. #include "ITSUtilF.h"
  6. #include "CenterCommF.h"
  7. #pragma hdrstop
  8. #include "FRAME_VmsStatusF.h"
  9. //---------------------------------------------------------------------------
  10. #pragma package(smart_init)
  11. #pragma resource "*.dfm"
  12. TFRAME_VmsStatus *FRAME_VmsStatus;
  13. //---------------------------------------------------------------------------
  14. __fastcall TFRAME_VmsStatus::TFRAME_VmsStatus(TComponent* Owner)
  15. : TFrame(Owner)
  16. {
  17. }
  18. //---------------------------------------------------------------------------
  19. void __fastcall TFRAME_VmsStatus::LoadLocalSkin()
  20. {
  21. PnlDoor->ParentColor = false;
  22. PnlFan->ParentColor = false;
  23. PnlHeater->ParentColor = false;
  24. PnlModule->ParentColor = false;
  25. PnlPower->ParentColor = false;
  26. PnlTemp->ParentColor = false;
  27. PnlOprMode->ParentColor = false;
  28. }
  29. //---------------------------------------------------------------------------
  30. void __fastcall TFRAME_VmsStatus::RefreshStatus(TVmsCtlr *AObj)
  31. {
  32. TVmsCtlr *FVmsObj = AObj;
  33. #if 0
  34. PnlDoor->Caption = VmsModuleDoor(FVmsObj); //도어
  35. PnlFan->Caption = VmsModuleFan(FVmsObj); //팬
  36. PnlHeater->Caption = VmsModuleHeater(FVmsObj); //히터
  37. PnlModule->Caption = VmsModuleState(FVmsObj); //모듈상태
  38. PnlPower->Caption = VmsModulePower(FVmsObj); //전원상태
  39. PnlTemp->Caption = VmsModuleTemp(FVmsObj); //온도
  40. PnlOprMode->Caption = VmsOperMode(FVmsObj);
  41. #endif
  42. TVmsStts *Stts = FVmsObj->Stts;
  43. String sHint;
  44. TColor clrState = clLime;
  45. //운영모드
  46. if (FVmsObj->OPER_MODE == "A") {
  47. PnlOprMode->Caption = "자동";
  48. sHint = "운영모드 - 자동";
  49. }
  50. else
  51. if (FVmsObj->OPER_MODE == "M") {
  52. clrState = clYellow;
  53. PnlOprMode->Caption = "수동";
  54. sHint = "운영모드 - 수동";
  55. }
  56. else {
  57. clrState = clFuchsia;
  58. PnlOprMode->Caption = FVmsObj->OPER_MODE;
  59. sHint = "운영모드 - " + FVmsObj->OPER_MODE;
  60. }
  61. PnlOprMode->Hint = sHint;
  62. if (PnlOprMode->Color != clrState) PnlOprMode->Color = clrState;
  63. if (Stts->RPRS_STTS != "O")
  64. {
  65. PnlCmnc->Color = clGray; //통신
  66. PnlCmnc->Hint = "통신상태 - 알수없음";
  67. PnlDoor->Color = clGray; //도어
  68. PnlDoor->Hint = "도어상태 - 알수없음";
  69. PnlFan->Color = clGray; //팬
  70. PnlFan->Hint = "팬상태 - 알수없음";
  71. PnlHeater->Color = clGray; //히터
  72. PnlHeater->Hint = "히터상태 - 알수없음";
  73. PnlModule->Color = clGray; //모듈상태
  74. PnlModule->Hint = "모듈상태 - 알수없음";
  75. PnlPower->Color = clGray; //전원상태
  76. PnlPower->Hint = "전원상태 - 알수없음";
  77. PnlTemp->Color = clGray; //온도
  78. PnlTemp->Hint = "온도 - 알수없음";
  79. PnlTemp->Caption = "-";
  80. return;
  81. }
  82. //통신상태
  83. sHint = "통신상태 - 정상";
  84. clrState = clLime;
  85. if (Stts->CMNC_STTS == "X") {
  86. clrState = clRed;
  87. sHint = "통신상태 - 불량";
  88. }
  89. else
  90. if (Stts->CMNC_STTS == "U") {
  91. clrState = clGray;
  92. sHint = "통신상태 - 알수없음";
  93. }
  94. PnlCmnc->Hint = sHint;
  95. if (PnlCmnc->Color != clrState) PnlCmnc->Color = clrState;
  96. //전원상태
  97. sHint = "전원상태 - 정상";
  98. clrState = clLime;
  99. if (Stts->PS_STTS == "X") {
  100. clrState = clRed;
  101. sHint = "통신상태 - 오류";
  102. }
  103. else
  104. if (Stts->PS_STTS == "U") {
  105. clrState = clGray;
  106. sHint = "통신상태 - 알수없음";
  107. }
  108. PnlPower->Hint = sHint;
  109. if (PnlPower->Color != clrState) PnlPower->Color = clrState;
  110. //팬상태
  111. sHint = "팬상태 - 중지";
  112. clrState = clLime;
  113. if (Stts->FAN_STTS == "O") {
  114. clrState = clYellow;
  115. sHint = "팬상태 - 가동";
  116. }
  117. else
  118. if (Stts->FAN_STTS == "U") {
  119. clrState = clGray;
  120. sHint = "팬상태 - 알수없음";
  121. }
  122. PnlFan->Hint = sHint;
  123. if (PnlFan->Color != clrState) PnlFan->Color = clrState;
  124. //히터상태
  125. sHint = "히터상태 - 중지";
  126. clrState = clLime;
  127. if (Stts->HTER_STTS == "O") {
  128. clrState = clYellow;
  129. sHint = "히터상태 - 가동";
  130. }
  131. else
  132. if (Stts->HTER_STTS == "U") {
  133. clrState = clGray;
  134. sHint = "히터상태 - 알수없음";
  135. }
  136. PnlHeater->Hint = sHint;
  137. if (PnlHeater->Color != clrState) PnlHeater->Color = clrState;
  138. //도어상태
  139. sHint = "도어상태 - 닫힘";
  140. clrState = clLime;
  141. if (Stts->HTER_STTS == "O") {
  142. clrState = clYellow;
  143. sHint = "도어상태 - 열림";
  144. }
  145. else
  146. if (Stts->HTER_STTS == "U") {
  147. clrState = clGray;
  148. sHint = "도어상태 - 알수없음";
  149. }
  150. PnlDoor->Hint = sHint;
  151. if (PnlDoor->Color != clrState) PnlDoor->Color = clrState;
  152. //함체온도
  153. clrState = clLime;
  154. PnlTemp->Caption = String(Stts->BOX_TEMP);
  155. PnlTemp->Hint = "함체온도 - " + String(Stts->BOX_TEMP);
  156. if (PnlTemp->Color != clrState) PnlTemp->Color = clrState;
  157. }
  158. //---------------------------------------------------------------------------