當(dāng)前位置:首頁(yè) > 測(cè)試測(cè)量 > 測(cè)試測(cè)量
[導(dǎo)讀]提出了一種以西門子S7-200 PLC為核心的分布式遠(yuǎn)程污水監(jiān)控系統(tǒng),重點(diǎn)敘述了該方案的PLC硬件和軟件實(shí)現(xiàn)。

 隨著計(jì)算機(jī)控制技術(shù)的不斷發(fā)展,可編程控制器PLC(Programmable Logic Controller)的功能越來越強(qiáng)大,不僅具有各種各樣的控制功能,還具有與其他計(jì)算機(jī)通信聯(lián)網(wǎng)的功能。與之相應(yīng),PLC的應(yīng)用也日益普及,不僅被廣泛應(yīng)用于傳統(tǒng)的邏輯控制[1]、PID控制[2]和變頻調(diào)速[3]等領(lǐng)域,還逐漸被用于數(shù)據(jù)采集、環(huán)境監(jiān)控等領(lǐng)域。
 本文介紹的分布式遠(yuǎn)程污水監(jiān)控系統(tǒng)采用分布式的構(gòu)建方案,利用基于西門子PLC的實(shí)時(shí)測(cè)量技術(shù)對(duì)各污水排放點(diǎn)的排污流量、管道壓力等參數(shù)進(jìn)行采集、監(jiān)測(cè),以達(dá)到分散連接、集中監(jiān)控的目的。西門子PLC的I/O接口多,兼具模擬量、數(shù)字量和串行通信這幾類接口,擴(kuò)展模塊豐富;能工作于惡劣環(huán)境,故障率低、壽命長(zhǎng),非常適合在工業(yè)環(huán)境下使用。所以系統(tǒng)以西門子S7-200 PLC、傳感器和智能檢測(cè)儀表作為下層基本測(cè)量單元,將各個(gè)污水監(jiān)控點(diǎn)的測(cè)量數(shù)據(jù)經(jīng)過PLC初步處理后,按照自由口通信方式打包傳送給基于ARM9的嵌入式數(shù)據(jù)采集模塊進(jìn)行匯總和存儲(chǔ),然后再通過以太網(wǎng)送給本地機(jī)上層應(yīng)用軟件進(jìn)行顯示。整個(gè)下層測(cè)量單元相當(dāng)于一個(gè)結(jié)構(gòu)靈活可變、功能多樣的智能儀表子系統(tǒng),PLC相當(dāng)于這個(gè)子系統(tǒng)的通信接口。可以根據(jù)不同的測(cè)量需要對(duì)下層測(cè)量單元的硬件結(jié)構(gòu)和測(cè)量功能進(jìn)行適當(dāng)改變,使整個(gè)系統(tǒng)具有很大的靈活性,稍作修改即可用于其他監(jiān)控系統(tǒng)。
1 分布式系統(tǒng)結(jié)構(gòu)
    系統(tǒng)的分布式結(jié)構(gòu)示意圖如圖1所示。當(dāng)系統(tǒng)啟動(dòng)或復(fù)位后,各排污點(diǎn)的下層測(cè)量單元開始定時(shí)采樣、上傳數(shù)據(jù);嵌入式模塊接收到PLC傳來數(shù)據(jù)后,存入自身的數(shù)據(jù)庫(kù)中并判斷是否要觸發(fā)報(bào)警設(shè)備,同時(shí)將數(shù)據(jù)定時(shí)傳給上位機(jī)。這些實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)最后均匯總到網(wǎng)絡(luò)服務(wù)器上,從而使整個(gè)系統(tǒng)構(gòu)成了分布式的監(jiān)控結(jié)構(gòu)體系,主管部門只要通過應(yīng)用軟件的人機(jī)交互界面就可在各自辦公位置對(duì)排污點(diǎn)的各項(xiàng)指標(biāo)數(shù)據(jù)有一個(gè)準(zhǔn)確的了解,進(jìn)而達(dá)到對(duì)分布區(qū)域廣泛的各個(gè)排污點(diǎn)運(yùn)行情況進(jìn)行集中監(jiān)控的目的。


    嵌入式數(shù)據(jù)采集模塊上的每個(gè)串口可連接多達(dá)253個(gè)不同速率和協(xié)議的設(shè)備,因此為了降低成本,將距離較近的排污點(diǎn)測(cè)量單元通過一個(gè)串口集中管理器后接在同一個(gè)嵌入式數(shù)據(jù)采集模塊上。在PLC程序中設(shè)置好與上位機(jī)通信時(shí)所需的PLC站號(hào)后,嵌入式數(shù)據(jù)采集模塊就可通過輪巡的檢測(cè)方式接收各測(cè)量單元傳來的數(shù)據(jù)。但是實(shí)際中同一嵌入式數(shù)據(jù)采集模塊上所接的下層測(cè)量單元不應(yīng)過多,因?yàn)檫@會(huì)造成輪巡一次的時(shí)間過長(zhǎng),影響報(bào)警的實(shí)時(shí)性。
