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