武振慧
摘要:PLC和單片機是目前最為常用的兩種控制器件。本文介紹了一種基于PLC和單片機實現的數據采集控制系統設計。
關鍵詞:PLC;單片機;數據采集;控制系統
在工業(yè)控制過程中,需要對被控制對象的實時數據進行采集,并且根據采集數據的實際情況,對其進行實時的監(jiān)控及遠程的控制,以完成相應的控制任務。
在現代工業(yè)控制中,對控制的準確性判斷及控制的實時性和穩(wěn)定性需求都很高,所以要有一種可進行數據采集的控制系統,而且這種系統要能實現多通道高精度以及大容量的要求。因此,對單片機與PLC的數據采集控制系統設計進行研究具有非常重要的現實意義。
一、單片機概述
單片機(Microcontrollers)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統集成到一個芯片上。相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。同時,它也是一種集成電路芯片,是采用超大規(guī)模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統,在工業(yè)控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發(fā)展到目前的300M的高速單片機。
二、單片機的軟件設計
單片機系統的軟件設計包括了單片機對A/D的采樣控制和PLC的串行通訊。由于單片機與PLC通信要求使用相同的波特率,且傳輸的數位相同,所以在單片機串口的初始化設置中將波特率的定時器1、串口的控制和中斷控制按如下步驟進行:①確定定時器1的工作方式:TMOD=0x20;②確定定時器1的初值裝載:TH1=0xfD;TL1=0xfD;③啟動定時器1:TR1=1;④確定串口的控制:SCON=0x52;⑤計算波特率:波特率的設置應與PLC的通信協議一致,選擇的晶振為11.0592M,波特率=2SMOD/32×定時器1的溢出率(式中SMOD為PCON寄存器的最高位),溢出率=11.0592×106×(213-TL1+3+1+2+2+1)/12),PCON=0x00;得串口波特率為9600 b/s。
單片機設定了工作在串口方式1,它的幀格式為1個起始位,8個數據位,1個停止位;而PLC要求的是1個起始位,7個數據位,1個偶校驗位,1個停止位。所以單片機發(fā)送數據時要把數據的最高位設置成偶校驗位,這樣才能順利通訊。
三、PLC與LabVIEW的串行通信
由于FX系列PLC只有RS422和RS485的串行通信接口,所以與PC機進行串口通信時要接一個RS232與RS422(或RS485)的轉換電纜,完成通信的硬件連接。
1、PLC與上位機LabVIEW的通信設計。用PC機的RS-232接口與PLC通信,需要對PLC一些參數進行配置。采用FX系列PLC的默認設置為:啟動位:1位;數據長度:7位;停止位:2位;奇偶校驗:偶校驗;波特率:9600 b/s。
通信格式設置完后,PC機開始向PLC傳送數據。①通信開始先由PC機向PLC發(fā)出呼叫,由于是一對一的呼叫,無需地址碼;②PLC接受到呼叫信號后,以相應的字符發(fā)送應答信號;③PC機收到正確的應答信號后,將數據傳送給PLC;④PLC接收到數據后,以相應的字符發(fā)送結束信號;⑤PC機收到結束信號后停止傳送數據,通信結束。
在LabVIEW的程序中可采用下列步驟實現與PLC之間的通訊:①初始化串口,設置雙方通訊的端口號、波特率、數據位、停止位、奇偶校驗等,與PLC的設置相同;②把要發(fā)送的數據按PLC命令幀的格式打包;③寫端口,把整個命令幀發(fā)送到串口;④延時等待PLC的應答幀到達串口;⑤讀串口,讀取PLC的應答幀;⑥把讀取的應答幀解包,讀取相應的數據。
其中@表示一幀的開始,上位機按“節(jié)點號”來識別PLC;識別碼是兩個字符的上位機命令代碼,它表示上位機要對PLC進行何種操作;正文包括起始字和字數,起始字是指要讀寫通道的起始地址,字數是指要讀寫的通道個數;FCS碼(兩個字符)用于校驗,由上位機計算并設置在命令幀里,安排在終止符前,以檢查在傳送數據時是否發(fā)生錯誤。FCS碼的具體算法是:從一幀數據的開始到幀正文結束(FCS之前)所有數據字符ASCII碼執(zhí)行“異或”操作的結果,此結果是一個8位二進制數,然后分別把其高4位和低4位轉換成兩個16進制數表示的ASCII碼;終止符是“*”。
同理,PLC在接收命令幀后要返回相應的應答幀,其格式就是在識別碼的后面加一個結束碼,結束碼表示返回給PLC的錯誤代碼,若正確為00H,其他為不同的錯誤代碼。
2、上位機LabVIEW的監(jiān)控界面設計。本系統要求用上位機來完成現場采集數據的顯示,并能通過PLC對現場設備進行控制,所以需設計顯示采集數據的顯示窗口和發(fā)布控制命令的命令窗口。
3、基于B/S模式的LabVIEW遠程控制功能。LabVIEW中的遠程面板(Remote Front Panel)采用了B/S模式,把一個VI的前面板直接嵌入到Web網頁中,使Internet上的客戶端能看到一個動態(tài)刷新的實時畫面,而且客戶端獲得授權后還能對前面板進行遠程控制。同時,由于LabVIEW中內嵌了Web服務器的功能,所以不必再開發(fā)Web服務應用程序,只需通過簡單的設置就能將原來單機版的測控系統升級為基于Web的遠程測控系統。
遠程面板技術實現首先需設置Web服務器:激活Web Server服務,設置發(fā)布文件所在根目錄(RootDi rec tory),指定記錄Web登錄信息的文件(LogFile);設置瀏覽訪問控制列表(browser acces s list),客戶端用戶具有監(jiān)控、監(jiān)視、及拒絕訪問三種訪問權限,能有效控制不同重要程度的訪問客戶端;設置VI可見性(Visible),將需要遠程控制的VI的名字添加到列表框中,以便遠程客戶端進行訪問;創(chuàng)建HTML文件,修改HTML文件中的參數??衫肔abVIEW的Web Publ ish工具進行創(chuàng)建。然后設置訪問客戶端:安裝LabVIEW運行引擎(LabVIEWRunTime Engine);打開瀏覽器,輸入對應的URL。
四、結語
綜上所述,運用數據采集系統可獲得大量的動態(tài)信息,是獲取科學數據和生成知識的重要手段之一。另外,在工業(yè)控制領域里,數據采集與控制系統密不可分,而單片機與PLC分別是這兩個部分的核心。但兩者各有其特點,因而在實際的應用中希望把兩者結合在一起,進而實現更加優(yōu)化的設計。
參考文獻:
[1]趙子愷.可編程控制器與LabVIEW的通訊實現[J].微計算機信息,2014(03).
[2]李鐵.基于單片機的數據采集系統設計[J].信息技術,2015(04).
[3]邴春秋.基于PLC和單片機實現的數據采集控制系統設計[J].西華大學學報(自然科學版),2014(06).
(作者單位:中車唐山機車車輛有限公司)