技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > VPLC系列機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)快速入門(四)

VPLC系列機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)快速入門(四)

時(shí)間:2021-01-25 10:14:51來源:正運(yùn)動(dòng)技術(shù)

導(dǎo)語:?

  今天,正運(yùn)動(dòng)技術(shù)為大家分享一下VPLC系列機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)快速入門(四)——BLOB有無檢測。

  視頻教程:《VPLC系列機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)快速入門(四)》

  

  運(yùn)動(dòng)控制

  

  上期課程,我們講述了機(jī)器視覺方案中常用到的基于形狀匹配的視覺定位功能,通過上期課程我們掌握了使用ZDevelop軟件實(shí)現(xiàn)形狀匹配功能的方法。

  本期課程我們和大家一起分享機(jī)器視覺另一個(gè)檢測功能---使用BLOB檢測產(chǎn)品有無。

  

  運(yùn)動(dòng)控制

  

  BLOB又名斑點(diǎn),是指在二值化圖像中暗背景上的一塊連通的亮區(qū)域或亮背景上一塊連通的暗區(qū)域。

  

  運(yùn)動(dòng)控制

  

  BLOB檢測是使用形態(tài)學(xué)方法(如二值化、膨脹、腐蝕等)將灰度圖像轉(zhuǎn)換成二值化圖像,轉(zhuǎn)換同時(shí)將檢測特征處理成BLOB斑點(diǎn)并將干擾因素處理成圖像背景,就可以準(zhǔn)確地對(duì)檢測特征進(jìn)行處理。

  

  運(yùn)動(dòng)控制

  

  1.依賴形態(tài)學(xué)處理

  需要將檢測圖像轉(zhuǎn)換成二值化圖像,并使用形態(tài)學(xué)處理圖像突出檢測特征。

  2.不關(guān)心形狀特征

  只要是連通的區(qū)域即可檢測,不限制產(chǎn)品的形狀。

  3.適合高對(duì)比度產(chǎn)品

  BLOB檢測要求檢測特征和背景要有較好的對(duì)比度,否則無法將特征和背景進(jìn)行區(qū)分。

  4.執(zhí)行速度快

  轉(zhuǎn)化成二值化圖像后搜索BLOB斑點(diǎn)不需要消耗太多時(shí)間。

  

  運(yùn)動(dòng)控制

  

  形態(tài)學(xué)處理是指對(duì)圖像的局部像素進(jìn)行處理,用于從圖像中提取檢測過程中關(guān)心的局部特征細(xì)節(jié)。常用的形態(tài)學(xué)處理方法有二值化、膨脹、腐蝕、填充孔洞等。

               1 二值化    

  將8位灰度圖像(灰度值0~255)轉(zhuǎn)換成非0即1的二值化圖像(純黑和純白組成的圖像)。

  

  運(yùn)動(dòng)控制

  

               2 填充孔洞    

  在二值化圖像中,將某些小面積的黑色或白色的斑點(diǎn)區(qū)域進(jìn)行填充,可過濾噪點(diǎn)。

  

  運(yùn)動(dòng)控制

  

               3 膨脹    

  將二值化圖像中的白色區(qū)域擴(kuò)大,黑色區(qū)域縮小,去除黑色小斑點(diǎn)干擾。

  

  運(yùn)動(dòng)控制

  

               4 腐蝕    

  將二值化圖像中的黑色區(qū)域擴(kuò)大,白色區(qū)域縮小,可去除白色小斑點(diǎn)干擾。

  

  運(yùn)動(dòng)控制

  運(yùn)動(dòng)控制

  

  

  BLOB檢測流程圖

               // 實(shí)例演示 //    

        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ī)采集功能→新建draw.bas文件用于更新繪制圖形刷新界面→文件添加到項(xiàng)目。

  

  運(yùn)動(dòng)控制

        2    

  

  設(shè)計(jì)HMI界面。

  

  運(yùn)動(dòng)控制

        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 21-22,鼠標(biāo)按鍵,控件坐標(biāo)系

  ''table 31-35,旋轉(zhuǎn)矩ROI參數(shù),cx、cy、width、height、angle,控件坐標(biāo)系

  ''table 41-45,旋轉(zhuǎn)矩形控件坐標(biāo)轉(zhuǎn)換后對(duì)應(yīng)的圖像坐標(biāo),圖像坐標(biāo)系

  ''table 51-56,圓環(huán)ROI參數(shù),cx、cy、圓環(huán)中線半徑r、圓環(huán)半寬ann_R、起始角度stAngle、角度范圍entAngle,控件坐標(biāo)系

  ''table 61-66,圓環(huán)控件坐標(biāo)轉(zhuǎn)換后對(duì)應(yīng)的圖像坐標(biāo),圖像坐標(biāo)系

  '主任務(wù)狀態(tài)

  '0 - 未初始化

  '1 - 停止

  '2 - 運(yùn)行中

  '3 - 正在停止

  GLOBAL DIM main_task_state

  main_task_state = 1

  '采集開關(guān)

  '0 - 停止采集

  '1 - 請(qǐng)求采集

  GLOBAL DIM grab_switch

  grab_switch = 0

  '相機(jī)個(gè)數(shù)

  GLOBAL cam_num

  cam_num = 0

  '相機(jī)種類,"zmotion;mvision;basler;mindvision;huaray"

  GLOBAL DIM CAMERA_TYPE(16)

  CAMERA_TYPE = "zmotion"

  ' 定義主任務(wù)id - 10

  GLOBAL DIM main_task_id

  main_task_id = 10

  '定義連續(xù)采集任務(wù)id - 9

  GLOBAL DIM grab_task_id

  grab_task_id = 9

  '定義全局圖像變量

  GLOBAL ZVOBJECT grabImg '采集圖像

  GLOBAL ZVOBJECT binImg '二值化圖像

  GLOBAL ZVOBJECT disImg '顯示圖像

  '錯(cuò)誤消息

  GLOBAL DIM error_msg(256)

  '定義常用顏色變量

  GLOBAL C_RED, C_GREEN, C_BLUE, C_YELLOW

  C_RED = RGB(255, 0, 0)

  C_GREEN = RGB( 0,255, 0)

  C_BLUE = RGB( 0, 0,255)

  C_YELLOW= RGB(255,255, 0)

  GLOBAL DIM d_roi_arc_flag '定義ROI類型標(biāo)志:0-矩形,1-圓環(huán)

  GLOBAL DIM d_rlt_area '定義BLOB面積結(jié)果

  GLOBAL DIM d_rlt_state '定義狀態(tài)結(jié)果

  '旋轉(zhuǎn)矩形ROI參數(shù):cx、cy、width、height、angle

  GLOBAL DIM d_roi_rect2(5) 'd開頭表示數(shù)據(jù)結(jié)構(gòu)

  '圓弧ROI參數(shù):cx、cy、圓環(huán)中線半徑r、圓環(huán)半寬ann_R、起始角度stAngle、角度范圍entAngle

  GLOBAL DIM d_roi_arc(6) 'd開頭表示數(shù)據(jù)結(jié)構(gòu)

  '檢測參數(shù):閾值模式(自動(dòng)閾值或手動(dòng)閾值)、低閾值、高閾值、極性(黑或白)、最小面積、最大面積、反向(即結(jié)果取反,成功變成失敗、失敗變成成功)

  GLOBAL DIM d_detect_param(7) 'd開頭表示數(shù)據(jù)結(jié)構(gòu)

  '開/閉運(yùn)算參數(shù)

  GLOBal DIM d_deal_value(2)

  '檢測的結(jié)果,依次為狀態(tài)結(jié)果、像素面積

  GLOBAL DIM d_detect_rst(2)

  '顯示打印的字符

  GLOBAL ShowString(64)

  '運(yùn)行HMI文件

  RUN "Hmi.hmi",1

  

                    4            

  

  在detectParam.bas文件中初始化測量參數(shù)。

  end

  GLOBAL SUB init_detect_param() '初始化測量參數(shù)

      d_roi_arc_flag = 0 '默認(rèn)為矩形

      d_rlt_area = 0

      d_rlt_state = 0

      d_deal_value(0)=1

      d_deal_value(1)=1

      '初始化roi參數(shù)

      d_roi_rect2(0) = 320.0 'roi中心x

      d_roi_rect2(1) = 240.0 'roi中心y

      d_roi_rect2(2) = 160.0 'roi寬

      d_roi_rect2(3) = 120.0 'roi高

      d_roi_rect2(4) = 0.0 'roi角度

      TABLE(31) = d_roi_rect2(0)

      TABLE(32) = d_roi_rect2(1)

      TABLE(33) = d_roi_rect2(2)

      TABLE(34) = d_roi_rect2(3)

      TABLE(35) = d_roi_rect2(4)

      d_roi_arc(0) = 320.0 'roi中心x

      d_roi_arc(1) = 240.0 'roi中心y

      d_roi_arc(2) = 60.0 '圓環(huán)中心線半徑

      d_roi_arc(3) = 20.0 '圓環(huán)半寬

      d_roi_arc(4) = 0.0 '起始角度

      d_roi_arc(5) = 360.0 '終止角度

      TABLE(51) = d_roi_arc(0)

      TABLE(52) = d_roi_arc(1)

      TABLE(53) = d_roi_arc(2)

      TABLE(54) = d_roi_arc(3)

      TABLE(55) = d_roi_arc(4)

      TABLE(56) = d_roi_arc(5)

      '初始化檢測參數(shù):閾值模式(自動(dòng)閾值 = 1 或 手動(dòng)閾值 = 0)、低閾值、高閾值、極性(黑或白)、最大、最小、反向(即結(jié)果取反,成功變成失敗、失敗變成成功)

      d_detect_param(0) = 0 '手動(dòng)閾值

      d_detect_param(1) = 128 '低閾值

      d_detect_param(2) = 255 '高閾值

      d_detect_param(3) = 1 '極性白,即檢測白色像素面積

      d_detect_param(4) = 60000 '最小面積,像素個(gè)數(shù)

      d_detect_param(5) = 90000 '最大面積

      d_detect_param(6) = 0 '結(jié)果不反向

  END SUB

  

       5    

  

  關(guān)聯(lián)HMI界面值顯示控件變量。

  

  運(yùn)動(dòng)控制

       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

      ZV_RESETCLIPSIZE(1280, 1024) '初始化時(shí)依據(jù)圖像分辨率設(shè)置區(qū)域的裁剪尺寸,此處圖像分辨率為1280x1024

      ZV_LATCHSETSIZE(0, HMI_CONTROLSIZEX(10, 7), HMI_CONTROLSIZEY(10, 7)) '設(shè)置鎖存的大小

      init_detect_param() '初始化測量參數(shù)

      ZV_SETSYSDBL("CamGetTimeout", 1000) '設(shè)置采集超時(shí)

      ZV_LATCHCLEAR(0)

      ZV_LATCH(grabImg, 0)

  END SUB

       ↓    
