周洪強,陳 超,盧學(xué)偉
(麗水學(xué)院工學(xué)院,浙江麗水323000)
精益生產(chǎn)看板系統(tǒng)用SPI/CAN雙向數(shù)傳模塊的設(shè)計
周洪強,陳 超,盧學(xué)偉
(麗水學(xué)院工學(xué)院,浙江麗水323000)
針對現(xiàn)有采用RS485雙向數(shù)傳組網(wǎng)的精益生產(chǎn)看板系統(tǒng)通訊不穩(wěn)定、實時性差等不足,基于STC51單片機設(shè)計了一種SPI/CAN雙向數(shù)據(jù)傳輸模塊。根據(jù)工業(yè)現(xiàn)場的應(yīng)用特點,對硬件電路與軟件流程設(shè)計進(jìn)行詳細(xì)敘述,對數(shù)據(jù)傳輸?shù)慕涌谕该髋c抗干擾等方面進(jìn)行處理,通過SPI與CAN的數(shù)據(jù)轉(zhuǎn)換,實現(xiàn)了精益生產(chǎn)的現(xiàn)場數(shù)據(jù)與服務(wù)器端數(shù)據(jù)的雙向傳輸,完成了基于CAN接口的看板系統(tǒng)的透明化組網(wǎng)。最后通過通信測試和現(xiàn)場的實際使用驗證了本設(shè)計的實效性。
看板系統(tǒng);雙向數(shù)傳;SPI接口;CAN總線
起源于日本豐田公司的精益生產(chǎn)管理是當(dāng)今世界先進(jìn)的管理方法[1],在全球范圍內(nèi)被越來越多的企業(yè)采用。其中準(zhǔn)時生產(chǎn)是精益生產(chǎn)的三大理論支柱之一,而要實現(xiàn)準(zhǔn)時生產(chǎn),需要一個與之配套的信息手段,通常采用看板管理系統(tǒng)實現(xiàn),采用看板管理系統(tǒng)的生產(chǎn)線實現(xiàn)了生產(chǎn)任務(wù)、調(diào)度的一體化。
國內(nèi)早期的看板管理系統(tǒng)主要采用大尺寸LED顯示作為生產(chǎn)線看板,每條生產(chǎn)線配置一個塊看板,再經(jīng)過RS485聯(lián)網(wǎng)的方式與服務(wù)器相聯(lián),進(jìn)行生產(chǎn)任務(wù)的調(diào)度與信息化管理[2-3]。但在實際使用過程中,由于工作環(huán)境復(fù)雜導(dǎo)致出現(xiàn)通訊不穩(wěn)定,同時隨著工廠生產(chǎn)規(guī)模、生產(chǎn)線數(shù)量的擴(kuò)大,對實時數(shù)據(jù)量的采集也有了更高要求,這種看板管理系統(tǒng)的聯(lián)網(wǎng)方式已經(jīng)難以滿足用戶的需求。
控制器局部網(wǎng)CAN(Controller Area Network,簡稱CAN)總線是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò),在惡劣的環(huán)境中仍具有極高的可靠性和魯棒性,同時還具有安全可靠性高、實時性好、傳輸距離遠(yuǎn)等特點,其已在工業(yè)控制系統(tǒng)等方面得到了廣泛的應(yīng)用[4-5]。隨著CAN模塊集成度的提高和成本降低,采用CAN組網(wǎng)通信替換看板管理系統(tǒng)的RS485組網(wǎng)通信,可提高看板管理系統(tǒng)的可靠性和實時性。
本文從精益生產(chǎn)現(xiàn)場管理系統(tǒng)的現(xiàn)場組網(wǎng)需求出發(fā),對某廠車間原有采用RS485雙向數(shù)傳組網(wǎng)的精益生產(chǎn)看板系統(tǒng)進(jìn)行改進(jìn)替換,設(shè)計了一款基于微控制器的雙向數(shù)傳模塊,實現(xiàn)了SPI(Serial Peripheral Interface,簡稱 SPI)接口與 CAN現(xiàn)場總線的雙向數(shù)據(jù)傳輸,在硬件設(shè)計與軟件控制上完成了CAN組網(wǎng)的透明化,最后對本設(shè)計進(jìn)行了通信測試和現(xiàn)場使用驗證。
某工廠車間的原精益生產(chǎn)系統(tǒng)主要由服務(wù)器端和生產(chǎn)線上的LED看板組成。服務(wù)器端進(jìn)行報表處理與生產(chǎn)任務(wù)的下達(dá),LED看板主要進(jìn)行實時信息顯示,系統(tǒng)框架如圖1所示。
圖1 精益生產(chǎn)LED看板系統(tǒng)框圖
該LED看板系統(tǒng)中,計算機主控芯片將生產(chǎn)線上的各種信號,如光電開關(guān)信號(可用于產(chǎn)量計數(shù))、腳踏開關(guān)信號、繼電器信號(用于緊急故障等)等進(jìn)行采集,在LED顯示屏上進(jìn)行顯示,同時通過RS485通訊模塊與上位的系統(tǒng)服務(wù)器進(jìn)行雙向通信傳輸,上傳實時的生產(chǎn)數(shù)據(jù)、接收新的生產(chǎn)定單與任務(wù)顯示。由于工業(yè)現(xiàn)場的環(huán)境干擾和生產(chǎn)過程中對各種信息的實時性要求,采用RS485現(xiàn)場組網(wǎng)的方式在實踐過程中易出現(xiàn)數(shù)據(jù)傳輸失敗、誤碼率高等故障,影響生產(chǎn)系統(tǒng)的正常運行。
為了提高系統(tǒng)可靠性并滿足實時性要求,將RS485換成通訊速率更高,抗干擾能力更強的CAN總線進(jìn)行現(xiàn)場組網(wǎng)與數(shù)據(jù)的通信。通過SPI與CAN的透明數(shù)據(jù)轉(zhuǎn)換,實現(xiàn)精益生產(chǎn)的現(xiàn)場數(shù)據(jù)與服務(wù)器端數(shù)據(jù)的雙向傳輸。該雙向數(shù)轉(zhuǎn)模塊主要分為兩大部分:第一部分為SPI信號轉(zhuǎn)換為CAN通訊信號;第二部分為CAN通訊信號轉(zhuǎn)換為SPI接口信號。
SPI/CAN雙向數(shù)傳模塊系統(tǒng)框圖如圖2所示,數(shù)據(jù)流有兩個流向:
(1)SPI接口信號轉(zhuǎn)換成CAN通訊信號:控制器接收SPI接口數(shù)據(jù),并且判斷出轉(zhuǎn)換CAN信號的模式以及地址,然后通過CAN控制器轉(zhuǎn)換,轉(zhuǎn)換成相應(yīng)的CAN通訊信號。
(2)CAN通訊信號轉(zhuǎn)換為SPI接口信號:CAN數(shù)據(jù)首先通過CAN物理轉(zhuǎn)換電路,然后傳送到控制器,控制器讀取相應(yīng)的數(shù)據(jù)位,最后將CAN通訊信號轉(zhuǎn)換成SPI接口信號,中間的數(shù)據(jù)交換主要使用數(shù)據(jù)緩沖區(qū)進(jìn)行。
圖2 數(shù)傳模塊系統(tǒng)框圖
2.1 SPI通信接口的設(shè)計
采用STC公司的12C5608AD芯片作為主控制器,STC12C5608AD是一個1T速率的單片機,其運行速度是12T單片機的4~12倍,并且內(nèi)部集成了SPI接口、8K片內(nèi)系統(tǒng)存儲器、768字節(jié)片內(nèi)RAM。在晶振小于20M時,無需采用外部復(fù)位電路,這不但可以節(jié)約硬件成本,而且可以簡化其PCB布局。768字節(jié)的片內(nèi)RAM使得大批量數(shù)據(jù)轉(zhuǎn)換時更加輕松,軟件更容易操作。
圖3所示為12C5608AD芯片的SPI通信接口電路,實現(xiàn)了模塊與外部CMOS信號的SPI通信鏈路的建立。
圖3 SPI通信接口電路
2.2 CAN通訊控制模塊的設(shè)計
2.2.1 CAN獨立控制器設(shè)計
采用SJA1000芯片實現(xiàn)CAN的協(xié)議解析,這是一款獨立的CAN控制器,主要由接口管理邏輯器(IML)、發(fā)送緩沖器(TXB)、接收緩沖器(RXB)、驗收濾波器(ACF)、位流處理器(BSP)、位時序邏輯(BTL)、錯誤管理邏輯器(EML)七大部分組成。該芯片提供了MCU的命令接口,可根據(jù)MCU命令進(jìn)行CAN網(wǎng)絡(luò)協(xié)議的解析并提供了錯誤檢測與標(biāo)識功能[6-8]。
圖4所示為SJA1000控制端口連接圖,AD0-AD7是SJA1000的地址、數(shù)據(jù)復(fù)用端口,AD0-AD7端口與主控制器的P2端口相連接,以實現(xiàn)對SJA1000 CAN控制器的地址內(nèi)數(shù)據(jù)讀與寫操作;RD、WR、ALE 端口分別與 STC12C5608AD中的P1.1、P1.2、P3.5相連接,以實現(xiàn)地址、數(shù)據(jù)讀寫的時序控制;RX0與CAN通訊物理傳輸芯片ADM3053中的RXD相連接,以實現(xiàn)CAN控制芯片的CAN數(shù)據(jù)接收功能;TX0與CAN通訊物理傳輸芯片ADM3053中的TXD相連接,以實現(xiàn)CAN控制芯片的CAN數(shù)據(jù)發(fā)送功能。
圖4 SJA1000控制端口連接圖
2.2.2 CAN物理通訊電路設(shè)計
為了簡化CAN物理驅(qū)動電路設(shè)計并提高系統(tǒng)的抗干擾能力,選用ADM3053芯片進(jìn)行CAN信號的物理隔離設(shè)計。ADM3053是一款隔離式CAN物理層收發(fā)器,集成了隔離DC/DC轉(zhuǎn)換器,完全符合ISO11898標(biāo)準(zhǔn)。該器件將ADI公司的雙通道隔離器、收發(fā)器與ADI公司的DC-DC轉(zhuǎn)換器完美結(jié)合,為CAN通訊提供了一個完全隔離的解決方案。ADM3053芯片同時具有限流和熱關(guān)斷特性,可防止輸出短路,對于硬件電路的保護(hù)起到了相當(dāng)大的作用。
圖5為ADM3053的外圍電路圖,RXD信號端口與SJA1000中的RX0信號端口相連接,以實現(xiàn)CAN通訊數(shù)據(jù)的接收功能,TXD信號端口與SJA1000中的TXD信號端口相連接,以實現(xiàn)CAN通訊數(shù)據(jù)的發(fā)送功能,CANL以及CANH端口為CAN數(shù)據(jù)通訊的信號端口。
圖5ADM3053外圍電路圖
2.2.3 斷電保護(hù)電路設(shè)計
工業(yè)生產(chǎn)現(xiàn)場應(yīng)用環(huán)境復(fù)雜,經(jīng)常會碰到不同原因的非正常斷電,為了保證雙向數(shù)傳模塊在各種非正常斷電情況下的信息保存,設(shè)計了圖6所示的斷電保存電路。圖6中,+5V端接模塊供電電源,VCC端接CPU電源端,INT0接CPU的中斷管腳。正常工作時,由+5V端經(jīng)二極管D1為VCC供電,同時對電池BT1充電,Q1不導(dǎo)通;當(dāng)外接電源斷電時,VCC由BT1供電,Q1導(dǎo)通,INT0產(chǎn)生一個下降沿中斷信號給CPU,CPU進(jìn)入中斷服務(wù)程序進(jìn)行斷電保護(hù)處理。
圖6 斷電保護(hù)電路
圖7所示為SPI/CAN雙向數(shù)傳模塊實物圖,由 SPI接口、SJA1000、ADM3053、微控制器、CAN接口等組成,精益生產(chǎn)系統(tǒng)LED看板控制通過SPI接口與模塊相連,模塊系統(tǒng)完成SPI通信信號與CAN聯(lián)網(wǎng)信號的識別和雙向透明傳輸。
圖7 數(shù)傳模塊實物圖
SPI/CAN雙向數(shù)傳模塊采用協(xié)議解析、拆包、重組的方式,實現(xiàn)了通信數(shù)據(jù)的雙向傳輸與模塊地址的在線識別更新。本模塊控制軟件系統(tǒng)主要包括SJA1000讀寫子程序、CAN通訊模塊初始化子程序、CAN數(shù)據(jù)接收子程序、CAN數(shù)據(jù)發(fā)送子程序和SPI通訊子程序。
圖8所示為系統(tǒng)的總流程框圖,系統(tǒng)上電初始化過程中將完成模塊地址、數(shù)據(jù)的恢復(fù)等操作,然后一直進(jìn)行CAN數(shù)據(jù)與SPI數(shù)據(jù)的通信偵測,當(dāng)判斷有合格的CAN數(shù)據(jù)通信輸入時,進(jìn)行拆包,分解成有效數(shù)據(jù)后送SPI進(jìn)行傳輸。當(dāng)檢測到有SPI端數(shù)據(jù)通信輸入時,進(jìn)行數(shù)據(jù)組包,并添加當(dāng)前模塊地址,送SJA1000進(jìn)行CAN數(shù)據(jù)的傳輸。
圖8 系統(tǒng)軟件流程圖
3.1 CAN通訊程序設(shè)計
圖9所示為當(dāng)SJA1000接到CAN數(shù)據(jù),產(chǎn)生一個中斷信號后給MCU,MCU的后續(xù)中斷接收處理流程。
為了更好地控制CAN數(shù)據(jù)接收,減少誤碼率的產(chǎn)生,本系統(tǒng)采用中斷的方式進(jìn)行處理。將STC12C5608AD中的外部中斷1端口與SJA1000芯片的INT端口相連接,當(dāng)CAN控制器從外部接收到CAN數(shù)據(jù)信號時,即刻產(chǎn)生中斷,通知單片機做出處理。當(dāng)單片機接收到中斷后,單片機首先會發(fā)出指令,判斷SJA1000中IR寄存器當(dāng)前的狀態(tài)。當(dāng)檢測到IR寄存器的第零位置位后,單片機STC12C5608AD開始讀取SJA1000中數(shù)據(jù)和接收寄存器中的數(shù)據(jù),并將其存入緩沖區(qū)。
圖9CAN中斷接收程序
3.2 SPI通訊程序設(shè)計
圖10所示為控制器的SPI模塊接收到LED看板面發(fā)送數(shù)據(jù),產(chǎn)生SPI中斷后的處理流程。要求將SPI數(shù)據(jù)送入接收緩沖區(qū),且具有超時判斷功能,超過設(shè)定接收數(shù)據(jù)設(shè)定時間后,立刻將緩沖區(qū)內(nèi)的數(shù)據(jù)發(fā)出。
圖10 SPI中斷接收程序
需要注意的是,在實際使用過程中,SPI端的通信速率與CAN端的速率是不一致的。為了解決通信過程中由于速率不同步帶來的數(shù)據(jù)丟失,在微控制器內(nèi)部開辟了500 Byte的緩沖區(qū)進(jìn)行通信數(shù)據(jù)暫存。
圖11為某廠采用SPI/CAN雙向數(shù)傳模塊后的精益生產(chǎn)的現(xiàn)場看板圖,面板通過LED顯示各種生產(chǎn)過程數(shù)據(jù),如計劃產(chǎn)量、節(jié)拍時間、呼叫信息等。
圖11 精益生產(chǎn)LED看板圖
圖12所示為本數(shù)據(jù)雙傳模塊的現(xiàn)場軟件測試圖,測試數(shù)據(jù)中CAN速率采用50 KBps,SPI速率采用9 600 Bps,由圖12可知,SPI/CAN雙向數(shù)傳模塊可靠地完成了數(shù)據(jù)的雙向傳輸。
圖12 SPI/CAN雙向傳輸測試圖
使用CAN總線組網(wǎng),提高了可靠性與通訊速率,使服務(wù)器端與生產(chǎn)線LED看板之間的通信更加流暢,生產(chǎn)任務(wù)下達(dá)時間提高到了6 s,60個工位數(shù)據(jù)巡檢時間也由10 s提高到了3 s。這表明通過數(shù)傳模塊對原通信組網(wǎng)方式的改造,有效改善了精益生產(chǎn)系統(tǒng)整體性能,使企業(yè)更好地對生產(chǎn)進(jìn)行調(diào)度,提高生產(chǎn)效率提供了保障。
本文針對采用RS485組網(wǎng)的精益生產(chǎn)看板系統(tǒng)通訊不穩(wěn)定、實時性差等不足,基于STC12C5608AD單片機研制了SPI/CAN雙向數(shù)據(jù)通信模塊,詳細(xì)敘述了硬件電路設(shè)計和軟件程序流程設(shè)計,基于ADM3053芯片的CAN物理隔離通訊電路的設(shè)計,簡化了CAN物理驅(qū)動電路設(shè)計并提高了系統(tǒng)的抗干擾能力。斷電數(shù)據(jù)保護(hù)電路的設(shè)計,保證雙向數(shù)傳模塊在各種非正常斷電情況下的信息保存。同時為了解決通信過程中由于SPI和CAN端口的速率不同步帶來的數(shù)據(jù)丟失,在微控制器內(nèi)部開辟了通信數(shù)據(jù)緩沖區(qū)。
本文的SPI/CAN雙向數(shù)據(jù)通信模塊設(shè)計,實現(xiàn)了對RS485雙向數(shù)據(jù)通信模塊的替換,完成了基于CAN接口的看板系統(tǒng)透明化組網(wǎng),對其它類似系統(tǒng)聯(lián)入CAN工業(yè)網(wǎng)絡(luò)亦具有參考價值。
[1]牛占文,荊樹偉.基于精益生產(chǎn)的制造業(yè)企業(yè)管理創(chuàng)新模式探討[J].天津大學(xué)學(xué)報(社會科學(xué)版),2014(6):481.
[2]張根保,付興林,朱瑜慶,等.汽車制造企業(yè)精益生產(chǎn)系統(tǒng)模型[J].機械工程學(xué)報,2010,46(2):93.
[3]黃斌,周婉婷.精益生產(chǎn)技術(shù)在汽車制造業(yè)的應(yīng)用[J].工業(yè)工程與管理,2004(5):126.
[4]侯明,杜奕.基于CAN總線的接口電路設(shè)計[J].通信技術(shù),2008(7):138.
[5]楊建軍.CAN總線技術(shù)在汽車中的應(yīng)用[J].上海汽車,2007(6):32.
[6]王振華,朱國力,郭長旺,等.基于DSP和CAN總線的CNC多軸運動控制器研究[J].制造業(yè)自動化,2000(3):10.
[7]吳坎,趙薇,李封.基于SJA1000和PCA82C250的CAN總線接口設(shè)計[J].機械設(shè)計與制造,2010(7):55.
[8]賈長春.基于SJA1000的CAN總線智能節(jié)點設(shè)計[J].工業(yè)控制計算機,2015(2):5.
Design of SPI/CAN Bidirectional Data Transmission Module for Kanban System of Lean Production
ZHOUHongqiang,CHENChao,LUXuewei
(FacultyofEngineering,Lishui University,Lishui 323000,Zhejiang)
The existing Kanban system of the lean production based on RS485 bidirectional data transmission has some defects,such as unstable communications,bad real time capability,and so on.A SPI/CAN bidirectional data transmission module is designed based on STC51 MCU,and the design of the hardware circuit and control software is described in detail.The bidirectional data transmission between the field devices and the service ends of the Kanban system of the lean production is achieved and the transparent networking based on CAN interface is completed by the SPI/CAN data conversion.The effectiveness of the SPI/CAN bidirectional data transmission module is verified by the communication tests and the practical use in the production field.
Kanban System;bidirectional data transmission;SPI interface;CANbus
10.3969/j.issn.2095-3801.2017.05.014
TP29
A
2095-3801(2017)05-0082-06
2017-03-28;
2017-05-23
浙江省教育廳科研項目“基于BLDC的無繩智能扳手研制”(Y201636941);浙江省高校實驗室工作研究項目“基于TMS320F28335的交流電機控制實驗平臺研制”(ZD201604);麗水市高層次人才培養(yǎng)資助項目“電動汽車驅(qū)動用新型SRM的電磁設(shè)計及轉(zhuǎn)矩控制研究”(2014RC07);浙江省高等教育教學(xué)改革項目“學(xué)為導(dǎo)向教學(xué)模式構(gòu)建的研究與實踐——以‘電力拖動自動控制系統(tǒng)’課程為例”(JG20160188);浙江省大學(xué)生科技創(chuàng)新項目“基于DSP無刷直流電機控制系統(tǒng)的推廣應(yīng)用研究”(2016R431025)
周洪強,男,浙江海寧人,實驗師。