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

        ?

        基于DataSocket的歐姆龍PLC以太網(wǎng)通信接口研究

        2015-09-20 02:56:02梅映新祝廣場(chǎng)
        電氣自動(dòng)化 2015年2期
        關(guān)鍵詞:設(shè)置服務(wù)

        梅映新,祝廣場(chǎng)

        (1.武漢船用電力推進(jìn)裝置研究所,湖北 武漢 430064;2.武漢長海高新技術(shù)有限公司,湖北 武漢 430064)

        0 引言

        目前,PLC作為智能控制站廣泛應(yīng)用于各種工業(yè)控制現(xiàn)場(chǎng)。由于PLC具有可靠性高、適應(yīng)性強(qiáng)、編程簡單及模塊化結(jié)構(gòu)擴(kuò)展方便等優(yōu)點(diǎn),在控制領(lǐng)域得到了廣泛的應(yīng)用。但PLC在數(shù)據(jù)處理、分析和報(bào)表打印等方面有很大的局限性,和工控機(jī)結(jié)合可以克服這一缺陷。在與工控機(jī)的通信中,一般采用串口通信的方式,但這種通信方式無法適應(yīng)大數(shù)據(jù)量、遠(yuǎn)距離和實(shí)時(shí)性要求較高的場(chǎng)合[1]。以TCP/IP協(xié)議為基礎(chǔ)的以太網(wǎng)在工業(yè)控制中逐漸獲得了廣泛的應(yīng)用,并可以很方便的進(jìn)行網(wǎng)絡(luò)互聯(lián)。本文以歐姆龍CS1W型PLC為例,探討了網(wǎng)絡(luò)通信的方式,用Visual C++6.0編寫了上位機(jī)通信程序,完成了上位機(jī)和歐姆龍PLC的通信。

        1 歐姆龍PLC的網(wǎng)絡(luò)結(jié)構(gòu)和Socket服務(wù)

        1.1 歐姆龍PLC的網(wǎng)絡(luò)結(jié)構(gòu)

        歐姆龍PLC開發(fā)了三層網(wǎng)絡(luò)體系,包括設(shè)備層網(wǎng)絡(luò)、控制層網(wǎng)絡(luò)和管理層網(wǎng)絡(luò),如圖1所示,設(shè)備層網(wǎng)絡(luò)處于三層網(wǎng)絡(luò)的最底層,控制層網(wǎng)絡(luò)處于中間層,管理層網(wǎng)絡(luò)處于最上層。從上至下,各層都是開放的,且三層之間實(shí)現(xiàn)了無縫對(duì)接。

        Ethernet網(wǎng)絡(luò)即通常所說的以太網(wǎng),是工廠自動(dòng)化領(lǐng)域用于信息管理層上的網(wǎng)絡(luò),它的通信速率高,可以達(dá)到100 Mbit/s,以太網(wǎng)模塊使PLC可以作為工廠局域網(wǎng)的一個(gè)節(jié)點(diǎn),在網(wǎng)絡(luò)上的任何一臺(tái)計(jì)算機(jī)都可以實(shí)現(xiàn)對(duì)它的控制[2]。

        圖1 歐姆龍PLC的網(wǎng)絡(luò)結(jié)構(gòu)

        1.2 歐姆龍PLC的Socket通信服務(wù)

        歐姆龍PLC的以太網(wǎng)模塊支持兩種通信方式:Socket通信和FINS通信。通過TCP或者UDP協(xié)議,Socket服務(wù)允許以太網(wǎng)上的設(shè)備發(fā)送和接收各種數(shù)據(jù)。Socket服務(wù)提供了兩種實(shí)現(xiàn)的方法。

        (1)操作特定的控制開關(guān)[3]19

        首先設(shè)置DM區(qū)中的請(qǐng)求參數(shù),然后打開內(nèi)存中特定的控制開關(guān)來請(qǐng)求TCP或者UDP Socket服務(wù)。當(dāng)請(qǐng)求的過程完成之后,以太網(wǎng)單元就把請(qǐng)求開關(guān)關(guān)掉。數(shù)據(jù)的發(fā)送和接收,都是自動(dòng)進(jìn)行的。

        使用這種方法不需要執(zhí)行CMND(490)指令,也不需要監(jiān)視完成的時(shí)序和指令的執(zhí)行過程,于是可以大大簡化梯形圖的編制。

        總共8個(gè)TCP或者UDP端口可以被用作Socket服務(wù)。

        (2)執(zhí)行 CMND(490)命令[3]20

        使用Socket服務(wù)的另一種方法是從CPU單元向以太網(wǎng)單元發(fā)送FINS命令,當(dāng)以太網(wǎng)單元接收到Socket服務(wù)請(qǐng)求時(shí),向CPU單元返回響應(yīng)以確認(rèn)請(qǐng)求,然后對(duì)請(qǐng)求的服務(wù)進(jìn)行處理。當(dāng)處理過程結(jié)束之后,結(jié)果放在CPU單元的結(jié)果存儲(chǔ)區(qū)。

        同樣可以使用8個(gè)TCP端口和8個(gè)UDP端口。

        1.3 Socket通信流程

        Socket建立在傳輸層協(xié)議(TCP和UDP)之上,由于TCP面向連接,UDP是無連接的,因此,利用Socket進(jìn)行通信,有兩種方式:面向連接的和無連接的[4]。在第一種方式下,兩個(gè)通信的應(yīng)用程序之間必須先建立一種虛擬的連接,然后再傳輸數(shù)據(jù)。第二種方式也稱數(shù)據(jù)報(bào)文方式,在此種方式下,傳輸過程中,數(shù)據(jù)有可能丟失,先發(fā)送的數(shù)據(jù)也可能后到,各個(gè)報(bào)文的路徑也不一定相同[5-6]。本文采用面向連接的通信方式,流程如圖2所示。

        2 歐姆龍PLC的以太網(wǎng)設(shè)置

        歐姆龍PLC要在網(wǎng)絡(luò)中進(jìn)行通信,必須要對(duì)其單元號(hào)、節(jié)點(diǎn)號(hào)和IP地址進(jìn)行設(shè)置。

        2.1 設(shè)置單元號(hào)

        圖2面向連接的Socket通信流程

        當(dāng)多個(gè)CPU單元安裝在同一臺(tái)PLC上時(shí),就必須為以太網(wǎng)單元設(shè)置單元號(hào),以識(shí)別特定的CPU單元。歐姆龍CS1W型PLC的單元號(hào)可以在0~F(十六進(jìn)制)之間對(duì)以太網(wǎng)單元進(jìn)行設(shè)置,在設(shè)備出廠時(shí),單元號(hào)被設(shè)為0。

        值得注意的是,如果是第一次為PLC設(shè)置單元號(hào)或者是改變?cè)瓉淼膯卧?hào),那么就必須為PLC創(chuàng)建I/O表[3]33。

        2.2 設(shè)置節(jié)點(diǎn)號(hào)

        當(dāng)多個(gè)以太網(wǎng)單元連在同一個(gè)以太網(wǎng)上時(shí),要用節(jié)點(diǎn)號(hào)對(duì)其進(jìn)行識(shí)別。歐姆龍CS1W型PLC的節(jié)點(diǎn)號(hào)由高位和低位組成,分別由高位節(jié)點(diǎn)號(hào)設(shè)置開關(guān)和低位節(jié)點(diǎn)號(hào)設(shè)置開關(guān)進(jìn)行設(shè)置,其值為1到126之間,不同的以太網(wǎng)單元不能擁有相同的節(jié)點(diǎn)號(hào)[3]34。

        當(dāng)使用自動(dòng)產(chǎn)生方法進(jìn)行地址轉(zhuǎn)換時(shí),節(jié)點(diǎn)號(hào)要與本地IP地址的最低兩位相同。如不相同,就不能使用自動(dòng)轉(zhuǎn)換方法。在本實(shí)例中,以太網(wǎng)單元的節(jié)點(diǎn)號(hào)設(shè)置為11(十六進(jìn)制)。

        2.3 設(shè)置IP地址

        以太網(wǎng)上的節(jié)點(diǎn)是用IP地址來識(shí)別的。每個(gè)IP地址被設(shè)為32個(gè)二進(jìn)制數(shù),通常用四段數(shù)以點(diǎn)分十進(jìn)制形式來表示。在以太網(wǎng)單元中,每段數(shù)用兩個(gè)十六進(jìn)制的數(shù)來表示[3]34。

        以太網(wǎng)單元的IP地址用安裝在其后面的8個(gè)十六進(jìn)制旋轉(zhuǎn)開關(guān)來進(jìn)行設(shè)置。對(duì)于CS1W型PLC,可將SW1和SW2,SW3和SW4,SW5和SW6,SW7和SW8組合在一起,就得到了單元的IP地址。在本設(shè)計(jì)中,IP地址設(shè)置為 CA.72.6A.11,也就是202.114.106.17。

        3 通信協(xié)議

        通信協(xié)議是通信的雙方互相遵守的約定,本文中的通信協(xié)議(以C表示)由7個(gè)字節(jié)組成,見表1,現(xiàn)對(duì)各個(gè)字節(jié)進(jìn)行說明。

        表1 通信協(xié)議配置

        C0:可取3個(gè)值:00、11、01。00表示讓PLC向PC發(fā)送數(shù)據(jù),11表示PC向PLC發(fā)送數(shù)據(jù),01表示讓PLC關(guān)閉Socket連接。

        C1、C2、C3、C4:發(fā)送或者接收數(shù)據(jù)的地址。此地址可以是PLC內(nèi)存中的任何一個(gè)區(qū)域。PLC接收到之后,將其轉(zhuǎn)換成十六進(jìn)制數(shù)(兩個(gè)字),送到Socket服務(wù)參數(shù)區(qū)的發(fā)送/接收地址單元(對(duì)于CS1W型PLC,為D30024和D30025),作為要發(fā)送和接收數(shù)據(jù)的起始地址。

        C5、C6:發(fā)送或者接收數(shù)據(jù)的字節(jié)數(shù)。由于PLC的Socket服務(wù)參數(shù)中的此項(xiàng)范圍為0~07C0,所以通信協(xié)議中用兩個(gè)字節(jié)來表示,PLC接收之后,先將其轉(zhuǎn)換成十六進(jìn)制數(shù),再送到Socket服務(wù)參數(shù)區(qū)的發(fā)送/接收數(shù)據(jù)字節(jié)數(shù)(對(duì)于 CS1W型 PLC,為D30023)單元中。

        通信協(xié)議存放在內(nèi)存D中從D01000開始的7個(gè)連續(xù)單元中。

        4 上位機(jī)程序設(shè)計(jì)

        4.1 上位機(jī)程序要實(shí)現(xiàn)的功能

        上位機(jī)作為服務(wù)器主要實(shí)現(xiàn)以下功能:

        監(jiān)聽:服務(wù)器啟動(dòng)后,處于監(jiān)聽狀態(tài),當(dāng)有客戶端申請(qǐng)連接時(shí),便與之建立連接,以進(jìn)行通信。

        斷開連接:服務(wù)器既可以單方面斷開連接,也可以響應(yīng)客戶的斷開而關(guān)閉連接;關(guān)閉連接之后若要進(jìn)行再次通信,則要重新開始監(jiān)聽。

        接收數(shù)據(jù):客戶有數(shù)據(jù)送來時(shí),服務(wù)器將其接收,并放于緩存中。

        發(fā)送數(shù)據(jù):服務(wù)器調(diào)用Send()命令,將緩存中的數(shù)據(jù)發(fā)送給客戶。

        狀態(tài)顯示:能夠顯示服務(wù)器當(dāng)前的狀態(tài)。

        4.2 上位機(jī)程序的實(shí)現(xiàn)

        上位機(jī)程序采用Visual C++6.0來實(shí)現(xiàn),主要程序代碼如下:

        5 下位機(jī)程序設(shè)計(jì)

        Socket服務(wù)參數(shù)區(qū)在CPU單元的DM區(qū),Socket服務(wù)請(qǐng)求開關(guān)在Socket服務(wù)參數(shù)區(qū)中設(shè)置。對(duì)于以太網(wǎng)單元號(hào)為0的情況,Socket的服務(wù)參數(shù)在DM中的地址為D30018~D30027(以CS1W型PLC為例),共10個(gè)字單元。表2列出了1號(hào)Socket服務(wù)參數(shù)在內(nèi)存D中的位置以及每個(gè)Socket服務(wù)參數(shù)區(qū)的配置。

        表2 歐姆龍PLC Socket服務(wù)參數(shù)區(qū)配置

        程序流程圖如圖3所示,在此流程圖中,省略了以TCP方式建立連接的細(xì)節(jié)過程,而主要是關(guān)于建立連接之后PLC與服務(wù)器之間的數(shù)據(jù)通信。

        用CIO00000~CIO00003分別表示打開、關(guān)閉、發(fā)送和接收開關(guān)的請(qǐng)求位;用CIO00100~CIO00103分別表示打開、關(guān)閉、發(fā)送和接收的錯(cuò)誤標(biāo)志,以顯示錯(cuò)誤信息;用CIO00200~CIO00203分別用于控制打開、關(guān)閉、發(fā)送和接收指令的執(zhí)行,以達(dá)到只執(zhí)行一次的目的。

        用CIO00300表示程序判斷位,以確定程序下一步的走向;用CIO00400表示接收命令開關(guān)位,此命令由服務(wù)器發(fā)送,用于控制PLC執(zhí)行何種操作,命令長二十個(gè)字節(jié),存放在以D01000開始的十個(gè)連續(xù)字單元中。

        圖3 下位機(jī)通信流程

        6 結(jié)束語

        歐姆龍PLC具有很強(qiáng)的通信功能,其以太網(wǎng)模塊采用應(yīng)用廣泛的TCP/IP協(xié)議,數(shù)據(jù)通信速度快,程序設(shè)計(jì)簡單。文中的通信軟件采用Visual C++6.0編寫,性能穩(wěn)定,可靠性高。本文的通信方法已用在工業(yè)現(xiàn)場(chǎng),數(shù)據(jù)可以實(shí)時(shí)傳輸至工業(yè)上位機(jī),方便保存、處理和分析。

        [1]曹衛(wèi),史旺旺,陳虹.OMRON PLC在以太網(wǎng)中的通信及實(shí)現(xiàn)[J].測(cè)控技術(shù),2004,23(12):50 -51.

        [2] 劉利.可編程序控制器通信與網(wǎng)絡(luò)[M].北京:機(jī)械工業(yè)出版社,2006.

        [3] OMRON.OMRON PLC CS1W-ETN01 Ethernet unit operation manual[M].Japan OMRON,2008.

        [4] BAO WEIMIN.Application of windows socket technique to communication process of the train diagram network system based on client/server structure[J].Journal of Southwest Jiaotong University,2001,9(2):8-14

        [5] 王德力,劉希寶.Socket編程技術(shù)[J].遼寧師專學(xué)報(bào),2002,4(2):42-43,46.

        [6]高恩勇,謝德銀.利用Delphi編寫Socket通信程序[J].滄州師范專科學(xué)校學(xué)報(bào),2004,20(4):56-58.

        猜你喜歡
        設(shè)置服務(wù)
        中隊(duì)崗位該如何設(shè)置
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        7招教你手動(dòng)設(shè)置參數(shù)
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        本刊欄目設(shè)置說明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        男性一插就想射是因为啥| 日本中文字幕精品久久| 精品日韩一级免费视频| 啦啦啦www在线观看免费视频| 无码国产激情在线观看| 国产av天堂亚洲国产av麻豆| 日本中文字幕有码在线播放| 色综合久久无码五十路人妻| 天天综合亚洲色在线精品| 日韩av一区二区毛片| 国产精品一区二区三区三| 中文字幕亚洲乱码成熟女1区| 日韩人妻无码精品-专区| 人妻无码一区二区在线影院| 日韩中文字幕一区二十| 精品人妻一区二区三区久久| 四虎国产精品免费久久| 99国产精品丝袜久久久久| 中文字幕人妻在线少妇完整版| 欧美亅性猛交内射| 亚洲日韩中文字幕一区| 青草蜜桃视频在线观看| 久久精品国产自产对白一区| 97精品国产一区二区三区| 综合久久给合久久狠狠狠97色| 2021年性爱喷水视频| 99久久精品人妻少妇一| av综合网男人的天堂| 亚洲 欧美 唯美 国产 伦 综合| 日本女同伦理片在线观看| 日本一区三区三区在线观看| 免费人妻无码不卡中文字幕18禁| 一本久道久久综合五月丁香| 亚洲日本精品一区二区三区| 久久无码人妻丰满熟妇区毛片| 1717国产精品久久| 色婷婷亚洲十月十月色天| 偷拍一区二区三区四区| 国产综合无码一区二区色蜜蜜| 国产人成亚洲第一网站在线播放 | 国产高清女主播在线观看|