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

        ?

        基于Java的計(jì)算機(jī)與PLC串口通信研究

        2012-04-12 00:00:00邢卓巖
        消費(fèi)電子 2012年18期

        摘要:本文對(duì)Java實(shí)現(xiàn)串行通信的理論進(jìn)行了分析,給出了一種基于Java語言的計(jì)算機(jī)與PLC串口通信方案。

        關(guān)鍵詞:Java;串口通信;計(jì)算機(jī);PLC

        中圖分類號(hào):TN91 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-7712(2012)20-0020-01

        Java是一種面向?qū)ο蟮模С志W(wǎng)絡(luò)通信的程序設(shè)計(jì)語言,該語言不僅具有C++和Smalltalk語言的諸多優(yōu)點(diǎn),還能夠進(jìn)行網(wǎng)絡(luò)通信、實(shí)現(xiàn)并發(fā)程序設(shè)計(jì)、對(duì)多媒體數(shù)據(jù)進(jìn)行控制等,這些特點(diǎn)都決定了Java語言具有強(qiáng)健的魯棒性。再者,Java對(duì)不同平臺(tái)具有良好的支持性能,可以通過一次編譯實(shí)現(xiàn)跨平臺(tái)通信和數(shù)據(jù)傳輸。這個(gè)特性幾號(hào)了解決了控制程序移植困難的問題,減少了開發(fā)周期,降低了開發(fā)難度。

        PLC的抗干擾能力強(qiáng)、可靠性高、便于應(yīng)用和集成,因此被應(yīng)用在許多領(lǐng)域。通過PLC在分布式系統(tǒng)和數(shù)據(jù)采集系統(tǒng)中實(shí)現(xiàn)串行通信已經(jīng)得到了廣泛的應(yīng)用。

        本文就利用Java語言實(shí)現(xiàn)計(jì)算機(jī)與PLC的串口通信進(jìn)行了研究。

        一、基于Java的串口通信技術(shù)

        (一)Java本地調(diào)用技術(shù)。將Java與硬件系統(tǒng)進(jìn)行關(guān)聯(lián)需要使用Java本地調(diào)用技術(shù),也就是JNI技術(shù)。該技術(shù)通過Java虛擬機(jī)實(shí)現(xiàn)與用其他語言編寫的應(yīng)用程序和庫(kù)的相互操作,其作用可以表示為兩者之間的中介。

        (二)Javax.comm類庫(kù)。串口通信是計(jì)算機(jī)與其他外部設(shè)備進(jìn)行數(shù)據(jù)傳輸?shù)闹饕绞剑遣荒苤苯永肑ava語言實(shí)現(xiàn)串口通信的編程控制,因此需要借助其他語言如匯編、C/C++等實(shí)現(xiàn)對(duì)硬件的控制,在此之上利用JNI技術(shù)實(shí)現(xiàn)對(duì)串行通信的控制。雖然過程可能比較繁瑣,但是SUN公司提供了javax.comm類庫(kù),通過該庫(kù)調(diào)用合適的API即可通過Java實(shí)現(xiàn)串口的通信。該庫(kù)提供有四個(gè)接口,六個(gè)類,三個(gè)層次。

        其中上層類中的CommPortIdentifier可以使應(yīng)用程序用方法和驅(qū)動(dòng)器對(duì)可用的通信端口進(jìn)行查找,選擇某一端口后打開該端口利用通過其他類庫(kù),如底層類庫(kù)等,進(jìn)行通信。

        類CommPort則是一個(gè)用來描述底層系統(tǒng)定義的有效通訊端口抽象類,通過該類可以控制通信端口實(shí)現(xiàn)傳輸?shù)姆椒ā?/p>

        底層類中的兩個(gè)類庫(kù)分別提供串行或并行通訊接口,分別定義通信所需的基本功能的方法。

        由于驅(qū)動(dòng)層類不直接提供使用,故本文不做討論。

        具體通信流程為:搜索系統(tǒng)中的可用端口,選中其中一個(gè)可用端口創(chuàng)建傳輸對(duì)象,然后將該對(duì)象投射到某一類型的物理通訊設(shè)備中,標(biāo)注該端口打開,就可以通過調(diào)用不同的方法進(jìn)行數(shù)據(jù)的讀寫和傳遞,使用完畢后關(guān)閉該端口。

        二、PLC串行通信

        (一)通信協(xié)議。上位機(jī)與PLC之間的通信需要使用到通信協(xié)議,實(shí)現(xiàn)一次數(shù)據(jù)或命令的傳輸被稱為一個(gè)數(shù)據(jù)幀或者命令幀,PLC接收到相應(yīng)的幀后對(duì)上位機(jī)進(jìn)行反饋。

        一個(gè)完整的幀結(jié)構(gòu)包含如下幾個(gè)部分:協(xié)議幀結(jié)構(gòu)標(biāo)志、PLC判別節(jié)點(diǎn)號(hào)、識(shí)別碼、正文、FSC幀檢查碼、終止符等。

        (二)通信順序。具體的通信順序如下:首先上位機(jī)完成定界符的設(shè)定后對(duì)其控制的PLC設(shè)備發(fā)送控制幀,然后PLC在接收到定界符后向上位機(jī)進(jìn)行反饋確定兩者之間開始通信,上位機(jī)接收到PLC發(fā)送的反饋定界符后開始傳輸數(shù)據(jù)幀;當(dāng)PLC向上位機(jī)發(fā)送數(shù)據(jù)時(shí),同樣需要先發(fā)送定界符并確認(rèn)返回定界符,然后才能開始進(jìn)行數(shù)據(jù)傳輸,數(shù)據(jù)傳輸完畢后以終止符結(jié)尾。

        三、網(wǎng)絡(luò)中的基于Java控制技術(shù)的多PLC通信技術(shù)

        本文使用一臺(tái)上位機(jī)同時(shí)對(duì)多個(gè)PLC設(shè)備進(jìn)行控制,鑒于上位機(jī)只有RS-232接口,故在硬件配置中需要使用RS-232與RS-485的轉(zhuǎn)換器,通過該轉(zhuǎn)換器實(shí)現(xiàn)利用RS-485網(wǎng)絡(luò)對(duì)PLC設(shè)備的遠(yuǎn)程控制。

        系統(tǒng)的軟件部分流程為首先進(jìn)行程序初始化工作,然后與控制設(shè)備進(jìn)行連接,連接成功后通過命令幀或者數(shù)據(jù)幀實(shí)現(xiàn)上位機(jī)與不同PLC之間的數(shù)據(jù)通信和遠(yuǎn)程控制。

        打開串口代碼為:

        try{

        PortId=CommPortIdentifier.getPortIdentifiers(PortName);

        try{

        serialPort=().portld.open(“Serial_Communication”,2000);

        }catch(PortInUseException e)

        {return InitFail};

        }try{

        In=SerialPort.getInputStream();

        Out=SerialPort.getOutputStream();

        }catch(IOException e)

        {return InitFail};

        串口配置代碼為:

        try

        {serialPort.setSerialPortParams(9600,//傳輸波特率為9600

        SerialPort.DATABITS_16,//數(shù)據(jù)位為16位

        SerialPort.STOPBITS_2,//停止位為2位

        SerialPort.PATITY_NONE);//無數(shù)據(jù)校驗(yàn)

        }catch(UnsupportedCommOperation Exception e)

        {return InitFail};

        本系統(tǒng)使用監(jiān)聽的方式實(shí)現(xiàn)數(shù)據(jù)傳遞,該方式的好處在于響應(yīng)速度快、實(shí)時(shí)性高。監(jiān)聽法是緩存區(qū)存儲(chǔ)了新的數(shù)據(jù)時(shí),端口會(huì)根據(jù)存儲(chǔ)狀態(tài)的改變而產(chǎn)生變化,監(jiān)聽器將監(jiān)聽結(jié)果傳遞給應(yīng)用程序,應(yīng)用程序?qū)Σ煌瑪?shù)據(jù)進(jìn)行相應(yīng)的處理,完成數(shù)據(jù)的傳輸和狀態(tài)的監(jiān)控。

        四、結(jié)語

        應(yīng)用Java實(shí)現(xiàn)計(jì)算機(jī)與PLC的串行通信具有非常廣泛的應(yīng)用,其對(duì)分布式控制系統(tǒng)設(shè)計(jì)、現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)采集與遠(yuǎn)程控制等都具有現(xiàn)實(shí)指導(dǎo)意義。這種通信方式簡(jiǎn)單可靠,投資少,速度快,具有可觀的應(yīng)用前景。

        參考文獻(xiàn):

        [1]吳興軍,胡漢春.Java實(shí)現(xiàn)計(jì)算機(jī)與OMRON PLC串口通信[J].工業(yè)儀表與自動(dòng)化裝置,2010,1.

        [2]王峰,鄭曉麗,陸金桂.基于Java的PC與Simens S7-200 PLC的通信[J].交通與計(jì)算機(jī),2005,3.

        色婷婷综合久久久久中文| 国产精品熟女视频一区二区三区 | 婷婷色中文字幕综合在线| 人妻无码中文专区久久综合| 亚洲视频一区二区三区免费| 日韩亚洲一区二区三区四区| 色综合色狠狠天天综合色| 国产毛片网| 亚洲高清美女久久av| 熟女中文字幕一区二区三区 | 天堂…在线最新版资源| 99国产精品丝袜久久久久| 蜜桃av一区二区三区久久| 国产玉足榨精视频在线观看| 深夜福利小视频在线观看| 国产女奸网站在线观看| 极品精品视频在线观看| 午夜精品久久久久久久| 在线va免费看成| 狠狠色欧美亚洲综合色黑a| 最新在线观看免费的a站国产| 欧美另类人妖| 99国产精品视频无码免费| 亚洲av一区二区三区网站 | 久久久噜噜噜久久熟女| 亚洲欧洲国产码专区在线观看| 久久棈精品久久久久久噜噜| 亚洲色欲色欲www成人网| 一区二区三区国产色综合| 国产乱子伦农村xxxx| 一本久道久久综合久久| 少妇人妻在线伊人春色| 久久午夜福利无码1000合集| 韩国v欧美v亚洲v日本v | 国产精品视频流白浆免费视频| 人妻av中文字幕精品久久| 国产色视频一区二区三区qq号| 亚洲 高清 成人 动漫| 美女福利一区二区三区在线观看| av影片在线免费观看| 94久久国产乱子伦精品免费|