国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

上位機(jī)與Omron PLC通訊的實(shí)現(xiàn)及在清洗設(shè)備中的應(yīng)用

2015-05-18 01:18侯為萍
電子工業(yè)專用設(shè)備 2015年8期
關(guān)鍵詞:槽式上位命令

侯為萍

(中國電子科技集團(tuán)公司第四十五研究所,北京101601)

上位機(jī)與Omron PLC通訊的實(shí)現(xiàn)及在清洗設(shè)備中的應(yīng)用

侯為萍

(中國電子科技集團(tuán)公司第四十五研究所,北京101601)

介紹了上位機(jī)與PLC通訊系統(tǒng)的組成、基本原理以及通訊協(xié)議,詳細(xì)討論了基于VC++的上位機(jī)與歐姆龍 (Omron)PLC實(shí)時通訊系統(tǒng)的具體實(shí)現(xiàn)過程,并在槽式清洗設(shè)備中進(jìn)行了應(yīng)用,實(shí)踐表明,這種通訊系統(tǒng)經(jīng)濟(jì)可靠,性價比高,簡單易行。

上位機(jī);PLC;通訊

可編程序控制器 (Programmable Logic Controller),簡稱PLC,它采用可以編制程序的存儲器,用來在其內(nèi)部存儲執(zhí)行邏輯運(yùn)算、順序控制、定時、計(jì)數(shù)和算術(shù)運(yùn)算等操作的指令,并能通過數(shù)字式或模擬式的輸入和輸出,控制各種類型的機(jī)械或生產(chǎn)過程。PLC具有編程簡單、使用方便、抗干擾能力強(qiáng),故障修復(fù)時間短、維護(hù)方便、接口功能強(qiáng)等優(yōu)點(diǎn),因此在濕法類的槽式清洗設(shè)備中得到了廣泛應(yīng)用。

本研究中考慮到客戶的實(shí)際需要,設(shè)備操作區(qū)域在凈化間,凈化間與灰區(qū)有隔斷,需要具備在灰區(qū)能夠?qū)崟r監(jiān)控設(shè)備的狀態(tài)、下載和上傳工藝參數(shù)的功能,因此提出了本文中所述的通過上位機(jī)與Omron PLC通訊來實(shí)現(xiàn)此功能要求的方法。

1 上位機(jī)與PLC通訊系統(tǒng)的組成及基本原理

本設(shè)計(jì)中通訊系統(tǒng)主要由上位機(jī) (計(jì)算機(jī))、PLC和連接電纜組成,計(jì)算機(jī)與PLC之間采用串口通訊。由于OMRON PLC本身帶有RS-232接口,因此,在RS-232電纜與計(jì)算機(jī)之間直接用三線制連接。要實(shí)現(xiàn)上位機(jī)與PLC間的通信,歐姆龍CJ系列PLC與上位機(jī)通訊可以采用上位鏈串行通信模式。進(jìn)行上位鏈接通信時,上位機(jī)與PLC間使用命令和響應(yīng)進(jìn)行發(fā)送接收。而命令與響應(yīng)都是以“幀”為單位進(jìn)行的。首先,上位機(jī)向PLC發(fā)送一定的指令,同時把發(fā)送權(quán)移交給PLC,PLC接收到上位機(jī)的指令后,進(jìn)行FCS校驗(yàn),F(xiàn)CS校驗(yàn)就是把從一幀的開始到FCS前面的數(shù)據(jù)進(jìn)行邏輯異或得到的8位數(shù)據(jù)變換成2個字符的ASCII碼,對接收信息的各幀計(jì)算FCS,并同時附加在幀后的FCS進(jìn)行對照校合,就能檢查數(shù)據(jù)錯誤。數(shù)據(jù)正確后再由PLC向上位機(jī)發(fā)送響應(yīng),這樣就完成了一次通訊,若通訊成功則執(zhí)行相應(yīng)的操作[1-2]。

2 通訊協(xié)議

2.1 上位機(jī)與PLC的通訊協(xié)議

HOST Link系統(tǒng)使用HOST Link通信協(xié)議進(jìn)行通信,上位機(jī)具有傳送優(yōu)先權(quán),總是首先發(fā)出命令并啟動通信,HOST Link通信單元收到命令交由PLC執(zhí)行,然后將執(zhí)行結(jié)果返回上位機(jī),兩者以幀為單位輪流交換數(shù)據(jù)。