運(yùn)動(dòng)控制
           7    

  在camera.bas文件中添加HMI界面中采集相關(guān)按鈕響應(yīng)的函數(shù)并關(guān)聯(lián)動(dòng)作函數(shù)。

  

  運(yùn)動(dòng)控制

  

  相機(jī)操作相關(guān)按鈕

  具體實(shí)現(xiàn)函數(shù)前期課程:

  VPLC系列機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)快速入門(三)基于形狀匹配的視覺定位

  VPLC系列機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)快速入門(二)相機(jī)的基本使用

  VPLC系列機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)快速入門(一)軟硬件介紹及計(jì)數(shù)實(shí)例

  已經(jīng)有操作演示,此處不做贅述。

  

       8    

  

  在draw.bas文件中添加檢測ROI更新繪制函數(shù),并在自定義元件屬性窗口中關(guān)聯(lián)刷新函數(shù)和繪制函數(shù)。

  end

  '和繪制(即選擇ROI)有關(guān)的界面的刷新繪制函數(shù)放在這個(gè)bas文件里

      DIM is_redraw

      is_redraw = 0

      DIM hit_pos

  '根據(jù)鼠標(biāo)操作更新ROI位置區(qū)域函數(shù)

  GLOBAL SUB update_roi()

      if d_roi_arc_flag = 0 then

          if mouse_scan(21) = 1 then '掃描按下操作

              hit_pos = ZV_HMIADJRECT2(table(21), table(22), 31, -1) '只有按下時(shí)可以改變擊中位置

              is_redraw = 1

          endif

          if mouse_scan(21) = -1 then '掃描松開操作

              ZV_HMIADJRECT2(table(21), table(22), 31, hit_pos)

              is_redraw = 1

          endif

          if (MOUSE_state(21)) then

              ZV_HMIADJRECT2(table(21), table(22), 31, hit_pos)

              is_redraw = 1

          endif

          if (1 = is_redraw) then

              is_redraw = 0

              ZV_POSTOIMG(0, 1, 31, 41)

              d_roi_rect2(0) = TABLE(41)

              d_roi_rect2(1) = TABLE(42)

              d_roi_rect2(2) = ZV_LENTOIMG(0, TABLE(33))

              d_roi_rect2(3) = ZV_LENTOIMG(0, TABLE(34))

              d_roi_rect2(4) = TABLE(35)

              SET_REDRAW

          endif

      else

          is_redraw = 0

          if mouse_scan(21) = 1 then '掃描按下操作

              hit_pos = ZV_HMIADJARC(table(21), table(22), 51, -1) '只有按下時(shí)可以改變擊中位置

              is_redraw = 1

          endif

          if mouse_scan(21) = -1 then '掃描松開操作

              ZV_HMIADJARC(table(21), table(22), 51, hit_pos)

              is_redraw = 1

          endif

          if (MOUSE_state(21)) then

              ZV_HMIADJARC(table(21), table(22), 51, hit_pos)

              is_redraw = 1

          endif

      if (1 = is_redraw) then

          is_redraw = 0

          '控件坐標(biāo)轉(zhuǎn)圖像坐標(biāo)

          ZV_POSTOIMG(0, 1, 51, 61)

          TABLE(63) = ZV_LENTOIMG(0, TABLE(53))

          TABLE(64) = ZV_LENTOIMG(0, TABLE(54))

          TABLE(65, TABLE(55), TABLE(56))

          d_roi_arc(0) = TABLE(61)

          d_roi_arc(1) = TABLE(62)

          d_roi_arc(2) = TABLE(63)

          d_roi_arc(3) = TABLE(64)

          d_roi_arc(4) = TABLE(65)

          d_roi_arc(5) = TABLE(66)

          SET_REDRAW

      endif

  end if

  END SUB

  'ROI區(qū)域更新后實(shí)時(shí)繪制ROI區(qū)域

  GLOBAL SUB draw_roi()

      if d_roi_arc_flag = 0 then

          SET_COLOR(C_BLUE)

          ZV_HMIRECT2(31, 300) '將旋轉(zhuǎn)矩形roi分解為HMI支持的繪圖圖元并添加控制參數(shù),便于HMI繪圖顯示

          DRAWLINE(TABLE(300), TABLE(301), TABLE(302), TABLE(303)) '外矩形

          DRAWLINE(TABLE(302), TABLE(303), TABLE(304), TABLE(305))

          DRAWLINE(TABLE(304), TABLE(305), TABLE(306), TABLE(307))

          DRAWLINE(TABLE(306), TABLE(307), TABLE(300), TABLE(301))

      else

          SET_COLOR(C_BLUE)

          TABLE(57) = 1 '子區(qū)域的個(gè)數(shù)

          TABLE(58) = 5 '子區(qū)域?qū)挾?/p>

          ZV_HMIARC(51, 400) '繪制圓環(huán)

          '繪制圓弧

          DRAWARC(TABLE(400), TABLE(401), TABLE(402), TABLE(404), TABLE(405)) '內(nèi)半徑

          DRAWARC(TABLE(400), TABLE(401), TABLE(403), TABLE(404), TABLE(405)) '外半徑

          '繪制邊界線

          DIM idx

          for idx = 0 to TABLE(406)-1

              DRAWLINE(TABLE(407+idx*4), TABLE(408+idx*4), TABLE(409+idx*4), TABLE(410+idx*4))

          next

      endif

  END SUB

         ↓    

  運(yùn)動(dòng)控制

       9    

  

  在main.bas文件中添加HMI界面按下【測試】按鈕時(shí)響應(yīng)的函數(shù)并關(guān)聯(lián)動(dòng)作函數(shù)名。

  

  運(yùn)動(dòng)控制

  

         ↓    

  'HMI界面按下測試按鈕時(shí)響應(yīng)的函數(shù)

  GLOBAL SUB btn_test()

      ZVOBJECT regionWhite, regionMask, regionBlack,re_connecte

      '生成ROI區(qū)域

      if d_roi_arc_flag = 0 then

          ZV_REGENRECT2(regionMask, d_roi_rect2(0), d_roi_rect2(1), d_roi_rect2(2), d_roi_rect2(3), d_roi_rect2(4))

      else

          ZV_REGENANNULAR(regionMask, d_roi_arc(0), d_roi_arc(1), d_roi_arc(2) - d_roi_arc(3), d_roi_arc(2) + d_roi_arc(3))

      endif

  '二值化處理

  if d_detect_param(0) = 0 then '手動(dòng)閾值處理

      ZV_RETHRESH(grabImg, regionMask, regionWhite, d_detect_param(1), d_detect_param(2))

      ZV_REOPENING(regionWhite,regionWhite,d_deal_value(0),d_deal_value(0))

      ZV_RECLOSING(regionWhite,regionWhite,d_deal_value(1),d_deal_value(1))

  else

      Dim autoThresh '自動(dòng)閾值處理

      ZV_REAUTOTHRESH(grabImg, regionMask, regionWhite, 500)

      ZV_REOPENING(regionWhite,regionWhite,d_deal_value(0),d_deal_value(0))

      ZV_RECLOSING(regionWhite,regionWhite,d_deal_value(1),d_deal_value(1))

      autoThresh = TABLE(500)

      '? "autoThresh = " autoThresh

  endif

  '計(jì)算BLOB面積

  if d_detect_param(3) = 1 then '極性為白

      ZV_REAREA(regionWhite, 500) '計(jì)算regionWhite亮區(qū)域的面積

      d_rlt_area = TABLE(500) '將獲取的像素面積賦值給d_rlt_area變量

      ZV_RECONNECT(regionWhite,re_connecte) '計(jì)算區(qū)域的連通區(qū)域

      zv_refilter(re_connecte,0,60000,90000,0) '對(duì)區(qū)域列表中的區(qū)域進(jìn)行過濾,保留面積在 60000 到 90000 的區(qū)域,面積不在此范圍的區(qū)域?qū)⒈贿^濾掉

      ZV_LISTCOUNT(re_connecte,100) '獲取列表中的連通區(qū)域的數(shù)量

      ?"產(chǎn)品個(gè)數(shù)"TABLE(100)

  else '極性為黑

      ZV_REDIFF (regionMask, regionWhite, regionBlack)

      ZV_REAREA(regionBlack, 500)

      d_rlt_area = TABLE(500)

      ZV_RECONNECT(regionBlack,re_connecte) '計(jì)算區(qū)域的連通區(qū)域

      zv_refilter(re_connecte,0,60000,90000,0) '對(duì)區(qū)域列表中的區(qū)域進(jìn)行過濾,保留面積在 60000 到 90000 的區(qū)域,面積不在此范圍的區(qū)域?qū)⒈贿^濾掉

      ZV_LISTCOUNT(re_connecte,100) '獲取列表中的連通區(qū)域的數(shù)量

      ?"產(chǎn)品個(gè)數(shù)"TABLE(100)

  endif

  '對(duì)結(jié)果進(jìn)行判斷

  if d_rlt_area > d_detect_param(4) and d_rlt_area < d_detect_param(5) then '面積結(jié)果在設(shè)定的面積上下限范圍內(nèi)時(shí)

      d_rlt_state = 1

  else

      d_rlt_state = 0

  endif

  '是否反向的判斷

  if d_detect_param(6) then

      d_rlt_state = 1 - d_rlt_state

  endif

  '繪制效果圖

  Dim width, height

  ZV_IMGINFO (grabImg, 500)

  width = TABLE(500)

  height = TABLE(501)

  ZV_GRAYTORGB(grabImg,disImg)

  ShowString=TOSTR(TABLE(100),1,0) '將BLOB的數(shù)量轉(zhuǎn)換成字符串變量

  ZV_TEXT(disImg,"零件統(tǒng)計(jì)個(gè)數(shù):"ShowString,10,80,80,ZV_COLOR(0,0,0)) '顯示結(jié)果文本

  ZV_REGION(disImg, regionMask, 0, ZV_COLOR(0,0,0)) '在disImg中繪制黑色的regionMask區(qū)域

  ZV_REGION(disImg, regionWhite, 0, ZV_COLOR(255,255,255)) '在disImg中繪制白色的regionWhite區(qū)域

  ZV_LATCH(disImg, 0)

  end sub

         ↓
