var CMD_61850_HR = 37; //启动核容测试
|
var CMD_61850_RES = 50; //启动内阻测试
|
|
var CMD_61850_START = 81; //启动测试
|
var CMD_61850_STOP = 83; //停止测试
|
var CMD_61850_SETPARAM = 40; //设置参数
|
var CMD_61850_GETPARAM = 41; //获取参数
|
|
|
|
var dev_61850_workstates = ["在线浮充","预充电","核容测试","停电放电","内阻测试","K1/D1测试"];
|
var dev_61850_alarmstates = ["继电器K1告警","通讯告警","设备过温告警","二极管D1告警"];
|
|
var equip61850Btn = {
|
disabled: function() {
|
$('#equip61850_btn_start_test').addClass('whyc-btn-disabled');
|
$('#equip61850_btn_ensure').addClass('whyc-btn-disabled');
|
},
|
active:function() {
|
$('#equip61850_btn_start_test').removeClass('whyc-btn-disabled');
|
$('#equip61850_btn_ensure').removeClass('whyc-btn-disabled');
|
},
|
startTest:function(param) {
|
if(param) {
|
$('#equip61850_btn_start_test').removeClass('whyc-btn-disabled'); // 启动测试可以点击
|
}else {
|
$('#equip61850_btn_start_test').addClass('whyc-btn-disabled'); // 启动测试无效
|
}
|
},
|
ensure: function(param) {
|
if(param) {
|
$('#equip61850_btn_ensure').removeClass('whyc-btn-disabled'); // 设置参数可以点击
|
}else {
|
$('#equip61850_btn_ensure').addClass('whyc-btn-disabled'); // 设定参数无效
|
}
|
},
|
flush: function(param) {
|
if(param) {
|
$('#equip61850_btn_flush').removeClass('whyc-btn-disabled'); // 设置参数可以点击
|
}else {
|
$('#equip61850_btn_flush').addClass('whyc-btn-disabled'); // 设定参数无效
|
}
|
}
|
};
|
|
// 61850数据校验
|
$(function() {
|
// 放电电流
|
$('#equip61850_discharge_curr').testVal({
|
pattern: /^[0-9]{1,3}$/,
|
regVal: true,
|
min: 1,
|
max: 300,
|
msg: '取值范围1~300(整数)'
|
});
|
|
// 放电时长
|
$('#equip61850_dis_time').testVal({
|
pattern: /^[0-9]{1,4}$/,
|
regVal: true,
|
min: 1,
|
max: 1000,
|
msg: '取值范围1~1000(整数)'
|
});
|
|
// 放电电容
|
$('#equip61850_dis_cap').testVal({
|
pattern: /^[0-9]{1,4}$/,
|
regVal: true,
|
min: 1,
|
max: 3000,
|
msg: '取值范围1~3000(整数)'
|
});
|
|
// 单体温度上限(保留一位小数)
|
$('#equip61850_dcdc_tmp_dis').testVal({
|
pattern: /^[0-9]{1,2}(\.[0-9]{0,1})?$/,
|
regVal: true,
|
min: 10,
|
max: 60,
|
msg: '取值范围10~60(保留一位小数)'
|
});
|
|
// 组端电压下限(保留两位小数)
|
$('#equip61850_group_vol_low').testVal({
|
pattern: /^[0-9]{1,2}(\.[0-9]{0,1})?$/,
|
regVal: true,
|
min: 44,
|
max: 54,
|
msg: '取值范围44.0~54.0(保留一位小数)'
|
});
|
|
// 单体电压下限(保留三位小数)
|
$('#equip61850_mon_vol_low').testVal({
|
pattern: /^[0-9]{1,2}(\.[0-9]{0,2})?$/,
|
regVal: true,
|
min: 1.8,
|
max: 2.25,
|
msg: '取值范围1.80~2.25(保留两位小数)'
|
});
|
|
// 获取61850面板的所有文本框
|
$('#equip61850').on('input propertychange', 'input[type=text]', function() {
|
set61850PopupStatus($(this).attr('id'), $(this).val());
|
});
|
|
// 获取61850面板的所有的下拉框
|
$('#equip61850').on('change', 'select', function() {
|
set61850PopupStatus($(this).attr('id'), $(this).val());
|
});
|
|
// 检测KD测试关闭
|
$('#equip61850_discharge_type').on('change', function() {
|
set61850KDParams();
|
});
|
});
|
|
|
|
/**
|
* 获取LD9设备的告警类型
|
* @param {} str
|
*/
|
function getAlarmStr(str){
|
var alarm_str = "";
|
var alarm_count= 0;
|
if(str != undefined){
|
var arr = str.split(",");
|
//console.info(arr);
|
for(var i=0;i<arr.length;i++){
|
if(arr[i] == 'true'){
|
alarm_count++;
|
alarm_str += (alarm_count>0?",":"")+dev_61850_alarmstates[i]
|
}
|
}
|
}
|
|
if(alarm_count == 0) {
|
alarm_str = '无';
|
}
|
return alarm_str;
|
}
|
|
// 查询61850设备信息
|
function search61850Infor(temp) {
|
loading.showLoading();
|
$.ajax({
|
type: "post",
|
//url: "BTS_61850_setparamAction_61850action_serchByCondition",
|
url: "Fbs9100_setparamAction_action_serchByCondition",
|
async:true,
|
dataType:'text',
|
data:"json="+JSON.stringify(temp),
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
console.info(model);
|
if(model.data!=undefined && model.data.length>0){
|
if(model.code == 0){
|
noContent.showNoContent("读取放电参数失败!");
|
initPopup(equip61850_popup, true);
|
}else{
|
initPopup(equip61850_popup);
|
}
|
var arrtd = new Array();
|
for(var i = 0;i<model.data.length;i++){
|
battlist.push(model.data[i].binf);
|
arrtd.push(model.data[i].binf.StationName); //机房名称
|
arrtd.push(model.data[i].binf.BattGroupName); //电池组名称
|
arrtd.push(model.data[i].binf.FBSDeviceId); //设备id
|
arrtd.push(model.data[i].binf.GroupIndexInFBSDevice+1); //被测电池组号
|
if(model.data[i].fsparam.TestCmd == CMD_61850_RES){
|
arrtd.push('内阻测试'); //设定测试类型
|
}else{
|
arrtd.push('核容测试');
|
}
|
arrtd.push(model.data[i].fsparam.DisCurr); //设定测试电流
|
arrtd.push('已停止'); //工作状态
|
arrtd.push(formatSeconds(0)); //已测时长
|
arrtd.push(model.data[i].fstate.dev_commcount); //通信计数
|
var temp = {
|
dev_id:model.data[i].binf.FBSDeviceId,
|
battgroupid:model.data[i].binf.BattGroupId,
|
batt_index:model.data[i].binf.GroupIndexInFBSDevice+1,
|
stationname:model.data[i].binf.StationName,
|
battgroupname:model.data[i].binf.BattGroupName
|
};
|
RecordUserDev(temp); //记录用户添加的设备
|
}
|
addFullTr($('.tbl-header'), $('.tbl-body'), arrTh, arrtd);
|
}
|
if(model.code == 1){
|
set61850DevTableTdValue(); //获取参数成功时将获取到的参数设置到表格中
|
}
|
set61850Param(model.data,(model.code == 0));
|
|
equip61850_popup.showPopup();
|
loading.hideLoading();
|
},
|
error:function(){
|
noContent.showNoContent("读取放电参数失败!");
|
loading.hideLoading();
|
}
|
});
|
}
|
|
// 设置61850设备的面板内容
|
function set61850Param(list, errorStatus) {
|
//console.info(list);
|
if(list != undefined && list.length > 0){
|
var param = list[0].fsparam;
|
$('#equip61850_discharge_curr').val(param.DisCurr); //放电电流
|
$('#equip61850_dis_time').val(param.DisTime); //放电时长
|
$('#equip61850_dis_cap').val(param.DisCap); //放电容量
|
$('#equip61850_dcdc_tmp_dis').val(param.MonomerTmp_High); //单体温度上限
|
$('#equip61850_group_vol_low').val(param.GroupVol_Low); //组端电压上限
|
$('#equip61850_mon_vol_low').val(param.MonomerVol_Low); //单体电压下限
|
//$('#equip61850_MonomerlowCount').val(param.MonomerLowCount); // 单体下限数量
|
$('#equip61850_DCVolHighLimit').val(param.DCVolHighLimit); // 单体升压上限
|
$('#equip61850_ChargeCurrSet').val(param.ChargeCurrSet); // 充电电流
|
// 选择测试类型下拉列表
|
changeSelected($('#equip61850_discharge_type'), param.TestCmd);
|
//console.info($('#equip61850_discharge_type').data());
|
set61850KDParams(); // 设置KD测试时参数的样式
|
}
|
}
|
//根据机房名称查询机房下的电池组信息
|
function search61850BattInfoByStation(temp){
|
//获取当前选中的行号
|
//var index = $('#main .tbl-body tbody tr.active').index();
|
//var temp = tabList[index]; //获取当前选中的电池组
|
//console.info(temp);
|
$.ajax({
|
type: "post",
|
url: "BattInfAction!serchByBattGroupName",
|
async:true,
|
dataType:'json',
|
data:"bif.StationName1=&bif.StationName="+temp.binf.StationName,
|
success:function(data){
|
var model = eval("("+data.result+")");
|
if(model.code == 1){
|
DevBattInfo = model.data;
|
$('#equip61850Battgroupname').text('');
|
for(var i=0;i<model.data.length;i++){
|
var batt = model.data[i];
|
var $option = $("<option></option>");
|
$option.text(batt.StationName+":"+batt.BattGroupName+"-"+batt.MonCount+"节");
|
$option.attr("batt_number",batt.GroupIndexInFBSDevice+1);
|
$option.attr("battgroupid",batt.BattGroupId);
|
$option.attr("value",batt.BattGroupId);
|
$option.attr("batt_name",batt.BattGroupName);
|
if(temp.binf.BattGroupId == batt.BattGroupId){
|
$option.attr("selected",true); //默认选中当前选中的电池组
|
$('#equip61850_dev_id').val(batt.FBSDeviceId);
|
$('#equip61850_battgropunum').val(batt.GroupIndexInFBSDevice + 1);
|
$('#equip61850_dev_battgroup_property').val("单体数量:"+batt.MonCount+";电压(V):"+batt.MonVolStd+";容量(AH):"+batt.MonCapStd);
|
}
|
$('#equip61850Battgroupname').append($option);
|
}
|
setDischageBattinfo(temp.fstate.dev_testgroupnum);
|
|
}
|
},
|
error:function(){
|
|
}
|
});
|
}
|
|
//当获取参数成功的时候更新表格中的部分参数值
|
function set61850DevTableTdValue(){
|
$('#main .tbl-body tbody tr').each(function(i){
|
var dev_id = $(this).find('td').eq(2).text();
|
if(dev_id == $('#equip61850_dev_id').val()){
|
$(this).find('td').eq(1).text($('#equip61850Battgroupname option:selected').attr('batt_name'));
|
$(this).find('td').eq(3).text($('#equip61850_battgropunum').val());
|
$(this).find('td').eq(4).text($('#equip61850_discharge_type').find("option:selected").text());
|
$(this).find('td').eq(5).text($('#equip61850_discharge_curr').val());
|
|
$('#main .tbl-header tbody tr').eq(i).find('td').eq(1).text($('#equip61850Battgroupname option:selected').attr('batt_name'));
|
$('#main .tbl-header tbody tr').eq(i).find('td').eq(3).text($('#equip61850_battgropunum').val());
|
$('#main .tbl-header tbody tr').eq(i).find('td').eq(4).text($('#equip61850_discharge_type').find("option:selected").text());
|
$('#main .tbl-header tbody tr').eq(i).find('td').eq(5).text($('#equip61850_discharge_curr').val());
|
}
|
});
|
}
|
|
//获取设备的测试参数等
|
function search61850TestParam(temp){
|
var is_showAlert = (arguments.length==1);
|
loading.showLoading();
|
$.ajax({
|
type: "post",
|
url:"Fbs9100_setparamAction_action_serchbyDev_id",
|
async:true,
|
dataType:'text',
|
data:"json="+JSON.stringify(temp),
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
//console.info(model);
|
|
if(model.code == 1 && model.data != undefined && model.data.length>0){
|
set61850Param(model.data, false);
|
if(is_showAlert){
|
noContent.showNoContent("获取测试参数成功", true);
|
}
|
initPopup(equip61850_popup);
|
set61850PopupStatus();
|
set61850DevTableTdValue();
|
}else{
|
if(model.data != undefined && model.data.length>0){
|
set61850Param(model.data, true);
|
}
|
initPopup(equip61850_popup, true);
|
noContent.showNoContent("获取测试参数失败");
|
}
|
loading.hideLoading();
|
},
|
error:function(){
|
initPopup(equip61850_popup, true);
|
noContent.showNoContent("获取测试参数失败");
|
loading.hideLoading();
|
//LD9_popup.showPopup();
|
}
|
});
|
}
|
|
//更新61850测试参数
|
function update61850TestParam(){
|
var param = getTestParam();
|
loading.showLoading();
|
$.ajax({
|
type: "post",
|
url:"Fbs9100_setparamAction_action_update61850Param",
|
async:true,
|
dataType:'text',
|
data:"json="+JSON.stringify(param),
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
//console.info(model);
|
if(model.code == 1){
|
noContent.showNoContent("修改测试参数成功", true);
|
var temp = {
|
num:CMD_61850_GETPARAM,
|
dev_id:param.dev_id
|
};
|
search61850TestParam(temp,true); //重新读取一次测试参数
|
set61850DevTableTdValue(); //更新表格中的参数
|
}else{
|
noContent.showNoContent("修改测试参数失败");
|
}
|
loading.hideLoading();
|
},
|
error:function(){
|
noContent.showNoContent("修改测试参数失败");
|
loading.hideLoading();
|
}
|
});
|
}
|
|
//发送指定的命令给61850设备 (启动,停止)
|
function sendCmdTo61850Dev(temp){
|
//console.info(temp);
|
$.ajax({
|
type: "post",
|
//url:"BTS_61850_setparamAction_61850action_updateCMd",
|
url:"Fbs9100_setparamAction_action_serchbyDev_id",
|
async:true,
|
dataType:'text',
|
data:"json="+JSON.stringify(temp),
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
//console.info(model);
|
if(model.code == 1 ){
|
show61850Content(temp.num,true);
|
}else{
|
show61850Content(temp.num,false);
|
}
|
loading.hideLoading();
|
},
|
error:function(){
|
show61850Content(temp.num,false);
|
loading.hideLoading();
|
//LD9_popup.showPopup();
|
}
|
});
|
}
|
|
//显示不同的提示框
|
function show61850Content(cmd,issuccess){
|
if(cmd == CMD_61850_START){
|
if(issuccess){
|
noContent.showNoContent("启动测试成功", true);
|
}else{
|
noContent.showNoContent("启动测试失败");
|
}
|
}else if(cmd == CMD_61850_STOP){
|
if(issuccess){
|
noContent.showNoContent("停止测试成功", true);
|
}else{
|
noContent.showNoContent("停止测试失败");
|
}
|
}
|
}
|
|
//根据面板中的数据获取测试参数
|
function getTestParam(){
|
var param = {
|
num:CMD_61850_SETPARAM,
|
dev_id:$('#equip61850_dev_id').val(),
|
TestCmd:$('#equip61850_discharge_type').val(),
|
DisCap:$('#equip61850_dis_cap').val(),
|
DisCurr:$('#equip61850_discharge_curr').val(),
|
DisTime:$('#equip61850_dis_time').val(),
|
GroupVol_Low:$('#equip61850_group_vol_low').val(),
|
MonomerVol_Low:$('#equip61850_mon_vol_low').val(),
|
MonomerTmp_High:$('#equip61850_dcdc_tmp_dis').val()
|
};
|
return param;
|
}
|
|
// 根据文本框内容设置61850的按钮状态
|
function set61850PopupStatus(id, val) {
|
var textList = equip61850_popup.popup.find('input[type=text]');
|
var selectList = equip61850_popup.popup.find('.popup-tbl select');
|
var initData = equip61850_popup.popup.data().attr;
|
var errorStatus = equip61850_popup.popup.data().errorStatus; // 获取是否读取参数失败
|
|
// 读取设备参数失败
|
if(errorStatus) {
|
equip61850Btn.disabled();
|
return false; // 结束函数运行
|
}
|
|
// 遍历面板下的所有文本框查看是否有错误数据
|
var isDisabled = false;
|
textList.each(function() {
|
if($(this).hasClass('error-data')) {
|
isDisabled = true;
|
}
|
});
|
|
// 存在错误的数据
|
if(isDisabled) {
|
equip61850Btn.disabled();
|
return false; // 结束函数运行
|
}else {
|
equip61850Btn.active();
|
}
|
|
// 判断下拉选项中是否有符合后台数据的值
|
var existOpt = false;
|
// 遍历面板表格中的下拉框
|
for(var k=0; k<selectList.length; k++) {
|
existOpt = false;
|
var _realVal = selectList.eq(0).data('value');
|
var _opts = selectList.eq(0).find('option');
|
// 遍历下拉框中选项是否有和后台匹配的值
|
for(var i=0; i<_opts.length; i++) {
|
if(_opts.eq(i).val() == _realVal) {
|
existOpt = true;
|
break;
|
}
|
}
|
|
// 后台传输的值没有存在下拉选项中
|
if(!existOpt) {
|
break;
|
}
|
}
|
|
// 在面板中存在没有匹配到后台传输的下拉框
|
if(!existOpt) {
|
equip61850Btn.startTest(false);
|
return false; // 结束函数运行
|
}
|
|
// 遍历对比当前文本框的数据和原始数据是否一致
|
for(var i=0; i<initData.length;i++) {
|
// 遍历查询到当前的文本框
|
if(initData[i].id == id) {
|
if(initData[i].val == val) {
|
equip61850Btn.active();
|
}else {
|
equip61850Btn.startTest(false);
|
}
|
}
|
}
|
}
|
|
// 检测是否为KD测试,并设置参数是否可以设定
|
function set61850KDParams() {
|
var test_type = $('#equip61850_discharge_type').val();
|
var groupParams = $('#equip61850 .group-params');
|
// 测试模式为KD测试
|
if(test_type == 72 || test_type == 50) {
|
groupParams.attr('readonly', 'readonly');
|
}else {
|
groupParams.attr('readonly', false);
|
}
|
}
|