2.2 上位機(jī)的PLC鏈接通訊

通信時一組傳送的數(shù)據(jù)稱為塊,它是命令或響應(yīng)的單位,從上位機(jī)發(fā)送到HOSTLink單元的數(shù)據(jù)稱為命令塊,相應(yīng)的,從HOSTLink單元發(fā)送到上位機(jī)的數(shù)據(jù)稱為響應(yīng)塊。多點(diǎn)通信時,單幀發(fā)送的最大數(shù)據(jù)塊為131個字符,因此當(dāng)一個數(shù)據(jù)塊含有132個或更多字符時,要分成兩幀或多幀進(jìn)行發(fā)送。多幀發(fā)送時中間幀的格式為:正文、FCS、分界符。起始幀、中間幀的長度為131,結(jié)束幀的長度最多為131個字符。

Omron系列的PLC通過RS232口與主機(jī)通信有兩種方式,第一種是由上位機(jī)向PLC發(fā)送初始命令,第二種是由PLC向上位機(jī)發(fā)送初始命令。本設(shè)計(jì)中采用第一種方式。有關(guān)通信協(xié)議如下所述。

2.2.1 上位機(jī)→PLC的命令格式

如圖1所示,其中:@為起始標(biāo)志符,表示以@開始;“設(shè)備號”為PLC節(jié)點(diǎn)標(biāo)志碼,是上位機(jī)用來識別所連接PLC的唯一號碼。PLC自己的通信節(jié)點(diǎn)碼可由它的DM6648和DM6653來設(shè)置;“識別碼”為命令碼,設(shè)定為兩個字符的長度;“正文”為命令內(nèi)容,用來設(shè)置具體的命令參數(shù);“幀檢查序列”設(shè)定為兩個字符的幀校驗(yàn)碼,如果通信出錯通過計(jì)算此校驗(yàn)碼,就可以及時發(fā)現(xiàn)[3]?!敖K端”中“*”和“CR”兩字符表示命令結(jié)束。

圖2 響應(yīng)格式

2.2.2 PLC→上位機(jī)的響應(yīng)格式

如圖2所示,其中:“結(jié)束碼”為命令結(jié)束狀態(tài)碼,返回命令的執(zhí)行狀態(tài)(有無錯誤),如00表示正常結(jié)束,01表示RUN模態(tài)下PLC無法完成上位機(jī)命令?!罢摹睘槊顑?nèi)容,在有讀出數(shù)據(jù)時返回。其余符號代碼意義同上。

圖1 命令格式

3 基于VC++6.0的通訊實(shí)現(xiàn)

實(shí)現(xiàn)上位機(jī)與HOST Link通信單元的通信只需編寫上位機(jī)程序,因?yàn)镠OST Link通信單元自身帶有通信程序,上位機(jī)下發(fā)命令,地址相應(yīng)的PLC自動上傳響應(yīng)幀,但是,編寫上位機(jī)的通信程序時,通信參數(shù)的設(shè)置必須保證與PLC的通信參數(shù)一致。

3.1 串口的初始化

Windows系統(tǒng)對通信功能的支持非常強(qiáng),它增加了一系列用于通信的API函數(shù)供用戶調(diào)用。同樣,要進(jìn)行串行通信,也需要先對串口進(jìn)行初始化。Windows系統(tǒng)把串行口作為設(shè)備文件,對串口操作就是對文件操作。因此,必須先為串口分配1個文件句柄,以后對串口操作都將通過這個文件句柄來完成。初始化過程為:調(diào)用CreateFile函數(shù)為串口分配1個文件句柄m_hPort;調(diào)用SetupComm函數(shù)設(shè)置串行口的輸入和輸出緩存區(qū);填充1個DCB結(jié)構(gòu)來設(shè)置通信參數(shù),通過調(diào)用GetCommState函數(shù)獲得當(dāng)前系統(tǒng)的DCB(設(shè)備控制塊)結(jié)構(gòu),按需要賦值給DCB的成員,如波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位等,最后將創(chuàng)建后的DCB結(jié)構(gòu)作為參數(shù)傳給SetCommState函數(shù)完成初始化串口。

3.2 發(fā)送和接收串口數(shù)據(jù)

串行口的初始化完成后,需要根據(jù)通信協(xié)議來發(fā)送和接收串行口上的數(shù)據(jù)。WriteFile函數(shù)用于發(fā)送數(shù)據(jù),ReadFile函數(shù)用于接收數(shù)據(jù)。

