亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Socket 通信的流水號刻印設(shè)備的開發(fā)與應(yīng)用

        2021-03-05 14:57:43鄧明利
        科技創(chuàng)新導(dǎo)報 2021年27期
        關(guān)鍵詞:數(shù)據(jù)庫

        鄧明利

        摘要:隨著工業(yè)大數(shù)據(jù)、信息化、數(shù)字化發(fā)展,計算機實現(xiàn)人機交互功能的重要性、實用性也越來越突出。而以Socket通訊方式實現(xiàn)對計算機PC與激光刻印控制器的通訊,具有傳輸速度快、數(shù)據(jù)傳輸穩(wěn)定、性價比高等優(yōu)點,采用開源的SQLite3數(shù)據(jù)庫作為數(shù)據(jù)存儲,有體積小、訪問速度快等優(yōu)點。本文重點介紹以Socket通訊方式實現(xiàn)零件毛坯流水號刻印設(shè)備的開發(fā)與應(yīng)用。

        關(guān)鍵詞: Socket通訊激光刻印設(shè)備SQLite3數(shù)據(jù)庫計算機

        Development and Application of Serial Number Printing Equipment Based on Socket Communication

        DENG Mingli

        (GAC Motor Co, Ltd., Guangzhou,Guangdong Province,511434 China)

        Abstract: With the development of industrial big data, informatization and digitization, the importance and practicability of human-computer interaction are becoming more and more prominent. The Socket communication between computer PC and laser engraving controller has the advantages of fast transmission speed, stable data transmission and high cost performance. The open source SQLite3 database is used as data storage, which has the advantages of small volume and fast access speed. This paper focuses on the development and application of part blank serial number printing equipment by socket communication.

        Key Words: Socket communication;Laser printing equipment; SQLite3 database; Computer

        1 概述

        本文主要介紹采用C++語言為基礎(chǔ)開發(fā)一套基于Socket通訊的控制軟件,實現(xiàn)普通PC機與激光刻印控制器的完美組態(tài),實現(xiàn)工件毛坯的流水號按工藝要求自動刻印流水號。根據(jù)軟件的唯一算法,保障刻印流水號的不重號。作業(yè)記錄與SQLite3數(shù)據(jù)庫表同步更新保存,對工件流動提供了有效的追溯功能[1]。

        2  硬件構(gòu)成

        系統(tǒng)主要由計算機、IPG激光控制器和振鏡構(gòu)成,如圖1所示。

        3 ?軟件部分

        采用C++語言為基礎(chǔ)開發(fā)人機對話控制軟件,基于Windows桌面系統(tǒng)環(huán)境,采用C++語言及SQLite3數(shù)據(jù)庫開發(fā)而成,實現(xiàn)了普通PC機與激光刻印控制器完美組態(tài)。有刻印工藝參數(shù)修改、刻印歷史數(shù)據(jù)查詢等功能。采用密碼窗口登陸安全保護(hù)機制,有效地保護(hù)了設(shè)備數(shù)據(jù)安全。本軟件采用數(shù)據(jù)唯一算法,保證刻印流水號不重號。作業(yè)記錄與數(shù)據(jù)庫表同步更新保存,對工件流動提供了有效的追溯功能[2-4]。

        4 ?Socket通訊介紹

        Socket也叫套接字,用來實現(xiàn)網(wǎng)絡(luò)通信(如圖2)。socekt是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口。在設(shè)計模式中,socket其實就是一個門面模式,它把復(fù)雜的tcp/ip協(xié)議族隱藏在socket接口后面,對用戶來說,一組簡單的接口就是全部,讓socket去組織數(shù)據(jù),以符合指定的協(xié)議,兩個套接字進(jìn)程運行在同一個機器上,可以通過訪問同一個文件系統(tǒng)間接完成通信。本項目中激光刻印控制器作為客戶機套接字,PC機作為服務(wù)器套接字,進(jìn)行信息的傳遞處理[5-7]。

        5 ?相關(guān)程序源代碼

        5.1 SQLite3數(shù)據(jù)庫的連接關(guān)鍵代碼

        QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

        db.setDatabaseName(QApplication::applicationDirPath()+"/LGDKJ.dat");

        //如果本目錄下沒有該文件,則會在本目錄下生成,否則連接該文件

        if (!db.open()) {

        QMessageBox::warning(0, QObject::tr("Database Error"),

        db.lastError().text());

        returnfalse;

        }

        5.2 ?建立Socket通訊關(guān)鍵代碼

        m_tcpServer = new QTcpServer(this);

        client_tcpSocket= new QTcpSocket(this);

        tcpClient_list= new QList<QTcpSocket*>; if( m_tcpServer->listen(QHostAddress::Any,(Sport.toInt()))==true)

        //監(jiān)聽任何連上8888端口的ip ? ? ? ? ? ? connect(m_tcpServer,&QTcpServer::newConnection,this,[=](){

        client_tcpSocket = m_tcpServer->nextPendingConnection();

        //得到每個連進(jìn)來的socke

        tcpClient_list->append( client_tcpSocket);

        //記錄連接的socket

        QString ?ip = client_tcpSocket ->peerAddress().toString();

        qint16 port = client_tcpSocket->peerPort();

        QString info1 =QString("客戶端[%1:%2]連接成功").arg(ip).arg(port);

        //連接的socket的IP,port ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? connect(client_tcpSocket,&QTcpSocket::readyRead,this,&KYSYSTEM::readMessage);

        //有可讀的信息,觸發(fā)讀函數(shù)槽

        connect(client_tcpSocket,&QTcpSocket::disconnected,this,[=](){

        //主動和客戶端斷開連接

        QString info1 =QString("客戶端[%1:%2]斷開連接").arg(ip).arg(port);

        //連接的socket的IP,port

        Socket_Disconnected();

        });

        });

        }

        else {QMessageBox::information(this,tr("錯誤提示:"), tr("服務(wù)器創(chuàng)建失敗,請檢查8888號端口是否被占用!"),QMessageBox::Ok);

        }

        }

        5.3 ?流水號唯一算法代碼

        void KYSYSTEM:: getSNO()//獲取流水號

        {

        QSqlQuery query4;

        query4.exec(QString("select max(Ser_No) from oplist where PT_day ='%1'") .arg(strD));

        if (query4.next())

        {

        int MaxNO =query4.value(0).toInt();

        SerNO=MaxNO+1;

        }

        }

        5.4 ?PC機通過socket通訊將刻印碼發(fā)給激光控制器

        void KYSYSTEM:: readMessage()

        {

        for(int i=0;i<tcpClient_list->size();i++){

        //獲取當(dāng)前套接字是否有數(shù)據(jù)

        if(tcpClient_list->at(i)->bytesAvailable()){

        QByteArray buf=tcpClient_list->at(i)->readAll();

        QString ss=QVariant(buf).toString();

        if (ss=="TCP:Give me string")//(ss=="Marking finish\r\n")

        {

        QString str2 =PTmes+"\r\n";

        tcpClient_list->at(i)->write(str2.toUtf8().data());

        }

        }

        5.5 ?刻印內(nèi)容發(fā)送完畢后關(guān)閉socket通訊

        void KYSYSTEM::Socket_Disconnected()

        {

        for(int i = 0; i < tcpClient_list->size(); i++)

        {

        QTcpSocket *item = tcpClient_list->at(i);

        int temp = item->socketDescriptor();

        if(-1 == temp)

        {

        tcpClient_list->removeAt(i);

        //如果有客戶端斷開連接, 就將列表中的套接字刪除

        item->deleteLater();

        return;

        }

        }

        return;

        }

        6結(jié)語

        本項目通過Socket通訊實現(xiàn)了普通PC機與激光刻印控制器完美組態(tài),通過軟件內(nèi)部唯一流水號算法,實時將刻印信息發(fā)給激光控制器完成特定流水號刻印工作。本文重點介紹了Socket通訊的原理、共享了關(guān)鍵源代碼以及在本項目中的實例應(yīng)用,充分展現(xiàn)了該通訊方式的穩(wěn)定性、實用性和簡便性。

        參考文獻(xiàn)

        [1]傅玥,蔡興富.Socket網(wǎng)絡(luò)編程-基于TCP協(xié)議或UDP協(xié)議[J].中國新通信,2020,22(8):57-58.

        [2]蔣達(dá).基于Socket的網(wǎng)絡(luò)接口編程[J].辦公自動化,2018,23(23):29-30,32.

        [3]林志紅.Android Socket網(wǎng)絡(luò)編程體會[J].科學(xué)技術(shù)創(chuàng)新,2017(28):140-141.

        [4]練坤玉.訂單型紡織生產(chǎn)計劃調(diào)度系統(tǒng)設(shè)計與應(yīng)用研究[D].合肥:合肥工業(yè)大學(xué),2019.

        [5]薛哲,張功學(xué),何凱,等.基于Socket通信的AGV上位機控制系統(tǒng)[J].現(xiàn)代機械,2021(5):99-102.

        [6]陳敬靜.SQLite數(shù)據(jù)庫研究與可視化[D].南京:南京郵電大學(xué),2020.

        [7]崔天鑫.SQLite與Access在JDBC編程中的對比研究[J].電腦編程技巧與維護(hù),2019(11):4-6,15.

        1896501186274

        猜你喜歡
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        財經(jīng)(2017年15期)2017-07-03 22:40:49
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        數(shù)據(jù)庫
        財經(jīng)(2015年3期)2015-06-09 17:41:31
        數(shù)據(jù)庫
        財經(jīng)(2014年21期)2014-08-18 01:50:18
        數(shù)據(jù)庫
        財經(jīng)(2014年6期)2014-03-12 08:28:19
        數(shù)據(jù)庫
        財經(jīng)(2013年6期)2013-04-29 17:59:30
        精品国产成人av久久| 亚洲Av无码专区尤物| 99国产精品欲av麻豆在线观看| 蜜桃臀av一区二区三区| 国产欧美一区二区三区在线看| 在线观看国产精品日韩av| 国产午夜激无码AV毛片不卡| 日本高清一区二区在线播放| 亚洲国产精品无码久久一区二区| 欧美日韩不卡合集视频| 精品亚洲国产探花在线播放| 一本久道在线视频播放| 国产精品久久久久久久久久红粉| 好屌草这里只有精品| 欧洲亚洲视频免费| 国产精品女同二区五区九区| 亚洲一区精品无码| 女性女同性aⅴ免费观女性恋| 欧美视频九九一区二区| 伊人久久综合狼伊人久久| 欧美疯狂性受xxxxx喷水| 无码综合天天久久综合网| 天堂最新在线官网av| 日韩一二三四区在线观看| 亚洲香蕉成人av网站在线观看| 国产成人www免费人成看片| 青青草99久久精品国产综合| 国内偷拍国内精品多白86| 国产午夜福利不卡在线观看| 一区一级三级在线观看| 日本一区二区高清在线观看| 丰满少妇被猛烈进入高清播放| 综合无码一区二区三区| 尤物AV无码色AV无码麻豆| 日本不卡一区二区三区久久精品 | 国产精品va在线播放我和闺蜜 | 漂亮人妻洗澡被公强 日日躁| 精品无码人妻一区二区三区品| 亚洲aⅴ久久久噜噜噜噜| 亚洲精品中字在线观看| 国产精品久久777777|