張亦農(nóng)
(天津鐵道職業(yè)技術學院,天津 300240)
隨著建筑業(yè)的發(fā)展和科技的進步,電梯作為多層建筑內(nèi)對乘客、貨品進行上下運輸?shù)奶胤N機電設備,不僅在結構和功能上要逐漸切合多種實際需求,在控制系統(tǒng)的可移植性、靈敏性、安全性方面也要不斷提出新要求。據(jù)統(tǒng)計,截止2014 年,僅全國各大車站就裝配有電梯設備近6 萬部,分布在900 余個站場。我國現(xiàn)有整機生產(chǎn)企業(yè)近500 家,正逐漸實現(xiàn)智能化、信息化和網(wǎng)絡化[1]。
目前電梯的控制系統(tǒng)大多采用繼電器及可編程控制器,針對PLC 控制存在的成本高且需三相供電等缺點,本文給出基于單片機的電梯模型控制系統(tǒng)的設計概念,旨在利用單片機設計電梯控制系統(tǒng)的核心部分。單片機系統(tǒng)具有結構簡單,使用方便,易于實現(xiàn)模塊化等特點,具有較高可靠性,處理功能強,速度快。
電梯的控制系統(tǒng)由單片機控制電梯的顯示、調(diào)速、選項等,硬件構成圖如圖1 所示[2]。電梯選層呼梯系統(tǒng)主要收集電梯內(nèi)、外呼按鍵信號控制電梯走向和平層,除兩個終端站具有單向運行指令按鈕外,每一中間層站均具有兩個運行方向指令按鈕。對各單元模塊的設計可分為電機正反轉控制電路、鍵盤矩陣電路、顯示電路、目的樓層顯示電路、警報電路等五部分設計。
圖1 單片機控制系統(tǒng)原理結構圖
本系統(tǒng)采用Microchip 技術公司的PIC 系列單片機PIC16F877 作為主控制器,并輔以相關外圍電路。PIC 系列單片機具有尋址方式簡單、代碼壓縮率高、運行速度高、功耗低、驅動能力強等特點[3],內(nèi)部集成一系列具有獨特功能的專用電路,應用于電梯這種特種機電設備,具有較高的可靠性。微控制器PIC16F877 是一款具有最低功耗、采用全新流水線結構、嵌入閃存的10 位、7 通道A/D 轉換器,具有8 位CMOS 以及高性能RISC CPU,其I/O 端口具有較強的驅動負載能力。系統(tǒng)功能結構圖如圖2 所示。
圖2 PIC16F877 單片機系統(tǒng)結構圖
根據(jù)單片機的工作條件和要求可知,其振蕩電路與電梯控制系統(tǒng)工作速度有直接的關系,PIC16F877 單片機振蕩頻率最高可達20 MHz,滿足電梯運行控制的要求,電路圖如圖3 所示。
圖3 PIC16F877 振蕩頻率電路圖
作為一款低功耗單片機,PIC16F877 的工作電壓為5V,Pin12 與Pin31 為地線接腳,Pin11 與Pin32 連接,Pin1 連接重置電路,按Reset 后,內(nèi)部指令從頭開始執(zhí)行。其接口電路如圖4 所示。
圖4 復位電路圖
在系統(tǒng)下位機軟件Keil C51 的開發(fā)環(huán)境下,基于單片機電梯控制系統(tǒng)的核心部分,采用結構化編程,利用C 語言進行模塊化設計程序開發(fā),簡化編制過程,對系統(tǒng)的微調(diào)可通過對相應模塊進行修改提高程序的可移植性。電梯控制軟件系統(tǒng)劃分為端口定義及系統(tǒng)初始化、硬件驅動、模數(shù)轉換、轎廂運行程序編制和按鍵程序用戶自定義命令解析、系統(tǒng)監(jiān)控等在內(nèi)的多個模塊。
系統(tǒng)初始化模塊對內(nèi)部資源的初始化包括時鐘頻率的顯示和設定、I2C 總線設定等,對外部資源的初始化包括步進電機驅動器模塊配置、點陣式液晶顯示模塊配置等;硬件驅動模塊依據(jù)廠商范例編寫驅動程序,包含有電梯內(nèi)外控制模塊、電機邏輯運行模塊及中央運算模塊等;系統(tǒng)監(jiān)控模塊屬于系統(tǒng)資源管理模塊,包括看門狗復位,定時器復位,模擬電梯系統(tǒng)運行狀態(tài)的更新等[4]。
如下程序段是結合電梯內(nèi)外呼梯電路所編制的加入抗干擾和按鍵去抖動處理的按鍵程序,不同按鍵判斷執(zhí)行不同的功能(WORK0、WORK1、WORK2),將采集的按鍵信息實時存儲,便于系統(tǒng)程序的讀取。
采用VS2010 作為系統(tǒng)調(diào)試軟件開發(fā)工具,為進一步簡化編程過程、提高編程效率,采用MFC(Microsoft Foundation Classes)庫,利用C++語言進行面向對象設計(Object-Oriented Design)編程,將模型的分析與設計分開建立,根據(jù)功能劃分各模塊層次。MFC 庫以C++類的形式封裝Windows API,包含大量Windows 句柄封裝類和Windows 的內(nèi)建控件和組件的封裝類,可以通過面向對象的方式調(diào)用Windows API,其中還包含一個應用程序框架,大大減少了工作量[5]。
調(diào)試軟件是采用單片機的串口通信方式進行信息交互,實現(xiàn)其與下位機軟件的通信,完成命令發(fā)送、故障診斷、信息返回等功能。軟件利用系統(tǒng)提供的API 函數(shù)實現(xiàn)對串口的操作,如串口的打開、關閉以及讀寫串口等。
Win32 中用于打開串口的API 函數(shù)為CreateFile,其原型為:
本軟件以同步讀寫的方式打開串口,代碼如下:
利用API 函數(shù)實現(xiàn)串口通信時關閉串口只需使用CreateFile
函數(shù)返回的句柄作為參數(shù)調(diào)用CloseHandle:
讀串口所用函數(shù)原型如下:
寫串口所用函數(shù)原型如下:
上位機的軟件運行界面如圖5 所示。
圖5 上位機軟件運行界面圖
軟件中的編輯窗口用來接收用戶命令,點擊“Send”按鈕后將通過串口發(fā)送到下位機中。同時軟件中的列表窗口將顯示軟件通過串口讀取的下位機反饋數(shù)據(jù)。以便用戶判斷用戶命令的執(zhí)行情況。“Test”按鈕主要用來完成系統(tǒng)的測試及故障診斷工作。值得注意的是,用戶發(fā)送命令時,一定要嚴格按照命令協(xié)議中的規(guī)范進行書寫,否則下位機將不能有效識別命令,可能造成意想不到的操作。
本文采用微控制器PIC16F877 作為主控制器,選用Keil C51 作為下位機軟件開發(fā)環(huán)境,利用結構化編程進行模塊化設計。本系統(tǒng)設計將電梯控制系統(tǒng)劃分為端口定義及系統(tǒng)初始化、硬件驅動、模數(shù)轉換、轎廂運行程序編制和按鍵程序用戶自定義命令解析、系統(tǒng)監(jiān)控等在內(nèi)的多個模塊。系統(tǒng)調(diào)試軟件采用VS2010 為開發(fā)工具,運用MFC 庫進行編程,與下位機軟件進行通信,采用串口通信的方式進行信息交互,實現(xiàn)串口操作,實現(xiàn)電梯的部分功能,如內(nèi)外呼梯的按鍵功能,進一步驗證了電梯控制程序的可編性。
[1]陳家盛.電梯結構原理及安裝維修[M].北京:機械工業(yè)出版社,2012.
[2]鞏玉濱,陳繼文,于復生,等.基于單片機的電梯控制仿真系統(tǒng)[J].計算機系統(tǒng)應用,2011,20(11):114-117.
[3]吳正民.PIC 單片機特點及應用時的注意事項[J].實驗室研究與探索,2003,2(6):79-82.
[4]郭雷崗.基于單片機的模擬電梯控制系統(tǒng)[J].福建電腦,2012,28(9):101-102.
[5]何春晗,夏明飛.運載火箭主動段綜合引導機制研究與實現(xiàn)[J].計算機應用與軟件,2014,31(10):82-85.