AWTK 开源串口屏 MODBUS Server 模型

名称:modbus_server

功能:通过 modbus 协议提供服务,供远程客户端(主站)访问。

1. 创建

通过 modbus_server 创建模型。

示例:

<window v-model="modbus_server" name="home_page">

配置文件路径固定为:design/default/data/modbus.json

2. 配置文件格式

使用 JSON 文件描述配置。

2.1 基本配置

  • URL slave 设备的 URL。
  • unit_id slave 设备 ID(TCP 协议无需设置)

示例:

  "url":"tcp://localhost:502",

2.2 通道描述

通道可以有多个,放在 channels 数组中。

  • name 用于访问通道中的数据,取值为:

    • bits 可以用功能码 1 读取,用功能码 15 写入。
    • input_bits 可以用功能码 2 读取。
    • registers 可以用功能码 3 读取,用功能码 16 写入。
    • input_registers 可以用功能码 4 读取。
  • start 起始地址

  • length 数据个数

示例:

  "channels": [{   "name": "bits","writable": true,"start": 0,"length": 100 },  {   "name": "input_bits","start": 0,"length": 200 },  {   "name": "registers","writable": true,"start": 0,"length": 300 },  {   "name": "input_registers","start": 0,"length": 400 }   ], 

2.3 变量定义

UI 可以直接绑定通道中的数据。为了提高可读性和灵活性,可以定义一些变量,将变量映射到通道地址。

  • 定义变量
  "variables": {"当前温度": "input_registers.word[0]","当前湿度": "input_registers.word[1]","预设温度": "registers.word[0]","预设湿度": "registers.word[1]"}  
  • 使用变量
  <label text="URL" /><label v-data:value="{url}" /><label text="UNIT ID" /><label v-data:value="{unit_id}" /><label text="当前温度" /><edit input_type="int" v-data:text="{当前温度}" /><label text="当前湿度" /><edit input_type="int" v-data:text="{当前湿度}" /><label text="预设温度(客户端发送请求修改)" /><label v-data:text="{预设温度}" /><label text="预设湿度(客户端发送请求修改)" /><label v-data:text="{预设湿度}" />

3. 访问通道中的数据。

请参考:modbus_client

内置属性

属性类型说明
url字符串URL
unit_idint设备 ID

示例

  <label text="URL" /><label v-data:value="{url}" /><label text="UNIT ID" /><label v-data:value="{unit_id}" />

内置命令

完整示例

请参考:demo_modbus_server_registers

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/812272.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习 Rust 的第二天:Cargo包管理器的使用

今天&#xff0c;我们来探讨一下 Cargo&#xff0c;这个强大而方便的 Rust 构建系统和包管理器。 Cargo 是一个稳健而高效的 Rust 构建系统和包管理器&#xff0c;旨在帮助管理项目依赖关系&#xff0c;并确保在不同环境下进行一致的构建。 使用 cargo 创建新程序&#xff1a…

npm install 报错权限问题

npm i 报错权限问题 npm install 报错权限问题 npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: npm10.5.0, npm WARN EBADENGINE required: { node: ^18.17.0 || >20.5.0 }, npm WARN EBADENGINE current: { node: v18.15.0, npm: 9.5.0 } …

软考之零碎片段记录(十三)+复习巩固(八)

一、学习 1. 磁头读取数据块 读取 t 块的文件。 磁头从一个磁道移植相邻刺刀需m毫秒, 在磁盘上半连续存放&#xff0c;相邻数据块的平均移动时间为n 个刺&#xff0c;每块的旋转起达时间和传输时间时 h毫秒和y 毫秒。读文件需要多久。 (m * n h y) t 2. 原型模型 不适合大…

Unity面经(自整)——Unity基础知识

Unity基础知识 1. Image和RawImage的区别 Image比RawImage更耗性能。Image只能使用sprite属性的图片。而RawImage什么都可以使用 2. Unity3D中的碰撞器Collider和触发器Trigger的区别 碰撞器是触发器的载体&#xff0c;而触发器是碰撞器上的一个属性。 如果IsTrigger为fal…

MySQL常见面试题(2024年最新)

目录 前言1.char和varchar的区别2.数据库的三大范式3.你了解sql的执行顺序吗&#xff1f;4.索引是什么5.索引的优点和缺点6.索引的类型7.索引怎么设计(优化)8.怎么避免索引失效(也属于sql优化的一种)9.索引的数据类型10.索引为什么使用树结构11.二叉查找树、B树、B树12.为什么使…

身份证识别ocr、身份证实名认证接口文档

每一次验证背后&#xff0c;都是对用户数据安全的承诺&#xff0c;对平台信誉的坚守。翔云身份证实名认证API&#xff0c;通过身份证识别接口仅需一键上传身份证图片即可快速识别身份证信息&#xff0c;翔云实名认证接口实时联网查验证件信息的真伪。 ​PHP身份证实名认证接口…

代码随想录学习Day 27

