現(xiàn)場操作趨向于使用人機界面,MT500系列觸摸屏是專門面向PLC 應用的,它使用RS-232和RS485通信協(xié)議,能快速可靠的讀寫PLC內部數(shù)據(jù)。本文使用DSP與PLC直接通信,針對PLC節(jié)點狀態(tài)對ISA槽上各個伺服控制板進行同步控制。我們采用了ISA槽,但這和PC的ISA總線是完全不一樣的,ISA槽的引入只是為系統(tǒng)設計提供標準。所有的仲裁和大部分數(shù)據(jù)計算都由主控板完成,因此主控板的設計是系統(tǒng)設計的關鍵。
系統(tǒng)結構
系統(tǒng)總體結構如圖1所示:
圖1 伺服系統(tǒng)總體框圖
系統(tǒng)的控制對象是多個圓網(wǎng)電機和一個導帶主電機,圓網(wǎng)電機始終跟隨主電機,系統(tǒng)要保持各個圓網(wǎng)和導帶的線速度同步。主控板控制著系統(tǒng)的總線,其它板卡(如速度板、伺服板)都處于從屬位置,DSP周期性的發(fā)送數(shù)據(jù)給各個伺服板和速度板。觸摸屏與PLC通過串口通信,每種觸摸屏都配有相應軟件,包含了大量的元件庫,用這些元件可以實現(xiàn)面板上的各種顯示,如指示燈、數(shù)值顯示和輸入、文本顯示和輸入、報警、趨勢圖等。觸摸屏和PLC通信是雙向的,既可以顯示也可以修改PLC內的數(shù)據(jù),因此觸摸屏可以替代面板的功能。主控板的功能是控制著系統(tǒng)的流程,通過串口接收從PLC得到的現(xiàn)場狀態(tài),從而控制著整個系統(tǒng)工作的狀態(tài)。具體是通過ISA槽與速度板通訊,給定導帶電機當前需要工作的速度。由于生產(chǎn)過程中,圓網(wǎng)跟蹤導帶是主要工作狀態(tài),所以主令電機的反饋由主控板采集也是最簡便的。主令導帶電機位置檢測元件采用數(shù)字式檢測元件5000p/r的光電編碼器,安裝在印花機被動輥的軸上,其反饋送給主控板。
圓網(wǎng)電機驅動單元采用Panasonic公司的全數(shù)字型交流伺服驅動器和配套交流伺服電機。圓網(wǎng)電機位置檢測元件采用伺服電機自帶2500p/r光電編碼器,直接與電機的出軸相連。交流伺服驅動器控制板完成對伺服驅動器的控制和位置反饋信號的采集,實現(xiàn)對圓網(wǎng)電機的位置半閉環(huán)控制。
主控板設計
主控板的原理
圖2示出主控板硬件原理圖,主控板對系統(tǒng)的控制時要完成以下幾項工作:
圖2 主控板硬件原理圖
● 實現(xiàn)與PLC的數(shù)據(jù)交換
PLC與主控板交換的數(shù)據(jù)有圓網(wǎng)的狀態(tài),如: 系統(tǒng)的急停、圓網(wǎng)的啟動、停止、基速、跟蹤、自動降速等等; 系統(tǒng)的參數(shù)設置,如磨擦系數(shù)的設置。由于這些信息實時性要求不是很高,采用串口通訊。
● 控制總線并和總線上的板卡通訊
采用的是基于ISA槽的通訊,這里的ISA總線由主控板控制其仲裁和時序。主控板和伺服板通訊的數(shù)據(jù)有速度設定值和一些特殊的命令字符,命令字符用以控制伺服電機的運行方式。主控板上所有的數(shù)據(jù)、地址都經(jīng)過CPLD鎖存和處理,增強了總線驅動能力,保證DSP的I/O操作能順利收發(fā)數(shù)據(jù)。
● 主令電機反饋信號的采集
通過主令電機編碼器,采集導帶的速度值,并將這些值通過總線送給伺服板,使其能快速、精確地跟蹤導帶的速度。DSP內含的正交編碼器脈沖(QEP)捕獲單元可以直接處理光電編碼器的兩路正交輸出信號。QEP單元對輸入的兩路正交信號的上升和下降沿進行捕獲,根據(jù)兩路信號的相位關系自動判斷電機的正反轉,并據(jù)此對捕獲的信號進行加、減計數(shù)。在程序中可以方便地讀取當前的計數(shù)值和計數(shù)方向,即電機的角位移和轉向;而電機速度則可以由計數(shù)脈沖的頻率獲得。
● 全局時鐘以及同步中斷信號地產(chǎn)生
伺服板之間的發(fā)送脈沖電路如果沒有基準時鐘,它們之間將產(chǎn)生累計誤差,所以系統(tǒng)需要全局時鐘,全局時鐘給ISA槽上所有控制板提供了同步的基準。全局時鐘是晶振信號經(jīng)過DSP處理后經(jīng)CPLD驅動而發(fā)出的,與DSP的CPUCLK頻率相同。系統(tǒng)中,導帶、圓網(wǎng)的運行速度獲取是在采樣周期內完成。圓網(wǎng)要實時跟蹤導帶的運行速度,給定周期越短,圓網(wǎng)速度跟蹤的效果也就會更理想。為控制每塊伺服控制板同步動作,在系統(tǒng)中設計了同步控制信號。
主控板的軟件設計
圖3是系統(tǒng)主控板的主程序流程圖。
圖3 主控板主程序流程圖
主控板軟件可分為2個模塊,這兩個模塊完成任務調度和管理、中斷服務。
● 任務調度和管理
實現(xiàn)DSP與PLC的通訊,DSP采用查詢方式獲取PLC節(jié)點狀態(tài)變化,整個模塊是一個主循環(huán)。系統(tǒng)所用的是OMRON系列PLC,有特殊的通訊幀格式,需在DSP上寫好通訊函數(shù)。在本文中PLC常用的命令字有RR(讀IR/SR區(qū))、RD(讀DM區(qū))、WR(寫IR/SR區(qū))、WD(寫DM區(qū))、SC(寫狀態(tài))。實際的運行過程中,PLC的IR區(qū)的節(jié)點對應著控制面板各個按鈕、開關的狀態(tài)。常用的參數(shù)設置和一些顯示用數(shù)據(jù)都放在DM區(qū),斷電后能保持較久的時間。下圖是SC(寫狀態(tài))的幀格式,其中短格表示一字節(jié),長格表示2字節(jié)數(shù)據(jù)。程序中按幀格式把數(shù)據(jù)填入緩存區(qū),再把緩存區(qū)的數(shù)據(jù)依次填入SCITXBUF就能實現(xiàn)數(shù)據(jù)發(fā)送,接收數(shù)據(jù)和發(fā)送類似。

