之前正运动技术与大家分享了,运动控制器的固件升级、ZBasic程序开发、ZPLC程序开发、与触摸屏通讯和输入/输出IO的应用、运动控制器数据与存储的应用、运动控制器ZCAN、EtherCAT总线的使用、示波器的应用、多任务运行的特点、运动控制器中断的应用等。

  今天,我们来讲解一下正运动技术运动控制器U盘接口的使用。

   视频教程:《正运动技术运动控制器U盘接口的使用》

  以下是图文详解。

   1、材料准备与控制器接线参考

  1)材料准备

  

  

  

  2)控制器接线参考

  

  

  

   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

  示例:

  

  

  

  注意U盘数据的存储和读出的次序要一致。

  没有控制器时,可以使用仿真器,在编程软件的根目录下新建udisk文件模拟U盘。将U盘指令操作要用到的文件放入此文件夹即可。

  

  

  

  1)U盘zar文件操作。

  

  

  

  2)U盘与FLASH数据操作。

  

  

  

  FLASH块号与SD文件的编号是一一对应的,不需要要指定。

  3)删除U盘文件,支持删除bin文件和z3p文件。

  

  

  

  4)以字节方式加载U盘上的文件,支持读取多种类型的文件。

  

FILE

“LOAD_BYTE”, “00.txt”,

200, 10, 0

  ‘读取U盘上名称为

00.txt的文件,将读取结果转化成ASCII码,存储在TABLE(

200)开始的10个空间内。

  最后一个参数offset为文件开始读取的字节偏移,设为0表示从第一个字符开始读取;设为1表示从第二个字符开始读取,跳过第一个字符,详情参见后方程序演示。

  txt文件内容:ZMOTION

  指令读取结果:

  

  

  

  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组态界面:

  

  

  

  没有触摸屏时,打开ZDevelop编程软件根目录找到screen文件夹,打开里面的xplcterm应用程序,连接到控制器即可进行触摸屏仿真。

  

  

  

  正运动技术运动控制器U盘接口的使用就分享到这里,更多精彩内容,请关注我们的公众号。

  本文由正运动小助手原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

  

  

  

快速入门 | 篇十二:正运动技术运动控制器U盘接口的使用​相关推荐

  1. 快速入门 | 篇十三:正运动技术运动控制器ZDevelop 编程软件的使用

    之前正运动技术与大家分享了,运动控制器的固件升级.ZBasic程序开发.ZPLC程序开发.与触摸屏通讯和输入/输出IO的应用.运动控制器数据与存储的应用.运动控制器ZCAN.EtherCAT总线的使用 ...

  2. 快速入门 | 篇十一: 正运动技术运动控制器中断的应用​

    之前正运动技术与大家分享了,运动控制器的固件升级.ZBasic程序开发.ZPLC程序开发.与触摸屏通讯和输入/输出IO的应用.运动控制器数据与存储的应用.运动控制器ZCAN.EtherCAT总线的使用 ...

  3. 快速入门 | 篇十八:正运动技术脉冲型运动控制器的使用​

    视频教程:<正运动技术脉冲型运动控制器的使用> 今天,正运动技术来分享一下,脉冲型运动控制器的使用入门.首先,我们从准备工作讲起,然后依次讲控制器与电脑连接.控制器参数设置.驱动器参数设置 ...

  4. 快速入门 | 篇十四:运动控制器基础轴参数与基础运动控制指令

    之前正运动技术与大家分享了,运动控制器的固件升级.ZBasic程序开发.ZPLC程序开发.与触摸屏通讯和输入/输出IO的应用.运动控制器数据与存储的应用.运动控制器ZCAN.EtherCAT总线的使用 ...

  5. K8S 快速入门(十二)实战篇:配置 ConfigMapSecret

    一.ConfigMap 官方文档 ConfigMap 1. 动机 我们经常都需要为我们的应用程序配置一些特殊的数据,比如密钥.Token .数据库连接地址或者其他私密的信息.你的应用可能会使用一些特定 ...

  6. 运动控制器编程_快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一

    点击上方"正运动小助手",随时关注新动态! 运动控制器ZHMI组态编程简介一  今天我们来学习一下,运动控制器的ZHMI组态编程简介.本文主要从产品概述.控制器连接触摸屏使用.HM ...

  7. 两轴插补速度怎么给定_快速入门 | 篇十七:运动控制器多轴插补运动指令的使用...

    以下是图文详解 本节内容主要分为三大部分:插补运动.轨迹前瞻以及SP速度指令. 一 插补运动 插补是机床数控系统依照一定方法确定刀具运动轨迹的过程,插补是一个实时进行的数据密化的过程,不论是何种插补算 ...

  8. 快速入门 | 篇十七:运动控制器多轴插补运动指令的使用

    视频教程:<视频教程:运动控制器多轴插补运动指令的使用> 以下是图文详解 本节内容主要分为三大部分:插补运动.轨迹前瞻以及SP速度指令. 一 插补运动 插补是机床数控系统依照一定方法确定刀 ...

  9. Lua快速入门篇(XLua教程)(Yanlz+热更新+xLua+配置+热补丁+第三方库+API+二次开发+常见问题+示例参考)

                            <Lua热更新> ##<Lua热更新>发布说明: ++++"Lua热更新"开始了,立钻哥哥终于开始此部分的探 ...

最新文章

  1. 平安人寿福利BUFF重磅推介 | 北京研发中心职位速递
  2. C++案例-员工分组
  3. 在ASP.NET Core Web API上使用Swagger提供API文档
  4. MongoDB的安装和启动方法详解
  5. ReactiveCocoa 5.0 初窥:可能是最痛的一次升级
  6. WINDOWS上OpenCV需要有MediaPlayer才能正确运行?
  7. live2d_vue-live2d 看板娘
  8. DirectX 龙书 混合 理解
  9. Microsoft Office 2019 正式版 安装记录
  10. Ubuntu 13.10 安装后配置
  11. IT人才外包服务的好处?
  12. TCP服务器和客户端的创建(socket/socketserver)
  13. 嵌入式计算机的关键特征,与通用计算机的区别
  14. Neo4j 实战篇(一)基于Py2Neo构建电影知识图谱
  15. 什么是过拟合、欠拟合现象以及如何缓解?
  16. 乖离率背离公式_乖离率BIAS操盘口诀:“W底上涨为先,M顶下跌为先”仅12字,赚得盆满钵满...
  17. 推荐一部美国电影---‘’决胜21点‘’O(∩_∩)O
  18. 一个基于C#实现的简易QQ农场
  19. 艾默生流量计如何做好清洁排空工作
  20. verilog学习记(学习设计cpu)

热门文章

  1. Scrapy抓取有关房屋租售信息并生成手机App(二)
  2. FFmpeg 混音学习【一】FFmpeg aac音频混流学习及问题记录
  3. itext设置pdf的尺寸_freemark+ITextRenderer 生成PDF,设置pdf的页面大小
  4. 开关电源电路原理与设计
  5. Android开发大牛们的博客地址
  6. Xilinx TPG IP使用
  7. 基于用户画像的精准营销
  8. C#判断某年某月共有多少个周末,分别是哪几天
  9. 小学六年级奥数竞赛题:牛吃草问题
  10. 专业高手如何快速看盘(转贴)