325 lines
11 KiB
C++
325 lines
11 KiB
C++
#include "DIO_Board.h"
|
|
#include "ui_DIO_Board.h"
|
|
#include "realtimeform.h"
|
|
#include "NetMgr.h"
|
|
#include <QNetworkRequest>
|
|
|
|
|
|
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);
|
|
}
|
|
|