技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 快速入門 | 篇十二:正運(yùn)動(dòng)技術(shù)運(yùn)動(dòng)控制器U盤接口的使用?

快速入門 | 篇十二:正運(yùn)動(dòng)技術(shù)運(yùn)動(dòng)控制器U盤接口的使用?

時(shí)間:2020-11-26 10:17:27來(lái)源:正運(yùn)動(dòng)技術(shù)

導(dǎo)語(yǔ):?

  之前正運(yùn)動(dòng)技術(shù)與大家分享了,運(yùn)動(dòng)控制器的固件升級(jí)、ZBasic程序開(kāi)發(fā)、ZPLC程序開(kāi)發(fā)、與觸摸屏通訊和輸入/輸出IO的應(yīng)用、運(yùn)動(dòng)控制器數(shù)據(jù)與存儲(chǔ)的應(yīng)用、運(yùn)動(dòng)控制器ZCAN、EtherCAT總線的使用、示波器的應(yīng)用、多任務(wù)運(yùn)行的特點(diǎn)、運(yùn)動(dòng)控制器中斷的應(yīng)用等。

  今天,我們來(lái)講解一下正運(yùn)動(dòng)技術(shù)運(yùn)動(dòng)控制器U盤接口的使用。

   視頻教程 視頻教程:正運(yùn)動(dòng)技術(shù)運(yùn)動(dòng)控制器U盤接口的使用》

  以下是圖文詳解。

   1、材料準(zhǔn)備與控制器接線參考

  1)材料準(zhǔn)備

  

  1.png

  

  2)控制器接線參考

  

  2.png

  

   2、U盤的用途

  不同型號(hào)的控制器U盤接口的使用方法都是相同的。

  將U盤插在控制器上的UDISK端口即可,控制器上電后有U盤插入時(shí),U盤指示燈亮。

  U盤主要由兩方面的用途:

  1)程序升級(jí)

  通過(guò)U盤口,下載打包好的ZAR程序包,方便客戶更新系統(tǒng)程序。

  程序升級(jí)之前事先將ZAR程序包下載到U盤里面。使用指令加載U盤文件成功后,ZAR程序自動(dòng)開(kāi)始運(yùn)行。

  2)U盤與寄存器數(shù)據(jù)交互

  U盤讀寫(xiě)變量和數(shù)組。

  FLASH數(shù)據(jù)拷貝:多個(gè)控制器中FLASH存儲(chǔ)的數(shù)據(jù)可以通過(guò)U盤來(lái)相互傳遞。

  VR寄存器、TABLE寄存器與U盤里的數(shù)據(jù)互相傳遞。

  讀寫(xiě)文件類型為SD(filenum).BIN或SD(filenum).CSV,不同的指令可操作的文件類型有所區(qū)別。

   3、U盤讀寫(xiě)指令

  U_STATE:U盤狀態(tài)判斷,檢測(cè)到有U盤插入返回TRUE,否則返回FALSE。

  1)U盤讀寫(xiě)變量、數(shù)組

  U_READ:從U盤中讀取數(shù)據(jù)到變量或數(shù)組里。

  U_READ2:從U盤中讀取數(shù)據(jù)到變量或數(shù)組里,可選讀取的起始位置。

  U_WRITE:存儲(chǔ)變量或者數(shù)組,數(shù)組的單個(gè)或部分元素到外部存儲(chǔ)器里面。

  2)U盤與寄存器數(shù)據(jù)交互

  U盤與TABLE和VR數(shù)據(jù)讀寫(xiě)的格式相同。

  STICK_READ:從U盤讀取數(shù)據(jù)到table。

  STICK_WRITE:拷貝TABLE的數(shù)據(jù)到U盤。

  STICK_READVR:從U盤讀取數(shù)據(jù)到VR。

  STICK_WRITEVR:拷貝VR的數(shù)據(jù)到U盤。

   4、U盤讀寫(xiě)示例

  控制器對(duì)U盤進(jìn)行讀寫(xiě)操作之前,首先要確保U盤已經(jīng)插上,使用U_STATE指令判斷U盤狀態(tài)。

  操作指令:U_READ,U_WRITE

  示例:

  

  3.png

  

  注意U盤數(shù)據(jù)的存儲(chǔ)和讀出的次序要一致。

  沒(méi)有控制器時(shí),可以使用仿真器,在編程軟件的根目錄下新建udisk文件模擬U盤。將U盤指令操作要用到的文件放入此文件夾即可。

  

  4.png

  

  1)U盤zar文件操作。

  

  5.png

  

  2)U盤與FLASH數(shù)據(jù)操作。

  

  6.png

  

  FLASH塊號(hào)與SD文件的編號(hào)是一一對(duì)應(yīng)的,不需要要指定。

  3)刪除U盤文件,支持刪除bin文件和z3p文件。

  

  7.png

  

  4)以字節(jié)方式加載U盤上的文件,支持讀取多種類型的文件。

   FILE "LOAD_BYTE", "00.txt", 200, 10, 0

  ‘讀取U盤上名稱為 00.txt的文件,將讀取結(jié)果轉(zhuǎn)化成ASCII碼,存儲(chǔ)在TABLE( 200)開(kāi)始的10個(gè)空間內(nèi)。

  最后一個(gè)參數(shù)offset為文件開(kāi)始讀取的字節(jié)偏移,設(shè)為0表示從第一個(gè)字符開(kāi)始讀取;設(shè)為1表示從第二個(gè)字符開(kāi)始讀取,跳過(guò)第一個(gè)字符,詳情參見(jiàn)后方程序演示。

  txt文件內(nèi)容:ZMOTION

  指令讀取結(jié)果:

  

  9.png

  

  TABLE(200):總字節(jié)數(shù)

  TABLE(201):讀取到的第一個(gè)字節(jié)

  TABLE(202):讀取到的第二個(gè)字節(jié)

  TABLE(200+n):讀取到的第N個(gè)字節(jié)

  

   6、U盤使用演示例程

  

  例程使用HMI組態(tài)傳遞MODBUS_BIT位寄存器的值來(lái)控制U盤指令的執(zhí)行。

  global sub main_int()             '初始化函數(shù)

      APP_PASS(123)

      VRSTRING(1200,20)="未掃描"

      global warnstr(20) '定義提示信息的數(shù)組

      dim result 'file指令讀取結(jié)果標(biāo)志

      result=0 '返回-1為true,0為false

      dim filenum 'zar文件編號(hào)

      filenum=0

      for i=0 to 100

          table(i)=i

      next

      dim u,uu(8) 'U盤讀寫(xiě)參數(shù)

      u=10

      for i=0 to 7

          uu(i)=i

      next

      dim a,aa(8) 'FLASH讀寫(xiě)參數(shù)

  end sub



  global sub main_scan()         '周期函數(shù)

      if U_STATE=TRUE then         '獲取U盤狀態(tài)并顯示連接或未連接

          table(100)=1

      elseif U_STATE=FALSE then

          table(100)=0

      endif

      if U_STATE=TRUE then     '判斷U盤是否插入

              '************加載U盤的升級(jí)ZAR程序************

              if MODBUS_BIT(0)=1 then         '判斷按鍵是否按下

                  MODBUS_BIT(0)=0             '按鍵恢復(fù)

                  result=FILE"find_first",".zar",1200 ',zar可以替換為.bin,但是無(wú)法用load_bin下載

                  if result=-1 then         '判斷zar程序讀取是否成功

                      filenum=1

                  else

                      print "沒(méi)有文件"

                  endif

  elseif MODBUS_BIT(10)=1 and result=-1 then

      MODBUS_BIT(10)=0

      result=FILE"find_prev",1200 '搜索上一個(gè)U盤文件

      if result=-1 then

          filenum=filenum-1

      else

          result=FILE"find_next",1200

          warnstr= "The First File"

          HMI_SHOWWINDOW(100)

      endif


  elseif MODBUS_BIT(20)=1 and result=-1 then

      MODBUS_BIT(20)=0

      result=FILE"find_next",1200 '搜索上一個(gè)U盤文件

      if result=-1 then

          filenum=filenum+1

      else

          result=FILE"find_prev",1200

          warnstr=" The End File"

          HMI_SHOWWINDOW(100)

      endif

  elseif MODBUS_BIT(30)=1 then

          MODBUS_BIT(30)=0

          result=FILE"load_zar",VRSTRING(1200,20) '加載U盤里面的ZAR升級(jí)文件

          if result =0 then

              result=FILE"find_first",".zar",1200

              warnstr=" Download Failed"

              HMI_SHOWWINDOW(100)

          endif

      '************U盤與TABLE數(shù)據(jù)交互************

      'TABLE讀寫(xiě)指令:STICK_WRITE STICK_READ

      'VR讀寫(xiě)指令:STICK_WRITEVR STICK_READVR

  elseif MODBUS_BIT(40)=1 then    '對(duì)table或VR進(jìn)行操作

      MODBUS_BIT(40)=0

      STICK_WRITE(10,0,5,1) 'table輸出到U盤,從table(0)開(kāi)始取五個(gè)元素

      print "table輸出到U盤"

  elseif MODBUS_BIT(41)=1 then

      MODBUS_BIT(41)=0

      STICK_READ(10,0,1) 'U盤輸出到table(0)開(kāi)始地址

         print "U盤輸出到table"

  '************U盤數(shù)據(jù)讀寫(xiě)************

  elseif MODBUS_BIT(50)=1 then

      MODBUS_BIT(50)=0

      U_WRITE 1,u,uu '數(shù)據(jù)寫(xiě)入U(xiǎn)盤,對(duì)變量和數(shù)組進(jìn)行操作

      print "數(shù)據(jù)寫(xiě)入U(xiǎn)盤"

  elseif MODBUS_BIT(51)=1 then

      MODBUS_BIT(51)=0

      U_READ 1,u,uu 'U盤數(shù)據(jù)讀出

      print "U盤數(shù)據(jù)讀出"

  '************U盤與FLASH數(shù)據(jù)交互************

  elseif MODBUS_BIT(60)=1 then

      MODBUS_BIT(60)=0

      FLASH_WRITE 3,a aa

      file"copy_from","sd3.bin"'本條指令sd num就是指flash塊的編號(hào),此時(shí)將flash塊3的數(shù)據(jù)復(fù)制到u盤

      print "flash塊的數(shù)據(jù)復(fù)制到u盤"

  elseif MODBUS_BIT(61)=1 then

      MODBUS_BIT(61)=0

      file"copy_to","sd1.bin" '讀取sd1的數(shù)據(jù)寫(xiě)入flash塊1

      print "u盤數(shù)據(jù)寫(xiě)入flash"

      flash_read 1,a,aa

          print *aa

      '************讀取U盤文件內(nèi)容************

      elseif MODBUS_BIT(11)=1 then

      MODBUS_BIT(11)=0

      FILE"LOAD_BYTE","00.txt",200,10,0 '讀取u盤中文本文件數(shù)據(jù)保存到table200開(kāi)始的10個(gè)地址中

      print "讀取u盤txt文件"

   endif

 endif

end sub

  HMI組態(tài)界面:

  

  10.png

  

  沒(méi)有觸摸屏?xí)r,打開(kāi)ZDevelop編程軟件根目錄找到screen文件夾,打開(kāi)里面的xplcterm應(yīng)用程序,連接到控制器即可進(jìn)行觸摸屏仿真。

  

  11.png

  

  正運(yùn)動(dòng)技術(shù)運(yùn)動(dòng)控制器U盤接口的使用就分享到這里,更多精彩內(nèi)容,請(qǐng)關(guān)注我們的公眾號(hào)。

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

  

  12.png

  

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:快速入門 | 篇十一: 正運(yùn)動(dòng)...

下一篇:快速入門 | 篇十三:正運(yùn)動(dòng)技...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

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

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

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

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)