0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

配置文档(ini文档)的应用

手把手LabVIEW 项目实践 2020-08-11 17:10 次阅读

LabVIEW 项目实践篇

配置文档(ini文档)的应用

(V1.0)

LabVIEW 项目实践篇:配置文档(ini文档)的应用

(V1.0)

1. 项目工况:

在楼主做项目的时候,经常会遇到这样一种工况,就是需要把一些参数记下来,下次打开软件的时候,还是这个状态。比如说,楼主做一些试验台的时候,需要做一些报警。例如温度高报警,温度低报警,液位高报警,液位低报警等,就需要把各个报警值计下来。再比如说,要做一些传感器的标定,需要把传感器的标定参数记下来。在试验元件的时候,需要把一些常用参数记下来等等。下面谈一谈楼主楼主用过的几种方法。

2. 实现方案:

1.当前值设置为默认值:用过Labview的同学,最先想到的应该就是 LV自带的默认值功能了。在一下工况下,默认值确实是个很方便的功能。这个功能,就相当于咋们常说的缺省值。

举个例子:一个数字控件,比如楼主最常用的电机转速。在项目中常用到变频器,用一个控件控制变频器的转速。

众所周知,电机转速不能太低。当不设置 默认值的时候,LV数值控件默认值为0 ,所以这时候,就需要给 控件来个默认值,当程序刚打开的时候,让电机转速设置为400/min。

设置如下:

当设置完成时,程序打包以后,每次程序打开以后,此控件的默认值就是400。

这种用法楼主还经常用在一下缺省值的设定上。比如说,楼主经常要做一些报表,报表要填写 姓名,日期等。通常会把最常用的一个状态设置为缺省值,方便用户来填写。再比如说在填一些电子表格的时候,国际:中国,名族:汉。你来一个缺省值,默认值就会很方便。如果对方部是中国,不是汉族,只要一改就可以了。

下面举例:一批被试阀 型号为TT-112543-XXX,前面的值都一样,只有XXX需要改变。这时候,就可以把TT-112543-001设置为缺省值,只需要改变后几位就可以了。用户也不容易输错。

这种办法在以上这种,不经常变动的工况下适用。一旦默认值确定下来,再就不好改。

2.用PLC记录值:这是一种偷懒的方法,在一定场合,可以用一下,但弊端很大。

楼主经常做一些测控项目,最常用到的硬件配置就是工控机+板卡+PLC这样的上下位机结构。在一些时候工控下,可以用一下。

具体做法就是,在PLC开辟一块存储控件。比如西门子PLC中设置一个DB数据块。然后把一些变量和变量绑定就可以了。比如说,温度高报警值:DB1.DBD0,温度低报警值:DB1.DBD4。然后在PLC里面给两个值设置一个初始值,如温度高报警DB1.DBD0 初始值70,温度低报警DB1.DBD4初始值0,然后变量绑定就可以了。

需要更改值的时候,在上位机更改就可以了。比如要把温度低报警改为10度。只要更改这个控件值就可以了,PLC自动记录此值。下次开机时,由于控件和PLC通讯一般都是先读后写的,上位机会自动读取PLC存储的值,这样就起到了数据记录的作用。

但这种用法不可靠,在一些不是很重要的场合可以偷懒用一下,但经常会遇到数据丢失的情况。

3. 其余:还用很多记录的方式。楼主经常在QQ群里面看到,还有用Excel记录参数的。还有用别的文本方式记录的。但都不是很理想。

今天给大家推荐一种,用来记录配置参数的文本ini文档。楼主目前每一个项目都会写一个INI文档,非常方便。

4. 什么是ini文件

ini文件又称配置文件,它是一种以特定方式组织操作系统或软件配置信息的文本文件。它最早出现于Windows操作系统中,用于统管Windows的各项配置,后来,其理念被广泛使用到其它操作系统和各种应用软件中,常用于保存程序的一些配置参数。

这种配置文件的文件扩展名多为INI,故得此名。INI是英文“初始化”(initialization)的缩写。正如该术语所表示的,INI文件常被用来对操作系统或特定程序初始化或进行参数设置。由于ini配置文件使用方便简单直观,越来越多的编程语言都支持了ini文件的生成和读取。

Q:长什么样?

是不是很熟系,咋们在装一些程序的时候,经常碰到。一方面就长上面这样。另一方面扩展名为ini。第三,在windos系统下可以用txt直接打开,不需要额外的软件。

