FRAME_VmsStatusF.cpp 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include "AppGlobalF.h"
  4. #include "ITSSkinF.h"
  5. #include "ITSUtilF.h"
  6. #include "FrmVmsOprMainF.h"
  7. #include "CenterCommF.h"
  8. #include "ITSLangTransF.h"
  9. #pragma hdrstop
  10. #include "FRAME_VmsStatusF.h"
  11. //---------------------------------------------------------------------------
  12. #pragma package(smart_init)
  13. #pragma resource "*.dfm"
  14. TFRAME_VmsStatus *FRAME_VmsStatus;
  15. //---------------------------------------------------------------------------
  16. __fastcall TFRAME_VmsStatus::TFRAME_VmsStatus(TComponent* Owner)
  17. : TFrame(Owner)
  18. {
  19. }
  20. //---------------------------------------------------------------------------
  21. void __fastcall TFRAME_VmsStatus::LoadLocalSkin()
  22. {
  23. PnlDoor->ParentColor = false;
  24. PnlFan->ParentColor = false;
  25. PnlHeater->ParentColor = false;
  26. PnlModule->ParentColor = false;
  27. PnlPower->ParentColor = false;
  28. PnlTemp->ParentColor = false;
  29. PnlOprMode->ParentColor = false;
  30. }
  31. //---------------------------------------------------------------------------
  32. void __fastcall TFRAME_VmsStatus::RefreshStatus(TVmsCtlr *AObj)
  33. {
  34. TVmsCtlr *FVmsObj = AObj;
  35. PnlDoor->Caption = VmsModuleDoor(FVmsObj); //도어
  36. PnlFan->Caption = VmsModuleFan(FVmsObj); //팬
  37. PnlHeater->Caption = VmsModuleHeater(FVmsObj); //히터
  38. PnlModule->Caption = VmsModuleState(FVmsObj); //모듈상태
  39. PnlPower->Caption = VmsModulePower(FVmsObj); //전원상태
  40. PnlTemp->Caption = VmsModuleTemp(FVmsObj); //온도
  41. PnlOprMode->Caption = VmsOperMode(FVmsObj);
  42. TColor clrState = clLime;
  43. //운영모드
  44. #if 0
  45. if (FVmsObj->OPER_MODE != "A")
  46. {
  47. clrState = clYellow;
  48. }
  49. #else
  50. String sVmsMode = PnlOprMode->Caption;
  51. #if 0
  52. if (sVmsMode == "자동") clrState = clLime;
  53. else if (sVmsMode == "고정") clrState = clFuchsia;
  54. else clrState = clYellow;
  55. #else
  56. if (sVmsMode == FrmLang->lblOperA->Caption) clrState = clLime;
  57. else if (sVmsMode == FrmLang->lblOperF->Caption) clrState = clFuchsia;
  58. else clrState = clYellow;
  59. #endif
  60. #endif
  61. if (PnlOprMode->Color != clrState) PnlOprMode->Color = clrState;
  62. if (FVmsObj->STATE.Comm != vms_comm_normal)
  63. {
  64. PnlDoor->Color = clGray; //도어
  65. PnlFan->Color = clGray; //팬
  66. PnlHeater->Color = clGray; //히터
  67. PnlModule->Color = clGray; //모듈상태
  68. PnlPower->Color = clGray; //전원상태
  69. PnlTemp->Color = clGray; //온도
  70. return;
  71. }
  72. //모듈전원상태
  73. clrState = clLime;
  74. if (FVmsObj->STATE.ModulePowerStatus == vms_module_power_off)
  75. clrState = clRed;
  76. if (FVmsObj->STATE.ModulePowerStatus == vms_module_power_unknown)
  77. clrState = clGray;
  78. if (PnlPower->Color != clrState) PnlPower->Color = clrState;
  79. #if 0
  80. //모듈상태 - 싸인텔레콤은 사용안함
  81. clrState = clLime;
  82. if (FVmsObj->STATE.ModuleState == vms_comm_error)
  83. clrState = clRed;
  84. if (PnlModule->Color != clrState) PnlModule->Color = clrState;
  85. #endif
  86. //도어상태
  87. clrState = clLime;
  88. if (FVmsObj->STATE.DoorStatus == vms_door_open)
  89. clrState = clRed;
  90. if (FVmsObj->STATE.DoorStatus == vms_door_unknown)
  91. clrState = clGray;
  92. if (PnlDoor->Color != clrState) PnlDoor->Color = clrState;
  93. //팬상태
  94. clrState = clLime;
  95. if (FVmsObj->STATE.FanStatus == vms_fan_on)
  96. clrState = clYellow;
  97. if (PnlFan->Color != clrState) PnlFan->Color = clrState;
  98. //히터상태
  99. clrState = clLime;
  100. if (FVmsObj->STATE.HeaterStatus == vms_heater_on)
  101. clrState = clYellow;
  102. if (FVmsObj->STATE.HeaterStatus == vms_heater_unknown)
  103. clrState = clGray;
  104. if (PnlHeater->Color != clrState) PnlHeater->Color = clrState;
  105. //온도
  106. clrState = clLime;
  107. if (PnlTemp->Color != clrState) PnlTemp->Color = clrState;
  108. }
  109. //---------------------------------------------------------------------------