李 偉,王德成,程 鵬
(1.中機生產力促進中心,北京 100044;2.機械科學研究總院,北京 100044)
隨著彈簧成形機技術的不斷進步,彈簧成形過程的自動化程度、智能化程度在逐漸提高。由于多工位彈簧成形機在異形彈簧成形方面能力突出,使其逐漸得到廣泛應用,其特點是適用于多品種小批量的生產[1]。但是目前多工位彈簧機成形滑座上的刀具是依靠螺栓固定在刀具安裝座上,靠人工擰緊,每次更換生產對象,成形刀具都需要人工拆卸,換刀,裝夾,擰緊,然后進行彈簧打樣程序調試,導致彈簧生產過程的非加工時間占比很大[2]。相比于加工中心的自動換刀系統,實現多種不同工序自動切換的程序化管控[3],彈簧機的刀具更換效率較低,不利于彈簧高效生產,同時面向彈簧加工的CAD/CAM/CAPP高端成形技術也難以實現。因此,急需一種能夠實現自動選刀、自動換刀和自動裝夾的彈簧機自動換刀系統。
課題組針對此問題設計研發了多工位彈簧機的自動換刀機構樣機,并基于該機構的運行原理,采用IPC+PMAC運動控制卡搭建了開放式自動換刀機構控制系統。IPC作為上位機完成人機交互和管理功能,PMAC作為下位機完成運動控制和邏輯控制功能。基于C#語言在Windows平臺上開發了多工位彈簧機自動換刀機構的專用控制系統,實現了自動換刀機構的自動松夾刀具、自動卸刀、自動裝刀控制,以及刀具信息管理的功能。
多工位彈簧機成形面板圍繞芯軸均布了8個成形運動滑座,滑座上安裝有不同成形作用的刀具,如折彎刀、曲線規、節距刀、輔助刀和輔助芯等。通過電機控制滑座運動,實現不同刀具向芯軸上的線材方向的組合進給與調控,實現不同的成形作用。課題組自主設計研發的自動換刀系統主要包括旋轉刀庫、自動松夾裝置和自動換刀手臂3大部分。旋轉刀庫基本與加工中心刀庫類似,主要負責在圓盤中存儲刀具,需要1個電機負責選刀操作,1個氣缸負責推動選刀套倒下和收回操作。在8個成形滑座上分別設計了刀具自動松夾裝置,并通過8個氣缸的動作和設計的功能裝置,實現了8個工位彈簧機刀具的自動松夾動作。自動換刀手臂是針對多工位彈簧機的刀具布置特點設計的多自由度運動手臂,可以實現8個成形工位的刀具裝卸操作和與刀庫端的刀具更換操作,由1個旋轉氣缸、2個直線氣缸、1個夾爪氣缸和1個伺服電機的組合運動實現對應的動作。設計的彈簧機的自動換刀系統整體如圖1所示。

圖1 帶自動換刀機構的彈簧機整體結構
由于本控制系統需要較好的開放性和擴展性,自動換刀機構的控制系統硬件采用了NC嵌入PC型的開放式控制體系,這種架構優點顯著,很多學者都對其進行了研究[4-7]。PC部分采用工控機顯示人機交互、刀具數據存儲管理等功能,NC部分采用Delta Tau公司設計的Turbo PMAC Clipper多軸運動控制卡,完成PC部分下發的電機運動、輸入輸出控制等指令。Turbo PMAC Clipper是一種功能強大的,但是又同時具備結構緊湊和超高性價比優點的多軸控制器,提供了1個四軸伺服或步進控制加32個數字I/O 點的最小配置,控制軸數可以擴展至八軸及十二軸,I/O也可以擴展[8]。工控機與多軸控制器之間采用以太網通訊方式保證通訊的速率和可靠性,運動控制卡接收到上位機的指令后,經過計算,通過DTC-8B電機轉接板發送指令到伺服驅動器驅動電機運動,通過ACC-34AT的I/O板輸出信號給氣缸的電磁換向閥控制氣缸運動,同時將電機編碼器信號、氣缸到位信號通過接口板反饋給控制卡,達到精確控制的效果。所搭建的硬件系統如圖2所示。

圖2 自動換刀機構控制系統硬件系統
控制系統軟件開發包含上位機的刀具管理和界面顯示等模塊程序編寫,主要包括彈簧機在位刀具管理模塊、刀庫內刀具管理模塊、自動換刀系統初始化模塊、刀庫選刀模塊和裝刀及卸刀模塊;同時也包含Clipper運動控制卡內的相關參數設置、運動程序和PLC程序的編寫,上下位機通過PcommServer控制卡動態鏈接庫進行數據的通訊。整體架構如圖3所示。

圖3 控制系統軟件開發架構
通過PMAC提供的可異步操作并快速重復執行PLC程序,可以完成板卡初始化配置、自動換刀系統位置初始化、各工位刀具裝刀和卸刀等操作。PLC程序對應功能如表1所示。首先設置初始狀態,保證運動時具有參照零位,然后根據8個工位的裝刀和卸刀動作分別設計了16個PLC程序,可以控制電機的旋轉位置和氣缸的執行動作及順序。在 PLC1程序中對ACC-34AT I/O板的進行初始化配置,定義M0~M31變量地址分別指向AI0~AI15、BO0~BO15輸入和輸出接口,用以實現對相應輸入接口狀態的監控和輸出接口信號的控制。系統輸入設備主要是氣缸的到位信號,輸出設備為8組自動松夾氣缸和自動換刀手臂用的4組氣缸。

