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

        ?

        面向虛擬PLC的硬件通訊系統(tǒng)的開(kāi)發(fā)與實(shí)現(xiàn)

        2010-08-24 01:46:34段玉濤何漢武胡兆勇
        制造業(yè)自動(dòng)化 2010年14期
        關(guān)鍵詞:控件電平上位

        段玉濤,何漢武,胡兆勇

        DUAN Yu-tao, HE Han-wu, HU Zhao-yong

        (廣東工業(yè)大學(xué) 機(jī)電工程學(xué)院,廣州 510006)

        0 引言

        計(jì)算機(jī)技術(shù)的迅猛發(fā)展促使虛擬PLC技術(shù)應(yīng)運(yùn)而生。它通過(guò)借助PC完成PLC的計(jì)算、存儲(chǔ)、編譯以及通過(guò)I/O口完成于現(xiàn)場(chǎng)工業(yè)設(shè)備進(jìn)行通訊的各項(xiàng)功能[1]。

        虛擬PLC結(jié)合計(jì)算機(jī)技術(shù)的發(fā)展,利用VC、VB、Delphi等高級(jí)編程語(yǔ)言及微機(jī)的圖形處理功能開(kāi)發(fā)出PLC的軟件編程平臺(tái),并構(gòu)建虛擬模型實(shí)現(xiàn)PLC的部分硬件功能[2-4]。相對(duì)于傳統(tǒng)PLC,虛擬PLC具有友好的PLC指令編輯界面和兼容性。虛擬PLC上可以很好的實(shí)現(xiàn)軟實(shí)時(shí)性,而硬實(shí)時(shí)性差成為其發(fā)展的制約因素,還未完全實(shí)現(xiàn)“零距離”的體驗(yàn)。論文就如何實(shí)現(xiàn)虛擬PLC同硬件間實(shí)時(shí)通訊的開(kāi)發(fā)與實(shí)現(xiàn)進(jìn)行了研究。

        1 虛擬PLC平臺(tái)

        論文中的虛擬PLC運(yùn)行平臺(tái)是作者所在課題組基于Visual C++6.0環(huán)境獨(dú)立開(kāi)發(fā)的[5]。虛擬PLC基于計(jì)算機(jī)技術(shù)和虛擬現(xiàn)實(shí)技術(shù)開(kāi)發(fā)的,在保證功能效果的前提下,如何提高用戶在使用虛擬PLC時(shí)的真實(shí)感和沉浸感,是虛擬PLC要著重處理的問(wèn)題。

        該虛擬PLC系統(tǒng)中建立了虛擬仿真模型,并通過(guò)將Solidworks、3DS MAX等建立的三維模型導(dǎo)入Eon Studio的方法,構(gòu)建了虛擬模型與虛擬PLC的通訊,從而可以在沒(méi)有任何硬件的情況下完成硬件PLC的各項(xiàng)仿真實(shí)驗(yàn),達(dá)到實(shí)驗(yàn)教學(xué)的目的。虛擬PLC的可視化增強(qiáng)了仿真的直觀性和逼真度,更接近工業(yè)實(shí)踐和提升學(xué)生的興趣,大大降低PLC實(shí)驗(yàn)的費(fèi)用。然而,存在著與硬件間通訊弱的問(wèn)題。它的總體框架如圖1所示。

        圖1 虛擬PLC總體框架圖

        2 通訊系統(tǒng)總體框架

        論文借助Visual C++6.0的串口通訊控件MSComm來(lái)實(shí)現(xiàn)上位機(jī)與單片機(jī)間的通訊。數(shù)據(jù)經(jīng)USB口送出后,須先經(jīng)過(guò)USB口轉(zhuǎn)串口芯片處理,然后連接到單片機(jī)。最后,由單片機(jī)來(lái)連接硬件電路。虛擬PLC借助單片機(jī)可以直接驅(qū)動(dòng)硬件和采集現(xiàn)場(chǎng)信息,從而完成了整個(gè)通訊系統(tǒng)的建立。通訊系統(tǒng)總體框架圖如圖2所示。其中,整個(gè)通訊系統(tǒng)包含以下三個(gè)模塊。

        1)MSComm模塊。在Visual C++6.0中,MSComm控件是Microsoft為我們提供進(jìn)行串口通訊的ActiveX控件。

        圖2 通訊系統(tǒng)總體框架圖

        2)USB口轉(zhuǎn)串口模塊。USB口較九針口方便易用,但須在上位機(jī)中安裝對(duì)應(yīng)于USB口轉(zhuǎn)串口芯片的驅(qū)動(dòng),以便通訊時(shí)進(jìn)行USB協(xié)議的加載和解析。該系統(tǒng)中采用的USB口轉(zhuǎn)串口芯片是PL2303hx。

        3)下位機(jī)模塊。該系統(tǒng)采用的下位機(jī)是單片機(jī)STC89c52rc。

        3 MSComm模塊

        MSComm控件在進(jìn)行串行通訊時(shí)有兩種方法:事件驅(qū)動(dòng)方法和查詢法[7]。論文采用事件驅(qū)動(dòng)方法:在接收到數(shù)據(jù)時(shí)觸發(fā)事件響應(yīng)的消息,由專(zhuān)門(mén)的函數(shù)來(lái)對(duì)消息進(jìn)行處理。論文采用的串口通訊相關(guān)參數(shù)如表1所示。

        表1 串口通訊參數(shù)的設(shè)置

        COM口的設(shè)置須參照設(shè)備管理器中生成的虛擬COM口號(hào),該系統(tǒng)生成的虛擬口是COM3。

        在添加完MSComm控件后系統(tǒng)會(huì)自動(dòng)生成CMSComm的通訊類(lèi),而我們僅需要調(diào)用該類(lèi)中的函數(shù)即可完成串行通訊的設(shè)置,論文的具體相關(guān)設(shè)置的部分代碼如下:

        由于該系統(tǒng)主要是將Y口的狀態(tài)發(fā)送給下位機(jī),所以選擇的是二進(jìn)制的傳輸方式。由于USB線通訊時(shí)的數(shù)據(jù)越少越好,所以將每個(gè)Y口對(duì)應(yīng)一個(gè)bit位,每8個(gè)Y口狀態(tài)按照一定的順序進(jìn)行一次綁定。最后,將每次綁定的數(shù)據(jù)按照一定的順序統(tǒng)一打包發(fā)送給單片機(jī)。發(fā)送的部分代碼如下:

        m_ctrlMSComm.SetOutput(binDT); //發(fā)送數(shù)據(jù)MSComm控件在接收到單片機(jī)發(fā)送來(lái)的數(shù)據(jù)時(shí),尋找相應(yīng)的消息響應(yīng)函數(shù)。這里,系統(tǒng)中響應(yīng)函數(shù)為OnOnCommMscomm1()。具體響應(yīng)的部分代碼如下:

        該系統(tǒng)中,MSComm控件既要將虛擬PLC運(yùn)行平臺(tái)的Y口狀態(tài)發(fā)送到單片機(jī),又要接收單片機(jī)發(fā)送來(lái)的數(shù)據(jù),并對(duì)其中的有效數(shù)據(jù)處理后,影響虛擬PLC的運(yùn)行狀態(tài)。它的整個(gè)工作流程圖如圖3所示。

        圖3 MSComm模塊的整體流程圖

        4 USB口轉(zhuǎn)串口模塊

        上位機(jī)的數(shù)據(jù)發(fā)出后,首先要進(jìn)行USB傳輸協(xié)議的處理,然后發(fā)送給單片機(jī)。USB口轉(zhuǎn)串口模塊就是負(fù)責(zé)USB協(xié)議的解析和打包。

        論文采用PL2303hx作為USB口轉(zhuǎn)串口芯片,須外接12.0MHZ的晶振,提供其外部的時(shí)鐘脈沖。它的輸出電平無(wú)需再經(jīng)過(guò)MAX232的調(diào)平處理,可直接與單片機(jī)引腳連接。

        PL2303hx可雙向傳輸數(shù)據(jù)。一方面接收上位機(jī)模塊的數(shù)據(jù)進(jìn)行USB協(xié)議解析,并將電平轉(zhuǎn)換為標(biāo)準(zhǔn)的TTL電平,保證單片機(jī)能正常的接收數(shù)據(jù);另一方面,對(duì)單片機(jī)發(fā)送出來(lái)的數(shù)據(jù)進(jìn)行USB協(xié)議處理和電平轉(zhuǎn)換,保證數(shù)據(jù)能有效傳輸?shù)缴衔粰C(jī)。

        5 單片機(jī)模塊

        該系統(tǒng)就是采用單片機(jī)是STC系列的89C52rc。它具有40個(gè)引腳,P0-P3各個(gè)P口有8個(gè)I/O口,其中P3.0和P3.1是負(fù)責(zé)與上位機(jī)模塊進(jìn)行串口數(shù)據(jù)的接收和發(fā)送。

        單片機(jī)的多功能性使其在進(jìn)行某一特定功能時(shí),須先進(jìn)行相關(guān)的設(shè)定。該系統(tǒng)主要用到了STC89c52rc的串行通訊功能、定時(shí)器功能等。

        該系統(tǒng)中單片機(jī)的外接晶振是11.0592MHz,而其所選的是可以進(jìn)行自動(dòng)重裝的工作模式2,采用定時(shí)器1作為波特率發(fā)生器。定時(shí)時(shí)間t= 1/9600,震蕩周期為1/(11.0992×106)。根據(jù)公式:

        t =(28 -T1的初值)×振蕩周期×12;

        計(jì)算出定時(shí)器1的初值并轉(zhuǎn)化為16進(jìn)制的形式。單片機(jī)中初始化的部分代碼如下:

        該系統(tǒng)采取中斷的方式來(lái)響應(yīng)上位機(jī)發(fā)送來(lái)的數(shù)據(jù)。一旦有數(shù)據(jù)發(fā)送過(guò)來(lái)時(shí)RI被置為1,進(jìn)入中斷程序。中斷程序中先對(duì)RI復(fù)位,然后將串行緩存寄存器SBUF中的數(shù)值取出,經(jīng)處理后存儲(chǔ)在一個(gè)數(shù)組中,接著對(duì)設(shè)置的全局變量的值進(jìn)行加1,判斷全局變量是否超出了設(shè)定的上限值,超過(guò)就歸零,否則不動(dòng)作。然后進(jìn)行下一次SBUF的掃描,直到RI歸零為止。其中的全局變量取決于上位機(jī)發(fā)送來(lái)的Y口的總數(shù)。部分接收程序如下:

        該系統(tǒng)設(shè)置通過(guò)P1口采集現(xiàn)場(chǎng)的硬件運(yùn)行狀況,接收用戶信號(hào)的輸入,并將采集到的數(shù)據(jù)處理后發(fā)送到上位機(jī)。這樣,使得用戶在操作時(shí)如發(fā)現(xiàn)電路運(yùn)行時(shí)序出現(xiàn)錯(cuò)誤,可以通過(guò)按下相應(yīng)的按鍵等發(fā)送特定的信息給上位機(jī),從而影響虛擬PLC的運(yùn)行時(shí)序,保證了LED等組成的控制對(duì)象和上位機(jī)運(yùn)行時(shí)序的同步及電路運(yùn)行的安全。其部分代碼如下:

        圖4 單片機(jī)模塊的整體流程圖

        該系統(tǒng)中采用不斷循環(huán)掃描的方式來(lái)進(jìn)行串行通訊數(shù)據(jù)的接收和現(xiàn)場(chǎng)信息的采集。首先是檢測(cè)P1口的各個(gè)引腳電平是否有變化,如有變化就發(fā)送相應(yīng)的信息給上位機(jī)。其次掃描串行通訊中斷標(biāo)志位RI是否有效,有效則處理接收到的數(shù)據(jù)。其整體工作流程圖如圖4所示。

        6 實(shí)驗(yàn)驗(yàn)證

        論文選取虛擬PLC編輯的跑馬燈程序進(jìn)行通訊系統(tǒng)的驗(yàn)證。

        電源模塊是由USB接口處的VCC端提供外部電源的輸入,經(jīng)穩(wěn)壓處理后分別對(duì)USB口轉(zhuǎn)串口模塊、單片機(jī)模塊、以及由LED燈組成的控制對(duì)象進(jìn)行供電。USB口轉(zhuǎn)串口芯片的供電是不經(jīng)電源開(kāi)關(guān)的,由VCC端輸出后經(jīng)濾波后直接供應(yīng);剩下的單片機(jī)模塊和LED燈則是經(jīng)電源開(kāi)關(guān)控制其電源的供應(yīng),以確保電路運(yùn)行的安全。

        在硬件電路中設(shè)置了四個(gè)按鍵X0~X4,分別對(duì)應(yīng)上位機(jī)中的X000~X003按鈕,通過(guò)該按鍵可以改變P1口的輸入電平。

        整體的電路連接圖如圖5所示。

        論文采用9盞LED燈做為硬件控制對(duì)象,分別對(duì)應(yīng)虛擬PLC輸出口的Y000-Y007和Y010。虛擬PLC通過(guò)編輯Y口的改變來(lái)驅(qū)動(dòng)LED燈的運(yùn)行,從而實(shí)現(xiàn)虛擬PLC對(duì)硬件的控制;同時(shí),用戶可以通過(guò)按鍵來(lái)影響虛擬PLC的運(yùn)行時(shí)序。其中,X0按鍵啟動(dòng)單燈,X1按鍵啟動(dòng)雙燈跑動(dòng),X2停止單燈跑動(dòng),X3停止雙燈跑動(dòng)。其梯形圖和硬件效果對(duì)比如圖6所示。

        7 結(jié)束語(yǔ)

        論文針對(duì)虛擬PLC硬實(shí)時(shí)性差的問(wèn)題,研究了基于單片機(jī)的硬件通訊系統(tǒng),實(shí)現(xiàn)了虛擬PLC對(duì)LED等硬件的控制。存在的特色和創(chuàng)新之處如下:

        圖5 通訊系統(tǒng)驗(yàn)證整體電路圖

        圖6 實(shí)驗(yàn)效果對(duì)比圖

        1)通過(guò)該系統(tǒng),可以實(shí)現(xiàn)虛擬PLC對(duì)硬件電路的控制,拓展了虛擬PLC的應(yīng)用范圍;

        2)利用USB電源數(shù)據(jù)線代替DB九針使硬件仿真操作更為方便,具有很好的適用性,方便用戶操作;

        3)利用單片機(jī)代替硬件PLC來(lái)作為下位機(jī),保證了PC仍是PLC運(yùn)行的核心,較傳統(tǒng)PLC降低了硬件仿真的成本。

        進(jìn)一步的工作,研究驅(qū)動(dòng)功率更大,需求更為復(fù)雜的硬件模型。

        [1] 歐陽(yáng)三泰,周琴,歐陽(yáng)希.軟PLC控制技術(shù)綜述[J].電氣傳動(dòng),2005,35(9):52-54.

        [2] C.G.HABA.Extending the Use of PLC Simulator Software in Student Laboratory Works[J].Advances in Electrical and Computer Engineering,2010,10(1):84-89.

        [3] David J.Dougall.Applications and benefits of real-time I/O simulation for PLC and PC control systems[J].ISA Transactions,1998,36(4):305-311.

        [4] 劉帥軍,韓明,黃樹(shù)槐.基于NT設(shè)備驅(qū)動(dòng)程序的虛擬PLC的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2003,22:136-138.

        [5] 胡兆勇,何漢武,秦兵.基于Visual C++的虛擬PLC仿真軟件開(kāi)發(fā)[J].廣東工業(yè)大學(xué)學(xué)報(bào), 2009,26(1):40-43.

        [6] 秦兵,何漢武,胡兆勇.可視化虛擬PLC實(shí)驗(yàn)系統(tǒng)的研究[J].現(xiàn)代制造工程,2009,(1):131-135.

        [7] 潘石柱,于仲安.VC實(shí)現(xiàn)串行通訊的三種途徑[J].電子工程師,2002,28(9):14-17.

        猜你喜歡
        控件電平上位
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        特斯拉 風(fēng)云之老阿姨上位
        車(chē)迷(2018年12期)2018-07-26 00:42:22
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
        NPC五電平Z源逆變器的設(shè)計(jì)研究
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        基于三電平光伏并網(wǎng)逆變器控制系統(tǒng)的研究與實(shí)踐
        基于NPC三電平變換器的STATCOM研究
        一種多電平逆變器及其并網(wǎng)策略
        就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        国产成人色污在线观看| 免费视频爱爱太爽了| 色八区人妻在线视频免费| 国产欧美日韩综合在线一区二区| 无遮挡很爽视频在线观看| 女人18毛片aa毛片免费| 国产无遮挡又黄又爽高潮| 成人精品综合免费视频| 伊人亚洲综合网色AV另类| 永久免费看黄在线观看| 中国久久久一级特黄久久久| 中字幕人妻一区二区三区| 国产精品理论片在线观看| 国产女人高潮视频在线观看| 黄色网址国产| 亚洲免费av第一区第二区| 亚洲最大水蜜桃在线观看| 国产成人aaaaa级毛片| 日本亚洲欧美在线观看| 丰满人妻被猛烈进入中文字幕护士| 国产最新女主播福利在线观看| 无码国产伦一区二区三区视频| 国产精品原创巨作av无遮| 白嫩少妇在线喷水18禁| 亚洲av乱码一区二区三区林ゆな| 久久婷婷香蕉热狠狠综合| 免费大学生国产在线观看p| 杨幂二区三区免费视频| 国产精品久久久免费精品| 中文字幕精品久久久久人妻红杏ⅰ | 无遮挡十八禁在线视频国产制服网站 | av在线免费观看麻豆| 欧美激情一区二区三区成人| 亚洲精品无码成人片久久不卡| 仙女白丝jk小脚夹得我好爽| 久久综合老鸭窝色综合久久| 国产成人综合久久久久久| 国产99久久久久久免费看| 午夜影院91| 国产精品视频白浆免费视频| 97丨九色丨国产人妻熟女|