什么是 Modbus?工业网关如何采集 PLC 和仪表数据

news2026/5/1 7:54:23
什么是 Modbus工业网关如何采集 PLC 和仪表数据文章目录什么是 Modbus工业网关如何采集 PLC 和仪表数据一、Modbus 是什么二、为什么工业现场常用 Modbus1. 协议简单2. 设备支持广泛3. 适合现场数据采集4. 成本较低三、Modbus 的基本通信模式1. 什么是主站 Master2. 什么是从站 Slave3. 主从通信流程四、Modbus RTU 和 Modbus TCP 有什么区别1. Modbus RTU2. Modbus TCP3. Modbus RTU 和 Modbus TCP 对比五、RS-485 和 RS-232 是什么1. RS-4852. RS-232六、Modbus 中的寄存器是什么七、Modbus 常见数据区1. Coils 线圈2. Discrete Inputs 离散输入3. Input Registers 输入寄存器4. Holding Registers 保持寄存器八、Modbus 功能码是什么1. 读取保持寄存器功能码 032. 读取输入寄存器功能码 043. 写单个寄存器功能码 064. 写多个寄存器功能码 16九、寄存器地址为什么容易出错1. 地址偏移问题2. 功能码和地址区不匹配3. 读取长度不正确十、数据类型和字节序1. 常见数据类型2. 字节序问题3. 比例系数十一、工业网关如何采集 PLC 和仪表数据1. 第一步确认设备支持的 Modbus 类型2. 第二步连接线路Modbus RTU 接线Modbus TCP 接线3. 第三步配置通信参数4. 第四步配置寄存器地址5. 第五步测试读取数据6. 第六步上传到云平台十二、一个完整的工业网关采集示例1. 现场设备信息2. 寄存器表3. 工业网关采集配置4. 采集结果5. 上传到云平台十三、Modbus 常见故障排查1. 完全通信不上2. 只能读到部分数据3. 读到的数据明显不对4. 通信不稳定5. 多设备通信时部分设备失败十四、Modbus 的安全问题十五、Modbus、MQTT、工业网关之间的关系十六、工业物联网中的典型应用场景1. 能耗监测2. 环境监测3. 水处理系统4. 工厂设备监控5. 光伏和储能系统十七、学习 Modbus 的建议十八、总结下一篇预告在前几篇文章中我们已经介绍了物联网的基本概念、物联网系统的工作原理以及 MQTT、HTTP、Modbus 等常见通信协议。其中MQTT更常用于设备连接云平台适合数据上云、远程监控和消息传输而Modbus则更多出现在工业现场用于 PLC、仪表、电表、传感器、RTU 等设备之间的数据采集和控制。在工业物联网系统中经常会看到这样的架构PLC / 仪表 / 电表 → Modbus → 工业网关 → MQTT / HTTP → 云平台那么问题来了Modbus 到底是什么为什么工业现场经常使用 Modbus工业网关又是如何通过 Modbus 采集 PLC 和仪表数据的本文将从入门角度介绍 Modbus 的基本概念、通信方式、常见类型、寄存器、功能码以及工业网关采集数据的基本流程。一、Modbus 是什么Modbus 是一种经典的工业通信协议最早应用于工业自动化控制领域。简单来说Modbus 的作用是让工业设备之间按照统一规则进行数据读取和控制。在工业现场很多设备都支持 Modbus例如PLCRTU智能电表水表温控器变频器传感器压力表流量计环境监测设备工业控制器。这些设备可能来自不同厂商但只要它们支持 Modbus就可以按照 Modbus 协议进行通信。例如工业网关可以通过 Modbus 读取电表中的电压、电流、功率等数据工业网关 → 读取电表寄存器 电表 → 返回电压、电流、功率数据也可以读取 PLC 中的运行状态工业网关 → 读取 PLC 数据区 PLC → 返回设备运行状态二、为什么工业现场常用 ModbusModbus 在工业现场应用非常广泛主要原因有以下几点。1. 协议简单Modbus 协议结构相对简单容易实现也容易调试。对于很多工业设备来说只需要配置从站地址通信方式波特率数据位校验位停止位寄存器地址数据类型。就可以完成基本通信。2. 设备支持广泛很多工业设备默认支持 Modbus。例如电表通常支持 Modbus RTUPLC 通常支持 Modbus TCP 或 Modbus RTU变频器常见支持 Modbus RTU温湿度传感器常见支持 Modbus RTU水处理仪表、压力表、流量计也经常支持 Modbus。因此在工业项目中Modbus 是非常常见的设备接入方式。3. 适合现场数据采集工业现场的数据通常是一些结构化的数据例如电压电流功率温度湿度压力液位开关状态报警状态设备运行状态。这些数据通常可以通过寄存器地址读取非常适合使用 Modbus 协议。4. 成本较低Modbus RTU 通常基于 RS-485 串口通信一条总线上可以连接多个设备布线成本较低。例如工业网关 RS-485 口 ↓ 电表 1 ↓ 电表 2 ↓ 电表 3 ↓ 温湿度传感器只要地址不冲突多个设备可以挂在同一条 RS-485 总线上。三、Modbus 的基本通信模式Modbus 采用主从模式也可以称为Master / Slave 模式。在较新的描述中也有说法叫Client / Server主站 / 从站。为了便于初学者理解本文主要使用主站 Master和从站 Slave的说法。1. 什么是主站 Master主站是主动发起请求的一方。在工业物联网系统中主站通常是工业网关PLCSCADA 系统上位机软件数据采集器。主站负责主动发送请求例如请告诉我寄存器 40001 的值是多少2. 什么是从站 Slave从站是被动响应请求的一方。在工业现场中从站通常是电表水表传感器变频器PLC仪表RTU。从站不会主动发送数据给主站而是等待主站来读取或写入。例如主站请返回寄存器 40001 的值 从站寄存器 40001 的值是 230.53. 主从通信流程Modbus 的基本通信流程如下1. 主站发送请求 2. 从站接收请求 3. 从站处理请求 4. 从站返回响应 5. 主站解析数据可以简单表示为Modbus Master → 请求读取数据 → Modbus Slave Modbus Master ← 返回数据 ← Modbus Slave例如工业网关读取电表数据工业网关 → 读取电表电压寄存器 电表 → 返回电压数值四、Modbus RTU 和 Modbus TCP 有什么区别Modbus 常见类型主要有两种Modbus RTUModbus TCP。它们的核心协议思想类似但通信介质和应用场景不同。1. Modbus RTUModbus RTU 通常运行在串口通信上常见接口是RS-485RS-232。其中RS-485 在工业现场更常见。典型结构如下工业网关 RS-485 接口 → Modbus RTU → 电表 / 仪表 / 传感器Modbus RTU 常见于电表水表温湿度传感器变频器压力表流量计环境监测仪工业仪表。2. Modbus TCPModbus TCP 运行在以太网网络中基于 TCP/IP 通信。典型结构如下工业网关 Ethernet 接口 → Modbus TCP → PLC / 控制器 / 服务器Modbus TCP 常见于PLC工业控制器SCADA 系统上位机支持以太网通信的仪表工业交换机网络中的设备。Modbus TCP 通常使用端口5023. Modbus RTU 和 Modbus TCP 对比对比项Modbus RTUModbus TCP通信接口RS-485 / RS-232Ethernet 以太网传输方式串口通信TCP/IP 通信常见设备电表、仪表、传感器、变频器PLC、控制器、SCADA、上位机地址方式从站地址 Slave IDIP 地址 端口常见端口无固定网络端口TCP 502布线方式总线式以太网星型或网络结构传输距离RS-485 可较远距离取决于以太网网络调试工具串口工具、Modbus Poll 等Modbus TCP 工具、Wireshark 等简单理解Modbus RTU 更偏串口现场设备Modbus TCP 更偏以太网工业网络。五、RS-485 和 RS-232 是什么在讲 Modbus RTU 时经常会看到 RS-485 和 RS-232。需要注意RS-485、RS-232 是物理通信接口标准Modbus RTU 是运行在这些接口上的通信协议。可以简单理解为RS-485 / RS-232负责“电气连接和信号传输” Modbus RTU负责“数据格式和通信规则”1. RS-485RS-485 是工业现场非常常见的串口通信方式。特点包括抗干扰能力较强适合较长距离传输支持多设备总线连接常用于工业仪表、电表、传感器等设备。RS-485 常见接线方式是A 接 A B 接 B GND 可根据实际情况连接有些设备会标为D / D- 485 / 485- A / B不同厂商标识可能不完全一致接线时需要查看设备说明书。2. RS-232RS-232 也是一种串口通信方式。相比 RS-485RS-232 通常更适合点对点通信通信距离较短。常见于老式设备调试口单设备连接某些仪表或控制器。六、Modbus 中的寄存器是什么理解 Modbus必须理解寄存器 Register。在 Modbus 中设备中的数据通常存储在不同的寄存器中。例如一个电表可能把数据存放在如下寄存器中数据寄存器地址电压40001电流40003有功功率40005频率40007电能40009工业网关想读取电压就需要知道电压对应的寄存器地址。例如读取寄存器 40001 → 得到电压数据七、Modbus 常见数据区Modbus 中常见的数据区包括四类数据区英文名称访问方式常见用途线圈Coils读/写开关量输出离散输入Discrete Inputs只读开关量输入输入寄存器Input Registers只读模拟量输入保持寄存器Holding Registers读/写参数、测量值、控制值1. Coils 线圈Coils 通常用于表示可读写的开关量。例如继电器开关电机启停输出点状态阀门开关。数据通常是布尔值0关闭 1打开2. Discrete Inputs 离散输入Discrete Inputs 通常用于只读的开关量输入。例如按钮状态限位开关门磁状态告警输入状态。它通常只能读取不能写入。3. Input Registers 输入寄存器Input Registers 通常用于只读模拟量数据。例如温度湿度压力液位电压电流。主站只能读取这些数据不能写入。4. Holding Registers 保持寄存器Holding Registers 是最常见的数据区之一支持读取和写入。常用于设备参数采集值控制参数运行状态配置项。例如读取保持寄存器 → 获取电压 写入保持寄存器 → 修改设备参数在很多设备说明书中常见的 4xxxx 地址通常就是保持寄存器。八、Modbus 功能码是什么功能码 Function Code 用来表示主站想执行什么操作。常见功能码如下功能码功能说明01Read Coils读取线圈02Read Discrete Inputs读取离散输入03Read Holding Registers读取保持寄存器04Read Input Registers读取输入寄存器05Write Single Coil写单个线圈06Write Single Register写单个保持寄存器15Write Multiple Coils写多个线圈16Write Multiple Registers写多个保持寄存器在实际项目中比较常用的是03读取保持寄存器 04读取输入寄存器 06写单个寄存器 16写多个寄存器1. 读取保持寄存器功能码 03例如工业网关读取电表的电压、电流数据。功能码03 含义读取 Holding Registers典型流程主站请求读取从站 1 的保持寄存器 40001读取 2 个寄存器 从站响应返回寄存器数据2. 读取输入寄存器功能码 04例如读取传感器的温度、湿度数据。功能码04 含义读取 Input Registers3. 写单个寄存器功能码 06例如向设备写入一个参数。功能码06 含义写单个 Holding Register4. 写多个寄存器功能码 16例如一次性写入多个配置参数。功能码16 含义写多个 Holding Registers九、寄存器地址为什么容易出错在 Modbus 调试中寄存器地址是最容易出错的地方之一。常见问题包括设备说明书地址从 1 开始软件配置地址从 0 开始40001 是否需要减去 40001功能码选择错误数据类型选择错误字节序选择错误读取长度不正确。1. 地址偏移问题例如设备说明书中写电压地址40001但在某些软件或网关中可能需要填写0或者1这是因为不同软件对地址的表示方式不同。有的软件使用逻辑地址例如 40001有的软件使用实际偏移地址例如 0。所以调试时需要注意说明书和配置界面的地址规则。2. 功能码和地址区不匹配例如某个数据在保持寄存器 Holding Registers 中需要使用功能码 03 读取。如果误用了功能码 04就可能读取失败。例如正确功能码 03 Holding Register 错误功能码 04 Holding Register3. 读取长度不正确一个 16 位整数通常占用 1 个寄存器。但如果数据是 32 位整数或浮点数通常需要 2 个寄存器。例如数据类型占用寄存器数量16-bit Integer1 个寄存器32-bit Integer2 个寄存器Float2 个寄存器Double4 个寄存器如果读取长度不对解析出来的数据就可能错误。十、数据类型和字节序Modbus 寄存器本身通常是 16 位数据。但实际设备数据可能是16 位整数32 位整数32 位浮点数有符号整数无符号整数高低字节交换高低字交换。因此仅知道寄存器地址还不够还需要知道数据类型和字节序。1. 常见数据类型数据类型说明UInt1616 位无符号整数Int1616 位有符号整数UInt3232 位无符号整数Int3232 位有符号整数Float32 位浮点数Double64 位浮点数Boolean布尔值例如温度可能是寄存器原始值285 比例系数0.1 实际温度28.5℃2. 字节序问题字节序也叫 Endianness。对于 32 位数据因为需要两个寄存器所以不同设备可能采用不同顺序。常见顺序包括ABCD BADC CDAB DCBA如果字节序设置错误可能会出现非常离谱的数据。例如实际温度是28.5但解析后可能变成1.23E-38或者999999这通常就需要检查字节序和数据类型。3. 比例系数很多工业设备说明书中会写比例系数。例如寄存器值2305 比例系数0.1 实际电压230.5 V或者寄存器值285 比例系数0.1 实际温度28.5 ℃因此采集数据后通常还需要进行换算。十一、工业网关如何采集 PLC 和仪表数据工业网关在工业物联网系统中非常重要。它通常位于现场设备和云平台之间负责连接 PLC、仪表、电表、传感器通过 Modbus 采集现场数据对数据进行解析和转换将数据上传到云平台接收云平台命令下发控制指令到现场设备。整体架构如下PLC / 仪表 / 电表 / 传感器 ↓ Modbus RTU / Modbus TCP ↓ 工业网关 ↓ MQTT / HTTP / HTTPS ↓ 云平台 ↓ Web 后台 / 手机 App / 数据大屏1. 第一步确认设备支持的 Modbus 类型首先需要确认现场设备支持哪种 Modbus。例如设备可能支持的协议电表Modbus RTU温湿度传感器Modbus RTUPLCModbus TCP / Modbus RTU变频器Modbus RTURTUModbus RTU / TCP智能仪表Modbus RTU / TCP如果设备是 RS-485 接口通常是 Modbus RTU。如果设备是网口可能是 Modbus TCP。2. 第二步连接线路Modbus RTU 接线如果使用 RS-485需要连接网关 A → 设备 A 网关 B → 设备 B有些设备可能标为485 / 485- D / D- A / B如果通信不上可以尝试检查A/B 是否接反是否需要接 GND线缆是否过长是否需要终端电阻多设备地址是否冲突。Modbus TCP 接线如果使用 Modbus TCP需要保证网关和 PLC 或设备在网络上能够互通。需要确认IP 地址是否正确子网掩码是否正确网关地址是否正确网络是否能 ping 通TCP 502 端口是否开放防火墙是否阻断。3. 第三步配置通信参数对于 Modbus RTU需要配置串口参数。常见参数包括参数示例波特率9600 / 19200 / 115200数据位8校验位None / Even / Odd停止位1从站地址1超时时间1000 ms轮询间隔1000 ms例如Baud Rate: 9600 Data Bits: 8 Parity: None Stop Bits: 1 Slave ID: 1对于 Modbus TCP需要配置参数示例IP 地址192.168.1.100端口502Unit ID1超时时间1000 ms轮询间隔1000 ms4. 第四步配置寄存器地址根据设备说明书配置寄存器地址。例如一个电表说明书中可能写数据点功能码寄存器地址数据类型比例系数电压0340001UInt160.1电流0340002UInt160.01有功功率0340003Int320.1频率0340005UInt160.01在工业网关中可以配置成数据点点位名称Voltage 功能码03 寄存器地址40001 数据类型UInt16 比例系数0.1 单位V5. 第五步测试读取数据配置完成后需要测试是否能读取到数据。如果读取成功可能看到类似数据{Voltage:230.5,Current:12.36,Power:2850.4,Frequency:50.01}如果读取失败需要检查接线是否正确串口参数是否一致从站地址是否正确功能码是否正确寄存器地址是否正确设备是否正常供电是否有多个主站同时访问RS-485 总线是否存在干扰。6. 第六步上传到云平台工业网关采集到数据后可以通过 MQTT 或 HTTP 上传到云平台。例如使用 MQTT 上传Topic: factory/gateway001/dataPayload 示例{gateway_id:gateway001,timestamp:1714300000,data:{Voltage:230.5,Current:12.36,Power:2850.4,Frequency:50.01}}云平台收到后可以进行数据存储实时曲线展示报表统计阈值告警设备状态监控远程运维管理。十二、一个完整的工业网关采集示例假设现场有一台智能电表支持 Modbus RTU。目标是通过工业网关采集电表数据并上传到云平台。1. 现场设备信息项目内容设备类型智能电表通信协议Modbus RTU接口RS-485从站地址1波特率9600数据位8校验位None停止位12. 寄存器表数据点功能码地址数据类型比例系数单位电压0340001UInt160.1V电流0340002UInt160.01A功率0340003Int320.1W频率0340005UInt160.01Hz3. 工业网关采集配置可以将网关配置成以下点位Device Name: Meter001 Protocol: Modbus RTU Slave ID: 1 Baud Rate: 9600 Data Bits: 8 Parity: None Stop Bits: 1数据点配置Voltage: Function Code: 03 Address: 40001 Data Type: UInt16 Scale: 0.1 Current: Function Code: 03 Address: 40002 Data Type: UInt16 Scale: 0.01 Power: Function Code: 03 Address: 40003 Data Type: Int32 Scale: 0.1 Frequency: Function Code: 03 Address: 40005 Data Type: UInt16 Scale: 0.014. 采集结果网关采集后可以得到如下数据{Meter001.Voltage:230.5,Meter001.Current:12.36,Meter001.Power:2850.4,Meter001.Frequency:50.01}5. 上传到云平台网关可以通过 MQTT 上传Topic: factory/site001/meter001/dataPayload{device:Meter001,timestamp:1714300000,values:{Voltage:230.5,Current:12.36,Power:2850.4,Frequency:50.01}}最终用户可以在云平台看到实时电压实时电流实时功率历史趋势曲线异常告警能耗报表。十三、Modbus 常见故障排查在实际项目中Modbus 通信经常会遇到一些问题。下面列出常见问题和排查方向。1. 完全通信不上可能原因A/B 线接反串口参数不一致从站地址错误设备未上电RS-485 接线松动网关串口选择错误多个设备地址冲突Modbus TCP 的 IP 或端口错误。排查建议1. 确认设备供电正常 2. 确认接线正确 3. 确认串口参数一致 4. 确认 Slave ID 正确 5. 使用调试工具单独测试 6. 查看网关日志2. 只能读到部分数据可能原因某些寄存器地址错误功能码不匹配读取长度超出范围设备不支持连续读取某些寄存器需要特殊权限数据类型配置错误。排查建议分段读取寄存器先读取单个点位再逐步增加点位数量。3. 读到的数据明显不对例如实际温度28.5℃ 读取结果285这种情况可能是比例系数未配置。再例如实际功率1200 W 读取结果1.34E-38这种情况可能是数据类型或字节序错误。排查方向检查数据类型检查比例系数检查字节序检查寄存器地址是否偏移检查是否需要读取两个寄存器。4. 通信不稳定可能原因RS-485 线缆质量差现场电磁干扰强总线过长设备太多轮询间隔太短超时时间设置不合理缺少终端电阻接地不合理。排查建议降低波特率增加轮询间隔检查屏蔽线和接地减少单条总线设备数量必要时增加 RS-485 中继器检查终端电阻是否合理。5. 多设备通信时部分设备失败可能原因从站地址重复某些设备串口参数不同总线负载过高设备响应速度不同轮询超时时间太短。排查建议先单独连接每个设备测试再逐个加入总线。十四、Modbus 的安全问题传统 Modbus 协议本身并不具备完善的安全机制。例如没有加密没有身份认证没有权限控制容易被抓包分析不适合直接暴露在公网。因此在实际项目中不建议将 Modbus TCP 设备直接暴露到互联网。更推荐的方式是现场设备 → Modbus → 工业网关 → VPN / TLS / MQTT over TLS → 云平台安全建议包括不要将 Modbus TCP 502 端口直接暴露公网使用 VPN 或专线访问现场设备使用工业防火墙限制访问来源使用网关进行协议转换上云通信使用 TLS/SSL做好账号、权限和访问控制保留通信日志和操作日志。十五、Modbus、MQTT、工业网关之间的关系很多初学者容易混淆 Modbus 和 MQTT。其实它们通常解决不同层面的问题。协议 / 设备主要作用Modbus现场设备数据采集MQTT数据上云和消息通信工业网关协议转换、数据采集、边缘处理、联网传输典型架构如下现场设备层 PLC / 仪表 / 电表 / 传感器 通信采集层 Modbus RTU / Modbus TCP 边缘网关层 工业网关采集、解析、转换、缓存 云端通信层 MQTT / HTTP / HTTPS 应用平台层 云平台、Web 后台、手机 App、数据大屏可以用一句话理解Modbus 负责把现场设备数据读出来MQTT 负责把数据上传到云平台工业网关负责把两者连接起来。十六、工业物联网中的典型应用场景Modbus 工业网关在很多工业物联网场景中都很常见。1. 能耗监测工业网关通过 Modbus 采集电表数据电压电流功率功率因数用电量。然后上传到云平台用于能耗分析和报表统计。电表 → Modbus RTU → 工业网关 → MQTT → 能耗平台2. 环境监测采集温湿度、压力、液位、气体浓度等数据。温湿度传感器 / 压力传感器 → Modbus RTU → 工业网关 → 云平台3. 水处理系统采集水泵、流量计、液位计、PH 计、阀门状态等数据。水处理仪表 → Modbus → 工业网关 → 远程监控平台4. 工厂设备监控采集 PLC、变频器、生产线设备数据。PLC / 变频器 → Modbus TCP / RTU → 工业网关 → 工业互联网平台5. 光伏和储能系统采集逆变器、电表、储能设备、环境监测仪数据。逆变器 / 电表 / 储能设备 → Modbus → 网关 → 能源管理平台十七、学习 Modbus 的建议对于初学者来说学习 Modbus 可以按照以下顺序1. 理解主站和从站 2. 理解 Modbus RTU 和 Modbus TCP 3. 理解 RS-485 接线 4. 理解寄存器和功能码 5. 学会看设备寄存器表 6. 学会配置采集点位 7. 学会处理数据类型、比例系数和字节序 8. 学会使用调试工具测试 9. 学会排查通信问题 10. 学会通过网关上传云平台常用调试工具包括Modbus PollModbus SlaveQModMasterModScan串口调试助手Wireshark工业网关自带诊断工具。十八、总结Modbus 是工业现场非常常见的通信协议广泛应用于 PLC、仪表、电表、传感器、变频器、RTU 等设备的数据采集和控制。本文介绍了 Modbus 的核心概念Modbus 是什么一种工业通信协议主站 Master主动发起请求的一方从站 Slave被动响应请求的一方Modbus RTU基于 RS-485 / RS-232 的串口通信Modbus TCP基于以太网和 TCP/IP 的通信方式寄存器设备数据存放的位置功能码表示读取或写入操作数据类型、比例系数、字节序决定数据能否正确解析。在工业物联网系统中Modbus 通常用于现场设备采集而工业网关负责将这些数据转换并上传到云平台。典型结构如下PLC / 仪表 / 电表 / 传感器 ↓ Modbus RTU / Modbus TCP ↓ 工业网关 ↓ MQTT / HTTP / HTTPS ↓ 云平台 ↓ Web 后台 / 手机 App / 数据大屏可以简单记住Modbus 解决“现场设备如何通信和采集数据”的问题工业网关解决“如何把现场数据转换并上传云平台”的问题MQTT / HTTP 解决“如何把数据传输到云端应用”的问题。掌握 Modbus 后就能更好地理解工业物联网项目中设备接入、数据采集、网关配置和云平台监控的完整流程。下一篇预告在下一篇文章中我们可以继续介绍《什么是工业网关它在物联网系统中到底有什么作用》下一篇将重点讲解工业网关是什么工业网关和普通路由器有什么区别工业网关如何连接 PLC、传感器和云平台协议转换、边缘计算、远程运维是什么意思为什么工业物联网系统离不开工业网关。

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

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

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…