当前位置: 首页 > article >正文

实现三个采集板数据传送到一个显示屏的方案

实现三个采集板数据传送到一个显示屏的方案

要实现三个相同采集板的数据都传送到一个显示屏上,可行的方案:

方案:串行通信(推荐)

  1. 硬件连接

    • 使用RS485总线连接(适合较长距离)
    • 或使用UART串口通过分时复用方式连接
    • 每个采集板设置不同的设备地址
  2. 通信协议

    • 采用Modbus RTU等标准协议
    • 自定义协议,也可以
    • 显示屏作为主站(Master),轮询三个采集板(Slave)
  3. 优点

    • 布线简单
    • 扩展性好
    • 抗干扰能力强(特别是RS485)

具体实施建议

对于大多数工业应用,**方案(RS485总线)**是最可靠和经济的解决方案:

  1. 连接示意图:

    显示屏(主站) <---RS485总线---> 采集板1(从站1)|+----> 采集板2(从站2)|+----> 采集板3(从站3)
    
  2. 实现步骤:

    • 配置各采集板的唯一地址(如1,2,3)
    • 显示屏按地址轮询各采集板
    • 采集板只在被寻址时响应
    • 显示屏汇总并显示所有数据
  3. 注意事项:

    • 总线两端需加终端电阻(120Ω)
    • 使用双绞线作为通信线缆
    • 避免总线过长(RS485建议不超过1200米)

从机的地址设置方法:

硬件设置方式,拨码开关设置(推荐)

每个采集板安装二进制拨码开关(如4位DIP开关)

通过开关组合设置不同地址(如0001=1,0010=2,0011=3)

优点:直观、不易丢失设置

主机主要工作:

  1. 主机看从机板子的拨码开关后,知道三个从机的地址。
  2. 使用for循环或者状态机,每隔1S,向从机发生要数据的命令,此命令带着从机的地址。从机们收到此条命令,和自己的地址匹配,匹配上了,给主机回复数据,匹配不上地址,不理睬主机的命令。
for(i=current_poll_index;i<3;i++)
{	。。。 。。。send_frame(slaves[current_poll_index].addr, 0, FUNC_READ_DATA, NULL, 1);。。。 。。。
}
  1. 串口中断接受到从机数据,解析,并且按地址分类,在屏上显示不同主板的数据。

从机主要工作:

  1. 用拨码开关设置自己的地址,软件读取拨码开关的值,知道自己的地址。
  2. 等待接受主机要数据的命令,从机们收到此条命令,和自己的地址匹配,匹配上了,给主机回复数据,匹配不上地址,不理睬主机的命令。

还有特殊情况,从机没有拨码开关,自身地址是随机产生的。

这个时候,主机要得到从机的地址,就要给三个从机广播(给三个从机同时发送要地址的命令),然后从机接受到命令后,先随机延时(避免数据线冲突),再将自己的地址发送给主机。
主机接受到各个从机的地址后,带上地址给从机发生要数据的命令(这个步骤就和上面一样了)。

相关文章:

实现三个采集板数据传送到一个显示屏的方案

实现三个采集板数据传送到一个显示屏的方案 要实现三个相同采集板的数据都传送到一个显示屏上&#xff0c;可行的方案&#xff1a; 方案&#xff1a;串行通信&#xff08;推荐&#xff09; 硬件连接&#xff1a; 使用RS485总线连接&#xff08;适合较长距离&#xff09;或使用…...

comfyui 如何优雅的从Hugging Face 下载模型,文件夹

如下图所示 使用git 下载整个仓库然后把需要的放到对应的位置...

通过user-agent来源判断阻止爬虫访问网站,并防止生成[ error ] NULL日志

一、TP5.0通过行为&#xff08;Behavior&#xff09;拦截爬虫并避免生成 [ error ] NULL 错误日志 1. 创建行为类&#xff08;拦截爬虫&#xff09; 在 application/common/behavior 目录下新建BlockBot.php &#xff0c;用于识别并拦截爬虫请求&#xff1a; <?php name…...

动态规划法:爬楼梯

假如你现在爬楼梯&#xff0c;需要n阶才能到达楼顶&#xff0c;每次可以爬1或2 台阶&#xff0c;你有多少中不同的方法可以爬到楼顶。 例如&#xff1a; 输入&#xff1a;n2 输出&#xff1a;2 //有两种方法可以到达楼顶&#xff0c;1阶1阶&#xff0c;2阶。 输入&…...

IBM BAW(原BPM升级版)使用教程第七讲

续前篇&#xff01; 一、团队 在 IBM Business Automation Workflow (BAW) 中&#xff0c;团队&#xff08;Team&#xff09; 是流程管理的关键部分&#xff0c;用于定义参与某个流程的用户、角色、组以及服务等。在团队配置中&#xff0c;有许多重要概念&#xff0c;特别是 …...

【论文阅读】Efficient and secure federated learning against backdoor attacks

