#include "DIO_Board.h" #include "ui_DIO_Board.h" #include "realtimeform.h" #include "NetMgr.h" #include CDIO_Board::CDIO_Board(QWidget *parent) : QWidget(parent), ui(new Ui::CDIO_Board) { ui->setupUi(this); ui->widget->setProperty("flag", "Title"); ui->widget_2->setProperty("flag", "normal"); Init(); CRealTimeForm *pRealTime = new CRealTimeForm(); connect(pRealTime,SIGNAL(sigDOStatus(QJsonArray&,QJsonArray&)), this, SLOT(slotDOStatus(QJsonArray&,QJsonArray&))); } CDIO_Board::~CDIO_Board() { delete ui; } void CDIO_Board::slotDOStatus(QJsonArray& valueDI,QJsonArray& valueDO) { ui->label_DI1_Status->setText(QString("%1").arg(valueDI[0].toInt())); ui->label_DI2_Status->setText(QString("%1").arg(valueDI[1].toInt())); ui->label_DI3_Status->setText(QString("%1").arg(valueDI[2].toInt())); ui->label_DI4_Status->setText(QString("%1").arg(valueDI[3].toInt())); ui->label_DI5_Status->setText(QString("%1").arg(valueDI[4].toInt())); ui->label_DI6_Status->setText(QString("%1").arg(valueDI[5].toInt())); ui->label_DI7_Status->setText(QString("%1").arg(valueDI[6].toInt())); ui->label_DI8_Status->setText(QString("%1").arg(valueDI[7].toInt())); ui->label_DI9_Status->setText(QString("%1").arg(valueDI[8].toInt())); ui->label_DI10_Status->setText(QString("%1").arg(valueDI[9].toInt())); ui->label_DI11_Status->setText(QString("%1").arg(valueDI[10].toInt())); ui->label_DI12_Status->setText(QString("%1").arg(valueDI[11].toInt())); ui->label_DO1_Status->setText(QString("%1").arg(valueDO[0].toInt())); ui->label_DO2_Status->setText(QString("%1").arg(valueDO[1].toInt())); ui->label_DO3_Status->setText(QString("%1").arg(valueDO[2].toInt())); ui->label_DO4_Status->setText(QString("%1").arg(valueDO[3].toInt())); ui->label_DO5_Status->setText(QString("%1").arg(valueDO[4].toInt())); ui->label_DO6_Status->setText(QString("%1").arg(valueDO[5].toInt())); ui->label_DO7_Status->setText(QString("%1").arg(valueDO[6].toInt())); ui->label_DO8_Status->setText(QString("%1").arg(valueDO[7].toInt())); ui->label_DO9_Status->setText(QString("%1").arg(valueDO[8].toInt())); ui->label_DO10_Status->setText(QString("%1").arg(valueDO[9].toInt())); ui->label_DO11_Status->setText(QString("%1").arg(valueDO[10].toInt())); ui->label_DO12_Status->setText(QString("%1").arg(valueDO[11].toInt())); } void CDIO_Board::Init() { for (int i = 0; i < g_ChannelBaseInfo.size(); i++) { if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 1){ ui->label_DI1->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 2){ ui->label_DI2->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 3){ ui->label_DI3->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 4){ ui->label_DI4->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 5){ ui->label_DI5->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 6){ ui->label_DI6->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 7){ ui->label_DI7->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 8){ ui->label_DI8->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 9){ ui->label_DI9->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 10){ ui->label_DI10->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 11){ ui->label_DI11->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 12){ ui->label_DI12->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 13){ ui->label_DO1->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 14){ ui->label_DO2->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 15){ ui->label_DO3->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 16){ ui->label_DO4->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 17){ ui->label_DO5->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 18){ ui->label_DO6->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 19){ ui->label_DO7->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 20){ ui->label_DO8->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 21){ ui->label_DO9->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 22){ ui->label_DO10->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 23){ ui->label_DO11->setText(g_ChannelBaseInfo[i].channelName); } if(g_ChannelBaseInfo[i].boardType == "6" && g_ChannelBaseInfo[i].channelNoInBoard == 24){ ui->label_DO12->setText(g_ChannelBaseInfo[i].channelName); } } } void CDIO_Board::on_pushButton_Close_clicked() { QJsonObject allObj,cmdBody,itemObj,DOContralObj; QJsonArray arrayBody; allObj.insert("cmd", "91"); if(ui->checkBox->checkState()){ itemObj["channel"] = 13; itemObj["status"] = 1; arrayBody.append(itemObj); } if(ui->checkBox_2->checkState()){ itemObj["channel"] = 14; itemObj["status"] = 1; arrayBody.append(itemObj); } if(ui->checkBox_3->checkState()){ itemObj["channel"] = 15; itemObj["status"] = 1; arrayBody.append(itemObj); } if(ui->checkBox_4->checkState()){ itemObj["channel"] = 16; itemObj["status"] = 1; arrayBody.append(itemObj); } if(ui->checkBox_5->checkState()){ itemObj["channel"] = 17; itemObj["status"] = 1; arrayBody.append(itemObj); } if(ui->checkBox_6->checkState()){ itemObj["channel"] = 18; itemObj["status"] = 1; arrayBody.append(itemObj); } if(ui->checkBox_7->checkState()){ itemObj["channel"] = 19; itemObj["status"] = 1; arrayBody.append(itemObj); } if(ui->checkBox_8->checkState()){ itemObj["channel"] = 20; itemObj["status"] = 1; arrayBody.append(itemObj); } if(ui->checkBox_9->checkState()){ itemObj["channel"] = 21; itemObj["status"] = 1; arrayBody.append(itemObj); } if(ui->checkBox_10->checkState()){ itemObj["channel"] = 22; itemObj["status"] = 1; arrayBody.append(itemObj); } if(ui->checkBox_11->checkState()){ itemObj["channel"] = 23; itemObj["status"] = 1; arrayBody.append(itemObj); } if(ui->checkBox_12->checkState()){ itemObj["channel"] = 24; itemObj["status"] = 1; arrayBody.append(itemObj); } DOContralObj["DO_Control"] = arrayBody; allObj["cmdBody"] = DOContralObj; QNetworkRequest req; QString sUrl = QString("http://%1/cgi-bin/General.cgi/").arg(IP); req.setUrl(sUrl); g_NetMgr->PostJson(req,allObj); } void CDIO_Board::on_pushButton_Open_clicked() { // { // "cmd": "91", // "cmdBody": { // "DO_Control": [ // { // "channel": 13, // "status": 0 // }, // { // "channel": 14, // "status": 1 // } // ] // } // } QJsonObject allObj,cmdBody,itemObj,DOContralObj; QJsonArray arrayBody; allObj.insert("cmd", "91"); if(ui->checkBox->checkState()){ itemObj["channel"] = 13; itemObj["status"] = 0; arrayBody.append(itemObj); } if(ui->checkBox_2->checkState()){ itemObj["channel"] = 14; itemObj["status"] = 0; arrayBody.append(itemObj); } if(ui->checkBox_3->checkState()){ itemObj["channel"] = 15; itemObj["status"] = 0; arrayBody.append(itemObj); } if(ui->checkBox_4->checkState()){ itemObj["channel"] = 16; itemObj["status"] = 0; arrayBody.append(itemObj); } if(ui->checkBox_5->checkState()){ itemObj["channel"] = 17; itemObj["status"] = 0; arrayBody.append(itemObj); } if(ui->checkBox_6->checkState()){ itemObj["channel"] = 18; itemObj["status"] = 0; arrayBody.append(itemObj); } if(ui->checkBox_7->checkState()){ itemObj["channel"] = 19; itemObj["status"] = 0; arrayBody.append(itemObj); } if(ui->checkBox_8->checkState()){ itemObj["channel"] = 20; itemObj["status"] = 0; arrayBody.append(itemObj); } if(ui->checkBox_9->checkState()){ itemObj["channel"] = 21; itemObj["status"] = 0; arrayBody.append(itemObj); } if(ui->checkBox_10->checkState()){ itemObj["channel"] = 22; itemObj["status"] = 0; arrayBody.append(itemObj); } if(ui->checkBox_11->checkState()){ itemObj["channel"] = 23; itemObj["status"] = 0; arrayBody.append(itemObj); } if(ui->checkBox_12->checkState()){ itemObj["channel"] = 24; itemObj["status"] = 0; arrayBody.append(itemObj); } DOContralObj["DO_Control"] = arrayBody; allObj["cmdBody"] = DOContralObj; QNetworkRequest req; QString sUrl = QString("http://%1/cgi-bin/General.cgi/").arg(IP); req.setUrl(sUrl); g_NetMgr->PostJson(req,allObj); }