|
|
@@ -144,29 +144,36 @@ int g_switch_get_ac_single_s_all_cur_info(void* manger,int saddr,int nNumb,Power
|
|
|
for (size_t i = 0; i < nNumb; i++)
|
|
|
{
|
|
|
int Index = i * 12;
|
|
|
- // 解电压数据
|
|
|
+
|
|
|
val = (data_temp[1 + Index] << 16) | data_temp[0 + Index];
|
|
|
_power[i].voltage = val / 1000.0;
|
|
|
if(_power[i].voltage>0 && _power[i].voltage<=1.0f) {
|
|
|
- _power[i].voltage = 0;
|
|
|
+ _power[i].voltage = 0.0f;
|
|
|
+ _power[i].power = 0.0f;
|
|
|
+ _power[i].current = 0.0f;
|
|
|
+ _power[i].factor = 0.0f;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ val = (data_temp[11 + Index] << 16) | data_temp[10 + Index];
|
|
|
+ _power[i].factor = val / 1000.0;
|
|
|
+ if(_power[i].factor>0 && _power[i].factor<0.1f) {
|
|
|
+ val = (data_temp[3 + Index] << 16) | data_temp[2 + Index];
|
|
|
+ _power[i].current = val / 1000.0;
|
|
|
+
|
|
|
+ val = (data_temp[5 + Index] << 16) | data_temp[4 + Index];
|
|
|
+ _power[i].power = val / 1000.0;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ _power[i].power = 0.0f;
|
|
|
+ _power[i].current = 0.0f;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- // 解电流数据
|
|
|
- val = (data_temp[3 + Index] << 16) | data_temp[2 + Index];
|
|
|
- _power[i].current = val / 1000.0;
|
|
|
-
|
|
|
- // 解功率数据
|
|
|
- val = (data_temp[5 + Index] << 16) | data_temp[4 + Index];
|
|
|
- _power[i].power = val / 1000.0;
|
|
|
- // 解频率数据
|
|
|
val = (data_temp[7 + Index] << 16) | data_temp[6 + Index];
|
|
|
_power[i].freq = val / 1000.0;
|
|
|
- // 解耗电量数据
|
|
|
+
|
|
|
val = (data_temp[9 + Index] << 16) | data_temp[8 + Index];
|
|
|
_power[i].consumption = val / 1000.0;
|
|
|
- // 解功率因素数据
|
|
|
- val = (data_temp[11 + Index] << 16) | data_temp[10 + Index];
|
|
|
- _power[i].factor = val / 1000.0;
|
|
|
}
|
|
|
|
|
|
offset = _SWITCH_AC_SINGLE_S_STS_INFO;
|
|
|
@@ -1797,32 +1804,41 @@ int g_switch_get_t_ac_all_out_info(void* manger,int saddr,int nNumb,PowerInfo* _
|
|
|
for (size_t i = 0; i < nNumb; i++)
|
|
|
{
|
|
|
int Index = i * 16;
|
|
|
- // 解电压数据
|
|
|
- float value = (data_temp[1+Index] << 16) + data_temp[0+Index];
|
|
|
- _power[i].voltage = value / 1000.0;
|
|
|
- if(_power[i].voltage>0 && _power[i].voltage<=1.0f) {
|
|
|
- _power[i].voltage = 0;
|
|
|
+
|
|
|
+ val = (data_temp[1 + Index] << 16) | data_temp[0 + Index];
|
|
|
+ _power[i].voltage = val / 1000.0;
|
|
|
+ if(_power[i].voltage>0.0f && _power[i].voltage<1.0f) {
|
|
|
+ _power[i].voltage = 0.0f;
|
|
|
+ _power[i].power = 0.0f;
|
|
|
+ _power[i].current = 0.0f;
|
|
|
+ _power[i].factor = 0.0f;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ val = (data_temp[15 + Index] << 16) | data_temp[14 + Index];
|
|
|
+ _power[i].factor = val / 1023.0;
|
|
|
+ if(_power[i].factor>0.0f && _power[i].factor<0.1f) {
|
|
|
+ val = (data_temp[3 + Index] << 16) | data_temp[2 + Index];
|
|
|
+ _power[i].current = val / 1000.0;
|
|
|
+
|
|
|
+ val = (data_temp[5 + Index] << 16) | data_temp[4 + Index];
|
|
|
+ _power[i].power = val / 1000.0;
|
|
|
+
|
|
|
+ // 无功
|
|
|
+ //val = (data_temp[7+Index] << 16) + data_temp[6+Index];
|
|
|
+ // 视在功率
|
|
|
+ //val = (data_temp[9+Index] << 16) + data_temp[8+Index];
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ _power[i].power = 0.0f;
|
|
|
+ _power[i].current = 0.0f;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- // 解电流数据
|
|
|
- value = (data_temp[3+Index] << 16) + data_temp[2+Index];
|
|
|
- _power[i].current = value / 1000.0;
|
|
|
- // 解功率数据
|
|
|
- value = (data_temp[5+Index] << 16) + data_temp[4+Index];
|
|
|
- _power[i].power = value / 1000.0;
|
|
|
- // 无功
|
|
|
- value = (data_temp[7+Index] << 16) + data_temp[6+Index];
|
|
|
- // 视在功率
|
|
|
- value = (data_temp[9+Index] << 16) + data_temp[8+Index];
|
|
|
- // 解频率数据
|
|
|
- val = (data_temp[11+Index] << 16) + data_temp[10+Index];
|
|
|
+ val = (data_temp[11 + Index] << 16) | data_temp[10+ Index];
|
|
|
_power[i].freq = val / 1000.0;
|
|
|
- // 解耗电量数据
|
|
|
- val = (data_temp[13+Index] << 16) + data_temp[12+Index];
|
|
|
+
|
|
|
+ val = (data_temp[13 + Index] << 16) | data_temp[12 + Index];
|
|
|
_power[i].consumption = val / 1000.0;
|
|
|
- // 解功率因素数据
|
|
|
- val = (data_temp[15+Index] << 16) + data_temp[14+Index];
|
|
|
- _power[i].factor = val / 1023.0;
|
|
|
}
|
|
|
//获取通道开关状态及零线状态
|
|
|
//_SWITCH_T_AC_OUT_ENABLE +18
|