|
@@ -762,5 +762,174 @@ function set_number($n){
|
|
|
return substr($res, 1);
|
|
|
}
|
|
|
|
|
|
+function get_fields_by_type($fileds,$type){
|
|
|
+ // 系统默认
|
|
|
+ $data = array(
|
|
|
+ 'number' => array('name'=>'路灯编号','enname'=>'Lamp number'),
|
|
|
+ 'section' => array('name'=>'路段','enname'=>'Road'),
|
|
|
+ 'lampstatus' => array('name'=>'路灯状态','enname'=>'Lamp status'),
|
|
|
+ 'status' => array('name'=>'信号状态','enname'=>'Network status'),
|
|
|
+ 'updatetime' => array('name'=>'更新时间','enname'=>'Update time'),
|
|
|
+ 'lighteness' => array('name'=>'路灯亮度(%)','enname'=>'Brightness(%)'),
|
|
|
+ 'address' => array('name'=>'无线模块地址','enname'=>'Wireless module address'),
|
|
|
+ 'lamppower' => array('name'=>'路灯功率(W)','enname'=>'Lamp power(W)'),
|
|
|
+ 'chargestage' => array('name'=>'蓄电池充电阶段','enname'=>'Charging stage'),
|
|
|
+ 'battvoltage' => array('name'=>'蓄电池电压(V)','enname'=>'Battery voltage(V)'),
|
|
|
+ 'overtimes' => array('name'=>'蓄电池总过放次数','enname'=>'Over discharge times'),
|
|
|
+ 'solarpower' => array('name'=>'太阳能板功率(W)','enname'=>'Solar panel power(W)'),
|
|
|
+ 'isfaulted' => array('name'=>'是否故障','enname'=>'Fault'),
|
|
|
+ 'id' => array('name'=>'路灯id','enname'=>'Lamp ID'),
|
|
|
+ 'networkname' => array('name'=>'网络名称','enname'=>'Network name'),
|
|
|
+ 'projectname' => array('name'=>'项目名称','enname'=>'Project name'),
|
|
|
+ 'longitude' => array('name'=>'经度','enname'=>'Longitude'),
|
|
|
+ 'latitude' => array('name'=>'纬度','enname'=>'Latitude'),
|
|
|
+ 'simid' => array('name'=>'sim卡号','enname'=>'SIM card number'),
|
|
|
+ 'packageSurplus' => array('name'=>'套餐剩余','enname'=>'Package surplus'),
|
|
|
+ 'poleheight' => array('name'=>'灯杆高度(m)','enname'=>'Lamp-post length(m)'),
|
|
|
+ 'polediameter' => array('name'=>'灯杆直径(m)','enname'=>'Lamp-post diameter(m)'),
|
|
|
+ 'polematerial' => array('name'=>'灯杆材质','enname'=>'Lamp-post materials'),
|
|
|
+ 'lighttype' => array('name'=>'灯具类型','enname'=>'Light type'),
|
|
|
+ 'lamptype' => array('name'=>'路灯类型','enname'=>'Lamp type'),
|
|
|
+ 'boardtype' => array('name'=>'太阳能板类型','enname'=>'Solar panel type'),
|
|
|
+ 'boardpower' => array('name'=>'太阳能板功率(W)','enname'=>'Solar panel power(W)'),
|
|
|
+ 'batterytype' => array('name'=>'蓄电池类型','enname'=>'Battery type'),
|
|
|
+ 'batteryah' => array('name'=>'蓄电池AH数(ah)','enname'=>'Battery capacity(ah)'),
|
|
|
+ 'loadpower' => array('name'=>'负载功率(W)','enname'=>'Load power(W)'),
|
|
|
+ 'electricleft' => array('name'=>'蓄电池剩余电量','enname'=>'Remaining battery capacity(Ah)'),
|
|
|
+ 'lampvoltage' => array('name'=>'路灯电压(V)','enname'=>'Lamp voltage(V)'),
|
|
|
+ 'lampcurrent' => array('name'=>'路灯电流(A)','enname'=>'Lamp current(A)'),
|
|
|
+ 'temper' => array('name'=>'灯头温度(℃)','enname'=>'Lamp temperature(℃)'),
|
|
|
+ 'solarvoltage' => array('name'=>'太阳能板电压(V)','enname'=>'Solar panel voltage(V)'),
|
|
|
+ 'solarcurrent' => array('name'=>'太阳能板电流(A)','enname'=>'Solar panel current(A)'),
|
|
|
+ 'battstatus' => array('name'=>'蓄电池状态','enname'=>'Battery status'),
|
|
|
+ 'chargecurrent' => array('name'=>'蓄电池充电电流(A)','enname'=>'Charging current(A)'),
|
|
|
+ 'discharcurrent' => array('name'=>'蓄电池放电电流(A)','enname'=>'Discharging current(A)'),
|
|
|
+ 'chargepower' => array('name'=>'蓄电池充电功率(w)','enname'=>'Charging power(w)'),
|
|
|
+ 'dischargepower' => array('name'=>'蓄电池放电功率(w)','enname'=>'Discharging power(w)'),
|
|
|
+ 'batttemper' => array('name'=>'蓄电池表面温度(℃)','enname'=>'Battery surface temperature(℃)'),
|
|
|
+ 'electrictotal' => array('name'=>'蓄电池总电量','enname'=>'Total battery capacity(Ah)'),
|
|
|
+ 'electricSOC' => array('name'=>'蓄电池电量SOC(%)','enname'=>'Battery SOC(%)'),
|
|
|
+ 'voltagedaymin' => array('name'=>'当天最低电压(V)','enname'=>'Minimum voltage(V)'),
|
|
|
+ 'voltagedaymax' => array('name'=>'当天最高电压(V)','enname'=>'Highest voltage(V)'),
|
|
|
+ 'daychargeah' => array('name'=>'当天充电安时数(ah)','enname'=>'Charging AH(ah)'),
|
|
|
+ 'daydischarah' => array('name'=>'当天放电安时数(ah)','enname'=>'Discharging AH(ah)'),
|
|
|
+ 'daychargemaxpow' => array('name'=>'当天充电最大功率(W)','enname'=>'Charging max-power(W)'),
|
|
|
+ 'daydischarmaxpow' => array('name'=>'当天放电最大功率(W)','enname'=>'Discharging max-power(W)'),
|
|
|
+ 'daychargemincurrent' => array('name'=>'当天灯亮时间(hh:mm)','enname'=>'Turn-on duration'),
|
|
|
+ 'daycharmaxcurrent' => array('name'=>'当天充电最大电流(A)','enname'=>'Highest charging current(A)'),
|
|
|
+ 'daydischargemincurrent' => array('name'=>'当天充电时间(hh:mm)','enname'=>'Charging duration'),
|
|
|
+ 'daydischarmaxcurrent' => array('name'=>'当天放电最大电流(A)','enname'=>'Highest discharging current(A)'),
|
|
|
+ 'daybattmintemper' => array('name'=>'当天蓄电池最低温度(℃)','enname'=>'Battery min-temperature(℃)'),
|
|
|
+ 'daybattmaxtemper' => array('name'=>'当天蓄电池最高温度(℃)','enname'=>'Battery max-temperature(℃)'),
|
|
|
+ 'daygeneration' => array('name'=>'当天发电量(W)','enname'=>'Power generation(W)'),
|
|
|
+ 'dayconsumption' => array('name'=>'当天用电量(W)','enname'=>'Power consumption(W)'),
|
|
|
+ 'totalgeneration' => array('name'=>'累计发电量(W)','enname'=>'Cumulative power generation(W)'),
|
|
|
+ 'totalconsumption' => array('name'=>'累计用电量(W)','enname'=>'Cumulative power consumption(W)'),
|
|
|
+ 'sysvoltage' => array('name'=>'系统电压(V)','enname'=>'System voltage(V)'),
|
|
|
+ 'syscurrent' => array('name'=>'系统电流(A)','enname'=>'System current(A)'),
|
|
|
+ 'controlTemper' => array('name'=>'控制器温度(℃)','enname'=>'Controller temperature(℃)'),
|
|
|
+ 'rundays' => array('name'=>'运行天数','enname'=>'Running duration'),
|
|
|
+ 'fulltimes' => array('name'=>'蓄电池总充满次数','enname'=>'Full charge times'),
|
|
|
+ 'totalchargeah' => array('name'=>'蓄电池总充电安时数(ah)','enname'=>'Total charge AH(ah)'),
|
|
|
+ 'totaldischarah' => array('name'=>'蓄电池总放电安时数(ah)','enname'=>'Total discharge AH(ah)'),
|
|
|
+ 'policyid' => array('name'=>'当前策略','enname'=>'Current strategy'),
|
|
|
+ );
|
|
|
+ $temp = [];
|
|
|
+ $filedArr = explode(',', $fileds);
|
|
|
+ if ($type == 0) {
|
|
|
+ foreach ($filedArr as $f) {
|
|
|
+ if (!empty($data[$f])) {
|
|
|
+ $temp[] = $data[$f]['name'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ foreach ($filedArr as $f) {
|
|
|
+ if (!empty($data[$f])) {
|
|
|
+ $temp[] = $data[$f]['enname'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $temp;
|
|
|
+}
|
|
|
+// 翻译故障信息
|
|
|
+function alarm_translate($msg){
|
|
|
+ $data = array(
|
|
|
+ '过放' => 'over release',
|
|
|
+ '超压' => 'overpressure',
|
|
|
+ '负载短路' => 'load short circuit',
|
|
|
+ '电池故障' => 'Error display',
|
|
|
+ '内部超温' => 'internal overtemperature',
|
|
|
+ '外部超温' => 'external overtemperature',
|
|
|
+ '负载开路' => 'load opening',
|
|
|
+ '输出电容超压保护' => 'output capacitance overvoltage protection',
|
|
|
+ '电池板过流' => 'panel overcurrent',
|
|
|
+ '电池板短路' => 'panel short circuit',
|
|
|
+ '电池板超压' => 'panel overpressure',
|
|
|
+ '充电逆流' => 'charging current',
|
|
|
+ '锂电池低温关闭充电' => 'the lithium battery is turned off and charged at low temperature',
|
|
|
+ '电池电压异常' => 'Abnormal battery voltage'
|
|
|
+ );
|
|
|
+ return isset($data[$msg]) ? $data[$msg] : 'unknown error';
|
|
|
+}
|
|
|
+
|
|
|
+// 新控制器翻译故障信息
|
|
|
+function modbus_alarm_translate($msg){
|
|
|
+ $data = array(
|
|
|
+ 'BMS过充保护' => 'BMS Overcharge Protection',
|
|
|
+ '电池低温保护,停止充电' => 'Battery Low Temperature Protection, Stop Charging',
|
|
|
+ '电池反接' => 'Battery reverse connection',
|
|
|
+ '电容超压' => 'Capacitance overpressure',
|
|
|
+ '感应探头损坏' => 'Damage of induction probe',
|
|
|
+ '负载开路' => 'Load open circuit',
|
|
|
+ '蓄电池过放' => 'Battery Overdischarge',
|
|
|
+ '蓄电池超压' => 'Battery overvoltage',
|
|
|
+ '欠压警告' => 'Undervoltage warning',
|
|
|
+ '负载短路' => 'Load short circuit',
|
|
|
+ '负载功率过大或负载过流' => 'Excessive Load Power or Overcurrent',
|
|
|
+ '控制器温度过高' => 'Controller temperature is too high',
|
|
|
+ '外部环境温度过高' => 'External ambient temperature is too high',
|
|
|
+ '光伏输入功率过大' => 'Excessive input power of photovoltaic',
|
|
|
+ '光伏输入端短路' => 'Photovoltaic Input Short Circuit',
|
|
|
+ '光伏输入端超压' => 'Photovoltaic Input Overvoltage',
|
|
|
+ '太阳板逆流' => 'Solar plate countercurrent',
|
|
|
+ '太阳板工作点超压' => 'Operating point overpressure of solar panel',
|
|
|
+ '太阳板反接' => 'Solar Plate Reverse Connection'
|
|
|
+ );
|
|
|
+ return isset($data[$msg]) ? $data[$msg] : 'unknown error';
|
|
|
+}
|
|
|
+
|
|
|
+function alarm_translate_ch($msg){
|
|
|
+ $data = array(
|
|
|
+ 'over release' => '过放',
|
|
|
+ 'overpressure' => '超压',
|
|
|
+ 'load short circuit' => '负载短路',
|
|
|
+ 'battery failure' => '电池故障',
|
|
|
+ 'internal overtemperature' => '内部超温',
|
|
|
+ 'external overtemperature' => '外部超温',
|
|
|
+ 'load opening' => '负载开路',
|
|
|
+ 'output capacitance overvoltage protection' => '输出电容超压保护',
|
|
|
+ 'panel overcurrent' => '电池板过流',
|
|
|
+ 'panel short circuit' => '电池板短路',
|
|
|
+ 'panel overpressure' => '电池板超压',
|
|
|
+ 'charging current' => '充电逆流',
|
|
|
+ 'the lithium battery is turned off and charged at low temperature' => '锂电池低温关闭充电',
|
|
|
+ 'BMS Overcharge Protection'=>'BMS过充保护',
|
|
|
+ 'Battery Low Temperature Protection, Stop Charging'=>'电池低温保护,停止充电',
|
|
|
+ 'Battery reverse connection'=>'电池反接',
|
|
|
+ 'Capacitance overpressure'=>'电容超压',
|
|
|
+ 'Damage of induction probe'=>'感应探头损坏',
|
|
|
+ 'Undervoltage warning'=>'欠压警告',
|
|
|
+ 'Excessive Load Power or Overcurrent'=>'负载功率过大或负载过流',
|
|
|
+ 'Controller temperature is too high'=>'控制器温度过高',
|
|
|
+ 'External ambient temperature is too high'=>'外部环境温度过高',
|
|
|
+ 'Excessive input power of photovoltaic'=>'光伏输入功率过大',
|
|
|
+ 'Photovoltaic Input Short Circuit'=>'光伏输入端短路',
|
|
|
+ 'Photovoltaic Input Overvoltage'=>'光伏输入端超压',
|
|
|
+ 'Solar plate countercurrent'=>'太阳板逆流',
|
|
|
+ 'Operating point overpressure of solar panel'=>'太阳板工作点超压',
|
|
|
+ 'Solar Plate Reverse Connection'=>'太阳板反接',
|
|
|
+ );
|
|
|
+ return isset($data[$msg]) ? $data[$msg] : '';
|
|
|
+}
|
|
|
|
|
|
?>
|