首页 > 其他分享 >成都电路板研发:细节也容易搞si人,一个触摸屏485通信数据延迟的“治疗”

成都电路板研发:细节也容易搞si人,一个触摸屏485通信数据延迟的“治疗”

时间:2024-03-13 20:22:38浏览次数:21  
标签:装置 触摸屏 si 485 数据 主控板 触屏

本文介绍一个触摸屏在485通信时遇到数据延时的一个解决方法。
前段时间做单片机系统、电路板、控制器、仪器、物联网、工控、电子产品、软件开发项目(Q:2531二六3726)时“接诊”了一个“病人”:是一台装置,它的主控板实现了控制3台泵,采集传感器信息,主控板的一个串口用TTL电平与自带的一个触摸屏A通信,主控板的另一个串口用485 & Modbus RTU协议与触摸屏B通信,触摸屏B带2台装置,出现问题是其中一台装置的一个数据在触摸屏B上显示延迟。

1、 系统详细信息

主控板处理器是STC单片机,触摸屏A是淘晶驰7寸屏,触摸屏B是昆仑通态10寸屏,泵是直流12V/13W的隔膜泵,系统电源用的是12V/5A的电源适配器。
2、 出现了什么问题?
在启动装置后,各个装置与自带的触屏A参数显示与控制正常,各个装置与连接的触摸屏B控制功能正常,但是在触摸屏B上参数显示有一个装置(如装置2)的一个数据不正常,出现很长时间数据不更新的情况。
3、 可能的原因
怀疑泵的电机导致485信号干扰:
由于在每一台装置里布置了3台12V直流电机,电机在运行时可能产生电磁干扰导致485电平错误。
那么,先采取的解决方法是将装置内外的485电缆由并线改为双绞线,并串磁珠,这在理论上是可以降低电磁干扰对485信号的影响。
那就试一试,不过尽管采取了换双绞线串磁珠的的措施,但是数据不更新的现象依然存在,那么把485芯片和单片机也换了,但是问题也没解决。
既然不是硬件问题,那么看看程序:
由于在昆仑通态触摸屏组态Modbus RTU协议时数据更新是查询反馈法,就是触摸屏发送读指令,主控板需根据要求反馈数据。
是不是在主控板里触摸屏的读指令多了被覆盖了?那么在主控板的程序里除了收到触屏的读指令后反馈之外,再加个定时发送数据给触屏。但是经测试,触屏上数据长时间不更新的现象还是存在,看来这也不是主要问题。
最后到触屏组态界面,发现“通讯等待时间”为200毫秒,疑似有点问题,“通讯等待时间”是触屏发送指令后收到返回帧的允许等待时间,超过这个时间数据会被丢弃。
而在本案里主控板里收到触屏的读指令之后可能不会马上反馈数据,要等到while循环到了处理触屏指令时才会向触屏发送数据,这里在while循环里执行的代码还有点多,有可能会超过200毫秒才会回复数据。

那么把“通讯等待时间”改为600试一试:见证奇迹的时刻到来了,把触屏的这个参数改了之后,触屏B与两个装置之间通信无比“丝滑”,触屏上数据响应非常及时,问题解决,那么这个系统就“治好了”。

其实这真是一个小细节,“通讯等待时间”200是默认值一般无需修改,但是在不同的通信对应方可能会有不同的情况,这个参数也要根据系统情况做修改设置。这虽小,但也够折腾,难在意想不到,项目经验就是一步一步积累的。
一点小总结分享,全文完。
沙鸥 成都 2024年3月13日

标签:装置,触摸屏,si,485,数据,主控板,触屏
From: https://www.cnblogs.com/yonkotech/p/18071445

相关文章

  • Unity类银河恶魔城学习记录9-5 p93 Major stats and defensive stats源代码
    Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考此代码仅为较上一P有所改变的代码【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibiliCharacterStats.csusingSystem.Collections;usingSystem.Collections.Generic;using......
  • Ansible
    1.Ansible发展作者:MichaelDeHaan(Cobblerpxekikstar与Func作者)ansible的名称来自科幻小说《安德的游戏》中跨越时空的即时通信工具,使用它可以在相距数光年的距离,远程实时控制前线的舰队战斗2012-03-09,发布0.0.1版,2015-10-17,RedHat宣布1.5亿美元收购。官网:https://ww......
  • 运维自动化-Ansible
    关于运维自动化相关工具:代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion构建工具:maven、Ant、Gradle自动部署:Capistrano、CodeDeploy持续集成(CI):Jenkins、Travis配置管理:Ansible、SaltStack、Chef、Puppet容器:Docker、Podman、LXC、第三方厂商如AWS编排:Kube......
  • 【DataWhale学习】用免费GPU线上跑StableDiffusion项目实践
    用免费GPU线上跑SD项目实践​DataWhale组织了一个线上白嫖GPU跑chatGLM与SD的项目活动,我很感兴趣就参加啦。之前就对chatGLM有所耳闻,是去年清华联合发布的开源大语言模型,可以用来打造个人知识库什么的,一直没有尝试。而SD我前两天刚跟着B站秋叶大佬和Nenly大佬的视频学习过......
  • 【ansible】ansible的介绍和安装
    前言运维自动化云计算核心职能搭建平台架构日常运营保障性能效率优化相关工具代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion构建工具:maven、Ant、Gradle自动部署:Capistrano、CodeDeploy持续集成(CI):Jenkins、Travis配置管理:Ansible、SaltStack、Chef、P......
  • 从零开始利用MATLAB进行FPGA设计(一):建立脉冲检测模型的Simulink模型2
    目录1.模块的总体结构1.1从工作空间导入输入信号1.2FIR滤波器2.Subsystem3.MATLABFunction文章灵感来源于MATLAB官方免费教程:HDLCoderSelf-GuidedTutorial考虑到MATLAB官网的英文看着慢,再加上视频讲解老印浓浓的咖喱味,我决定记录利用MATLAB&Simulink&SystemGenerat......
  • Python学习+PySimpleGUI+Pyinstaller,制作Windows桌面小工具
    1开发环境Python+PyCharm2第三方库2.1PySimpleGUI是基于Python的图形界面开发工具pipinstall PySimpleGUIPySimpleGUI5.0版本后开始收费,好像注册个人用户是免费,嫌麻烦我直接用的之前的版本 pip installPySimpleGUI==4.60.5 2.2PyInstaller是一个在Windows、G......
  • [计算理论] 1. 图灵机、递归函数与丘奇-图灵论题 Turing Machine, Recursive Function
    图灵机在研究一种自动机时,我们有两种视角语法学(Syntax),描述一个自动机是什么,如分析自动机的组成、结构。语义学(Semantics),描述一个自动机做什么,如分析自动机的语言。换句话说,前者是自动机的视角,后者是形式语言的视角。图灵机的语法图灵机的原始描述如下:一台含......
  • R语言可视化包ggplot2绘制分组回归线实战(Regression Line by Group)
    R语言可视化包ggplot2绘制分组回归线实战(RegressionLinebyGroup)目录R语言可视化包ggplot2绘制分组回归线实战(RegressionLinebyGroup)......
  • Stable Diffusion 学习笔记
     对于diffusion的原始论文的理解参考,https://www.bilibili.com/video/BV18a4y1T75X/?p=2&spm_id_from=pageDriver&vd_source=1eb6e5015a1f70daa97080d8ee786d5dhttps://www.bilibili.com/video/BV1KC411Y7AF?p=2&vd_source=1eb6e5015a1f70daa97080d8ee786d5d 之前生成网络,G......