咨詢電話
ENGLISH0755-88840386發(fā)布時(shí)間:2021-01-05 15:33:10 |來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載
1引言
1.1電子皮帶秤稱量系統(tǒng)簡(jiǎn)介
電子皮帶秤稱量系統(tǒng)包含電子皮帶秤、上位機(jī)監(jiān)控軟件系統(tǒng)。電子皮帶秤是在皮帶輸送機(jī)輸送物料過(guò)程中同時(shí)進(jìn)行物料連續(xù)自動(dòng)稱重的一種計(jì)量設(shè)備。其特點(diǎn)是稱重過(guò)程是連續(xù)和自動(dòng)進(jìn)行的,通常不需要操作人員的干預(yù)就可以完成稱重操作。
電子皮帶秤主要有傳感器、秤架、二次儀表三大部分組成,在實(shí)際應(yīng)用過(guò)程中,要想使電子皮帶秤在一個(gè)較長(zhǎng)的時(shí)間周期內(nèi)保證一定的精確度,其檢定過(guò)程非常重要。
同時(shí),為保證皮帶秤運(yùn)行的安全性和運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)控,皮帶秤的運(yùn)行參數(shù)與狀態(tài)要實(shí)時(shí)顯示更新,因而控制器必須有快速而安全的通信模式。
皮帶秤監(jiān)控軟件是電子皮帶秤的配套產(chǎn)品,主要用于稱重?cái)?shù)據(jù)的管理和對(duì)現(xiàn)場(chǎng)工作狀態(tài)的監(jiān)控,可以方便的實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)數(shù)據(jù)管理和查詢。計(jì)算機(jī)通過(guò)RS232、RS485、ModBus等方式與下位機(jī)連接,以實(shí)現(xiàn)集中控制。用戶可通過(guò)上位機(jī)對(duì)多臺(tái)下位機(jī)進(jìn)行集中控制及參數(shù)查詢。在計(jì)算機(jī)上用戶可修改下位機(jī)中的各種參數(shù),完成報(bào)表查詢、歷史數(shù)據(jù)曲線圖顯示、稱重?cái)?shù)據(jù)打印等操作以實(shí)現(xiàn)現(xiàn)代化的科學(xué)管理及控制。
本論文設(shè)計(jì)了一套基于ModBus/TCP協(xié)議的通信系統(tǒng),詳細(xì)介紹了通信協(xié)議的選取和通信程序的設(shè)計(jì)方法,實(shí)現(xiàn)了上位機(jī)與電子皮帶秤控制器的遠(yuǎn)程和實(shí)時(shí)通信,通信速率比同類產(chǎn)品的485申口通信大大提高,能監(jiān)控控制器的運(yùn)行參數(shù)和狀態(tài)實(shí)時(shí)更新,方便了工業(yè)現(xiàn)場(chǎng)的實(shí)時(shí)監(jiān)控。此外,由于基于TCP/IP以太網(wǎng)實(shí)施,故而網(wǎng)絡(luò)布置更加便利,數(shù)據(jù)通信的抗干擾性也更強(qiáng),可以比傳統(tǒng)傳統(tǒng)RS232或RS485連接更多數(shù)量的下位機(jī)。
1.2工業(yè)通信協(xié)議的發(fā)展
目前,ModBus協(xié)議主要應(yīng)用于電力自動(dòng)化和過(guò)程控制中,一般采用RS232或者RS485通信接口,這樣就導(dǎo)致了它傳輸距離短、速度慢,應(yīng)用受到局限。TCP/IP協(xié)議主要應(yīng)用于Internet和Intranet中,其傳輸距離長(zhǎng)、傳輸速度快,應(yīng)用非常廣泛。通過(guò)將ModBus協(xié)議和TCP/IP協(xié)議相結(jié)合,實(shí)現(xiàn)了基于ModBusTCP/IP協(xié)議的遠(yuǎn)程網(wǎng)絡(luò)通信,促進(jìn)了ModBus協(xié)議在工業(yè)中的使用。
2ModBus/TCP通信協(xié)議介紹
ModBus/TCP協(xié)議是基于管理和控制自動(dòng)化設(shè)備的ModBus系列通信協(xié)議的衍生協(xié)議。該協(xié)議定義了在一個(gè)使用TCP/IP協(xié)議的Intrannet或Internet環(huán)境中,如何傳輸ModBus報(bào)文。這種協(xié)議主要用在PLC、I/O模塊、連接其他簡(jiǎn)單總線或I/O網(wǎng)絡(luò)的網(wǎng)關(guān)的以太網(wǎng)適配器上。
ModBus/TCP協(xié)議是面向連接的協(xié)議,一個(gè)連接可以承載多個(gè)獨(dú)立的事務(wù)。而UDP協(xié)議是一種面向非連接的協(xié)議,它不能實(shí)現(xiàn)對(duì)一個(gè)事務(wù)的持續(xù)控制。另外,由于TCP協(xié)議允許有很多個(gè)連接同時(shí)存在,所以在大多數(shù)情況下,ModBus/TCP連接的個(gè)數(shù)是由連接的發(fā)起端根據(jù)需要而定的。TCP協(xié)議應(yīng)用在可靠性要求高的場(chǎng)合,而UDP協(xié)議則應(yīng)用在可靠性要求低、傳輸經(jīng)濟(jì)的場(chǎng)合。對(duì)于工業(yè)控制領(lǐng)域,對(duì)可靠性、實(shí)時(shí)性要求很高。因此,在基于ModBus的以太網(wǎng)協(xié)議中,沒(méi)有釆用UDP協(xié)議,而采用了TCP協(xié)議。
3電子皮帶秤上位機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
本上位機(jī)軟件通過(guò)以太網(wǎng)接口可以很方便地與皮帶秤控制器連接,以實(shí)現(xiàn)集中化管理和控制。管理員可以通過(guò)上位機(jī)對(duì)多臺(tái)皮帶秤控制器進(jìn)行遠(yuǎn)程集中控制及數(shù)據(jù)查詢,還可以在計(jì)算機(jī)上修改皮帶秤控制器中的各種參數(shù),進(jìn)行報(bào)表生成、稱重?cái)?shù)據(jù)打印、歷史數(shù)據(jù)回顯并生成曲線圖等操作,以實(shí)現(xiàn)信息化管鯉及控制。
本項(xiàng)目在ModBus網(wǎng)絡(luò)中,通過(guò)以太網(wǎng)和服務(wù)器實(shí)現(xiàn)了遠(yuǎn)程網(wǎng)絡(luò)通信。對(duì)于由ModBus協(xié)議組網(wǎng),適用于由單個(gè)主節(jié)點(diǎn)和眾多從節(jié)點(diǎn)的通信網(wǎng)絡(luò)。上位機(jī)作為主節(jié)點(diǎn),現(xiàn)場(chǎng)設(shè)備作為從節(jié)點(diǎn)。上位機(jī)通過(guò)輪詢的方式依次讀取下位機(jī)的實(shí)時(shí)數(shù)據(jù),起到控制整個(gè)網(wǎng)絡(luò)的作用。這種通信方式可以提高整個(gè)網(wǎng)絡(luò)的可靠性,避免網(wǎng)絡(luò)上不同節(jié)點(diǎn)之間數(shù)據(jù)發(fā)生沖突。
實(shí)踐證明,這種架構(gòu)完全滿足工控的實(shí)時(shí)性要求。這種ModBus工業(yè)網(wǎng)絡(luò)還有傳輸距離遠(yuǎn)的優(yōu)點(diǎn),可在任何有網(wǎng)絡(luò)的地方實(shí)現(xiàn)遠(yuǎn)程監(jiān)控功能;而且可利用現(xiàn)有網(wǎng)絡(luò)設(shè)施,無(wú)需額外投資建設(shè)網(wǎng)絡(luò),性價(jià)比高,實(shí)施成本低;通用性強(qiáng),可應(yīng)用于各種需要通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)實(shí)時(shí)監(jiān)控功能的設(shè)備。上位機(jī)監(jiān)控系統(tǒng)與下位機(jī)通信結(jié)構(gòu)圖,如圖1所示。
本系統(tǒng)主要由3個(gè)部分組成:數(shù)據(jù)采集設(shè)備終端、網(wǎng)絡(luò)傳輸信道和上位機(jī)實(shí)時(shí)監(jiān)控系統(tǒng)。監(jiān)控系統(tǒng)以Windows操作系統(tǒng)為基礎(chǔ),采用SQLServer作為數(shù)據(jù)庫(kù)。
實(shí)時(shí)監(jiān)控系統(tǒng)數(shù)據(jù)通信的實(shí)現(xiàn),以套接字SocketAPI接口為基礎(chǔ)?;赟ocket的監(jiān)控系統(tǒng)采用C/S架構(gòu),與各個(gè)數(shù)據(jù)采集設(shè)備以多線程方式進(jìn)行數(shù)據(jù)通信,實(shí)現(xiàn)現(xiàn)場(chǎng)設(shè)備的分布式采集與集中監(jiān)控。該軟件通過(guò)TCP/IP協(xié)議與數(shù)據(jù)采集設(shè)備進(jìn)行通信,將采集到的實(shí)時(shí)數(shù)據(jù)進(jìn)行集中處理,展現(xiàn)給用戶友好的圖形界面,實(shí)時(shí)顯示各種開(kāi)關(guān)量、模擬量數(shù)據(jù),同時(shí)把數(shù)據(jù)存入數(shù)據(jù)庫(kù)中,對(duì)不良運(yùn)行狀況進(jìn)行實(shí)時(shí)報(bào)警。管理員可以向下位機(jī)發(fā)送控制命令,實(shí)現(xiàn)實(shí)時(shí)遠(yuǎn)程控制,并將實(shí)時(shí)運(yùn)行狀況生成各種報(bào)表,以作進(jìn)一步分析、匯總。
3.1ModBus/TCP工業(yè)以太網(wǎng)監(jiān)控系統(tǒng)的體系結(jié)構(gòu)
本文所提到的稱量監(jiān)控系統(tǒng)共分兩層:
(1)稱量控制器;
(2)實(shí)時(shí)監(jiān)控及網(wǎng)絡(luò)管理。
監(jiān)控系統(tǒng)總體結(jié)構(gòu)如圖2所示。
稱量控制器以電子皮帶秤為核心。它具有支持TCP/IP協(xié)議的以太網(wǎng)通信模塊,IP地址可配置,且可通過(guò)以太網(wǎng)與上位機(jī)通信。各節(jié)點(diǎn)與節(jié)點(diǎn)、節(jié)點(diǎn)與監(jiān)控系統(tǒng)間均通過(guò)集線器進(jìn)行鏈接,上位機(jī)對(duì)各監(jiān)控節(jié)點(diǎn)統(tǒng)一管理。
本論文介紹的核心內(nèi)容是雙向監(jiān)控及實(shí)時(shí)網(wǎng)絡(luò)管理。它運(yùn)行于Windows平臺(tái),基于ModBus/TCP協(xié)議建立通信鏈接,采用VisualC++開(kāi)發(fā)完成可視化雙向監(jiān)控管理平臺(tái),主要包括監(jiān)控組態(tài)及網(wǎng)絡(luò)管理兩大部分:上位機(jī)作為服務(wù)器主要運(yùn)行監(jiān)控組態(tài)平臺(tái)。該平臺(tái)由3大模塊構(gòu)成:數(shù)據(jù)管理模塊、雙向通信模塊、控制組態(tài)模塊。其中,數(shù)據(jù)管理模塊對(duì)控制器傳來(lái)的數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示、存儲(chǔ)、管理并實(shí)現(xiàn)歷史曲線回放。上位機(jī)和控制器的通信模塊互相對(duì)應(yīng),實(shí)現(xiàn)數(shù)據(jù)雙向傳輸與控制的功能??刂平M態(tài)模塊與稱量控制器上的算法相對(duì)應(yīng),管理員可通過(guò)上位機(jī)對(duì)各節(jié)點(diǎn)的稱量控制器進(jìn)行算法和參數(shù)組態(tài)。網(wǎng)絡(luò)管理模塊的作用主要是配置各控制節(jié)點(diǎn)的IP地址;檢測(cè)局域網(wǎng)內(nèi)各臺(tái)稱量控制器的工作狀態(tài)。
3.2基于ModBusTCP協(xié)議通信的實(shí)現(xiàn)
本系統(tǒng)采用C/S(客戶機(jī)/服務(wù)器)架構(gòu),上位機(jī)作為服務(wù)器,用來(lái)響應(yīng)客戶機(jī)提出的請(qǐng)求。皮帶秤控制器作為客戶機(jī),向服務(wù)器提出請(qǐng)求或要求某項(xiàng)服務(wù)。
系統(tǒng)采用Winsock技術(shù)開(kāi)發(fā)通信模塊。服務(wù)器首先啟動(dòng)并進(jìn)行初始化操作,通過(guò)調(diào)用函數(shù)socket()創(chuàng)建一個(gè)套接字,然后調(diào)用函數(shù)bind。將該套接字和本地網(wǎng)絡(luò)地址綁定在一起,再調(diào)用函數(shù)listen()將該套接字轉(zhuǎn)換成偵聽(tīng)套接字,用以偵聽(tīng)網(wǎng)絡(luò)上是否有連接請(qǐng)求。一旦偵聽(tīng)到客戶端發(fā)送的連接請(qǐng)求,就調(diào)用函數(shù)accept。來(lái)接受收客戶機(jī)的請(qǐng)求??蛻魴C(jī)在調(diào)用函數(shù)socketO建立套接字后就可調(diào)用函數(shù)connect()和服務(wù)器建立連接。一旦建立連接成功,客戶機(jī)和服務(wù)器之間就可以通過(guò)函數(shù)read。和write。來(lái)進(jìn)行雙向通信。最后待數(shù)據(jù)傳送結(jié)束以后,雙方調(diào)用函數(shù)close。關(guān)閉套接字。LocalHost指上位機(jī),RemoteHost指電子皮帶秤控制器。上位機(jī)的端口號(hào)設(shè)為0,表示應(yīng)用程序不需要特定端口,每次連接時(shí)將選擇一個(gè)隨機(jī)端口作為T(mén)CP連接的本地端口。電子皮帶秤控制器的端口號(hào)設(shè)為502。圖3為服務(wù)器端和客戶端的通信流程圖。
上位機(jī)和設(shè)備的通信是通過(guò)TCP/IP協(xié)議,將符合ModBus協(xié)議的信息幀在Internet或者Intranet網(wǎng)絡(luò)上進(jìn)行傳輸。在實(shí)際設(shè)計(jì)中為了提升網(wǎng)絡(luò)通信的效率,減少通信阻塞等待時(shí)間,提高連接皮帶秤的連接數(shù)量,本上位機(jī)系統(tǒng)采用多線程并發(fā)模式。整個(gè)網(wǎng)絡(luò)通信采用面向連接方式,Socket采用基于TCP的流式套接字類型,為每臺(tái)控制器都建立一個(gè)新線程,這樣可以減少連接隊(duì)列中連接請(qǐng)求的大小,極大地提高系統(tǒng)運(yùn)行效率。
上位機(jī)和下位機(jī)控制器的通信流程為:首先,上位機(jī)監(jiān)控管理軟件和下位機(jī)控制器都各自初始化并分別建立通信套接字(Socket),且上位機(jī)應(yīng)率先進(jìn)入監(jiān)聽(tīng)狀態(tài);當(dāng)下位機(jī)控制器發(fā)出連接請(qǐng)求,處在監(jiān)聽(tīng)狀態(tài)的上位機(jī)立刻響應(yīng),并新建一個(gè)線程來(lái)單獨(dú)處理。上位機(jī)通過(guò)accept。建立新的套接字,這樣新建立的線程就和下位機(jī)控制器實(shí)現(xiàn)了連接并進(jìn)行通信,而原來(lái)負(fù)責(zé)監(jiān)聽(tīng)的套接字繼續(xù)監(jiān)聽(tīng),如果有其他客戶機(jī)發(fā)來(lái)連接請(qǐng)求,則再開(kāi)一個(gè)新的線程,處理與下位機(jī)控制器通信。軟件根據(jù)皮帶秤控制的ModBus命令號(hào)來(lái)發(fā)送數(shù)據(jù),取得皮帶秤的運(yùn)行數(shù)據(jù)與控制數(shù)據(jù),從而對(duì)皮帶秤進(jìn)行有效的監(jiān)控;而原來(lái)的監(jiān)聽(tīng)Socket繼續(xù)等待新的控制器接入,通過(guò)accept。建立的新的套接字,如此循環(huán)。程序的設(shè)計(jì)流程應(yīng)當(dāng)由上位機(jī)首先啟動(dòng),然后在某一時(shí)刻啟動(dòng)下位機(jī)控制器并使其與上位機(jī)建立連接。
控制器中ModBusTCP客戶端程序用Connect()函數(shù)建立對(duì)目標(biāo)設(shè)備TCP502端口的連接。
數(shù)據(jù)通信的過(guò)程如下:
(1)準(zhǔn)備ModBus報(bào)文,包括7個(gè)字節(jié)的MBAP在內(nèi)的請(qǐng)求;
(2)使用Send()命令發(fā)送;
(3)在同一連接等待應(yīng)答;
用recv()讀報(bào)文,完成一次數(shù)據(jù)交換過(guò)程;
(5)當(dāng)通信任務(wù)結(jié)束時(shí),關(guān)閉TCP連接,使服務(wù)器可以為其它設(shè)備服務(wù)。
3.3應(yīng)用現(xiàn)場(chǎng)展示
本項(xiàng)目在浙能電力有限公司下屬某電廠輸煤系統(tǒng)中,對(duì)8臺(tái)皮帶秤進(jìn)行了有效的監(jiān)測(cè),對(duì)皮帶秤的線速度、流量的監(jiān)控保證了皮帶秤使用的安全;對(duì)皮帶秤累計(jì)量及各個(gè)時(shí)間段的使用統(tǒng)計(jì),與能效系統(tǒng)的對(duì)接,方便了廠家對(duì)能耗比的統(tǒng)計(jì),該上位機(jī)上線運(yùn)行后,運(yùn)行平穩(wěn)可靠。監(jiān)控界面如圖5所示,配置界面如圖6所示。
4總結(jié)和展望
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,工業(yè)控制網(wǎng)絡(luò)技術(shù)也在不斷的進(jìn)步。工業(yè)控制系統(tǒng)的網(wǎng)絡(luò)化、集成化將為企業(yè)帶來(lái)更高的生產(chǎn)效率和更大的經(jīng)濟(jì)效益。因此,本文提出了ModBus+TCP/IP通信協(xié)議模型來(lái)實(shí)現(xiàn)現(xiàn)場(chǎng)總線控制系統(tǒng)的通信互聯(lián),并設(shè)計(jì)了本數(shù)據(jù)采集及監(jiān)控系統(tǒng),并對(duì)此方案進(jìn)行了驗(yàn)證。在電子皮帶秤平臺(tái)的基礎(chǔ)上組建了一個(gè)小型的控制系統(tǒng),用VisualC++實(shí)現(xiàn)了基于ModBus/TCP以太網(wǎng)通信接口的上位機(jī)監(jiān)控系統(tǒng)。
本系統(tǒng)實(shí)現(xiàn)了ModBus/TCP的通信協(xié)議,從而使得通信的速率大大提高,另外,還實(shí)現(xiàn)了基于ModBus協(xié)議的串口通信,向下兼容了以往設(shè)備的通信接口。系統(tǒng)通過(guò)加載不同的動(dòng)態(tài)鏈接庫(kù),可以靈活的選擇以太網(wǎng)接口通信或者串行接口通信。
本系統(tǒng)只是為以太網(wǎng)在工業(yè)自動(dòng)化應(yīng)用作了一些探索及研究,以太網(wǎng)完全代替現(xiàn)場(chǎng)總線還有很長(zhǎng)的路要走,有待進(jìn)一步研究。隨著工業(yè)以太網(wǎng)技術(shù)的成熟和大量帶有以太網(wǎng)通信接口的工控設(shè)備的應(yīng)用,以及統(tǒng)一的工業(yè)以太網(wǎng)協(xié)議的制定,工業(yè)以太網(wǎng)作為一種開(kāi)放的網(wǎng)絡(luò)通信標(biāo)準(zhǔn),其易于普及以及易于與現(xiàn)有網(wǎng)絡(luò)整合的優(yōu)點(diǎn),將最終代替現(xiàn)場(chǎng)總線而走向統(tǒng)一。
本文源于網(wǎng)絡(luò)轉(zhuǎn)載,如有侵權(quán),請(qǐng)聯(lián)系刪除