国产一区二区精品在线_午夜精品视频_亚洲国产高清高潮精品美女_久久久91_午夜精品视频_久久久久亚洲一区二区三区

基于VC5.0的PC與松下PLC的通訊及其應(yīng)用

來源:周奉磊

點擊:250

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:PLC 串行通訊

    1 引言

        隨著PLC應(yīng)用范圍的不斷擴大,PLC與PC之間通訊技術(shù)的應(yīng)用需求越來越廣泛。通過PLC的編程口進行通訊不僅可以減少系統(tǒng)的本錢及復(fù)雜性,同時可以減少PLC方面軟件的復(fù)雜程度和編程量。本文根據(jù)實際工程中的經(jīng)驗進行總結(jié),介紹了利用VC++中MFC實現(xiàn)PC與松下FP0系列PLC編程口進行串行通訊的程序設(shè)計基本方法。

    2 PC與FP0 PLC之間的通訊協(xié)議和接口

        在一個規(guī)模較大的紡織產(chǎn)業(yè)控制系統(tǒng)中,經(jīng)常有幾十個、幾百個甚至更多的測溫順控制對象。即使速度很高的系統(tǒng),也很難滿足要求。為了降低危險,進步可靠性,必須將任務(wù)分散,而分散的設(shè)備需要通過一定的手段連接起來,其中數(shù)據(jù)通訊和系統(tǒng)互連是該系統(tǒng)的關(guān)鍵技術(shù)之一。松下FP0系列PLC具有較強的通訊功能,可以適合各種產(chǎn)業(yè)自動化網(wǎng)絡(luò)的不同需要, 其中包括以太網(wǎng)協(xié)議及通用接口、H型鏈接通訊系統(tǒng)(H-LINK)、P型鏈接系統(tǒng)(OPTICAL LINK)、W型鏈接系統(tǒng)(WIRE-LINK)和C-NET鏈接系統(tǒng),還有遠(yuǎn)程I/O通訊系統(tǒng)(REMOTE I/O),它們通過RS-485、RS-232或?qū)S镁W(wǎng)絡(luò)插座在PLC-PLC、計算機與PLC之間進行通訊。但是要利用這些系統(tǒng)協(xié)議,必須采用專用高級通訊單元,這勢必增加系統(tǒng)的本錢。為了節(jié)省開支,紡織產(chǎn)業(yè)系統(tǒng)可以直接采用松下電工最基礎(chǔ)的專用通訊協(xié)議-NEWTOCOL。

        NEWTOCOL分為兩部分:一是NEWTOCOL-COM,即關(guān)于計算機通訊的協(xié)議;二是NEWTOCOL-DATA,即關(guān)于數(shù)據(jù)傳輸協(xié)議。

        2.1  NEWTOCOL-COM的幀格式

        (1) 命令發(fā)送幀

        (2) 正確響應(yīng)幀
        img]周奉磊-b2.jpg border=0>

        (3) 錯誤響應(yīng)幀
        img]周奉磊-b3.jpg border=0>

        2.2  NEWTOCOL-DATA的幀格式

        (1) 命令發(fā)送幀
        img]周奉磊-b4.jpg border=0>

        (2) 正確響應(yīng)幀
        img]周奉磊-b5.jpg border=0>

        (3) 錯誤響應(yīng)幀
        img]周奉磊-b6.jpg border=0>

        通過該協(xié)議可更加快捷地傳送系統(tǒng)所需的數(shù)據(jù),設(shè)置PLC所需的參數(shù)。FP0 PLC與上位機鏈接通訊協(xié)議如圖1所示:

    圖1 FP0 PLC 與上位機鏈接通訊協(xié)議

    3 通訊程序設(shè)計

        在PC機和松下FP0系列PLC進行串行通訊時,由于PC與PLC之間的信息傳送是通過PLC編程口實現(xiàn)的,采用的是FP0 PLC專用協(xié)議通訊指令。因此,在PC編程方面需要嚴(yán)格的遵循PLC編程口通訊協(xié)議。具體實現(xiàn)介紹如下:

        3.1 串口設(shè)備的打開

        在Visual C++中,利用MFC CFile類來實現(xiàn)串行通訊。這種通訊方式與訪問磁盤普通文件沒有太大不同。打開串口設(shè)備需作以下操縱:

        CFile file;
        CFileException e
        File.open(
        portName,      // example "com1",com2"
        CFile::modeReadWrite,
        &e);

        3.2 串口設(shè)備的初始化

        串行端口創(chuàng)建時,必須對其進行設(shè)置以匹配與其對話的設(shè)備。FP0系列PLC的波特率為固定的9600bps,奇偶校驗采用奇校驗,1位停止位,8位數(shù)據(jù)位。一般地,可用如下程序設(shè)置它們:

        DCB dcb;
        ::GetCommState((HANDLE)file.m_hFile,&dcb);
        dcb.BaudRate=9600;
        dcb.StopBits=1;
        dcb.ByteSize=8;
        dcb.Parity=1;
        ::setCommState((HANDLE)file.m_hFile,&dcb);

        為了更好的控制端口可以利用SetCommTimeouts()函數(shù)打開或封閉串口超時功能,具體程序如下:

        COMMTIMEOUTS cto;
        ::GetCommTimeouts((HANDLE)file.m_hFile,&ct0);
        cto.ReadIntervalTimeout=0;
        cto.ReadTotalTimeoutMultiplier=0;
        cto.ReadTotalTimeoutConstant=0;
        cto.WriteTotalTimeoutMultiplier=0;
        cto.WriteTotalTimeoutConstant=0;
        ::SetCommTimeouts((HANDLE)file.m_hFile,&cto);

        3.3 PC與FP0 PLC之間的通訊實現(xiàn)

        在FX2系列PLC與PC機的通訊中,數(shù)據(jù)是以幀為單位發(fā)送和接收的。其中字符ENQ(0x05)、ACK(0x06)、和NAK(0x15)作為單個字符,可以構(gòu)成單字符幀。若通訊正常,則應(yīng)答字符$;若通訊有錯,則應(yīng)答字符!。其余的字符在發(fā)送和接收時必須用字符%和CR分別表示該字符幀的起始標(biāo)志和結(jié)束標(biāo)志,否則將構(gòu)成幀錯。一個多字符幀由%、地址碼、站號、數(shù)據(jù)、和校驗以及CR五部分組成,其中和校驗值是其初值為0,然后從起始符開始與該幀報文中每一字節(jié)按位進行異或運算得到。

        (1) 應(yīng)用MFC CFile類實現(xiàn)對串口設(shè)備的讀、寫操縱的代碼

        //讀串口
        char m_Readbuff[UINT n];
        uint nByte=file.read(
        &m_ReadBuff,      //緩存儲沖
        UINT nCount //所讀字節(jié)數(shù)
        //寫串口
        char m_WriteBuff[UINT n];
        file.Write(
        &m_WriteBuff,     //存儲緩沖
        UINT nCount      //縮寫字節(jié)數(shù)
        );

        (2) PC機實現(xiàn)與PLC通訊的程序代碼

        char m_WriteBuff[10];
        char m_ReadBuff[10];
         UINT nByte=0;
          m_WriteBuff[0]=0x05    //ENQ
        //寫串口
        file.Write(
        m_WriteBuff,     //存儲緩沖
            //所讀字節(jié)數(shù)
        );
        //讀串口
        nByte=file.Read(
        m_ReadBuff,     //存儲緩沖
        //所寫字節(jié)數(shù)
        );
        switch (m_ReadBuff[0])
          {
        case : 0x24    //應(yīng)答$,通訊正常
          //添加相關(guān)處理代碼
        break;
        case : 0x21 
          //應(yīng)答!,通訊故障
          //添加相關(guān)處理代碼
         break;
          }

        3.4 PC對PLC內(nèi)各軟設(shè)備進行讀、寫操縱

        FP0系列PLC的所有開關(guān)量輸進、輸出以及各軟設(shè)備對PC機都是透明的,只有當(dāng)PLC的計時器和計數(shù)器的設(shè)定值采用常數(shù)時,以及文件寄存器內(nèi)的數(shù)據(jù),PC機不能對其進行讀寫。不論PLC處在“STOP”狀態(tài)還是“RUN”狀態(tài),PC機都可以按1.1所列的命令對PLC進行讀、寫操縱。這里僅給出PC機與PLC通訊所用多字符幀的格式及簡單示例,實際應(yīng)用時只需將多字符幀中的字符ASCII碼(十六進制)按順序賦予相應(yīng)的字符數(shù)組m_WriteBuff,m_ReadBuff,即可實現(xiàn)對PLC的操縱。

        (1) 讀操縱
        img]周奉磊-b7.jpg border=0>

       
        (2) 寫操縱

        微機對PLC軟設(shè)備進行寫操縱的多字符幀的編制格式如下表所示: img]周奉磊-b8.jpg border=0>

       
        PLC接收到寫操縱多字符幀格式后,若接收到數(shù)占有效,則應(yīng)答$(0x24),該字符幀如下表所示: img]周奉磊-b9.jpg border=0>

       
        若接收數(shù)據(jù)無效或和校驗出錯,則應(yīng)答字符!(0X21),該字符幀如下表所示: img]周奉磊-b10.jpg border=0>
       
        3.5  封閉串口設(shè)備

        PC機與PLC通訊完畢后,PC機封閉一個已打開的串口設(shè)備只需如下一條語句即可完成。

        File.Close();

    4 應(yīng)用實例

        以上介紹了利用MFC實現(xiàn)PC與FX2系列PLC串行通訊的基本方法及其關(guān)鍵部分程序代碼。上面的程序代碼為基礎(chǔ),不僅可以編制用于以PLC為現(xiàn)場主控機的監(jiān)控系統(tǒng)軟件,而且可編制出微機與其他具有串行通訊能力設(shè)備的串行通訊程序。本人已成功使用VC5.0實現(xiàn)PLC與上位機之間的通訊,并應(yīng)用于青島大學(xué)紡織服裝學(xué)院開發(fā)的掉毛量測試儀。該測試儀控制系統(tǒng)采用PLC 控制步進電機方案,有效地進步了工作效率,使操縱職員通過PC的顯示可以監(jiān)測并控制儀器的工作。兔毛織物掉毛量測試儀已可靠運行一年,實踐證實它具有控制靈活、使用簡單、功能擴充方便、抗干擾性能強的特點。沒有出現(xiàn)任何通訊連接的題目。

    (審核編輯: 滄海一土)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請聯(lián)系我們刪除。

    国产一区二区精品在线_午夜精品视频_亚洲国产高清高潮精品美女_久久久91_午夜精品视频_久久久久亚洲一区二区三区
    <cite id="gqusq"><tbody id="gqusq"></tbody></cite>
    <strike id="gqusq"><tbody id="gqusq"></tbody></strike>
    <abbr id="gqusq"><rt id="gqusq"></rt></abbr>
  • <strike id="gqusq"><tbody id="gqusq"></tbody></strike>
    <ul id="gqusq"></ul>
    <center id="gqusq"><noscript id="gqusq"></noscript></center>
  • 久久精品亚洲| 精品在线视频一区二区三区| 99这里有精品| 久久国产精品久久精品国产| 欧美福利视频| 久久综合福利| 欧美亚洲免费在线| 伊人久久大香线蕉av超碰演员| 免费不卡亚洲欧美| 欧美极品色图| 国产精品久久久久久久免费软件| 成人黄色片视频网站| 亚洲午夜久久久影院伊人| 99成人免费视频| 欧美日韩在线一二三| 99精彩视频在线观看免费| 婷婷久久五月天| 久久青青草原一区二区| 99精品国产高清一区二区| 欧美日本亚洲| 午夜视频久久久| 欧美日本不卡| 欧美日韩日本网| 欧美久久视频| 伊人久久久大香线蕉综合直播| 欧美日韩在线不卡一区| 欧美 日韩 国产在线| 国严精品久久久久久亚洲影视| 亚洲欧洲日本国产| 欧美专区一二三| 麻豆成人在线播放| 久久精品二区三区| 91精品网站| 亚洲激情一区| 亚洲专区免费| 国产精品大全| 欧美18视频| 色吧亚洲视频| 黑丝一区二区| 亚洲一区二区三区加勒比| 中文字幕色一区二区| 黄色成人av网站| 国产精品免费一区二区三区观看| 久久国产精品毛片| 精品免费视频123区| 翔田千里亚洲一二三区| 福利精品视频| 日本不卡二区| 欧美精品播放| 久久国产手机看片| 国产区欧美区日韩区| 久久久国产亚洲精品| 国产精品一区二区av| 国产66精品久久久久999小说| 国产伦精品一区二区三区视频黑人 | 国内精品久久久久久久影视麻豆| 亚洲精品影视| 黄色91av| 精品96久久久久久中文字幕无| 久久精品人人做人人爽电影蜜月| 精品国产一区二区三区四区vr| 先锋在线资源一区二区三区| 亚洲巨乳在线| 国产精品一区二区欧美黑人喷潮水 | 91嫩草在线| 欧美一区少妇| 一本久道久久久| 亚洲狼人精品一区二区三区| 99久久无色码| 欧美日韩在线一二三| 草莓视频一区| 国产综合精品一区| 国内视频一区| 亚洲激情视频| 久久99蜜桃综合影院免费观看| 欧美午夜视频在线| 99在线观看视频网站| 在线丝袜欧美日韩制服| 国产精品hd| 国产免费一区二区| 91久久国产自产拍夜夜嗨| 久久国产精品一区二区三区| 亚洲三级免费| 亚洲.欧美.日本.国产综合在线 | 日韩欧美亚洲在线| 久久一区视频| 日韩午夜在线| 亚洲一卡二卡三卡| 福利精品视频| aa级大片欧美三级| 日本视频一区二区在线观看| 综合视频免费看| 国产九色91| 亚洲欧美日韩另类精品一区二区三区 | 天天综合狠狠精品| 国产精品日韩一区二区| 亚洲福利国产| 欧美在线1区| 日本一区二区三区www| 久久久久久九九九九| 亚洲无毛电影| 午夜视频久久久| 伊人久久大香线蕉av一区| 久久99九九| 久久国产精品99久久久久久丝袜 | 国产综合色产| 欧美精品1区| 欧美精品激情| 视频一区二区三区免费观看| 大波视频国产精品久久| 老牛嫩草一区二区三区日本 | 影音先锋欧美资源| 永久久久久久| 中文字幕精品—区二区日日骚| 久久国产主播精品| 久久一区二区三区av| 国产精品国产三级国产专区53 | 好看的日韩精品| 国产欧美在线一区二区| 国产一区免费视频| 国产麻豆一区二区三区在线观看| 久久人人九九| 91传媒免费看| 国产精品区二区三区日本| 国产欧美一区二区三区另类精品| 国产精品一区二区你懂得| 国产视频99| 日产精品久久久一区二区| 日本免费高清一区二区| 一级特黄录像免费播放全99| 亚洲高清不卡一区| 欧美日韩亚洲一区二区三区在线观看| 亚洲午夜精品久久久久久浪潮| 中文字幕欧美日韩一区二区三区| 欧美淫片网站| 中国女人久久久| 91av一区二区三区| 精品无人区一区二区三区| 欧美日韩亚洲一区二区三区四区| 亚洲精品白虎| 亚洲区一区二区三区| 久久综合九色综合久99| 精品视频一区二区| 日韩中文一区| 在线日韩欧美| 久久国产毛片| 久久伊人一区| 欧美日韩蜜桃| 97免费高清电视剧观看| 久久精品aaaaaa毛片| 欧美一区二区三区在线播放| 99成人免费视频| 国产亚洲精品久久飘花| 一级日韩一区在线观看| 国产伦精品一区二区三区视频孕妇| 99热在线国产| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 亚洲国产第一| 国产无套精品一区二区| 欧美日本国产精品| 丁香婷婷久久久综合精品国产| 天天综合色天天综合色hd| 一区二区精品国产| 免费av一区二区三区| 亚洲高清在线| 欧美理论一区二区| 亚洲色图自拍| 五月婷婷综合色| 午夜亚洲福利在线老司机| 欧美一区1区三区3区公司| 亚洲精品日本| 亚洲第一导航| 99爱精品视频| 国内一区二区三区在线视频| 国产精品区二区三区日本| 欧美日本三区| 欧美精品成人一区二区在线观看 | 性欧美大战久久久久久久免费观看| 一区二区三区导航| 少妇特黄a一区二区三区| 午夜一级在线看亚洲| 中文字幕一区二区三区在线乱码| 国产成人成网站在线播放青青| 欧美日韩成人一区二区三区| 国产精品一区二区三区不卡| 亚洲每日更新| 欧美成人有码| 欧美13一14另类| av观看久久| 一区二区三区四区五区精品| 一区二区视频在线免费| 麻豆成人av| 成人xxxxx色| 久久不射网站| 国产日韩欧美三级| 一区三区视频| 欧美午夜在线视频| 亚洲一区二区三区四区中文| 久久久com| 国产精品一区二区三区在线|