本帖最后由 卡米拉 于 2020-8-18 09:12 编辑
一、概述
本文主要阐述的是如何在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协议下将实时数据记录到数据记录控件的功能,该功能可以便于客户精确查看对应时刻的数值变化情况,可以通过实时数据应用到数据分析,进而判断相应时刻的设备的工作状态是否正常。
欢迎联系我司销售咨询
|