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

描述

LabVIEW 项目实践篇

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

(V1.0)

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

(V1.0)

1.     项目工况:

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

2.     实现方案:

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

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

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

设置如下:

L

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

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

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

L

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

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:长什么样?

L

L

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

Q:怎么创建?

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

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

LL

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

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

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

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

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

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

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

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

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

[报警值]               [段]

液位低 = 10            键 = 键值

液位高 = 60

···

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

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

Q:难不难?

不难。很简单。

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

L

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

L

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

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

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

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

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

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

L

L

L

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

L

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

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

L

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

L

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

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

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

L

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

L

L

打开程序,看看。

L

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

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

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

7.     INI 子VI介绍

Q:在哪?

L

L

L

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

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

L

L

L

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

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

8.     INI  OPENG函数

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

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

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

L

这里的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中的元素的键值

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

L

L

L

L

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

下面写读取程序。

L

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

L

L

运行成功。

{ "@context": "https://zhanzhang.baidu.com/contexts/cambrian.jsonld", "@id": "https://m.elecfans.com/article/1269452.html", "title": "配置文档(ini文档)的应用", "images": [ "https://file.elecfans.com/web1/M00/C3/D0/o4YBAF8yFXKASXQ3AALmBcS-yWg899.png" ], "description": "LabVIEW 项目实践篇 配置文档(ini文档)的应用 (V1.0) LabVIEW 项目实践篇:配置文档(ini文档)的应用 (V1.0) 1. 项目工况: 在楼主做项目的时候,经常会遇到这样一种工况,就是需要把一些参数记下来,下次打开软件的时候,还是这个状态。比如说,楼主做一些试验台的时候,需要做一些报警。例如温度高报警,温度低报警,液位高报警,液位低报警等,就需要把各个报警值计下来。再比如说,要做一些传感器的标定,需要把传感器的标定参数记下来", "pubDate": "2020-08-11T17:10:44" }

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分