楊九銅 梅宇亮 王昱晨 周任杰 朱志松
摘要:針對現(xiàn)有的絎縫機斷線斷電后恢復加工產(chǎn)生的位置偏移、重復走線等問題,提出一種關于絎縫機斷線斷電后恢復加工的方法,提供自動與手動兩種恢復方式。絎縫機發(fā)生斷線斷電時,機頭自動移動到機械原點位置。自動方式下,上位機根據(jù)下位機反饋的斷線斷電位置,判斷斷點位置所處絎縫類型,根據(jù)絎縫類型的不同改寫G代碼,從斷點處插入改寫的G代碼繼續(xù)加工;手動方式由操作者選擇軌跡,截取從選定軌跡處絎縫花型文件,生成新G代碼恢復加工。
關鍵詞:絎縫機;G代碼;花型;斷線斷電恢復
中圖分類號:TG659文獻標志碼:A文章編號:1009-265X(2020)01-0089-05Research on Processing Resuming After Thread Breakage or
Power Outage of Quilting Machine Based on G Code
YANG Jiutong, MEI Yuliang, WANG Yuchen, ZHOU Renjie, ZHU Zhisong
Abstract:In response to the problems of position deviation and repeated routing while resuming processing after thread breakage or power outage of the existing quilting machine, a method for resuming processing of quilting machine after thread breakage or power outage is proposed, which provides automatic mode and manual mode. In the case of thread breakage or power outage, the headpiece automatically moves to the original point of the mechanical coordinate. In automatic mode, the master computer judges the type of quilting trajectory where the breakpoint is located according to the feedback from the slave computer, G code will be rewritten according to the type of quilting trajectory, and the rewritten G code will be inserted into the breakpoint to continue processing. In manual mode, the system program will capture the file on quilting pattern from the manually selected trajectory and generate new G code to resume processing.
Key words:quilting machine; G code; pattern; processing resuming after thread breakage or power outage
絎縫機是用于縫制床墊、床罩上線性圖案的紡織機械,在絎縫過程中,計算機控制針架與布料之間的相對運動,縫制出各種預先設計的圖案[1]。絎縫機在加工時會發(fā)生意外斷電或針梭不同步導致斷線的情況,在現(xiàn)有機器上操作者需要立刻暫停生產(chǎn),通過手動操作絎縫機頭回到斷線斷電位置,與真實斷點存在位置誤差,在恢復加工后會導致花型變形,影響圖案美觀。同時,由于G代碼中圓弧代碼的圓心增量值已發(fā)生變化,因此斷點若在圓弧上,則無法使用原G代碼繼續(xù)加工。因此亟需開發(fā)一種新的方法來解決這種問題。
本文提出了一種基于倍福系統(tǒng)[2]和G代碼的絎縫機斷線斷電后恢復加工的方法,提供自動和手動加工兩種方式:a)自動方式下可從當前斷線斷電處恢復,根據(jù)斷線斷電處絎縫軌跡不同和下位機保存的斷點坐標,上位機插入改寫的G代碼以恢復加工;b)手動方式下,由操作者在上位機圖形界面上選定軌跡,生成從指定軌跡起始的新G代碼,并發(fā)送到下位機繼續(xù)加工。斷線情況下使用手動方式,可加固斷線前已完成的部分絎縫。通過對G代碼的重新編輯和定位恢復斷線斷電后的繼續(xù)加工,提升工作效率。
1絎縫花型文件介紹
上位機根據(jù)設計者設計的床墊、床罩上縫制的圖案形成花型文件,文件中每一行代表一段花型軌跡,每段軌跡具有固定格式,如圖1所示。第一位代表線段類型:0代表直線,1代表圓弧,2代表虛線;第二位、第三位代表起點的X、Y坐標值,第四位、第五位代表終點的X、Y坐標值;若線段類型為圓弧,則第六位、第七位分別代表圓弧起點相對于圓心X、Y的坐標增量,第八位代表圓弧旋向,0代表順時針,1代表逆時針;若線段類型為直線,則第六、七、八位均為0;第九位代表絎縫機加工速度。圖1花型文件格式
使用Python語言編程,將線段類型作為標記位以區(qū)分直線、圓弧、虛線[3],根據(jù)每段花型不同位代表的不同格式特征,通過識別不同標記位生成G代碼文件。若線段類型為直線,根據(jù)起點與終點X、Y坐標值,繪制直線元素item,添加到圖形視圖框架Qgraphicsview中;若線段類型為圓弧,根據(jù)起點與終點坐標值、圓弧起點相對于圓心X、Y坐標值以及旋向,使用QT中span方法繪制圓弧元素item并添加到視圖框架中?;ㄐ蛨D案如圖2所示。
2斷線斷電方案設計
2.1斷線斷電恢復原理
當斷線斷電等意外發(fā)生時,絎縫機下位機保存現(xiàn)場,上位機控制系統(tǒng)自動讀取保存的斷點處的位置坐標、G代碼行號等數(shù)據(jù),同時控制絎縫機頭回到機械坐標原點,并提供手動與自動兩種恢復加工方式。操作者選擇自動恢復加工方式時,上位機生成回斷點的G代碼指令,此時根據(jù)當前加工軌跡不同操作有異,直線指令包含終點坐標,圓弧指令僅包含終點與圓心相對于起點增量值坐標,若為直線則調(diào)用原G代碼;若為圓弧,則需要計算圓弧相對于斷點位置的坐標增量值,生成當前圓弧的G代碼,同時合并原G代碼,恢復絎縫機加工。操作者選擇手動方式恢復加工時,由于每一段軌跡均對應花型文件中的一行代碼且在圖形視圖框架Qgraphicsview上順序生成圖形,可由當前選定軌跡所處層次查找花型文件對應行號,截取并保留選定軌跡之后的花型文件,重新生成G代碼,恢復絎縫機加工。絎縫機斷線斷電恢復加工方案如流程圖3所示。
2.2恢復加工
2.2.1位置反饋
絎縫機加工時,下位機將當前機頭位置相對于機械坐標原點的X,Y坐標和當前加工線段所在G圖3方案流程
代碼行號實時保存在倍福寄存器中。若發(fā)生斷線斷電,上位機讀取保存的斷點位置與行號并獲得位置反饋。讀取斷點處的行號方法如下。
line_number=plc.read_by_name(′.ADI_linenumber′,pyads.PLCTYPE_UINT)
上、下位機間采用ADS通訊[4],導入ADS的Python封裝庫pyads[5],調(diào)用plc.read_by_name()函數(shù),通過讀取寄存器變量名方式獲得寄存器內(nèi)容。其中,.ADI_linenumber代表行號寄存器的變量名;pyads.PLCTYPE_UINT代表行號寄存器中存放的整型數(shù)據(jù)。
2.2.2返回原點
發(fā)生斷電斷線狀況后,上電后發(fā)送G代碼“G00 X0 Y0”到下位機,機頭快速返回原點,系統(tǒng)根據(jù)中止加工的類型[6],若為斷線,則操作者在原點位置重新穿線。
2.2.3選擇恢復加工方式
當絎縫機機頭回到原點后,上位機提示操作者根據(jù)實際需求選擇恢復加工方式。
a)若從斷點處繼續(xù)加工,則采用自動方式加工,判斷是否改寫G代碼,插入從斷點處繼續(xù)的G代碼;
b)若自行選擇繼續(xù)加工位置,則采用手動方式加工,生成從操作者選擇加工位置繼續(xù)的G代碼。
2.2.4自動恢復生產(chǎn)
操作者選擇自動方式,絎縫機將從斷點處恢復加工。上位機讀取下位機保存的斷點坐標x1,y1,發(fā)送G代碼指令“G00 Xx1 Yy1”到下位機,絎縫機頭移動到G代碼指令中保存的斷點位置。
上位機讀取斷點位置G代碼所在行號line_number,若斷點所在軌跡為直線,直線G代碼中已存在直線終點坐標,無相對坐標的影響,因此無需改寫G代碼。在G代碼起始位置插入跳轉(zhuǎn)語句,將line_number行及之后G代碼發(fā)送至下位機,下位機收到指令后繼續(xù)完成花型文件的加工;若斷點所在軌跡為圓弧,圓弧G代碼中的I,J表示圓心坐標相對于圓弧起點增量值[7],此時圓弧起點發(fā)生變化,相對于圓心增量值也發(fā)生變化,如圖4所示。若從斷點處繼續(xù),此圓弧G代碼中圓心坐標的增量值發(fā)生變化,因此需要將斷點處作為圓弧新起點,重新計算圓弧圓心相對于新起點的坐標,改寫圓弧G代碼[8]。改寫圓弧G代碼如流程圖5所示。
上位機讀取斷點處G代碼行號,調(diào)用斷線斷電前的圓弧G代碼獲得圓弧起點坐標lastX,lastY,圓心相對于起點坐標增量值oldI,oldJ,計算出斷點處圓弧圓心相對于新起點的newI,newJ坐標,生成新圓弧G代碼“G02 Xx2 Yy2 InewI JnewJ”,系統(tǒng)插入該代碼并發(fā)送至下位機,絎縫機恢復加工。生成新G代碼方法如下。
realseq=int((line_number-10)/10)
newI=float(oldI+lastX-(xshutdown))
newJ=float(oldJ+lastY-(yshutdown))
newline=″.join([gcode[realseq].split(″)[0][0:],x3,y3,′I′+str(newI),′J′+str(newJ),gcode[realseq].split(″)[6][0:])
gcode.insert(0,′N1′+′G00X′+str(xshutdown)+′Y′+str(yshutdown))
根據(jù)斷點處上一行行號realseq,split()函數(shù)截取字符判斷斷線處軌跡類型。其中,G02代表順時針圓弧,G03代表逆時針圓弧[9],x3,y3為原圓弧終點坐標值。獲取斷線斷電前G代碼圓心相對于圓弧起點增量oldI,oldJ,以及圓弧起點坐標lastX,lastY,計算新的圓弧起點相對于圓心的增量newI,newJ。join()函數(shù)連接字符串,生成新圓弧G代碼替換斷線斷電前G代碼中相應位置,在G代碼列表gcode起始位置插入快速移動到斷點處G代碼,其中,xshutdown,yshutdown為斷點坐標。
2.2.5手動恢復生產(chǎn)
操作者選擇花型中某一軌跡加工,如圖6所示,系統(tǒng)返回當前軌跡在圖形容器中的層次序號,定位到花型文件中,作為起始花型軌跡,重新生成G代碼。
1—虛線框表示從此處往后加工
選擇圖形上的軌跡元素,觸發(fā)mousePressEvent事件獲得當前元素,為確保選中單一軌跡,清空場景scene中的原有選擇,同時設置當前軌跡為選中狀態(tài),方法如下。
def mousePressEvent(self, Event):
self.scene.clearSelection()
items=self.scene.items()
self.setSelected(True)
操作者選定軌跡后,軌跡序號sn,當前軌跡元素curitem傳遞給槽函數(shù)press_slot。獲取選定軌跡序號方法如下。
def press_slot(self, sn, curitem):
item_selected=len_items-sn
gcode=gcode[item_selected:]
其中,len_items為當前花型中所有元素個數(shù),item_selected為選定軌跡在花型文件中的序號,由于每行花型代碼對應一行G代碼,因此可作為當前位置,截取G代碼。
上位機根據(jù)返回的當前軌跡序號,調(diào)用split()函數(shù)獲取選擇軌跡處G代碼X軸坐標x4、Y軸坐標y4,insert()函數(shù)在G代碼列表gcode起始位置插入“G00 Xx4 Yy4”,將絎縫機頭定位到操作者所選軌跡起點處。更新G代碼方法如下。
x4=float(gcode[item_selected-1].split('')[2][1:])
y4=float(gcode[item_selected-1].split('')[3][1:])
gcode.insert(0,′N1′+′G00 X′+str(x4)+′Y′+str(y4))
該方式可實現(xiàn)指定加工功能,允許操作者自由選擇花型圖中任意位置作為加工起點。
3結(jié)語
本文介紹了絎縫機加工花型、絎縫機加工工況,以及基于G代碼的絎縫機對斷線斷電等意外突發(fā)狀況的兩種處理方式。自動恢復方式操作簡單,從斷點處自動恢復加工,省去了現(xiàn)有設備中需要人工校準等繁瑣的操作步驟,提高了絎縫的準確性和工作效率;手動恢復方式可指定任意線段或圓弧作為恢復絎縫加工的起點,靈活性和實用性較強。
參考文獻:
[1] 趙福英.電腦絎縫機控制系統(tǒng)的研究[D].蘇州:蘇州大學,2018.
[2] 德國倍福自動化有限公司.倍福TwinCAT實現(xiàn)高效的機械工程和高性能玻璃加工[J].智慧工廠,2016(10):53-54.
[3] 周春林,張燕鵬,黃智全,等.基于Android的DXF文件解析以及數(shù)控代碼的生成[J].電子世界,2018(11):35-36.
[4] 林經(jīng)開.基于ADS通訊的地毯簇絨機上位機軟件設計[D].上海:東華大學,2017.
[5] STEFAN L. Pyadspython package[DB/OL]. [2019-2-19].https://pypi.org/project/pyads/.
[6] 謝一首,華鑫炎,李慶,等.基于視覺的經(jīng)編機紡紗斷線檢測技術研究[J].科技創(chuàng)新與應用,2017(8):31-32.
[7] 徐佰溫,唐偉.PythagoreanHodograph曲線插補及其G代碼編程的實現(xiàn)[J].組合機床與自動化加工技術,2017(1):102-104,108.
[8] 張永林.數(shù)控銑床鉆孔不同G代碼的應用[J].現(xiàn)代制造技術與裝備,2017(8):52-54.
[9] 王卉,張彤.G代碼B類宏程序在數(shù)控切割參數(shù)化圖形庫中的應用[J].焊接,2015(9):56-58.
收稿日期:2019-01-29網(wǎng)絡出版日期:2019-06-13
基金項目:江蘇高校優(yōu)勢學科建設工程資助項目(蘇財教〔2018〕192號);江蘇省高等學校大學生創(chuàng)新創(chuàng)業(yè)訓練計劃(201810304070Y)
作者簡介:楊九銅(1998-),男,江蘇海安人,2016級機械設計制造及其自動化專業(yè)本科生。
通信作者:朱志松,Email:zhu.zhs@ntu.edu.cn