AWTK 开源串口屏 MODBUS Server 模型

server/2025/1/15 18:03:59/

名称: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.ppmy.cn/server/3014.html

相关文章

部队营区无线广播-部队营区无线广播音频智能管理播控系统建设浅析

部队营区无线广播音频智能管理播控系统技术方案 由北京海特伟业科技任洪卓发布于 2024年4月16日 一、部队营区无线广播音频智能管理播控系统建设要求 为了响应上级关于恢复播放作息号的指示精神&#xff0c;提升广播系统在部队营区管理中的重要性和可塑性&#xff0c;某部营区…

微信小程序之点击事件

微信小程序中常用的点击事件主要是 tap&#xff0c;但除此之外还有其他的触摸类事件&#xff0c;用于不同的交互场景。以下是一些常见的点击和触摸相关的事件及其区别&#xff1a; 1、tap——最基本的点击事件&#xff0c;适用于一般的轻触交互&#xff0c;类似于 HTML 中的 c…

建立时间/保持时间为负是什么情况

目录 建立时间为负保持时间为负参考 在说明建立时间和保持时间为何为负的情况下&#xff0c;首先可以看看建立时间Tsu和保持时间Th的由来&#xff0c;可参考如下两篇文章&#xff1a; 建立时间和保持时间理解_为什么要满足建立时间和保持时间-CSDN博客 ic基础|时序篇&#xff…

微信小程序实现全局参数共享,且实现全局参数变化时的页面间通信

首先&#xff0c;微信小程序中并没有提供直接的全局事件系统来监听全局参数的变化。因此&#xff0c;我们需要采用其他方式来达到这一目的。一种常见的方法是使用全局变量和事件监听来模拟全局事件系统。 1. 定义全局变量和事件 在 app.js 中定义全局变量&#xff0c;并提供一…

【华为OD机试】跳马【C卷|200分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 马是象棋(包括中国象棋和国际象棋)中的棋子,走法是每步直一格再斜一格, 即先横着或者直者走一格,然后再斜着走一个对角线,可进可退,可越过河界,俗称"马走日"字。 给定 m…

最新在Fedora Linux安装MongoDB服务器的简单教程

本指南将帮助你在 Fedora 39/38/37/36 或您正在使用的任何其他版本上安装最新或旧版本的 MongoDB 数据库服务器。 MongoDB 是一种流行的 NoSQL 数据库服务器&#xff0c;提供社区版和企业版。它以其高性能、灵活性和可扩展性而闻名。它是一个无模式数据库&#xff0c;因此允许…

特殊文件java

properties 属性文件 里边存放 键值对键不能重复文件后缀一般是 properties 结尾的 使用properties读取属性文件 public class PropertiesTest1 {public static void main(String[] args) throws Exception {//1.创建一个properties对象Properties properties new Propertie…

网工-BGP协议全面学习笔记(待更新和完善...)

作者&#xff1a;BSXY_19计科_陈永跃 BSXY_信息学院 注&#xff1a;未经允许禁止转发任何内容 网工-BGP协议全面学习笔记 1、OSPF基础2、BGP报文3、BGP案例4、BGP属性待更新和完善... 1、OSPF基础 在EGP协议中&#xff0c;引入了AS(Autonomous System&#xff0c;自治系统)的概…