高亞丹,徐世許,馮 平
(青島大學 自動化與電氣工程學院,青島 266071)
基于485通信的壓縮機注油檢測系統設計
高亞丹,徐世許,馮 平
(青島大學 自動化與電氣工程學院,青島 266071)
為了確保生產線上的所有壓縮機都能夠得到加工,設計了一個基于485串行通信的多臺壓縮機注油檢測系統。系統由上位機和下位機組成,能夠實現同一流水線上四臺PLC同時運行并將數據上傳,而且能夠應用于多條流水線。下位機包括PLC與觸摸屏。下位機通過獲取PLC內的注油數據從而獲取向壓縮機注入的油量,檢測注油加工過程是否合格。上位機經由RS232轉RS485端口完成485串行通訊與多臺PLC連接,讀取產品信息和加工狀態。它依據三菱通信協議(其中包括MC協議),使用VB6.0開發了上位機與PLC之間通信的程序,并實現注油量的檢測與數據傳輸,將海量數據存入SQL Server數據庫。該檢測系統已在實際生產中得到了成功應用。系統自動檢測對比,確保加工質量,避免了工人的重復勞作,提高了生產效率。
檢測系統;485通信;MC協議;SQL Server數據庫
壓縮機在很多方面都有著重大的作用,例如空調、冰箱等等。其中注油量的多少是有嚴格規定的,油量過多或者過少都會影響壓縮機自身的性能。國內很多企業還采用人工注油檢測的方式,這樣會造成很大的誤差而且效率很低,加上工業現場環境復雜,整個加工過程不斷重復,一直持續,因此需要設計出壓縮機注油檢測系統對加工過程進行檢測,確保注油檢測過程順利進行且節省人力物力。就實際的應用需求而言,還要能記錄每一個產品的詳細信息并存入數據庫,便于以后查詢追溯。
國外注油檢測系統較為成熟,但是進口比較昂貴。國內有人使用RS232通訊設計注油檢測系統,但RS232傳輸距離較短,傳輸速率低,受工業環境限制、穩定性差,相對而言RS485串行總線線路比較簡單、傳輸距離相對較遠而且組網比較靈活,穩定性高,因而被普遍應用于多種檢測及監管系統中。本設計采用PLC作為控制器,使用了三菱FX系列與Q系列PLC,其中Q系列PLC用了MC通訊協議。上位機采用VB編程,進行通信設置并采用SQL Server數據庫,可以存儲大量數據,解決數據丟失溢出的問題。
注油檢測系統由上位機、三菱PLC、觸摸屏以及注油槍構成,系統硬件結構如圖1所示。由于注油速度一定,通過控制注油時長便可得知注油量。PLC將注油量通過RS485串口傳給上位機,并在上位機中記錄數據,判斷是否合格。觸摸屏中選擇并顯示注油量、注入油的種類等信息,便于現場查看。上位機通過讀取PLC內的標志位0、1判斷注油是否完成,并記錄采集信息以便于存儲。

圖1 系統硬件結構圖
2.1 軟件設計流程圖
該檢測系統是在VB6.0環境下編程,簡單方便。軟件設計流程如圖2所示。

圖2 軟件設計流程圖
2.2 485串行通信協議
通過轉換器將RS-232串行口的TXD和RXD信號轉換成兩線平衡半雙工的RS-485信號,通訊方式如圖3所示。三菱Q系列PLC采用MC協議。MC協議就是外部設備通過Q系列C24或Q系列E71來進行PLC軟元件數據和程序的讀出或寫入的通信協議[1]。其數據編碼方式主要有兩種:采用ASCII代碼通訊數據和使用二進制代碼通訊數據。

圖3 通訊方式圖
2.2.1 Q系列通信格式
通過串行通信模塊與Q系列PLC通信的方法有四類,包括A兼容1C幀、QnA兼容2C幀、QnA兼容3C幀以及QnA兼容4C幀。注油檢測系統使用QnA兼容3C幀。3C幀主要用于外部設備訪問QnA CPU全部軟元件以及全部文件,使用ASCII與C24模塊進行通訊的協議,使用到的為3C中的基準格式:格式1。訪問PLC CPU時,通過GX Developer進行開關設置的“通訊協議設置”選擇形式NO.1的幀訪問。
讀取PLC內部數據時的通信格式如表1所示。

表1 讀取PLC內部數據時的通信格式
對應的外部設備讀取PLC數據正常時PLC的返回幀如表2所示。