表1 板卡PLC程序和功能
上位機程序基于C#語言在Windows系統的VS2019開發平臺進行開發。C#是微軟公司發布的一種面向對象的、運行于.NET Framework和.NET Core(完全開源,跨平臺)之上的高級程序設計語言,是一種安全的、穩定的、簡單的、優雅的,由C和C++衍生出來的面向對象的編程語言[9]。通過添加引用選擇PcommServer 1.0 Type Library的com組件,調用PMAC運動控制卡提供的動態鏈接庫,在程序編寫時添加using PCOMMSERVERLib指令引用該庫,即可使用庫中的函數。該庫為開發人員提供了豐富的函數接口,主要用到的庫函數有如下幾種:
PMAC.SelectDevice(); 選擇運動卡編號
PMAC.Open(); 連接選擇的運動卡
PMAC.GetResponse(); 發送在線指令
PMAC.Download(); 程序下載
PMAC.Close(); 關閉與運動控制卡的通訊
上位機主要分為刀庫中刀具管理模塊、刀庫選刀模塊、彈簧機在位刀具管理模塊、自動換刀手臂初始化模塊及裝刀和卸刀控制模塊。刀具的自動更換最主要的是裝刀和卸刀的2個過程。二者有著嚴謹的邏輯流程。在裝刀時,首先選中刀庫中存儲的刀具,此時將選中的刀具旋轉到刀庫換刀點并倒下刀套,到位后選擇彈簧機無刀工位,發送裝刀命令,自動換刀手臂按照設定好的換刀程序將刀庫中的刀具夾取到裝刀工位并夾緊,手臂回到初始位置狀態,完成裝刀動作;在卸刀時,首先選中刀庫中無刀的刀套序號,選刀令空刀套倒下,選擇要卸刀的工位,發送卸刀命令,自動換刀手臂按照設定程序將該工位上的刀具夾取到刀庫空刀套中,手臂回到初始位置狀態。在裝刀和卸刀時,需要在程序中進行一些判定是否符合可以執行換刀動作,防止誤操作導致刀具管理混亂,甚至撞刀現象。具體流程如圖4和5所示。符合執行換刀動作時,向控制卡發送在線指令“ENABLE PLC n”調用對應的PLC程序。

圖4 裝刀流程邏輯示意

圖5 卸刀流程邏輯示意
自動換刀系統初始化模塊是在程序啟動時,將各個動作執行元件的位置進行初始化操作。旋轉刀庫電機和換刀手臂中的電機進行回零操作時,使用在線指令的為“#nhm”,電機會按照設定的旋轉方向尋找觸發光電開關的信號,找到信號后設置回零位;同時控制電磁換向閥使各組氣缸處于初始狀態位。這樣在選刀和多工位刀具更換時才可以有基準參照,找到準確位置。
刀庫選刀模塊是根據刀庫中的刀具對應的角度控制電機位置,使用在線指令“#nj=xxx”進行選刀。選刀到位后使用氣缸使刀套倒下進而方便換刀手臂操作。
為了實現上位機刀具的程序化管理,需要設置刀具管理模塊。本文使用了C#中的文本IO讀寫接口,對刀庫存儲的刀具和彈簧機在位的刀具進行管理[10]。在程序開頭使用using System.IO調用文本操作函數,文本的信息讀取采用的是StreamReader類函數,文本的寫入操作采用 StreamWriter類函數。分別建立刀庫的刀具管理文件和彈簧機在位刀具管理文件,在程序啟動時自動讀取保存在文本中的刀具序號和名稱,顯示在對應的位置;程序關閉時自動將經過一系列換刀動作后的刀具最新信息保存在對應的文件中。
針對刀具如果需要人為更換的情況,還設置了人工修改刀具信息的模塊,可以直接將對應的刀具信息進行修改保存。
人機界面設計如圖6所示,主要由選刀區、彈簧機在位刀具顯示區和換刀操作區組成。將來可擴展更多功能,如刀具詳細數據管理,包括刀具的形狀尺寸、刀具的使用周期、刀具的位置參數等。

圖6 多工位彈簧機自動換刀系統人機界面
為了檢驗所構建的控制系統的有效性,在自主設計的多工位彈簧機自動換刀系統的物理樣機上進行了實際裝刀測試和卸刀測試。通過對各成形工位的換刀機構進行測試試驗,所構建的控制系統能夠按照設計意圖合理順序驅動各部分動作執行機構,包括旋轉伺服電機和各氣缸執行元件。以3號工位為例,經測試,自動換刀手臂從刀庫初始位置開始到達3號成形工位進行裝刀或卸刀工作后,并返回刀庫初始位置,整個流程用時為50 s,相比原有的人工拆刀-選刀-裝刀過程大大減少了用時。換刀過程全程由計算機系統控制,運行平穩,邏輯性較好,無干涉發生,控制系統各項功能運行正常。表明所搭建的IPC+PMAC的開放式控制系統,能夠很好地滿足對自主設計的多工位彈簧成形機自動換刀機構實際運行的控制需求。
針對自主設計的多工位彈簧機的自動換刀機構缺乏運動控制的設計,進行了自動換刀系統的控制系統開發,采用IPC+PMAC的架構建立了上下位機的控制模式,上位機完成了人機交互、刀具管理和刀具更換的非實時控制體系,下位機完成了運動控制、輸入輸出邏輯控制的實時控制。并且基于C#語言開發了人機界面,針對換刀過程的流程進行了嚴謹的邏輯判定。經過實際測試,本系統可以滿足自主設計的多工位彈簧機自動換刀機構的控制要求,提高了彈簧機自動化、柔性化水平。