運(yùn)動(dòng)控制
                   10        
   

  在main.bas文件中添加【運(yùn)行】按鈕響應(yīng)的函數(shù)并關(guān)聯(lián)動(dòng)作函數(shù)。

  運(yùn)動(dòng)控制
               

  'HMI界面按下運(yùn)行按鈕時(shí)響應(yīng)的函數(shù)

  GLOBAL SUB btn_run()

          if(2 = main_task_state) then

              ?"已經(jīng)開啟連續(xù)運(yùn)行任務(wù),請(qǐng)勿重復(fù)操作!"

          return

  endif

  if (1 = main_task_state) then

      if (0 = PROC_STATUS(main_task_id)) then

              main_task_state = 2

              RUNTASK main_task_id, main_task

          endif

      endif

  end sub

  main_task:

      while(1)

      if (3 = main_task_state) then

              main_task_state = 1

              exit while

          endif

          '執(zhí)行采集和檢測函數(shù)

          CAM_SETPARAM("TriggerSoftware", 0)

              CAM_GET(grabImg, 0)

          btn_test()

      wend

  END

         ↓    

  運(yùn)動(dòng)控制

       11    

  

  在main.bas文件中添加【停止】按鈕響應(yīng)的函數(shù)并關(guān)聯(lián)動(dòng)作函數(shù)。

  

  運(yùn)動(dòng)控制

  

           

  'HMI界面按下停止按鈕時(shí)響應(yīng)的函數(shù)

  GLOBAL SUB btn_stop()

      if (2 = main_task_state) then

          main_task_state = 3

      endif

  end sub

                       
運(yùn)動(dòng)控制    

  運(yùn)動(dòng)控制

  

  本次,正運(yùn)動(dòng)技術(shù)VPLC系列機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)快速入門(四)——BLOB有無檢測就分享到這里,更多精彩內(nèi)容請(qǐng)關(guān)注“正運(yùn)動(dòng)小助手”公眾號(hào)。

  本文由正運(yùn)動(dòng)技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國智能制造水平。文章版權(quán)歸正運(yùn)動(dòng)技術(shù)所有,如有轉(zhuǎn)載請(qǐng)注明文章來源。

  

  運(yùn)動(dòng)控制

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:合信微課堂上線!HMI產(chǎn)品及Ma...

下一篇:圖爾克技術(shù)話題 | CODESYS的...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與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)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)