| | |
| | | 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;
|
| | |
| | | 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;
|
| | |
| | |
|
| | | /****************************************************************************************************/
|
| | | public class BTS_61850_SocketClient extends Thread {
|
| | | public static final int Sign_Type_Default = 0;
|
| | | public static final int Sign_Type_InTow = 1; //正常1托2
|
| | | |
| | | private boolean m_App_IsAlive = true;
|
| | | private FBS9100_VCData m_FBS_VCData = null;
|
| | | private FBS9100_ParamDischarge m_FBS_DiscParam = null;
|
| | |
| | | private ClientSap m_ClientSap;
|
| | | private ClientAssociation m_Association;
|
| | | private ServerModel m_ServerModel;
|
| | | |
| | | private boolean isTaiKe = false; //泰科设备
|
| | |
|
| | | private Logger logger = null;
|
| | |
|
| | |
| | | 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);
|
| | |
| | | }
|
| | | 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")) {
|
| | | //紫晶协转若直连连接不上时解析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");
|
| | | }
|
| | |
| | | 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 {
|
| | |
| | | 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);
|
| | |
| | | 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);
|
| | | }
|
| | | }
|
| | |
| | | m_Association.disconnect();
|
| | | Thread.sleep(1000);
|
| | | m_Association.close();
|
| | | //m_ServerModel = null;
|
| | | m_ServerModel = null;
|
| | | } catch (Exception e) {
|
| | | logger.error(e.toString(), e);
|
| | | }
|
| | |
| | |
|
| | | 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 {
|
| | |
| | | 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();
|
| | |
| | | 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;
|
| | |
| | | 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();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | //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)) {
|
| | |
| | | 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;
|
| | |
| | | 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) {
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | 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);
|
| | |
| | | //-------------------------------------------------------------------------------------//
|
| | | 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;
|
| | | }
|
| | |
|
| | |
| | | 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;
|
| | |
| | | }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);
|
| | |
| | | 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);
|
| | |
| | | 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);
|
| | | //-------------------------------------------------------------------------------------//
|
| | |
| | | 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);
|
| | |
| | | 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);
|
| | |
| | | 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);
|
| | |
| | | } 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);
|
| | | //------------------------------------------------------------------------------------//
|
| | |
| | | }
|
| | | 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)) {
|
| | |
| | | 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);
|
| | |
| | | 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++;
|
| | | }
|
| | |
| | | * @param agree
|
| | | * @return
|
| | | */
|
| | | public static String getUKEYRootDomStr(String agree) { |
| | | public String getUKEYRootDomStr(String agree) { |
| | | String str1=agree.substring(0, agree.indexOf("BTSE"));
|
| | | /**
|
| | | * @lijun 兼容佛山三期版本,签名中的BTSE路径一拖一和一拖二均为BTSE
|
| | |
| | | // if(str1.length() > 0) {
|
| | | // return "BTSE";
|
| | | // }
|
| | | return agree.substring(str1.length(), agree.length());
|
| | | |
| | | //兼容正常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);
|
| | | }
|
| | |
|
| | | /*********************************************************************************************/
|