您的位置:首页   >  关于我们  >  新闻动态

如何在modbus协议下记录实时数据

发布人:大彩科技发布日期:2020-08-17

一、概述 


本文主要阐述的是如何在modbus协议下实现记录实时数据的功能,即屏幕在通讯的时候,可以将读取上来的数据,根据时间以及数值,对应记录到数据记录控件,方便用户查看实时数据。本文主要介绍的是采用lua脚本来实现采集相应变量的数值,记录到数据记录控件的功能。



二、适应范围


本文适用于M系列、F系列、物联型等支持lua脚本的型号。

                            


三、实现方法 


3.1 界面配置

本例子的实现:屏幕通过modbus协议,对应采集电压、电流、温度和湿度的数值,对应显示数据变化,数据记录控件实现每1秒记录实时数据。界面设置如图 3‑1所示。

3‑1界面配置

3.1.1  modbus协议配置

首先,打开visual TFT软件,在菜单栏“工具”-“协议与变量设置”,对应创建相应的变量。相应的变量设置如图 3‑2所示。
图3‑2变量设置

3.1.2  控件设置

本例子中使用的控件为文本控件和数据记录控件。相应的变量数值的显示是通过变量和文本控件关联起来即可,对应在文本控件的属性窗口设置即可。相应的属性设置如图 3‑3所示。

                                                         
3‑3关联变量

注意:若用户在文本控件里面找不到这个选项的话,那就是协议没有启用导致的,对应可以在“工具”-“协议与变量设置”,“协议设置”选项对应选择启用协议,然后选择保存即可。对应的设置如图 3‑4所示。

 3‑4协议设置


在工具栏中选中,对应在界面上放置数据记录控件,相应的设置如图 3‑5所示。

 3‑5控件设置


3.1.3  脚本编写

脚本实现的功能:屏幕通过modbus协议将变量数值读取并在文本控件上显示,数据记录控件设置每1秒记录一次实时数据,表格显示由时间以及对应参数的数值组成。
脚本的实现的思路:对应变量的数据显示通过软件设置变量关联即可显示,实时数据的记录要依靠定时器的函数来实现每1秒进入记录执行函数,对应的执行函数依靠get_variant(“变量名”)来获取对应寄存器的数值,数据的记录使用record_add(screen,control,record)来添加。相应的变量函数如图 3‑6所示。

 3‑6记录实时数据脚本

                            


四、总结 


以上介绍的是在lua脚本中实现在modbus协议下将实时数据记录到数据记录控件的功能,该功能可以便于客户精确查看对应时刻的数值变化情况,可以通过实时数据应用到数据分析,进而判断相应时刻的设备的工作状态是否正常。



欢迎联系我司销售咨询