Q:怎么创建?

创建一个txt,改名称,改扩展名为INI就可以了。

如下图所示:当更改完扩展名后,图标也会相应的改变。

5. INI文档怎么读写?存储规则?

ini文件由段(Section)、键(Key)和键值(Value)三部分组成。

每个ini文件由一个或多个段组成,由“[ ]”内部的字符串来区别不同的段,同一个ini文件中的段名必须唯一。702注:这个很重要,必须唯一,程序才能检索,避免张冠李戴。

每个段由一系列由“=”隔开的一对键和键值组成,键名代表配置选项,值代表该选项的设置,同一个段内键名必须唯一,但不同段之间的键名并无关系。

等号左边的字符串为键名,右边的字符串为键值,在LabVIEW中,键值的类型可以是布尔、I32、U32、双精度浮点数、字符串和路径等。

初学者碰到段,键,键值这几个名次就晕,先别晕,举个例子就知道。

比如说,上面举过的例子——报警值的设定。

有液位高,液位低,液位极低,温度高,温度低,温度极高。

配置文档中参数很多,需要分组管理好一些,起个名子吧,就叫报警值。用[]括起来。

[报警值] [段]

液位低 = 10 键 = 键值

液位高 = 60

···

这就可以了。就这么简单。

6. LabVIEW中怎么读写?难不难?实例看

Q:难不难?

不难。很简单。

以楼主的习惯,先用起来,后介绍规则。

先创建一个VI,起名为配置文档(INI文档应用)。

放6个数值控件,分别命名为液位高,位移低等,分别设置初始值,此方法在前面介绍过,没认真看的朋友去前面看看。放两个按钮,一个命名为参数修改。另一个命名为恢复默认值。

编程思路:1.以上参数为默认值,或称为出厂设置。

2.需要修改参数时,修改参数,并点击参数修改,系统询问:是否确认修改,确认后,跳出对话框,参数修改完成。

3.需要恢复出厂设置时,点击恢复出厂设置按钮,并弹出对话框,恢复出厂设置完成。

为了便与介绍,先写一个值:段名:液位报警 键:液位高 键值:液位报警值。程序如下图所示。

功能,点击参数修改 >>跳出对话框“确认参数修改?”,点击确认,把液位高的新值存起来。然后对话框:参数配置完成!。

程序运行正常,来看一看配置文档。

自动新建了一个配置文档.ini文件。

双击打开:如图所示,段[液位报警],液位高 = 600.00 702注:600.00这个精度可以设置,不设置时,默认为6位。

如图所示,写的程序就这么简单:

总结起来就三条:1.打开 2.写 3.关闭。

Q:写完以后,什么时候读?

当然是,程序打开的时候就让读。程序一打开,自动把液位高的值,读取到控件值,下面写一个读的程序。

为了便与读者观察,我们先在《配置文档》中把液位高报警值修改为 800,然后,跳出对话框“读取成功”。打开程序,观察是否读取成功。

打开程序,看看。

程序的读写就是这么简单。

楼主喜欢先介绍实例,再介绍用法。一般实例介绍万,用法也就大差不差的明白了。

下面介绍INI 文档的几个VI和主要事项。

7. INI 子VI介绍

Q:在哪?

702注:在存储,写入时,把“必要时创建文件(T)”设置为T,找不到此文档时,直接创建一个即可。

楼主的做法一般是:先事先创建一个,避免读写时出错。创建的方法,前面说了。

Q: 需不需要单独装工具包?

不需要,在安装LV运行环境时,都会自带INI 子VI。

8. INI OPENG函数

LV自带的INI子VI很好用,理解起来也很简单。但是,每一个读,或每一个写,只能读写一个值。当有很多值要读写的时候就比较麻烦了,如一个段里面既有数字量,又有布尔量等时,就需要一个一个的读,一个一个的写。

下面介绍一中,一次读写的例子。

如图所示,这是openG 中INI文档的读写。还是上面的例子,读写试试。

这里的OPEN和CLOSE就是LV本身提供的节点,其它的分别介绍一下:
Read INI Cluster: 读取簇的配置
Write INI Cluster: 写簇的配置
这两个VI读写INI时,SETION部分就是簇的名称
Read Section Cluster:读取指定SECTION下的簇配置
Write Setion Cluster:写入指定SECTION的簇配置
这两个VI同上面的类似,但是可以指定SETION名称,这样可以在同一SECTION下,写入或者读取多个CLUSTER配置。
Read Panel: 读取指定的控件面板(恢复上次值)