不管DSP讀還是寫數(shù)據(jù),PLC 都會有應答幀,DSP根據(jù)應答信息能知道通訊是否成功。串口工作在9600bps的速率下,所有命令幀中最長達19字節(jié),即使在比較惡劣的工業(yè)現(xiàn)場環(huán)境下也能保證通訊正常。
DSP在程序主循環(huán)中與PLC 若干個節(jié)點始終保持通訊,并且對各個節(jié)點的狀態(tài)變化能在毫秒級完成相應的控制,因此系統(tǒng)的實時性能很好。系統(tǒng)實時性得以保證還需要程序提供充分的通訊異常處理,否則DSP與PLC通訊過程中,如果沒有收到PLC的應答幀或者應答幀出錯,都會對導致系統(tǒng)死機或狀態(tài)混亂。在通訊異常檢測方面,程序采用定時器超時檢測和應答幀檢測,發(fā)現(xiàn)錯誤后重發(fā)數(shù)據(jù)幀,如果重發(fā)次數(shù)超過限定,就跳過該PLC節(jié)點檢測,系統(tǒng)狀態(tài)保持原樣。采取以上措施后,除非DSP與PLC通信線出現(xiàn)物理中斷,系統(tǒng)都能正常運行。
● 中斷服務程序
DSP所用中斷是定時器1的周期中斷,中斷程序交替執(zhí)行兩個子模塊。在第一個子模塊內DSP給速度板發(fā)送數(shù)據(jù),控制導帶速度;在第二個子模塊內DSP接收主電機編碼反饋,處理后發(fā)給ISA總線上的各個伺服控制板。在這個中斷程序中屏蔽掉了其他中斷,所以它的優(yōu)先級是最高的,這樣就能保證各個圓網(wǎng)數(shù)據(jù)能實時發(fā)送,完成同步跟蹤。DSP擁有50ns 的單周期指令執(zhí)行時間,毫秒級的周期中斷內能執(zhí)行20000條指令,而實際的中斷服務程序內只有幾百條指令,因此DSP能迅速執(zhí)行完中斷程序,留有足夠時間執(zhí)行主循環(huán)程序。即使在DSP與PLC間正在傳送數(shù)據(jù)時產(chǎn)生了周期中斷,也能保證串口通訊的正常進行。