V3.331 edit lijun at 2024-01-24
1.远程重启设备时判断ukey校验返回结果判断操作是否成功
2.失败时,则重置数据库中的命令为 -1
6个文件已修改
183 ■■■■■ 已修改文件
iec_61850_forFoShanAES/.settings/org.eclipse.core.resources.prefs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec_61850_forFoShanAES/src/com/battdata_rt/BattData_RT_Array.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec_61850_forFoShanAES/src/com/dec/fbs9100/BTS_61850_SocketClient.java 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec_61850_forFoShanAES/src/com/dec/fbs9100/FBS9100_ComBase.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec_61850_forFoShanAES/src/com/dec/fbs9100/FBS9100_Task_Thread_SQL.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec_61850_forFoShanAES/src/com/version_inf/version_inf.txt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iec_61850_forFoShanAES/.settings/org.eclipse.core.resources.prefs
@@ -1,6 +1,7 @@
eclipse.preferences.version=1
encoding//src/com/base/Com.java=UTF-8
encoding//src/com/battdata_rt/BattData_RT.java=UTF-8
encoding//src/com/battdata_rt/BattData_RT_Array.java=UTF-8
encoding//src/com/battdata_rt/BattData_RT_RamDB_Thread_SQL.java=UTF-8
encoding//src/com/battdata_rt/BattData_RT_SQL.java=UTF-8
encoding//src/com/battdata_rt/BattStatData.java=UTF-8
iec_61850_forFoShanAES/src/com/battdata_rt/BattData_RT_Array.java
@@ -137,7 +137,7 @@
                                    brt.getBattFloatVolLev(), brt.getBattFloatCurrLev(),
                                    brt.getDevRegCode());
                        }
                        brt.PublicKeyY = res.getString("PublicKeyY");            //ukey是否有更新
                        brt.PublicKeyY = res.getString("PublicKeyY");            //ukey鏄惁鏈夋洿鏂�
                        batt_group_exist = true;
                        break;
                    }
iec_61850_forFoShanAES/src/com/dec/fbs9100/BTS_61850_SocketClient.java
@@ -222,6 +222,8 @@
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_SetDischargeParmAck;
                                
                                test_Param.copyBTS61850Param(m_StatAndParam.m_FBS_DiscParam);
                            }else{
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_FAIL;
                            }
                        } else if (FBS9100_ComBase.CMD_Start == m_FBS_DiscParam.op_cmd) {
                            logger.printf(Level.DEBUG, "FBS9100_ComBase.CMD_Start for Dev ip:%s", FBSDeviceIp);
@@ -229,6 +231,7 @@
                            if (true == BTS_IEC61850_SocketComm(cmd)) {
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_StartAck;
                            } else {
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_FAIL;
                                if(cmd == FBS9100_ComBase.CMD_StartDischarge) {
                                    //int errcode = (int) (readInt64NodeData(FBSDeviceName + "/btgGGIO1.AnIn28.mag.i",Fc.MX));
                                    //logger.debug("Dev ip:"+m_StatAndParam.dev_ipaddr + ": failed to start cap test, errcode:" + errcode);
@@ -237,6 +240,8 @@
                        } else if (FBS9100_ComBase.CMD_Stop == m_FBS_DiscParam.op_cmd) {
                            if (true == BTS_IEC61850_SocketComm(FBS9100_ComBase.CMD_Stop)) {
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_StopAck;
                            }else{
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_FAIL;
                            }
                        } else if (FBS9100_ComBase.CMD_GetDischargeParm == m_FBS_DiscParam.op_cmd || isReadParam) {
                            isReadParam = false;
@@ -247,7 +252,7 @@
                                test_Param.copyBTS61850Param(m_FBS_DiscParamFromDev);                                
                                
                                FBS9100_Task_Thread_SQL.updateFbs9100SetParamBydev_id(m_ConnPool, m_StatAndParam);
                                //读取一次ukey
                                //读取一次ukey信息
                                m_StatAndParam.keyID = readStringNodeData(FBSDeviceName+"/btgGGIO1.ukeyID.d",Fc.DC);
                                m_StatAndParam.serialNumber = readStringNodeData(FBSDeviceName+"/btgGGIO1.Bts_ID.d",Fc.DC);                //唯一序列号
                            }
@@ -255,10 +260,14 @@
                            if (true == BTS_IEC61850_SocketComm(FBS9100_ComBase.CMD_SetIp)) {
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_SetIpAck;
                            }else{
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_FAIL;
                            }
                        } else if (FBS9100_ComBase.CMD_SetIpNow == m_FBS_DiscParam.op_cmd) {
                            if (true == BTS_IEC61850_SocketComm(FBS9100_ComBase.CMD_SetIpNow)) {
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_SetIpAck;
                            }else{
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_FAIL;
                            }
                        } else if (FBS9100_ComBase.CMD_GetOffLineYHParam == m_FBS_DiscParam.op_cmd) {
                            // 读取离线养护参数
@@ -278,21 +287,29 @@
                                m_StatAndParam.bts61850_OffLineYHPlan.copyOffLineYHData(m_FBS_DiscParam);
                                m_StatAndParam.bts61850_OffLineYHPlan.successCount = 0; // 重置成功次数
                                FBS9100_Task_Thread_SQL.updateBTS61850OffLineyhPlanOnRam(m_ConnPool, m_StatAndParam);
                            }else{
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_FAIL;
                            }
                        } else if (FBS9100_ComBase.CMD_StartOffLineYH == m_FBS_DiscParam.op_cmd) {
                            // 启动离线养护
                            if (true == BTS_IEC61850_SocketComm(FBS9100_ComBase.CMD_StartOffLineYH)) {
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_StartOffLineYH_ACK;
                            }else{
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_FAIL;
                            }
                        } else if (FBS9100_ComBase.CMD_StopOffLineYH == m_FBS_DiscParam.op_cmd) {
                            // 停止离线养护
                            if (true == BTS_IEC61850_SocketComm(FBS9100_ComBase.CMD_StopOffLineYH)) {
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_StopOffLineYH_ACK;
                            }else{
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_FAIL;
                            }
                        } else if (FBS9100_ComBase.CMD_ResetSystem == m_FBS_DiscParam.op_cmd) {
                            // 重启系统
                            if (true == BTS_IEC61850_SocketComm(FBS9100_ComBase.CMD_ResetSystem)) {
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_ResetSystemAck;
                            }else{
                                m_StatAndParam.op_cmd = FBS9100_ComBase.CMD_FAIL;
                            }
                        }
