在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 電源與新能源 > 設計應用 > 基于VC環(huán)境的變頻器聯(lián)網(wǎng)控制

            基于VC環(huán)境的變頻器聯(lián)網(wǎng)控制

            作者: 時間:2011-03-26 來源:網(wǎng)絡 收藏

            4 計算機串口通訊編程

            對于的計算機串口通信編程可以用多種方法實現(xiàn)。MSComm控件通過串行端口傳輸和接收數(shù)據(jù),因此,可在編寫計算機串口通信程序時使用MSComm控件。MSComm控件使用時比較方便,只要完成簡單的串口初始化設置,然后調用相應的讀寫函數(shù)即可完成計算機串口通信操作。但是,使用MSComm控件在設置通信參數(shù)時是成批進行的,即數(shù)據(jù)傳輸速率、奇偶校驗、數(shù)據(jù)位數(shù)和停止位數(shù)是作為一個參數(shù)進行設置的。這樣使通信參數(shù)的設置和修改不太靈活自如,因此,不采用MSComm控件進行串行通信編程。利用Windows通信API函數(shù)進行串口通信編程可以非常靈活地進行串口參數(shù)的配置,但編程非常復雜,專業(yè)化程度較高,因此也沒有采用。利用的標準通信函數(shù)inp,inpw,inpd,outp,outpw,outpd等直接對串口進行操作編程需要對硬件電路的結構原理非常了解,但這里并不需要對計算機的串口電路非常了解,因此同樣沒有采用。最終程序中應用的是第三方編寫的串行通信Cserial類。下面對CSerial類進行解釋。

            CSerial::CSerial是類構造函數(shù),不帶參數(shù),負責初始化所有類成員變量。

            CSerial::Open是打開通信端口的成員函數(shù),帶兩個參數(shù),一個是串行端口號,另一個是波特率。

            CSerial::Close是關閉通信端口的成員函數(shù)。類析構函數(shù)調用這個函數(shù),因此可不用顯式調用這個函數(shù)。

            CSerial::SendData函數(shù)把數(shù)據(jù)從一個緩沖區(qū)寫到串行端口。它所帶的第一個參數(shù)是緩沖區(qū)指針,其中包含要被發(fā)送的資料。這個函數(shù)返回一些到端口的實際字節(jié)數(shù)。

            CSerial::ReadDataWaiting函數(shù)返回等待在通信端口緩沖區(qū)中的數(shù)據(jù),不帶參數(shù)。

            CSerial::ReadData函數(shù)從端口接收緩沖區(qū)讀入數(shù)據(jù)。第一個參數(shù)是緩沖區(qū)指針,第二個參數(shù)是個整數(shù)值,給出緩沖區(qū)的大小。

            將CSerial.cpp和CSerial.h添加入源程序,在串口通信程序部分調用CSerial類的函數(shù),可以很方便地完成通信功能。下面是在程序中用CSerial類編寫通信程序,完成的功能是按既定的通信協(xié)議向網(wǎng)絡下傳查詢指令,并接收從站返回的信息。如果連發(fā)三次都沒有接收到的應答信息就顯示為離線狀態(tài)。

            CSerialSerial;

            inti;

            CStringm_mes;

            Unsignedcharsend[14]={0x02,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x80,0x00,0x00,0x00};

            for(i=1;i=m_slname;i++)

            {

            send[2]=i;

            unsignedcharu=send[0];

            for(intl=1;l13;l++)

            {

            u=u^send[l];

            }

            send[13]=u;

            showaf=send[10];

            if(Serial.Open(m_port,m_baudrate))

            {

            Serial.SendData(send,14);

            }

            Sleep(200);

            if(Serial.ReadDataWaiting())

            {

            Serial.ReadData(recieve,14);

            }

            else

            {

            Serial.SendData(send,14);

            Sleep(200);

            if(Serial.ReadDataWaiting())

            {

            Serial.ReadData(recieve,14);

            }

            else

            {

            Serial.SendData(send,14);

            Sleep(200);

            if(Serial.ReadDataWaiting())

            {

            Serial.ReadData(recieve,14);

            }

            else

            {

            m_mes.Format(%disoffline,i);

            m_recc.InsertString(-1,m_mes);

            }

            }

            }

            在與變頻器的通信中要求計算機的串口號和通信速率是可變的。Open函數(shù)的兩個參數(shù)就是計算機的串口號和通信速率,在調用該函數(shù)初始化串口時,將這兩個參數(shù)按所希望的數(shù)賦值就可以正常通信了。如果要修改這兩個參數(shù),只要將修改值賦給這兩個參數(shù)的變量,再調用一次Open函數(shù)從新初始化計算機串口即可。在Open函數(shù)中僅初始化了串口號、通信速率和8位數(shù)據(jù)位這三個參數(shù),其它參數(shù)采用上一次串口初始化形成的參數(shù)數(shù)據(jù)。但是,在通信中還要求傳送的數(shù)據(jù)為二進制數(shù)據(jù)、偶校驗和有1位停止位,這就要求對Open函數(shù)進行修改。對Open函數(shù)的修改主要是對其中設備快(DCB)的修改。只要將舊的DCB結構改寫為以下結構即可。

            GetCommState(m_hIDComDev,&dcb);

            dcb.BaudRate=nBaud;

            dcb.ByteSize=8;

            dcb.fParity=1;

            dcb.fBinary=1;

            dcb.Parity=EVENPARITY;

            dcb.StopBits=ONESTOPBIT;

            經(jīng)過上述修改后,用Open函數(shù)初始化的串口就符合傳送二進制數(shù)、偶校驗、8位數(shù)據(jù)位、1位停止位和波特率及端口可變的要求,計算機可以和變頻器進行正常的通信了。

            5 組網(wǎng)實驗

            遠程軟件完成后進行組網(wǎng)實驗。網(wǎng)絡上用一臺計算機連接兩臺變頻器,對其中一臺變頻器執(zhí)行正轉起動到30Hz的命令,軟件控制界面顯示如圖5所示。

            圖5 變頻器器起動控制界面

            6 結語

            本文主要介紹了實現(xiàn)變頻器遠程網(wǎng)絡控制的計算機控制軟件如何編寫。從軟件的功能框架,數(shù)據(jù)庫的操作和計算機串口通信3個方面進行了闡述,詳細說明了在下來編寫合乎我們要求的控制軟件的方法,具有一定的實際參考價值。


            上一頁 1 2 3 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