2 PLC下層測(cè)量單元硬件設(shè)計(jì)
    根據(jù)實(shí)際情況只需對(duì)各排污點(diǎn)的管道壓力、污水瞬時(shí)流量、污水總流量、紅外線人體探頭的開關(guān)狀態(tài)和供電的開關(guān)狀態(tài)進(jìn)行監(jiān)測(cè)。其中管道壓力由水壓傳感器測(cè)量,其測(cè)量數(shù)據(jù)為4~20 mA的模擬量;紅外線人體探頭的開關(guān)狀態(tài)和供電的開關(guān)狀態(tài)由PLC測(cè)量,其測(cè)量數(shù)據(jù)為數(shù)字量;污水瞬時(shí)流量和總流量由基于HART協(xié)議的智能電磁流量計(jì)測(cè)量,其測(cè)量數(shù)據(jù)通過串行通信傳送給PLC。由于PLC還要將處理后的數(shù)據(jù)傳送給嵌入式數(shù)據(jù)采集模塊,這需要占用一個(gè)串行通信口,所以系統(tǒng)選用帶有2個(gè)RS-485串行通信口的西門子S7-200 224XP型PLC。根據(jù)西門子224XP PLC的硬件資源,基于PLC的下層基本測(cè)量單元硬件連接圖如圖2所示。


    如圖2所示,紅外線人體探頭和供電開關(guān)分別接到PLC的數(shù)字量輸入口I0.0和I0.1上;水壓傳感器接在PLC上的模擬量輸入口0(AIW0)上;PLC的通信口0通過屏蔽雙絞線與嵌入式數(shù)據(jù)采集模塊的RS-485接口相連;電磁流量計(jì)需要經(jīng)過基于HART協(xié)議的調(diào)制解調(diào)器后才能接到PLC的串口上。系統(tǒng)中采用的調(diào)制解調(diào)器一端帶有4~20 mA的模擬傳輸線路(如電話線)接口,一端帶有RS-232接口,因此還需在調(diào)制解調(diào)器串口端再接一個(gè)RS-232轉(zhuǎn)RS-485模塊后才能接到PLC的通信口1上。HART協(xié)議是半雙工協(xié)議,同一時(shí)間內(nèi)調(diào)制解調(diào)器只能處于調(diào)制或解調(diào)的工作狀態(tài),所以需要通過PLC產(chǎn)生高低電平來進(jìn)行控制,故將PLC的Q0.1口接到調(diào)制解調(diào)器的工作狀態(tài)控制端上。當(dāng)PLC輸出高電平時(shí),處于調(diào)制工作狀態(tài);當(dāng)輸出低電平時(shí),處于解調(diào)工作狀態(tài)。
3 PLC下層測(cè)量單元軟件設(shè)計(jì)
 根據(jù)PLC在系統(tǒng)中的作用,PLC程序應(yīng)具有定時(shí)采集數(shù)據(jù)并通過自由口通信方式發(fā)送到上位機(jī)、自動(dòng)報(bào)警、自動(dòng)向上位機(jī)發(fā)送保持連接信號(hào)等功能。另外還要能響應(yīng)上位機(jī)的數(shù)據(jù)補(bǔ)調(diào)命令,返回相應(yīng)數(shù)值;響應(yīng)上位機(jī)的參數(shù)修改命令,修正PLC的系統(tǒng)時(shí)間等。
 整個(gè)PLC程序采用模塊化設(shè)計(jì),將完成某一功能的代碼段編寫為子程序,設(shè)置入口參數(shù)和出口參數(shù),當(dāng)需要完成這項(xiàng)功能時(shí),只需設(shè)置合適的參數(shù)并在程序中直接調(diào)用即可。這樣可縮短程序的長(zhǎng)度,便于程序的修改和移植。整個(gè)PLC程序是由主程序、子程序和中斷程序3部分組成,每個(gè)功能模塊程序包含若干子程序和中斷程序,下面分別介紹。