@@ -512,11 +529,11 @@
     * @throws IOException
     * @throws ServiceError
     *******************************************************************************************/
    public void writeNodeData(String reference, String fc_str, double disCurr) {
    public boolean writeNodeData(String reference, String fc_str, double disCurr) {
        FcModelNode fcModelNode = (FcModelNode) m_ServerModel.findModelNode(reference, Fc.fromString(fc_str));
        if (null == fcModelNode) {
            logger.error(reference+"writeNodeData error, no modenode was found....." + reference);
            return;
            return false;
        }
        try {
@@ -528,10 +545,11 @@
            data.write();
            m_Association.setDataValues(fcModelNode);
            m_FBS_VCData.m_SysState.resetErrCommCount();
            return true;
        } catch (ServiceError | IOException e) {
            logger.error(e.toString(), e);
            m_FBS_VCData.m_SysState.addErrCommCount();
            return;
            return false;
        }
    }
    
@@ -564,12 +582,12 @@
    }
    
    public void writeNodeDataInt(String reference, String fc_str, long disCurr) {
    public boolean writeNodeDataInt(String reference, String fc_str, long disCurr) {
        FcModelNode fcModelNode = (FcModelNode) m_ServerModel.findModelNode(reference, Fc.fromString(fc_str));
        if (null == fcModelNode) {
            logger.error("writeNodeDataInt error, no modenode was found.....");
            m_FBS_VCData.m_SysState.addErrCommCount();
            return;
            return false;
        }
        try {
@@ -581,10 +599,11 @@
            data.write();
            m_Association.setDataValues(fcModelNode);
            m_FBS_VCData.m_SysState.resetErrCommCount();
            return true;
        } catch (ServiceError | IOException e) {
            logger.error(e.toString(), e);
            m_FBS_VCData.m_SysState.addErrCommCount();
            return;
            return false;
        }
    }
@@ -1074,25 +1093,25 @@
                 **************************************************************************/
                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 = writeNodeData(FBSDeviceName + "/ncdGGIO1.Para1.setMag.f", "SP",(float) m_StatAndParam.m_FBS_DiscParam.DisCurr);
                    float dis_hour_t = m_StatAndParam.m_FBS_DiscParam.DisTime;
                    dis_hour_t = dis_hour_t / 60;
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para2.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para2.setMag.f", "SP", (float) dis_hour_t);
                    comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para2.setMag.f", "SP", (float) dis_hour_t);
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para3.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para3.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.DisCap);
                    comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para3.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.DisCap);
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para4.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para4.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.getMonomerLowCount());
                    comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para4.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.getMonomerLowCount());
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para5.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para5.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.GroupVol_LOW);
                    comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para5.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.GroupVol_LOW);
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para6.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para6.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.MonomerVol_LOW);
                    comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para6.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.MonomerVol_LOW);
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para7.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para7.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.MonomerTmp_High);
                    comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para7.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.MonomerTmp_High);
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/btgGGIO1.Para1.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/btgGGIO1.Para1.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.ChargeCurrSet);
                    comm_res = comm_res&&writeNodeData(FBSDeviceName + "/btgGGIO1.Para1.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.ChargeCurrSet);
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/btgGGIO1.Para2.setMag.f")) return false;
                    writeNodeData(FBSDeviceName + "/btgGGIO1.Para2.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.DCVolHighLimit);
                    comm_res = comm_res&&writeNodeData(FBSDeviceName + "/btgGGIO1.Para2.setMag.f", "SP",    (float) m_StatAndParam.m_FBS_DiscParam.DCVolHighLimit);
                    
                    sleep(2000);
                }
@@ -1100,7 +1119,7 @@
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_SetDischargeParm, \n param:%s", 
                                            FBSDeviceIp, m_FBS_DiscParamFromDev);
                //-------------------------------------------------------------------------------------//
                comm_res = true;
                //comm_res = true;
            } else if (FBS9100_ComBase.CMD_GetDischargeParm == cmd) {
//                DataSet ds_pm = m_ServerModel.getDataSet(FBSDeviceName + "/LLN0.dsDevState");
                //int size_cnt = ds_pm.getMembers().size();
@@ -1227,13 +1246,13 @@
                // System.out.println("ip:"+ip);
                long ipWG = Long.parseLong(StringipWG.toString());
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para8.setMag.i")) return false;
                writeNodeDataInt(FBSDeviceName + "/ncdGGIO1.Para8.setMag.i", "SP", ip);
                comm_res = writeNodeDataInt(FBSDeviceName + "/ncdGGIO1.Para8.setMag.i", "SP", ip);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para9.setMag.i")) return false;
                writeNodeDataInt(FBSDeviceName + "/ncdGGIO1.Para9.setMag.i", "SP", ipWG);
                comm_res = comm_res&&writeNodeDataInt(FBSDeviceName + "/ncdGGIO1.Para9.setMag.i", "SP", ipWG);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para10.setMag.i")) return false;
                writeNodeDataInt(FBSDeviceName + "/ncdGGIO1.Para10.setMag.i", "SP", ipYM);
                comm_res = comm_res&&writeNodeDataInt(FBSDeviceName + "/ncdGGIO1.Para10.setMag.i", "SP", ipYM);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO5")) return false;
                comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO5.Oper", (FBS9100_ComBase.CMD_SetIp==cmd));
                comm_res = comm_res&&BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO5.Oper", (FBS9100_ComBase.CMD_SetIp==cmd));
                //---------------------------------Log Level.WARN-------------------------------------//
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_SetIp, op_bool:%b, "
                                            + "newip:%ld, netmask:%ld, gateway:%ld", 
@@ -1347,73 +1366,73 @@
                        break;
                    }
                }*/
                comm_res = true;
                //comm_res = true;
                //---------------------------------Log Level.DEBUG-------------------------------------//
                logger.printf(Level.DEBUG, "DevIp:%s operate FBS9100_ComBase.CMD_ReadFodParam, \n param:%s", 
                                            FBSDeviceIp, m_StatAndParam.clParam);
                //-------------------------------------------------------------------------------------//
            } else if (FBS9100_ComBase.CMD_WriteFodParam == cmd) {
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para12.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para12.setMag.f", "SP",
                comm_res = writeNodeData(FBSDeviceName + "/ncdGGIO1.Para12.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.STDCap_one);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para13.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para13.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para13.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.FloatVol_one);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para14.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para14.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para14.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.Strength_one);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para15.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para15.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para15.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.YHStrength_one);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para16.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para16.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para16.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.TimeLong_one);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para18.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para18.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para18.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.STDCap_two);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para19.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para19.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para19.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.FloatVol_two);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para20.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para20.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para20.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.Strength_two);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para21.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para21.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para21.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.YHStrength_two);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para22.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para22.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para22.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.TimeLong_two);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para24.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para24.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para24.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.STDCap_three);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para25.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para25.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para25.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.FloatVol_three);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para26.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para26.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para26.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.Strength_three);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para27.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para27.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para27.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.YHStrength_three);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para28.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para28.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para28.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.TimeLong_three);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para30.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para30.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para30.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.STDCap_four);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para31.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para31.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para31.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.FloatVol_four);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para32.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para32.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para32.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.Strength_four);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para33.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para33.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para33.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.YHStrength_four);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para34.setMag.f"));
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para34.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para34.setMag.f", "SP",
                        (float) m_StatAndParam.clParam.TimeLong_four);
                comm_res = true;
                //comm_res = true;
                //---------------------------------Log Level.WARN-------------------------------------//
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_WriteFodParam, \n param:%s", 
                                            FBSDeviceIp, m_StatAndParam.clParam);
