用戶宏程序課件_第1頁
用戶宏程序課件_第2頁
用戶宏程序課件_第3頁
用戶宏程序課件_第4頁
用戶宏程序課件_第5頁
已閱讀5頁,還剩106頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、關于用戶宏程序第一張,PPT共一百一十一頁,創(chuàng)作于2022年6月第一部分:用戶宏程序編程一、宏程序應用概述 定義:用戶宏程序是“除了使用通常的CNC指令外,還可以使用帶變量的CNC指令,進行變量運算,使用跳轉(zhuǎn)、循環(huán)指令等”具有某種功能的一組命令,象數(shù)控加工程序一樣存儲在內(nèi)存中。 存儲的這組命令稱為用戶宏程序主體(簡稱宏程序),用戶宏程序可以被“調(diào)用宏程序的指令” 調(diào)用??梢宰鳛橹鞒绦颉⒆映绦?。調(diào)用宏程序 指令具有某種功能的一組命令 O0001; G65P9010R50.0L2; M30;O9010;#1=#18/2;G01X#1 Z#1 F0.3;G02X#1 Z-#1 R#1;M99;加工程

2、序用戶宏程序第二張,PPT共一百一十一頁,創(chuàng)作于2022年6月(一)宏程序與普通程序的對比 一般意義上的數(shù)控編程(普通程序),是使用數(shù)控系統(tǒng)給定的指令代碼進行編程。每個代碼的功能固定,只要按規(guī)定使用即可。為了擴展編程功能,F(xiàn)ANUC數(shù)控系統(tǒng)廠家在一般指令代碼功能基礎上,又提供了用戶宏程序功能,簡稱宏程序。區(qū)別如下: 普通程序使用常量,常量之間不能運算,程序只能順序執(zhí) 行不能跳轉(zhuǎn),程序沒有通用性; 宏程序可以使用變量(可以賦值),變量之間可以運算, 程序運行可以跳轉(zhuǎn),程序具有通用性。第三張,PPT共一百一十一頁,創(chuàng)作于2022年6月(二)宏程序與CAD/CAM軟件生成的程序?qū)Ρ?宏程序短小精悍,

3、任何數(shù)控加工只要能夠用宏程序完整表達,即使再復雜,其程序也比較精煉篇幅小,優(yōu)化后的宏程序段數(shù)很少超過60行,這對于一般數(shù)控裝置的程序存儲空間為128KB、256KB標準配置來說,都能容納下任何復雜的宏程序。不需要考慮因程序較長進行在線加工時,數(shù)控系統(tǒng)與外部電腦的傳輸率不夠問題。 CAD/CAM軟件生成的程序通常都比較大,因為其生成刀具軌跡的原理采用直線(微線段)逼近曲線曲面,所以不但程序長,而且存在逼近誤差。(三)用戶宏程序與一般子程序?qū)Ρ?子程序可用于同一操作的重復執(zhí)行,用戶宏程序具有此功能, 還允許使用變量、算術和邏輯操作、條件轉(zhuǎn)移等,也可以擴展 一般程序,如凹槽循環(huán)和用戶定義的循環(huán)。加工

4、程序可以調(diào)用 帶有簡單命令的用戶宏程序。第四張,PPT共一百一十一頁,創(chuàng)作于2022年6月FANUC 數(shù)控系統(tǒng)具有用戶宏程序功能。 宏程序的最大特點: 在宏程序中,除了使用通常的CNC指令外,還可以使用帶 變量的CNC指令,進行賦值、變量運算,使用跳轉(zhuǎn)、循環(huán) 指令等指令。根據(jù)宏程序功能范圍的不同分為: 用戶宏程序A 用戶宏程序B 現(xiàn)代FANUC系統(tǒng)已不分“用戶宏程序A”和“用戶宏程序 B”,取消了宏程序A,統(tǒng)稱為用戶宏程序。第五張,PPT共一百一十一頁,創(chuàng)作于2022年6月二、基礎理論2.1 變量概念 普通加工程序用數(shù)值指定G代碼和位移距離 例如:G01和X100.0。 使用宏程序時,數(shù)值可以

5、直接指定,而且可用變量指定代 碼和位移等,變量值可以用程序或用MDI方式設定或修改。 例如: #1= #2+100; G01 X#1 F500; G#3 , #3=02第六張,PPT共一百一十一頁,創(chuàng)作于2022年6月2.2 變量的表示 一般計算機程序語言允許使用變量名,用戶宏程序則不行。用戶宏程序的變量需用變量符號“#”和其后的變量號指定,變量號可以直接用數(shù)值或表達式表示,其格式為: i(i =1、2、3、)。例如,#12,102,1006等。用表達式指定變量號時,表達式必須放在括號內(nèi)。例如,#1+#2-12。 變量可以代替宏程序中地址后面的數(shù)值,變量的值可由調(diào)用用戶宏程序的指令給宏程序主體

6、賦值,或者在執(zhí)行宏程序主體時由得出的計算值決定。使用復數(shù)個變量時,可由變量號決定。2.2.1 變量的引用 1.變量可被引用為代替宏程序中地址后面的數(shù)值 如 F103,表示進給速度由變量103的值指定,當103=1.5時,與F1.5指令的相同。又如,G130,當130=3時,與G03指令相同; 第七張,PPT共一百一十一頁,創(chuàng)作于2022年6月 2.變量可被引用為指定意義,如:位移、代碼等。 如G00Z-100,表示刀具在-Z方向快速定位到變量100指定的位置,當100=250時,與G00Z-250.0指令的相同; 此外,用變量j代替變量號碼i時,不能用j表示,而用9j。當110=120(110

7、為j, 120為變量號碼),120=500時,則為9110=500。地址O,N不能引用變量,即不能使用O100,N120。變量值可以顯示,可以用MDI鍵設定。 3.自變量賦值(指定) 在宏程序中給使用的變量所賦予的實際值叫做自變量賦值。自變量由地址和后面的數(shù)字指定。除O之外的地址均可指定自變量,自變量的地址和變量號必須一一對應。例如自變量的地址I、J、K與宏程序內(nèi)的變量一一對應 賦值:直接指定、調(diào)用宏程序指令傳送、表達式指定 此外自變量還有標志號,如指定自變量標志為1,否則為0。 自變量被指定,變?yōu)橹付ㄖ?,否則變?yōu)橄率銮闆r: 參照CNC指令,指定的自變量地址無效。 參照運算指令和轉(zhuǎn)移指令。第八