表2 返回幀
3C幀格式中的內容:1)控制碼。即為在這一幀開頭以及結尾的特殊代碼。在使用的3C幀中ENQ表明發起請求,STX表明字符開始。2)幀識別號。指用于辨識收發的文件到底是QnA兼容3C幀還是4C幀的編號,其中3C格式下對應的編號為F9。3)站號。即為外部設備連接的C24的模塊中設置的能夠比較區分的地址,通過指定的站號與模塊進行通訊。4)網絡號。外部設備能夠經由此PLC訪問網絡上的其他PLC。5)PLC號。用于設定外部設備將要訪問的某個網絡上的其他PLC站號。6)上位站號。通訊過程使用ASCII通信,設置為字符串00。7)命令代碼,即輸入將要執行的命令。將命令變換為4位數ASCII代碼(十六進制數)后使用,從高位數起發送。8)字符區??捎糜诎l送數據的控制字或者返回數據的返回值。各字符部分的用途分別為:A部分字符,用于使PLC CPU執行用命令指定的讀出請求的數據。B部分字符,用于用命令指定的請求向對方設備返回的數據。C部分字符,用于使PLC CPU執行用命令指定的寫入請求的數據。選擇使用ASCII代碼進行數據通訊時,將字符部分變換成為ASCII代碼后再進行發送。9)和校驗碼。用于檢驗發送內容是否正確,其組成是發送幀中的校驗范圍內的各個字節相加從而得到的數值的低八位。有和校驗時,PLC CPU編寫和校驗代碼并附加在發送文件上,并且對接收文件中的和校驗代碼進行核對比較。
2.2.2 FX系列通信格式
FX系列的通信協議與Q系列略有不同,檢測系統使用的是三菱專用協議的格式一。格式一的控制順序如表3所示。返回幀的格式如表4所示。

表3 FX系列讀取PLC時的通信格式

表4 FX系列返回幀
報文等待:計算機發送信息到變為接收狀態的時間。若設為100ms,則對應的報文等待字符設為A。
2.2.3 Q系列命令碼

圖4 成批寫入命令示意圖
字單位的成批寫入命令為1401。向字軟元件存儲器寫入時,用ASCII代碼進行通訊,作從D450起至D451的2點份的寫入。成批寫入命令的示意圖如圖4所示。
字單位的成批讀出命令碼為0401。讀出字軟元件存儲器時,用ASCII代碼進行通訊,讀取從D450到D455的6點份的當前值。
2.2.4 FX系列命令碼
FX系列寫入與讀出的指令也與Q系列并不一樣。字單位的成批讀出指令為WR,而相應的字單位的成批寫入指令為WW。
2.3 檢測系統
2.3.1 數據檢測
If Val(Form1.Text2.Text) >= Val(Form1.Text3.Text) - Val(Form1.Text1.Text) or Val(Form1.Text2.Text) <= Val(Form1.Text3.Text) + Val(Form1.Text1.Text) Then
rss![合格] = "是"
其中,Text1為允許的誤差,注油允許的誤差為10ml。Text3為設定值,Text2為實際值。如果實際值在誤差允許范圍之內,那么該壓縮機合格,并在數據庫中“合格”這一欄顯示“是”。如果不合格,顯示“否”。
2.3.2 SQL Server數據庫
數據庫作為常用的工具,經常會使用到。常用的為ACCESS數據庫,功能能夠滿足日常需求。但注油檢測系統由于持續不斷地在進行,數據量龐大,ACCESS數據庫已經不能滿足使用需求,所以使用SQL Server數據庫。SQL Server具有高可用性、更高的安全性以及可伸縮性。通過VB進行連接使用,而使用VB訪問該數據庫,可供選擇的編程接口主要有3種,分別為:ADO、DAO、RDO。ADO即為ActiveX Data Object,是微軟公司數據庫應用程序開 發的新接口,是在OLE DB的基礎之上進行的[2]。
檢測系統使用ADO控件連接數據庫,除了放置“Adodc”控件之外,還需要設置Connection對象,連接數據來源,對應好相應的數據庫。即設置ConnectionString確定數據庫,生成連接字符串,設置Recordset記錄集,即設置RecordSource屬性,以此來確定具體能夠訪問的數據。放置Data Grid控件,使得數據庫中的信息能夠直觀的顯示。并將Data Grid控件的DataSource 設置為相應的Adodc,即DataSource=Adodc1使其能夠連接到對應的數據庫。
壓縮機注油檢測系統基于485協議實現PLC與上位機之間的通信,實現對注油系統的加工檢測以及數據保存備份等,經過多次調試,確保能夠實現工廠流水線的需求。重點介紹三菱Q系列PLC的MC通協議,并使用SQL Server數據庫對采集到的信息進行存儲備份和顯示。在使用FX系列PLC的基礎上,顯示出利用三菱MC協議實現多臺PLC通訊的可行性、實用性,能夠用于多條流水線的加工作業,節省了人力物力,而且確保的工作的精確度和效率,同時可應用于其他類似流水線的推廣。
[1] 王輝.三菱電機通信網絡應用指南[M].北京:機械工業出版社,2006:256-260.
[2] 劉鈞,馬旭東,施健.VB訪問SQL Server的幾種編程接口及其應用[J].微型電腦應用,2001,17(6):51-53.
[3] 徐世許.可編程序控制器原理·應用·網絡[M].合肥:中國科學技術大學出版社,2008:284-292.
[4] 祁新安,侯清江.SQL Server數據庫的運用研究[J].制造業自動化,2010,32(12):30-32.
[5] 周巍,張仁杰.基于MC協議的工控機與PLC通信方法研究[J].數據通信,2015,(1):30-35.
[6] 吳光強,徐世許,張德芹.配料監管系統設計[J].工業控制計算機,2014,27(7):58-59.
Design of compressor oil detection system based on 485 communication
GAO Ya-dan, XU Shi-xu, FENG Ping
TP277
:A
1009-0134(2017)01-0024-03
2016-09-14
高亞丹(1992 -),女,河南南陽人,碩士研究生,研究方向為計算機控制技術。