@@ -1532,19 +1551,19 @@
                if (true == write_res_t) {
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para35.setMag.f")) return false;
                    // 离线养护周期
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para35.setMag.f", "SP",
                    comm_res = writeNodeData(FBSDeviceName + "/ncdGGIO1.Para35.setMag.f", "SP",
                            (float) m_StatAndParam.m_FBS_DiscParam.OffLineYH_Cycle);
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para36.setMag.f"));
                    // 在线压低
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para36.setMag.f", "SP",
                    comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para36.setMag.f", "SP",
                            (float) m_StatAndParam.m_FBS_DiscParam.OnLineVol_Low);
                    sleep(1500);
                    if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para7.setMag.f"));
                    // 单体温度上限
                    writeNodeData(FBSDeviceName + "/ncdGGIO1.Para7.setMag.f", "SP",
                    comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para7.setMag.f", "SP",
                            (float) m_StatAndParam.m_FBS_DiscParam.MonomerTmp_High);
                }
                comm_res = true;
                //comm_res = true;
                //---------------------------------Log Level.WARN-------------------------------------//
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_SetOffLineYHParam:" 
                                        + " OffLineYH_Cycle:%d, OnLineVol_Low:%1.1fV, MonomerTmp_High:%1.3f℃",
@@ -1570,6 +1589,8 @@
            } else if (FBS9100_ComBase.CMD_ResetSystem == cmd) {
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.SPCSO4")) return false;
                comm_res = BTS_IEC61850_Write_CO_Node(FBSDeviceName + "/ncdGGIO1.SPCSO4.Oper", true);
                //判断验签正确与否
                comm_res = checkSysRestartState();
                //---------------------------------Log Level.WARN-------------------------------------//
                logger.printf(Level.WARN, "DevIp:%s operate FBS9100_ComBase.CMD_ResetSystem, res:%b", FBSDeviceIp, comm_res);
                //------------------------------------------------------------------------------------//
@@ -1599,30 +1620,30 @@
            } else if (FBS9100_ComBase.CMD_SetSYSSetParam == cmd) {
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para37.setMag.f"));
                // 电压过低阀值
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para37.setMag.f", "SP",
                comm_res = writeNodeData(FBSDeviceName + "/ncdGGIO1.Para37.setMag.f", "SP",
                        (float) m_FBS_SysParam.POF_BG_Boost_VolStart);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para38.setMag.f"));
                // 电压过高阀值
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para38.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para38.setMag.f", "SP",
                        (float) m_FBS_SysParam.POF_BG_Boost_VolStop);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para39.setMag.f"));
                // 电流异常阀值
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para39.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para39.setMag.f", "SP",
                        (float) m_FBS_SysParam.PowerBreakChargeCurr);
                sleep(1500);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para40.setMag.f"));
                // 浮充电流阀值
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para40.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para40.setMag.f", "SP",
                        ((float) m_FBS_SysParam.CurrentTyte) / 10);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para41.setMag.f"));
                // 在线电压低阀值
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para41.setMag.f", "SP",
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para41.setMag.f", "SP",
                        ((float) m_FBS_SysParam.GroupVolSorce) / 10);
                sleep(1500);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/ncdGGIO1.Para42.setMag.f"));
                // 设置主从机模式
                writeNodeData(FBSDeviceName + "/ncdGGIO1.Para42.setMag.f", "SP", ((float) m_FBS_SysParam.MonomerOrder));
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/ncdGGIO1.Para42.setMag.f", "SP", ((float) m_FBS_SysParam.MonomerOrder));
                
                
                comm_res = true;