8、張,PPT共一百一十一頁,創(chuàng)作于2022年6月2.2.2 變量的類型 按變量號、使用范圍和功能,變量分為四種類型,見表1。表1 變量類型變量號變量類型功能 #0總是空(空變量)這個變量總是空,沒有值賦予該變量。#1#33局部變量局部變量只能在宏程序中存儲數(shù)據(jù),例如:運算結(jié)果。斷電時,局部變量清除(初始化為空)??梢栽诔绦蛑袑ζ滟x值。#100#149(#199)#500#531(#999) 公共變量公共變量在不同的宏程序中的意義相同,即公共變量對于主程序和從這些主程序調(diào)用的每個宏程序來說是公用的。斷電時,#100#199清除(初始化為空) 通電時復位到“0”。而#500#999數(shù)據(jù),即使在斷電時

9、,也不清除。#1000以上系統(tǒng)變量系統(tǒng)變量用于讀和寫CNC運行時各種數(shù)據(jù)變化。例如,刀具當前位置和補償?shù)取5诰艔?,PPT共一百一十一頁,創(chuàng)作于2022年6月注:公共變量 #150 到 #199 及 #532 到 #999 是隨意的(可選擇)2.2.3 變量值的范圍 局部變量和公共變量的值可以是0或以下范圍中的值: -1047-1029 0 +10-29+1047 如果計算結(jié)果超出有效范圍,則觸發(fā)程序錯誤P/S, 報警NO.111。2.2.4 小數(shù)點的省略 當在程序中定義變量值時,整數(shù)值的小數(shù)點可以省略。 例如:#1=123,變量#1的實際值是123.000。第十張,PPT共一百一十一頁,創(chuàng)作于

10、2022年6月2.2.5 變量使用時注意的問題 在程序中使用變量時,應指定變量號地址。 當用表達式指定變量時,必須把表達式放在括號中,例如:G01 X#11+#22 F#3。 被引用變量的值根據(jù)地址的最小設定單位自動的四舍五入。例如:當G00 X#11,以1/1000mm的單位執(zhí)行賦值12.3456時,CNC把12.3456賦值給變量#11,實際指令值為G00X12.346。 改變引用變量的值的符號,要把“-”號放在#的前面,例如:G00X-#11。 當引用未定義的變量時,變量及地址都被忽略。例如:當變量#11的值是0,并且變量#22的值是空時,G00X#11Y#22的執(zhí)行結(jié)果是G00X0。

11、所謂“變量的值是0”與“變量的值是空”是二個完全不同的概念,可以這樣理解: “變量的值是0”相當于“變量的數(shù)值等于0”, “變量的值是空”意味著“變量所對應的地址不存在,不生效”,未定義。第十一張,PPT共一百一十一頁,創(chuàng)作于2022年6月 不能用的變量地址符號有:程序號O,順序號N,任選程序段挑轉(zhuǎn)號 /。例如以下情況不能使用變量: O#11; /O#22G00X100.0; N#33Y200.0; 使用ISO代碼編程時,用“#”代碼表示變量,若用EIA代碼,則應用“”代碼代替“#”代碼,因為EIA代碼中沒有“#”代碼2.3 系統(tǒng)變量 空變量、局部變量和公共變量的意義見表1功能說明部分,不再贅

12、述。下面介紹系統(tǒng)變量。 系統(tǒng)變量用于讀和寫CNC內(nèi)部數(shù)據(jù),例如,刀具偏置值和當前位置數(shù)據(jù)。無論用戶宏程序A或用戶宏程序B,系統(tǒng)變量的用法都是固定的,而且某些系統(tǒng)變量為只讀,用戶必須嚴格按照規(guī)定使用。 系統(tǒng)變量是自動控制和調(diào)用加工程序開發(fā)的基礎。系統(tǒng)變量的內(nèi)容見表2。第十二張,PPT共一百一十一頁,創(chuàng)作于2022年6月表2 FANUC 0i系統(tǒng)變量一覽表 變量號 含義#1000#1015,#1032 接口輸入變量#1100#1115,#1132,#1133 接口輸出變量#10001#10400,#11001#11400 刀具長度補償值#12001#12400,#13001#13400 刀具半徑補

13、償值#2001#2400 刀具長度與半徑補償值(位置組數(shù) 200時)#3000 報警#3001,#3002 時鐘#3003,#3004 循環(huán)運行控制#3005 設定數(shù)據(jù)(SETTING值)#3006 停止和顯示信息#3007 鏡像#3011,#3012 日期和時間#3901,#3902 零件數(shù)#4001#4120,#4130 模態(tài)信息#5001#5104 位置信息#5201#5324 工件坐標系補償值(工件零點偏移值)#7001#7944 擴展工件坐標系補償值(工件零點偏 移值)第十三張,PPT共一百一十一頁,創(chuàng)作于2022年6月下面對系統(tǒng)變量進行說明2.3.1 接口(輸入輸出)信號接口信號是

14、可編程機床控制器(PMC)和用戶宏程序之間交換的信號,具體內(nèi)容見表3。表3 FANUC 0i 接口信號的系統(tǒng)變量 變量號 功能#1000#1015 把16位信號從PMC送到用戶宏程序。變量#1000#1032 #1015用于按位讀取信號;變量#1032用于一 次讀取一個16位信號#1100#1115 輸出: 把16位信號從用戶宏程序送到PMC。變量#1100#1132 #1115用于按位寫信號;變量#1132用于一次 寫一個16位信號#1133 變量#1133用于從用戶宏程序一次寫一個32位 信號送到PMC。#1133的值為從-99999999到 +99999999注:只有使用FANUC PM

15、C時,才能使用上表中的變量。在運算中,系統(tǒng)變量 #1000#1015和#1032不能用作左邊的項。 下面對系統(tǒng)變量進行說明2.3.1 接口(輸入輸出)信號接口信號是可編程機床控制器(PMC)和用戶宏程序之間交換的信號,具體內(nèi)容見表3。表3 FANUC 0i 接口信號的系統(tǒng)變量 變量號 功能#1000#1015 把16位信號從PMC送到用戶宏程序。變量#1000#1032 #1015用于按位讀取信號;變量#1032用于一 次讀取一個16位信號#1100#1115 輸出: 把16位信號從用戶宏程序送到PMC。變量#1100#1132 #1115用于按位寫信號;變量#1132用于一次 寫一個16位信

