0 前言
可編程控制器( PLC) 是上世紀60 年代發(fā)展起來的一種新型自動化控制器。最早是用于替代傳統(tǒng)的繼電器控制裝置, 功能上只有邏輯控制、計時、計數以及順序控制等, 而且只能進行開關量控制。隨著技術的進步, PLC吸取了微電子技術和計算機技術的最新成果, 發(fā)展十分迅速, 其控制功能已遠遠超出邏輯控制的范疇, 從單機自動化、生產線的自動化, 到整個工廠的生產自動化, 從柔性制造、工業(yè)機器人到大型分散型控制系統(tǒng), PLC均擔當著重要角色。PLC、數控技術和工業(yè)機器人已成為機械工業(yè)自動化的三大支柱。
PLC與數控技術的結合產生了各種不同類型的數控設備, 如復雜的數控加工中心, 簡單的激光淬火用X2Y數控平臺, X2Y繪圖儀。如兩軸運動的X2Y數控裝置, 不但有著廣泛的工業(yè)應用, 而且在高校數控實踐教學中也是典型的實驗設備。它一般由兩個步進電機驅動, 可以沿X軸方向和Y軸方向運動, 用單片機或PLC編程控制其走出不同的運動軌跡。本設計用西門子S72200PLC控制數控平臺, 用PC機作上位機構成控制系統(tǒng), 通過直線插補、圓弧插補運算實現數控平臺按規(guī)定的軌跡運動。
1 數控平臺控制系統(tǒng)
用西門子S72200PLC (CPU226模塊) 作控制器,由于現有的PLC主機模塊為繼電器輸出型, 24 點輸入16點輸出, 接交流220V電源工作, 繼電器輸出不適合步進電機控制的大量、快速脈沖輸出, 故擴展一個晶體管輸出型EM222 模塊作輸出口。EM222 模塊有8個輸出點, 一邊4個點, 模塊要外接電源才能工作, 一般只要直接接PLC主機模塊的24V 直流輸出就行, 也可以用+ 5V電源, 但要注意與驅動電源共地的問題。驅動數控平臺的兩個步進電機型號為45BF005Ⅱ, 是三相反應式步進電機, 步距角115°, 相電流215A, 驅動電壓直流24 ~40V。X軸步進電機三相XA~XC接EM222輸出點的Q217~Q215, Y軸步進電機三相YA~YC接EM222 輸出點的Q214 ~Q212。輸出點通過一大電阻接地M, 使其與EM222 內部晶體管輸出電路L+(24V) 、M形成完整回路, 能保證輸出信號的確定。
PC機作上位機, 設計人機接口界面, 數據輸入,數控插補運算, 仿真動態(tài)顯示插補運動軌跡, 并將插補運動軌跡控制信息傳給PLC, 由PLC控制步進電機運動。驅動電路就是功率放大, 使步進電機獲得所要求的相電流和驅動電壓。
圖1 數控平臺控制系統(tǒng)
2 插補運算
PC機界面友好, 數據輸入方便, 插補運算速度快, 插補軌跡顯示直觀生動, 利用PC機強大的軟硬件功能完成這些任務彌補了PLC的不足。一般的零件輪廓大都可以分解為直線和圓弧, 用VB編程, 采用逐點比較法設計直線插補和圓弧插補運算程序。無論圖形在哪個象限, 插補運算的結果就是產生步進電機的運動控制信息, 一是運動軸, 二是在該軸的正或負方向運動。PC機插補運算一步, 實時地將插步結果的運動控制信息傳送給PLC, PLC根據PC機傳來的控制信息驅動相應的步進電機運動。PC 機傳給PLC的運動控制信息分下面幾種情況:
MSComm1 1Ou tp u t = " 1 " + " 1 " + " 0 " +
Ch r $ ( &HA ) - - - - - - - - - - +X方向走一步
MSComm1 1Ou tp u t = " 1 " + " 2 " + " 0 " +
Ch r $ ( &HA ) - - - - - - - - - - - X方向走一步
MSComm1 1Ou tp u t = " 2 " + " 3 " + " 0 " +
Ch r $ ( &HA ) - - - - - - - - - - + Y方向走一步
MSComm1 1Ou tp u t = " 2 " + " 4 " + " 0 " +
Ch r $ ( &HA ) - - - - - - - - - - - Y方向走一步
MSComm1 1Ou tp u t = " 0 " + " 0 " + " 6 " +
Ch r $ ( &HA ) - - - - - - - - - - 停止信號
實際上就是PC機與PLC之間的通信數據協議問題, PC機實時傳送的數據由4 個字節(jié)組成, 分別為軸、軸的運動方向、停止信號、最后是結束符0AH,數據格式如下:
圖2 通信數據格式
第一個字節(jié)表示運動軸, 字符1 (傳ASCII碼31H) 為X軸, 字符2 (傳ASCII碼32H) 為Y軸。第二個字節(jié)表示運動方向, 字符1為+ X方向, 字符2為- X方向, 字符3為+ Y方向, 字符4為- Y方向。第三個字節(jié)表示停止信號, 字符6 表示插補結束, 關閉步進電機。第四個字節(jié)為結束符0AH, PLC以接收到0AH為標志, 認為本次數據接收完畢。
3 PLC控制程序
3.1 接收數據
按照通信協議, PLC處于接收數據狀態(tài)。用接收指令RCV VB100, 0, 將接收到的數據存放在PLC接收緩沖區(qū)VB100 開始的存儲區(qū), 接收緩沖區(qū)與插補控制信息的對應關系如圖3所示。
圖3 PLC接收數據緩沖區(qū)
3.2 通信及初始化設置
S72200PLC與PC機通信采用自由端口通信模式, 通信參數為波特率9600bp s, 每個字符8位數據位, 無奇偶校驗。采用報文接收, 一次接收多個字節(jié), 這時需要設置特殊存儲器字節(jié)SMB87 ~SMB94及脈沖分配要用到的幾個寄存器。通信與初始化設置程序如下:
LD SM011 / /首次掃描為1
MOVB 16#09, SMB30 / /初始化自由口通信參數
MOVB 16#B0, SMB87 / /RCV信息控制字節(jié)
MOVB 16#0A, SMB89 / /結束符為16#0A
MOVW + 1, SMW90 / /空閑超時為1ms
MOVB 100, SMB94 / /最大字符數為100
MOVB 1, VB400 / /X軸脈沖分配移位寄存器
MOVB 1, VB500 / /Y軸脈沖分配移位寄存器
MOVB 0, VB300 / /移位寄存器的移入數據
MOVB 0, AC1 / /X軸的時序脈沖記數器
MOVB 0, AC2 / /Y軸的時序脈沖記數器
ATCH INT_ 0, 23 / /報文接收結束中斷事件
EN I / /允許中斷
RCV VB100, 0 / /執(zhí)行接收指令, 接收緩沖區(qū)
指向VB100
3.3 脈沖分配
對三相步進電機的控制, 有單三拍、雙三拍和單、雙六拍通電方式, 我們采用六拍通電方式。改變通電順序就改變了步進電機的旋轉方向, 數控平臺的移動方向就改變了。如何用PLC產生六拍時序脈沖及改變通電順序, 實現數控平臺沿X、Y軸正確移動是PLC控制程序的關鍵。
以X軸步進電機為例, 用移位寄存器指令SHRBV30010, V40010, + 7 對VB400 移位產生六拍時序脈沖, 初始化時VB300 為0, VB400 為1, 執(zhí)行一次移位將V30010 位的值從V40010 位移入, + 7 表示VB400中參與移位的7 位為V40010 ~V40016。用VB400中的六位V40011 ~V40016 產生六拍時序脈沖, 每移位一次為一拍, V40011~V40016前移一位,在V40011~V40016中每次總有一位為邏輯1, 其它位為邏輯0, 如第一次移位后V40011 ~V40016 等于100000, 邏輯1就代表著當前拍所在位置。移位六次為一循環(huán), 反復進行。
每一拍X 步進電機三相的通電情況用M110、M111和M112存儲, M110、M111 和M112 組成三相單、雙六拍環(huán)形脈沖分配器, 在V40011 ~V40016產生的六拍時序脈沖的作用下, M110、M111 和M112的通電順序為: M110→M110、M111→M111→M111、M112→M112→M112、M110。
步進電機的正反轉控制用4 個控制開關實現,Q013作X軸正轉開關, Q013 = 1正轉, Q014作X軸反轉開關, Q014 = 1 反轉, Y軸類似, 用Q015 和Q016。
用Q217、Q216和Q215輸出控制信號到X軸步進電機XA、XB和XC三相, 當Q013 閉合時X軸正轉, X步進電機的通電順序為A→AB→B→BC→C→CA→A, 循環(huán)。即:
Q217→Q217、Q216→Q216→Q216、Q215→Q215→Q215、Q217→Q217, 循環(huán)。
當Q014閉合時X軸反轉, X步進電機的通電順序為B→BA→A→AC→C→CB→B, 循環(huán)。即:
Q216→Q216、Q217 → Q217 →Q217、Q215 →Q215→Q215、Q216→Q216, 循環(huán)。將以上時序脈沖的產生及脈沖分配各控制元素的狀態(tài)總結為表1。相應的脈沖分配梯形圖見圖4所示。
圖4 軟件脈沖分配梯形圖
3.4 PLC控制程序
PLC采用報文接收方式接收PC機實時傳送來的數據, 接收到的數據存入緩沖區(qū)VB100。初始化程序中已用中斷連接指令ATCH INT_0, 23 將報文接收完成中斷(中斷號為23) 連接到用戶中斷處理程序INT_ 0。PLC每接收到一次PC機傳送的數據, 響應一次中斷并立即執(zhí)行用戶中斷處理程序INT_ 0。在中斷處理程序中首先對接收到的數據進行判斷, 根據VB102中的值判斷是X或Y軸朝正、負哪個方向運動, 并將此次運動方向開關Q013 ~Q016 之一置邏輯1。然后根據VB101 中的值判斷是X或Y軸的哪個軸運動, 如是X軸運動, 則X軸計數一拍(無論是+X方向還是- X方向) , 執(zhí)行移位寄存器指令產生時序脈沖, 并進行軟件脈沖分配, 從Q217~Q215輸出X軸步進電機走一步的控制脈沖, 完成一拍的動作。接著判斷X軸方向是否走了六拍, 如果已走完六拍, 要回到下一個六拍的起始拍, 在程序中就是重新初始化X軸計數器AC1為0, 移位寄存器VB400為1。Y軸的運動程序類似, 只是所使用的存儲器不同而已。PLC的控制程序流程圖如圖5所示。
圖5 PLC控制程序流程圖
4 結束語
西門子S72200PLC數控平臺控制系統(tǒng), 集計算機、通信、數控、機電傳動于一體, 不但作為高校智能綜合實驗設備可廣泛應用于學生大型綜合實踐環(huán)節(jié)、畢業(yè)設計及應用課題開發(fā), 而且其控制系統(tǒng)的設計思想和方法可以直接用于工業(yè)自動化裝置及一些數控系統(tǒng)。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.ezxoed.cn/