@@ -1651,18 +1672,18 @@
            }else if(FBS9100_ComBase.CMD_SetJuHengParam == cmd) {
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/btgGGIO1.Para3.setMag.f"));
                //均衡功能启用状态
                writeNodeData(FBSDeviceName + "/btgGGIO1.Para3.setMag.f", "SP",    m_FBS_SysParam.JunHeng_Enabled*1000);
                comm_res = writeNodeData(FBSDeviceName + "/btgGGIO1.Para3.setMag.f", "SP",    m_FBS_SysParam.JunHeng_Enabled*1000);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/btgGGIO1.Para4.setMag.f"));
                //均衡停止电压阀值
                writeNodeData(FBSDeviceName + "/btgGGIO1.Para4.setMag.f", "SP",(float)m_FBS_SysParam.JunHeng_StVol);
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/btgGGIO1.Para4.setMag.f", "SP",(float)m_FBS_SysParam.JunHeng_StVol);
                if(!setBTSPublicKeyY(getUKEYRootDomStr(FBSDeviceName)+"/btgGGIO1.Para5.setMag.f"));
                //均衡停止电流阀值
                writeNodeData(FBSDeviceName + "/btgGGIO1.Para5.setMag.f", "SP",(float)m_FBS_SysParam.JunHeng_StCurr);
                comm_res = comm_res&&writeNodeData(FBSDeviceName + "/btgGGIO1.Para5.setMag.f", "SP",(float)m_FBS_SysParam.JunHeng_StCurr);
            
            }
            comm_res = true;
            //修复在控制命令结束后未返回正确操作结果
            //comm_res = true;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            logger.error(e.toString(), e);
            
            m_FBS_VCData.m_SysState.setErrCommCountInc(0);
