更新UI
This commit is contained in:
@@ -7,7 +7,7 @@ P601_TransportPage::P601_TransportPage(QWidget *parent) :
|
||||
ui(new Ui::P601_TransportPage)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
QTimer::singleShot(10, this, &P601_TransportPage::WinInit);
|
||||
// QTimer::singleShot(1000, this, &P601_TransportPage::WinInit);
|
||||
|
||||
// QTimer::singleShot(2000, this, &P601_TransportPage::Show3D);
|
||||
|
||||
@@ -21,33 +21,33 @@ P601_TransportPage::~P601_TransportPage()
|
||||
|
||||
void P601_TransportPage::WinInit(){
|
||||
|
||||
for (int row = 1; row < CutConditionConfigFile.size()-1; ++row)
|
||||
for (int row = 1; row < TransportConditionConfigFile.size()-1; ++row)
|
||||
{
|
||||
QString TextObjName = QString("Text_SSConditions_%1").arg(row);
|
||||
QString TextObjName = QString("Transport_SSConditions_%1").arg(row);
|
||||
QLabel* Label = findChild<QLabel*>(TextObjName);
|
||||
if (Label) {
|
||||
QString Text = CutConditionConfigFile.at(row)[1];
|
||||
QString Text = TransportConditionConfigFile.at(row)[1];
|
||||
Text.replace("\\n","\n",Qt::CaseInsensitive);
|
||||
Label->setText(Text);
|
||||
}
|
||||
|
||||
TrueColor.append(CutConditionConfigFile.at(row)[2]);
|
||||
FalseColor.append(CutConditionConfigFile.at(row)[3]);
|
||||
TrueColor.append(TransportConditionConfigFile.at(row)[2]);
|
||||
FalseColor.append(TransportConditionConfigFile.at(row)[3]);
|
||||
}
|
||||
|
||||
// 现在 ui->CPW_1 已经是一个 CurvePlotWidget*
|
||||
ui->CPW_L1->addSeries("左U", Qt::green);
|
||||
ui->CPW_L1->addSeries("左V", Qt::blue);
|
||||
ui->CPW_L1->addSeries("左W", Qt::darkCyan);
|
||||
// 现在 ui->CPW_1 已经是一个 CurvePlotWidget*
|
||||
ui->CPW_L2->addSeries("左温", Qt::green);
|
||||
// 现在 ui->Transport_CPW_1 已经是一个 CurvePlotWidget*
|
||||
ui->Transport_CPW_L1->addSeries("左U", Qt::green);
|
||||
ui->Transport_CPW_L1->addSeries("左V", Qt::blue);
|
||||
ui->Transport_CPW_L1->addSeries("左W", Qt::darkCyan);
|
||||
// 现在 ui->Transport_CPW_1 已经是一个 CurvePlotWidget*
|
||||
ui->Transport_CPW_L2->addSeries("左温", Qt::green);
|
||||
|
||||
// 现在 ui->CPW_1 已经是一个 CurvePlotWidget*
|
||||
ui->CPW_R1->addSeries("右U", Qt::green);
|
||||
ui->CPW_R1->addSeries("右V", Qt::blue);
|
||||
ui->CPW_R1->addSeries("右W", Qt::darkCyan);
|
||||
// 现在 ui->CPW_1 已经是一个 CurvePlotWidget*
|
||||
ui->CPW_R2->addSeries("右温", Qt::green);
|
||||
// 现在 ui->Transport_CPW_1 已经是一个 CurvePlotWidget*
|
||||
ui->Transport_CPW_R1->addSeries("右U", Qt::green);
|
||||
ui->Transport_CPW_R1->addSeries("右V", Qt::blue);
|
||||
ui->Transport_CPW_R1->addSeries("右W", Qt::darkCyan);
|
||||
// 现在 ui->Transport_CPW_1 已经是一个 CurvePlotWidget*
|
||||
ui->Transport_CPW_R2->addSeries("右温", Qt::green);
|
||||
|
||||
//所用定时器初始化
|
||||
QTimer* UIRefresh_Timer = new QTimer(this);
|
||||
@@ -58,7 +58,7 @@ void P601_TransportPage::WinInit(){
|
||||
//所用定时器初始化
|
||||
QTimer* TrailRefresh_Timer = new QTimer(this);
|
||||
connect(TrailRefresh_Timer, &QTimer::timeout, this, &P601_TransportPage::TrailRefreshTimeOut);
|
||||
TrailRefresh_Timer->setInterval(ConfigFiles().TrailRefreshTime * 1000); // 设置定时器间隔为 1000 毫秒(1 秒)
|
||||
TrailRefresh_Timer->setInterval(10000); // 设置定时器间隔为 1000 毫秒(1 秒)
|
||||
TrailRefresh_Timer->start();
|
||||
}
|
||||
void P601_TransportPage::Show3D()
|
||||
@@ -156,7 +156,7 @@ void P601_TransportPage::SetProgressBar(QProgressBar *PB,const uint16_t Value,co
|
||||
}
|
||||
void P601_TransportPage::SetProgressBar(QProgressBar *PB,QLCDNumber *LCD,const QString NodeGroup,const QString NodeLCD,const QStringList Color){
|
||||
// 从OPC节点获取油位显示组数据(32位无符号整数)
|
||||
uint32_t PB_Group = gOPC_NodeValue["ns=6;s=::AsGlobalPV:" + NodeGroup].toUInt();
|
||||
uint32_t PB_Group = getNodeValue("" + NodeGroup).toUInt();
|
||||
|
||||
// 从32位数据中拆分出16位油位百分比值和颜色值
|
||||
uint16_t Percentage = static_cast<uint16_t>(PB_Group >> 16); // 高16位:百分比
|
||||
@@ -166,17 +166,17 @@ void P601_TransportPage::SetProgressBar(QProgressBar *PB,QLCDNumber *LCD,const Q
|
||||
SetProgressBar(PB, Percentage, ColorIndex, Color);
|
||||
|
||||
// 在LCD上显示实际油位测量值
|
||||
LCD->display(gOPC_NodeValue["ns=6;s=::AsGlobalPV:" +NodeLCD].toReal());
|
||||
LCD->display(getNodeValue("" +NodeLCD).toReal());
|
||||
}
|
||||
void P601_TransportPage::UIRefreshTimeOut()
|
||||
{
|
||||
if(!gPageIndexStr.contains("P601"))
|
||||
if(!gPageIndexStr.contains("P06"))
|
||||
return;
|
||||
/************************************* 电机基本信息 *************************************/
|
||||
// 从OPC节点获取切割设备电机相关的状态数据(32位无符号整数)
|
||||
uint32_t PB_GroupL1 = gOPC_NodeValue["ns=6;s=::AsGlobalPV:PB_Curr_TransportL.PageGroup1"].toUInt(); // 电流显示组1数据
|
||||
uint32_t PB_GroupL2 = gOPC_NodeValue["ns=6;s=::AsGlobalPV:PB_Curr_TransportL.PageGroup2"].toUInt(); // 电流显示组2数据
|
||||
uint32_t PB_MotorTempL = gOPC_NodeValue["ns=6;s=::AsGlobalPV:PB_Temp_TransportL.PageGroup"].toUInt(); // 电机温度显示数据
|
||||
uint32_t PB_GroupL1 = getNodeValue("PB_Curr_TransportL.PageGroup1").toUInt(); // 电流显示组1数据
|
||||
uint32_t PB_GroupL2 = getNodeValue("PB_Curr_TransportL.PageGroup2").toUInt(); // 电流显示组2数据
|
||||
uint32_t PB_MotorTempL = getNodeValue("PB_Temp_TransportL.PageGroup").toUInt(); // 电机温度显示数据
|
||||
|
||||
// 从32位数据中提取16位百分比值(高16位和低16位拆分)
|
||||
uint16_t PercentageCurLU = static_cast<uint16_t>(PB_GroupL1 >> 16); // U相电流百分比(高16位)
|
||||
@@ -198,19 +198,19 @@ void P601_TransportPage::UIRefreshTimeOut()
|
||||
SetProgressBar(ui->PB_TempL, PercentageMotorTempL, ColorTempL, glMotorTempColor); // 电机温度进度条
|
||||
|
||||
// 在LCD上显示实际测量值(电流和温度)
|
||||
ui->LCD_CurL_1->display(gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportL.Filtered30_U"].toReal()); // U相电流实际值
|
||||
ui->LCD_CurL_2->display(gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportL.Filtered30_V"].toReal()); // V相电流实际值
|
||||
ui->LCD_CurL_3->display(gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportL.Filtered30_W"].toReal()); // W相电流实际值
|
||||
ui->LCD_TempL->display(gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportL.Filtered_Temp"].toReal()); // 电机温度实际值
|
||||
ui->LCD_CurL_1->display(getNodeValue("IN_PhaseTransportL.Filtered30_U").toReal()); // U相电流实际值
|
||||
ui->LCD_CurL_2->display(getNodeValue("IN_PhaseTransportL.Filtered30_V").toReal()); // V相电流实际值
|
||||
ui->LCD_CurL_3->display(getNodeValue("IN_PhaseTransportL.Filtered30_W").toReal()); // W相电流实际值
|
||||
ui->LCD_TempL->display(getNodeValue("IN_PhaseTransportL.Filtered_Temp").toReal()); // 电机温度实际值
|
||||
/**************************************************************************************/
|
||||
|
||||
|
||||
|
||||
/************************************* 电机基本信息 *************************************/
|
||||
// 从OPC节点获取切割设备电机相关的状态数据(32位无符号整数)
|
||||
uint32_t PB_GroupR1 = gOPC_NodeValue["ns=6;s=::AsGlobalPV:PB_Curr_TransportR.PageGroup1"].toUInt(); // 电流显示组1数据
|
||||
uint32_t PB_GroupR2 = gOPC_NodeValue["ns=6;s=::AsGlobalPV:PB_Curr_TransportR.PageGroup2"].toUInt(); // 电流显示组2数据
|
||||
uint32_t PB_MotorTempR = gOPC_NodeValue["ns=6;s=::AsGlobalPV:PB_Temp_TransportR.PageGroup"].toUInt(); // 电机温度显示数据
|
||||
uint32_t PB_GroupR1 = getNodeValue("PB_Curr_TransportR.PageGroup1").toUInt(); // 电流显示组1数据
|
||||
uint32_t PB_GroupR2 = getNodeValue("PB_Curr_TransportR.PageGroup2").toUInt(); // 电流显示组2数据
|
||||
uint32_t PB_MotorTempR = getNodeValue("PB_Temp_TransportR.PageGroup").toUInt(); // 电机温度显示数据
|
||||
|
||||
// 从32位数据中提取16位百分比值(高16位和低16位拆分)
|
||||
uint16_t PercentageCurRU = static_cast<uint16_t>(PB_GroupR1 >> 16); // U相电流百分比(高16位)
|
||||
@@ -232,21 +232,21 @@ void P601_TransportPage::UIRefreshTimeOut()
|
||||
SetProgressBar(ui->PB_TempR, PercentageMotorTempR, ColorTempR, glMotorTempColor); // 电机温度进度条
|
||||
|
||||
// 在LCD上显示实际测量值(电流和温度)
|
||||
ui->LCD_CurR_1->display(gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportR.Filtered30_U"].toReal()); // U相电流实际值
|
||||
ui->LCD_CurR_2->display(gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportR.Filtered30_V"].toReal()); // V相电流实际值
|
||||
ui->LCD_CurR_3->display(gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportR.Filtered30_W"].toReal()); // W相电流实际值
|
||||
ui->LCD_TempR->display(gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportR.Filtered_Temp"].toReal()); // 电机温度实际值
|
||||
ui->LCD_CurR_1->display(getNodeValue("IN_PhaseTransportR.Filtered30_U").toReal()); // U相电流实际值
|
||||
ui->LCD_CurR_2->display(getNodeValue("IN_PhaseTransportR.Filtered30_V").toReal()); // V相电流实际值
|
||||
ui->LCD_CurR_3->display(getNodeValue("IN_PhaseTransportR.Filtered30_W").toReal()); // W相电流实际值
|
||||
ui->LCD_TempR->display(getNodeValue("IN_PhaseTransportR.Filtered_Temp").toReal()); // 电机温度实际值
|
||||
/**************************************************************************************/
|
||||
|
||||
|
||||
|
||||
/************************************* 启停条件信息 *************************************/
|
||||
uint32_t SSConditions = gOPC_NodeValue["ns=6;s=::AsGlobalPV:StartStopConditions.Transport"].toUInt(); // 启停条件状态数据
|
||||
uint32_t SSConditions = getNodeValue("StartStopConditions.Transport").toUInt(); // 启停条件状态数据
|
||||
// 更新32个启停条件状态标签的显示样式
|
||||
for (int i = 0; i < 32; ++i)
|
||||
{
|
||||
// 根据索引查找对应的标签控件
|
||||
QLabel* Label = findChild<QLabel*>(QString("Text_SSConditions_%1").arg(i));
|
||||
QLabel* Label = findChild<QLabel*>(QString("Transport_SSConditions_%1").arg(i+1));
|
||||
// 如果找到标签
|
||||
if (Label){
|
||||
// 基础样式:默认背景图
|
||||
@@ -263,15 +263,15 @@ void P601_TransportPage::UIRefreshTimeOut()
|
||||
}
|
||||
|
||||
void P601_TransportPage::TrailRefreshTimeOut(){
|
||||
ui->CPW_L1->appendPoint(0, gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportL.Filtered30_U"] .toReal());
|
||||
ui->CPW_L1->appendPoint(1, gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportL.Filtered30_V"] .toReal());
|
||||
ui->CPW_L1->appendPoint(2, gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportL.Filtered30_W"] .toReal());
|
||||
ui->CPW_L2->appendPoint(0,gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportL.Filtered_Temp"] .toDouble());
|
||||
ui->Transport_CPW_L1->appendPoint(0, getNodeValue("IN_PhaseTransportL.Filtered30_U") .toReal());
|
||||
ui->Transport_CPW_L1->appendPoint(1, getNodeValue("IN_PhaseTransportL.Filtered30_V") .toReal());
|
||||
ui->Transport_CPW_L1->appendPoint(2, getNodeValue("IN_PhaseTransportL.Filtered30_W") .toReal());
|
||||
ui->Transport_CPW_L2->appendPoint(0,getNodeValue("IN_PhaseTransportL.Filtered_Temp") .toDouble());
|
||||
|
||||
ui->CPW_R1->appendPoint(0, gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportR.Filtered30_U"] .toReal());
|
||||
ui->CPW_R1->appendPoint(1, gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportR.Filtered30_V"] .toReal());
|
||||
ui->CPW_R1->appendPoint(2, gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportR.Filtered30_W"] .toReal());
|
||||
ui->CPW_R2->appendPoint(0,gOPC_NodeValue["ns=6;s=::AsGlobalPV:IN_PhaseTransportR.Filtered_Temp"] .toDouble());
|
||||
ui->Transport_CPW_R1->appendPoint(0, getNodeValue("IN_PhaseTransportR.Filtered30_U") .toReal());
|
||||
ui->Transport_CPW_R1->appendPoint(1, getNodeValue("IN_PhaseTransportR.Filtered30_V") .toReal());
|
||||
ui->Transport_CPW_R1->appendPoint(2, getNodeValue("IN_PhaseTransportR.Filtered30_W") .toReal());
|
||||
ui->Transport_CPW_R2->appendPoint(0,getNodeValue("IN_PhaseTransportR.Filtered_Temp") .toDouble());
|
||||
}
|
||||
|
||||
void P601_TransportPage::RotateDev(){
|
||||
|
||||
Reference in New Issue
Block a user