16、號#1133 變量#1133用于從用戶宏程序一次寫一個32位 信號送到PMC。#1133的值為從-99999999到 +99999999注:只有使用FANUC PMC時,才能使用上表中的變量。在運算中,系統(tǒng)變量 #1000#1015和#1032不能用作左邊的項。 下面對系統(tǒng)變量進行說明2.3.1 接口(輸入輸出)信號接口信號是可編程機床控制器(PMC)和用戶宏程序之間交換的信號,具體內(nèi)容見表3。表3 FANUC 0i 接口信號的系統(tǒng)變量 變量號 功能#1000#1015 把16位信號從PMC送到用戶宏程序。變量#1000#1032 #1015用于按位讀取信號;變量#1032用于一 次讀取一個1

17、6位信號#1100#1115 輸出: 把16位信號從用戶宏程序送到PMC。變量#1100#1132 #1115用于按位寫信號;變量#1132用于一次 寫一個16位信號#1133 變量#1133用于從用戶宏程序一次寫一個32位 信號送到PMC。#1133的值為從-99999999到 +99999999注:只有使用FANUC PMC時,才能使用上表中的變量。在運算中,系統(tǒng)變量 #1000#1015和#1032不能用作左邊的項。 第十四張,PPT共一百一十一頁,創(chuàng)作于2022年6月2.3.2 刀具補償值用系統(tǒng)變量可以讀和寫刀具補償值。通過系統(tǒng)變量賦值,可以修改刀具補償值,見表4。表4 FANUC 0

18、i刀具補償存儲器C的系統(tǒng)變量補償號刀具長度補償?shù)毒甙霃窖a償幾何補償磨損補償幾何補償磨損補償12199200201399400#11001(#2201)#11002(#2202)#11199#2399)#11200(#2400)#112001#11399#11400#10001(#2001)#10002(#2002)#10199(#2199)#10200(#2200)#10201#10399#10400#13001#13002 #13199#13200#13201 #13399#13400#12001#12002 #12199#12200#12201 #12399#12400第十五張,PPT共一

19、百一十一頁,創(chuàng)作于2022年6月 刀具長度補償 : 幾何補償(長度值)和磨損補償 幾何半徑補償 : 幾何補償(半徑值)和磨損補償 刀具補償號:400個,即系統(tǒng)支持控制容量達400把刀的刀庫。 當?shù)毒哐a償號小于等于200個時,刀具長度補償也可使用#2001#2400。例如:假設一把10mm的立銑刀,將其視為10號刀(若在加工中心上,是有非常明確和實在的含義,即應將此銑刀放置在刀庫的10號刀位上);對于隨機換刀的機床,刀號和刀庫位置不一定對應; 數(shù)控銑床上,盡管只能人工換刀,但為了使刀具管理和工藝管理更合理、更有序,同樣也可以效仿加工中心那樣操作,即在系統(tǒng)中記錄下相關的補償號和刀具補償值,唯一的差

20、別不過是沒有刀庫和自動換刀功能,而需要人工換刀。 刀具長度補償包括二項補償值(幾何值-長度、磨損量)在 Z方向?qū)Φ锻瓿珊笠话悴辉傩枰貏e處理。 刀具半徑補償包括二項補償值(幾何值-半徑值、磨損量) 幾何補償值=刀具半徑 即#13010=5.0,可視為對刀具的識別; 磨損補償值(#12010) 則視為對尺寸的控制。第十六張,PPT共一百一十一頁,創(chuàng)作于2022年6月 在應用宏程序編寫加工程序時,將會有以下的描述: #20=#13010 : 意義是:把刀具補償號10(即10號刀,在此既是10mm的立銑刀)的半徑5mm,作為幾何補償值賦值給變量#20,#20=5.0。 #22=#12010 : 意義

21、是:把刀具補償號10(即10號刀,在此既是10mm的立銑刀)的半徑方向磨損值1.2mm,作為磨損補償值賦值給變量#22,在這里,#20=1.2。2.3.3 模態(tài)信息 正在處理的當前程序段之前的模態(tài)信息可從系統(tǒng)變量中讀出。 FANUC 0i 系統(tǒng)的模態(tài)信息見表5。 第十七張,PPT共一百一十一頁,創(chuàng)作于2022年6月 表5 FANUC 0i 模態(tài)信息的系統(tǒng)變量變量號 功能#4001 G00,G01,G02,G03,G33 (組01)#4002 G17,G18,G19 (組02) #4003 G90,G91 (組03)#4004 (組04)#4005 G94,G95 (組05)#4006 G20,

22、G21 (組06)#4007 G40,G41,G42 (組07)#4008 G43,G44,G49 (組08)#4009 G73,G774,G76,G80G89 (組09)#4010 G98,G99 (組10)#4011 G50,G51 (組11)#4012 G65,G66,G67 (組12)#4013 G96,G9 (組13)#4014 G54G59 (組14)#4015 G61G64 (組15)#4016 G68,G69 (組16) #4022 待定 (組22)#4102 B代碼第十八張,PPT共一百一十一頁,創(chuàng)作于2022年6月#4107 D代碼#4109 F代碼#4111 H代碼#41

23、13 M代碼#4114 順序號#4115 程序號#4119 S代碼#4120 T代碼#4130 P代碼(現(xiàn)在選擇的附加工件坐標系)注:1.P代碼為當前選擇的是附加工件坐標系。 2.當執(zhí)行#1=4002時,在#1中得到的值是17,18或19。 3.系統(tǒng)變量#4001#4120不能用于運算指令左邊的項。 4.模態(tài)信息不能寫,只能讀。另外如果閱讀模態(tài)信息指定的系統(tǒng)變量為 不能用得G代碼時,系統(tǒng)則發(fā)出程序錯誤P/S報警2. 3. 4 當前位置信息當前位置信息不能寫,只能讀。當前位置信息的系統(tǒng)變量見表6。 表6 FANUC 0i當前位置信息的系統(tǒng)變量變量號位置信息相關坐標系移動時的讀操作刀具補償值(長度

