MyEMS核心代码解读001

简介: `myems/myems-modbus-tcp/acquisition.py` 是一个用于从 Modbus TCP 设备采集数据并存储到 MySQL 数据库的 Python 脚本。它通过异步操作检查设备连接,从系统数据库获取数据点列表,读取设备数据,并分类处理后批量插入历史数据库。脚本支持字节交换、比例因子应用等功能,同时具备错误处理和日志记录机制,确保数据采集的稳定性和可靠性。配置信息通过 config 模块加载,适用于工业自动化场景中的数据监控与分析。
  • myems/myems-modbus-tcp/acquisition.py

    这段代码是一个用于从Modbus TCP设备采集数据并存储到MySQL数据库的Python脚本。它主要包含以下几个部分:

    1 导入必要的库:包括处理JSON、数学运算、异步操作、时间、日期、十进制数、MySQL连接以及Modbus TCP通信等。
  1. 检查主机和端口的连通性:使用telnetlib3库异步地检查与Modbus TCP设备的连接是否成功。
  2. 数据采集流程:
  • 步骤1: 检查与Modbus TCP设备的连接。
  • 步骤2: 从系统数据库中获取数据点列表。
  • 步骤3: 从Modbus TCP设备读取数据点的值.。
  • 步骤4: 将采集到的数据批量插入历史数据库,并更新最新值。

    4.数据采集和处理逻辑:

    • 使用while True循环不断进行数据采集。
    • 在每次循环开始时,首先检查与Modbus TCP设备的连接。
    • 从系统数据库中获取需要采集的数据点列表。
    • 对每个数据点,根据其配置(如地址、功能码、偏移量等)从Modbus TCP设备读取值。
    • 将读取到的数据按照数据点的类型(模拟值、能量值、数字值)分类,并进行相应的处理,如字节交换、应用比例因子等。
    • 将处理后的数据批量插入到历史数据库中,并更新每个数据点的最新值。
    • 在每次数据采集周期结束后,休眠指定的时间间隔,然后重复上述过程。

5.错误处理和日志记录: 在数据采集过程中,如果遇到任何错误(如数据库连接失败、Modbus通信错误等),脚本会记录错误信息,并根据情况决定是否重试或跳过当前数据点。
6.数据库操作: 脚本涉及到与两个MySQL数据库的交互——系统数据库和历史数据库。系统数据库用于存储数据点的配置信息,历史数据库用于存储采集到的数据值。
7.配置文件: 脚本使用config模块来获取数据库连接和其他配置信息。
8.字节交换功能: 对于某些Modbus设备,可能需要对读取到的数据进行字节交换,脚本中包含了处理32位和64位数据的字节交换函数。

这段代码实现了一个完整的数据采集流程,包括与设备的通信、数据的读取和处理、以及数据的存储。

目录
打赏
0
3
3
0
27
分享
相关文章
用通义灵码2.5打造智能倒计时日历:从零开始的Python开发体验
本文记录了使用通义灵码2.5开发倒计时日历工具的全过程,展现了其智能体模式带来的高效协作体验。从项目构思到功能实现,通义灵码不仅提供了代码生成与补全,还通过自主决策分解需求、优化界面样式,并集成MCP工具扩展功能。其记忆能力让开发流程更连贯,显著提升效率。最终成果具备事件管理、天气预报等功能,界面简洁美观。实践证明,通义灵码正从代码补全工具进化为真正的智能开发伙伴。
apptrace 三大策略,助力电商 App 在 618 突围​
随着“618”电商大促预售开启,各大平台投入百亿流量与现金争夺用户。然而,网络购物市场增量空间趋于饱和,电商App亟需突破曝光、拉新与转化瓶颈。apptrace提供三大增长策略:精准曝光通过智能广告监测优化投放;裂变拉新简化流程,助力社交传播;高效转化实现一键直达活动页面,提升用户体验与留存率。这些技术优势助力开发者和运营者在618大战中抢占先机,实现用户增长与商业价值最大化。
Higress MCP Server 安全再升级:API 认证为 AI 连接保驾护航
Higress MCP Server 新增了 API 认证功能,为 AI 连接提供安全保障。主要更新包括:1) 客户端到 MCP Server 的认证,支持 Key Auth、JWT Auth 和 OAuth2;2) MCP Server 到后端 API 的认证,增强第二阶段的安全性。新增功能如可重用认证方案、工具特定后端认证、透明凭证透传及灵活凭证管理,确保安全集成更多后端服务。通过 openapi-to-mcp 工具简化配置,减少手动工作量。企业版提供更高可用性保障,详情参见文档链接。
446 42
LangChain脚本如何调度及提效?
本文介绍了通过任务调度系统SchedulerX管理LangChain脚本的方法。LangChain是开源的大模型开发框架,支持快速构建AI应用,而SchedulerX可托管AI任务,提供脚本版本管理、定时调度、资源优化等功能。文章重点讲解了脚本管理和调度、Prompt管理、资源利用率提升、限流控制、失败重试、依赖编排及企业级可观测性等内容。同时展望了AI任务调度的未来需求,如模型Failover、Tokens限流等,并提供了相关参考链接。
231 29
LangChain脚本如何调度及提效?
|
2月前
通义灵码2.5版本全新体验
Qwen3:基于70亿参数大模型,代码生成准确率提升35%,支持30+编程语言。具备智能体模式,可自主决策优化代码,记忆上下文达8K tokens,感知工程状态。集成MCP工具,访问魔搭社区广场,一键安装3000+工具,支持自定义扩展。
67 8
除了MCP我们还有什么?
本文详细描述 agents.json ,涵盖了其背景、工作原理、与 OpenAPI 的关系等内容。
422 94
除了MCP我们还有什么?
三维基因组:multiHiCcompare 差异分析
三维基因组:multiHiCcompare 差异分析
95 13
三维基因组:multiHiCcompare 差异分析
Nuxt3报错解读:解除“Hydration children mismatch in <div>”的困扰。
记住,每一次报错都是对你编程能力的提升,在你一步步攀爬这座小山时,那些微小而坚实的步伐不仅帮你解决眼前的问题,也正是你构筑面向未来的金字塔的基石。
114 15
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问