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

        ?

        PLC與計算機間通訊的研究

        2011-06-13 12:53:02許曉君許建坪
        電子測試 2011年8期
        關(guān)鍵詞:控件校驗上位

        許曉君,許建坪

        (川東鉆探公司,重慶 400021)

        0 引言

        在未來過程控制技術(shù)的發(fā)展中,計算機通訊技術(shù)的應用前景將是十分可觀的。因此PLC與上位機之間的通信顯得尤其的重要,PLC可以多種方式與上位機通信,比如:VC++,VB,組態(tài)軟件,LabVIEW等都能勝任此工作。盡管組態(tài)軟件有著明顯卓越的性能,但是由于它昂貴的費用使得很難找到一種方法適用于所有的通信系統(tǒng)。因此針對中小型規(guī)模的控制系統(tǒng),人們更傾向于使用高級語言來編寫一些簡單、更實用、更經(jīng)濟的通信程序。因此,找到一種高性價比的通信方案,具有積極的工程意義[3]。利用VC++實現(xiàn)PLC與上位機的通信實現(xiàn)簡單,界面更加友好和人性化。

        1 PLC

        1.1 PLC工作原理

        通用PC的工作方式是等待請求,PLC則采用循環(huán)掃描工作方式,兩者的差異在于PC針對的是人,而PLC針對的是設備[4]。

        整個工作過程可分為5個階段:自診斷,與編程器、計算機或其他PLC設備等通信,輸入采樣,用戶程序執(zhí)行,輸出刷新.這5個工作階段稱為一個掃描周期,時間為0.2ms(如圖1所示)。

        圖1 PLC工作過程示意圖

        1.2 PLC通訊模塊

        西門子的S7-300可編程控制器有不同性能級別的多種通信處理器模塊,CP 340,CP 341適合點對點的通信連接。西門子的s7-200小型PLC主要是通過EM-277通信模塊來構(gòu)建網(wǎng)絡,支持Profibus現(xiàn)場總線通信系統(tǒng)[6]。三菱公司的FX2系列小型PLC也配有良好的通信接口和支持多種通信模式,下面重要介紹三菱公司的FX2系列的PLC與計算機的通訊。

        2 PLC與上位機的通信實現(xiàn)

        2.1 PLC與計算機的硬件連接

        FX-232AW接口模塊用于FX2系列PLC與計算機的通信。但FX2系列PLC的編程接口采用RS422標準,而計算機的串口采用RS232標準,RS232與RS422標準在信號的傳送、邏輯電平方面均不相同。因此,作為實現(xiàn)PLC計算機通信的接口電路,必須將RS422標準轉(zhuǎn)換成RS232標準[5]。同時在實現(xiàn)上述轉(zhuǎn)換中采用光電耦合技術(shù)。PLC與計算機的硬件連接如圖2所示。

        將計算機的RS232的4號和5號引腳(即RS,CS)短接,這樣對計算機發(fā)送數(shù)據(jù)來說,PLC總是處于就緒狀態(tài)。也就是說,計算機在任何時候都可以將數(shù)據(jù)送到PLC內(nèi)。又由于RS232接口的20腳和6腳交叉相連接。因此,這樣對計算機接收數(shù)據(jù)來說,必須等待至PLC處于準備就緒狀態(tài)。由此組成了PLC與計算機間的通訊硬件連接。

        2.2 PLC與計算機的通訊協(xié)議

        圖2 FX-232AW與PLC和計算機的接線圖

        FX2系列PLC與計算機之間的通信采用RS232標準,其傳輸速率固定為9 600 bit/s,奇偶校驗位采用偶校驗,數(shù)據(jù)以幀為單位發(fā)送和接收。FX2系列與計算機之間的通信是以主機發(fā)出的初始命令,PLC對其作出響應的方式進行通信。數(shù)據(jù)的格式如圖3-2(1)所示,奇偶校驗位采用偶校驗。如圖3(2)為字符STX(021-1)的書定格式。七段數(shù)據(jù)位為ASCII碼。

        圖3 數(shù)據(jù)格式的規(guī)定

        上位機可以實現(xiàn)對PLC的RAM區(qū)數(shù)據(jù)進行讀、寫、強制置位或復位等操作,并通過請求信號ENQ、響應信號ACK和NAK,來協(xié)調(diào)與PLC的通信應答[7]。

        2.3 基于VC++6.0通信程序的具體實現(xiàn)

        本程序采用Microsoft Communications Control(MSComm)控件,采用事件驅(qū)動的方式實現(xiàn)PLC與上位機的串口通信。如果應用程序需要訪問多個串行端口,必須使用多個MSComm控件[8]。本程序主要部分包括:MSComm控件初始化程序,數(shù)據(jù)的發(fā)送程序,數(shù)據(jù)的FCS校驗程序,數(shù)據(jù)接收程序。下面對這些程序?qū)崿F(xiàn)做簡單的說明。

        (1)MSComm控件初始化

        這部分程序放在主對話框的OnInitDialog()函數(shù)中,主要程序如下:

        if(m_CommCtrl.GetPortOpen())

        m_CommCtrl.SetPortOpen(FALSE);

        m_CommCtrl.SetCommPort(1);

        if(!m_CommCtrl.GetPortOpen())

        m_CommCtrl.SetPortOpen(TRUE);//打開串口

        else

        AfxMessageBox("串口打開失敗");

        m_CommCtrl.SetSettings("9600,e,7,2");//波特率 9600,校驗,7位數(shù)據(jù)位,兩個停止位

        m_CommCtrl.SetRThreshold(1);//當串口接收緩沖區(qū)中有多于或者等于1個字符時觸發(fā)OnComm事件接收數(shù)據(jù)

        //清除緩沖區(qū)數(shù)據(jù)

        m_CommCtrl.SetInputLen(0);

        m_CommCtrl.GetInput();

        (2)數(shù)據(jù)發(fā)送程序

        數(shù)據(jù)發(fā)送由點擊主對話框中的相應按鈕觸發(fā),實現(xiàn)函數(shù)如下:

        void CPLC_TestDlg::OnSend()

        {

        CString fcs;

        char enter_flag = 13;

        char xing_flag = 42;

        fcs = FCS(m_sendstr);

        UpdateData(TRUE);

        m_sendstr += fcs + xing_flag + enter_flag;

        m_CommCtrl.SetOutput(COleVariant(m_sendstr));//數(shù)據(jù)發(fā)送

        }

        (3)數(shù)據(jù)的FCS程序

        校驗碼(FCS)是通過異或來實現(xiàn)的,實現(xiàn)函數(shù)如下:

        CString CPLC_TestDlg::FCS(CString m_str)

        {

        UINT mid_data = 0, zuo = 0;

        int icount = m_str.GetLength();

        for(int i=0; i<icount; i++)

        mid_data ^= m_str.GetAt(i);

        m_str.Format("%02X",mid_data);

        return m_str;

        }

        (4)數(shù)據(jù)接收程序

        添加MCComm控件的消息處理函數(shù)OnComm(),當數(shù)據(jù)緩存區(qū)字符消息事件,就會執(zhí)行該函數(shù),函數(shù)實現(xiàn)如下:

        void CPLC_TestDlg::OnComm()

        {

        VARIANT variant_inp;

        COleSafeArray safearray_inp;

        LONG len,k;

        BYTE rxdata[2048];

        CString strtemp;

        if(bReceive)

        {

        if(m_CommCtrl.GetCommEvent() == 2)

        {

        variant_inp = m_CommCtrl.GetInput();

        safearray_inp = variant_inp;

        len = safearray_inp.GetOneDimSize();

        for(k=0; k<len; ++k)

        safearray_inp.GetElement(&k,rxdata+k);

        for(k=0; k<len; ++k)

        {

        BYTE bt = *(char*)(rxdata+k);

        strtemp.Format("%c", bt);

        m_recievestr += strtemp;

        } } }

        UpdateData(FALSE);}

        3 結(jié)論

        PLC在分布式系統(tǒng)中得到了越來越廣泛的應用.在這種控制方式中,PLC與上位機的通信是系統(tǒng)設計中的一個重要組成部分。大型PLC可以多種方式與上位機通信,本文利用VC++6.0中的MSComm控件開發(fā)了簡單PLC與上位機進行通信的用戶界面,可長期運行良好,其中一個界面如圖4所示。

        圖4 通信用戶界面

        [1]代保華.PLC與計算機的通信[J].交通與計算機,1998,16(4).

        [2]陳齊忠.PLC及其與計算機的通訊[J].石油化工自動化,2003(06): 6-41.

        [3]Gao Qinhe.PLC application of technology and design examples[J].Post & Telecom Press, Beijing, July 2004.

        [4]廖常初.FX系列PLC編程及應用[M].北京:機械工業(yè)出版社,2005.

        [5]王兆義.可編程控制器教程[M].北京:機械工業(yè)出版社,1993.

        [6]范逸之.Visual Basic與RS-232串行通信控制最新版[M].北京:中國青年出版社,2002.

        [7]許 毅.基于PC與S7-200實現(xiàn)自由通信協(xié)議的研究[J].武漢理工大學學報,2002(4):512-515.

        [8]Nelson M.串口通訊開發(fā)指南[M].北京:中國水利水電出版社, 1999:20-45.

        猜你喜歡
        控件校驗上位
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        特斯拉 風云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        爐溫均勻性校驗在鑄鍛企業(yè)的應用
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        學習月刊(2015年3期)2015-07-09 03:51:04
        大型電動機高阻抗差動保護穩(wěn)定校驗研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗方法
        鍋爐安全閥在線校驗不確定度評定
        就這樣玩會VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        一本色道av久久精品+网站 | 一区二区三区激情免费视频| 国产日韩av在线播放| 精品久久久久久777米琪桃花| 国产精品av在线一区二区三区| 麻豆视频在线观看免费在线观看 | 精品视频在线观看一区二区有| 国产美腿丝袜一区二区| 亚洲午夜久久久久久久久久| 熟女人妻在线中文字幕| 日韩精品专区av无码| 久久精品国产亚洲精品| 国产一线视频在线观看高清| 日韩极品在线观看视频| 国产av国片精品有毛| 久久久国产一区二区三区四区小说| 91精品国产91热久久p| 美腿丝袜视频在线观看| 日本精品少妇一区二区三区| 久久日本三级韩国三级| 国产精品欧美视频另类专区| 亚洲av色av成人噜噜噜| 亚洲综合色婷婷七月丁香| 亚洲欧美日韩高清专区一区| 亚洲中文字幕在线第二页| 三级国产精品久久久99| 边啃奶头边躁狠狠躁| 国产资源在线视频| 少妇精品偷拍高潮少妇在线观看| 少妇被粗大的猛进出69影院 | 亚洲中字永久一区二区三区| 色综合天天综合欧美综合 | 久久国产成人精品av| 日本无遮挡吸乳呻吟视频| 国产亚洲无码1024| 国产精品狼人久久影院软件介绍 | 精品无码久久久久久久久粉色| 日本97色视频日本熟妇视频| 人妻丰满熟av无码区hd| 国产成人无码区免费网站| 亚洲一区二区女优av|