時間:2019-08-20 15:21:01來源:張雙馳 潘芝渭
樹莓派GPIO擴(kuò)展RS485/GPIO模塊,借助Modbus協(xié)議和變頻器進(jìn)行雙向通訊,控制污水處理裝置。不但實(shí)現(xiàn)了傳統(tǒng)PLC控制系統(tǒng)所具備的全部功能,還能實(shí)現(xiàn)物聯(lián)網(wǎng)功能,且總體成本大幅下降。
關(guān)鍵字:樹莓派;PLC;離心機(jī)
1前言
圖1帶擴(kuò)展模塊和風(fēng)扇的樹莓派
樹莓派3B的CPU是1.2GHz的64位4核ARMCortex-A53芯片,而其他的物聯(lián)網(wǎng)設(shè)備一般鮮有搭載主頻超過600MHz的CPU,強(qiáng)大的處理器性能使樹莓派具有強(qiáng)大的數(shù)據(jù)處理能力,能夠流暢的執(zhí)行多線程任務(wù);集成了Wi-Fi芯片和藍(lán)牙芯片,為樹莓派接入無線網(wǎng)絡(luò),搭建物聯(lián)網(wǎng)提供方便;此外提供40腳GPIO和4個USB2.0接口及其他接口,使樹莓派可以方便的進(jìn)行功能擴(kuò)充。樹莓派官方默認(rèn)推薦的Linux操作系統(tǒng),軟件庫里的軟件包數(shù)量已經(jīng)超過35萬;目前,全球有約600萬個樹莓派在運(yùn)行。樹莓派的硬件和軟件優(yōu)勢,為下面介紹的新產(chǎn)品提供了強(qiáng)大的支撐。
目前,國內(nèi)生產(chǎn)的離心機(jī)大都采用PLC作為電控系統(tǒng)的核心控制元件,運(yùn)行數(shù)據(jù)如果需要遠(yuǎn)傳,必須借助各種各樣的網(wǎng)關(guān)產(chǎn)品(例如:臺達(dá)的DX2100,西肯麥的1149,華辰智通的M111N)才能連接到外部網(wǎng)絡(luò),是典型的物聯(lián)網(wǎng)三層體系結(jié)構(gòu)。
本文介紹的基于樹莓派的電控系統(tǒng),摒棄了傳統(tǒng)的PLC,數(shù)據(jù)直接連接到外部網(wǎng)絡(luò),樹莓派實(shí)質(zhì)上起著控制器和網(wǎng)關(guān)的雙重作用。
2系統(tǒng)架構(gòu)
圖2系統(tǒng)框圖
硬件配置:樹莓派3B+RS485/GPIO;變頻器:匯川MD380+MD38IO1;為污水處理裝置配套的10臺外圍設(shè)備的控制信號、運(yùn)行狀態(tài)反饋信號、13個傳感器信號全部接入變頻器的I/O口,圖1是樹莓派實(shí)物照片,圖2是系統(tǒng)圖。
軟件配置:操作系統(tǒng)Linux;編程軟件Python3.5;界面制作軟件PyQt5;通訊軟件Modbus_tk.
3研發(fā)過程
3.1代碼編制概述
樹莓派串口UART有3個功能:①藍(lán)牙通訊(默認(rèn))②控制終端調(diào)試口③與其他設(shè)備進(jìn)行串口通訊。但同一時間只能使用一種功能,應(yīng)用于本例,需要關(guān)閉藍(lán)牙通訊功能和控制臺功能。
①設(shè)置Modbus_tk通訊協(xié)議:modbus_rtu,9600,8N1;
②用命令logger.info(master.execute(1,cst.READ_HOLDING_REGISTERS,28672,12))
讀取變頻器起始地址為7000H的12個數(shù)據(jù)(此處是讀1#變頻器)存放在日志文件中;
③對日志文件進(jìn)行分割,所謂分割,就是保留一部分記錄,其余拋棄,本例每2秒保存一次,文件名為“pzw”。
④解析日志文件:下面是文件“pzw”中1#變頻器的部分日志內(nèi)容(2#~5#格式相同):
2018-05-2519:42:11,200-->1-3-112-0-0-12-95-15
2018-05-2519:42:11,306-<-1-3-24-0-0-14-16-16-232-0-0-0-0-0-0-0-0-0-0-0-0-1-252-1-240-0-134-87-101
2018-05-2519:42:11,395-(0,3600,4328,0,0,0,0,0,0,508,496,134)
第1行是樹莓派發(fā)送到變頻器的讀數(shù)據(jù)命令(讀數(shù)據(jù)幀),第2行是變頻器發(fā)送給樹莓派的數(shù)據(jù)(讀回應(yīng)幀),第3行是數(shù)據(jù)(該行沒有站號信息)。
分析前2行發(fā)現(xiàn):①每條記錄去掉頭部日期時間后,第1個字符就是變頻器的站號②含有變頻器參數(shù)值的記錄的字符數(shù)遠(yuǎn)大于其他記錄,根據(jù)這2個特點(diǎn),編制下述代碼,作用是:對日志文件進(jìn)行解析,最終得到代表變頻器12個參數(shù)值的5個字符串:b1~b5,對其進(jìn)一步處理就能得到具體的數(shù)據(jù)值。
withopen('pzw')asfile_object:
lines=file_object.readlines()#逐行讀文件,存到表lines中
n=len(lines)#獲取表的長度
foriinrange(n):
lines[i]=(lines[i])[27:]#截取表第27項(xiàng)到末尾,保存到表
iflen(lines[i])>63and(lines[i])[0]=='1':#判斷站號,判斷是否是數(shù)據(jù)
abc1=lines[i]#存放到表abc1中
a1=abc1[7:]#截取表abc1第7項(xiàng)到末尾,保存到表a1
b1=a1.split('-')#以‘-’為分隔符將字符串分割為新的表
u0_00_1=str(float(int(b1[0])*256+int(b1[1]))/100)#變頻器輸出頻率
self.l1_1.setText(u0_00_1+'Hz')#標(biāo)簽顯示
................
u0_11_1=str((int(b1[22])*256+int(b1[23]))/4)#pt100左軸承溫度
self.l7_1.setText(u0_11_1+'℃')
iflen(lines[i])>63and(lines[i])[0]=='2':
..................
⑤主程序結(jié)構(gòu)
“啟動”“停車”等控制信號是非周期命令,讀取變頻器參數(shù)并對它進(jìn)行處理是周期命令,為此,主程序采用主線程-子線程結(jié)構(gòu)模式。流程見圖3,2個計(jì)時器模塊QTimter定時0.5秒,從而構(gòu)成2秒左右一個循環(huán)的程序執(zhí)行過程。
圖3主流程圖
3.2操作界面設(shè)計(jì)
圖4樹莓派端操作界面
污水處理裝置可以在本地控制也可以遠(yuǎn)程桌面控制:本地操作界面如圖4;遠(yuǎn)程操作界面如圖5。win7系統(tǒng)遠(yuǎn)程訪問Liunx系統(tǒng)下面的樹莓派,需要安裝xrdp和vncserver,并設(shè)置靜態(tài)IP,然后進(jìn)入遠(yuǎn)程桌面連接,用戶名:pi,密碼:raspberry。
圖5遠(yuǎn)程電腦操作界面
3.3物聯(lián)網(wǎng)應(yīng)用開發(fā)
總體設(shè)計(jì)思路是:先把數(shù)據(jù)上傳到阿里云服務(wù)器(ECS服務(wù)),然后在云服務(wù)器使用PHP程序語言和MySQL數(shù)據(jù)庫來存儲數(shù)據(jù),最后作為客戶端,在寧波建立物聯(lián)網(wǎng)數(shù)據(jù)匯集中心。
把數(shù)據(jù)上傳到阿里云,樹莓派端要做(1)設(shè)置靜態(tài)IP地址(2)搭建PHP網(wǎng)站服務(wù)器(3)編制程序(多線程后臺運(yùn)行)。
租用云服務(wù)器實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)程,無論對用戶或廠家都有利:
①廠家可以隨時隨地監(jiān)視遠(yuǎn)處離心機(jī)實(shí)際運(yùn)行情況,對潛在故障及時作出預(yù)判,向用戶提供有益的建議;②歷史數(shù)據(jù)查看和歷史故障查看功能,對故障定位和原因判定非常有用,可以減少用戶停機(jī)時間,減少因停機(jī)給用戶帶來的各方面損失,有效避免雙方因?yàn)閷收显虻恼J(rèn)定產(chǎn)生異議而引起不必要的糾紛;③通過對大量數(shù)據(jù)的積累和分析,及時發(fā)現(xiàn)設(shè)計(jì)和制造缺陷,利于廠家進(jìn)一步提高產(chǎn)品質(zhì)量。
上述方案目前處于嘗試階段,有2個問題需要妥善處理:①有的用戶耽心重要工藝參數(shù)外泄,有一種被人“偷窺”的感覺,持不歡迎態(tài)度②阿里云提供的Web服務(wù)頁面服務(wù),顯示的數(shù)據(jù)表格不能直觀反映整個系統(tǒng)運(yùn)行狀況,工程師希望提供類似監(jiān)控畫面的界面。
4結(jié)論和展望
讀取一臺變頻器數(shù)據(jù)耗時200ms,5臺變頻器需要1s,因此數(shù)據(jù)更新速率最少1.5s,要控制更多變頻器,勢必降低數(shù)據(jù)更新速率,操作時顯得遲鈍,降低實(shí)用價值。為此,可以考慮2臺或幾臺樹莓派協(xié)同運(yùn)行,組成樹莓派集群,解決控制規(guī)模問題。
樹莓派借助modbus對變頻器和接在變頻器I/O口的外圍設(shè)備進(jìn)行通訊控制,如果該工程項(xiàng)目不包含變頻器,則樹莓派將發(fā)揮不了如此大的作用。這進(jìn)一步說明樹莓派應(yīng)用于離心機(jī)電控系統(tǒng)是十分經(jīng)濟(jì)和合理的,既解決了數(shù)據(jù)上網(wǎng)問題,又大大降低了產(chǎn)品成本。應(yīng)該指出,這種控制方案不僅僅適合于離心機(jī)電控,凡是有變頻器的工程項(xiàng)目都值得借鑒。
樹莓派在離心機(jī)行業(yè)的應(yīng)用前景,可用圖6來描述,來自全國乃至全球的離心機(jī)運(yùn)行數(shù)據(jù),通過云服務(wù)器,匯聚于寧波數(shù)據(jù)中心,工程師可以隨時隨地對設(shè)備進(jìn)行監(jiān)控,到那時運(yùn)籌帷幄決勝千里變成現(xiàn)實(shí)。
圖6離心機(jī)監(jiān)控中心
參考文獻(xiàn)
【1】張雙馳:基于Modbus樹莓派控制多臺變頻器的方法及應(yīng)用實(shí)例,控制與傳動,2018.4
【2】柯博文:樹莓派(RaspberryPi)實(shí)戰(zhàn)指南,清華大學(xué)出版社,2015.6
聲明:本文版權(quán)為中國傳動網(wǎng)所有,歡迎轉(zhuǎn)載但請務(wù)必注明來源、作者。
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。