3.1 PLC主程序
 主程序主要是對(duì)自由口通信參數(shù)進(jìn)行設(shè)置以及對(duì)程序中用到的各計(jì)數(shù)器和標(biāo)志位寄存器進(jìn)行復(fù)位,以免PLC斷電重啟之后產(chǎn)生未知錯(cuò)誤。電磁流量計(jì)采用HART協(xié)議長(zhǎng)幀結(jié)構(gòu)命令,因此要先發(fā)送0#命令獲得生產(chǎn)廠家的代碼、設(shè)備型號(hào)碼和設(shè)備識(shí)別碼等總共38 bit的信息[4],用于填寫其他長(zhǎng)幀命令的地址。PLC每次重啟后,在主程序中調(diào)用一次0#命令子程序,并將流量計(jì)返回的地址存儲(chǔ)在固定的寄存器中。另外,PLC采集的壓力模擬量是一個(gè)緩慢變化的過程量,為了避免測(cè)量誤差,還需對(duì)壓力采集量進(jìn)行濾波;本文采用了平均值濾波法,每隔0.1 s觸發(fā)平均值濾波中斷程序?qū)毫y(cè)量數(shù)據(jù)進(jìn)行處理。主程序流程圖如圖3所示。


3.2 PLC數(shù)據(jù)采樣和報(bào)警部分程序
 該部分程序由3個(gè)子程序組成:CheckRealTimeData子程序、Ana_Alarm子程序和Dig_Alarm子程序。其中CheckRealTimeData子程序負(fù)責(zé)定時(shí)對(duì)數(shù)據(jù)進(jìn)行采樣、存儲(chǔ);Ana_Alarm和Dig_Alarm子程序在CheckRealTimeData子程序中調(diào)用,負(fù)責(zé)判斷采集到的數(shù)據(jù)是否超過報(bào)警閾值。如果連續(xù)超過閾值的時(shí)間大于設(shè)定值,則置位報(bào)警標(biāo)志位,使PLC自發(fā)地向嵌入式數(shù)據(jù)采集模塊發(fā)送報(bào)警信息,觸發(fā)報(bào)警設(shè)備;如果采樣值恢復(fù)正常則將報(bào)警計(jì)時(shí)器清零,重新計(jì)時(shí)。Ana_Alarm子程序設(shè)定Adata、Uplevel和Lowlevel 3個(gè)入口參數(shù),分別表示所測(cè)模擬量數(shù)據(jù)、數(shù)據(jù)上限和數(shù)據(jù)下限;Dig_Alarm子程序設(shè)定Ddata、Status 2個(gè)入口參數(shù),分別表示所測(cè)數(shù)字量數(shù)據(jù)和報(bào)警狀態(tài)值。調(diào)用子程序時(shí)設(shè)置好正確的參數(shù)就可完成PLC的報(bào)警功能,模擬量報(bào)警子程序和數(shù)字量報(bào)警子程序的流程圖如圖4所示。

3.3 PLC數(shù)據(jù)存儲(chǔ)部分程序
    PLC程序要有一定的數(shù)據(jù)存儲(chǔ)功能,防止因通信錯(cuò)誤而出現(xiàn)數(shù)據(jù)丟失的情況。因?yàn)?24XP PLC的數(shù)據(jù)存儲(chǔ)區(qū)僅為10 240 B,所以僅使PLC在每小時(shí)內(nèi)的15 min、30 min、45 min和60 min時(shí)各保存一次數(shù)據(jù),連續(xù)保存最近3天的數(shù)據(jù)。另外在電源掉電或內(nèi)存丟失后,PLC的系統(tǒng)時(shí)間會(huì)被初始化,這會(huì)使數(shù)據(jù)保存時(shí)間與實(shí)際時(shí)間不符,因此在建立了嵌入式通信采集模塊和PLC的通信聯(lián)系后,需發(fā)送命令對(duì)PLC的系統(tǒng)時(shí)間進(jìn)行設(shè)置。
