广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 13741|回复: 3

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

[复制链接]

105

主题

137

帖子

9792

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9792
发表于 2020-8-18 09:00:50 | 显示全部楼层 |阅读模式
本帖最后由 卡米拉 于 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协议下将实时数据记录到数据记录控件的功能,该功能可以便于客户精确查看对应时刻的数值变化情况,可以通过实时数据应用到数据分析,进而判断相应时刻的设备的工作状态是否正常。

欢迎联系我司销售咨询



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
销售与技术支持:(020)82186683-601
回复

使用道具 举报

2

主题

4

帖子

34

积分

新手上路

Rank: 1

积分
34
发表于 2021-5-27 17:19:08 | 显示全部楼层
您好 ,我想知道定时器可以设为几分钟执行一次而不是一秒执行一次吗
回复

使用道具 举报

1

主题

21

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2021-5-28 10:44:32 | 显示全部楼层
可以设置的,这个关乎于start_timer(timer_id,timeout,countdown,repeat),对应只需要修改timeout这个超时时间就可以,单位是ms,可以设置这个参数来设置定时时间;
回复

使用道具 举报

0

主题

1

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2021-8-18 13:04:43 | 显示全部楼层
挺好的,就要这,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2024-12-4 02:09 , Processed in 0.057709 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表