CANOpen總線與軟PLC在MPS中的應用
C8051F040集成的CAN控制器是Bosch全功能CAN模塊,在編寫收發(fā)函數(shù)時,首先初始化郵箱,然后是發(fā)送信息函數(shù)和接收信息函數(shù)。濾波的時候只要把濾波地址放到對應的一個郵箱去,這樣就使一個接受郵箱對應一個濾波地址。對象字典在程序中是以數(shù)組形式實現(xiàn)的,另外為了在監(jiān)測軟件上讀出PDO映像的實時數(shù)據(jù),這就需要開辟實時數(shù)據(jù)的存儲區(qū),然后在程序中進行詢問。
3.3系統(tǒng)的連接與配置
對于從站模塊CANopen協(xié)議的開發(fā)與調試,采用了德國PEAK公司的CANopen開發(fā)系統(tǒng),硬件包括PCI和USB接口的CAN卡,上位機軟件是PCANopen Magic Pro3.0專業(yè)開發(fā)版,很好的實現(xiàn)了對CANopen網(wǎng)絡節(jié)點的配置、分析和實時監(jiān)控。
調試時,采用的通訊結構如圖1所示,在PC機中安裝USB-CAN卡和PCANopen Magic Pro3.0軟件,構成監(jiān)控調試節(jié)點, 與從站進行通訊。應用I/O從站通過上位機PCAN-PCI卡構建了基于CoDeSys軟PLC的分布式I/O控制系統(tǒng)??偩€上掛接9個從節(jié)點,分別于MPS系統(tǒng)的模塊單元連接。I/O從站的輸出與MPS系統(tǒng)的輸出相連,使MPS系統(tǒng)接受控制指令;I/O從站的輸入與MPS系統(tǒng)的輸入相連,接受MPS系統(tǒng)的傳感器信號。
系統(tǒng)通過總線連接后,還需要對CoDeSys軟PLC進行配置,如圖4所示。配置工作包括安裝系統(tǒng)支持的PCAN-PCI卡的驅動(由3S提供),加載從站設備的EDS文件,設置CAN相關通訊參數(shù) (如波特率,本系統(tǒng)設置為250kbps),設置CANopen協(xié)議的相關參數(shù)(如從站ID號、啟動方式、心跳報文時間等)。
圖 4 軟PLC配置監(jiān)控界面
4 軟PLC編程及對MPS控制
以上完成了總線連接和軟PLC的配置工作,下面編寫軟PLC的程序來控制MPS系統(tǒng)的模塊單元。在MPS系統(tǒng)的9個模塊中,以加工單元較為復雜,由于篇幅的關系,這里只介紹加工單元這一模塊的控制方法,其他單元類同。
如圖5所示,加工單元軟PLC控制程序流程。
如表1所示,加工單元的IO詳細列表。
在CoDeSys軟PLC上,主程序使用SFC順序功能圖語言,在每一步里的具體程序以及轉換條件使用ST指令表語言。這樣使得程序很容易編寫,也很容易看懂。
由此編寫控制程序。程序開始進入初始化狀態(tài),鉆頭停轉,鉆臺在上行位,使工件放松。在程序上分別使得O3_04=1,O3_05=1,O3_01=0,O3_02=0,O3_03=0,O3_06=0。進入下一步的條件是鉆臺在最上,工件已放松。即I3_04=1,I3_02=1。
然后進入下一步,這一步要是轉盤旋轉,工件放松,O3_02=1,O3_05=1,O3_04=0,然后進入下一步,轉換條件是轉盤轉至正位90度,即I3_01=1。
表1 加工單元IO列表
第三步轉盤停轉,放松工件,O3_02=0,O3_05=1,檢測條件有新工件放入I3_00=1。
第四步轉盤旋轉,放松工件,O3_02=1,O3_05=1,檢測條件延時1秒已到,轉至正位90度I3_01=1。
然后,同時進入第五步和第九步。第五步轉盤停轉,加緊工件,O3_02=0,O3_05=0,檢測條件工件已加緊,I3_03=1。進入第六步,鉆頭旋轉,轉臺下行,加緊工件,O3_01=1,O3_03=1。如果下行到位I3_05=1,進入到第七步,鉆頭停轉,轉臺上行,加緊工件,O3_04=1,O3_01=0,O3_03=0。如果檢測到上行到位I3_04=1,進入到第八步,放松工件,停止轉臺上行O3_05=1,O3_04=0。與第五步同時進行的第九步檢測缸伸出,O3_06=1。如果伸出到位I3_07=1,進入到第十步檢測缸縮回O3_06=0,檢測條件是縮回到位I3_06=1 (檢測合格);計時3秒已到Q0.0=1 (檢測不合格),延時一段時間。最終兩條同時進行的線路,檢測條件I3_04=0,然后返回第四步。至此完成軟PLC對加工單元的控制。
圖 5 軟PLC控制程序流程
5結束語
應用C8051F040單片機自行開發(fā)了基于CANopen協(xié)議的I/O從站,實現(xiàn)了與CoDeSys軟PLC的組網(wǎng)通訊,最終通過軟PLC控制了MPS系統(tǒng)。同時驗證了信息傳遞的可靠性、準確性和實時性。
參考文獻
[1]CiA DS-301,Version 4.0,June 16 1999.
[2]CiA DSP-401,Version 1.4,Dec 1996.
[3]CANopen high-level protocol for CAN-bus H.Boterenbrood NIKHEF,March 20,2000
[4] C8051F040混合信號ISP FLASH 微控制器數(shù)據(jù)手冊,潘琢金 譯,Rev 1.4 2004.12
評論