void MainWindow::on_pushButton_2_clicked()
{
//清除数据
ui->lineEdit_2->clear();
ui->label_13->clear();
ui->label_18->clear();
ui->label_24->clear();
//重置变量
NumberOfCalls = 0;
lastValue = 0.0f; //
reductionAccumulator = 0.0f; // 累计减少量
QString DeviceID = ui->comboBox->currentText();
QString result = ui->lineEdit_7->text();// 60L 是否合格
updatastorage(DeviceID, result, 5) ;
result = ui->lineEdit_2->text(); // 正压 是否合格
updatastorage(DeviceID, result, 1) ;
result = ui->lineEdit_5->text(); // 负压
updatastorage(DeviceID, result, 2) ;
result = ui->lineEdit_6->text(); // 1.2L
updatastorage(DeviceID, result, 4) ;
result = ui->lineEdit_16->text(); // 排气阀
updatastorage(DeviceID, result, 3) ;
bool ok;
lineEdit_18_Time = ui->lineEdit_18->text().toInt(&ok);
if (!ok) return;
EM2000Hstate = true;//启动EM2000H设备状态
//处理modbusclintc804
if (modbusClientC804 && modbusClientC804->state() == QModbusClient::ConnectedState) {
if (Time2000H->isActive()) {
Time2000H->stop();
}
Time2000H->start(400); // 连接成功后,启动计时器
}
// 写入线圈 plc的modbus链接
if (modbusMasterPLC && modbusMasterPLC->state() == QModbusClient::ConnectedState) {
// writeCoils(false, 0x0012, 1);
// // 定义操作序列
// QVector<std::tuple<quint16, bool, int>> coilOperations = {
// {0x0014, false, 1},
// {0x0008, false, 2},
// {0x0016, false, 1},
// {0x0000, false, 1},
// {0x0016, true, 1}
// };
// // 链式执行(间隔100ms)
// int delay = 100;
// for (const auto& [addr, state, num] : coilOperations) {
// QTimer::singleShot(delay, this, [this, addr, state, num]{
// writeCoils(state, addr, num);
// });
// delay += 100; // 每次增加延迟
// }
writeCoils(false, 0x0000, 8);
//延迟写入
QTimer::singleShot(100, this, [this]() {
writeCoils(true, 0x0004, 2); // 执行第二次操作
});
QTimer::singleShot(100, this, [this]() {
writeCoils(true, 0x0007, 1); // 执行第二次操作
});
// QTimer::singleShot(100, this, [this]() {
// writeCoils(true, 0x0005, 1); //m5
// });
QTimer::singleShot(100, this, [this]() {
writeCoils(true, 0x0001, 1); // 执行第二次操作
});
}
}将这个数据按照comboBox显示并更新到第一行
最新发布