3.4 PLC通信部分程序
 通信部分程序是整個(gè)PLC程序的核心。它包含4個(gè)中斷程序(串行通信口0發(fā)送、接收完成中斷和串行通信口1發(fā)送、接收完成中斷)及6個(gè)子程序:(1)Precheck子程序,負(fù)責(zé)按照HART協(xié)議格式向電磁流量計(jì)發(fā)送0#命令,獲得流量計(jì)地址;(2)PackandSend子程序,負(fù)責(zé)按照通信協(xié)議格式向嵌入式數(shù)據(jù)采集模塊發(fā)送報(bào)警數(shù)據(jù)、巡檢數(shù)據(jù)和補(bǔ)調(diào)數(shù)據(jù)3種不同的數(shù)據(jù)包,它有6個(gè)入口參數(shù),分別為CW、Data1Address~Data5Address,表示返回?cái)?shù)據(jù)的命令字和5個(gè)測(cè)量數(shù)據(jù)的寄存器地址;(3)KeepConnect子程序,負(fù)責(zé)定時(shí)發(fā)送保持連接信號(hào),確保嵌入式模塊和PLC通信正常,它有一個(gè)入口參數(shù)Time,表示定時(shí)時(shí)間;(4)CheckFlow子程序,負(fù)責(zé)按照HART協(xié)議命令格式向電磁流量計(jì)發(fā)送返回測(cè)量數(shù)據(jù)請(qǐng)求;(5)Port1CS子程序,在串行通信口1接收完成中斷程序中調(diào)用,負(fù)責(zé)對(duì)流量計(jì)返回的數(shù)據(jù)進(jìn)行異或檢校,如果檢校錯(cuò)誤,則丟棄數(shù)據(jù)包,如果檢校正確則進(jìn)行解包分析,將返回的流量計(jì)地址或測(cè)量數(shù)據(jù)分別存儲(chǔ)在不同的寄存器中,以便其他子程序也可調(diào)用;(6)Port0CS子程序,在串行通信口0接收完成中斷程序中調(diào)用,負(fù)責(zé)對(duì)串口0接收的數(shù)據(jù)進(jìn)行異或檢校。
 因?yàn)镠ART協(xié)議是主/從式協(xié)議,故PLC與流量計(jì)進(jìn)行通信時(shí)需先向流量計(jì)發(fā)送命令,才能獲得相應(yīng)的返回?cái)?shù)據(jù)。系統(tǒng)中PLC向流量計(jì)發(fā)送的命令有兩種:一種是要求流量計(jì)返回地址的0#命令,另一種是要求流量計(jì)返回測(cè)量數(shù)據(jù)的33#命令。0#命令在每次PLC重啟時(shí)發(fā)送一次,33#命令定時(shí)成每隔6 s發(fā)送一次。發(fā)送前要先拉高Q0.1的電平,使調(diào)制解調(diào)器處于調(diào)制工作狀態(tài);發(fā)送完成后,觸發(fā)端口1發(fā)送完成中斷使Q0.1輸出低電平,調(diào)制解調(diào)器工作在解調(diào)狀態(tài),接收來自流量計(jì)的數(shù)據(jù)。當(dāng)接收完成后觸發(fā)端口1接收完成中斷,調(diào)用Port1CS子程序?qū)邮盏降臄?shù)據(jù)包進(jìn)行分析。串口1的通信程序流程圖如圖5所示。

    PLC和嵌入式模塊進(jìn)行通信時(shí),PLC相當(dāng)于從站,嵌入式模塊相當(dāng)于主站。除了自發(fā)向嵌入式模塊發(fā)送報(bào)警信息和連接保持信息外,一般都是接收到數(shù)據(jù)返回請(qǐng)求后,再向嵌入式模塊發(fā)送數(shù)據(jù)。PLC接收完嵌入式模塊發(fā)送來的數(shù)據(jù)后,觸發(fā)端口0接收完成中斷對(duì)數(shù)據(jù)包進(jìn)行分析。如果是系統(tǒng)時(shí)間設(shè)置命令,則按照數(shù)據(jù)包里的時(shí)間設(shè)置值修改PLC的系統(tǒng)時(shí)間。如果是補(bǔ)調(diào)命令,則按照查詢時(shí)間讀取歷史數(shù)據(jù)并存儲(chǔ)到補(bǔ)調(diào)數(shù)據(jù)寄存器中,如果是巡檢命令,則將實(shí)時(shí)采樣數(shù)據(jù)存儲(chǔ)到巡檢數(shù)據(jù)寄存器中,然后調(diào)用PackandSend子程序,設(shè)置好寄存器地址即可按照上位機(jī)命令返回相應(yīng)數(shù)據(jù)。PLC發(fā)送完成后觸發(fā)端口0發(fā)送完成中斷,將各標(biāo)志位寄存器復(fù)位,為下一次通信做準(zhǔn)備。串口0的通信程序流程圖如圖6所示。

    本文以一種分布式污水遠(yuǎn)程監(jiān)控系統(tǒng)為例,提出了一種以西門子PLC為核心的測(cè)量方法。實(shí)驗(yàn)證明,文中所述方案可以準(zhǔn)確、可靠地測(cè)量惡劣環(huán)境下的現(xiàn)場(chǎng)數(shù)據(jù)。PLC的采用不僅增大了系統(tǒng)的穩(wěn)定性,而且還可以很方便地根據(jù)實(shí)際需要適當(dāng)?shù)卦黾踊蚋淖儽O(jiān)控對(duì)象,對(duì)系統(tǒng)功能進(jìn)行擴(kuò)展。由于PLC程序采用模塊化設(shè)計(jì),所以對(duì)系統(tǒng)進(jìn)行簡(jiǎn)單修改后即可用于其他工業(yè)監(jiān)控應(yīng)用中。文中詳細(xì)給出了下層基本測(cè)量模塊的硬件和軟件設(shè)計(jì),以期為PLC用于測(cè)量、監(jiān)控領(lǐng)域提供一些參考。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