亚洲精华国产精华精华液网站,你懂的,娇生惯养4ph归寻(矜以),丰年经继拇中文3与其他教材比较

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 快速入門 | 篇十二:正運動技術運動控制器U盤接口的使用?

快速入門 | 篇十二:正運動技術運動控制器U盤接口的使用?

時間:2020-11-26 10:17:27來源:正運動技術

導語:?

  之前正運動技術與大家分享了,運動控制器的固件升級、ZBasic程序開發、ZPLC程序開發、與觸摸屏通訊和輸入/輸出IO的應用、運動控制器數據與存儲的應用、運動控制器ZCAN、EtherCAT總線的使用、示波器的應用、多任務運行的特點、運動控制器中斷的應用等。

  今天,我們來講解一下正運動技術運動控制器U盤接口的使用。

   視頻教程 視頻教程:正運動技術運動控制器U盤接口的使用》

  以下是圖文詳解。

   1、材料準備與控制器接線參考

  1)材料準備

  

  1.png

  

  2)控制器接線參考

  

  2.png

  

   2、U盤的用途

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

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

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

  1)程序升級

  通過U盤口,下載打包好的ZAR程序包,方便客戶更新系統程序。

  程序升級之前事先將ZAR程序包下載到U盤里面。使用指令加載U盤文件成功后,ZAR程序自動開始運行。

  2)U盤與寄存器數據交互

  U盤讀寫變量和數組。

  FLASH數據拷貝:多個控制器中FLASH存儲的數據可以通過U盤來相互傳遞。

  VR寄存器、TABLE寄存器與U盤里的數據互相傳遞。

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

   3、U盤讀寫指令

  U_STATE:U盤狀態判斷,檢測到有U盤插入返回TRUE,否則返回FALSE。

  1)U盤讀寫變量、數組

  U_READ:從U盤中讀取數據到變量或數組里。

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

  U_WRITE:存儲變量或者數組,數組的單個或部分元素到外部存儲器里面。

  2)U盤與寄存器數據交互

  U盤與TABLE和VR數據讀寫的格式相同。

  STICK_READ:從U盤讀取數據到table。

  STICK_WRITE:拷貝TABLE的數據到U盤。

  STICK_READVR:從U盤讀取數據到VR。

  STICK_WRITEVR:拷貝VR的數據到U盤。

   4、U盤讀寫示例

  控制器對U盤進行讀寫操作之前,首先要確保U盤已經插上,使用U_STATE指令判斷U盤狀態。

  操作指令:U_READ,U_WRITE

  示例:

  

  3.png

  

  注意U盤數據的存儲和讀出的次序要一致。

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

  

  4.png

  

  1)U盤zar文件操作。

  

  5.png

  

  2)U盤與FLASH數據操作。

  

  6.png

  

  FLASH塊號與SD文件的編號是一一對應的,不需要要指定。

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

  

  7.png

  

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

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

  ‘讀取U盤上名稱為 00.txt的文件,將讀取結果轉化成ASCII碼,存儲在TABLE( 200)開始的10個空間內。

  最后一個參數offset為文件開始讀取的字節偏移,設為0表示從第一個字符開始讀取;設為1表示從第二個字符開始讀取,跳過第一個字符,詳情參見后方程序演示。

  txt文件內容:ZMOTION

  指令讀取結果:

  

  9.png

  

  TABLE(200):總字節數

  TABLE(201):讀取到的第一個字節

  TABLE(202):讀取到的第二個字節

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

  

   6、U盤使用演示例程

  

  例程使用HMI組態傳遞MODBUS_BIT位寄存器的值來控制U盤指令的執行。

  global sub main_int()             '初始化函數

      APP_PASS(123)

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

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

      dim result 'file指令讀取結果標志

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

      dim filenum 'zar文件編號

      filenum=0

      for i=0 to 100

          table(i)=i

      next

      dim u,uu(8) 'U盤讀寫參數

      u=10

      for i=0 to 7

          uu(i)=i

      next

      dim a,aa(8) 'FLASH讀寫參數

  end sub



  global sub main_scan()         '周期函數

      if U_STATE=TRUE then         '獲取U盤狀態并顯示連接或未連接

          table(100)=1

      elseif U_STATE=FALSE then

          table(100)=0

      endif

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

              '************加載U盤的升級ZAR程序************

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

                  MODBUS_BIT(0)=0             '按鍵恢復

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

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

                      filenum=1

                  else

                      print "沒有文件"

                  endif

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

      MODBUS_BIT(10)=0

      result=FILE"find_prev",1200 '搜索上一個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 '搜索上一個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升級文件

          if result =0 then

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

              warnstr=" Download Failed"

              HMI_SHOWWINDOW(100)

          endif

      '************U盤與TABLE數據交互************

      'TABLE讀寫指令:STICK_WRITE STICK_READ

      'VR讀寫指令:STICK_WRITEVR STICK_READVR

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

      MODBUS_BIT(40)=0

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

      print "table輸出到U盤"

  elseif MODBUS_BIT(41)=1 then

      MODBUS_BIT(41)=0

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

         print "U盤輸出到table"

  '************U盤數據讀寫************

  elseif MODBUS_BIT(50)=1 then

      MODBUS_BIT(50)=0

      U_WRITE 1,u,uu '數據寫入U盤,對變量和數組進行操作

      print "數據寫入U盤"

  elseif MODBUS_BIT(51)=1 then

      MODBUS_BIT(51)=0

      U_READ 1,u,uu 'U盤數據讀出

      print "U盤數據讀出"

  '************U盤與FLASH數據交互************

  elseif MODBUS_BIT(60)=1 then

      MODBUS_BIT(60)=0

      FLASH_WRITE 3,a aa

      file"copy_from","sd3.bin"'本條指令sd num就是指flash塊的編號,此時將flash塊3的數據復制到u盤

      print "flash塊的數據復制到u盤"

  elseif MODBUS_BIT(61)=1 then

      MODBUS_BIT(61)=0

      file"copy_to","sd1.bin" '讀取sd1的數據寫入flash塊1

      print "u盤數據寫入flash"

      flash_read 1,a,aa

          print *aa

      '************讀取U盤文件內容************

      elseif MODBUS_BIT(11)=1 then

      MODBUS_BIT(11)=0

      FILE"LOAD_BYTE","00.txt",200,10,0 '讀取u盤中文本文件數據保存到table200開始的10個地址中

      print "讀取u盤txt文件"

   endif

 endif

end sub

  HMI組態界面:

  

  10.png

  

  沒有觸摸屏時,打開ZDevelop編程軟件根目錄找到screen文件夾,打開里面的xplcterm應用程序,連接到控制器即可進行觸摸屏仿真。

  

  11.png

  

  正運動技術運動控制器U盤接口的使用就分享到這里,更多精彩內容,請關注我們的公眾號。

  本文由正運動小助手原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。

  

  12.png

  

標簽:

點贊

分享到:

上一篇:快速入門 | 篇十一: 正運動...

下一篇:快速入門 | 篇十三:正運動技...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 灵山县| 大关县| 潜山县| 衡南县| 宣恩县| 毕节市| 河曲县| 乌兰浩特市| 福安市| 松溪县| 楚雄市| 高要市| 乐山市| 中西区| 准格尔旗| 竹山县| 桑植县| 扎兰屯市| 博爱县| 江山市| 灵石县| 潼南县| 大冶市| 凤山市| 茌平县| 民和| 噶尔县| 阳谷县| 河东区| 华容县| 岳普湖县| 马公市| 大姚县| 大余县| 吉木萨尔县| 辽阳市| 绩溪县| 融水| 仪陇县| 唐海县| 同心县|