优化组态逻辑

This commit is contained in:
zhangsheng 2025-04-25 16:29:08 +08:00
parent baf5ae0a37
commit 166b62af1b
4 changed files with 26 additions and 23 deletions

View File

@ -222,7 +222,7 @@ void ConfigMgr::Save(QString & file_path) {
voltage_range_array.append(ptr->variables_[cid].normal_voltage_low);
voltage_range_array.append(ptr->variables_[cid].normal_voltage_high);
QJsonObject setpoint_data;
setpoint_data["speed_upper"] = qRound(ptr->alert_danger[cid].speed_upper * 10)/10.0;
setpoint_data["speed_upper"] = ptr->alert_danger[cid].speed_upper;
setpoint_data["speed_lower"] = ptr->alert_danger[cid].speed_lower;
setpoint_data["speed_upper_enable"] = ptr->alert_danger[cid].speed_upper_enable;
setpoint_data["speed_lower_enable"] = ptr->alert_danger[cid].speed_lower_enable;

View File

@ -253,11 +253,11 @@ typedef struct VibAlertDanger_{
} VibAlertDanger;
typedef struct SpeedAlert_{
float speed_upper;
float speed_lower;
int speed_upper;
int speed_lower;
bool speed_upper_enable;
bool speed_lower_enable;
float danger_speed_upper;
int danger_speed_upper;
SpeedAlert_(){
speed_upper = 0;
speed_lower = 0;

View File

@ -131,7 +131,7 @@ void SingleRelay::OnButtonGroup(QAbstractButton *slot_btn) {
std::shared_ptr<CardBase> base_ptr = ConfigMgr::Instance()->GetSlotPtr(button_id);
if(base_ptr->card_type_ == kCardVibSingle){
std::shared_ptr<VibrationData> vib_data = std::dynamic_pointer_cast<VibrationData>(base_ptr);
if((vib_data->base_config_[var].standby && vib_data->base_config_[var + 1].standby && !(var % 2)))
if((vib_data->base_config_[var].standby && (var % 2)))
continue;
QString item_str = QString("%1 (槽位 %2 通道 %3 非OK)").arg(vib_data->base_config_[var].point_name).arg(button_id).arg(var+1);
QListWidgetItem *item = new QListWidgetItem(item_str);

View File

@ -403,25 +403,28 @@ void TMRRelayAssociation::OnButtonGroup(QAbstractButton *slot_btn) {
item_or->setData(Qt::UserRole, "+");
list_widget_available->addItem(item_or);
for(int var = 0; var < CHANNEL_COUNT ; ++var){
QString item_data;
if(ptr->base_config_[var].standby && ptr->base_config_[var + 1].standby && (var % 2))
continue;
if(ptr->alert_danger[var].direct_enable ||
ptr->alert_danger[var].x1_ampl_enable ||
ptr->alert_danger[var].x2_ampl_enable){
QString item_str = QString("%1 (槽位 %3 通道 %4 警报)").arg(ptr->base_config_[var].point_name).arg(button_id).arg(var+1);
QListWidgetItem *item = new QListWidgetItem(item_str);
item_data = QString("S%1C%2A1").arg(QString::number(button_id, 10).rightJustified(2, '0')).arg(QString::number(var+1, 10).rightJustified(2, '0'));
item->setData(Qt::UserRole, item_data);
list_widget_available->addItem(item);
std::shared_ptr<CardBase> base_ptr = ConfigMgr::Instance()->GetSlotPtr(button_id);
if(base_ptr->card_type_ == kCardVibSingle){
QString item_data;
if(ptr->base_config_[var].standby && (var % 2))
continue;
if(ptr->alert_danger[var].direct_enable ||
ptr->alert_danger[var].x1_ampl_enable ||
ptr->alert_danger[var].x2_ampl_enable){
QString item_str = QString("%1 (槽位 %3 通道 %4 警报)").arg(ptr->base_config_[var].point_name).arg(button_id).arg(var+1);
QListWidgetItem *item = new QListWidgetItem(item_str);
item_data = QString("S%1C%2A1").arg(QString::number(button_id, 10).rightJustified(2, '0')).arg(QString::number(var+1, 10).rightJustified(2, '0'));
item->setData(Qt::UserRole, item_data);
list_widget_available->addItem(item);
}
if(ptr->alert_danger[var].danger_enable){
QString item_str = QString("%1 (槽位 %3 通道 %4 危险)").arg(ptr->base_config_[var].point_name).arg(button_id).arg(var+1);
QListWidgetItem *item = new QListWidgetItem(item_str);
item_data = QString("S%1C%2A2").arg(QString::number(button_id, 10).rightJustified(2, '0')).arg(QString::number(var+1, 10).rightJustified(2, '0'));
item->setData(Qt::UserRole, item_data);
list_widget_available->addItem(item);
}
}
if(ptr->alert_danger[var].danger_enable){
QString item_str = QString("%1 (槽位 %3 通道 %4 危险)").arg(ptr->base_config_[var].point_name).arg(button_id).arg(var+1);
QListWidgetItem *item = new QListWidgetItem(item_str);
item_data = QString("S%1C%2A2").arg(QString::number(button_id, 10).rightJustified(2, '0')).arg(QString::number(var+1, 10).rightJustified(2, '0'));
item->setData(Qt::UserRole, item_data);
list_widget_available->addItem(item);
}
}
}
}