<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CANOpen總線與軟PLC在MPS中的應(yīng)用

          CANOpen總線與軟PLC在MPS中的應(yīng)用

          作者: 時(shí)間:2012-10-29 來源:網(wǎng)絡(luò) 收藏

          C8051F040集成的CAN控制器是Bosch全功能CAN模塊,在編寫收發(fā)函數(shù)時(shí),首先初始化郵箱,然后是發(fā)送信息函數(shù)和接收信息函數(shù)。濾波的時(shí)候只要把濾波地址放到對(duì)應(yīng)的一個(gè)郵箱去,這樣就使一個(gè)接受郵箱對(duì)應(yīng)一個(gè)濾波地址。對(duì)象字典在程序中是以數(shù)組形式實(shí)現(xiàn)的,另外為了在監(jiān)測(cè)軟件上讀出PDO映像的實(shí)時(shí)數(shù)據(jù),這就需要開辟實(shí)時(shí)數(shù)據(jù)的存儲(chǔ)區(qū),然后在程序中進(jìn)行詢問。
          3.3系統(tǒng)的連接與配置
          對(duì)于從站模塊CANopen協(xié)議的開發(fā)與調(diào)試,采用了德國PEAK公司的CANopen開發(fā)系統(tǒng),硬件包括PCI和USB接口的CAN卡,上位機(jī)軟件是PCANopen Magic Pro3.0專業(yè)開發(fā)版,很好的實(shí)現(xiàn)了對(duì)CANopen網(wǎng)絡(luò)節(jié)點(diǎn)的配置、分析和實(shí)時(shí)監(jiān)控。
          調(diào)試時(shí),采用的通訊結(jié)構(gòu)如圖1所示,在PC機(jī)中安裝USB-CAN卡和PCANopen Magic Pro3.0軟件,構(gòu)成監(jiān)控調(diào)試節(jié)點(diǎn), 與從站進(jìn)行通訊。應(yīng)用I/O從站通過上位機(jī)PCAN-PCI卡構(gòu)建了基于CoDeSys軟的分布式I/O控制系統(tǒng)??偩€上掛接9個(gè)從節(jié)點(diǎn),分別于系統(tǒng)的模塊單元連接。I/O從站的輸出與系統(tǒng)的輸出相連,使系統(tǒng)接受控制指令;I/O從站的輸入與MPS系統(tǒng)的輸入相連,接受MPS系統(tǒng)的傳感器信號(hào)。
          系統(tǒng)通過總線連接后,還需要對(duì)CoDeSys軟進(jìn)行配置,如圖4所示。配置工作包括安裝系統(tǒng)支持的PCAN-PCI卡的驅(qū)動(dòng)(由3S提供),加載從站設(shè)備的EDS文件,設(shè)置CAN相關(guān)通訊參數(shù) (如波特率,本系統(tǒng)設(shè)置為250kbps),設(shè)置CANopen協(xié)議的相關(guān)參數(shù)(如從站ID號(hào)、啟動(dòng)方式、心跳報(bào)文時(shí)間等)。

          圖 4 軟配置監(jiān)控界面
          4 軟PLC編程及對(duì)MPS控制
          以上完成了總線連接和軟PLC的配置工作,下面編寫軟PLC的程序來控制MPS系統(tǒng)的模塊單元。在MPS系統(tǒng)的9個(gè)模塊中,以加工單元較為復(fù)雜,由于篇幅的關(guān)系,這里只介紹加工單元這一模塊的控制方法,其他單元類同。
          如圖5所示,加工單元軟PLC控制程序流程。
          如表1所示,加工單元的IO詳細(xì)列表。
          在CoDeSys軟PLC上,主程序使用SFC順序功能圖語言,在每一步里的具體程序以及轉(zhuǎn)換條件使用ST指令表語言。這樣使得程序很容易編寫,也很容易看懂。
          由此編寫控制程序。程序開始進(jìn)入初始化狀態(tài),鉆頭停轉(zhuǎn),鉆臺(tái)在上行位,使工件放松。在程序上分別使得O3_04=1,O3_05=1,O3_01=0,O3_02=0,O3_03=0,O3_06=0。進(jìn)入下一步的條件是鉆臺(tái)在最上,工件已放松。即I3_04=1,I3_02=1。
          然后進(jìn)入下一步,這一步要是轉(zhuǎn)盤旋轉(zhuǎn),工件放松,O3_02=1,O3_05=1,O3_04=0,然后進(jìn)入下一步,轉(zhuǎn)換條件是轉(zhuǎn)盤轉(zhuǎn)至正位90度,即I3_01=1。


          表1 加工單元IO列表
          第三步轉(zhuǎn)盤停轉(zhuǎn),放松工件,O3_02=0,O3_05=1,檢測(cè)條件有新工件放入I3_00=1。
          第四步轉(zhuǎn)盤旋轉(zhuǎn),放松工件,O3_02=1,O3_05=1,檢測(cè)條件延時(shí)1秒已到,轉(zhuǎn)至正位90度I3_01=1。
          然后,同時(shí)進(jìn)入第五步和第九步。第五步轉(zhuǎn)盤停轉(zhuǎn),加緊工件,O3_02=0,O3_05=0,檢測(cè)條件工件已加緊,I3_03=1。進(jìn)入第六步,鉆頭旋轉(zhuǎn),轉(zhuǎn)臺(tái)下行,加緊工件,O3_01=1,O3_03=1。如果下行到位I3_05=1,進(jìn)入到第七步,鉆頭停轉(zhuǎn),轉(zhuǎn)臺(tái)上行,加緊工件,O3_04=1,O3_01=0,O3_03=0。如果檢測(cè)到上行到位I3_04=1,進(jìn)入到第八步,放松工件,停止轉(zhuǎn)臺(tái)上行O3_05=1,O3_04=0。與第五步同時(shí)進(jìn)行的第九步檢測(cè)缸伸出,O3_06=1。如果伸出到位I3_07=1,進(jìn)入到第十步檢測(cè)缸縮回O3_06=0,檢測(cè)條件是縮回到位I3_06=1 (檢測(cè)合格);計(jì)時(shí)3秒已到Q0.0=1 (檢測(cè)不合格),延時(shí)一段時(shí)間。最終兩條同時(shí)進(jìn)行的線路,檢測(cè)條件I3_04=0,然后返回第四步。至此完成軟PLC對(duì)加工單元的控制。

          圖 5 軟PLC控制程序流程
          5結(jié)束語
          應(yīng)用C8051F040單片機(jī)自行開發(fā)了基于CANopen協(xié)議的I/O從站,實(shí)現(xiàn)了與CoDeSys軟PLC的組網(wǎng)通訊,最終通過軟PLC控制了MPS系統(tǒng)。同時(shí)驗(yàn)證了信息傳遞的可靠性、準(zhǔn)確性和實(shí)時(shí)性。
          參考文獻(xiàn)
          [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混合信號(hào)ISP FLASH 微控制器數(shù)據(jù)手冊(cè),潘琢金 譯,Rev 1.4 2004.12


          上一頁 1 2 下一頁

          關(guān)鍵詞: CANOpen總線 PLC MPS

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();