@@ -1700,6 +1721,38 @@
        }
        return success;
    }
    //判断操作验签返回结果
    public boolean checkSysRestartState() {
        boolean success = false;
        try {
            Thread.sleep(500);
        } catch (InterruptedException e1) {
            logger.error(e1.toString(), e1);
        }
        int okcount = 0;
        for (int i = 0; i < 55; i++) {
            int value = (int) (readInt64NodeData(FBSDeviceName + "/btgGGIO1.signOpRes.mag.i", Fc.MX));
            System.out.println("signOpRes====="+value);
            if (value == 1) {
                //logger.error(m_FBS_SysParam.dev_id+":"+count+"操作结果:" + value+"==="+MyUtil.power(2, count)+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
                okcount++;
                if (okcount >= 3) {
                    // System.out.println("校验成功===="+i);
                    success = true;
                    break;
                }
            } else {
                okcount = 0;
            }
            try {
                sleep(100);
            } catch (InterruptedException e) {
                logger.error(e.toString(), e);
            }
        }
        return success;
    }
    // int min = Arrays.stream(m_FBS_VCData.vol).min().getAsInt();
    // System.out.println(min);
iec_61850_forFoShanAES/src/com/dec/fbs9100/FBS9100_ComBase.java
@@ -6,6 +6,7 @@
    public static final int     MonomerCountMax                    =    480;
    //----------------------------------------------------------------------------
    public static final int     CMD_NULL                        =    0x00;
    public static final int     CMD_FAIL                        =    -1;                //统一操作失败
    //----------------------------------------------------------------------------
    //------------ ������������FBS9100������ ------------------------------------------------
    public static final int     CMD_ResetSystem                    =     0x10;
iec_61850_forFoShanAES/src/com/dec/fbs9100/FBS9100_Task_Thread_SQL.java
@@ -910,8 +910,10 @@
                || (param.op_cmd == FBS9100_ComBase.CMD_SetOffLineYHParam_ACK)
                || (param.op_cmd == FBS9100_ComBase.CMD_StartOffLineYH_ACK)
                || (param.op_cmd == FBS9100_ComBase.CMD_StopOffLineYH_ACK)
                || (param.op_cmd == FBS9100_ComBase.CMD_ResetSystemAck))
        {
                || (param.op_cmd == FBS9100_ComBase.CMD_StopOffLineYH_ACK)
                || (param.op_cmd == FBS9100_ComBase.CMD_ResetSystemAck)
                || (param.op_cmd == FBS9100_ComBase.CMD_FAIL)
        ){
            String sql_str_base = Sql_Mysql.FBS9100SetParam_Table + " SET "
                                + "dev_id=" + param.dev_id + ", "
                                + "op_cmd=" + param.op_cmd + ", "
iec_61850_forFoShanAES/src/com/version_inf/version_inf.txt
@@ -11,6 +11,10 @@
    
    遵义紫晶61850单组-使用
V3.331 edit lijun at 2024-01-24
    1.远程重启设备时判断ukey校验返回结果判断操作是否成功
    2.失败时,则重置数据库中的命令为 -1
V3.330 edit lijun at 2023-02-23
    1.修复历史实时数据循环删除功能
    2.修复无版本号时报错