From 002a26056f52f955973054b86f0cf537e0191531 Mon Sep 17 00:00:00 2001 From: DELL <1525436766@qq.com> Date: 星期一, 23 六月 2025 15:51:50 +0800 Subject: [PATCH] 修复泰科设备兼容性问题 --- iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java | 672 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 493 insertions(+), 179 deletions(-) diff --git a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java index 1d96733..8bd28dd 100644 --- a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java +++ b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java @@ -15,8 +15,10 @@ import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.openmuc.openiec61850.BdaBitString; import org.openmuc.openiec61850.BdaBoolean; import org.openmuc.openiec61850.BdaFloat32; +import org.openmuc.openiec61850.BdaInt32; import org.openmuc.openiec61850.BdaInt64; import org.openmuc.openiec61850.BdaVisibleString; import org.openmuc.openiec61850.ClientAssociation; @@ -26,12 +28,14 @@ import org.openmuc.openiec61850.FcModelNode; import org.openmuc.openiec61850.ModelNode; import org.openmuc.openiec61850.ServerModel; +import org.openmuc.openiec61850.ServerSap; import org.openmuc.openiec61850.ServiceError; import org.openmuc.openiec61850.clientgui.BasicDataBind; import org.openmuc.openiec61850.clientgui.databind.Float32DataBind; import org.openmuc.openiec61850.clientgui.databind.Int64DataBind; import org.openmuc.openiec61850.clientgui.databind.VisibleStringDataBind; +import com.base.AppConfig; import com.base.Com; import com.battdata_rt.BattData_RT; import com.battdata_rt.BattData_RT_Array; @@ -39,6 +43,9 @@ /****************************************************************************************************/ public class BTS_61850_SocketClient extends Thread { + public static final int Sign_Type_Default = 0; + public static final int Sign_Type_InTow = 1; //姝e父1鎵�2 + private boolean m_App_IsAlive = true; private FBS9100_VCData m_FBS_VCData = null; private FBS9100_ParamDischarge m_FBS_DiscParam = null; @@ -78,6 +85,8 @@ private ClientSap m_ClientSap; private ClientAssociation m_Association; private ServerModel m_ServerModel; + + private boolean isTaiKe = false; //娉扮璁惧 private Logger logger = null; @@ -140,7 +149,7 @@ Set_AppAliveState(true); while (true == Get_AppAliveState()) { - logger.error("IP:" + FBSDeviceIp + " - BTS_IEC61850_ClientThread Started ..."); + logger.error("IP:" + FBSDeviceIp + " ID:" + m_FBSDevId + " BTSE:" + FBSDeviceName + "- BTS_IEC61850_ClientThread Started ..."); // FBS9100_Task_Thread_SQL.runinsertime(m_ConnPool); try { Thread.sleep(5000); @@ -150,20 +159,60 @@ } try { m_ClientSap = new ClientSap(); +// m_Association = m_ClientSap.associate(InetAddress.getByName(FBSDeviceIp), 44444, null, null); m_Association = m_ClientSap.associate(InetAddress.getByName(FBSDeviceIp), 102, null, null); - if(!FBSDeviceName.contains(m_ServerModel.getBaseDevName())) { - //涓庨鍔犺浇鐨勬ā鍨嬫枃浠朵笉涓�鑷存椂 - m_ServerModel = m_Association.retrieveModel(); - } - //System.err.println("Dev_BASE:"+m_ServerModel.getBaseDevName());; - - +// if(!FBSDeviceName.contains(m_ServerModel.getBaseDevName())) { +// System.err.println("SSSSSSSSSSS"); +// //涓庨鍔犺浇鐨勬ā鍨嬫枃浠朵笉涓�鑷存椂 +// m_ServerModel = m_Association.retrieveModel(); +// } } catch (Exception e) { - logger.debug("BTS_IEC61850_Client Unable to connect to device IP:" + FBSDeviceIp); + logger.info("BTS_IEC61850_Client Unable to connect to device IP:" + FBSDeviceIp +" ID:"+m_FBSDevId); + if(null != m_Association) { + try { + m_Association.disconnect(); + m_Association.close(); + } catch (Exception e1) { + e1.printStackTrace(); + } + } continue; + } + + if(null != m_Association) { + try { + m_ServerModel = BTS61850_Task_Thread.getServerModel(m_RTData[0].icdName); + if(null == m_ServerModel) { + //璇诲彇璁惧涓婄殑妯″瀷鏂囦欢 + m_ServerModel = m_Association.retrieveModel(); + } else { + logger.debug("DevId:" + m_FBSDevId + " FBSDEVIP:" + FBSDeviceIp + "浣跨敤妯″瀷鏂囦欢" + m_RTData[0].icdName); + } + System.out.println("Dev_BASE:"+m_ServerModel.getBaseDevName()); + } catch (ServiceError e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } } - if(this.FBSDeviceName.indexOf("BTSE")>0) { + + if(null == m_ServerModel && FBSDeviceName.contains("ZJDY")) { + //绱櫠鍗忚浆鑻ョ洿杩炶繛鎺ヤ笉涓婃椂瑙f瀽icd鏂囦欢 + try { + List<ServerSap> serverSaps = ServerSap.getSapsFromSclFile("zjdy_bts_LiBatt.icd"); + m_ServerModel = serverSaps.get(0).serverModel; + } catch (Exception e) { + logger.error(e.toString(), e); + } + } + + //System.out.println(m_ServerModel); + + if(this.FBSDeviceName.indexOf("BTSE2")>0) { + //閫傞厤鍚勪釜涓嶅悓鍗忚鍚嶇О鐨�61850璁惧閫氫俊[璇诲彇鏀剧數鍙傛暟鏃剁敤鍒癩 + ZJDYCPSS = this.FBSDeviceName.replace("BTSE2", "CPSS"); + }else if(this.FBSDeviceName.indexOf("BTSE")>0) { //閫傞厤鍚勪釜涓嶅悓鍗忚鍚嶇О鐨�61850璁惧閫氫俊[璇诲彇鏀剧數鍙傛暟鏃剁敤鍒癩 ZJDYCPSS = this.FBSDeviceName.replace("BTSE", "CPSS"); } @@ -192,25 +241,29 @@ System.out.println("successfully read model"); */ - /************************* read m_DevVersion first *************************/ - m_StatAndParam.m_DevVersion = readVersionStringNodeData(FBSDeviceName + "/ncdGGIO1.DevVersion.d", Fc.DC); - /***************************************************************************/ - logger.debug("IP:" + FBSDeviceIp + " - BTS_IEC61850_VersionInf: " + m_StatAndParam.m_DevVersion); - - m_FBS_VCData.m_SysState.resetErrCommCount(); - FBS9100_Task_Thread_SQL.inseartOrUpdateFBS9100SFODParam(m_ConnPool, m_StatAndParam.clParam, m_StatAndParam); + try { + /************************* read m_DevVersion first *************************/ + m_StatAndParam.m_DevVersion = readVersionStringNodeData(FBSDeviceName + "/ncdGGIO1.DevVersion.d", Fc.DC); + /***************************************************************************/ + logger.debug("IP:" + FBSDeviceIp + " - BTS_IEC61850_VersionInf: " + m_StatAndParam.m_DevVersion); + + m_FBS_VCData.m_SysState.resetErrCommCount(); + //FBS9100_Task_Thread_SQL.inseartOrUpdateFBS9100SFODParam(m_ConnPool, m_StatAndParam.clParam, m_StatAndParam); - FBS9100_Task_Thread_SQL.queryBTS61850OffLineyhPlanOnRam(m_ConnPool, m_StatAndParam); - - m_StatAndParam.keyID = readStringNodeData(FBSDeviceName+"/btgGGIO1.ukeyID.d",Fc.DC); - m_StatAndParam.serialNumber = readStringNodeData(FBSDeviceName+"/btgGGIO1.Bts_ID.d",Fc.DC); //鍞竴搴忓垪鍙� - BTS61850_Task_Thread_SQL.UpdateBattInfTable(m_ConnPool, m_StatAndParam); //鏇存柊褰撳墠鍙傛暟 - - - //璇诲彇涓讳粠鏈哄姛鑳戒娇鑳� - m_FBS_VCData.m_SysState.MasterSlave_en = (int) (readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn29.mag.f",Fc.MX)); - //璇诲彇骞叉帴鐐瑰姛鑳戒娇鑳� - m_FBS_VCData.m_SysState.DryContact_en = (int) (readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn30.mag.f",Fc.MX)); + FBS9100_Task_Thread_SQL.queryBTS61850OffLineyhPlanOnRam(m_ConnPool, m_StatAndParam); + + m_StatAndParam.keyID = readStringNodeData(FBSDeviceName+"/btgGGIO1.ukeyID.d",Fc.DC); + m_StatAndParam.serialNumber = readStringNodeData(FBSDeviceName+"/btgGGIO1.Bts_ID.d",Fc.DC); //鍞竴搴忓垪鍙� + BTS61850_Task_Thread_SQL.UpdateBattInfTable(m_ConnPool, m_StatAndParam); //鏇存柊褰撳墠鍙傛暟 + + + //璇诲彇涓讳粠鏈哄姛鑳戒娇鑳� + m_FBS_VCData.m_SysState.MasterSlave_en = (int) (readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn29.mag.f",Fc.MX)); + //璇诲彇骞叉帴鐐瑰姛鑳戒娇鑳� + m_FBS_VCData.m_SysState.DryContact_en = (int) (readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn30.mag.f",Fc.MX)); + } catch (Exception e2) { + logger.error(e2.toString(), e2); + } while (true == Get_AppAliveState()) { try { @@ -390,8 +443,8 @@ numberDevState = 0; } +// System.err.println(m_StatAndParam); if (m_StatAndParam != null) { - // System.err.println(m_StatAndParam); FBS9100_Task_Thread_SQL.updateFbs9100StateByDev_Id(m_ConnPool, m_StatAndParam); FBS9100_Task_Thread_SQL.inseartOrUpdateFBS9100SFODState(m_ConnPool, m_StatAndParam, m_StatAndParam.fbs9100s_fod_state); @@ -433,17 +486,18 @@ m_FBS_VCData.m_SysState.ErrCommCount); m_Association.close(); - //m_ServerModel = null; + m_ServerModel = null; break; } // ---------------------------------------------------------------------------------// - } catch (InterruptedException e) { - logger.error(e.toString(), e); - + } catch (Exception e) { try { + logger.error("DevId:" + m_FBSDevId +"; IP:" + FBSDeviceIp + " " + this.getName() + " - BTS_IEC61850_ClientThread Connect Break Now By " + e.toString(), e); sleep(1000); - } catch (InterruptedException e1) { - // TODO Auto-generated catch block + m_Association.close(); + m_ServerModel = null; + break; + } catch (Exception e1) { logger.error(e1.toString(), e1); } } @@ -454,7 +508,7 @@ m_Association.disconnect(); Thread.sleep(1000); m_Association.close(); - //m_ServerModel = null; + m_ServerModel = null; } catch (Exception e) { logger.error(e.toString(), e); } @@ -647,7 +701,7 @@ FcModelNode fcModelNode = (FcModelNode) m_ServerModel.findModelNode(reference, fc); if (null == fcModelNode) { - logger.error("readFloatNodeData error, no modenode was found....."); + logger.error(reference+"readFloatNodeData error, no modenode was found....."); return 0; } try { @@ -767,20 +821,9 @@ m_Association.getDataValues(fcModelNode); m_FBS_VCData.m_SysState.resetErrCommCount(); ModelNode fc_mode = fcModelNode; - String a[]= null; - a = new String[5]; - a = (fc_mode.toString()).split(":"); - res_val = a[2]; - //System.out.println(a[3]); - String split[]= null; - split = new String[5]; - split = (res_val.toString()).split(", "); - String result[]= null; - result = new String[2]; - result[0] = split[0]; - result[1] = a[3]; - - resul = String.format("%s,%s", result); + if(fc_mode instanceof BdaVisibleString) { + resul = new String(((BdaVisibleString)fc_mode).getValue()); + } } catch (ServiceError e) { System.out.println("Service error: " + e.getMessage()); m_FBS_VCData.m_SysState.addErrCommCount(); @@ -804,16 +847,47 @@ events.clear(); if(0 == (numberDevState%3)) { - System.out.println(); //---------------------------------Log Level.TRACE-------------------------------------// - logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsMeasure)", FBSDeviceName); + logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsBtseYc)", FBSDeviceName); //-------------------------------------------------------------------------------------// - //-------------------------------------------------------------------------------------// - DataSet ds = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsMeasure").copy(); + DataSet ds = null; + DataSet ds_tmp; + int BattMonCount = 24; + if(null != m_RTData[0]) { + if(m_RTData[0].MonCount > 24) { + BattMonCount = m_RTData[0].MonCount; + } + } + if(FBSDeviceName.contains("ZJDY")) { + //绱櫠鍗忚浆 + ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsMeasure"); + //System.out.println(m_ServerModel.getDataSet(FBSDeviceName)+"@@"); + }else { + //鍏辨祹鍗忚浆 + ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYc"); + if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE2")) { + //娉扮鏍稿璁惧绗簩缁�,灏濊瘯閫氳繃娉扮闆嗗悎璇诲彇鐐逛綅淇℃伅 + ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasureTwo"); + m_FBS_VCData.m_SysState.AlarmState = (int)readFloatNodeData("TEMPLATEBTSE/btgGGIO1.AnIn28.mag.f",Fc.MX); + if(ds_tmp != null) { + isTaiKe = true; + } + }else if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) { + //娉扮鏍稿璁惧绗涓�缁� + ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasure"); + } + } + //System.out.println(ds_tmp); + if(null == ds_tmp) { + return false; + } + ds = ds_tmp.copy(); + ///-------------------------------------------------------------------------------------// int size_cnt = ds.getMembers().size(); m_Association.getDataSetValues(ds); int m = 0; boolean isStartReadMonData = true; + for (int n = 0; n<size_cnt; n++) { if(null == ds.getMembers().get(n).getChild("mag")) { continue; @@ -825,142 +899,192 @@ if(null != fc_mode){ String fc_model_str = fc_mode.toString1(); //System.out.println("n:" + n + "\t" + fc_model_str); - if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn1.mag.f")) {//绗竴缁勭粍绔數鍘� + if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn1.mag.f")) {//绗竴缁勭粍绔數鍘� +// if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn1.mag.f")) {//绗竴缁勭粍绔數鍘� m_FBS_VCData.groupvol[0] = ((BdaFloat32) fc_mode).getFloat(); //m_FBS_VCData.groupvol[0] = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn1.mag.f", Fc.MX); //缁勭鐢靛帇 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn2.mag.f")) {//绗竴缁勭粍绔數娴� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn2.mag.f")) {//绗竴缁勭粍绔數娴� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn2.mag.f")) {//绗竴缁勭粍绔數娴� m_FBS_VCData.battcurr[0] = ((BdaFloat32) fc_mode).getFloat(); //m_FBS_VCData.battcurr[0] = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn2.mag.f", Fc.MX); //缁勭鐢垫祦 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn3.mag.f")) {//绗竴缁勫湪绾跨數鍘� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn3.mag.f")) {//绗竴缁勫湪绾跨數鍘� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn3.mag.f")) {//绗竴缁勫湪绾跨數鍘� m_FBS_VCData.onlinevol[0] = ((BdaFloat32) fc_mode).getFloat(); //m_FBS_VCData.onlinevol[0] = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn3.mag.f", Fc.MX); //鍦ㄧ嚎鐢靛帇 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn4.mag.f")) {//绗竴缁勯櫎纭ā鍧楃粍绔數鍘� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn4.mag.f")) {//绗竴缁勯櫎纭ā鍧楃粍绔數鍘� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn4.mag.f")) {//绗竴缁勯櫎纭ā鍧楃粍绔數鍘� fod_state.VGroupVol_one = ((BdaFloat32) fc_mode).getFloat(); //fod_state.VGroupVol_one = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn4.mag.f", Fc.MX); //闄ょ~妯″潡1缁勭鐢靛帇鍊� } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn5.mag.f")) {//绗竴缁勯櫎纭ā鍧楀嘲鍊肩數鍘� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn5.mag.f")) {//绗竴缁勯櫎纭ā鍧楀嘲鍊肩數鍘� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn5.mag.f")) {//绗竴缁勯櫎纭ā鍧楀嘲鍊肩數鍘� fod_state.VpeakVol_one = ((BdaFloat32) fc_mode).getFloat(); //fod_state.VpeakVol_one = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn5.mag.f", Fc.MX); //闄ょ~妯″潡1宄扮鐢靛帇鍊� } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn6.mag.f")) {//绗簩缁勯櫎纭ā鍧楃粍绔數鍘� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn6.mag.f")) {//绗簩缁勯櫎纭ā鍧楃粍绔數鍘� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn6.mag.f")) {//绗簩缁勯櫎纭ā鍧楃粍绔數鍘� fod_state.VGroupVol_two = ((BdaFloat32) fc_mode).getFloat(); //fod_state.VGroupVol_two = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn6.mag.f", Fc.MX); //闄ょ~妯″潡2缁勭鐢靛帇鍊� } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn7.mag.f")) {//绗簩缁勯櫎纭ā鍧楀嘲鍊肩數鍘� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn7.mag.f")) {//绗簩缁勯櫎纭ā鍧楀嘲鍊肩數鍘� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn7.mag.f")) {//绗簩缁勯櫎纭ā鍧楀嘲鍊肩數鍘� fod_state.VpeakVol_two = ((BdaFloat32) fc_mode).getFloat(); //fod_state.VpeakVol_two = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn7.mag.f", Fc.MX); //闄ょ~妯″潡2宄扮鐢靛帇鍊� } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn8.mag.f")) {//绗笁缁勯櫎纭ā鍧楃粍绔數鍘� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn8.mag.f")) {//绗笁缁勯櫎纭ā鍧楃粍绔數鍘� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn8.mag.f")) {//绗笁缁勯櫎纭ā鍧楃粍绔數鍘� fod_state.VGroupVol_three = ((BdaFloat32) fc_mode).getFloat(); //fod_state.VGroupVol_three = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn8.mag.f", Fc.MX); //闄ょ~妯″潡3缁勭鐢靛帇鍊� } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn9.mag.f")) {//绗笁缁勯櫎纭ā鍧楀嘲鍊肩數鍘� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn9.mag.f")) {//绗笁缁勯櫎纭ā鍧楀嘲鍊肩數鍘� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn9.mag.f")) {//绗笁缁勯櫎纭ā鍧楀嘲鍊肩數鍘� fod_state.VpeakVol_three = ((BdaFloat32) fc_mode).getFloat(); //fod_state.VpeakVol_three = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn9.mag.f", Fc.MX); //闄ょ~妯″潡3宄扮鐢靛帇鍊� } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn10.mag.f")) {//绗洓缁勯櫎纭ā鍧楃粍绔數鍘� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn10.mag.f")) {//绗洓缁勯櫎纭ā鍧楃粍绔數鍘� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn10.mag.f")) {//绗洓缁勯櫎纭ā鍧楃粍绔數鍘� fod_state.VGroupVol_four = ((BdaFloat32) fc_mode).getFloat(); //fod_state.VGroupVol_four = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn10.mag.f", Fc.MX); //闄ょ~妯″潡4缁勭鐢靛帇鍊� } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn11.mag.f")) {//绗洓缁勯櫎纭ā鍧楀嘲鍊肩數鍘� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn11.mag.f")) {//绗洓缁勯櫎纭ā鍧楀嘲鍊肩數鍘� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn11.mag.f")) {//绗洓缁勯櫎纭ā鍧楀嘲鍊肩數鍘� fod_state.VpeakVol_four = ((BdaFloat32) fc_mode).getFloat(); //fod_state.VpeakVol_four = readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn11.mag.f", Fc.MX); //闄ょ~妯″潡4宄扮鐢靛帇鍊� } /**************************** 璇诲彇鍧囪 渚涚數妯″潡淇℃伅 ****************************************/ - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn12.mag.f")) { //渚涚數妯″潡鐗堟湰鍙� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn12.mag.f")) { //渚涚數妯″潡鐗堟湰鍙� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn12.mag.f")) { //渚涚數妯″潡鐗堟湰鍙� fbs9100_jhpowerState.setDev_version(String.valueOf(((BdaFloat32) fc_mode).getFloat())); //fbs9100_jhpowerState.setDev_version(String.valueOf(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn12.mag.f", Fc.MX))); //鍧囪 渚涚數鐗堟湰鍙� } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn13.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數鍘� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn13.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數鍘� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn13.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數鍘� fbs9100_jhpowerState.setInput_vol_total(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setInput_vol_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn13.mag.f", Fc.MX)); } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn14.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數娴� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn14.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數娴� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn14.mag.f")) {//渚涚數妯″潡鎬昏緭鍏ョ數娴� fbs9100_jhpowerState.setInput_curr_total(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setInput_curr_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn14.mag.f", Fc.MX)); //鎬昏緭鍏ョ數娴� } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn15.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數鍘� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn15.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數鍘� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn15.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數鍘� fbs9100_jhpowerState.setOutput_vol_total(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_vol_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn15.mag.f", Fc.MX)); //鎬昏緭鍑虹數鍘� } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn16.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數娴� + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn16.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數娴� +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn16.mag.f")) {//渚涚數妯″潡鎬昏緭鍑虹數娴� fbs9100_jhpowerState.setOutput_curr_total(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_curr_total(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn16.mag.f", Fc.MX)); //鎬昏緭鍑虹數娴� } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn17.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇1 + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn17.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇1 +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn17.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇1 fbs9100_jhpowerState.setOutput_vol_one(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_vol_one(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn17.mag.f", Fc.MX)); //鎬昏緭鍑虹數鍘�1 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn18.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇2 + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn18.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇2 +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn18.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇2 fbs9100_jhpowerState.setOutput_vol_two(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_vol_two(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn18.mag.f", Fc.MX)); //鎬昏緭鍑虹數鍘�2 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn19.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇3 + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn19.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇3 +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn19.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇3 fbs9100_jhpowerState.setOutput_vol_three(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_vol_three(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn19.mag.f", Fc.MX)); //鎬昏緭鍑虹數鍘�3 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn20.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇4 + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn20.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇4 +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn20.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇4 fbs9100_jhpowerState.setOutput_vol_four(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_vol_four(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn20.mag.f", Fc.MX)); //鎬昏緭鍑虹數鍘�4 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn21.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇5 + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn21.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇5 +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn21.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇5 fbs9100_jhpowerState.setOutput_vol_five(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_vol_five(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn21.mag.f", Fc.MX)); //鎬昏緭鍑虹數鍘�5 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn22.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇6 + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn22.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇6 +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn22.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇6 fbs9100_jhpowerState.setOutput_vol_six(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_vol_six(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn22.mag.f", Fc.MX)); //鎬昏緭鍑虹數鍘�6 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn23.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇7 + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn23.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇7 +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn23.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇7 fbs9100_jhpowerState.setOutput_vol_seven(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_vol_seven(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn23.mag.f", Fc.MX)); //鎬昏緭鍑虹數鍘�7 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn24.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇8 + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn24.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇8 +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn24.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇8 fbs9100_jhpowerState.setOutput_vol_eight(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_vol_eight(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn24.mag.f", Fc.MX)); //鎬昏緭鍑虹數鍘�8 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn25.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇9 + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn25.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇9 +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn25.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇9 fbs9100_jhpowerState.setOutput_vol_nine(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_vol_nine(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn25.mag.f", Fc.MX)); //鎬昏緭鍑虹數鍘�9 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn26.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇10 + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn26.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇10 +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn26.mag.f")) {//渚涚數妯″潡杈撳嚭鐢靛帇10 fbs9100_jhpowerState.setOutput_vol_ten(((BdaFloat32) fc_mode).getFloat()); //fbs9100_jhpowerState.setOutput_vol_ten(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn26.mag.f", Fc.MX)); //鎬昏緭鍑虹數鍘�10 } - else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn27.mag.f")) {//渚涚數妯″潡鐜娓╁害 + else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn27.mag.f")) {//渚涚數妯″潡鐜娓╁害 +// else if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn27.mag.f")) {//渚涚數妯″潡鐜娓╁害 fbs9100_jhpowerState.setDev_temp(((BdaFloat32) fc_mode).getFloat() - 10); //fbs9100_jhpowerState.setDev_temp(readFloatNodeData(FBSDeviceName + "/btgGGIO1.AnIn27.mag.f", Fc.MX)); //鍧囪 妯″潡娓╁害 + }else if (fc_model_str.contains("/btgGGIO") && fc_model_str.contains("AnIn28.mag.f")) { +// if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn28.mag.f")) { + //鍗楃憺褰撳墠鐐逛綅鍊间负float鏍煎紡 + m_FBS_VCData.m_SysState.AlarmState = Math.round(((BdaFloat32)fc_mode).getFloat()); + //m_FBS_VCData.m_SysState.AlarmState = (int)readInt64NodeData(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i",Fc.MX); } - - else if(fc_model_str.contains(FBSDeviceName + "/celGGIO1.AnIn")) { + else if(fc_model_str.contains("/celGGIO") && fc_model_str.contains("AnIn")) { +// else if(fc_model_str.contains(FBSDeviceName + "/celGGIO1.AnIn")) { if(isStartReadMonData) { m = n; isStartReadMonData = false; } - //鍗曚綋鏁版嵁 - if ((n >= m) && (n < (m + 24 * 1))) { - m_FBS_VCData.vol[n - m] = ((BdaFloat32) fc_mode).getFloat(); - } - else if ((n >= (m + 24 * 1)) && (n < (m + 24 * 2))) { - m_FBS_VCData.res[n - (m + 24 * 1)] = ((BdaFloat32) fc_mode).getFloat(); - } - else if ((n >= (m + 24 * 2)) && (n < (m + 24 * 3))) { - m_FBS_VCData.tmp[n - (m + 24 * 2)] = ((BdaFloat32) fc_mode).getFloat(); - } - //璺宠繃鍓╀綑鍓╀綑瀹归噺 - else if ((n >= (m + 24 * 4)) && (n < (m + 24 * 5))) { - m_FBS_VCData.mon_JH[n - (m + 24 * 4)] = ((BdaFloat32) fc_mode).getFloat(); + + if(FBSDeviceName.contains("ZJDY")) { + //閿傜數鍗曚綋鏁扮洰 + BattMonCount = 80; + //閿傜數BTS + if ((n >= m) && (n < (m + BattMonCount * 1))) { + m_FBS_VCData.vol[n - m] = ((BdaFloat32) fc_mode).getFloat(); + } + else if ((n >= (m + BattMonCount * 1)) && (n < (m + BattMonCount * 2))) { + m_FBS_VCData.tmp[n - (m + BattMonCount * 1)] = ((BdaFloat32) fc_mode).getFloat(); + } + else if ((n >= (m + BattMonCount * 2)) && (n < (m + BattMonCount * 3))) { + m_FBS_VCData.mon_restcap[n - (m + BattMonCount * 2)] = ((BdaFloat32) fc_mode).getFloat(); + } + }else { + //鍗曚綋鏁版嵁[鍗楃憺鍗忚浆] + if ((n >= m) && (n < (m + 24 * 1))) { + m_FBS_VCData.vol[n - m] = ((BdaFloat32) fc_mode).getFloat(); + } + else if ((n >= (m + 24 * 1)) && (n < (m + 24 * 2))) { + m_FBS_VCData.res[n - (m + 24 * 1)] = ((BdaFloat32) fc_mode).getFloat(); + } + else if ((n >= (m + 24 * 2)) && (n < (m + 24 * 3))) { + m_FBS_VCData.tmp[n - (m + 24 * 2)] = ((BdaFloat32) fc_mode).getFloat(); + } + else if ((n >= (m + 24 * 3)) && (n < (m + 24 * 4))) { + m_FBS_VCData.mon_restcap[n - (m + 24 * 3)] = ((BdaFloat32) fc_mode).getFloat(); + } + else if ((n >= (m + 24 * 4)) && (n < (m + 24 * 5))) { + m_FBS_VCData.mon_JH[n - (m + 24 * 4)] = ((BdaFloat32) fc_mode).getFloat(); + } } } @@ -981,7 +1105,8 @@ String fc_model_str = fc_mode_i.toString1(); //System.out.println("n:" + n + "\t" + fc_model_str); // 鏂版坊鍔犵敤浜庢彁绀哄憡璀�(涓嶅惎鍔ㄦ牳瀹瑰師鍥�) - if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i")) { + if (fc_model_str.contains("/btgGGIO1.AnIn28.mag.i")) { +// if (fc_model_str.contains(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i")) { m_FBS_VCData.m_SysState.AlarmState = (int) ((BdaInt64) fc_mode_i).getValue(); //m_FBS_VCData.m_SysState.AlarmState = (int)readInt64NodeData(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i",Fc.MX); } @@ -990,43 +1115,102 @@ } //m_FBS_VCData.m_SysState.AlarmState = (int)readInt64NodeData(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i",Fc.MX); //鏍稿鍚姩澶辫触鍘熷洜 - + //System.err.println("############"); m_FBS_VCData.m_SysState.setCommCountInc(); - ds = null; + ds = null;ds_tmp = null; } //System.err.println(m_FBS_VCData.m_SysState.ErrCommCount); if(1 == (numberDevState%3)) { //---------------------------------Log Level.TRACE-------------------------------------// - logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsDevAlarm)", FBSDeviceName); + logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsBtseYx)", FBSDeviceName); //-------------------------------------------------------------------------------------// - String c[] = null; - DataSet ds_stat = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevAlarm"); - int size_cnt_stat = ds_stat.getMembers().size(); - c = new String[size_cnt_stat]; - String[] split = null; - split = new String[2]; - m_Association.getDataSetValues(ds_stat); - String sb = null; - String temp = "%s"; - //闄愬埗褰撳墠鍛婅涓暟 - size_cnt_stat = 5; - for (int n = 0; n < size_cnt_stat; n++) { - //System.err.println(ds_stat.getMembers().get(n).getName()); - FcModelNode fc_mode = (FcModelNode) ds_stat.getMembers().get(n).getChild("stVal"); - split = fc_mode.toString().split(": "); - c[n] = split[1]; - if(n>0) { - temp += ",%s"; + DataSet ds_stat = null; + DataSet ds_tmp = null; + + if(FBSDeviceName.contains("ZJDY")) { + //绱櫠鍗忚浆 + ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevAlarm"); + }else { + //鍏辨祹鍗忚浆 + ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYx"); + + if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE2")) { + //娉扮鏍稿璁惧绗簩缁�,灏濊瘯閫氳繃娉扮闆嗗悎璇诲彇鐐逛綅淇℃伅 + ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsDevAlarmTwo"); + }else if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) { + //娉扮鏍稿璁惧绗涓�缁� + ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsDevAlarm"); + //System.err.println("TEMPLATEBTSE/LLN0.dsDevAlarm:" + ds_tmp); } } - sb = String.format(temp, (Object[])c); + if(null == ds_tmp) { + return false; + } + ds_stat = ds_tmp.copy(); + + boolean[] alm = new boolean[] {false,false,false,false,false}; + int size_cnt = ds_stat.getMembers().size(); + //System.out.println(FBSDeviceName + "/LLN0.dsDevState 鑺傜偣鏁�:"+size_cnt); + m_Association.getDataSetValues(ds_stat); + // 灞忚斀褰撳墠鏍硅妭鐐逛笅鏂版坊鍔犵殑ukey鍐呭 + for (int n = 0; n < size_cnt; n++) { + //System.out.println(ds_stat.getMembers().get(n).getChild("stVal")); + if(null == ds_stat.getMembers().get(n).getChild("stVal")) { + //System.err.println(ds_stat.getMembers().get(n).getChild("mag").toString1()); + continue; + } + FcModelNode fc_mode = (FcModelNode) ds_stat.getMembers().get(n).getChild("stVal"); + if(fc_mode instanceof BdaBoolean) { + //JTextField tf_t = (JTextField) data.getValueField(); + System.out.println("n:"+n+" "+fc_mode.toString1() + "==" + ((BdaBoolean)fc_mode).getValue()); + String fc_mode_str = fc_mode.toString1(); + if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm1")){ +// if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm1")){ + alm[0] = ((BdaBoolean)fc_mode).getValue(); + }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm2")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm2")){ + alm[1] = ((BdaBoolean)fc_mode).getValue(); + }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm3")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm3")){ + alm[2] = ((BdaBoolean)fc_mode).getValue(); + }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm4")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm4")){ + alm[3] = ((BdaBoolean)fc_mode).getValue(); + }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("Alm5")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm5")){ + alm[4] = ((BdaBoolean)fc_mode).getValue(); + } + }else if(fc_mode instanceof BdaInt32){ + String fc_mode_str = fc_mode.toString1(); + if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm1")){ +// if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm1")){ + alm[0] = ((BdaInt32)fc_mode).getValue()==1; + }else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm2")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm2")){ + alm[1] = ((BdaInt32)fc_mode).getValue()==1; + }else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm3")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm3")){ + alm[2] = ((BdaInt32)fc_mode).getValue()==1; + }else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm4")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm4")){ + alm[3] = ((BdaInt32)fc_mode).getValue()==1; + }else if(fc_mode_str.contains("/ncdGGIO1") && fc_mode_str.contains("Alm5")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.Alm5")){ + alm[4] = ((BdaInt32)fc_mode).getValue()==1; + //System.out.println("alm[4]:"+alm[4]); + } + } + } + + String sb = String.format("%b,%b,%b,%b,%b",alm[0],alm[1],alm[2],alm[3],alm[4]); + //System.err.println("last_dev_61850alam:" + sb); m_FBS_VCData.m_SysState.last_dev_61850alam = m_FBS_VCData.m_SysState.dev_61850alam; // 璁板綍涓婁竴娆″憡璀︾姸鎬� m_FBS_VCData.m_SysState.dev_61850alam = sb; checkEventChange(); // 璁板綍褰撳墠鐨勫憡璀� //System.out.println(sb); m_FBS_VCData.m_SysState.setCommCountInc(); - ds_stat = null; + ds_stat = null;ds_tmp = null; //娓呯┖鍐呭瓨鏁版嵁 } if(2 == (numberDevState%3)) { @@ -1034,12 +1218,35 @@ logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsDevState )", FBSDeviceName); //-------------------------------------------------------------------------------------// comm_res = true; - DataSet ds = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevState"); + DataSet ds = null; + DataSet ds_tmp = null; + if(FBSDeviceName.contains("ZJDY")) { + //绱櫠鍗忚浆 + ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevState"); + }else { + //鍏辨祹鍗忚浆 + ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevState"); + if(null == ds_tmp) { + //鍏煎鑰佺増鏈崗杞暟鎹� + ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYc"); + } + if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE2")) { + //娉扮鏍稿璁惧绗簩缁�,灏濊瘯閫氳繃娉扮闆嗗悎璇诲彇鐐逛綅淇℃伅 + ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasureTwo"); + }else if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) { + //娉扮鏍稿璁惧绗涓�缁� + ds_tmp = m_ServerModel.getDataSet("TEMPLATEBTSE/LLN0.dsMeasure"); + } + } + if(null == ds_tmp) { + return false; + } + ds = ds_tmp.copy(); int size_cnt = ds.getMembers().size(); //System.out.println(FBSDeviceName + "/LLN0.dsDevState 鑺傜偣鏁�:"+size_cnt); m_Association.getDataSetValues(ds); // 灞忚斀褰撳墠鏍硅妭鐐逛笅鏂版坊鍔犵殑ukey鍐呭 - for (int n = 0; n < size_cnt && n < 120; n++) { + for (int n = 0; n < size_cnt; n++) { if(null == ds.getMembers().get(n).getChild("mag") || null == ds.getMembers().get(n).getChild("mag").getChild("f")) { //System.err.println(ds.getMembers().get(n).getChild("mag").toString1()); continue; @@ -1047,9 +1254,10 @@ FcModelNode fc_mode = (FcModelNode) ds.getMembers().get(n).getChild("mag").getChild("f"); BasicDataBind<?> data = new Float32DataBind((BdaFloat32) fc_mode); //JTextField tf_t = (JTextField) data.getValueField(); - //System.out.println("n:"+n+" "+fc_mode.toString1()); + //System.out.println("n:"+n+" "+fc_mode.toString1()+"==="+((BdaFloat32) fc_mode).getFloat().intValue()); String fc_mode_str = fc_mode.toString1(); - if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.StaNum.mag.f")){ + if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("StaNum.mag.f")){ +// if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.StaNum.mag.f")){ int st = ((BdaFloat32) fc_mode).getFloat().intValue(); //int st = (int)readFloatNodeData(FBSDeviceName + "/ncdGGIO1.StaNum.mag.f", Fc.MX); if (m_FBS_VCData.m_SysState.WorkState != st) { @@ -1065,54 +1273,71 @@ FBS9100_TestTime.restarttime(); } } - }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn1.mag.f")){ + }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn1.mag.f")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn1.mag.f")){ m_FBS_VCData.m_SysState.CapTestStopType = ((BdaFloat32) fc_mode).getFloat().intValue(); //m_FBS_VCData.m_SysState.CapTestStopType = (int)readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn1.mag.f", Fc.MX); - }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn2.mag.f")){ + }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn2.mag.f")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn2.mag.f")){ m_FBS_VCData.battcap[0] = ((BdaFloat32) fc_mode).getFloat(); //m_FBS_VCData.battcap[0] = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn2.mag.f", Fc.MX); - }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){ + }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn59.mag.f")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){ m_FBS_VCData.m_SysState.temp = ((BdaFloat32) fc_mode).getFloat(); //m_FBS_VCData.m_SysState.temp = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f", Fc.MX); - }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn55.mag.f")){ + }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn55.mag.f")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn55.mag.f")){ m_FBS_VCData.m_SysState.conresist = ((BdaFloat32) fc_mode).getFloat(); //m_FBS_VCData.m_SysState.conresist = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn55.mag.f", Fc.MX);; - }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn56.mag.f")){ + }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn56.mag.f")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn56.mag.f")){ m_FBS_VCData.m_SysState.concurr = ((BdaFloat32) fc_mode).getFloat(); //m_FBS_VCData.m_SysState.concurr = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn56.mag.f", Fc.MX);; - }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn57.mag.f")){ + }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn57.mag.f")){ +// }else if(fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn57.mag.f")){ m_FBS_VCData.m_SysState.condvoldp = ((BdaFloat32) fc_mode).getFloat(); //m_FBS_VCData.m_SysState.condvoldp = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn57.mag.f", Fc.MX);; - }else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){ + }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn59.mag.f")){ +// }else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f")){ m_FBS_VCData.m_SysState.temp = ((BdaFloat32) fc_mode).getFloat(); //m_FBS_VCData.m_SysState.temp = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn59.mag.f", Fc.MX); - }else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn58.mag.f")) { + }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn58.mag.f")) { +// }else if (fc_mode_str.contains(FBSDeviceName + "/ncdGGIO1.AnIn58.mag.f")) { m_FBS_VCData.m_SysState.condcurr = ((BdaFloat32) fc_mode).getFloat(); //m_FBS_VCData.m_SysState.condcurr = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.AnIn58.mag.f", Fc.MX);; - }else if(fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn60.mag.f")) { + }else if(fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn60.mag.f")) { +// }else if(fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn60.mag.f")) { //m_FBS_VCData.m_SysState.resttest_count = readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn60.mag.f", Fc.MX); - }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn103.mag.f")) { + }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn103.mag.f")) { +// }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn103.mag.f")) { fod_state.WorkState_one = (int)((float)((BdaFloat32)fc_mode).getFloat()); //fod_state.WorkState_one = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn103.mag.f", Fc.MX); - }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn104.mag.f")) { + }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn104.mag.f")) { +// }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn104.mag.f")) { fod_state.RestTime_one = ((BdaFloat32) fc_mode).getFloat(); //fod_state.RestTime_one = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn104.mag.f", Fc.MX); - }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn105.mag.f")) { + }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn105.mag.f")) { +// }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn105.mag.f")) { fod_state.WorkState_two = (int)((float)((BdaFloat32)fc_mode).getFloat()); //fod_state.WorkState_two = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn105.mag.f", Fc.MX); - }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn106.mag.f")) { + }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn106.mag.f")) { +// }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn106.mag.f")) { fod_state.RestTime_two = ((BdaFloat32) fc_mode).getFloat(); //fod_state.RestTime_two = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn106.mag.f", Fc.MX); - }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn107.mag.f")) { + }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn107.mag.f")) { +// }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn107.mag.f")) { fod_state.WorkState_three = (int)((float)((BdaFloat32)fc_mode).getFloat()); //fod_state.WorkState_three = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn107.mag.f", Fc.MX); - }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn108.mag.f")) { + }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn108.mag.f")) { +// }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn108.mag.f")) { fod_state.RestTime_three = ((BdaFloat32) fc_mode).getFloat(); //fod_state.RestTime_three = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn108.mag.f", Fc.MX); - }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn109.mag.f")) { + }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn109.mag.f")) { +// }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn109.mag.f")) { fod_state.WorkState_four = (int)((float)((BdaFloat32)fc_mode).getFloat()); //fod_state.WorkState_four = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn109.mag.f", Fc.MX); - }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn110.mag.f")) { + }else if (fc_mode_str.contains("/ncdGGIO") && fc_mode_str.contains("AnIn110.mag.f")) { +// }else if (fc_mode_str.contains(FBSDeviceName+"/ncdGGIO1.AnIn110.mag.f")) { fod_state.RestTime_four = ((BdaFloat32) fc_mode).getFloat(); //fod_state.RestTime_four = (int)readFloatNodeData(FBSDeviceName+"/ncdGGIO1.AnIn110.mag.f", Fc.MX); } @@ -1121,24 +1346,12 @@ m_FBS_VCData.m_SysState.setCommCountInc(); //----------------- 璇诲埌鐘舵�佹暟鎹悗鍐嶆洿鏂版暟鎹簱鏁版嵁 -------------------// getFBS9100MonVolData(m_FBS_VCData); - ds = null; + ds = null;ds_tmp = null; } //m_FBS_VCData.m_SysState.resetErrCommCount(); } else if (FBS9100_ComBase.CMD_SetDischargeParm == cmd) { boolean write_res_t = true; - /****************************************************************************** - if(true == write_res_t) { - try { - write_res_t = BTS_IEC61850_Write_SetMag_Node(FBSDeviceName+"/ncdGGIO1.Para1.setMag.f", - m_StatAndParam.m_FBS_DiscParam); - } catch (ServiceError e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - sleep(1500); - **************************************************************************/ if (true == write_res_t) { if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para1.setMag.f")) return false; writeNodeData(FBSDeviceName + "/ncdGGIO1.Para1.setMag.f", "SP",(float) m_StatAndParam.m_FBS_DiscParam.DisCurr); @@ -1169,13 +1382,52 @@ //-------------------------------------------------------------------------------------// comm_res = true; } else if (FBS9100_ComBase.CMD_GetDischargeParm == cmd) { - DataSet ds_pm = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevState"); + DataSet ds_pm = null; + DataSet ds_tmp = null; + if(FBSDeviceName.contains("ZJDY")) { + //绱櫠鍗忚浆 + ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevState"); + }else { + //鍏辨祹鍗忚浆 + ds_tmp = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsBtseYc"); + + + if(null == ds_tmp && FBSDeviceName.contains("TEMPLATEBTSE")) { + ds_tmp = m_ServerModel.getDataSet(ZJDYCPSS + "/LLN0.dsCPSSAin1"); + if(null != ds_tmp) { + isTaiKe = true; + + //娉扮鏍稿璁惧绗涓�缁刐璇诲彇鍙傛暟] + m_FBS_DiscParamFromDev.DisCurr = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.TestCurr.mag.f", Fc.MX); + m_FBS_DiscParamFromDev.DisTime = (int)(readFloatNodeData(ZJDYCPSS + "/cheGGIO1.HiTestTmhour.mag.f", Fc.MX)*60); + m_FBS_DiscParamFromDev.DisCap = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.HiTestBatAh.mag.f", Fc.MX); + m_FBS_DiscParamFromDev.MonomerTmp_High = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.HiCelTemp.mag.f", Fc.MX); + m_FBS_DiscParamFromDev.GroupVol_LOW = readFloatNodeData(ZJDYCPSS + "/cheGGIO1.LoBatVal.mag.f", Fc.MX); + m_FBS_DiscParamFromDev.MonomerVol_LOW= readFloatNodeData(FBSDeviceName + "/ncdGGIO1.LoCelVol.mag.f", Fc.MX); + m_FBS_DiscParamFromDev.DCVolHighLimit = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.DCVolLimit.mag.f", Fc.MX); + m_FBS_DiscParamFromDev.ChargeCurrSet = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.ChargeCurr.mag.f", Fc.MX); + + ds_tmp = null; + //---------------------------------Log Level.DEBUG-------------------------------------// + logger.printf(Level.DEBUG, "DevIp:%s operate FBS9100_ComBase.CMD_GetDischargeParm, \n param:%s", + FBSDeviceIp, m_FBS_DiscParamFromDev); + return true; + } + + } + } + + if(null == ds_tmp) { + return false; + } + ds_pm = ds_tmp.copy(); if(null != ds_pm && null != ds_pm.getMembers()) { int size_cnt = ds_pm.getMembers().size(); m_Association.getDataSetValues(ds_pm); - //logger.printf(Level.DEBUG, "寮�濮嬭鍙栨斁鐢靛弬鏁�"); - for (int n = 0; n < size_cnt && n < 10; n++) { - if(null == ds_pm.getMembers().get(n).getChild("mag")) { + logger.printf(Level.DEBUG, "寮�濮嬭鍙栨斁鐢靛弬鏁�"); + for (int n = 0; n < size_cnt; n++) { + if(null == ds_pm.getMembers().get(n).getChild("mag").getChild("f")) { + System.out.println(ds_pm.getMembers().get(n).getChild("mag").toString()); continue; } @@ -1183,11 +1435,17 @@ BasicDataBind<?> data = new Float32DataBind((BdaFloat32) fc_mode); JTextField tf_t = (JTextField) data.getValueField(); String fc_model_str = fc_mode.toString1(); + //logger.error(fc_model_str+"==:"+tf_t.getText()); if (fc_model_str.contains(FBSDeviceName + "/ncdGGIO1.TestCurr.mag.f")) { m_FBS_DiscParamFromDev.DisCurr = Float.parseFloat(tf_t.getText()); //m_FBS_DiscParamFromDev.DisCurr = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.TestCurr.mag.f", Fc.MX); ///*/*鍏煎鐐归泦涓殑缁�2鍙傛暟涓虹粍1*/*/}else if (fc_model_str.contains(ZJDYCPSS + "/cheGGIO1.HiTestTmhour.mag.f")) { }else if (fc_model_str.contains("/cheGGIO1.HiTestTmhour.mag.f")) { + float dis_hour_t = Float.parseFloat(tf_t.getText()); + dis_hour_t = dis_hour_t * 60; + m_FBS_DiscParamFromDev.DisTime = (int) dis_hour_t; + //m_FBS_DiscParamFromDev.DisTime = (int)(readFloatNodeData(ZJDYCPSS + "/cheGGIO1.HiTestTmhour.mag.f", Fc.MX)*60); + }else if (fc_model_str.contains("/cheGGIO2.HiTestTmhour.mag.f")) { float dis_hour_t = Float.parseFloat(tf_t.getText()); dis_hour_t = dis_hour_t * 60; m_FBS_DiscParamFromDev.DisTime = (int) dis_hour_t; @@ -1202,6 +1460,9 @@ }else if (fc_model_str.contains("/cheGGIO1.LoBatVal.mag.f")) { m_FBS_DiscParamFromDev.GroupVol_LOW = Float.parseFloat(tf_t.getText()); //m_FBS_DiscParamFromDev.GroupVol_LOW = readFloatNodeData(ZJDYCPSS + "/cheGGIO1.LoBatVal.mag.f", Fc.MX); + }else if (fc_model_str.contains("/cheGGIO2.LoBatVal.mag.f")) { + m_FBS_DiscParamFromDev.GroupVol_LOW = Float.parseFloat(tf_t.getText()); + //m_FBS_DiscParamFromDev.GroupVol_LOW = readFloatNodeData(ZJDYCPSS + "/cheGGIO1.LoBatVal.mag.f", Fc.MX); }else if (fc_model_str.contains(FBSDeviceName + "/ncdGGIO1.LoCelVol.mag.f")) { m_FBS_DiscParamFromDev.MonomerVol_LOW = Float.parseFloat(tf_t.getText()); //m_FBS_DiscParamFromDev.MonomerVol_LOW= readFloatNodeData(FBSDeviceName + "/ncdGGIO1.LoCelVol.mag.f", Fc.MX); @@ -1212,11 +1473,25 @@ m_FBS_DiscParamFromDev.ChargeCurrSet = Float.parseFloat(tf_t.getText()); //m_FBS_DiscParamFromDev.ChargeCurrSet = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.ChargeCurr.mag.f", Fc.MX); }else { - System.out.println(fc_model_str); + //System.out.println(fc_model_str); } } - ds_pm = null; + //System.out.println("m_FBS_DiscParamFromDev.DisTime:"+m_FBS_DiscParamFromDev.DisTime); + if(FBSDeviceName.contains("BTSE2")) { + //娴嬭瘯鏃堕暱[绗簩濂梋 + m_FBS_DiscParamFromDev.DisTime = (int)(readFloatNodeData(ZJDYCPSS + "/cheGGIO2.HiTestTmhour.mag.f", Fc.MX)*60); + //缁勭涓嬮檺 + m_FBS_DiscParamFromDev.GroupVol_LOW = readFloatNodeData(ZJDYCPSS + "/cheGGIO2.LoBatVal.mag.f", Fc.MX); + }else{ + //娴嬭瘯鏃堕暱[绗竴濂梋 + m_FBS_DiscParamFromDev.DisTime = (int)(readFloatNodeData(ZJDYCPSS + "/cheGGIO1.HiTestTmhour.mag.f", Fc.MX)*60); + //缁勭涓嬮檺 + m_FBS_DiscParamFromDev.GroupVol_LOW = readFloatNodeData(ZJDYCPSS + "/cheGGIO1.LoBatVal.mag.f", Fc.MX); + } + + ds_pm = null;ds_tmp = null; }else { + m_FBS_DiscParamFromDev.DisCurr = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.TestCurr.mag.f", Fc.MX); m_FBS_DiscParamFromDev.DisTime = (int)(readFloatNodeData(ZJDYCPSS + "/cheGGIO1.HiTestTmhour.mag.f", Fc.MX)*60); m_FBS_DiscParamFromDev.DisCap = readFloatNodeData(FBSDeviceName + "/ncdGGIO1.HiTestBatAh.mag.f", Fc.MX); @@ -1232,38 +1507,45 @@ FBSDeviceIp, m_FBS_DiscParamFromDev); //-------------------------------------------------------------------------------------// } else if (FBS9100_ComBase.CMD_Stop == cmd) { - if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO1")) return false; - comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO1.Oper", false); + int count = 1; if (m_FBS_VCData.m_SysState.WorkState == 2 || m_FBS_VCData.m_SysState.WorkState == 3) { - count = 6; + count = 6; //鍋滄鏍稿娴嬭瘯 + if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO1")) return false; + comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO1.Oper", false); } else if (m_FBS_VCData.m_SysState.WorkState == 1) { count = 7; } else if (m_FBS_VCData.m_SysState.WorkState == 5) { - count = 8; + count = 8; //鍋滄KD娴嬭瘯 + if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO3")) return false; + comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO3.Oper", false); + } else if (m_FBS_VCData.m_SysState.WorkState == 4) { + count = 8; //鍋滄鍐呴樆娴嬭瘯 + if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO2")) return false; + comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO2.Oper", false); } - comm_res = checkMakeSuccess(count); + //comm_res = checkMakeSuccess(count); //---------------------------------Log Level.WARN-------------------------------------// logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_Stop, res:%b", FBSDeviceIp, comm_res); //-------------------------------------------------------------------------------------// } else if (FBS9100_ComBase.CMD_StartDischarge == cmd) { if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO1")) return false; comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO1.Oper", true); - comm_res = checkMakeSuccess(0); + //comm_res = checkMakeSuccess(0); //---------------------------------Log Level.WARN-------------------------------------// logger.printf(Level.WARN, "DevIp:%s DevId:%d operate FBS9100_ComBase.CMD_StartDischarge, res:%b", FBSDeviceIp,m_FBSDevId, comm_res); //-------------------------------------------------------------------------------------// } else if (FBS9100_ComBase.CMD_StartResDischarge == cmd) { if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO2")) return false; comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO2.Oper", true); - comm_res = checkMakeSuccess(2); + //comm_res = checkMakeSuccess(2); //---------------------------------Log Level.WARN-------------------------------------// logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_StartResDischarge, res:%b", FBSDeviceIp, comm_res); //-------------------------------------------------------------------------------------// } else if (FBS9100_ComBase.CMD_StartKIDI == cmd) { if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO3")) return false; comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO3.Oper", true); - comm_res = checkMakeSuccess(1); + //comm_res = checkMakeSuccess(1); //---------------------------------Log Level.WARN-------------------------------------// logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_StartKIDI, res:%b", FBSDeviceIp, comm_res); //-------------------------------------------------------------------------------------// @@ -1523,7 +1805,7 @@ comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO9.Oper", true); // 妯″潡41闄ょ~ }break; } - comm_res = checkMakeSuccess(3); + //comm_res = checkMakeSuccess(3); //---------------------------------Log Level.WARN-------------------------------------// logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_Start_FODCL_test, " + "battgroup_num:%d, res:%b", FBSDeviceIp, m_StatAndParam.clParam.GroupNum, comm_res); @@ -1556,7 +1838,7 @@ comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO13.Oper", false); }break; } - comm_res = checkMakeSuccess(9); + //comm_res = checkMakeSuccess(9); //---------------------------------Log Level.WARN-------------------------------------// logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_Stop_FOD_test, " + "battgroup_num:%d, res:%b", FBSDeviceIp, m_StatAndParam.clParam.GroupNum, comm_res); @@ -1580,7 +1862,7 @@ comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO13.Oper", true); }break; } - comm_res = checkMakeSuccess(4); + //comm_res = checkMakeSuccess(4); //---------------------------------Log Level.WARN-------------------------------------// logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_Start_FODYH_test, " + "battgroup_num:%d, res:%b", FBSDeviceIp, m_StatAndParam.clParam.GroupNum, comm_res); @@ -1638,14 +1920,14 @@ } else if (FBS9100_ComBase.CMD_StartOffLineYH == cmd) { if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO14")) return false; comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO14.Oper", true); - comm_res = checkMakeSuccess(5); + //comm_res = checkMakeSuccess(5); //---------------------------------Log Level.WARN-------------------------------------// logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_StartOffLineYH, res:%b", FBSDeviceIp, comm_res); //------------------------------------------------------------------------------------// } else if (FBS9100_ComBase.CMD_StopOffLineYH == cmd) { if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO14")) return false; comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO14.Oper", false); - comm_res = checkMakeSuccess(10); + //comm_res = checkMakeSuccess(10); //---------------------------------Log Level.WARN-------------------------------------// logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_StopOffLineYH, res:%b", FBSDeviceIp, comm_res); //------------------------------------------------------------------------------------// @@ -1767,6 +2049,7 @@ } int okcount = 0; for (int i = 0; i < 85; i++) { + //鍗楃憺涓棿鍗忚浆鏃犲綋鍓嶇偣浣嶆敞閲婅皟鐢� //System.out.println("楠岀鏍¢獙杩斿洖signOpRes:" + readInt64NodeData(FBSDeviceName + "/btgGGIO1.signOpRes.mag.i", Fc.MX)); int value = (int) (readInt64NodeData(FBSDeviceName + "/ncdGGIO1.AnIn119.mag.i", Fc.MX)); if ((value & MyUtil.power(2, count)) == MyUtil.power(2, count)) { @@ -1835,7 +2118,7 @@ logger.info("鍐欏叆绛惧悕:"+signature); writeNodeDataString(FBSDeviceName+"/btgGGIO1.sign.setVal", "SP",signature); //writeNodeDataString(FBSDeviceName+"/ncdGGIO1.sign.setVal", "SP",signature); - Thread.sleep(900); + Thread.sleep(1500); return true; } //writeNodeDataString(FBSDeviceName+"/ncdGGIO1.sign.setVal", "SP",m_StatAndParam.publicKeyY); @@ -2053,6 +2336,7 @@ m_RTData[n].al_MonVol.get(index).monRes = (float) vc_data.res[mon_index]; m_RTData[n].al_MonVol.get(index).monTmp = (float) vc_data.tmp[mon_index]; m_RTData[n].al_MonVol.get(index).mon_JH_curr = (float) vc_data.mon_JH[mon_index]; + m_RTData[n].al_MonVol.get(index).mon_rest_cap = (float) vc_data.mon_restcap[mon_index]; mon_index++; } @@ -2153,7 +2437,7 @@ * @param agree * @return */ - public static String getUKEYRootDomStr(String agree) { + public String getUKEYRootDomStr(String agree) { String str1=agree.substring(0, agree.indexOf("BTSE")); /** * @lijun 鍏煎浣涘北涓夋湡鐗堟湰锛岀鍚嶄腑鐨凚TSE璺緞涓�鎷栦竴鍜屼竴鎷栦簩鍧囦负BTSE @@ -2161,15 +2445,45 @@ // if(str1.length() > 0) { // return "BTSE"; // } - return agree.substring(str1.length(), agree.length()); + + //鍏煎姝e父1鎵�2 + if((null != m_RTData[0]) && (m_RTData[0].sign_type == Sign_Type_InTow)) { + return agree.substring(str1.length(), agree.length()); + }else { + return "BTSE"; + } + } public static void main(String[] args) { - System.out.println(getUKEYRootDomStr("ZJDYBTSE2")); + //System.out.println(getUKEYRootDomStr("ZJDYBTSE2")); String btsid = "1234567890BTSE/ncdGGIO1.SPCSO2"; String keyid = "37395256AD72043037395256AD720430"; - System.out.println(createSignature(btsid, keyid)); + + + MysqlConnPool pool = new MysqlConnPool("127.0.0.1", 3360, 10); + BTS_61850_SocketClient ce = new BTS_61850_SocketClient(pool, new FBS9100_StatAndParam("127.0.01", 618500001), new BattData_RT_Array(new AppConfig(), new AppParam(), pool) , null); + ce.m_RTData[0] = new BattData_RT(new AppConfig(), new AppParam(), pool); + ce.m_RTData[0].sign_type = 0; + + + System.out.println(ce.getUKEYRootDomStr("ZJDYBTSE2")); + + boolean[] a = new boolean[] {false,true,false}; + String format1 = String.format("%b,%b,%b",a[0],a[1],a[2] ); + System.out.println(format1); + + String ZJDYCPSS = ""; + String FBSDeviceName = "ZJDYBTSE2"; + if(FBSDeviceName.indexOf("BTSE2")>0) { + //閫傞厤鍚勪釜涓嶅悓鍗忚鍚嶇О鐨�61850璁惧閫氫俊[璇诲彇鏀剧數鍙傛暟鏃剁敤鍒癩 + ZJDYCPSS = FBSDeviceName.replace("BTSE2", "CPSS"); + }else if(FBSDeviceName.indexOf("BTSE")>0) { + //閫傞厤鍚勪釜涓嶅悓鍗忚鍚嶇О鐨�61850璁惧閫氫俊[璇诲彇鏀剧數鍙傛暟鏃剁敤鍒癩 + ZJDYCPSS = FBSDeviceName.replace("BTSE", "CPSS"); + } + System.out.println(ZJDYCPSS); } /*********************************************************************************************/ -- Gitblit v1.9.1