最近收到一个要求实现力高泰的微量气体分析仪数据下载与记录软件的需求。需要支持力高泰LI-7810、LI-78150、LI-7820、LI-850/830等微量气体分析仪,另外还包括配套的阀箱、冷阱及采样单元的数据获取与记录。其中LI-7810、LI-78150、LI-7820采用以太网通讯,应用成蓄意为MQTT;LI-850/830采用RS232接口通讯,才用XML格式传递数据;而阀箱、冷阱及采样单元均采用RS485接口,应用层协议为Modbus RTU和自定义协议。所以在这一篇中我们就来分析并实现这一需求。
1、概述
微量气体分析仪数据记录软件用于实现微量气体分析仪数据的获取与存储,阀箱数据的获取与存储、冷阱数据的获取与存储、采样单元数据的获取与存储、阀箱和采样单元的远程操作以及系统功能的管理。其主操作界面如下:
上述软件界面分为2各区域,左侧是树形目录为系统操作区,右侧是设备交互界面为数据展示区。
软件左侧的树形目录实现显示界面的切换和设备操作及其状态指示。从上倒下分别是分析仪操作、阀箱操作、冷阱操作、采样单元操作以及系统功能操作等几类。具体的显示和系统配置相关。
右侧的Tab窗口显示各类设备的交互信息,从左到右分别为分析仪、阀箱、冷阱和采样单元。具体的显示和系统配置相关。
2、分析仪数据记录
分析仪数据的获取与存储模块实现微量气体分析仪数据的下载与存储。本模块支持力高泰的系列仪器:LI-7810、LI-78150、LI-7820、LI-850/830等微量气体分析仪,在设备管理中可以设置采用的分析仪类型。
点击左侧树形目录中“分析仪”节点或者右侧TAB标签上面的“分析仪”标签都可以显示分析仪界面。耿军配置的分析仪类型不同界面显示也会存在一定的差异。如下为力高泰LI-7810的显示界面:
如下为力高泰LI-7815的显示界面:
如下为力高泰LI-7820的显示界面:
如下为力高泰LI-850的显示界面:
不同型号的分析仪界面显示会有所不同,但整体结构是一样的。上部是主要测量参数的数据及趋势图,趋势曲线显示过去10分钟之内数据的变化趋势。下部是数据显示表格,该表动态显示最新的60条数据。
在左侧树形目录的“分析仪”节点下包含有3个子节点:“连接分析仪”、“断开分析仪”、“配置分析仪”。点击“连接分析仪”节点,如果配置的参数没有错,则会按照配置的参数打开串口接收并处理分析仪的数据。串口开启后,“分析仪”节点的显示会由红色的“分析仪:通讯已关闭”变为绿色的“分析仪:通讯已开启”状态。点击“断开分析仪”节点,则会关闭串口停止接收和处理分析仪的数据,相应的显示状态也会从绿色的“分析仪:通讯已开启”变化分红色的“分析仪:通讯已关闭”状态。
点击“配置分析仪”节点,则会打开分析仪的配置界面。根据设备的类型不同,会呈现不同的配置界面。LI-7810、LI-78150、LI-7820为以太网通讯,其包括设备的名称、设备的序号、设备分类、设备型号、工作模式、主机名称、端口号、客户端ID以及MQTT的订阅主题等等,具体如下:
LI-850/830等采用串口通讯,其包括设备的名称、设备的序号、设备分类、设备型号、工作模式、串口号、波特率、数据位、校验位以及停止位等,具体如下:
这些参数中“设备名称”、“设备序号”、“设备分类”已经设定好不可以修改。而串口相关的参数根据实际使用的情况设定即可。而对于“设备型号”和“工作模式”两个参数则需要注意。
对于分析仪设备类型目前支持5个选项:NONE、“Licor7810”、“Licor7815”、“Licor7820”、“Licor850”,分别是指没有分析仪、力高泰LI-7810分析仪、力高泰LI-7815分析仪、力高泰LI-78205分析仪以及、力高泰LI-850分析仪。选择不同的类型将决定软件下次启动是的界面配置,不同的型号界面会不同,如果选择的类型为“NONE”,则将不会出现分析仪的相关界面和操作。
而“工作模式”则可以切换“手动”和“自动”。如果选择了“自动”模式,则在软件启动时会根据配置的参数自动开启串口连接。但这个配置只是控制分析仪的连接模式,整个软件的自动模式在文件配置中设定,并且是设备自动连接的前提。
注意:通讯参数设置完毕后,需要点击“保存”按钮。参数修改后不会马上生效,而是在软件下次启动时才能生效。
3、阀箱交互操作
阀箱数据的获取与存储模块实现阀箱数据的下载与存储、阀箱的远程操作。本模块支持VICI和云创开太的阀箱,在设备管理中可以设置采用的阀箱类型。
点击左侧树形目录中“阀箱”节点或者右侧TAB标签上面的“阀箱”标签都可以显示阀箱界面,具体如下:
不同型号的阀箱界面显示会有所不同,但整体结构是一样的。上排是阀门状态指示、操作按钮和当前所使用的自动阀控程序。具体如下:
最左边为阀门状态指示,以动态图形的方式知识阀门状态,当检测到阀门当前所处的通道后,改动到会显示为”绿色“,其它通道则会显示为“灰色”。中间的8个按钮用于手动切换阀门通道。左边显示当前所采用的自动阀控程序,当不运行时步骤显示为背景色,执行状态指示为“待执行”。当自动阀控程序处于运行时,当前所执行的步显示为”绿色“,其它步骤显示为背景色。当前所执行的步骤的“剩余时间”动态变化,其它已执行完的步骤显示为0,未执行的步骤显示为设定值。当前所执行的步骤的“执行状态”显示为“执行中”,其它已执行完的步骤显示为“已完成”,未执行的步骤显示为“待执行”。
中排是动态数据显示,对于不同类型的阀箱这里的显示会有一些差别。如下图所示为云创开太阀箱界面。
上图中的手动按钮可以设置流量设定和通道设定。设定值在按钮前方的输入框输入。最前面的阀控模式,用于动态切换阀控的模式。如果在系统配置中将阀控设置为自动模式,则软件启动时此处会配置为“自动循环”;如果在系统配置中将阀控设置为手动模式,则软件启动时此处会配置为“手动操作”。不管系统配置的模式如何,此处都可以实现东太切换,但此处的操作指示修改软件的运行方式,不会改变系统的配置。
下排是消息窗口,如果是VICI的阀箱这理将会显示接受和发送的消息,如果是云创开太的阀箱这里会显示最近一段时间接收到的数据条目。如下所示是云创开太阀箱的界面。
在左侧树形目录的“阀箱”节点下包含有4个子节点:“连接阀箱”、“断开阀箱”、“配置阀箱”、“编辑程序”。点击“连接阀箱”节点,如果配置的参数没有错,则会按照配置的参数打开串口接收并处理阀箱的数据。串口开启后,“阀箱”节点的显示会由红色的“阀箱:通讯已关闭”变为绿色的“阀箱:通讯已开启”状态。点击“断开阀箱”节点,则会关闭串口停止接收和处理阀箱的数据,相应的显示状态也会从绿色的“阀箱:通讯已开启”变化分红色的“阀箱:通讯已关闭”状态。
点击“配置阀箱”节点,则会打开阀箱的配置界面。包括设备的名称、设备的序号、设备分类、设备型号、工作模式、串口号、波特率、数据位、校验位以及停止位等,具体如下:
这些参数中“设备名称”、“设备序号”、“设备分类”已经设定好不可以修改。而串口相关的参数根据实际使用的情况设定即可。而对于“设备型号”和“工作模式”两个参数则需要注意。
对于阀箱设备类型目前支持3个选项:NONE、VICI和YCVB,分别是指没有阀箱、VICI阀箱和云创开太阀箱。选择不同的类型将决定软件下次启动时的界面配置,不同的型号阀箱界面会不同,如果选择的类型为“NONE”,则将不会出现阀箱的相关界面和操作。
而“工作模式”则可以切换“手动”和“自动”。如果选择了“自动”模式,则在软件启动时会根据配置的参数自动开启串口连接。但这个配置只是控制阀箱的连接模式,整个软件的自动模式在文件配置中设定,并且是设备自动连接的前提。
注意:通讯参数设置完毕后,需要点击“保存”按钮。参数修改后不会马上生效,而是在软件下次启动时才能生效。
点击“编辑程序”节点,则会打开阀箱的阀控程序编辑界面。可以实现阀控程序的自主编辑。具体如下图所示:
上面的一排按钮用与编辑和使用程序。左边为编辑或删除程序组,单击“添加过程”按钮则会出现添加程序组的界面。如下所示:
只需要输入程序组的编号和程序组的名称,一边软件会根据前面的设定分配一个,但也可以修改为其它名称。输入后单击“保存”按钮保存就可以在程序组列表中看到该程序组。“删除过程”按钮用于删除程序组,删除该程序组前请确认该程序组中的步骤已经删除。
单击“应用过程”按钮则会打开所要使用的组的配置界面。如下图所示:
该界面用于配置软件所要使用的程序组以及阀控的操作模式。这里配置的程序组和阀控模式会作为系统配置保存下来。阀门交互界面上的阀控模式的初始状态由此决定。
在左侧的列表中选择一个程序组,右侧就会显示该程序组中对应的程序步骤。单击“添加步骤”按钮则会出现添加程序步骤的界面,如下所示:
该界面中可以输入步骤号、通道号和时间。输入后点击“保存”按钮可以保存输入的程序步骤。
如果我们想要修改某一步,则在表格中点选该行,然后点击“修改步骤”按钮即会弹出修改界面,修改为想要的值即可。通道号只支持18,时间只支持11500,其它不符合要求的值将不会正确执行。
如果我们想要删除某一步,则在表格中点选该行,然后点击“删除步骤”按钮即可。删除后不可恢复,但可以重新添加!
4、冷阱数据记录
冷阱数据的获取与存储模块实现温室气体冷阱数据的下载与存储。在设备管理中可以设置采用的冷阱类型,但目前本模块仅支持云创开太的冷阱设备。
点击左侧树形目录中“冷阱”节点或者右侧TAB标签上面的“冷阱”标签都可以显示冷阱界面,具体如下:
在左侧树形目录的“冷阱”节点下包含有3个子节点:“连接冷阱”、“断开冷阱”、“配置冷阱”。点击“连接冷阱”节点,如果配置的参数没有错,则会按照配置的参数打开串口接收并处理冷阱的数据。串口开启后,“冷阱”节点的显示会由红色的“冷阱:通讯已关闭”变为绿色的“冷阱:通讯已开启”状态。点击“断开冷阱”节点,则会关闭串口停止接收和处理冷阱的数据,相应的显示状态也会从绿色的“冷阱:通讯已开启”变化分红色的“冷阱:通讯已关闭”状态。
点击“配置冷阱”节点,则会打开冷阱的配置界面。包括设备的名称、设备的序号、设备分类、设备型号、工作模式、串口号、波特率、数据位、校验位以及停止位等,具体如下:
这些参数中“设备名称”、“设备序号”、“设备分类”已经设定好不可以修改。而串口相关的参数根据实际使用的情况设定即可。而对于“设备型号”和“工作模式”两个参数则需要注意。
对于冷阱设备类型目前支持3个选项:“NONE”、“云创冷阱”和“采样单元”,分别是指没有冷阱设备、云创开太冷阱和云创开太的采样单元。选择不同的类型将决定软件下次启动时的界面配置,不同的型号冷阱界面会不同,如果选择的类型为“NONE”,则将不会出现冷阱的相关界面和操作。
而“工作模式”则可以切换“手动”和“自动”。如果选择了“自动”模式,则在软件启动时会根据配置的参数自动开启串口连接。但这个配置只是控制冷阱的连接模式,整个软件的自动模式在文件配置中设定,并且是设备自动连接的前提。
注意:通讯参数设置完毕后,需要点击“保存”按钮。参数修改后不会马上生效,而是在软件下次启动时才能生效。
5、采样单元交互操作
采样单元数据的获取与存储模块实现温室气体采样单元数据的下载与存储。在设备管理中可以设置采用的采样单元类型,但目前本模块仅支持云创开太的采样单元设备。
点击左侧树形目录中“采样单元”节点或者右侧TAB标签上面的“采样单元”标签都可以显示采样单元界面,具体如下:
在左侧树形目录的“采样单元”节点下包含有6个子节点:“连接采样单元”、“断开采样单元”、“配置采样单元”和“编辑程序”。点击“连接采样单元”节点,如果配置的参数没有错,则会按照配置的参数打开串口接收并处理采样单元的数据。串口开启后,“采样单元”节点的显示会由红色的“采样单元:通讯已关闭”变为绿色的“采样单元:通讯已开启”状态。点击“断开采样单元”节点,则会关闭串口停止接收和处理采样单元的数据,相应的显示状态也会从绿色的“采样单元:通讯已开启”变化分红色的“采样单元:通讯已关闭”状态。
点击“配置采样单元”节点,则会打开采样单元的配置界面。包括设备的名称、设备的序号、设备分类、设备型号、工作模式、串口号、波特率、数据位、校验位以及停止位等,具体如下:
这些参数中“设备名称”、“设备序号”、“设备分类”已经设定好不可以修改。而串口相关的参数根据实际使用的情况设定即可。而对于“设备型号”和“工作模式”两个参数则需要注意。
对于采样单元设备类型目前支持3个选项:“NONE”、“云创冷阱”和“采样单元”,分别是指没有采样单元、云创开太冷阱和云创开太采样单元。选择不同的类型将决定软件下次启动时的界面配置,不同的型号采样单元界面会不同,如果选择的类型为“NONE”,则将不会出现采样单元的相关界面和操作。
而“工作模式”则可以切换“手动”和“自动”。如果选择了“自动”模式,则在软件启动时会根据配置的参数自动开启串口连接。但这个配置只是控制采样单元的连接模式,整个软件的自动模式在文件配置中设定,并且是设备自动连接的前提。
注意:通讯参数设置完毕后,需要点击“保存”按钮。参数修改后不会马上生效,而是在软件下次启动时才能生效。
点击“编辑程序”节点,则会打开采样单元的采样层切换控制程序编辑界面。可以实现采样层切换控制程序的自主编辑。具体如下图所示:
上面的一排按钮用与编辑和使用程序。左边为编辑或删除程序组,单击“添加过程”按钮则会出现添加程序组的界面。如下所示:
只需要输入程序组的编号和程序组的名称,一边软件会根据前面的设定分配一个,但也可以修改为其它名称。输入后单击“保存”按钮保存就可以在程序组列表中看到该程序组。“删除过程”按钮用于删除程序组,删除该程序组前请确认该程序组中的步骤已经删除。
单击“应用过程”按钮则会打开所要使用的组的配置界面。如下图所示:
该界面用于配置软件所要使用的程序组以及采样层切换控制的操作模式。这里配置的程序组和采样层切换控制模式会作为系统配置保存下来。采样单元交互界面上的采样层切换控制模式的初始状态由此决定。
在左侧的列表中选择一个程序组,右侧就会显示该程序组中对应的程序步骤。单击“添加步骤”按钮则会出现添加程序步骤的界面,如下所示:
该界面中可以输入步骤号、通道号和时间。输入后点击“保存”按钮可以保存输入的程序步骤。
如果我们想要修改某一步,则在表格中点选该行,然后点击“修改步骤”按钮即会弹出修改界面,修改为想要的值即可。通道号只支持18,时间只支持11500,其它不符合要求的值将不会正确执行。
如果我们想要删除某一步,则在表格中点选该行,然后点击“删除步骤”按钮即可。删除后不可恢复,但可以重新添加!
6、系统管理操作
系统管理类操作主要面向于系统的配置与管理,主要包括设备管理、文件管理、FTP上传和历史数据查询等功能。
6.1、设备管理
设备管理功能主要用于对软件涉及到的分析仪、阀箱、冷阱和采样单元进行同以管理。单击左侧树形目录中“系统管理”节点下的“设备管理”子节点就会打开设备管理界面。这是一个弹出式界面,展示软件所配置的全部设备信息。同样应配置的设备不同界面会略有差异。
LI-7810、LI-78150、LI-7820为以太网通讯,其包括设备的名称、设备的序号、设备分类、设备型号、工作模式、主机名称、端口号、客户端ID以及MQTT的订阅主题等等,具体如下:
在上图中,主题是设备配置列表,上方是3个操作按钮,其中“添加设备”和“删除设备”功能只面向于软件的维护人员。而“修改设备”功能则是面向软件所有使用者。选中想要修改的设备,然后单击“修改设备”按钮,则会打开设备修改界面。
LI-850/830等采用串口通讯,其包括设备的名称、设备的序号、设备分类、设备型号、工作模式、串口号、波特率、数据位、校验位以及停止位等,具体如下:
在上图中,主题是设备配置列表,上方是3个操作按钮,其中“添加设备”和“删除设备”功能只面向于软件的维护人员。而“修改设备”功能则是面向软件所有使用者。选中想要修改的设备,然后单击“修改设备”按钮,则会打开设备修改界面。
设备修改界面与各个设备下的配置界面是完全一样的。这些参数中“设备名称”、“设备序号”、“设备分类”已经设定好不可以修改。而串口相关的参数根据实际使用的情况设定即可。而对于“设备型号”和“工作模式”两个参数则需要注意。
对于分析仪设备类型目前支持5个选项:NONE、“Licor7810”、“Licor7815”、“Licor7820”、“Licor850”,分别是指没有分析仪、力高泰LI-7810分析仪、力高泰LI-7815分析仪、力高泰LI-78205分析仪以及、力高泰LI-850分析仪。选择不同的类型将决定软件下次启动是的界面配置,不同的型号界面会不同,如果选择的类型为“NONE”,则将不会出现分析仪的相关界面和操作。
对于阀箱设备类型目前支持3个选项:NONE、VICI和YCVB,分别是指没有阀箱、VICI阀箱和云创开太阀箱。选择不同的类型将决定软件下次启动时的界面配置,不同的型号阀箱界面会不同,如果选择的类型为“NONE”,则将不会出现阀箱的相关界面和操作。
对于冷阱设备类型目前支持3个选项:“NONE”、“云创冷阱”和“采样单元”,分别是指没有冷阱设备、云创开太冷阱和云创开太的采样单元。选择不同的类型将决定软件下次启动时的界面配置,不同的型号冷阱界面会不同,如果选择的类型为“NONE”,则将不会出现冷阱的相关界面和操作。
对于采样单元设备类型目前支持3个选项:“NONE”、“云创冷阱”和“采样单元”,分别是指没有采样单元、云创开太冷阱和云创开太采样单元。选择不同的类型将决定软件下次启动时的界面配置,不同的型号采样单元界面会不同,如果选择的类型为“NONE”,则将不会出现采样单元的相关界面和操作。
而“工作模式”则可以切换“手动”和“自动”。如果选择了“自动”模式,则在软件启动时会根据配置的参数自动开启串口连接。但这个配置只是控制采样单元的连接模式,整个软件的自动模式在文件配置中设定,并且是设备自动连接的前提。
注意:通讯参数设置完毕后,需要点击“保存”按钮。参数修改后不会马上生效,而是在软件下次启动时才能生效。
6.2、文件管理
文件管理功能是用于文件存储与传输的相关配置。单击左侧树形目录中“系统管理”节点下的“文件管理”子节点就会打开文件管理界面。这是一个弹出式界面,包括软件用于文件存储和传输的相关信息,具体如下:
上图中,站点编号、设备编号、技术名称的配置用与文件的存储与传输。他们将出现在存储的数据文件的名称中,也是文件传输时进行文件筛选的主要参数,需要根据实际的应用需要设置。
运行方式是整体控制软件启动时,软件是否自动连接设备的配置项。只有这里设置为自动连接时,在设备中配置的自动工作模式才会起作用。这里运行方式的手动或者自动控制所有设备,设备中配置的工作模式是手动或者自动控制对应的设备。
FTP上传的设定控制文件上传的工作模式,设置为自动上传时,软件会按照配置的任务自动上传文件,设置为手动上传时,软件则不会自动处理。
6.3、数据上传
数据上传功能是用于配置文件传输的相关信息。单击左侧树形目录中“系统管理”节点下的“FTP上传”子节点就会打开FTP上传管理界面。这是一个弹出式界面,包括文件传输的配置信息和相关操作,具体如下:
数据上传功能实现对FTP服务器的管理、上传任务的管理以及手动操作的管理。通过上方标签可以实现服务器管理功能、任务管理功能以及手动上传功能进行切换。
首先需要配置服务器信息。点击“服务器配置”标签,会出现服务器的列表界面。该界面有3个操作按钮:“添加服务器”、“删除服务器”、“修改服务器”。点击“添加服务器”按钮会弹出服务器配置输入对话框,如下:
在对话框中输入相应的信息。名称是本地管理服务器的标识,在任务中要用到,名称不可相同。输入好信息后,可以使用“测试”按钮检查信息是否符合要求,或者使用“保存”按钮直接保存。需要注意,IP地址、端口号、用户名、密码必须与实际的目标服务器是相符的,任何错误都可能会造成上传任务无法执行。
如果某个服务器的信息不需要了可以使用“删除服务器”按钮进行删除,但在删除前必须确认上传到该服务器的任务已经删除,否则可能会因为任务还在运行但却找不到服务器的情况,从而出现软件运行错误。
如果想要修改某一服务器的配置信息,只需在列表中选中该服务器所在的行,然后点击“修改服务器”按钮就会弹出修改对话框,如下:
修改完信息点击“保存”即可。如果并未选中任何的服务器行,则会弹出提示信息:
只需要关闭提示框,然后选中想要修改的服务器配置,点击“修改服务器”按钮进行修改。
配置好服务器后,还需要为该服务器添加任务。点击“任务配置”标签就会切换到任务列表界面。该界面有3个操作按钮:“添加任务”、“删除任务”、“修改任务”。点击“添加任务”按钮会弹出任务配置输入对话框,如下:
在对话框中输入相应的信息。名称是本地管理任务的标识,不可以重复。执行时间小时和分钟如果是数值,则按制定数字执行。如果是“*”则按每一个小时或每一个分钟都执行。设备号一定要与采集软件中设定的设备号一致,该设备号会用来判别是否是需要上传的数据。需要注意的是目标路径,目标路径是指在FTP服务器端的存储路径,必须保证该路径是存在的,如果不存在该路径上传可能会失败。填写好任务后点击“保存”即可存储配置。在下一次到达配置的时间时将启动上传。
如果想要删除某一条任务,则只需在表格中选中对应的行,然后点击“删除任务”按钮即可。
如果想要修改某一任务的配置,则只需在表格中选中对应的行,然后点击“修改任务”按钮即可打开修改对话框,其操作与添加任务一样。如下:
如果想要完成某个文件的手动上传,则点击“手动上传”标签,则会切换到手动上传界面。
在该界面上点击“新增操作”按钮,则会弹出手动上传的对话框,如下:
在上述对话框中输入相应的参数。需要注意的是目标路径,目标路径是指在FTP服务器端的存储路径,必须保证该路径是存在的,如果不存在该路径上传可能会失败。填写好相应的参数后点击“添加”即可实现上传。手动上传只会执行一次。
6.4、历史数据查询
历史数据查询功能是用于查看存储的历史数据。单击左侧树形目录中“系统管理”节点下的“历史数据”子节点就会打开历史数据查询界面。这是一个弹出式界面,具体如下:
历史数据可以按时间查询。设置好起始时间和结束时间后点击“数据查询”按钮即可实现数据的查询并显示在下方的数据表中。
历史数据查询的时间跨度限定在一个小时以内,如果设置的时间超过1小时则只会显示从结束时间往前的1小时的数据,并按时间倒序显示在表格中,余下的数据不会显示在数据表中。
7、小结
微量气体分析仪数据记录软件用于实现微量气体分析仪分析仪数据的获取与记录,阀箱数据的获取、记录以及阀箱的远程操作、冷阱数据的获取与记录、采样单元数据的获取、记录以及采样层远程控制等。此外软件还有系统管理的功能,包括设备管理、文件管理、数据的FTP上传和历史数据查询等功能。