Efficient and secure federated learning against backdoor attacks -- 高效且安全的可抵御后门攻击的联邦学习 论文来源问题背景TLDR系统及威胁模型实体威胁模型 方法展开服务器初始化本地更新本地压缩高斯噪声与自适应扰动聚合与解压缩总体算法 总结优点缺点 论文来源 名称…...

Java中的代理机制

目录 什么叫代理 静态代理 优缺点 优点&#xff1a; 缺点&#xff1a; 动态代理 JDK动态代理 核心类 JDK动态代理的实现 步骤 示例 特点 CGLIB动态代理 代理机制对比 总结 什么叫代理 代理模式是一种比较好理解的设计模式。简单来说就是我们使用代理对象来代替…...

Kotlin扩展函数提升Android开发效率

在Android开发中&#xff0c;Kotlin的扩展函数&#xff08;Extension Functions&#xff09;犹如一把神奇的瑞士军刀&#xff0c;它能显著提升代码简洁性和开发效率。以下是通过实战案例展示的扩展函数魔法手册&#xff1a; 一、扩展函数基础原理 // 给View添加渐显动画扩展 f…...

Jenkins linux安装

jenkins启动 service jenkins start 重启 service jenkins restart 停止 service jenkins stop jenkins安装 命令切换到自己的下载目录 直接用命令下载 wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.190.3-1.1.noarch.rpm 下载直接安装 rpm -ivh jenkins-2.190.3-…...

加速pip下载:永久解决网络慢问题

一文教你解决 pip 下载太慢了的问题 || 下载时因为网络不好中断下载的问题 一、找到 pip 配置文件路径 1.配置文件位置&#xff1a; Windows 系统的 pip 配置文件默认不存在&#xff0c;需要手动创建&#xff0c;路径为&#xff1a; C:\Users\你的用户名\pip\pip.ini 用户目…...

WPF 触发器 Trigger

触发器 Trigger 触发器&#xff08;Trigger&#xff09;是 WPF 中的一种机制&#xff1a; 当某个条件满足时&#xff0c;自动改变控件的某些属性&#xff0c;比如颜色、大小、透明度等。 换句话说&#xff0c;就是"如果……那么就……" 的一种规则。 常见触发器类…...

Webug4.0靶场通关笔记-靶场搭建方法(3种方法)

目录 一、虚拟机绿色版本 1. 开启phpstudy 2. 访问靶场 二、Docker版本 1.拉取镜像 2.启动镜像 三、源码安装版本 1. 搭建环境 &#xff08;1&#xff09;安装PHPStudy &#xff08;2&#xff09;WeBug4.0靶场源码 &#xff08;3&#xff09;安装Navicat &#xff…...

Python核心编程深度解析:作用域、递归与匿名函数的工程实践

引言 Python作为现代编程语言的代表&#xff0c;其作用域管理、递归算法和匿名函数机制是构建高质量代码的核心要素。本文基于Python 3.11环境&#xff0c;结合工业级开发实践&#xff0c;深入探讨变量作用域的内在逻辑、递归算法的优化策略以及匿名函数的高效应用&#xff0c…...

【Web】LACTF 2025 wp

目录 arclbroth lucky-flag whack-a-mole arclbroth 看到username为admin能拿到flag 但不能重复注册存在的用户 这题是secure-sqlite这个库的问题&#xff0c;底层用的是C&#xff0c;没处理好\0字符截断的问题 &#xff08;在 Node.js 中&#xff0c;由于其字符串表示方式…...

【日撸 Java 三百行】综合任务 1

目录 Day 10&#xff1a;综合任务 1 一、题目分析 1. 数据结构 2. 相关函数基本知识 二、模块介绍 1. 初始化与成绩矩阵的构建 2. 创建总成绩数组 3. 寻找成绩极值 三、代码与测试 小结 拓展&#xff1a;关于求极值的相关算法 Day 10&#xff1a;综合任务 1 Task&…...

yocto的每个recipe都是在工作路径中完成

Yocto项目中每个Recipe的编译过程都会将源文件解压或搬运到tmp/work/下的特定工作目录,并在此完成所有构建任务。具体流程可分为以下关键步骤: 一、源码处理阶段 源码获取(do_fetch) Recipe通过SRC_URI变量指定源码来源(如Git仓库、HTTP下载或本地文件)。这些文件会被下载…...

玩转Docker | 使用Docker部署DailyTxT日记工具

玩转Docker | 使用Docker部署DailyTxT日记工具 一、DailyTxT介绍DailyTxT简介DailyTxT 特点二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署DailyTxT服务下载DailyTxT镜像编辑部署文件创建容器检查容器状态检查服务端口安全设置四、访问DailyTxT服务访问D…...

初等数论--欧拉定理及证明

0. 证明前置知识 同余类&#xff08;剩余类&#xff09; r n ‾ { x ∣ x m n r , m ∈ Z } \overline{r_n} \{ x| xmnr,m \in Z\} rn​​{x∣xmnr,m∈Z} r n ‾ \overline{r_n} rn​​表示模 n n n后余 r r r的同余类&#xff08;剩余类&#xff09; 比如 2 5 ‾ { ⋯…...