接收數(shù)據(jù)的自定義函數(shù)如下:

發(fā)送數(shù)據(jù)的自定義函數(shù)如下:

3.3 通訊實(shí)現(xiàn)

上位機(jī)與PLC的通訊程序流程圖如圖3所示。串口初始化之后需發(fā)送請求信號,得到正確響應(yīng)后向PLC發(fā)送控制字符,PLC返回應(yīng)答后做相應(yīng)的數(shù)據(jù)處理。根據(jù)前面介紹的通信協(xié)議,按照圖3的通訊流程,調(diào)用接收和發(fā)送的函數(shù),即可完成串行通信。例如需要讀取節(jié)點(diǎn)為0的PLC的DM0600中數(shù)據(jù),則編寫代碼如下:

part中為讀到的串口數(shù)據(jù),對該數(shù)據(jù)進(jìn)行校驗(yàn)成功后,做相應(yīng)的數(shù)據(jù)處理即可。

4 該系統(tǒng)在槽式清洗設(shè)備中的應(yīng)用

圖3 上位機(jī)與PLC通訊流程圖

本研究利用 Visual C++的強(qiáng)大功能,在Windwos環(huán)境下設(shè)計(jì)了上位機(jī)與PLC的實(shí)時通訊系統(tǒng),并將該系統(tǒng)成功應(yīng)用于槽式清洗設(shè)備中,通訊部分界面如圖4和圖5所示。其中圖4可以實(shí)時顯示系統(tǒng)各狀態(tài),滿足客戶在灰區(qū)能夠?qū)崟r監(jiān)測系統(tǒng)狀態(tài)的需求,圖5為本系統(tǒng)中其中一個槽體的參數(shù)設(shè)置界面,其他槽體的參數(shù)設(shè)置界面與之類似。在此界面可以設(shè)置槽體的各項(xiàng)參數(shù),并且可以將設(shè)置好的參數(shù)下載到PLC,也可以將PLC中的各參數(shù)上傳至此界面。

通過對此槽式清洗設(shè)備的運(yùn)行情況進(jìn)行觀察、分析,結(jié)果表明,本研究設(shè)計(jì)的通訊系統(tǒng)性能可靠,結(jié)構(gòu)簡單,實(shí)用性強(qiáng),充分滿足了客戶的實(shí)際需求,為今后此類需要在灰區(qū)實(shí)時監(jiān)控設(shè)備狀態(tài)的槽式清洗設(shè)備提供了很好的借鑒作用。

圖4 系統(tǒng)狀態(tài)顯示界面

圖5 槽體參數(shù)設(shè)置界面

[1] 曾昆.基于VC下的一種微機(jī)與PLC的簡易通信實(shí)現(xiàn)[J].電氣傳動,2004(1):48-49,55.

[2] 楊東海.基于VC和MFC的上位機(jī)與PLC的通訊系統(tǒng)[J].微計(jì)算機(jī)信息,2003,19(3):12.

[3] 嚴(yán)航明.基于HostLink協(xié)議實(shí)現(xiàn)歐姆龍PLC-CJ1G與

計(jì)算機(jī)的串口通信[J].數(shù)字技術(shù)與應(yīng)用,2011(12):1-3.

Realization of Communication System between Host-computer and OMRON PLC and Its Application in Cleaning Equipment

HOU Weiping

(The 45th Research Institute of CETC,Beijing 100176,China)

This paper introduces the composition,fundamental principles and communication protocol of the communication system between host-computer and PLC,and the realization of communication system between host-computer and OMRON PLC based on VC++is discussed in detail,which is applied in the Tank Cleaning Equipment.The result indicates that the communication system is economical,credible,simple,and practicable.

Host-computer;PLC;Communication

TN305.97

:A

:1004-4507(2015)08-0019-05

侯為萍(1983-),女,工程師,碩士學(xué)位,主要從事電子專用設(shè)備的軟件研發(fā)工作。

2015-07-15

猜你喜歡
槽式上位命令
只聽主人的命令
特斯拉 風(fēng)云之老阿姨上位
移防命令下達(dá)后
幕墻槽式預(yù)埋件現(xiàn)場監(jiān)理探討
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
高低交互槽式曝氣MBR工藝處理城市污水的研究
這是人民的命令
槽式太陽能聚光集熱系統(tǒng)模擬研究
以新思路促推現(xiàn)代農(nóng)業(yè)上位