V3.332 edit lijun at 2025-01-14
1.送检要求-uekyID需从现场实际UKEYID绑定避免多个设备共用同一个ID
| | |
| | | public float MonStdCap;
|
| | |
|
| | | public String PublicKeyY; //ukey
|
| | | public String ukeyId; //ukeyID
|
| | |
|
| | | private boolean StoreBattRes_DataEn = false;
|
| | | private boolean StoreDataBusy = false;
|
| | |
| | | sql.sqlMysqlUseDB(Sql_Mysql.DB_BATT_INF);
|
| | |
|
| | | String sql_str = "SELECT DISTINCT "
|
| | | + " FBSDeviceId,FBSDeviceIp,BattGroupName6,GroupIndexInFBSDevice,FBSDeviceName,"
|
| | | + " FBSDeviceId,FBSDeviceIp,BattGroupName6,GroupIndexInFBSDevice,FBSDeviceName,KeyID,SerialNumber,"
|
| | | + " BattGroupId,BattGroupNum,MonCount,BattFloatCurrent,FloatVolLevel,MonCapStd,MonVolStd,PublicKeyY"
|
| | | + " FROM " + Sql_Mysql.BattInf_Table
|
| | | + " ORDER BY BattGroupId ASC";
|
| | |
| | | float float_vol_lev = res.getFloat("FloatVolLevel");
|
| | | float float_curr_lev = res.getFloat("BattFloatCurrent");
|
| | | int GroupIndexInFBSDevice = res.getInt("GroupIndexInFBSDevice");
|
| | | |
| | | String ukeyId = res.getString("KeyID").trim(); //ukeyID
|
| | | if(GroupIndexInFBSDevice > 3) {
|
| | | GroupIndexInFBSDevice = 3;
|
| | | }
|
| | |
| | | brt.getBattFloatVolLev(), brt.getBattFloatCurrLev(),
|
| | | brt.getDevRegCode());
|
| | | }
|
| | | brt.PublicKeyY = res.getString("PublicKeyY"); //ukey鏄惁鏈夋洿鏂�
|
| | | if(!ukeyId.equals(brt.ukeyId)) {
|
| | | //ukeyID 更新
|
| | | brt.ukeyId = ukeyId;
|
| | | param_changed = true;
|
| | | }
|
| | | |
| | | brt.PublicKeyY = res.getString("PublicKeyY");
|
| | | batt_group_exist = true;
|
| | | break;
|
| | | }
|
| | |
| | | rtdata.MonStdVol = res.getFloat("MonVolStd");
|
| | | rtdata.setBattFloatVolCurrLevel(res.getFloat("FloatVolLevel"), res.getFloat("BattFloatCurrent"));
|
| | | rtdata.PublicKeyY = res.getString("PublicKeyY");
|
| | | |
| | | |
| | | rtdata.ukeyId = res.getString("KeyID").trim(); //ukeyID
|
| | | for(int mn=0; mn<rtdata.MonCount; mn++) {
|
| | | MonVolData data = new MonVolData(0, 0, auto_cid++);
|
| | | rtdata.al_MonVol.add(data);
|
| | |
| | | */
|
| | | public static void UpdateBattInfTable(MysqlConnPool m_ConnPool,FBS9100_StatAndParam param) {
|
| | | String sql_str = " UPDATE " + Sql_Mysql.BattInf_Table + ""
|
| | | + " SET PublicKeyX = '"+ param.publicKeyX +"',KeyID = '" + param.keyID + "',SerialNumber = '"+param.serialNumber+"'"
|
| | | + " SET PublicKeyX = '" + param.publicKeyX /* +"',KeyID = '" + param.keyID */ + "',SerialNumber = '"+param.serialNumber+"'"
|
| | | + " WHERE FBSDeviceId = " + param.dev_id;
|
| | |
|
| | | Sql_Mysql sql = new Sql_Mysql(m_ConnPool);
|
| | |
| | | sql.close_con();
|
| | | }
|
| | | }
|
| | |
|
| | | public static String queryDeviceUkeyID(MysqlConnPool m_ConnPool, int dev_id) {
|
| | | String ukeyID = "";
|
| | | String sql_str = "SELECT KeyID FROM " + Sql_Mysql.BattInf_Table+ " WHERE FBSDeviceId = " + dev_id + " LIMIT 1";
|
| | | Sql_Mysql sql = new Sql_Mysql(m_ConnPool);
|
| | | ResultSet res = null;
|
| | | try {
|
| | | res = sql.sqlMysqlQuery(sql_str);
|
| | | if(res.next()) {
|
| | | ukeyID = res.getString("KeyID").trim();
|
| | | }
|
| | | } catch (SQLException e) {
|
| | | e.printStackTrace();
|
| | | } finally {
|
| | | sql.close_con();
|
| | | }
|
| | | return ukeyID;
|
| | | }
|
| | | |
| | | public static void main(String[] args) {
|
| | | MysqlConnPool pool = new MysqlConnPool("192.168.10.79",3360,10);
|
| | | System.out.println(queryDeviceUkeyID(pool,618500001));
|
| | | }
|
| | | }
|
| | |
| | | MonStdCap = AL_RTdata.getItem(n).MonStdCap;
|
| | | MonVolStd = AL_RTdata.getItem(n).MonStdVol;
|
| | | FBSDeviceName = AL_RTdata.getItem(n).FBSDeviceName;
|
| | | |
| | | //ukey来源
|
| | | m_StatAndParam.keyID = AL_RTdata.getItem(n).ukeyId;
|
| | | //FBSDeviceIp = AL_RTdata.getItem(n).FBSDeviceIp;
|
| | |
|
| | | //m_StatAndParam.Crc32publicKeyY = AL_RTdata.getItem(n).PublicKeyY; //计算公钥Y
|
| | |
| | | FBS9100_Task_Thread_SQL.queryBTS61850OffLineyhPlanOnRam(m_ConnPool, m_StatAndParam);
|
| | | //if(parseDevVersion(m_StatAndParam.m_DevVersion) >= 3.0) {
|
| | | //当协转版本不低于于3.0时需要检测UKEY
|
| | | //m_StatAndParam.keyID = readStringNodeData(FBSDeviceName + "/ncdGGIO1.Key_ID.d", Fc.DC); //ukeyID字符串
|
| | | //m_StatAndParam.serialNumber = readStringNodeData(FBSDeviceName + "/ncdGGIO1.Bts_ID.d", Fc.DC); //唯一序列号 btsid |
| | | //m_StatAndParam.publicKeyX = readStringNodeData(FBSDeviceName + "/ncdGGIO1.keyNum.d", Fc.DC); //ykey字符串
|
| | | 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_StatAndParam.keyID = readStringNodeData(FBSDeviceName + "/ncdGGIO1.Key_ID.d", Fc.DC); //ukeyID字符串
|
| | | //m_StatAndParam.serialNumber = readStringNodeData(FBSDeviceName + "/ncdGGIO1.Bts_ID.d", Fc.DC); //唯一序列号 btsid |
| | | //m_StatAndParam.publicKeyX = readStringNodeData(FBSDeviceName + "/ncdGGIO1.keyNum.d", Fc.DC); //ykey字符串
|
| | | |
| | | /**
|
| | | * 送检要求设备绑定的ukey 不能用其他设备的ukey遥调遥控
|
| | | */
|
| | | //m_StatAndParam.keyID = readStringNodeData(FBSDeviceName+"/btgGGIO1.ukeyID.d",Fc.DC); //ukeyID字符串
|
| | | m_StatAndParam.serialNumber = readStringNodeData(FBSDeviceName+"/btgGGIO1.Bts_ID.d",Fc.DC); //唯一序列号
|
| | | BTS61850_Task_Thread_SQL.UpdateBattInfTable(m_ConnPool, m_StatAndParam); //更新当前参数
|
| | | //}
|
| | |
|
| | |
|
| | |
| | |
|
| | | FBS9100_Task_Thread_SQL.updateFbs9100SetParamBydev_id(m_ConnPool, m_StatAndParam);
|
| | | //读取一次ukey信息
|
| | | m_StatAndParam.keyID = readStringNodeData(FBSDeviceName+"/btgGGIO1.ukeyID.d",Fc.DC);
|
| | | //m_StatAndParam.keyID = readStringNodeData(FBSDeviceName+"/btgGGIO1.ukeyID.d",Fc.DC);
|
| | | m_StatAndParam.keyID = BTS61850_Task_Thread_SQL.queryDeviceUkeyID(m_ConnPool,m_StatAndParam.dev_id);
|
| | | m_StatAndParam.serialNumber = readStringNodeData(FBSDeviceName+"/btgGGIO1.Bts_ID.d",Fc.DC); //唯一序列号
|
| | | }
|
| | | } else if (FBS9100_ComBase.CMD_SetIp == m_FBS_DiscParam.op_cmd) {
|
| | |
| | | public FBS9100_SysParam m_FBS_SysParam = null;
|
| | | public BTS61850_OffLineYHPlan bts61850_OffLineYHPlan = null;
|
| | |
|
| | | public FBS9100_batt_testparam test_Param = null; //当前设置成功的充放电参数
|
| | | public FBS9100_batt_testparam test_Param = null; //上一次测试参数
|
| | |
|
| | | public String m_DevVersion = "";
|
| | |
|
| | | public String publicKeyX=""; //閸忣剟鎸淴
|
| | | public long Crc32publicKeyY; //閸忣剟鎸淵
|
| | | public String publicKeyY; //
|
| | | public String keyID = ""; //
|
| | | public String serialNumber = ""; //閸烆垯绔存惔蹇撳灙閸欙拷 |
| | | public String publicKeyX=""; //UKEYX
|
| | | public long Crc32publicKeyY; //
|
| | | public String publicKeyY; //UKEYY
|
| | | public String keyID = ""; //UKEYID
|
| | | public String serialNumber = ""; //BTSID
|
| | |
|
| | | public int CRC = 0;
|
| | |
|
| | |
| | |
|
| | |
|
| | | 遵义紫晶61850单组-使用
|
| | | |
| | | V3.332 edit lijun at 2025-01-14
|
| | | 1.送检要求-uekyID需从现场实际UKEYID绑定避免多个设备共用同一个ID
|
| | |
|
| | | V3.331 edit lijun at 2024-01-24
|
| | | 1.远程重启设备时判断ukey校验返回结果判断操作是否成功
|