labview要点速记

labview要点速记
  • labview串口利用VISA形成的统一编程接口,来操作串口。

  • labview程序分为front panel和block diagram,front panel中注意Array的使用,放置一个Array对象之后,应用numberic control或者其他control,indicator去初始化。

  • labview中使用block diagram中使用时要注意:programming中的控件,对于每一个port都能利用create生成constant,control,indicator.大部分控件都能转换成相应的control,constant,indicator。

  • waveform chart使用时,由于properties中autoscale的勾选会导致波形过于密集或稀疏,手动调节一下,就相当于调节示波器时基的效果了。

  • labview中默认会将数据都缓冲起来,会造成数据在控件上的堆积,可以在File>>VI properties>>excution设置掉

  • 串口协议的分类:

    1.帧头+数据+校验+帧尾,校验很重要,一是避免数据传输错误,二则可以指定重传的规则。
    2.帧头+len+data+check value,应有timeout检查。
    3.接收超时检测来判断。

  • TCP/串口编程时:存储结构优先采用队列方式,注意对寄存器的操作。

  • TCP编程

    要点

    • tcp/ip编程中常常会以timeout来模拟阻塞(默认长达25秒),因此希望以不阻塞的方式来实现时,要设置好延时.
    • tcp/ip之tcp read function
      有四种模式:
      1.Standard: timeout时限内没有得到足够的字节数,则将部分字节传回并报告一个timerout error.
      2.Buffered: timeout时限内没有得到足够的字节数,则将空字节传回并报告一个timerout error.
      3.CRLF:有换行符或字节数已经足够,或者timeout时限已到,则连带LF一起传回.
      4.Immediate:timeout时限内没有得到足够字节数,只有不是0 byte则返回,0 byte则返回timeout error.

    • tcp/ip之tcp file translate
      1.采用先传名称,然后双方相互告知文件长度,最后再传文件内容。
      2, 如果文件长度太长,采用分片传输的方式循环传送,这样能避免非稳定情况以及错误的发生

    • 客户端编程采用open socket - write/read - close 模式
    • 服务器端编程采用 create listen-waiting for listen -read/write - close 模式
  • 对数组分割操作时,注意index要有变化。

  • while循环的终止条件有两种:stop if true,continue if true。

  • local var 常常可以用属性节点来互换。

  • shift register用于累加,要设置归零操作。

  • labview尽量避免顺序结构,顺序结构常见于初始化。

  • 引用:控件引用:右键->create->reference即可;通用控件引用:前面板->搜索vi refnum->右键->select vi server->generic->gobject->control…

  • 波形图表控件设置实时时间显示:get date/time in seconds+信号 -> build waveform -> waveform chart

  • file path的属性中有设置是选文件,还是文件夹的选项

  • labview之事件+while

    • 程序特点
      这样的结构适用于处理随机发生的事件,避免对控件的实时轮训,此时的事件中有一个默认timeout,意思是事件发生了,过了timeout时间还未结束,就进入timeout event;此时注意在事件中的变量是否要在timeout event中还要发生作用,否则的话就可以用local var or property node 来解决。
  • labview之队列

    • 程序结构
      obtain queue -> enqueue ->release queue,常见于并行的两个while循环,这样便能形成一个典型的生产者消费者编程模型,通过不同循环之间的延时操作来模拟取放速度,同时最重要的是利用队列来实现对错误的处理和并行循环的控制,当主循环被关闭时,就将终止动作入队,同时在从循环中取出终止动作,这样就能实现同时关闭了。
  • labview之jki状态机:

    • 安装(2016版)
      点击Block Diagram中Addon,转到labview官网,搜索JKI State即可,建议通过VIPM来安装。
    • 运行原理
      先执行Macro:Initialize -> Data:Initialize ->Initialize Core Data -> UI Initialize -> UI Front Panel State -> Open ,然后转入Idle,在Idle中的事件结构中加入自己定义的事件(用 add state to queue 控件将自己的事件加入),最后在到new category中加入自定义的case,这样处理完状态队列里的所有case之后,就可以回到Idle状态了。
  • 12
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值