24、、半徑補償)第十九張,PPT共一百一十一頁,創(chuàng)作于2022年6月#5001 X軸程序段終點位置(ABSIO) 不考慮#5002 Y軸程序段終點位置(ABSIO) 工件 可以 刀尖位置#5003 Z軸程序段終點位置(ABSIO) 坐標系 (程序指令位置)#5004 4th軸程序段終點位置(ABSIO) #5021 X軸當前位置(ABSMT) 考慮#5022 Y軸當前位置(ABSMT) 機床 刀具基準點位置#5023 Z軸當前位置(ABSMT) 坐標系 (機床坐標系)#5024 4th軸當前位置(ABSMT) 不可以 #5041 X軸當前位置(ABSOT) 考慮#5042 Y軸當前位置(ABSOT

25、) (與位置的絕對坐標系#5043 Z軸當前位置(ABSOT) 顯示相同)#5044 4th軸當前位置(ABSOT) 工件#5061 X軸跳躍信號位置(ABSKP) 坐標系 #5062 Y軸跳躍信號位置(ABSKP 可以 已考慮#5063 Z軸跳躍信號位置(ABSKP) 刀具基準點位置#5064 4th軸跳躍信號位置(ABSKP)#5081 X軸刀具長度補償值#5082 Y軸刀具長度補償值 已考慮#5083 Z軸刀具長度補償值#5084 4th軸刀具長度補償值 不可以 #5101 X軸伺服位置補償#5102 Y軸伺服位置補償 已考慮#5103 Z軸伺服位置補償#5104 4th軸伺服位置補償?shù)?/p>

26、二十張,PPT共一百一十一頁,創(chuàng)作于2022年6月注:1.ABSIO 工件坐標系中,前一程序段終點座標志。 ABSMT 機床坐標系中,當前機床坐標位置。 ABSOT 工件坐標系中,當前坐標位置。 ABSKP 工件坐標系中,G31程序段終中跳躍信號有效的位置。 2.在G31(觸發(fā)功能)程序段終中,當觸發(fā)信號接通時的刀具位置存儲在變量 #5061#5064中,當G31程序段終中的觸發(fā)信號不接通時,這些變量存儲指定程 序段的終點值。 3.變量#5081#5084所存儲的刀具長度補償值是當前的執(zhí)行值(即當前正在執(zhí)行 中的程序段的量),不是后面的程序段的處理量。 4.移動期間不能讀取是由于緩沖(豫讀)功

27、能的原因,不能讀取目標指令值。2.3.5 工件坐標系補償值(工件零點偏移值) 用系統(tǒng)變量可以讀和寫工件零點偏移值,見表7。 表7 FANUC 0i工件零點偏移值的系統(tǒng)變量變量號功能#5201#5204 第1軸外部零點偏移值 第4軸外部零點偏移值第二十一張,PPT共一百一十一頁,創(chuàng)作于2022年6月#5221#5224第1軸G54工件零點偏移值第4軸G54工件零點偏移值#5241#5244第1軸G55工件零點偏移值第4軸G55工件零點偏移值#5261#5264第1軸G56工件零點偏移值第4軸G56工件零點偏移值#5281#5284第1軸G57工件零點偏移值第4軸G57工件零點偏移值#5301#5

28、304第1軸G58工件零點偏移值第4軸G58工件零點偏移值#5321#5324第1軸G59工件零點偏移值第4軸G59工件零點偏移值#7001#7004第1軸工件零點偏移值(G54.1 P1)第4軸工件零點偏移值(G54.1 P1)第二十二張,PPT共一百一十一頁,創(chuàng)作于2022年6月#7021#7024第1軸工件零點偏移值(G54.1 P2)第4軸工件零點偏移值(G54.1 P2)#7941#7944第1軸工件零點偏移值(G54.1 P48)第4軸工件零點偏移值(G54.1 P48)2.4 宏程序B中,算術和邏輯運算變量中可以進行運算等式右邊的表達式:包含常量或由函數(shù)或由運算符組成的變量表達式

29、中的變量 #j 和 #k 可以用常量賦值等式左邊的變量也可以用表達式賦值。算術運算:加、減、乘、除函數(shù),邏輯運算包括與、或、異或等表8 FANUC 0i 算術和邏輯運算一覽表功能 功能 格式 備注 定 定義置換 #i=#j 加法 #i=#j+#k 減法 #i=#j-# 乘法 #i=#j*#k 除法 #i=#j/#k第二十三張,PPT共一百一十一頁,創(chuàng)作于2022年6月正弦#i=sin#j三角函數(shù)及反三角函數(shù)的數(shù)值均以度為單位來指定。如9030應表示為90.5反正弦#i=Asin#j余弦#i=COS#j反余弦#i=ACOS#j正切#i=TAN#j反正切#i=ATAN#j/#K平方根#i=SQRT

30、#j絕對值#i= ABS#j舍入#i=ROUND#j指數(shù)函數(shù)#i=EXP#j自然對數(shù)#i=LN#j上取整#i=FIX#j下取整#i=FUP#j邏輯運算與#i=#jAND#k或#i=#jOR#k異或#i=#jXOR#k 從BCD轉(zhuǎn)為BIN#i=BIN#j用于與PMC的信號轉(zhuǎn)換 從BIN轉(zhuǎn)為BCD#i=BCD#j算術運算 第二十四張,PPT共一百一十一頁,創(chuàng)作于2022年6月以下是算術和邏輯運算的詳細說明:1.反正弦運算#i=Asin#j 取值范圍:當參數(shù)(No6004#0)NAT位設置為0時,在27090范圍 取值。當參數(shù)(No6004#0)NAT位設置為1時,在-9090范圍取值。 當#j超出

31、-1到1的范圍時,觸發(fā)程序錯誤P/S報警No.111。 常數(shù)可替代變量#j。2.反余弦運算#i=ACOS#j 取值范圍:1800。 當#j超出-1到1的范圍時,觸發(fā)程序錯誤P/S報警No.111。 常數(shù)可替代變量#j。3.反正切運算#i=ATAN#j/#K 采用比值的書寫方式(可理解為對邊/鄰邊)。 取值范圍:當參數(shù)(No6004#0)NAT位設置為0時,取值范圍為0 360。例如,當指定#1= ATAN-1/-1時,#1=225。當參數(shù) (No6004#0)NAT位設置為1時,取值范圍為-180180。例如,當指定 #1= ATAN-1/-1時,#1=-135 常數(shù)可替代變量#j。4.自然對

32、數(shù)運算#i=LN#j 相對誤差可能大于10-8。 當反對數(shù)(#j)為0或小于0時,觸發(fā)程序錯誤P/S報警No.111。 常數(shù)可替代變量#j。第二十五張,PPT共一百一十一頁,創(chuàng)作于2022年6月5.指數(shù)函數(shù)#i=EXP#j 相對誤差可能大于10-8。 當運算結(jié)果超過3.651047(#j大約是110)時,出現(xiàn)溢出并觸發(fā)程序錯誤P/S報警No.111。 常數(shù)可替代變量#j。6.上取整#i=FIX#j和下取整#i=FUP#jCNC處理數(shù)值運算時,無條件的舍去小數(shù)部分,稱為上取整,小數(shù)進位到整數(shù)稱為下取整(注意與數(shù)學上的四舍五入對照)。對于負數(shù)的處理要特別小心。例如:假設#1=1.2,#2=-1.2

33、 當執(zhí)行#3= FUP#1時,#3=2.0; 當執(zhí)行#3= FIX#1時,#3=1.0; 當執(zhí)行#3= FUP#2時,#3=-2.0; 當執(zhí)行#3= FIX#2時,#3=-1.0。7.算術與邏輯指令的縮寫 程序中指令函數(shù)時,函數(shù)名的前二個字符可以用于指定該函數(shù)。例如:ROUNDRO;FIXFI.8.混合運算時的運算順序 上述運算和函數(shù)可以混合運算,既涉及到運算的優(yōu)先級,其運算順序與一般數(shù)學 上的定義基本一致,優(yōu)先級順序從高到低依次為:函數(shù)運算、乘法除法和AND運算、加法減法及0R和XOR運算。例如:#1=#2+#3*COS#4,運算順序為COS#4、乘法、加法。9.括號嵌套、運算順序 括號優(yōu)先

34、,括號按先內(nèi)括號、中間括號、外括號次序進行第二十六張,PPT共一百一十一頁,創(chuàng)作于2022年6月用“”可以改變運算順序,最里層的優(yōu)先運算,括號最多可以嵌套5級(包括函數(shù)內(nèi)部使用的括號)。當超過5級時,觸發(fā)程序錯誤P/S報警No.118。例如:#6=COS#5+#4*#3+#2*1為3重嵌套。10.邏輯運算說明 邏輯運算:表9 FANUC 0i系統(tǒng)運算 AND 與 邏輯乘 11=1 10=0 00=0 ; OR 或 邏輯加 1+1=1 1+0=1 0+0=0 ; XOR 異或 邏輯減 1-1=0 1-0=1 0-0=0 0-1=1;11.運算精度 用戶宏程序運算時,必須考慮運算結(jié)果的精度。用戶宏

35、程序處理數(shù)據(jù)的浮點格式為:M=2E。每執(zhí)行一次運算,產(chǎn)生一次誤差,在重復計算的過程中,這些誤差將累加 FANUC 0i系統(tǒng)運算中的誤差精度見表9。 運算平均誤差最大誤差誤差類型a=b*c1.5510-104.6610-10相對誤差a=b/c1.8810-104.6610-10/a(絕對值)1.2410-103.7310-10a=b+ca=b-c2.3310-95.3210-9最小/b,/c(絕對值)a=sinba=cosb5.010-91.010-8絕對誤差(絕對誤差)度a=ATANb/c1.810-63.610-6第二十七張,PPT共一百一十一頁,創(chuàng)作于2022年6月相對誤差取決運算結(jié)果。使

36、用二類誤差的較小者。絕對誤差是常數(shù),而不管決運算結(jié)果。函數(shù)TAN執(zhí)行SIN/COS。注:如果SIN、COS或TAN函數(shù)的運算結(jié)果小于10-8,或由于運算精度的限制不為0的話,設定參數(shù)No6004#1為1。則運算結(jié)果可視為0。影響運算精度的說明: 加減運算 由于用戶宏程序的變量值的精度僅有8位十進制數(shù),當在加減運算中處理非常大的數(shù)時,得不到期望的結(jié)果 例如;當試圖把下面的值賦予變量#1和#2時:#1=9876543277777.777#2=9876543210123.456 變量值實際上已經(jīng)變成:#1=9876543300000.000#2=9876543200000.000 此時,當變成計算#

37、3=#1-#2時,其結(jié)果#3并不是期望值 67654.321,而是 #3=100000.000,顯然誤差較大,實際計算的實際結(jié)果與此還稍有誤差,因為系統(tǒng)是以二進制執(zhí)行的。第二十八張,PPT共一百一十一頁,創(chuàng)作于2022年6月 邏輯運算 在使用條件表達式EQ、NE、GE、LT、LE時,也可能造成誤差,其情形與加減運算基本相同。例如:IF#1EQ#2的運算會受到#1和#2的誤差的影響,并不是總是能估計正確。要求二個值完全相同,有時不可能,由此會造成錯誤的判斷 因此應該改用誤差來限制比較穩(wěn)妥,即用IFABS#1-#2LT0.001代替上述語句,以避免二個變量的誤差。此時,當二個變量的差值的絕對值未超

38、過允許極限(此處為0.001),就認為二個變量的值是相等的。 三角函數(shù)運算 在三角函數(shù)運算中會發(fā)生絕對誤差,它不在10-8之內(nèi),所以注意使用三角函數(shù)后的積累誤差,由于三角函數(shù)在宏程序中的應用非常廣泛,特別在極具數(shù)學代表性的參數(shù)方程表達上,因此必須對此保持應有的重視。2.5 賦值與變量使用中注意的問題 賦值是指將一個數(shù)據(jù)賦予一個變量。例如:#1=0,則表示#1的值是0。其中#1代表變量,#是變量的符號(注意:數(shù)控系統(tǒng)不同,表示方法有不同),0就是給變量#1賦的值。第二十九張,PPT共一百一十一頁,創(chuàng)作于2022年6月這里的“=”是賦值符號,起語句定義的作用。賦值的規(guī)律與規(guī)定: 賦值號“=”兩邊的

39、內(nèi)容不能互換,左邊只能是變量,右邊可 以是表達式、 數(shù)值或變量。 一個賦值語句只能給一個變量賦值。 可以多次給一個變量賦值,新變量值取代原變量值(即最 后賦的值)生效。 賦值語句具有運算功能,它的一般形式為:變量=表達式。 在變量運算中,表達式可以是變量自身,或與其它數(shù)據(jù)的 運算結(jié)果,如:#1=#1+1,這表示#1的值為#1+1。 賦值表達式的運算順序與數(shù)學運算順序相同。 輔助功能(M代碼)的變量有最大值的限制,例如,M30賦 值為300時,是不合理的。2.6 轉(zhuǎn)移與循環(huán)(以下屬于宏程序B中用法) 在程序中,使用GOTO語句和IF語句可以改變程序執(zhí)行的流向。有三種轉(zhuǎn)移和循環(huán)操作可供使用。第三十

40、張,PPT共一百一十一頁,創(chuàng)作于2022年6月2.6.1 無條件轉(zhuǎn)移(GOTO語句) 轉(zhuǎn)移(跳轉(zhuǎn))到標有順序號N(行號)的程序段。當指定 199999以外的順序號時,觸發(fā)R/S報警No.128. 轉(zhuǎn)移語句的格式:GOTO N ;N為順序號(199999) 例如:GOTO 99 ,即轉(zhuǎn)移到第99行。2.6.2 條件轉(zhuǎn)移(IF語句) 1IF條件表達式 GOTO N 表示如果指定的條件表達式滿足時,則轉(zhuǎn)移(跳轉(zhuǎn))到標 有順序號N(即行號)的程序段。如果不滿足指定的條件表 達式,則順序執(zhí)行下一個程序段。 例如:IF#1GT100 GOTO 99; N99 G00 G90 Z100; 表明當#1大于10

41、0時,程序轉(zhuǎn)移到N99程序段執(zhí)行,當#1小 于或等于100時,則順序執(zhí)行下一個程序段。第三十一張,PPT共一百一十一頁,創(chuàng)作于2022年6月 2IF條件表達式 GOTO THEN 如果指定條件表達式滿足時,則執(zhí)行預先指定的宏程序語 句,而且只執(zhí)行一個宏程序語句。 如:IF#1 EQ #2 THEN #3 =10; 表示如果#1和#2的值相同,10賦給#3。 說明: 條件表達式:條件表達式必須包括運算符。運算符插在二 個變量之間或變量和常量之間,并且用括號封閉。表達式 可以替代變量。 運算符:運算符由2個字母組成(見表10),用于兩個值的 比較,以決定它們是相等還是一個值小于或大于另一個值 注意

42、,不能使用不等號。 第三十二張,PPT共一百一十一頁,創(chuàng)作于2022年6月表10 運算符運算符含 義英文注釋EQ等于(=)EQualNE不等于()Not EQualGT大于()Great ThanGE大于或等于()Great than or EqualLT小于()Less ThanLE小于或等于()Less Than or Equal O8000; #1=0; 存儲“和數(shù)”變量的初值 #2=1; 被加數(shù)變量的初值 N5 IF #2 GT 100 GOTO 99; 當被加數(shù)大于100時轉(zhuǎn)移 到N99 #1=#1+#2; 計算和數(shù) #2=#2+1; 下一個被加數(shù) GOTO 5; 轉(zhuǎn)移到N5N99

43、M 30; 程序結(jié)束 典型程序示例:下面程序為計算1-100的累加和。第三十三張,PPT共一百一十一頁,創(chuàng)作于2022年6月2.6.3 循環(huán)(WHILE語句) 循環(huán)語句的格式: WHILE條件表達式DO m;(m=1,2,3) END m 在WHILE后指定一個條件表達式。當指定條件滿足時,執(zhí) 行DO到END之間的程序;當指定條件不滿足時,轉(zhuǎn)到END 后面的程序段。 1嵌套 在DOEND循環(huán)中的標號m(13)可根據(jù)需要多次使用 需要注意的是,無論怎樣多次使用,標號永遠限制在1,2, 3次;此外,當程序有交叉重復循環(huán)(DO范圍內(nèi)的重疊)時 會觸發(fā)P/S報警No124。 關于嵌套的詳細說明:第三十

44、四張,PPT共一百一十一頁,創(chuàng)作于2022年6月標號m(13)可以根據(jù)需要多次使用。 WHILE 條件表達式 DO 1 ; 程序 END 1; WHILE 條件表達式 DO 1; 程序 END 1; DO范圍不能交叉。 右面是錯誤的:WHILE 條件表達式 DO 1;WHILE 條件表達式 DO 2; 程序 程序END 1;END 2; 錯第三十五張,PPT共一百一十一頁,創(chuàng)作于2022年6月 DO循環(huán)可以3重嵌套。WHILE 條件表達式 DO 1; WHILE 條件表達式 DO 2; WHILE 條件表達式 DO 3;END 3; END 2;END 1; 程序 用條件轉(zhuǎn)移可以跳出,到 循環(huán)

45、的外邊 WHILE 條件表達式DO 1; IF 條件表達式 GOTO n; End 1; N n 第三十六張,PPT共一百一十一頁,創(chuàng)作于2022年6月 條件轉(zhuǎn)移不能進入循環(huán)區(qū)內(nèi),注意與對照。 IF條件表達式GOTO n; WHILE 條件表達式 DO 1;Nn End 1; 錯2關于(WHILE語句)的其他說明 DO m 和END m 必須成對使用,而且DO m 一定要在END m 之 前用識別號 m 來識別。 當指定DO 而沒有指定WHILE語句時,將產(chǎn)生DO 到END之間 的無限循環(huán)。 在使用EQ或NE的條件表達式中,值為空和值為零有不同的效 果。而在其他形式的條件表達式中,空即被當作零

46、 條件轉(zhuǎn)移(IF)和循環(huán)(WHILE)的關系:從正反兩個方面 描述同一個問題;從實現(xiàn)的功能上說,二者具有相當程度 的相互替代性;從具體用法和使用限制上說,條件轉(zhuǎn)移( IF)受到系統(tǒng)的限制相對更少,使用更靈活。第三十七張,PPT共一百一十一頁,創(chuàng)作于2022年6月 處理時間:當在GOTO語句(無論是無條件轉(zhuǎn)移的GOTO語句, 還是IFGOTO形式的條件轉(zhuǎn)移語句)中有標號轉(zhuǎn)移的語句時 系統(tǒng)將對順序號檢索。數(shù)控系統(tǒng)執(zhí)行反向檢索的時間比正向 檢索的時間長。因為系統(tǒng)通常正向檢索到程序結(jié)束后,再返 回程序開頭進行檢索,所以化費的時間要多。 故用WHILE語句實現(xiàn)循環(huán)可省時間。 例:計算1-10的累加和 O

47、0001; #1=0; 存儲和變量賦初值 #2=1; 被加數(shù)變量的初值 WHILE#2 LE 10DO 1; 被加數(shù)個數(shù)小于10時,執(zhí)行DO 到END間程序,繼續(xù)累加,大于 10時,執(zhí)行END后面的程序,即 程序結(jié)束。 #1=#1+#2; 作加法(累加) #2=#2+1 新的被加數(shù) END 1; 循環(huán)1次結(jié)束 M30; 程序結(jié)束第三十八張,PPT共一百一十一頁,創(chuàng)作于2022年6月 三、用戶宏程序A、B調(diào)用指令 3.1 用戶宏程序調(diào)用指令(用戶宏指令): 宏程序非模態(tài)調(diào)用指令 (G65) 宏程序模態(tài)調(diào)用指令 (G66,G67) 子程序調(diào)用指令 (M98) 用G代碼 (G G) M代碼(1)調(diào)用

48、宏程序 (M m) 用M代碼(2) (M m) T代碼調(diào)用子程序(宏程序)(T t) 1. 在宏程序A中: G65為專用指令(運算跳轉(zhuǎn)等);G66、G67指令; M98指令;Mm指令;T t指令。均沒有傳送數(shù)據(jù)賦值 2. 在宏程序B中: G65非模態(tài)調(diào)用 G66、G67模態(tài)調(diào)用(成對使用)。 G代碼調(diào)用,此G代碼同G66代碼 第一種M代碼調(diào)用,此M代碼同G66代碼。 第二種M代碼調(diào)用,此M代碼同M98代碼。 T代碼調(diào)用, 此T代碼代替M98代碼。第三十九張,PPT共一百一十一頁,創(chuàng)作于2022年6月3.2 用戶宏程序主體(本體) 用途:可作為:主程序(宏主程序)、子程序(宏子程序) 特點:宏程

49、序主體中可以使用普通的NC指令、變量、變量表 達式、采用量的NC指令、計算指令和轉(zhuǎn)移指令 (宏程序A中,計算指令和轉(zhuǎn)移指令為規(guī)定的格式)等。 宏程序的結(jié)構:以O帶后面的程序號開始,中間為指令,最 后用M99結(jié)束。例如: O ; 程序號 G65 H05 ; 運算指令 G90 G00 X#110 Y#20; 使用變量的NC指令 G65 H82 ; 轉(zhuǎn)移指令 M99; 返回主程序;第四十張,PPT共一百一十一頁,創(chuàng)作于2022年6月3.3 宏程序A的運算指令和控制指令 1指令格式:G65 Hm P#i Q#j R#k 式中m為0199,表示宏程序的功能,#i為存儲運算結(jié)果的變量號;#j為進行運算的變

50、量號1,也可以是常數(shù);#k為進行運算的變量號2,也可以是常數(shù)。 意義: #I= #j #k 運算符,由Hm決定注意:變量值不能帶小數(shù),與各地址不帶小數(shù)時表示的意義相同(參數(shù)No.3401的#0位DPI=0,最小輸入單位0.001mm及0.001) 例如:若#100=10,以0.001mm為單位輸入時X#100為X0.01mm(100.001mm = 0.010mm); 若#100=100,以0.001為單位輸入時#100為0.10(1000.001= 0.10)。 第四十一張,PPT共一百一十一頁,創(chuàng)作于2022年6月2運算和控制指令的指令表 G65 Hm指令 表12G65 H m功能數(shù)學定義

51、G65 H01定義、置換#i=#jG65 H02加法#i=#j+#kG65 H03減法#i=#j-#kG65 H04乘法#i=#j#kG65 H05除法#i=#j#kG65 H11邏輯加#i=#j AND #kG65 H12邏輯乘#i=#j OR #kG65 H13異或#i=#J XOR #k#I= #jG65 H21開平方G65 H22絕對值#i=#jG65 H23剩余數(shù)#i=#j-trunc(#j/#k)#ktrunc:小數(shù)部分舍去表12 FANUC 0i G65 Hm指令表(宏程序的運算與控制指令)第四十二張,PPT共一百一十一頁,創(chuàng)作于2022年6月#i= #j#j+#k#k#i= #

52、j#j-#k#kG65 H24變成二進制#i=BIN(#j)G65 H25變成十進制#i=BCD(#j)G65 H26復合乘除運算#i=(#j#k) #kG65 H27復合平方根運算1G65 H28復合平方根運算2G65 H31正弦#i=#jsin(#k)G65 H32余弦#i=#jcos(#k)G65 H33正切#i=#jtan(#k)G65 H34反正切#i=arctan(#j#k)G65 H80無條件轉(zhuǎn)移GOTO nG65 H81條件轉(zhuǎn)移1iF#j =#k GOTO PnG65 H82條件轉(zhuǎn)移2iF#j#k GOTO PnG65 H83條件轉(zhuǎn)移3iF#j#k GOTO PnG65 H84

53、條件轉(zhuǎn)移4iF#jj#k GOTO PnG65 H85條件轉(zhuǎn)移5iF#j#k GOTO PnG65 H86條件轉(zhuǎn)移6iF#j#k GOTO PnG65 H99P/S報警報警號為500+n第四十三張,PPT共一百一十一頁,創(chuàng)作于2022年6月四、用戶宏程序B4.1 用戶宏程序調(diào)用指令 用戶宏程序B的調(diào)用指令有: 非模態(tài)調(diào)用 (G65) 可傳送數(shù)據(jù) 模態(tài)調(diào)用 (G66,G67)可傳送數(shù)據(jù) 用G代碼調(diào)用宏程序(Gg) 可傳送數(shù)據(jù),同G65 用M代碼調(diào)用宏程序(Mm) 可傳送數(shù)據(jù),同G65 用M代碼(Mm)調(diào)用子程序不能傳送數(shù)據(jù),同M98 用T代碼(Tt)調(diào)用子程序不能傳送數(shù)據(jù),同M98 用戶宏程序調(diào)

54、用G65與子程序調(diào)用M98之間的區(qū)別: G65可以給自變量賦值,即將G65程序段中的數(shù)據(jù),傳送到 宏程序中指定的自變量,而M98則不能給自變量賦值。 當M98程序段包含另一個NC指令(例如,G01X200.0 M98P p)時,在執(zhí)行完這種非N、P或L指令后,可調(diào)用或轉(zhuǎn) 移到子程序。而G65只能無條件的調(diào)用宏程序。 當M98程序段包含有O、N、P、L以外的地址的NC指令時, 例如,G01X200.0 M98Pp,在單程序段方式中,第四十四張,PPT共一百一十一頁,創(chuàng)作于2022年6月可以單程序段停止(即停機)。而G65則不行(即不停機)。 G65改變局部變量級別,而M98不改變局部變量的級別。

55、4.1.1 宏程序非模態(tài)調(diào)用(G65)當指定G65時,調(diào)用以地址P指定的用戶宏程序,而且數(shù)據(jù)能傳遞到用戶宏程序中(自變量賦值) 。指令的格式: G65 PpLl自變量賦值; p: 要調(diào)用的程序號 l: 重復次數(shù),默認值為1 自變量賦值:傳遞到宏程序的數(shù)據(jù)O0110; G65 P9110 L2 A1.0 B2.0; M30;O9110;#3=#1+#2;IF#3 GE 180 GOTO 99;G00 G91 X#3;N99 M99;1. 調(diào)用說明第四十五張,PPT共一百一十一頁,創(chuàng)作于2022年6月在G65之后,用P指定用戶宏程序的程序號。任何自變量前必須指定G65。當要求重復時,在地址L后指定

56、從19999的重復次數(shù),省略L 值時,默認L值為1。使用自變量指定(賦值),其值被賦給宏程序中相應的局部 變量。2.自變量指定(賦值) 自變量值的指定又可稱為自變量賦值 即向用戶宏程序主體中變量傳遞數(shù)據(jù)時,需由自變量賦值地 址來指定,其值可以有符號和小數(shù)點,具體數(shù)值與地址無關 如上例 “G65 P9110 L2 A1.0 B2.0” 程序段中的 1.0 賦給A地址對應的宏程序中自變量 #1; 2.0 賦給地址B對應的宏程序中自變量 #2。 這里使用的是局部變量(#1#33,共有33個),與其對 的自變量賦值有兩種類型。第四十六張,PPT共一百一十一頁,創(chuàng)作于2022年6月自變量賦值: 用英文字

57、母后加數(shù)值進行賦值,除了G、L 、O、N和P 之 外,其余所有21個英文字母都可給自變量賦值 每個字母賦值一次,賦值不必按字母順序進行,但用I、J、 K時,必須按字母順序進行賦值,不賦值的地址可以省略。 自變量賦值: 該方法也是用英文字母后加數(shù)值進行賦值, 但只使用了A、B、C和I、J、K這6個字母。 具體用法是: 除了A、B、C之外,還用10組I、J、K來對自變量進行賦值, 在這里I、J、K是分組定義的,同組的I、J、K必須按字母順 序進行賦值,不賦值的地址可以省略。 自變量賦值和自變量賦值與用戶宏程序主體中局部變量 的 對應關系見表13。第四十七張,PPT共一百一十一頁,創(chuàng)作于2022年6

58、月表13 FANUC 0i 地址與局部變量的關系自變量賦值地址用戶宏程序主體中的變量自變量賦值地址自變量賦值地址用戶宏程序主體中的變量自變量賦值地址ABC#1#2#3ABCSTU#19#20#21I6J6K6IJK#4#5#6I1J1K1VWX#22#23#24I7J7K7DEF#7#8#9I2J2K2YZ#25#26#27I8J8K8H#10#11#12I3J3K3#28#29#30I9J9K9M#13#14#15I4J4K4#31#32#33I10J10K10QR#16#17#18I5J5K5第四十八張,PPT共一百一十一頁,創(chuàng)作于2022年6月 注意:對于自變量賦值,I、J、K下標用于確

59、定自變量賦值 的順序,在實際編程中不寫(也無法寫,語法上無法表達) 3.自變量賦值的其他說明 自變量賦值、自變量賦值的混合使用 CNC內(nèi)部自動識別自變量賦值和,混合賦值時,較后賦值的 自變量類型有效(以從左到右書寫的順序為準,左為先,右為 后)。例如: G65 P1100 A1.0 B2.0 I-3.0 I4.0 D5.0;其中的變量值為: #1=1.0 (#1對應A1.0) #2=2.0 (#2對應B2.0) #3無賦值 (無對應)程序中沒有C #4= -3.0 (#4對應I-3.0) #5無賦值 (無對應)程序中沒有J,也沒有J1 #6無賦值 (無對應)程序中沒有K,也沒有K1 #7=4.

60、0() (#7對應I4.0,第二次I(I2),即#7 #7=5.0 (#7也對應D5.0),改寫了#7=4.0,變?yōu)?#7=5.0第四十九張,PPT共一百一十一頁,創(chuàng)作于2022年6月 自變量賦值的地址和變量是一一對應的,不宜混淆,但數(shù)量只有21個。 自變量賦值充分利用了資源,可以對#1#33全部33個局部變量賦值。實際上用自變量賦值的21個變量也已足夠啦。小數(shù)點問題 沒有小數(shù)點的自變量數(shù)據(jù)的單位為最小設定單位。傳遞沒有小數(shù)點的自變量的值將根據(jù)機床實際的系統(tǒng)配置而定。因此建議在宏程序調(diào)用中使用小數(shù)點,可避免無謂的差錯,兼容性好調(diào)用嵌套 調(diào)用可以四級嵌套,包括非模態(tài)調(diào)用G65和模態(tài)調(diào)用G66,但

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論