0 引言
印刷機(jī)由不同的機(jī)組構(gòu)成,,通常包括:給紙機(jī)組、膠印機(jī)組,、柔印機(jī)組,、張力控制機(jī)組、折頁(yè)機(jī)組,、裁單張機(jī)組,,收卷機(jī)組等,各機(jī)組中存在大量的I/O信號(hào),,如何保證外圍設(shè)備與控制主機(jī)之間的實(shí)時(shí)通信,,使得印刷機(jī)可靠運(yùn)行,目前采用的控制方式主要有2種:1)采用傳統(tǒng)的PLC構(gòu)成集散型控制系統(tǒng)(DCS),;2)采用基于現(xiàn)場(chǎng)總線的分布式I/O系統(tǒng),。采用前一種方式存在系統(tǒng)不開放、硬件投資大,、布線復(fù)雜,、維修不便的缺點(diǎn),具有明顯的局限性,。而采用第二種方式基本局限于國(guó)外產(chǎn)品,,如西門子公司的基于PROFIBUS分布式I/O控制系統(tǒng),WAGO公司基于CANbus,、DeviceNET,、PROFIBUS分布式I/O控制系統(tǒng),但價(jià)格較高,。因此我們?cè)O(shè)計(jì)了基于PROFIBUS現(xiàn)場(chǎng)總線技術(shù)與軟PLC的印刷設(shè)備分布式控制系統(tǒng),,用自行開發(fā)的PROFIBUS-DP I/O從站代替進(jìn)口產(chǎn)品用于BF4250B表格印刷機(jī)中。
1 印刷機(jī)控制系統(tǒng)的整體方案設(shè)計(jì)
BF4250B表格印刷機(jī)的控制系統(tǒng)由內(nèi)置主站通信適配卡的監(jiān)控計(jì)算機(jī)和自行開發(fā)的PROFIBUS-DP從站構(gòu)成,并由PROFIBUS專用電纜連接構(gòu)成分布式總線網(wǎng)絡(luò),,其總體結(jié)構(gòu)如圖1所示,。分布在現(xiàn)場(chǎng)的I/O從站連接印刷機(jī)組的外圍設(shè)備,并通過PROFIBUS總線通信接口與總線網(wǎng)絡(luò)相連,;監(jiān)控計(jì)算機(jī)運(yùn)行軟PLC程序并通過PROFIBUS主站適配卡和連接在總線網(wǎng)絡(luò)上的各個(gè)I/O從站之間進(jìn)行實(shí)時(shí)通信,,從而實(shí)現(xiàn)整個(gè)印刷機(jī)組的分布式控制和集中監(jiān)管監(jiān)控功能,??刂葡到y(tǒng)中的監(jiān)控計(jì)算機(jī)選用的研華公司的工控機(jī)(IPC);軟PLC選用德國(guó)3S公司的CoDeSys ,;總線適配卡選用的是德國(guó)西門子公司的CP5613,,用來完成現(xiàn)場(chǎng)總線和監(jiān)控計(jì)算機(jī)之間的協(xié)議轉(zhuǎn)換。各個(gè)I/O從站之間通過專用屏蔽電纜互聯(lián)構(gòu)成PROFIBUS總線網(wǎng)絡(luò),,總線兩端連接PROFIBUS總線終端器,,用來提高系統(tǒng)的穩(wěn)定性、增強(qiáng)系統(tǒng)的抗干擾能力,。
圖1 印刷機(jī)分布式控制系統(tǒng)總體結(jié)構(gòu)
2 PROFIBUS I/O從站的設(shè)計(jì)
PROFIBUS是開放的,,與制造廠商無(wú)關(guān),無(wú)知識(shí)產(chǎn)權(quán)保護(hù)的國(guó)際標(biāo)準(zhǔn)(德國(guó)標(biāo)準(zhǔn)DIN19245,、歐洲標(biāo)準(zhǔn)EN50170 ,、中國(guó)標(biāo)準(zhǔn)GB/T20540-2006),任何組織和個(gè)人都可以獲得這個(gè)標(biāo)準(zhǔn)并設(shè)計(jì)各自的軟,、硬件解決方案,。目前,開發(fā)PROFIBUS-DP從站有兩種方法:1)利用微控制器,,通過軟件編程實(shí)現(xiàn)PROFIBUS-DP協(xié)議功能,;2)利用微控制器,通過專用芯片(ASIC)實(shí)現(xiàn)PROFIBUS-DP協(xié)議功能,,利用己固化協(xié)議的芯片來實(shí)現(xiàn)協(xié)議功能,。比較兩種設(shè)計(jì)方案:第一種方案硬件設(shè)計(jì)相對(duì)較簡(jiǎn)單,成本較低,,但要求開發(fā)人員透徹了解PROFIBUS-DP的技術(shù)細(xì)節(jié),,程序編寫工作量較大,開發(fā)周期長(zhǎng),,傳輸速率低于500K bit/s,。第二種方案利用硬件實(shí)現(xiàn)協(xié)議功能,硬件成本有所增加,,但可以降低開發(fā)難度,、縮短開發(fā)周期,傳輸速率12M bit/s,可靠性高,,是目前普遍采用的方法,。經(jīng)綜合考慮,采用第二種方案實(shí)現(xiàn)PROFIBUS I/O從站的設(shè)計(jì),。
2.1 I/O從站的硬件設(shè)計(jì)
各個(gè)印刷機(jī)組中有幾個(gè)通用的按鈕,,分別是準(zhǔn)備、點(diǎn)動(dòng),、運(yùn)行,、停止和急停,方便操作工在各個(gè)機(jī)組上都可以對(duì)整個(gè)印刷機(jī)進(jìn)行控制,;每個(gè)印刷機(jī)組都有一部分自己?jiǎn)为?dú)的印刷控制按鈕,,只對(duì)當(dāng)前機(jī)組有效,其中膠印機(jī)組主要有著水輥,、著墨輥,、合壓、給墨,、勻墨和水輥等,;柔印機(jī)組主要有版輥氣缸、合壓和勻墨等,;印刷機(jī)組的不同工作狀態(tài)由相應(yīng)的指示燈顯示,;除此之外每個(gè)印刷機(jī)組I/O還包括控制氣缸的電磁換向閥和行程開關(guān)。I/O從站除了滿足印刷機(jī)組上述的控制要求外,,還要具備PROFIBUS-DP通信接口,,因此在硬件設(shè)計(jì)上采用了模塊化結(jié)構(gòu),由微控制器C8051F020,、協(xié)議的芯片SPC3,、以及輸入/輸出接口模塊、通信接口模塊,、從站地址設(shè)定模塊和電源模塊組成,,其整體結(jié)構(gòu)如圖2所示。
圖2 PROFIBUS-DP從站硬件結(jié)構(gòu)圖
2.1.1 微控制器與協(xié)議芯片接口電路設(shè)計(jì)
微控制器是I/O從站的核心,,應(yīng)能夠通過輸入/輸出接口與印刷機(jī)組的現(xiàn)場(chǎng)設(shè)備相連,,并能夠通過協(xié)議芯片與PROFIBUS主站進(jìn)行實(shí)時(shí)通信。經(jīng)綜合考慮,,選擇美國(guó)Cygnal公司的C8051F020作為微控制器,。它內(nèi)含CIP-51的CPU內(nèi)核,其指令系統(tǒng)與MCS-51完全相同,,具有64kB片內(nèi)FLASH程序存儲(chǔ)器,、128B的非易失性存儲(chǔ)器,。C8051F020的片上資源很豐富,包括:8組I/O端口,、A/D和D/A轉(zhuǎn)換器,、多個(gè)中斷源、增強(qiáng)型UART,、支持JTAG調(diào)試功能,,能夠滿足單個(gè)印刷機(jī)組的控制要求。采用這種系統(tǒng)級(jí)SOC芯片,,在很大程度上減少了外圍元器件的數(shù)量,,從而減少了元器件間的走線,有利于提高I/O從站的可靠性和穩(wěn)定性,。
協(xié)議的芯片選擇封裝了PROFIBUS-DP協(xié)議的SPC3,,其最大傳輸速率可達(dá)12Mbps,,能夠自動(dòng)檢測(cè)總線上傳輸速率,,內(nèi)部具有1.5K字節(jié)的雙口RAM。SPC3從初始化到正常工作,,都由芯片內(nèi)部集成的狀態(tài)機(jī)來控制,,不需要微控制器過多干預(yù)。SPC3支持所有8位處理機(jī)和微處理器,,只要按正確方法對(duì)SPC3中的寄存器和數(shù)據(jù)區(qū)進(jìn)行初始化后,,對(duì)其雙口RAM進(jìn)行數(shù)據(jù)的讀寫操作即可完成從站與主站間的通信。微控制器C8051F020與協(xié)議芯片SPC3的接口電路設(shè)計(jì)參考SPC3芯片手冊(cè)的標(biāo)準(zhǔn)電路設(shè)計(jì)完成,。
2.1.2 輸入/輸出接口電路設(shè)計(jì)
每個(gè)印刷機(jī)組的PROFIBUS I/O從站要求具有16路開關(guān)量輸入和16路開關(guān)量輸出功能,。輸入接口用于連接各種按鈕和行程開關(guān)。按鈕的觸點(diǎn)為干接點(diǎn),,氣缸的行程開關(guān)和傳感器選用的是PNP型(共源型),,工作電壓為直流24V,所以輸入接口電路設(shè)計(jì)為觸點(diǎn)共源型,,即多個(gè)開關(guān)的公共端連接到24V電源的正極,,開關(guān)閉合后,電流從開關(guān)流入DI光耦(TLP512)接口,,經(jīng)光耦隔離后接入微控制器的輸入端口,。輸出接口用于控制各種狀態(tài)指示燈和電磁換向閥,工作電壓均為直流24V,。為了和輸入接口保持一致,,輸出接口也設(shè)計(jì)為共源結(jié)構(gòu)。為了提高I/O從站的穩(wěn)定性和抗干擾能力,,輸出接口也采用光電耦合器TLP512,, 將微控制器C8051F020輸出端口與現(xiàn)場(chǎng)的負(fù)載完全隔離,。在輸出通道與光電隔離電路之后,還使用輸出驅(qū)動(dòng)芯片UDN2981來增強(qiáng)輸出接口的驅(qū)動(dòng)能力,。輸出接口的具體電路設(shè)計(jì)如圖3 所示,。
圖3 PROFIBUS-DP從站輸出接口電路
2.1.3 總線通信接口電路設(shè)計(jì)
PROFIBUS-DP的數(shù)據(jù)傳輸通過RS-485接口實(shí)現(xiàn),為了消除來自總線的干擾,,需要采用了雙路電源供電,,對(duì)通信信號(hào)的輸入/輸出通道進(jìn)行光電隔離。協(xié)議芯片SPC3的數(shù)據(jù)發(fā)送請(qǐng)求(RTS),、數(shù)據(jù)輸入(RXD),、數(shù)據(jù)輸出(TXD)引腳經(jīng)隔離后與總線驅(qū)動(dòng)器相連。若采用SPC手冊(cè)推薦的電路需要2片HCPL7721隔離TXD,、RXD,;1片HCPL0601隔離RTS,匹配電阻,、電容較多,,電路復(fù)雜。所以在設(shè)計(jì)中采用AD公司的ADUM1301芯片,,該芯片擁有iCoupler隔離技術(shù),,與傳統(tǒng)的光耦器件相比優(yōu)勢(shì)非常明顯:完全滿足工業(yè)現(xiàn)場(chǎng)寬范圍的溫度(-40℃~105℃)要求;低功耗,;最高可達(dá)90Mbps的傳輸速率,;可以隔離3路信號(hào),所需的外圍元件少,??偩€驅(qū)動(dòng)器選用PROFIBUS網(wǎng)絡(luò)優(yōu)化的RS-485發(fā)送接收器SN75176,其符合EN50170標(biāo)準(zhǔn),,信號(hào)傳輸速率高達(dá)40 M bit/s,,接收器在總線開路、斷路,、空閑時(shí)有故障安全保護(hù)功能,。PROFIBUS-DP總線通信接口的電路設(shè)計(jì)如圖4所示。
圖4 PROFIBUS-DP從站總線通信接口電路
2.2 I/O從站的軟件設(shè)計(jì)
在PROFIBUS-DP從站設(shè)計(jì)中,,硬件的選擇與電路設(shè)計(jì)直接影響從站性能的穩(wěn)定和通信速度,。I/O從站要完成與主站的通信任務(wù)和控制功能,還需要設(shè)計(jì)相應(yīng)的配套軟件,。由于PROFIBUS-DP協(xié)議的狀態(tài)機(jī)集成在SPC3中,,使得C8051F020的主要任務(wù)在于初始化和啟動(dòng)SPC3、數(shù)據(jù)的發(fā)送和接收,、診斷事務(wù)及中斷事務(wù)處理等,。
2.2.1 I/O從站的軟件的整體結(jié)構(gòu)
在I/O從站中微控制器C8051F020需要通過SPC3協(xié)議芯片讀入總線上發(fā)來的數(shù)據(jù)并通過總線把數(shù)據(jù)發(fā)送給主站,,還需根據(jù)系統(tǒng)要求組織外部診斷和處理中斷任務(wù)等。這些功能是通過DPS2固件的不同程序模塊來實(shí)現(xiàn)的:1)主程序USERSPC3.c,,主要完成SPC3初始化,、啟動(dòng)、發(fā)送和接收數(shù)據(jù)以及診斷功能,;2)中斷模塊INTSPC3.c,,主要完成分配從站參數(shù)、組態(tài)數(shù)據(jù)檢查和從站地址設(shè)定等功能,;3)DPS2SPC3.c模塊,,主要完成計(jì)算數(shù)據(jù)長(zhǎng)度、輔助緩沖區(qū)分配,、緩沖區(qū)初始化,、設(shè)置I/O數(shù)據(jù)長(zhǎng)度及緩沖區(qū)數(shù)據(jù)更新等功能;4)DPS2USER.h模塊,,主要用來定義變量和宏接口,,使用戶可以方便訪問SPC3的寄存器。
微控制器C8051F02需要對(duì)SPC3進(jìn)行合理的配置,、初始化及對(duì)各種總線報(bào)文的處理,。在初始化SPC3后,,啟動(dòng)SPC3從站開始工作,,主程序進(jìn)入無(wú)限循環(huán)。主程序流程如圖5所示,。
圖5 I/O從站主程序流程圖 圖6 SPC3初始化流程圖
2.2.2 SPC3的初始化
在SPC3正常工作之前,,微控制器需要對(duì)其進(jìn)行初始化以配置所需要的寄存器,SPC3的的初始化流程包括:設(shè)置協(xié)議芯片的中斷允許,、寫入從站識(shí)別號(hào)和地址,、設(shè)置SPC3方式寄存器,、設(shè)置診斷緩沖區(qū)、參數(shù)緩沖區(qū)、配置緩沖區(qū),、地址緩沖區(qū)、初始化長(zhǎng)度,,并根據(jù)以上初始值得出各個(gè)緩沖區(qū)的指針和輔助緩沖區(qū)的指針,。根據(jù)傳輸?shù)臄?shù)據(jù)長(zhǎng)度,確定輸出緩沖區(qū),、輸入緩沖區(qū)及指針,。SPC3的初始化流程如圖6所示。
由于SPC3內(nèi)部集成了完整的PROFIBUS-DP協(xié)議,,因此用戶不用參與處理PROFIBUS狀態(tài)機(jī)制,,SPC3可以自主實(shí)現(xiàn)從站狀態(tài)機(jī)的轉(zhuǎn)換,,同主站進(jìn)行通信。主站可以讀取SPC3輸入緩沖區(qū)的數(shù)據(jù)或向輸出緩沖區(qū)內(nèi)寫入要輸出的數(shù)據(jù),。只有當(dāng)SPC3進(jìn)入了數(shù)據(jù)交換狀態(tài),,對(duì)其輸入輸出緩沖區(qū)的讀寫才有意義。SPC3處于數(shù)據(jù)交換狀態(tài)時(shí),,除了同主站進(jìn)行輸入輸出數(shù)據(jù)交換外,,還可以接收新的參數(shù)化報(bào)文、組態(tài)報(bào)文,、從站地址設(shè)置報(bào)文以及全局控制命令報(bào)文等,,這些報(bào)文的到來都可以觸發(fā)一個(gè)公用的中斷,當(dāng)中斷到來時(shí)應(yīng)用程序通過讀取SPC3的中斷寄存器來判斷觸發(fā)中斷的原因并進(jìn)行相應(yīng)的中斷處理,。
2.3 I/O從站的調(diào)試
I/O從站電路板焊接完成后,,首先需要進(jìn)行硬件電路的測(cè)試,檢查電路是否正常,,芯片是否正常工作,;然后通過JTAG接口連接仿真器,通過編寫測(cè)試程序?qū)8051F020的外圍電路進(jìn)行功能檢查,。當(dāng)測(cè)試硬件電路達(dá)到設(shè)計(jì)要求后,,重要的工作就是軟件的調(diào)試工作。調(diào)試I/O從站之前必須組建PROFIBUS總線網(wǎng)絡(luò),,并在計(jì)算機(jī)上進(jìn)行網(wǎng)絡(luò)組態(tài),。采用基于PC+軟PLC構(gòu)成的PROFIBUS-DP一類主站的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)試,總線系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,。I/O從站的調(diào)試分三步進(jìn)行:第一步用德國(guó)WAGO公司的PROFIBUS I/O從站建立一主+一從的總線網(wǎng)絡(luò),,編寫PLC測(cè)試運(yùn)行程序,利用RS485-232轉(zhuǎn)接模塊與串口調(diào)試助手軟件監(jiān)測(cè)PROFIBUS總線上的報(bào)文,,并記錄,;第二步用自行開發(fā)的I/O從站替換WAGO公司的I/O從站,運(yùn)行相同PLC測(cè)試程序并監(jiān)測(cè)總線上的報(bào)文,,并與第一步監(jiān)測(cè)到的報(bào)文進(jìn)行對(duì)比,、找出不同之處進(jìn)項(xiàng)分析、修改I/O從站軟件,,直到總線上的報(bào)文與第一步監(jiān)測(cè)到的報(bào)文相同,;第三步把自行開發(fā)的I/O從站和WAGO公司的I/O從站連接到同一總線網(wǎng)絡(luò)中進(jìn)行兼容性測(cè)試。
3 I/O從站在BF4250B表格印刷機(jī)中的應(yīng)用
I/O從站進(jìn)行兼容性測(cè)試后,,需要根據(jù)電氣接線圖把印刷機(jī)各個(gè)機(jī)組的現(xiàn)場(chǎng)信號(hào)連接到I/O從站的輸入輸出端,,印刷機(jī)組的I/O外部接線示意圖如圖7所示。每個(gè)機(jī)組完成現(xiàn)場(chǎng)接線后,,再根據(jù)圖1所示的網(wǎng)絡(luò)結(jié)構(gòu)用PROFIBUS專用電纜把所有機(jī)組的I/O從站和監(jiān)控計(jì)算機(jī)連接,,構(gòu)成基于PROFIBUS總線的分布式控制系統(tǒng),。監(jiān)控計(jì)算機(jī)運(yùn)行德國(guó)3S公司的CoDeSys軟PLC軟件,作為PROFIBUS總線網(wǎng)絡(luò)的主站(相當(dāng)于一臺(tái)高性能可編程控制器),。分布式控制系統(tǒng)正常工作前還要進(jìn)行PROFIBUS–DP總線網(wǎng)絡(luò)的硬件組態(tài),,其過程包括:1)加載CP5613通信卡建立網(wǎng)絡(luò)的主站;2)加載從站設(shè)備的GSD文件,;3)設(shè)置PROFIBUS總線相關(guān)參數(shù)(如通信波特率,,從站ID號(hào)等);4)組態(tài)整個(gè)PROFIBUS–DP總線網(wǎng)絡(luò),,將組態(tài)好的信息和編寫好的PLC控制程序下載到軟PLC實(shí)時(shí)運(yùn)行環(huán)境RTE中,。
圖7 PROFIBUS-DP從站I/O外部接線示意圖
4 結(jié)論
(1)基于C8051F020和SPC3的PROFIBUS I/O從站設(shè)計(jì)方案合理,I/O從站能夠?qū)崿F(xiàn)與主站之間的正常通信,。
(2)自行開發(fā)設(shè)計(jì)I/O從站能夠應(yīng)用于基于PROFIBUS現(xiàn)場(chǎng)總線的分布式控制系統(tǒng)中,,并能與其它公司的PROFIBUS I/O從站在同一總線網(wǎng)絡(luò)中運(yùn)行,具有很好的兼容性,。
(3)基于PROFIBUS現(xiàn)場(chǎng)總線與軟PLC的分布式控制系統(tǒng)在BF4250B表格印刷機(jī)上成功試運(yùn)行表明,,所設(shè)計(jì)的I/O從站能夠滿足印刷設(shè)備控制系統(tǒng)的要求。
參考文獻(xiàn):
[1] 陽(yáng)憲惠.現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用[M],,清華大學(xué)出版社,,1999年
[2] 孫鶴旭,梁濤,,云利軍.PROFIBUS現(xiàn)場(chǎng)總線控制系統(tǒng)的設(shè)計(jì)與開發(fā)[M],,國(guó)防工業(yè)出版社,2007年
[3] 王永華,,A.Verwer(英).現(xiàn)場(chǎng)總線技術(shù)及應(yīng)用教程[M],,機(jī)械工業(yè)出版社,2006年
[4] SIEMENS.DPC31 HARDWARE DESCRIPTION[Z],,2002年
[5] 新華龍電子.C8051F020/1/2/3混合信號(hào)ISP FLASH微控制器數(shù)據(jù)手冊(cè)[Z],2002年