Oracle非归档模式遇到文件损坏怎么办?

昨天夜里基地夜班的兄弟&#xff0c;打电话说有个报表库连不上了&#xff0c;赶紧起来连上VPN查看一下&#xff0c;看到实例宕机了&#xff0c;先赶紧startup起来。 1.查看报错信息 环境介绍&#xff1a;Redhat 6.9 Oracle 11.2.0.4 No Archive Mode 查看alert log 关键报…...

机器人领域和心理学领域 恐怖谷 是什么

机器人领域和心理学领域 恐怖谷 是什么 恐怖谷是一个在机器人领域和心理学领域备受关注的概念,由日本机器人专家森政弘于1970年提出。 含义 当机器人与人类的相似度达到一定程度时,人类对它们的情感反应会突然从积极变为消极,产生一种毛骨悚然、厌恶恐惧的感觉。这种情感…...

树莓派4的v4l2摄像头(csi)no cameras available,完美解决

根据2025年最新技术文档和树莓派官方支持建议&#xff0c;no cameras available错误通常由驱动配置冲突或硬件连接问题导致。以下是系统化解决方案&#xff1a; 一、核心修复步骤 强制禁用传统驱动 sudo nano /boot/firmware/config.txt确保包含以下配置&#xff08;2025年新版…...

每日一题:两个仓库的最低配送费用问题

文章目录 两个仓库的最低配送费用问题一、问题描述二、解题思路&#xff08;一&#xff09;初始假设&#xff08;二&#xff09;差值定义&#xff08;三&#xff09;选择最优&#xff08;四&#xff09;计算答案 三、代码实现四、代码分析&#xff08;一&#xff09;输入处理&a…...

华为私有协议Hybrid

实验top图 理论环节 1. 基本概念 Hybrid接口&#xff1a; 支持同时处理多个VLAN流量&#xff0c;且能针对不同VLAN配置是否携带标签&#xff08;Tagged/Untagged&#xff09;。 核心特性&#xff1a; 灵活控制数据帧的标签处理方式&#xff0c;适用于复杂网络场景。 2. 工作…...

Redis 基本数据类型解析

Redis 是一个高效的内存数据存储系统&#xff0c;广泛应用于缓存、消息队列、排行榜、实时数据处理等场景。其高性能的特点部分源自其丰富的数据结构&#xff0c;Redis 提供了多种数据类型&#xff0c;能够支持不同的使用需求。本文将详细介绍 Redis 的八种基本数据类型。 1. …...

数据库实验10

设计性实验 1&#xff0e;实验要求 1.编写函数FsumXXX&#xff0c;1~n&#xff08;参数&#xff09;求和&#xff1b; GO CREATE FUNCTION Fsum065 (n INT) RETURNS INT AS BEGIN DECLARE sum INT 0 WHILE n > 0 BEGIN SET sum sum n SET n n - 1 END RETURN sum END …...

Yocto是如何使用$D目录来构建文件系统的?

Yocto最终会将所有Recipe的${D}(部署目录)下的文件整合到根文件系统中,但这一过程并非简单收集所有内容,而是通过分阶段打包、依赖管理和定制化配置实现的。以下是核心机制的解析: 一、${D}目录的作用与文件收集原理 ${D}的定位 ${D}是模拟目标系统根文件结构的临时目录(…...

jflash下载时出现 Could not read unit serial number! 的解决方法

出现的原因是由于Jlink原厂固件SN码是-1 我用的版本是v6.40 解决方法&#xff1a;添加序列号 1.打开&#xff1a;J-Link commander 之后在命令栏输入&#xff1a;exec setsnxxxxxxxx 2.添加序列号到license&#xff0c;打开J-Link License Manager V6.40 jlink-v640下载软件…...

Linux 信号终篇(总结)

前文&#xff1a;本文是对信号从产生到被处理的过程中的概念和原理的总结&#xff0c;如果想了解具体实现&#xff0c;请查看前两篇博客&#xff1a;Linux 信号-CSDN博客、Linux 信号&#xff08;下篇&#xff09;-CSDN博客 一、信号的产生 1.1 信号产生的五种条件 ①键盘组…...

使用Kotlin Flow实现Android应用的响应式编程

在Android应用中使用Kotlin Flow实现响应式编程可以分为以下步骤&#xff0c;结合最佳实践和生命周期管理&#xff1a; 1. 添加依赖 在build.gradle中确保包含协程和生命周期相关依赖&#xff1a; dependencies {implementation("org.jetbrains.kotlinx:kotlinx-corouti…...

react中的用法——setDisabled dva dispatch effects

setDisabled 在react中&#xff0c;setDisabled通常是指通过状态管理来控制某个组件&#xff08;如按钮、输入框等&#xff09;的禁用状态。虽然react本身没有内置的setDisabled方法&#xff0c;但你可以使用useState钩子来实现类似的功能。以下是一个简单的示例&#xff0c;展…...