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