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

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊
- 運動控制
- 伺服系統
- 機器視覺
- 機械傳動
- 編碼器
- 直驅系統
- 工業電源
- 電力電子
- 工業互聯
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯接
- 工業機器人
- 低壓電器
- 機柜