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

        ?

        利用F E T C H/WR I T E方式實(shí)現(xiàn)計(jì)算機(jī)和西門(mén)子S 7P L C直接通訊

        2014-04-16 09:28:01張世友
        冶金動(dòng)力 2014年8期
        關(guān)鍵詞:PC機(jī)西門(mén)子字節(jié)

        張世友

        (安徽馬鋼自動(dòng)化信息技術(shù)有限公司 ,安徽馬鞍山,243011)

        1 前言

        隨著PLC性?xún)r(jià)比的不斷提高,其應(yīng)用范圍不斷擴(kuò)大,特別是近年來(lái)PLC向著大型網(wǎng)絡(luò)化方向發(fā)展,已經(jīng)滲透到鋼鐵,化工電力,制造、運(yùn)輸?shù)雀鱾€(gè)行業(yè)中。針對(duì)PLC編程、計(jì)算能力有限及PC機(jī)大量應(yīng)用的情況,PC機(jī)與PLC的結(jié)合使用就成為必然趨勢(shì)。在各行各業(yè)的控制系統(tǒng)中西門(mén)子的S7 PLC被廣泛采用,由于西門(mén)子公司沒(méi)有公開(kāi)西門(mén)子的S7以太網(wǎng)通訊協(xié)議,目前S7-400 PLC和PC機(jī)通訊的方式主要有以下幾種:

        ⑴通過(guò)西門(mén)子OPC服務(wù)器實(shí)現(xiàn)PC機(jī)和PLC通訊;

        ⑵利用西門(mén)子的SAPⅠ(西門(mén)子應(yīng)用程序編程接口)調(diào)用西門(mén)子提供的動(dòng)態(tài)鏈接庫(kù)函數(shù)來(lái)實(shí)現(xiàn)PC機(jī)應(yīng)用程序和PLC之間的數(shù)據(jù)之間交換。

        ⑶在PLC和PC機(jī)之間建立通訊連接,調(diào)用PLC的通訊功能塊,利用TCP/ⅠP協(xié)議之間和PC機(jī)進(jìn)行通訊。

        ⑷在利用FETCH/WRⅠTE方式實(shí)現(xiàn)PLC和PC機(jī)之間通訊,直接讀取PLC的M區(qū)、Ⅰ區(qū)、Q區(qū)、DB區(qū)等區(qū)域內(nèi)的任何數(shù)據(jù)。

        在以上四種方式雖然都能和PLC實(shí)現(xiàn)數(shù)據(jù)交換,前三種通訊方式有的要安裝數(shù)量不等的西門(mén)子軟件,有的只能交換某一特定數(shù)據(jù)塊的數(shù)據(jù),增加系統(tǒng)的軟件成本和調(diào)試維護(hù)的難度;而第四種利用Windows操作系統(tǒng)中的 TCP/ⅠP協(xié)議和 PLC的FECTH/WRⅠTE通訊方式直接實(shí)現(xiàn)PLC和PC的數(shù)據(jù)交換,不僅節(jié)省了系統(tǒng)的軟件成本,同時(shí)加快了系統(tǒng)的響應(yīng)速度,可以讀S7 PLC中所有區(qū)域內(nèi)的數(shù)據(jù)。

        2 S 7P L C端的通訊

        TCP/ⅠP是當(dāng)前應(yīng)用最為廣泛的通訊協(xié)議,廣泛應(yīng)用于各種PC網(wǎng)絡(luò);西門(mén)子的工業(yè)以太網(wǎng)卡如CP443-1也支持TCP/ⅠP協(xié)議,為S7 PLC和PC通訊提供了硬件基礎(chǔ)。TCP/ⅠP協(xié)議實(shí)現(xiàn)了兩種通訊方式:面向連接的(TCP)通訊方式和無(wú)連接的(UDP)通訊方式;由于工業(yè)現(xiàn)場(chǎng)的數(shù)據(jù)都十分重要,為了保證通訊的準(zhǔn)確無(wú)誤,我們采用了面向連接的通訊方式。

        2.1 S 7400-P L C的硬件及網(wǎng)絡(luò)組態(tài)

        為了使S7400-PLC能夠和PC機(jī)進(jìn)行通訊,需要通過(guò)CP443-1以太網(wǎng)模塊,將S7400-PLC連到以太網(wǎng)上,同時(shí)設(shè)置好正確的ⅠP地址和網(wǎng)關(guān)等,進(jìn)入西門(mén)子硬件組態(tài),選擇CP443-1以太網(wǎng)模塊的屬性,在相應(yīng)的位置設(shè)置好ⅠP地址、網(wǎng)關(guān)和子網(wǎng)掩碼等相關(guān)信息;在西門(mén)子的網(wǎng)絡(luò)組態(tài)軟件(NET PRO)中要建立一個(gè)通訊連接,在網(wǎng)絡(luò)協(xié)議欄中選擇TCP協(xié)議,同時(shí)設(shè)置好本地通訊的端口,同時(shí)將連接的方式設(shè)置為FETCH/WRⅠTE方式,且PLC作為通訊服務(wù)器方。

        2.2 S 7P L C端通訊程序的實(shí)現(xiàn)

        利用FETCH/WRⅠTE方式,其他設(shè)備可以存取S7系統(tǒng)中的任何存儲(chǔ)期的數(shù)據(jù),進(jìn)行數(shù)據(jù)交換時(shí),在S7-400 PLC段不需要編寫(xiě)任何程序,只需要按照要求設(shè)置好相應(yīng)的通訊連接,并且PC機(jī)按要FETCH和WRⅠTE的PDU的要求發(fā)送相應(yīng)的通訊請(qǐng)求報(bào)文PLC,PLC根據(jù)接受的請(qǐng)求報(bào)文后對(duì)請(qǐng)求報(bào)文解析處理,然后返回確認(rèn)數(shù)據(jù)報(bào)文或響應(yīng)數(shù)據(jù)報(bào)文,完成一次通訊操作。

        為了通過(guò)FETCH/WRⅠTE方式和PC機(jī)通訊,必須要知道每個(gè)通訊報(bào)文的數(shù)據(jù)組成,S7請(qǐng)求報(bào)文的長(zhǎng)度有16個(gè)字節(jié)組成,分為向PLC寫(xiě)數(shù)據(jù)的數(shù)據(jù)報(bào)文格式和從PLC讀取數(shù)據(jù)的數(shù)據(jù)報(bào)文格式。

        2.2.1 向PLC寫(xiě)數(shù)據(jù)的請(qǐng)求報(bào)文和相應(yīng)報(bào)文格式(見(jiàn)圖1)

        寫(xiě)數(shù)據(jù)請(qǐng)求報(bào)文由PC發(fā)送到PLC,主要包括:系統(tǒng)標(biāo)識(shí)、報(bào)頭長(zhǎng)度、操作代碼表示、操作代碼長(zhǎng)度、操作代碼等,這些內(nèi)容對(duì)每個(gè)報(bào)文都是固定的值,同時(shí)報(bào)文包括操作的區(qū)域(DB區(qū)、Ⅰ區(qū)、Q區(qū)、M區(qū)、C區(qū)、T區(qū))、數(shù)據(jù)塊號(hào)(在對(duì)DB區(qū)操作時(shí)有效,范圍為:1~255)、以字節(jié)為單位的起始地址、以字節(jié)為單位的數(shù)據(jù)長(zhǎng)度和要發(fā)送的具體數(shù)據(jù)。寫(xiě)數(shù)據(jù)響應(yīng)報(bào)文由PLC發(fā)送到PC機(jī),確認(rèn)寫(xiě)數(shù)據(jù)請(qǐng)求報(bào)文的處理情況,如果成功,則數(shù)據(jù)寫(xiě)響應(yīng)報(bào)文的錯(cuò)誤代碼(Error field)為0,如果請(qǐng)求報(bào)文中的數(shù)據(jù)有誤,則通過(guò)寫(xiě)數(shù)據(jù)響應(yīng)報(bào)文返回錯(cuò)誤代碼。

        2.2.2 從PLC讀取數(shù)據(jù)的請(qǐng)求包和相應(yīng)包格式(見(jiàn)圖2)

        圖1 寫(xiě)數(shù)據(jù)報(bào)文及其響應(yīng)報(bào)文

        圖2 讀數(shù)據(jù)請(qǐng)求報(bào)文及其相應(yīng)報(bào)文

        讀數(shù)據(jù)請(qǐng)求報(bào)文由PC發(fā)送到S7 PLC,能夠讀取的數(shù)據(jù)區(qū)域和寫(xiě)入數(shù)據(jù)相同,主要不同是操作代碼不同,其讀請(qǐng)求報(bào)文不含數(shù)據(jù)區(qū);讀響應(yīng)報(bào)文除了含有報(bào)文頭外,還包含請(qǐng)求數(shù)據(jù)包中所請(qǐng)求讀取的數(shù)據(jù),若錯(cuò)誤,則返回錯(cuò)誤代碼。

        3 計(jì)算機(jī)端通訊程序

        在WⅠNDDOWS操作系統(tǒng)下,通過(guò)WⅠNSOCK網(wǎng)絡(luò)編程接口,來(lái)實(shí)現(xiàn)應(yīng)用程序的網(wǎng)絡(luò)通訊功能;為了減少程序的CPU占用率和提高系統(tǒng)的實(shí)時(shí)性,采用了OverlappedⅠ/O(重疊式Ⅰ/O)Socket通訊方式。通常一臺(tái)PC機(jī)有可能和多臺(tái)PLC連接,為使程序高效執(zhí)行和減少程序設(shè)計(jì)的復(fù)雜性,將采用多線程技術(shù),PC機(jī)和不同PLC的通訊有不同的線程來(lái)完成,整個(gè)通訊程序采用VisualC++2005開(kāi)發(fā)平臺(tái)下完成。

        3.1 通訊程序的主要流程及程序?qū)崿F(xiàn)

        PC機(jī)和一臺(tái)PLC通訊的功能都在一個(gè)線程函數(shù)中完成。主要過(guò)程有:首先初始化WinSocket通訊動(dòng)態(tài)連接庫(kù),然后創(chuàng)建套接字,并且將其綁定到TCP協(xié)議上;然后開(kāi)始和PLC的以太網(wǎng)接口進(jìn)行建立連接;在連接建立好以后,開(kāi)始向PLC發(fā)送讀或?qū)憯?shù)據(jù)的請(qǐng)求報(bào)文,并進(jìn)行Ⅰ/O重疊操作,等待PLC響應(yīng);測(cè)試有沒(méi)有數(shù)據(jù)發(fā)送,若有,則接受,若沒(méi)有,則繼續(xù)測(cè)試;整個(gè)程序的流程圖如圖3。

        圖3 P C機(jī)通訊流程圖

        為了和多個(gè)PLC進(jìn)行通訊,可以在通訊模塊中為每個(gè)PLC創(chuàng)建一個(gè)通訊線程,由不同的線程和不同的PLC進(jìn)行通訊,這樣便于系統(tǒng)的調(diào)試和維護(hù),同時(shí)程序設(shè)計(jì)時(shí)采用了通訊容錯(cuò)技術(shù),在PC機(jī)和PLC的網(wǎng)絡(luò)出現(xiàn)故障時(shí),PC機(jī)每隔30 s會(huì)和PLC建立通訊連接,只要PLC重新在線,不需要人工干預(yù),系統(tǒng)自動(dòng)恢復(fù)正常。

        3.2 數(shù)據(jù)字節(jié)順序的處理

        因S7400PLC和PC機(jī)的在整數(shù),浮點(diǎn)數(shù)等數(shù)據(jù)類(lèi)型中高低字節(jié)順序正好使相反的,為了保證數(shù)據(jù)正確的傳輸,在PC機(jī)端需要對(duì)接受到的PLC數(shù)據(jù)和發(fā)送給PLC的數(shù)據(jù)進(jìn)行高低字節(jié)順序的對(duì)調(diào);利用C++語(yǔ)言中的union(聯(lián)合體)可以實(shí)現(xiàn)該功能,過(guò)程如下:首先定義聯(lián)合體S7Data,在聯(lián)合體內(nèi)部定義一個(gè)整型數(shù)(兩個(gè)字節(jié))變量iData、浮點(diǎn)數(shù)(四個(gè)字節(jié))變量fData和一個(gè)4個(gè)字節(jié)的char(字符)類(lèi)型的數(shù)組變量cData[4],在數(shù)據(jù)接受自PLC或發(fā)往PLC整型數(shù)或浮點(diǎn)數(shù)分別聯(lián)合體的iData或fData變量中,然后將cData[4]中將高低字節(jié)順序顛倒,聯(lián)合體中的iData或fData(根據(jù)PLC數(shù)據(jù)類(lèi)型)就是PLC中相應(yīng)數(shù)據(jù)的值了。

        4 結(jié)論

        為了便于控制系統(tǒng)和二級(jí)系統(tǒng)的集成,已經(jīng)將本技術(shù)開(kāi)發(fā)成中間件,成功應(yīng)用于江陰興澄鐵鋼1#加熱爐三級(jí)系統(tǒng)、馬鋼車(chē)輪壓軋線機(jī)械手控制系統(tǒng),馬鋼(合肥)1#連續(xù)退火機(jī)組等生產(chǎn)線上,通過(guò)近幾年的運(yùn)行,證明該通訊方式非常簡(jiǎn)潔高效,保證了工藝數(shù)據(jù)和設(shè)定值的高效傳輸。

        [1](美)Anthony Jones Jim Ohlund.Windows網(wǎng)絡(luò)編程技術(shù)[M].北京:機(jī)械工業(yè)出版社.2000

        猜你喜歡
        PC機(jī)西門(mén)子字節(jié)
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
        基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
        西門(mén)子重型燃機(jī)出海
        能源(2017年7期)2018-01-19 05:05:05
        基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
        簡(jiǎn)談MC7字節(jié)碼
        VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
        電子制作(2017年23期)2017-02-02 07:16:47
        西門(mén)子亮相CIIF201
        西門(mén)子 分布式I/O Simatic ET 200AL
        西門(mén)子引領(lǐng)制造業(yè)的未來(lái)
        亚洲av成人片色在线观看| 狠狠亚洲婷婷综合色香五月| 无码精品国产午夜| 国产精品久久国产精麻豆| 美女丝袜美腿玉足视频| 日韩av午夜在线观看| 亚洲精品92内射| 国产一级黄色录像| 国产蜜臀精品一区二区三区| 青青久在线视频免费视频| 国产精品亚洲精品日韩已方 | 天堂网站一区二区三区| 国产在线观看无码免费视频| 色综合无码av网站| 久久精品国产久精国产69| 亚州中文字幕乱码中文字幕 | 久久国产成人免费网站| 亚洲天堂av大片暖暖| 99久久婷婷国产一区| 在线播放免费人成毛片乱码| 亚洲日韩中文字幕一区| 中文乱码字幕高清在线观看| 成年女人18毛片观看| 中文字幕一区二区人妻秘书| 国产又爽又黄又刺激的视频| 品色堂永远的免费论坛| 亚洲中文字幕av一区二区三区人| 中文日本强暴人妻另类视频| 狠狠摸狠狠澡| 先锋影音最新色资源站| 日韩成人精品日本亚洲| 亚洲一区免费视频看看| 无码人妻久久一区二区三区免费丨| 人妻无码一区二区视频| 粉嫩极品国产在线观看| 久久婷婷夜色精品国产| 一区二区三区天堂在线| 爽爽精品dvd蜜桃成熟时电影院| 97中文字幕在线观看| 亚洲第一页在线观看视频网站| 伊人久久精品亚洲午夜|