|
@@ -221,6 +221,8 @@ public:
|
|
|
continue_days = 0;
|
|
|
m_state = SensorState_OffLine;
|
|
|
m_data = 0;
|
|
|
+
|
|
|
+ memset(&m_warning, 0, sizeof(m_warning));
|
|
|
}
|
|
|
|
|
|
Sensor(string strname)
|
|
@@ -526,7 +528,7 @@ public:
|
|
|
|
|
|
void setWarning(tank_warning_record warn)
|
|
|
{
|
|
|
- memcpy_s(&warning, sizeof(tank_warning_record), &warn, sizeof(tank_warning_record));
|
|
|
+ memcpy_s(&m_warning, sizeof(tank_warning_record), &warn, sizeof(tank_warning_record));
|
|
|
}
|
|
|
|
|
|
void setMax(int max)
|
|
@@ -549,7 +551,7 @@ protected:
|
|
|
SensorState m_state;
|
|
|
int m_warningType;
|
|
|
|
|
|
- tank_warning_record warning;
|
|
|
+ tank_warning_record m_warning;
|
|
|
|
|
|
|
|
|
private:
|
|
@@ -635,7 +637,7 @@ public:
|
|
|
|
|
|
|
|
|
//预警
|
|
|
- if (warning.zero_h[m_index] >= VR::rules::ref_tankwarning_zero_s / 3600)
|
|
|
+ if (m_warning.zero_h[m_index] >= VR::rules::ref_tankwarning_zero_s / 3600)
|
|
|
{
|
|
|
zerostate = 1;
|
|
|
}
|
|
@@ -643,7 +645,7 @@ public:
|
|
|
{
|
|
|
zerostate = 0;
|
|
|
}
|
|
|
- if (warning.zero_h[m_index] >= VR::rules::ref_tankwarning_zero_s_gdzsh / 3600)
|
|
|
+ if (m_warning.zero_h[m_index] >= VR::rules::ref_tankwarning_zero_s_gdzsh / 3600)
|
|
|
{
|
|
|
zerostate_gdzsh = 1;
|
|
|
}
|
|
@@ -656,7 +658,7 @@ public:
|
|
|
{
|
|
|
if (VR::rules::ref_pv_warningtype == 1)
|
|
|
{
|
|
|
- if (warning.pvtime[m_index] > 0)
|
|
|
+ if (m_warning.pvtime[m_index] > 0)
|
|
|
{
|
|
|
pvstate = 1;
|
|
|
}
|
|
@@ -670,10 +672,10 @@ public:
|
|
|
//tank_pvtext_pre->SetText("P/V阀预警(分));
|
|
|
//tank_pvsecond->SetTextInt(warning_.pv_m);
|
|
|
|
|
|
- int pv_time = warning.pv_m[m_index];
|
|
|
+ int pv_time = m_warning.pv_m[m_index];
|
|
|
if (g_CityNo == CITY_FS)
|
|
|
{
|
|
|
- pv_time = warning.pv_m_max[m_index];
|
|
|
+ pv_time = m_warning.pv_m_max[m_index];
|
|
|
}
|
|
|
|
|
|
if (pv_time >= VR::rules::ref_tankwarning_pv)
|
|
@@ -692,7 +694,7 @@ public:
|
|
|
//char chcr[10];
|
|
|
//sprintf_s(chcr, "%d%%", recordset.front().crisisrate);
|
|
|
//tank_pvcrisis->SetText(chcr);
|
|
|
- if (warning.pvcrisis[m_index] >= VR::rules::ref_precrisis)
|
|
|
+ if (m_warning.pvcrisis[m_index] >= VR::rules::ref_precrisis)
|
|
|
{
|
|
|
pvcrisisstate = 1;
|
|
|
}
|
|
@@ -706,7 +708,7 @@ public:
|
|
|
if (VR::rules::bEnablePost && g_bEnablePostProcess)
|
|
|
{
|
|
|
//tank_posttime->SetTextInt(warning_.post_h);
|
|
|
- if (warning.post_h[m_index] >= VR::rules::ref_tankwarning_post_s / 3600)
|
|
|
+ if (m_warning.post_h[m_index] >= VR::rules::ref_tankwarning_post_s / 3600)
|
|
|
{
|
|
|
poststate = 1;
|
|
|
}
|
|
@@ -720,7 +722,7 @@ public:
|
|
|
//报警
|
|
|
|
|
|
//tank_zeropressureday->SetTextInt(warning_.zero_continue_days);
|
|
|
- if (warning.zero_continue_days[m_index] >= VR::rules::ref_tankwarning_zero_d)
|
|
|
+ if (m_warning.zero_continue_days[m_index] >= VR::rules::ref_tankwarning_zero_d)
|
|
|
{
|
|
|
zerostate_w = 1;
|
|
|
}
|
|
@@ -734,7 +736,7 @@ public:
|
|
|
if (VR::rules::ref_pv_warningtype == 1)
|
|
|
{
|
|
|
// tank_pvtime->SetTextInt(warning_.pv_m);
|
|
|
- if (warning.pv_m[m_index] >= VR::rules::ref_tankwarning_pv)
|
|
|
+ if (m_warning.pv_m[m_index] >= VR::rules::ref_tankwarning_pv)
|
|
|
{
|
|
|
pvstate_w = 1;
|
|
|
}
|
|
@@ -747,7 +749,7 @@ public:
|
|
|
{
|
|
|
//tank_pvtext->SetText("P/V阀预警(天)");
|
|
|
//tank_pvtime->SetTextInt(warning_.pv_continue_days);
|
|
|
- if (warning.pv_continue_days[m_index] >= VR::rules::ref_tankwarning_pv_day)
|
|
|
+ if (m_warning.pv_continue_days[m_index] >= VR::rules::ref_tankwarning_pv_day)
|
|
|
{
|
|
|
pvstate_w = 1;
|
|
|
}
|
|
@@ -762,7 +764,7 @@ public:
|
|
|
if (VR::rules::bEnablePVCrisis)
|
|
|
{
|
|
|
//tank_pvcrisistime->SetTextInt(warning_.pvcrisis_continue_days);
|
|
|
- if (warning.pvcrisis_continue_days[m_index] >= VR::rules::ref_tankwarning_pvcrisis)
|
|
|
+ if (m_warning.pvcrisis_continue_days[m_index] >= VR::rules::ref_tankwarning_pvcrisis)
|
|
|
{
|
|
|
pvcrisisstate_w = 1;
|
|
|
}
|
|
@@ -775,7 +777,7 @@ public:
|
|
|
if (VR::rules::bEnablePost && g_bEnablePostProcess)
|
|
|
{
|
|
|
//tank_postday->SetTextInt(warning_.post_continue_days);
|
|
|
- if (warning.post_continue_days[m_index] >= VR::rules::ref_tankwarning_post_d)
|
|
|
+ if (m_warning.post_continue_days[m_index] >= VR::rules::ref_tankwarning_post_d)
|
|
|
{
|
|
|
poststate_w = 1;
|
|
|
}
|
|
@@ -792,30 +794,30 @@ public:
|
|
|
warningtext = "";
|
|
|
if (zerostate)
|
|
|
{
|
|
|
- warningtext += "零压" + to_string(warning.zero_h[m_index]) + "小时," + to_string(warning.zero_continue_days[m_index]) + "天;";
|
|
|
+ warningtext += "零压" + to_string(m_warning.zero_h[m_index]) + "小时," + to_string(m_warning.zero_continue_days[m_index]) + "天;";
|
|
|
}
|
|
|
|
|
|
if (pvstate)
|
|
|
{
|
|
|
if (VR::rules::ref_pv_warningtype == 1)
|
|
|
{
|
|
|
- warningtext += "P/V阀" + to_string(warning.pvtime[m_index]) + "秒," + to_string(warning.pv_m[m_index]) + "分钟;";
|
|
|
+ warningtext += "P/V阀" + to_string(m_warning.pvtime[m_index]) + "秒," + to_string(m_warning.pv_m[m_index]) + "分钟;";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
- warningtext += "P/V阀" + to_string(warning.pv_m[m_index]) + "分钟," + to_string(warning.pv_continue_days[m_index]) + "天;";
|
|
|
+ warningtext += "P/V阀" + to_string(m_warning.pv_m[m_index]) + "分钟," + to_string(m_warning.pv_continue_days[m_index]) + "天;";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (pvcrisisstate)
|
|
|
{
|
|
|
- warningtext += "P/V阀临界" + to_string(warning.pvcrisis[m_index]) + "%," + to_string(warning.pvcrisis_continue_days[m_index]) + "天;";
|
|
|
+ warningtext += "P/V阀临界" + to_string(m_warning.pvcrisis[m_index]) + "%," + to_string(m_warning.pvcrisis_continue_days[m_index]) + "天;";
|
|
|
}
|
|
|
|
|
|
if (poststate)
|
|
|
{
|
|
|
- warningtext += "后处理压力" + to_string(warning.post_h[m_index]) + "小时," + to_string(warning.post_continue_days[m_index]) + "天;";
|
|
|
+ warningtext += "后处理压力" + to_string(m_warning.post_h[m_index]) + "小时," + to_string(m_warning.post_continue_days[m_index]) + "天;";
|
|
|
}
|
|
|
|
|
|
if (unionstate_w)
|
|
@@ -845,6 +847,8 @@ public:
|
|
|
str = "地址冲突";
|
|
|
break;
|
|
|
}
|
|
|
+
|
|
|
+ m_text = str;
|
|
|
return str;
|
|
|
}
|
|
|
|
|
@@ -853,6 +857,11 @@ public:
|
|
|
return warningtext;
|
|
|
}
|
|
|
|
|
|
+ string getText()
|
|
|
+ {
|
|
|
+ return m_text;
|
|
|
+ }
|
|
|
+
|
|
|
void updatelaststate()
|
|
|
{
|
|
|
lastpvstate = pvstate;
|
|
@@ -902,6 +911,7 @@ public:
|
|
|
int unionstate_w;
|
|
|
|
|
|
string warningtext;
|
|
|
+ string m_text;
|
|
|
|
|
|
private:
|
|
|
double m_zerooffset;
|
|
@@ -1000,6 +1010,8 @@ public:
|
|
|
str = "地址冲突";
|
|
|
break;
|
|
|
}
|
|
|
+
|
|
|
+ m_text = str;
|
|
|
return str;
|
|
|
}
|
|
|
|
|
@@ -1199,13 +1211,13 @@ public:
|
|
|
}
|
|
|
|
|
|
|
|
|
- if (!g_UseBeijingNewStandard && warning.gas_continue_days >= 1)
|
|
|
+ if (!g_UseBeijingNewStandard && m_warning.gas_continue_days >= 1)
|
|
|
{
|
|
|
- if (warning.gas_max >= VR::rules::ref_gasppm_alert)
|
|
|
+ if (m_warning.gas_max >= VR::rules::ref_gasppm_alert)
|
|
|
{
|
|
|
gasstate_w = 1;
|
|
|
}
|
|
|
- else if (warning.gas_continue_days >= VR::rules::ref_tankwarning_gas)
|
|
|
+ else if (m_warning.gas_continue_days >= VR::rules::ref_tankwarning_gas)
|
|
|
{
|
|
|
gasstate_w = 1;
|
|
|
}
|
|
@@ -1215,14 +1227,14 @@ public:
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (!g_UseBeijingNewStandard && warning.postgas_continue_days >= 1)
|
|
|
+ if (!g_UseBeijingNewStandard && m_warning.postgas_continue_days >= 1)
|
|
|
{
|
|
|
|
|
|
- if (warning.postgas_max >= VR::rules::ref_gasppm_alert)
|
|
|
+ if (m_warning.postgas_max >= VR::rules::ref_gasppm_alert)
|
|
|
{
|
|
|
poststate_w = 1;
|
|
|
}
|
|
|
- else if (warning.postgas_continue_days >= VR::rules::ref_tankwarning_gas)
|
|
|
+ else if (m_warning.postgas_continue_days >= VR::rules::ref_tankwarning_gas)
|
|
|
{
|
|
|
poststate_w = 1;
|
|
|
}
|
|
@@ -1232,14 +1244,14 @@ public:
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (!g_UseBeijingNewStandard && warning.well_continue_days[m_index] >= 1)
|
|
|
+ if (!g_UseBeijingNewStandard && m_warning.well_continue_days[m_index] >= 1)
|
|
|
{
|
|
|
|
|
|
- if (warning.well_max[m_index] >= VR::rules::ref_gasppm_alert)
|
|
|
+ if (m_warning.well_max[m_index] >= VR::rules::ref_gasppm_alert)
|
|
|
{
|
|
|
wellstate_w = 1;
|
|
|
}
|
|
|
- else if (warning.well_continue_days[m_index] >= VR::rules::ref_tankwarning_gas)
|
|
|
+ else if (m_warning.well_continue_days[m_index] >= VR::rules::ref_tankwarning_gas)
|
|
|
{
|
|
|
wellstate_w = 1;
|
|
|
}
|
|
@@ -1249,14 +1261,14 @@ public:
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (!g_UseBeijingNewStandard && warning.oil_continue_days[m_index] >= 1)
|
|
|
+ if (!g_UseBeijingNewStandard && m_warning.oil_continue_days[m_index] >= 1)
|
|
|
{
|
|
|
|
|
|
- if (warning.oil_max[m_index] >= VR::rules::ref_gasppm_alert)
|
|
|
+ if (m_warning.oil_max[m_index] >= VR::rules::ref_gasppm_alert)
|
|
|
{
|
|
|
oilstate_w = 1;
|
|
|
}
|
|
|
- else if (warning.oil_continue_days[m_index] >= VR::rules::ref_tankwarning_gas)
|
|
|
+ else if (m_warning.oil_continue_days[m_index] >= VR::rules::ref_tankwarning_gas)
|
|
|
{
|
|
|
oilstate_w = 1;
|
|
|
}
|