時(shÃ)間:2021-06-30 17:41:56來æºï¼šæ·±åœ³å¸‚æ£é‹(yùn)å‹•(dòng)技術(shù)有é™å…¬å¸
  齒輪缺齒是其生產(chÇŽn)åˆ¶é€ éŽç¨‹ä¸çš„一個(gè)é‡å¤§ç¼ºé™·ï¼Œéœ€é€šéŽæª¢æ¸¬æŠ€è¡“(shù)進(jìn)行è¦(guÄ«)é¿ã€‚如果使用人工進(jìn)行檢測,ä¸åƒ…會(huì)å¢žåŠ äººå·¥æˆæœ¬ï¼Œä¸”檢測時(shÃ)å®¹æ˜“æ¼æª¢æˆ–者由于注æ„力ä¸é›†ä¸è€Œå°Ž(dÇŽo)è‡´èª¤åˆ¤ï¼Œå› æ¤æˆ‘們引入了機(jÄ«)器視覺檢測技術(shù)進(jìn)行齒輪缺齒檢測。
  機(jÄ«)å™¨è¦–è¦ºé½’è¼ªæª¢æ¸¬ç‚ºéžæŽ¥è§¸å¼çš„ç„¡ææª¢æ¸¬æ–¹æ³•,與傳統(tÇ’ng)人工檢測相比,具有ä¸å¯å–代的優(yÅu)越性。
  機(jÄ«)器視覺齒輪檢測系統(tÇ’ng)在追求高速度ã€é«˜æ•ˆçއã€é«˜é‡å¾©(fù)性和精確度的工æ¥(yè)生產(chÇŽn)åˆ¶é€ éŽç¨‹ä¸ä¹Ÿæ›´ç‚ºå¯é ,把機(jÄ«)å™¨è¦–è¦ºæª¢æ¸¬æ–¹æ³•ç”¨äºŽåˆ¶é€ ç³»çµ±(tÇ’ng)是工æ¥(yè)發(fÄ)展的方å‘和必然趨勢,也是æé«˜ç”Ÿç”¢(chÇŽn)效率的有效途徑。
  上期課程,我們講述了機(jÄ«)å™¨è¦–è¦ºæ–¹æ¡ˆä¸æ¶²ä½æª¢æ¸¬çš„æ‡‰(yÄ«ng)用例程,本期課程我們和大家一起分享機(jÄ«)器視覺齒輪缺輪檢測的應(yÄ«ng)用例程。
  教å¸(xué)è¦–é »
  一檢測原ç†
  (一)æª¢æ¸¬è¦æ±‚
  檢測齒輪狀產(chÇŽn)å“外邊緣上的輪齒是å¦å®Œæ•´ï¼Œå¦‚有缺失返回“NGâ€ç‹€æ…‹(tà i),并顯示ä½ç½®ä¿¡æ¯ã€‚若齒輪完整,則返回“OKâ€ç‹€æ…‹(tà i)。
  (二)軟件算法
  二軟件實(shÃ)ç¾(xià n)
  (一)軟件實(shÃ)ç¾(xià n)
  1.打開ZDevelopè»Ÿä»¶ï¼šæ–°å»ºé …(xià ng)目→新建“HMIâ€æ–‡ä»¶â†’新建“main.basâ€æ–‡ä»¶ï¼Œç”¨äºŽç·¨å¯«ç•Œé¢éŸ¿æ‡‰(yÄ«ng)函數(shù)→新建“global_variable.basâ€æ–‡ä»¶ç”¨äºŽå˜æ”¾å…¨å±€è®Šé‡å¹¶é–‹å•ŸHMI自動(dòng)é‹(yùn)行任務(wù)→新建“detectParam.basâ€æ–‡ä»¶ç”¨äºŽåˆå§‹åŒ–測é‡åƒæ•¸(shù)→新建“camera.basâ€æ–‡ä»¶ç”¨äºŽå¯¦(shÃ)ç¾(xià n)相機(jÄ«)é‡‡é›†åŠŸèƒ½â†’æ–‡ä»¶æ·»åŠ åˆ°é …(xià ng)目。
  2.è¨(shè)計(jì)HMI界é¢ã€‚
  3.在“global_variable.basâ€æ–‡ä»¶ä¸å®šç¾©å…¨å±€è®Šé‡ï¼Œå®šç¾©å®ŒæˆåŽé‹(yùn)行“Hmi.hmiâ€æ–‡ä»¶ã€‚
  '''''全局變é‡å¤§éƒ¨åˆ†ä½¿ç”¨æ•¸(shù)組çµ(jié)æ§‹(gòu)'''''''注:basic編程ä¸å¾ˆå¤šå‡½æ•¸(shù)會(huì)以TABLE(系統(tÇ’ng)的數(shù)據(jù)çµ(jié)æ§‹(gòu))åšç‚ºåƒæ•¸(shù)''table 說明 table 說明''0 ' 自動(dòng)二值化閾值 11~12 é¼ æ¨™(biÄo)æ“作時(shÃ)ç²å–çš„åæ¨™(biÄo)''2 亮å€(qÅ«)域的é¢ç© 20~24 圖åƒä¿¡æ¯''4 æš—å€(qÅ«)域的é¢ç© 6 齒輪的數(shù)é‡ ''40~42 齒輪的é¢ç©å’Œä½ç½®X,Y數(shù)據(jù)
  '主任務(wù)狀態(tà i)'0 - 未åˆå§‹åŒ–'1 - åœæ¢'2 - é‹(yùn)行ä¸'3 - æ£åœ¨åœæ¢GLOBAL DIM main_task_statemain_task_state = 1
  '采集開關(guÄn)'0 - åœæ¢é‡‡é›†'1 - 請求采集GLOBAL DIM grab_switchgrab_switch = 0
  '相機(jī)個(gè)數(shù)GLOBAL cam_numcam_num = 0
  '相機(jī)種類,"zmotion;mvision;basler;mindvision;huaray"GLOBAL DIM CAMERA_TYPE(16)CAMERA_TYPE = "mvision"
  ' 定義主任務(wù)id - 10GLOBAL DIM main_task_idmain_task_id = 10
  '定義連續(xù)采集任務(wù)id - 9GLOBAL DIM grab_task_idgrab_task_id = 9
  '定義全局圖åƒè®Šé‡GLOBAL ZVOBJECT grabImg '采集圖åƒGLOBAL ZVOBJECT disImg '顯示圖åƒ
  '定義常用é¡è‰²è®Šé‡GLOBAL C_RED, C_GREEN, C_BLUE, C_YELLOWC_RED = RGB(255, 0, 0)C_GREEN = RGB( 0,255, 0)C_BLUE = RGB( 0, 0,255)C_YELLOW= RGB(255,255, 0)
  'æª¢æ¸¬åƒæ•¸(shù):閾值模å¼(自動(dòng)閾值或手動(dòng)閾值)ã€ä½Žé–¾å€¼ã€é«˜é–¾å€¼ã€æœ€å°é¢ç©ã€æœ€å¤§é¢ç©GLOBAL DIM d_detect_param(5) 'dé–‹é 表示數(shù)據(jù)çµ(jié)æ§‹(gòu)
  '檢測消耗時(shÃ)é–“GLOBal DIM d_detect_time
  '顯示打å°çš„å—符GLOBAL ShowString(64)GLOBAL ShowString1(64)
  '***********å®šç¾©è®€å–æœ¬åœ°æ–‡ä»¶åŠŸèƒ½ç›¸é—œ(guÄn)變é‡**************''注æ„,該功能åªåœ¨ä½¿ç”¨ä»¿çœŸå™¨æ™‚(shÃ)有效'定義是å¦ä½¿ç”¨æœ¬åœ°åœ–片標(biÄo)å¿—GLOBAL DIM d_use_imgfile
  '定義本地圖片索引GLOBAL DIM d_index
  '定義讀å–圖片的路徑GLOBAL DIM File_Name(100)
  '***********çµ(jié)æŸå®šç¾©è®€å–本地文件功能相關(guÄn)變é‡**********
  'é‹(yùn)行HMI文件RUN "Hmi.hmi",1
  4.在“detectParam.basâ€æ–‡ä»¶ä¸åˆå§‹åŒ–測é‡åƒæ•¸(shù)。
  end
  endGLOBAL SUB init_detect_param() 'åˆå§‹åŒ–測é‡åƒæ•¸(shù) 'åˆå§‹åŒ–æª¢æ¸¬åƒæ•¸(shù):閾值模å¼(自動(dòng)閾值 = 1 或 手動(dòng)閾值 = 0)ã€ä½Žé–¾å€¼ã€é«˜é–¾å€¼ã€æ¥µæ€§(黑或白)ã€æœ€å¤§ã€æœ€å°ã€åå‘(å³çµ(jié)æžœå–å,æˆåŠŸè®Šæˆå¤±æ•—ã€å¤±æ•—è®ŠæˆæˆåŠŸ) d_detect_param(0) = 0 '手動(dòng)閾值 d_detect_param(1) = 140 '低閾值 d_detect_param(2) = 255 '高閾值 d_detect_param(3) = 160000 '最å°é¢ç©å³åƒç´ 個(gè)數(shù) d_detect_param(4) = 180000 '最大é¢ç© d_use_imgfile = 1 '默èª(rèn)使用本地圖片 d_index = 0 TABLE(6)=0 '將齒輪數(shù)é‡åˆå§‹åŒ–為0END SUB
  END SUB
  5.é—œ(guÄn)è¯(lián)HMIç•Œé¢æŽ§ä»¶è®Šé‡ã€‚
  6.在“main.basâ€æ–‡ä»¶ä¸æ·»åŠ HMI界é¢åˆå§‹åŒ–函數(shù)并在Hmi系統(tÇ’ng)è¨(shè)ç½®ä¸é—œ(guÄn)è¯(lián)åˆå§‹åŒ–函數(shù)。
  'HMI界é¢åˆå§‹åŒ–函數(shù)GLOBAL SUB hmi_init() grab_switch = 0 'åœæ¢é‡‡é›† main_task_state = 1 '主任務(wù)åœæ¢é‹(yùn)行 ZV_RESETCLIPSIZE(1280, 960) '便“š(jù)圖åƒåˆ†è¾¨çއè¨(shè)ç½®å€(qÅ«)域的è£å‰ªå°ºå¯¸ï¼Œæ¤è™•圖åƒåˆ†è¾¨çŽ‡ç‚º1280x960 ZV_LATCHSETSIZE(0, HMI_CONTROLSIZEX(10, 7), HMI_CONTROLSIZEY(10, 7)) 'è¨(shè)置鎖å˜çš„å¤§å° init_detect_param() 'åˆå§‹åŒ–測é‡åƒæ•¸(shù) ZV_SETSYSDBL("CamGetTimeout", 1000) 'è¨(shè)置采集超時(shÃ) ZV_SETSYSINT("LineWidth",6) ZV_LATCHCLEAR(0) '清空鎖å˜é€šé“0 END SUB
  7.在“camera.basâ€æ–‡ä»¶ä¸æ·»åŠ HMI界é¢ä¸é‡‡é›†ç›¸é—œ(guÄn)按鈕響應(yÄ«ng)的函數(shù)å¹¶é—œ(guÄn)è¯(lián)å‹•(dòng)作函數(shù)。(說明:具體實(shÃ)ç¾(xià n)函數(shù)å‰å…©ç¯‡èª²ç¨‹å…§(nèi)容已經(jÄ«ng)有æ“作演示,æ¤è™•ä¸åšè´…述。)
  8.在“main.basâ€æ–‡ä»¶ä¸æ·»åŠ HMIç•Œé¢æŒ‰ä¸‹ã€æ¸¬è©¦ã€‘按鈕時(shÃ)響應(yÄ«ng)的函數(shù)å¹¶é—œ(guÄn)è¯(lián)å‹•(dòng)作函數(shù)å。
  'HMIç•Œé¢æŒ‰ä¸‹æ¸¬è©¦æŒ‰éˆ•時(shÃ)響應(yÄ«ng)的函數(shù)GLOBAL SUB btn_test() TABLE(6)=0 '檢測å‰å…ˆå°‡çµ(jié)果數(shù)據(jù)清0 d_detect_time=0 TICKS=0 '定義變é‡ï¼Œä¾æ¬¡ç‚ºç™½è‰²åƒç´ 連通å€(qÅ«)域,掩模å€(qÅ«)域,黑色åƒç´ 連通å€(qÅ«)域,齒輪連通å€(qÅ«)域çµ(jié)果列表,單個(gè)齒輪連通å€(qÅ«)域,圓環(huán)å€(qÅ«)域,齒輪齒牙連通å€(qÅ«)域 ZVOBJECT regionWhite, regionMask, regionBlack,re_connecte,circle_connect,region,re_connecte1 '生æˆå…¨åœ–åƒå€(qÅ«)域 ZV_REGENFULLIMG(grabImg,regionMask) 'äºŒå€¼åŒ–è™•ç† if d_detect_param(0) = 0 then 'å¦‚æžœé¸æ“‡æ‰‹å‹•(dòng)é–¾å€¼æ¨¡å¼ 'æ ¹æ“š(jù)ä½Žé–¾å€¼å’Œé«˜é–¾å€¼åƒæ•¸(shù)生æˆç™½è‰²åƒç´ 圖åƒregionWhite ZV_RETHRESH(grabImg, regionMask, regionWhite, d_detect_param(1), d_detect_param(2)) 'å°ç™½è‰²åƒç´ å€(qÅ«)域進(jìn)行一次1*1的開é‹(yùn)ç®— ZV_REOPENING(regionWhite,regionWhite,3,3) 'å°ç™½è‰²åƒç´ å€(qÅ«)域進(jìn)行一次1*1的閉é‹(yùn)ç®— ZV_RECLOSING(regionWhite,regionWhite,3,3) else 'å¦‚æžœé¸æ“‡è‡ªå‹•(dòng)é–¾å€¼æ¨¡å¼ Dim autoThresh '定義自動(dòng)閾值模å¼ä¸‹çš„二值化閾值 '在grabImg圖åƒä¸çš„æŒ‡å®šå€(qÅ«)域內(nèi)å°åœ–åƒé€²(jìn)行自動(dòng)二值化處ç†ï¼Œè¼¸å‡ºäºŒå€¼åŒ–å€(qÅ«)域regionWhite ZV_REAUTOTHRESH(grabImg, regionMask, regionWhite, 0) 'å°ç™½è‰²åƒç´ å€(qÅ«)域進(jìn)行一次1*1的開é‹(yùn)ç®— ZV_REOPENING(regionWhite,regionWhite,1,1) 'å°ç™½è‰²åƒç´ å€(qÅ«)域進(jìn)行一次1*1的閉é‹(yùn)ç®— ZV_RECLOSING(regionWhite,regionWhite,1,1) autoThresh = TABLE(0) ? "autoThresh = " autoThresh 'æ‰“å°æç¤ºä¿¡æ¯ï¼Œç•¶(dÄng)å‰äºŒå€¼åŒ–閾值 endif ZV_REDIFF (regionMask, regionWhite, regionBlack) '差集é‹(yùn)算,çµ(jié)果為regionBlack(黑色åƒç´ å€(qÅ«)域) ZV_REAREA(regionBlack, 500) '計(jì)算黑色åƒç´ å€(qÅ«)域的é¢ç©(å³åƒç´ ?cái)?shù)é‡)å˜æ”¾åˆ°table(500)ä¸ if(TABLE(500)>0) then '如果ç²å–到的黑色åƒç´ ?cái)?shù)é‡å¤§äºŽ0 ZV_RECONNECT(regionBlack,re_connecte) '計(jì)ç®—å€(qÅ«)域的連通å€(qÅ«)åŸŸï¼Œå˜æ”¾åˆ°re_connecteåˆ—è¡¨ä¸ zv_refilter(re_connecte,0,d_detect_param(3),d_detect_param(4),0)'å°å€(qÅ«)域列表ä¸çš„å€(qÅ«)域進(jìn)è¡ŒéŽæ¿¾ï¼Œä¿ç•™é¢ç©åœ¨ d_detect_param(3) 到 d_detect_param(4) çš„å€(qÅ«)域,é¢ç©ä¸åœ¨æ¤èŒƒåœçš„å€(qÅ«)域?qÅ«)⒈贿^濾掉 zv_refilter(re_connecte,20,0.9,1.2,0)'å°å€(qÅ«)域列表ä¸çš„å€(qÅ«)域進(jìn)è¡ŒéŽæ¿¾ï¼Œä¿ç•™æœ€å°å¤–接矩形高寬比在0.9 到 1.2 çš„å€(qÅ«)域,é¢ç©ä¸åœ¨æ¤èŒƒåœçš„å€(qÅ«)域?qÅ«)⒈贿^濾掉 ZV_LISTCOUNT(re_connecte,6) 'ç²å–列表ä¸çš„連通å€(qÅ«)域的數(shù)é‡ï¼Œå˜æ”¾åˆ°table(6)ä¸ endif '繪制效果圖 Dim width, height ZV_IMGINFO (grabImg, 20)'ç²å–grabImg的圖åƒä¿¡æ¯ width = TABLE(20) height = TABLE(21) ZV_GRAYTORGB(grabImg,disImg)'å°‡ç°åº¦åœ–轉(zhuÇŽn)æ›åˆ°RGB圖åƒï¼Œç”¨äºŽç¹ªåˆ¶æª¢æ¸¬çµ(jié)æžœåœ–åƒ ZV_REGION(disImg, regionMask, 0, ZV_COLOR(0,0,0)) '繪制黑色的regionMaskå€(qÅ«)域 ZV_REGION(disImg, regionWhite, 0, ZV_COLOR(255,255,255))'繪制白色的regionWhiteå€(qÅ«)域 for i=0 to TABLE(6)-1 '循環(huán)ç²å–齒輪的ä½ç½®XYä¿¡æ¯ç”Ÿæˆåœ“ç’°(huán)å€(qÅ«)域,檢測是å¦ç¼ºé½’ ZV_LISTGET(re_connecte,circle_connect,i) 'ç²å–列表ä¸åºè™Ÿç‚ºiçš„å…ƒç´ ï¼Œå³ä¾æ¬¡ç²å–列表ä¸é½’輪連通å€(qÅ«)域 ZV_REAREACENTER(circle_connect,40) '計(jì)ç®—æ¯å€‹(gè)齒輪的é¢ç©èˆ‡ä¸å¿ƒä½ç½®ï¼Œå°‡æ•¸(shù)據(jù)放入TABLE(40)ä¸ ZV_REGENANNULAR(region,TABLE(41),TABLE(42),220,260)'生æˆåœ“ç’°(huán)å€(qÅ«)域 'æ ¹æ“š(jù)ä½Žé–¾å€¼å’Œé«˜é–¾å€¼åƒæ•¸(shù)生æˆç™½è‰²åƒç´ 圖åƒregionWhite ZV_RETHRESH(grabImg, region, regionWhite, d_detect_param(1), d_detect_param(2)) ZV_REDIFF (region, regionWhite, regionBlack)'進(jìn)行差集é‹(yùn)算,çµ(jié)果為regionBlack(黑色åƒç´ å€(qÅ«)域) ZV_RECONNECT(regionBlack,re_connecte1) '計(jì)算圓環(huán)å€(qÅ«)域內(nèi)的黑色連通å€(qÅ«)åŸŸï¼Œå˜æ”¾åˆ°re_connecteåˆ—è¡¨ä¸ zv_refilter(re_connecte1,0,1000,3000,0) 'å°å€(qÅ«)域列表ä¸çš„連通å€(qÅ«)域進(jìn)行é¢ç©éŽæ¿¾ ZV_LISTCOUNT(re_connecte1,8) 'ç²å–單個(gè)齒輪齒牙的數(shù)é‡ï¼Œå˜æ”¾åˆ°table(8)ä¸ if TABLE(8)=25 then ZV_TEXT(disImg,"OK",TABLE(41),TABLE(42),70,ZV_COLOR(0,255,0)) '顯示çµ(jié)果文本 else ShowString=TOSTR(TABLE(41),1,2) ShowString1=TOSTR(TABLE(42),1,2) ZV_TEXT(disImg,"NG,"ShowString","ShowString1,TABLE(41),TABLE(42),55,ZV_COLOR(255,0,0)) '顯示çµ(jié)果文本 endif ZV_MARKER(disImg,TABLE(41),TABLE(42),0,50,zv_color(0,255,0)) '在圖åƒimgä¸ç¹ªåˆ¶åå— next ZV_LATCH(disImg, 0) '在鎖å˜é€šé“0ä¸é¡¯ç¤ºçµ(jié)æžœåœ–åƒ d_detect_time=ABS(TICKS)'計(jì)算檢測消耗時(shÃ)é–“
  END SUB
  9.在“main.basâ€æ–‡ä»¶ä¸æ·»åŠ ã€é‹(yùn)行】按鈕響應(yÄ«ng)的函數(shù)å¹¶é—œ(guÄn)è¯(lián)å‹•(dòng)作函數(shù)。
  'HMIç•Œé¢æŒ‰ä¸‹é‹(yùn)行按鈕時(shÃ)響應(yÄ«ng)的函數(shù)GLOBAL SUB btn_run() if(2 = main_task_state) then '如果主任務(wù)處于é‹(yùn)行狀態(tà i)ï¼Œæ‰“å°æç¤ºä¿¡æ¯å¹¶é€€å‡ºå‡½æ•¸(shù) ?"已經(jÄ«ng)開啟連續(xù)é‹(yùn)行任務(wù),請勿é‡å¾©(fù)æ“作!" return endif if (1 = main_task_state) then '如果主任務(wù)è™•äºŽåœæ¢?fà n)顟B(tà i) if (0 = PROC_STATUS(main_task_id)) then '如果任務(wù)未開啟 main_task_state = 2 '主任務(wù)狀態(tà i)è¨(shè)置為2,表示æ£åœ¨åŸ·(zhÃ)行連續(xù)任務(wù) RUNTASK main_task_id, main_task '開啟主任務(wù) endif endifEND SUB
  10.在“main.basâ€æ–‡ä»¶ä¸æ·»åŠ ã€åœæ¢ã€‘按鈕響應(yÄ«ng)的函數(shù)å¹¶é—œ(guÄn)è¯(lián)å‹•(dòng)作函數(shù)。
  'HMIç•Œé¢æŒ‰ä¸‹åœæ¢æŒ‰éˆ•時(shÃ)響應(yÄ«ng)的函數(shù)GLOBAL SUB btn_stop()
  if (2 = main_task_state) then '如果主任務(wù)狀態(tà i)處于3峿£åœ¨é€£çºŒ(xù)執(zhÃ)行任務(wù)時(shÃ) main_task_state = 3 '將主任務(wù)狀態(tà i)置為3,退出循環(huán) endif END SUB
ã€€ã€€ä¸‰ã€æ“作演示梯形圖介紹
  (一)æ“作æ¥é©Ÿ
  查看é‹(yùn)行效果:將控制器接入電æºï¼Œä½¿ç”¨ç¶²(wÇŽng)線將控制器與PC連接,將相機(jÄ«)通電并接入控制器→將相機(jÄ«)ã€å…‰æºå®‰è£åœ¨æ‰“光測試架上,é¡é 連接到相機(jÄ«)ä¸Šâ†’é€£æŽ¥æŽ§åˆ¶å™¨ï¼Œå¹¶å°‡é …(xià ng)目下載到控制器→é‹(yùn)行程åºï¼Œèª¿(dià o)æ•´æ‰“å…‰åœ–åƒæ•ˆæžœï¼Œæ¸¬è©¦ç¨‹åºé‹(yùn)行效果。
  (二)效果演示
完整代碼ç²å–地å€â–¼
  本次,æ£é‹(yùn)å‹•(dòng)技術(shù)機(jÄ«)器視覺é‹(yùn)å‹•(dòng)控制一體機(jÄ«)應(yÄ«ng)用例程(七)齒輪缺齒檢測,就分享到這里。
  更多精彩內(nèi)容請關(guÄn)注“æ£é‹(yùn)å‹•(dòng)å°åŠ©æ‰‹â€å…¬çœ¾è™Ÿï¼Œéœ€è¦ç›¸é—œ(guÄn)開發(fÄ)ç’°(huán)境與例程代碼,請咨詢æ£é‹(yùn)å‹•(dòng)技術(shù)銷售工程師:400-089-8936。
  本文由æ£é‹(yùn)å‹•(dòng)技術(shù)原創(chuà ng),æ¡è¿Žå¤§å®¶è½‰(zhuÇŽn)載,共åŒå¸(xué)ç¿’(xÃ),一起æé«˜ä¸åœ‹æ™ºèƒ½åˆ¶é€ æ°´å¹³ã€‚æ–‡ç« ç‰ˆæ¬Š(quán)æ¸æ£é‹(yùn)å‹•(dòng)技術(shù)所有,如有轉(zhuÇŽn)è¼‰è«‹æ³¨æ˜Žæ–‡ç« ä¾†æºã€‚
ä¸åœ‹å‚³å‹•(dòng)ç¶²(wÇŽng)版權(quán)與å…責(zé)è²æ˜Žï¼šå‡¡æœ¬ç¶²(wÇŽng)注明[來æºï¼šä¸åœ‹å‚³å‹•(dòng)ç¶²(wÇŽng)]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Š(quán)å‡ç‚ºä¸åœ‹å‚³å‹•(dòng)ç¶²(wÇŽng)(www.siyutn.com)ç¨(dú)家所有。如需轉(zhuÇŽn)載請與0755-82949061è¯(lián)系。任何媒體ã€ç¶²(wÇŽng)站或個(gè)人轉(zhuÇŽn)載使用時(shÃ)é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹å‚³å‹•(dòng)ç¶²(wÇŽng)â€ï¼Œé•å者本網(wÇŽng)將追究其法律責(zé)任。
本網(wÇŽng)轉(zhuÇŽn)載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯(lián)ç¶²(wÇŽng)或æ¥(yè)å…§(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuÇŽn)載請ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² (fù)版權(quán)法律責(zé)任。
相關(guÄn)資訊