贪心算法理论基础 贪心的本质&#xff1a;通过每一阶段的局部最优推出全局最优。 思路&#xff1a;找局部最优&#xff0c;看能不能推出全局最优&#xff0c;并尝试举反例。 步骤&#xff1a; 将问题分解为若干个子问题找出适合的贪心策略求解每一个子问题的最优解将局部最…

TDengine taosAdapter启用HTTPS

HTTPS &#xff08;Hypertext Transfer Protocol Secure &#xff09;&#xff0c;是以安全为目标的 HTTP 通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL&#xff0c;HTTPS 的安全基础是 SSL&#xff0c;因此加…

JDK、JRE 及 JVM 是什么?

一、JDK 是什么&#xff1f;有哪些内容组成&#xff1f; JDK 是 Java 开发工具包&#xff0c;包含 JVM 虚拟机&#xff08;Java 程序运行的地方&#xff09;、核心类库&#xff08;Java已经写好的东西&#xff0c;我们可以直接用&#xff09;、开发工具&#xff08;javac、jav…

算法打卡day45|动态规划篇13| Leetcode 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

算法题 Leetcode 300.最长递增子序列 题目链接:300.最长递增子序列 大佬视频讲解&#xff1a;300.最长递增子序列视频讲解 个人思路 没什么思路,菜就多练! 解法 动态规划 “子序列是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而…

Razzashi Raptor

拉扎什迅猛龙 Razzashi Raptor 95000金&#xff08;游戏币&#xff09;比老虎便宜多了&#xff0c;捡漏啊 为啥我开团都不出&#xff0c;很生气&#xff0c;去打架&#xff01;&#xff01;

python-pytorch实现lstm模型预测文本输出0.1.00

python-pytorch实现lstm模型预测文本输出0.1.00 数据参考效果分词到数组准备数数据查看频次获取vacab生成输入数据训练测试连续预测 有问题还需要完善 数据 一篇新闻&#xff1a;https://news.sina.com.cn/c/2024-04-12/doc-inarqiev0222543.shtml 参考 https://blog.csdn.…

ArcGIS Desktop使用入门(三)图层右键工具——标注要素、将标注转换为注记

系列文章目录 ArcGIS Desktop使用入门&#xff08;一&#xff09;软件初认识 ArcGIS Desktop使用入门&#xff08;二&#xff09;常用工具条——标准工具 ArcGIS Desktop使用入门&#xff08;二&#xff09;常用工具条——编辑器 ArcGIS Desktop使用入门&#xff08;二&#x…

零基础突破:开启你的IT行业之旅

零基础突破&#xff1a;开启你的IT行业之旅 在信息技术不断演进的今天&#xff0c;IT行业已成为众多职场人士和新手梦寐以求的领域。但对于那些没有任何相关背景知识的人来说&#xff0c;进入这一行业似乎是一条充满挑战的道路。然而&#xff0c;通过采取正确的方法和技巧&…

【Godot4自学手册】第三十六节圆形移动或扇形移动的铁球

在第三十四节我实现了来回无限滚动的伤害铁刺球&#xff0c;这一节我准备实现一个圆形移动或扇形移动&#xff0c;并带有链条的铁球。效果如下&#xff1a; 一、实现原理 绕一点做圆周运动&#xff0c;简单的说就是&#xff1a; 每一帧根据旋转的角度计算出下一个位置的坐标…

Redis--16--Spring Data Redis

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Spring Data Redishttps://spring.io/projects/spring-data-redis 1.依赖2.RedisTemplate3.案例 序列化1.默认是 JdkSerializationRedisSerializer2.添加Redis配置文…

第十二章 OpenGL ES 基础-色温、色调、亮度、对比度、饱和度、高光

第十二章 OpenGL ES 基础-色温、色调、亮度、对比度、饱和度、高光 第一章 OpenGL ES 基础-屏幕、纹理、顶点坐标 第二章 OpenGL ES 基础-GLSL语法简单总结 第三章 OpenGL ES 基础-GLSL渲染纹理 第四章 OpenGL ES 基础-位移、缩放、旋转原理 第五章 OpenGL ES 基础-透视投影…

关于阿里云centos系统下宝塔面板部署django/中pip install mysqlclient失败问题的大总结/阿里云使用oss长期访问凭证

python版本3.12.0 项目的版本依赖 问题1 解决方案 sudo vim /etc/profile export MYSQLCLIENT_CFLAGS"-I/usr/include/mysql" export MYSQLCLIENT_LDFLAGS"-L/usr/lib64/mysql" Esc退出编辑模式 &#xff1a;wq退出并且保存 问题二 说是找不到 mysql.h头…

Html网页小游戏源代码

Html网页小游戏源代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Jello Jumping Game</title><meta name"viewport" content"widthdevice-width, initial-scale1"&…

[蓝桥杯] 岛屿个数(C语言)

提示&#xff1a; 橙色字体为需要注意部分&#xff0c;红色字体为难点部分&#xff0c;会在文章“重难点解答”部分精讲。 题目链接 蓝桥杯2023年第十四届省赛真题-岛屿个数 - C语言网 题目理解 这道题让我们求岛屿个数&#xff0c;那么我们就应该先弄懂&#xff0c;对于一…