OPCUA,OPCDA与MODBUS学习笔记
MODBUS与OPC之间的关系是什么?
前言
OPC协议(OLE for Process Control,即过程控制的OLE)是一种标准化的通信协议,旨在帮助不同厂商的设备、控制系统和软件之间进行数据交换。OPC协议的目标是提供一种统一的接口,使得各种不同品牌、类型的硬件设备可以方便地与上层软件(如SCADA系统、HMI界面、监控系统等)进行无缝对接。
OPC协议最初由Microsoft和一批工业自动化厂商合作开发,基于Windows平台,目的是为了解决传统工业控制系统中不同硬件和软件之间的兼容性问题。OPC协议如今已经发展出了多个版本,最常见的包括:
- OPC DA(Data Access):主要用于实时数据的获取和传输。
- OPC HDA(Historical Data Access):用于历史数据的存储和查询。
- OPC A&E(Alarms & Events):用于报警和事件的处理。
- OPC UA(Unified Architecture):是一种更为现代化的协议,具有更强的安全性、跨平台支持和灵活的数据模型。
Modbus协议是一种非常经典的工业通信协议,由Modicon公司(现为施耐德电气)在1979年开发。Modbus最初设计用于工业设备之间的通信,尤其是在可编程逻辑控制器(PLC)与其他设备(如传感器、执行器)之间的数据传输。Modbus协议是一种简单、易于实现的协议,因此它被广泛应用于各种工业自动化系统中。
Modbus协议有多种实现方式,常见的包括:
- Modbus RTU(Remote Terminal Unit):基于串行通信(如RS-232或RS-485)实现的数据传输方式。
- Modbus TCP:基于以太网协议的Modbus实现方式,适用于网络环境中的设备通信。
- Modbus ASCII:以ASCII码格式传输数据的Modbus协议形式,较少使用。
1. OPC协议与Modbus协议的主要区别
1.1 协议类型与通信模式
OPC协议:OPC协议是一种高级协议,它通常在软件层面工作,作为设备和控制系统之间的桥梁,主要用于不同厂商设备的互联互通。OPC协议支持多种通信模式,如客户端/服务器模式,并且可以处理更复杂的数据交换。OPC协议可以处理实时数据、历史数据、报警数据等多种类型的数据。
Modbus协议:Modbus协议是一种低级协议,它更注重设备之间的直接通信。Modbus通常用于设备和PLC之间的点对点通信,适用于较为简单的控制和数据传输。Modbus通常使用主从模式(Master/Slave),即一个主设备(通常是PLC或控制系统)与多个从设备(如传感器、执行器)进行通信。
1.2 数据传输的复杂性
OPC协议:OPC协议支持复杂的数据结构,能够传输实时数据、历史数据、报警信息、事件信息等。它允许在同一协议下处理多种类型的数据,并提供丰富的功能接口,适用于复杂的工业自动化系统。
Modbus协议:Modbus协议的数据结构较为简单,主要用于传输基本的数据类型(如整数、浮点数、开关量等)。它的数据模型比较简单,通常只支持设备的状态信息和控制指令,适合用于简单的设备之间的控制和监测。
1.3 设备支持与兼容性
OPC协议:OPC协议的最大优势之一是它的广泛兼容性。它支持不同厂家、不同品牌的设备和软件之间的数据交换,通常用于系统集成和软件层面的数据交换。OPC协议能够连接多种工业设备,如PLC、传感器、变频器、机器人等,不同设备之间通过OPC接口可以无缝地进行数据交换。
Modbus协议:Modbus协议通常用于设备与设备之间的通信,特别是在PLC和各种现场设备(如传感器、执行器)之间的通信。Modbus的兼容性也很好,但它通常需要特定的硬件接口(如RS-485串口、以太网等)才能正常工作。
1.4 安全性
OPC协议:OPC协议特别是在OPC UA版本中,安全性较强。OPC UA内置了加密、认证和授权等安全功能,适合用于大规模、分布式的工业自动化系统,确保数据交换的安全性和可靠性。
Modbus协议:Modbus协议本身并没有内置安全功能,数据传输过程中的安全性较差,容易受到网络攻击和篡改。因此,在使用Modbus时,通常需要额外的安全措施,如VPN、防火墙等。
1.5 跨平台支持
OPC协议:OPC UA支持跨平台运行,可以在不同操作系统(如Windows、Linux、Android等)上运行,适应更为复杂的现代工业环境。
Modbus协议:Modbus协议本身是基于硬件接口(如串口、以太网等)工作的,因此它并不依赖于操作系统,通常在设备层面实现,但它对于跨平台支持的灵活性较低,主要是在本地网络或专用设备间使用。
2. OPC
OPC(Open Platform Communications,以前称为 OLE for Process Control)是一组软件技术,为控制各种设备和交换数据提供单一、统一的接口。OPC 规范由国际非营利组织 OPC 基金会制定,该组织于 1994 年由领先的工业自动化产品制造商制定。创建 OPC 的目标是为工程师提供一个通用接口来控制各种设备。
通过实现对 OPC 客户端的支持,SCADA 系统开发人员摆脱了为各种设备支持数百个驱动程序的需要,设备制造商通过添加 OPC 服务器,确信他们的产品可以被任何 SCADA 系统的用户使用。
OPC 技术包括多个标准,这些标准描述了用于特定目的的一组功能。
2.1 OPC现行标准
- **OPC DA(数据访问)**是最常见的标准,它描述了一组与 PLC、DCS、HMI、CNC 和其他设备进行实时数据交换的功能。
- OPC HDA(历史数据访问)提供对已保存数据和历史的访问。
- OPC AE(警报和事件)为各种事件提供按需通知功能:紧急情况、操作员操作、信息消息等。
- OPC Batch提供工艺过程的步骤和配方控制功能。
- **OPC DX (Data eXchange)**提供通过以太网在 OPC 服务器之间组织数据交换的功能。该标准的主要目的是为来自不同制造商的设备和程序之间的数据交换创建网关。
- OPC 安全定义了组织客户端对 OPC 服务器数据的访问权限的功能。
- **OPC XML-DA(XML 数据访问)**提供了一种灵活的、规则驱动的格式,用于通过 XML、SOAP 和 HTTP 交换数据。
- OPC 复杂数据是一组针对 OPC DA 和 XML-DA 的附加规范,允许服务器处理复杂数据类型,例如二进制结构和 XML 文档。
- OPC 命令是一组编程接口,允许 OPC 客户端和服务器识别、发送和控制在控制器或 I/O 模块中执行的命令。
- **OPC UA(统一架构)**是不基于 Microsoft COM 技术的最新规范,它提供了跨平台兼容性。
最普遍的标准是 OPC DA,但它有一个明显的缺点。在其发展时,它建立在当时的现代 Windows 技术之上:OLE、ActiveX、COM/DCOM,但此后行业发生了变化,其他操作系统和技术也开始流行。因此,使 OPC 技术独立于平台,并在开放的跨平台技术上开发了 OPC UA(统一架构)标准。
通常,OPC 技术用于在控制器和 SCADA 系统之间交换数据,但也可以在过程控制系统的不同级别组织复杂的系统。
OPC 由两部分组成:OPC 客户端和 OPC 服务器。OPC 服务器软件通过现场总线通过设备驱动程序轮询各种设备。OPC 客户端软件通常内置于 SCADA 系统中,旨在从 OPC 服务器接收数据。
在这里,我们可以将 ACS 的几个级别可视化:
- 较低的级别是现场总线和单独的控制器
- 中间层是店铺网络
- APCS 级别是 SCADA 类型系统的操作级别
- MICS级别是企业资源管理应用、ERP、MES的级别
这些层中的每一层都可以由 OPC 服务器提供服务,将数据提供给更高层的 OPC 客户端或相邻设备。
2.2 OPC DA 服务器的工作原理
OPC DA 服务器在客户端程序(通常是 SCADA 系统)和终端设备之间提供数据交换(写入和读取)。OPC 中的数据是具有某些属性的标签变量。变量可以是 OLE 中允许的任何类型:各种整数和实数类型、布尔值、字符串、日期、数组等。属性可以是必需的、推荐的或自定义的。
必需的变量属性:
- 变量的当前值、它的类型和访问权限(读和/或写)。
- 变量的质量取决于超出动态范围的测量值、数据缺失、通信错误和其他参数。通常采用值:好/- 坏/不确定和附加信息。
- 该时间戳报告时可变收到的给定值的时间。
- OPC 服务器轮询变量的频率设置了更新变量值的时间。
- 变量描述,其中包含有关此变量是什么的用户信息。
此外,可以指定可选属性,例如:值变化范围、测量单位和其他自定义参数。
可以使用多种模式从 OPC 服务器读取数据:
- 同步模式:客户端向服务器发送请求并等待它的响应。
- 异步模式:客户端发送请求并立即继续执行其他任务。处理完请求后,服务器向客户端发送通知,客户端获取提供的数据。
- 订阅模式:服务器只向客户端发送发生变化的标签。为了防止数据的噪声被误认为它们的变化,引入了“死区”的概念,它稍微超过了干扰的最大可能幅度。
- 数据刷新模式:客户端调用所有活动标签的同时读取。除了那些被指定为“被动”的标签外,所有标签都被称为主动标签。标签的这种划分通过更新从物理设备接收到的数据来减少处理器的负载。
客户端从缓冲区或直接从终端设备接收来自 OPC 服务器的数据。从缓冲区读取速度更快,但其中的数据在读取时可能已过期。OPC 服务器通过从终端设备请求信息来定期更新数据。
数据以同步或异步模式写入终端设备,无需中间缓冲。在同步模式下,客户端写入数据并等待,直到收到终端设备对命令执行的确认。此过程可能需要很长时间,在此期间客户端正在等待。异步模式允许客户端向服务器发送请求并执行其他任务。录制结束后,服务器会向客户端发送通知。
2.3 OPC UA 标准
**OPC UA(统一架构)**是工业网络中数据传输的现代标准。它提供设备之间安全可靠的通信,同时独立于硬件和平台,允许不同操作系统的设备之间进行通信。
OPC UA 的优势在于面向对象的信息模型,它允许“查看”数据(以 Web 浏览器样式)和面向服务的架构 (SOA)。如果之前您必须使用多个 OPC 服务器:用于实时数据的 OPC DA、用于历史的 OPC HDA 和用于事件的 OPC AE,现在所有这些以及更多功能都可以在一个 OPC UA 标准中使用。现在引入了节点或对象的概念,而不是标签树。每个节点包括一个真实对象的变量、方法和其他数据结构。
数据交换现在通过二进制结构和 XML 文档进行。除了客户端/服务器模型,发布者/订阅者模型变得可用。该标准还定义了一种机制来支持冗余(如果一个客户端变得不可用,那么另一个客户端会取代它)并在发生故障时快速恢复通信。数据传输通过传输层 TCP、HTTP/SOAP 或 HTTPS 进行。OPC UA 支持数字证书和加密传输数据的能力,而不是 Windows 访问控制机制。
通过特殊的包装器和代理模块实现了与 OPC DA 的向后兼容性。为了通过路由器和防火墙传输数据,OPC DA 需要使用中间件,而 OPC UA 在没有这种介质的情况下工作。OPC UA 规范包括几个部分,描述了服务器和客户端的操作逻辑。IEC 62541 标准中提供了该规范的详细版本。
3. Modbus
Modbus协议是一种广泛应用于工业自动化和物联网(IoT)领域的通信协议,用于设备间的数据交换。结合Qt框架,开发者可以便捷地实现Modbus客户端或服务器功能。以下是Modbus协议的核心概念及Qt中的实现方法:
3.1 协议类型
Modbus支持三种传输模式:
-
RTU(远程终端单元):二进制数据格式,传输效率高,常用于串口通信(如RS485)。
-
TCP/IP:基于网络传输,适用于以太网环境,使用标准端口50238。
-
ASCII:文本格式,可读性强但效率较低。
- 通信结构
-
主从模式:主设备(Master)发起请求,从设备(Slave)响应。
-
寄存器类型:包括线圈(Coils)、离散输入(Discrete Inputs)、输入寄存器(Input Registers)和保持寄存器(Holding Registers),用于存储不同类型数据38。
- 数据帧格式
包含设备地址、功能码、数据字段和校验码(如CRC)。例如,读取保持寄存器的请求帧格式为:[地址][功能码][起始地址][寄存器数量][CRC]。
3.2 Qt中使用Modbus的实现方式
Qt通过Qt Serial Bus
模块提供对Modbus的支持,包含以下核心类:
- QModbusClient:客户端的基类,支持TCP和RTU模式。
- QModbusTcpClient:用于TCP通信。
- QModbusRtuSerialMaster:用于RTU串口通信。
- QModbusDataUnit:封装读写操作的数据单元8。
实现步骤
- 环境配置
-
在Qt项目文件(.pro)中添加模块依赖:QT += serialbus。
-
包含头文件:#include 或#include 。
- 连接设备
QModbusTcpClient *client = new QModbusTcpClient(this);
client->setConnectionParameter(QModbusDevice::NetworkAddressParameter, "192.168.1.10");
client->setConnectionParameter(QModbusDevice::NetworkPortParameter, 502);
if (!client->connectDevice()) {qDebug() << "连接失败";
}
- 读写寄存器
读取寄存器示例:
QModbusDataUnit readUnit(QModbusDataUnit::HoldingRegisters, 0, 10); // 起始地址0,读10个寄存器
QModbusReply *reply = client->sendReadRequest(readUnit, 1); // 从站地址1
connect(reply, &QModbusReply::finished, this, &MainWindow::handleReadResponse);
写入寄存器示例:
QModbusDataUnit writeUnit(QModbusDataUnit::HoldingRegisters, 0x02, 1); // 地址0x02,写1个值
writeUnit.setValue(0, 3); // 设置写入值为3
client->sendWriteRequest(writeUnit, 1);
- 处理响应
通过信号槽机制异步处理回复:
void MainWindow::handleReadResponse() {auto reply = qobject_cast<QModbusReply*>(sender());if (reply->error() == QModbusDevice::NoError) {QModbusDataUnit data = reply->result();qDebug() << "读取数据:" << data.values();}reply->deleteLater();
}
核心功能模块优化
线程管理
- Modbus操作需在同一线程中完成。可通过moveToThread将业务逻辑封装到子线程,避免阻塞主线程1。
心跳检测与自动重连
- 使用定时器定期发送心跳包(如读取固定寄存器)。
- 若连接断开,启动重连机制(如间隔2秒重试)4。
错误处理
- 检查QModbusReply的error()属性,处理超时、校验失败等问题。
- 记录日志,方便调试通信异常。
常见问题及解决方案
通信不稳定
原因:线路干扰、参数配置错误(如波特率不匹配)。
解决:检查物理连接,使用屏蔽线缆;确保主从设备参数一致8。
数据异常
原因:寄存器地址或数据类型错误。
解决:参考设备手册确认寄存器定义,使用工具(如Modbus Poll)调试56。
硬件兼容性
问题:串口转换器不稳定。
解决:更换高质量转换器,并确保驱动正确安装8。
扩展与资源
官方示例:Qt提供了Modbus例程(如master和slave模块),涵盖TCP和RTU实现7。
工具推荐:使用Modbus Slave模拟从设备,VSPD配置虚拟串口56。
通过结合Qt的信号槽机制和Modbus协议,开发者可以构建高效、稳定的工业控制应用。具体实现时需注意线程安全和错误处理的完备性。
相关文章:
OPCUA,OPCDA与MODBUS学习笔记
MODBUS与OPC之间的关系是什么? 前言 OPC协议(OLE for Process Control,即过程控制的OLE)是一种标准化的通信协议,旨在帮助不同厂商的设备、控制系统和软件之间进行数据交换。OPC协议的目标是提供一种统一的接口&…...
千星计划小程序开发方案
千星计划小程序开发方案 (基于2025年行业实践与系统需求) 一、核心功能架构 1.用户管理模块 用户分层管理:普通用户、达人、合伙人三级身份体系,支持身份升级审核与权限配置 实名认证与资质审核:对接公安系统…...
【RAG技术全景解读】从原理到工业级应用实践
目录 🌟 前言🏗️ 技术背景与价值🚨 当前技术痛点🛠️ 解决方案概述👥 目标读者说明 🔍 一、技术原理剖析📐 核心概念图解💡 核心作用讲解⚙️ 关键技术模块说明⚖️ 技术选型对比 &…...
20250508在WIN10下使用移远的4G模块EC200A-CN直接上网
1、在WIN10/11下安装驱动程序:Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip 2、使用移远的专用串口工具:QCOM_V1.8.2.7z QCOM_V1.8.2_win64.exe 3、配置串口UART42/COM42【移远会自动生成连续三个串口,最小的那一个】 AT命令…...
室内无人机自主巡检解决方案-自主方案
室内无人机自主巡检解决方案-自主方案 AIBOX-基于离线地图的LIO室内3D空间位置服务...
SpringCloud服务拆分:Nacos服务注册中心 + LoadBalancer服务负载均衡使用
SpringCloud中Nacos服务注册中心 LoadBalancer服务负载均衡使用 前言Nacos工作流程nacos安装docker安装window安装 运行nacos微服务集成nacos高级特性1.服务集群配置方法效果图模拟服务实例宕机 2.权重配置3.环境隔离 如何启动集群节点本地启动多个节点方法 LoadBalancer集成L…...
视频编解码学习9之照相机历史
照相机的发展历史可以追溯到19世纪初,至今已有200多年。以下是照相机技术演进的主要阶段和里程碑: 1. 早期探索阶段(1820s-1880s) 1826年:法国人尼埃普斯(Nicphore Nipce)用沥青感光法拍摄《窗…...
物流无人机自动化装卸技术解析!
一、自动化装卸技术模块的技术难点 1. 货物多样性适配 物流场景中货物包装类型、尺寸、材质差异大,如农产品、医疗物资、工业设备等,要求装卸模块具备高度柔性化设计。例如,单元货物需视觉识别系统进行单个抓取,而整托货物需大…...
图形渲染+事件处理最终版
基于之前做的项目图形移动处理-CSDN博客添加了相机,透视投影,鼠标控制图形旋转。虽然个人感觉这个项目用的是一个二维的三角形,给他加透视投影和相机意义不大,因为透视投影是近大远小,我这个程序设置了放大缩小的限制&…...
前端三大件---CSS
目录 一、CSS 概述 二、引入 CSS 的三种方式 2.1 内联样式 2.2 内部样式表 2.3 外部样式表 三、CSS 选择器 3.1 ID 选择器 3.2 class 选择器 3.3 标签选择器 3.4 通配选择器 3.5 分组选择器 3.6 层级选择器 3.7 属性选择器 3.8 伪类选择器 3.9 同辈选择器 四、…...
蓝桥杯FPGA赛道第二次模拟题代码
一、顶层文件 module test( input wire sys_clk, input wire sys_rst, input wire [3:0]key_in, output reg [7:0]led,output wire scl, inout wire sda,//i2c的信号output wire [7:0]sel, output wire [7:0]seg//数码管的驱动 );wire [23:0] data ; reg [31:0] dsp_dat…...
keep the pipe Just full But no fuller - BBR 与尘封 40 年的求索
推荐一部短视频 Keep the pipe just full, but no fuller,作者就是大名鼎鼎的 L. Kleinrock,现代分组交换网的奠基人,这里有关于他这个人的介绍: https://www.lk.cs.ucla.edu/index.html https://en.wikipedia.org/wiki/Leonard…...
《React Native热更新实战:用Pushy打造无缝升级体验》
《React Native热更新实战:用Pushy打造应用“空中加油”,实现无缝升级体验》 写在前面:当你的APP需要"空中加油"时… 想象一下这样的场景:凌晨2点,你的React Native应用刚上线就爆出重大BUG,用户差评如潮水般涌来,应用商店审核至少需要3天…此刻你多么希望能…...
【开源解析】基于Python的智能文件备份工具开发实战:从定时备份到托盘监控
📁【开源解析】基于Python的智能文件备份工具开发实战:从定时备份到托盘监控 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码࿰…...
第四章:基于langchain构造一个完整RAG系统
文章目录 引言一、RAG的基本原理1.1 什么是RAG?1.2 RAG的应用场景 二、RAG系统的构建步骤2.1 环境准备2.2 加载和处理文档2.2.1 文档加载2.2.2 文本分割 2.3 构建嵌入模型2.4 创建向量存储与检索器2.5 检索与生成2.5.1 检索相关文档2.5.2 生成答案 三、完整代码示例…...
uniapp|实现多终端视频弹幕组件、内容轮询、信息表情发送(自定义全屏半屏切换、弹幕启用)
基于UniApp框架实现跨终端视频弹幕组件的开发,结合CSS3动画与setInterval轮询机制,完成弹幕从右向左的动态滚动效果,针对交互需求,设计弹幕启用开关、全屏/半屏模式切换功能,并利用cover-view组件解决原生层级覆盖问题。 目录 引言视频弹幕的交互价值与多终端适配需求Un…...
数据结构(四)——栈的应用—数制转换
利用栈进行数制转换: 十进制转换八进制:先将十进制数除以八得到余数,余数入栈,然后将得到的商继续除以八,直到商为零 #include <stdio.h> #include <stdlib.h>#define MAXSIZE 100//数制转换//定义链表节…...
flinksql bug : Max aggregate function does not support type: CHAR
这个问题是flink中 CHAR 存在语义歧义,主要涉及到位数的关系,这里不做多讨论。 这个问题已经有人提了pr,新版本可以关注是否有解决 这个报错发生在 max(测试字段) ,这个测试字段如果是char 就会报错不支持 解决办法:…...
解决社区录音应用横屏状态下,录音后无法播放的bug
最近看到社区有小伙伴反映,社区录音应用横屏时,录音后无法播放的问题。现分享解决办法。 社区录音应用的来源:https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-5.0.2-Release/code/SystemFeature/Media/Recorder …...
【MySQL】存储引擎 - InnoDB详解
📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…...
软件工程之形式化说明技术深度解析
按照形式化的程度,可以把软件工程使用的方法划分成非形式化、半形式化和形式化3种。用自然语言描述需求规格说明书,是典型的非形式化方法。用数据流图或实体-联系图建立模型,是典型的半形式化方法。 所谓形式化方法,是描述系统性…...
Nacos源码—6.Nacos升级gRPC分析一
大纲 1.Nacos 2.x版本的一些变化 2.客户端升级gRPC发起服务注册 3.服务端进行服务注册时的处理 4.客户端服务发现和服务端处理服务订阅的源码分析 1.Nacos 2.x版本的一些变化 变化一:客户端和服务端的交互方式由HTTP升级为gRPC Nacos 1.x服务端会提供一系列的…...
使用 React 实现语音识别并转换功能
在现代 Web 开发中,语音识别技术的应用越来越广泛。它为用户提供了更加便捷、自然的交互方式,例如语音输入、语音指令等。本文将介绍如何使用 React 实现一个简单的语音识别并转换的功能。 功能概述 我们要实现的功能是一个语音识别测试页面࿰…...
2.5 点云数据存储格式——大型点云传输格式
通常,进行大型点云数据传输时,一般采用一种后缀为bin的文...
Windows系统下使用Kafka和Zookeeper,Python运行kafka(一)
下载和安装见Linux系统下使用Kafka和Zookeeper 配置 Zookeeper Zookeeper 是 Kafka 所依赖的分布式协调服务。在 Kafka 解压目录下,有一个 Zookeeper 的配置文件模板config/zookeeper.properties,你可以直接使用默认配置。 启动 Zookeeper 打开命令提示符(CMD),进入 K…...
数据结构(三)——栈和队列
一、栈和队列的定义和特点 栈:受约束的线性表,只允许栈顶元素入栈和出栈 对栈来说,表尾端称为栈顶,表头端称为栈底,不含元素的空表称为空栈 先进后出,后进先出 队列:受约束的线性表࿰…...
零基础入门Hadoop:IntelliJ IDEA远程连接服务器中Hadoop运行WordCount
今天我们来聊一聊大数据,作为一个Hadoop的新手,我也并不敢深入探讨复杂的底层原理。因此,这篇文章的重点更多是从实际操作和入门实践的角度出发,带领大家一起了解大数据应用的基本过程。我们将通过一个经典的案例——WordCounter&…...
在Postman中高效生成测试接口:从API文档到可执行测试的完整指南
引言 在API开发与测试流程中,Postman是一款高效的工具,能将API文档快速转化为可执行的测试用例。本文以《DBC协议管理接口文档》为例,详细讲解如何通过Postman实现接口的创建、配置、批量生成及自动化测试,帮助开发者和测试人员提升效率,确保接口质量。 一、准备工作:理…...
飞云分仓操盘副图指标操作技术图文分解
如上图,副图指标-飞云分仓操盘指标,指标三条线蓝色“首峰线”,红色“引力1”,青色“引力2”,多头行情时“首峰线”和“引力1”之间显示为红色,“引力1”和“引力2”多头是区间颜色显示为紫色。 如上图图标信…...
K8s中的containerPort与port、targetPort、nodePort的关系:
pod中的containerPort与service中的port、targetPort、nodePort的关系: 1、containerPort为pod的配置,对应pod内部服务监听的具体端口,例如nginx服务默认监听80端口,那么nginx的pod的containerPort应该配置为80,例如m…...
jquery+ajax+SpringBoot实现前后端分离技术
一、前端方面: 第1步,在前端HTML页面的头部引入jquery <head><meta http-equiv"Content-Type" content"text/html;charsetUTF-8"><title>XXX</title><link rel"stylesheet" type"text/…...
阀门产业发展方向报告(石油化工阀门应用技术交流大会)
本文大部分内容来自中国通用机械工业协会副会长张宗列在“2024全国石油化工阀门应用技术交流大会”上发表的报告。 一、国外阀门产业发展 从全球阀门市场分布看,亚洲是最大的工业阀门市场,美洲是全球第二大工业阀门市场,欧洲位列第三。 从国…...
华为云Astro后端开发中对象、事件、脚本、服务编排、触发器、工作流等模块的逻辑关系如何?以iotDA数据传输过程举例演示元素工作过程
目录 🏭 类比总览:低代码平台就像一座自动化工厂 🧱 1. 对象(Object) = 工厂里的“原材料仓库” 🧱 2. 结构体(Structure) = 自定义的“装配模具” 🔔 3. 事件(Event) = 触发的“感应器” ✍️ 4. 脚本(Script) = 后台的“逻辑处理代码” ⚙️ 5. 服务编…...
面向小型企业顶点项目的网络安全咨询人机协作框架
1. 简介 1.1. 背景和动机 由于小型企业无法访问结构化系统,且缺乏大型组织通常拥有的专用资源,它们经常面临巨大的网络安全挑战 [ [1 ]。为大型企业设计的网络安全框架通常对小型企业来说过于复杂且不切实际,导致它们容易受到复杂的网络威胁 2 ]。这种复杂性可能导致小型…...
RSAC 2025观察:零信任+AI=网络安全新范式
2025年4月28日~5月1日,全球最具影响力的网络安全盛会RSAC 2025在美国旧金山举办,吸引了全球44,000名网络安全从业者参与。大会以“Many Voices. One Community.”为主题,聚焦AI安全、供应链风险、零信任等核心议题。其中,AI Agent…...
ruoyi-flowable-plus 前端框架启动报错修复
版本 1. ruoyi-flowable-plus 前端框架启动报错修复 启动时设置环境变量 "scripts": {"dev": "SET NODE_OPTIONS--openssl-legacy-provider && vue-cli-service serve","build:prod": "vue-cli-service build",&qu…...
安全可控·高效响应|北峰智能互通矿业通信系统解决方案
项目概况 随着矿业行业工作环境日益复杂,涵盖地下开采、露天挖掘、矿物运输及深加工等多个环节,作业区域呈现广阔且分散的特点,往往存在诸多安全风险。当面临突发事故,由于应急救援体系不完善,救援通信系统相对落后&a…...
ubuntu查看安装的软件包的位置
在 Ubuntu 中,libcli11-dev 是一个 头文件库(header-only),因此它不会像动态库(.so 文件)那样有明确的下载路径。但你可以通过以下方法查看它的安装位置: 1. 查看 libcli11-dev 安装的文件 使用…...
【金仓数据库征文】金仓数据库 KES 助力企业数据库迁移的实践路径
在企业数字化转型浪潮的强力推动下,数据库迁移已成为企业升级 IT 架构、提升数据管理能力的关键环节。从 MySQL 到金仓数据库 KingbaseES(KES)的迁移方案,为企业提供了一条高效、可靠的数据库升级路径。 一、迁移挑战与金仓数据…...
Nginx1.26.2安装包编译安装并配置stream模块
准备nginx安装文件:nginx-1.26.2.tar.gz cd /usr/local wget http://nginx.org/download/nginx-1.26.2.tar.gz tar -zxvf nginx-1.26.2.tar.gz && cd nginx-1.26.2 1.创建安装目录 mkdir nginx 2.解压安装文件nginx-1.26.2.tar.gz tar -zxvf nginx-1.26…...
kotlin @JvmStatic注解的作用和使用场景
1. JvmStatic 的作用 JvmStatic 是 Kotlin 提供的一个注解,用于在 JVM 上将伴生对象(companion object)中的方法或属性暴露为 Java 静态方法或字段。 作用对象:只能用在 companion object 中的函数或属性。效果: 在 …...
Blind SSRF with Shellshock exploitation过关
Blind SSRF with Shellshock exploitation 生活就像一杯咖啡,苦与甜都是必需的,关键是要学会享受每一口。 先说通关方法: 1.首先在bp的扩展商店安装插件 Collaborator Everywhere 2.进入靶场首页 复制url https://0af600d3048daad080e6…...
2025-05-08 Unity 网络基础9——FTP通信
文章目录 1 FTP1.1 工作原理1.2 传输模式 2 搭建 FTP 服务器2.1 启用服务2.2 配置站点2.3 设置防火墙2.4 指定用户登录 3 常用 API3.1 NetworkCredential3.2 FtpWebRequest3.3 FtpWebResponse 4 实战操作4.1 上传文件4.2 下载文件4.3 删除文件4.4 获取文件大小4.5 创建文件夹4.…...
3.2.3 掌握RDD转换算子 - 5. 合并算子 - union()
在本节课中,我们学习了Spark RDD的union()算子,它能够将两个数据类型一致的RDD合并为一个新的RDD,主要用于整合不同数据源。通过案例演示,我们成功将两个简单的数字RDD合并,直观地看到合并结果是按原顺序纵向拼接&…...
数据来源合法性尽职调查:保障权益的关键防线
首席数据官高鹏律师团队 在当今数字化时代,数据已成为企业和个人最为宝贵的资产之一。然而,伴随着数据的广泛应用与流通,其来源的合法性问题愈发凸显,犹如隐藏在暗处的礁石,稍不留神就可能让涉事主体陷入法律的漩涡。…...
sui在windows虚拟化子系统Ubuntu和纯windows下的安装和使用
一、sui在windows虚拟化子系统Ubuntu下的安装使用(WindowsWsl2Ubuntu24.04) 前言:解释一下WSL、Ubuntu的关系 WSL(Windows Subsystem for Linux)是微软推出的一项功能,允许用户在 Windows 系统中原生运行…...
springmvc的入门案例
springmvc的概述 SpringMVC的概述 是一种基于Java实现的MVC设计模型的请求驱动类型的轻量级WEB框架。Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架…...
【MCP】为什么使用Streamable HTTP: 相比SSE的优势与实践指南
在现代Web开发中,实时通信已经成为许多应用的核心需求。从聊天应用到股票市场更新,从游戏服务器到AI模型通信,各种技术应运而生以满足这些需求。最近,Model Context Protocol (MCP) 引入了一种新的传输机制 —— Streamable HTTP&…...
CentOS的防火墙工具(firewalld和iptables)的使用
CentOS的防火墙工具因版本不同而异,以下是具体操作步骤: 一、firewalld(CentOS 7及以上默认工具) 1、安装与启动: 安装:sudo yum install firewalld 启动服务:sudo systemctl start fir…...
解析小米大模型MiMo:解锁语言模型推理潜力
一、基本介绍 1.1 项目背景 在大型语言模型快速发展的背景下,小米AI团队推出MiMo系列模型,突破性地在7B参数规模上实现卓越推理能力。传统观点认为32B以上模型才能胜任复杂推理任务,而MiMo通过创新的训练范式证明:精心设计的预训练和强化学习策略,可使小模型迸发巨大推理…...