Write Panel:写入指定的VI的控制面板当前值到配置文件(供下次调用)
这两个VI的输入是VI参考,既可以写入或者读本身,又可以在一个VI中来操作另一个VI
READ KEY:可以读取特定SECTION下特定CLUSTER中的元素的键值
WRITE KEY:写入特定SECTION下特定CLUSTER中的元素的键值

从上面的介绍就可知,为什么简单,一次就可以读、写很多值,现在明白了,就是用簇。

从上图可知:1.簇名 就是段名 。2.簇内的控件标签名为键名。 3.控件值为键值。

下面写读取程序。

还是老办法,改几个值,然后验证一下。每个值加50,看运行后的控件值。

运行成功。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

  • LabVIEW
    +关注

    关注

    1963

    文章

    3652

    浏览量

    322429
收藏 人收藏

    评论

    相关推荐

    MQTT-3.1.1标准协议文档

    电子发烧友网站提供《MQTT-3.1.1标准协议文档.pdf》资料免费下载
    发表于 11-21 16:20 0次下载

    关于功放的散热器的设计,有没有什么参考的文档吗?

    关于功放的散热器的设计,有没有什么参考的文档,谢谢!
    发表于 11-01 07:06

    IP5385应用说明文档

    IP5385 应用说明文档
    发表于 10-08 09:25 7次下载

    QCC3040耳机PCB原文档

    QCC3040原文档,为生产成功产品文件,
    发表于 07-30 11:08 1次下载

    有没有3588s的TRM文档

    手头有份3588的TRM,发现跟3588s应该是不一样的。 有谁可以提供3588s的TRM文档
    发表于 07-17 17:03

    联想Lenovo_E20_Compal_LA-3541P原理图文档

    联想Lenovo_E20_Compal_LA-3541P原理图文档
    发表于 07-13 09:20 1次下载

    labview文档教程资料(四)

    电子发烧友网站提供《labview文档教程资料(四).zip》资料免费下载
    发表于 04-23 09:29 11次下载

    labview文档教程资料(三)

    电子发烧友网站提供《labview文档教程资料(三).zip》资料免费下载
    发表于 04-23 09:29 5次下载

    labview文档教程资料(二)

    电子发烧友网站提供《labview文档教程资料(二).zip》资料免费下载
    发表于 04-23 09:28 15次下载

    labview文档教程资料(一)

    电子发烧友网站提供《labview文档教程资料(一).zip》资料免费下载
    发表于 04-23 09:27 30次下载

    谷歌文档管理器新增文档扫描功能,与微软Lens相媲美

    用户打开 APP 的主页面后,右侧下方可见一个“扫描(Scan)”按钮,轻点即可开启相机界面,用户可自主选择执行自动采集或手动选取文档边框。此外,用户还能对手动或自动扫描所得的图像进行裁剪、旋转、清洗或添加滤镜处理
    的头像 发表于 03-08 11:18 592次阅读

    直流/直流降压稳压器技术文档集锦

    电子发烧友网站提供《直流/直流降压稳压器技术文档集锦.pdf》资料免费下载
    发表于 02-28 09:43 0次下载
    直流/直流降压稳压器技术<b class='flag-5'>文档</b>集锦

    能够生成java文档注释的命令

    生成Java文档注释的命令是通过使用Java的自带工具Javadoc来实现的。Javadoc是一个能够从源代码中提取注释并生成文档的工具。下面是使用Javadoc生成Java文档注释的命令
    的头像 发表于 11-29 14:12 809次阅读

    java怎么注释整个文档

    java中可以使用特殊的注释格式来注释整个文档,这种格式被称为JavaDoc注释。JavaDoc注释可以用于生成HTML格式的文档,包含类、方法、字段、参数等的详细说明。下面是注释整个文档的详细步骤
    的头像 发表于 11-28 17:14 692次阅读

    java文档注释的作用

    Java文档注释(JavaDoc)是一种特殊的注释格式,用于对Java源代码中的类、方法和字段进行解释和说明。它有助于开发人员理解代码的功能、使用和注意事项,并且还可以用于生成软件文档
    的头像 发表于 11-28 17:02 871次阅读