IEC 61850标准协议解读 1.建模讲解

news2025/1/10 3:18:22

IEC61850协议标准和之前的101、104协议最大的区分就是在模型这里,模型可以说是一个变电站里面的智能设备的定义,里面定义了网络连接信息、数据上报方式、设备访问控制点等,所以说在不同系统的对接过程中,有了这么一个基于标准定义格式的信息模型,通过定义和实例化的方式(面向对象),那么通过这个模型我们就知道了这里所涉及的智能设备的所有信息。下面我们具体详细说一下模型的由来和模型文件的内容。第一部分和第二部分主要是在上一篇提及的书中摘录的知识点,如果看起来啰嗦可以直接从第三部分开始。

1.基础概念

  • 逻辑节点LN(Logical Node)。是 IEC 61850 标准面向对象建模的关键部件,也是面向对象概念的集中体现。变电站自动化系统各种功能和信息模型的表达都归结到逻辑节点上实现。逻辑节点的概念体现了将变电站自动化功能进行模块化分解的一种建模思路。IEC 61850标准建模的思路就是将变电站自动化系统的功能进行分解,分解的过程就是模块化处理,形成一个一个小的模块。每个逻辑节点就是一个模块,代表一个具体的功能。多个逻辑节点协同工作,共同完成变电站内的控制、保护、测量及其他功能。

  • 数据DO(Data Object)。通常一个逻辑节点包含多类信息,例如一个断路器有开关位置、跳闸闭锁等多类信息,这些信息在模型中就是数据概念的由来。

  • 数据属性DA(Data Attribute)。数据属性包含属性名、数据属性类型和值/值域三大要素。除此之外还有功能约束FC、TrgOp、M/O/C一些辅助信息。

    我理解的数据对象就是一个最小的开关(或者最小的物理的设备),这个开关的状态(现在是开还是关)、控制信息(被控开还是被控关)这样。

  • 数据集 (DataSet)。是IEC61850标准的核心概念之一,顾名思义,它是一系列“数据”的集合。按照 IEC 61850 标准定义,数据集是有序的数据引用或数据属性引用的集合。IEC 61850 标准引入数据集的目的是利用数据集对数据进行分组,以方便数据传送。变电站 IED 中存在各种数据,有的需要实时传送(如电流值、电压值、频率值等),有的可以慢些传送(如电度值、功率)。

    由于高压变电站中存在上百个IED,而网络通信带宽是有限的,如果这些数据不进行分组而一起发送,有可能会影响数据传输的实时性,甚至会造成通信堵塞。引入数据集的概念后,利用数据集可以方便地对数据进行分组和打包。例如可以将需要实时传输的数据组成一个数据集,将对传输时间要求不苛刻的数据分成另一个数据集,分别传送。

    按照变电站中“四遥”信息的分类,可以建立相应的遥测数据集和遥信数据集。下表是按照国内 IEC 61850工程实施的习惯,对微机保护装置中需要上送的数据进行总结和分类后预定义的数据集。

    IMG_3226

  • 逻辑设备LD(Logical Device)。逻辑节点中含有数据/数据属性,根据应用需要对数据/数据属性的引用进行分组后形成数据集,数据集通过报告服务向外发送(上送到客户端)。

    在逻辑节点及其内部的数据能够代表该设备在变电站自动化系统中具备哪些功能。但是除逻辑节点和数据之外,实际设备中至少还包括以下两类信息:

    1. 描述设备本身状态的相关信息,如一次设备的铭牌信息,反映物理装置运行状况的上电次数、失电告警、通信缓存区溢出等信息。

    2. 与多个逻辑节点相关的通信服务。与图3-10中的控制、取代服务不同,有些通信服务(如采样值传输、COOSE、定值服务)需要同时与多个逻辑节点发生信息交互,这些服务不能定义在某个逻辑节点内部。

    逻辑节点模型无法容纳以上两类信息,因此建模时需要增加新的组件。因此IEC 61850 标准引入了逻辑设备 LD (Logical Device)的概念。

    逻辑设备可以看作是一个包含若干逻辑节点和相关通信服务的容器。按照 IEG 61850标准的规定,所有逻辑设备都必须包含 LLNO(含有该LD的公共信息) 和LPHD (含有与物理装置本身相关的信息)两个逻辑节点

  • 服务器.

    IMG_3228

2.模型定义

3.模型配置

模型配置文件,这里值分析ICD文件(IED能力描述文件)

这部分我给出一个具体的ICD的例子展开说说,由于文件太长,我就不在这里在放了,文件我放在gitee图床上,大家可以下载下来。

3.1 配置获取方式

IMG_3232

IEC 61850包含“客户端一服务器”和“发布方一订阅者"两种通信模式。在客户端一服务器模式下,客户端要获取服务器端的数据模型,实际上有两种方式可以选择:

  1. 基于IEC 61850 配置文件的配置方式。如图3-33所示,由于SCD文件中含有全站所有服务器端装置的配置信息,因此客户端可以直接读取并解析SCD 文件来获取每个服务器的数据模型。
  2. 基于IEC 61850服务的配置方式。客户端在初始化时,通过一系列 ACSI 通信服务(如 GetServerDirectory 等),来动态读取/上召服务器端的整个分层数据模型信息。

因此,IEC61850标准为客户端提供了两种方式来获取服务器端数据模型,两种方式都能达到获得配置信息的目的,却又有着各自的特点。

IMG_3230

3.2 配置文件结构

IEC61850模型 SCL

3.3 内容详细讲解

1. 整体结构
<?xml version="1.0" encoding="utf-8"?>
<SCL>
	<Header></Header>
    <Communication></Communication>
	<IED configVersion="v1.00" desc="测控装置" manufacturer="XXXX" name="FK" type="DHJC">
        <Services>
            ... ...
        </Services>
        <AccessPoint clock="false" name="S1" desc="MMs访问点">
            <Server desc="61850" timeout="30">
                <Authentication/>
                <LDevice desc="自定义装置" inst="MONT">
                    <LN0 inst="" lnClass="LLN0" lnType="GEXIN_LLN0"></LN0>
                    <LN inst="1" lnClass="LPHD" lnType="GEXIN_LPHD"></LN>
                    <LN></LN>
                     ... ...
                    <LN></LN>
                </LDevice>
        </AccessPoint>
    </IED>
    <DataTypeTemplates>
        <LNodeType></LNodeType>
        <DOType></DOType>
        <EnumType></EnumType>
    </DataTypeTemplates>
</SCL>   
  • Header 一些历史版本信息等

  • Communication.服务器连接信息(IP/端口等,GOOSE配置等)

  • IED

    • Services.服务,描述服务的能力配置等信息
    • AccessPoint 访问点,一般分为MMS访问点、GOOSE访问点等
      • Server
        • Authentication
        • LDevice.逻辑设备,每一个IED中包含1~n个LDevice,每个逻辑设备包含一个LN0(第3部分单独说)、一个LPHD(一般就是放一些设备物理铭牌信息)和n个LN(逻辑节点)(第2部分单独说)
  • DataTypeTemplates.对象类型定义

    • LNodeType.逻辑节点的类型定义,其子节点为数据节点DO

    • DOType.数据节点DO的类型定义,其子节点为数据属性DA,数据属性的类型可以是使基本类型,复合类型(自定义类结构体)引用DAType

    • DAType.复合类型(自定义类结构体)DA的类型定义

    • EnumType.枚举类型定义

2. LN与四遥
  1. 遥信(状态类)

    <!-- 在IED中实例化 -->
    <!-- 
    	实例化逻辑节点:lnClass的GGIO是通用过程I/O,这一部分在7-4协议原文中定义,常见的还
    	有XCBP:断路器.MMXU:测量 inst是实例号 lnType引用DataTypeTemplates中LNodeType的id 
    -->
    <LN desc="遥信单点信息点位" inst="1" lnClass="GGIO" lnType="GGIO_SPS">
      	<!-- DOI:Data Object Instance -->
        <DOI name="Ind1">
          	<!-- DAI:Data Attribute Instance 这里设置一些默认值,一般是设备名称等信息 -->
            <DAI name="dU">
                <Val>110kV配电装置室1#SF6气体探测器告警</Val>
            </DAI>
        </DOI>
    </LN>
    <!-- 
    	逻辑节点类型定义:lnClass属性表示该LNodeType是在哪一种兼容逻辑节点类的基础上扩充的
    	DO的name就是数据对象的名字上面在DOI里的设置默认值时要对应好,type属性引用DOType的id
    -->
    <LNodeType desc="" id="GGIO_SPS" lnClass="GGIO">
        <DO desc="模式" name="Mod" type="CSG_INC_Mod"/>
        <DO desc="性能" name="Beh" type="CSG_INS_Beh"/>
        <DO desc="健康状况" name="Health" type="CSG_INS_Health"/>
        <DO desc="铭牌" name="NamPlt" type="CSG_LPL"/>
        <DO desc="110kV配电装置室1#SF6气体探测器告警" name="Ind1" type="CSG_SPS"/>
    </LNodeType>
    <!--
    	cdc:公用数据类这个在7-3协议原文定义,这些都是固定的像SPS(单点信息)、DPS(双点信息)等
    	DA里面的name也是在7-3中定义。
    		状态信息:stVal 位置信息true:on  false:off、q、t
    		描述信息:dU
    	fc: 功能约束,用于标识信息类型  ST:状态 MX:测量 CO:控制 BR:缓冲性报告控制块 等等
    	cdc对应的数据对象有哪些属性,属性名称name叫什么,fc是什么这些都在7-3协议原文定义好了
    	 在下面贴一下协议原文看看
    -->
    <DOType cdc="SPS" desc="单点状态信息类" id="CSG_SPS">
        <DA bType="BOOLEAN" dchg="true" fc="ST" name="stVal"/>
        <DA bType="Quality" fc="ST" name="q" qchg="true"/>
        <DA bType="Timestamp" fc="ST" name="t"/>
        <DA bType="Unicode255" fc="DC" name="dU"/>
    </DOType>
    

    image-20240806110437371

    用Java的面向对象思想转换一下就是下面的代码

    class CSG_SPS extend SPS{
      boolean stVal;
      Quality q;
      Timestamp t;
      Unicode255 dU;
    }
    class GGIO_SPS extend GGIO{
      CSG_INC_Mod Mod;
      CSG_INS_Beh Beh;
      CSG_INS_Health Health;
      CSG_LPL NamPlt;
      /* 110kV配电装置室1#SF6气体探测器告警 */
      CSG_SPS Ind1;
    }
    
    public static void main(String[] args){
      CSG_SPS Ind1 = new CSG_SPS();
      Ind1.setDU("110kV配电装置室1#SF6气体探测器告警");
      LogicalNode GGIO1 = new GGIO_SPS();//GGIO1 -> LN实例名:prefix+LnClass+inst 
      GGIO1.setInd1(Ind1);
      
      ied.addLn(GGIO1);
    }
    
  2. 遥测(测量类)

    <LN desc="遥测状态检测点位" inst="2" lnClass="GGIO" lnType="GGIO_MV">
        <DOI desc="1#温湿度-1#主变室室北面温度值" name="AnInd1">
            <DAI name="dU">
                <Val>1#温湿度-1#主变室室北面温度值</Val>
            </DAI>
        </DOI>
    </LN>
    <LNodeType desc="" id="GGIO_MV" lnClass="GGIO">
        <DO desc="模式" name="Mod" type="CSG_INC_Mod"/>
        <DO desc="性能" name="Beh" type="CSG_INS_Beh"/>
        <DO desc="健康状况" name="Health" type="CSG_INS_Health"/>
        <DO desc="铭牌" name="NamPlt" type="CSG_LPL"/>
        <DO desc="1#温湿度-1#主变室室北面温度值" name="AnInd1" type="CSG_MV"/>
    </LNodeType>
    <!--
    	 这里我刚开始也有个疑问。mag引用CSG_AnalogueValue中也是只有一个浮点数f就可以,
    	 为什么还需要单独引用定义一下,<DA bType="FLOAT32" dchg="true" fc="MX" name="mag.f"/>
    	 因为这样写就是在7-3协议原文定义的,下面贴一下图
    -->
    <DOType cdc="MV" desc="测量值" id="CSG_MV">
        <DA bType="Struct" dchg="true" fc="MX" name="mag" type="CSG_AnalogueValue"/>
        <DA bType="Quality" fc="MX" name="q" qchg="true"/>
        <DA bType="Timestamp" fc="MX" name="t"/>
        <DA bType="Struct" fc="CF" name="units" type="CSG_Units"/>
        <DA bType="Unicode255" fc="DC" name="dU"/>
    </DOType>
    <DAType id="CSG_AnalogueValue">
        <BDA bType="FLOAT32" name="f"/>
    </DAType>
    

    image-20240806153541026

  3. 遥控(控制类)

    <LN desc="可控单点信息点位" inst="3" lnClass="GGIO" lnType="GGIO_SPC">
        <DOI desc="技防系统主机通讯状态" name="Ind1">
            <DAI name="dU">
                <Val>技防系统主机通讯状态</Val>
            </DAI>
            <DAI name="ctlModel">
                <Val>direct-with-normal-security</Val>
            </DAI>
        </DOI>
    </LN>
    <LNodeType desc="" id="GGIO_SPC" lnClass="GGIO">
        <DO desc="模式" name="Mod" type="CSG_INC_Mod"/>
        <DO desc="性能" name="Beh" type="CSG_INS_Beh"/>
        <DO desc="健康状况" name="Health" type="CSG_INS_Health"/>
        <DO desc="铭牌" name="NamPlt" type="CSG_LPL"/>
        <DO desc="技防系统主机通讯状态" name="Ind1" type="CSG_SPC"/>
    </LNodeType>
    <DOType cdc="SPC" desc="可控单点" id="CSG_SPC">
        <DA bType="Struct" fc="CO" name="SBOw" type="CSG_SBOw_Oper_SDPC"/>
        <DA bType="Struct" fc="CO" name="Oper" type="CSG_SBOw_Oper_SDPC"/>
        <DA bType="Struct" fc="CO" name="Cancel" type="CSG_Cancel_SDPC"/>
        <DA bType="BOOLEAN" dchg="true" fc="ST" name="stVal"/>
        <DA bType="Quality" fc="ST" name="q" qchg="true"/>
        <DA bType="Timestamp" fc="ST" name="t"/>
        <DA bType="Enum" fc="CF" name="ctlModel" type="ctlModel"/>
        <DA bType="Unicode255" fc="DC" name="dU"/>
    </DOType>
    <DAType id="CSG_SBOw_Oper_SDPC">
        <BDA bType="BOOLEAN" name="ctlVal"/>
        <BDA bType="Struct" name="origin" type="CSG_Originator"/>
        <BDA bType="INT8U" name="ctlNum"/>
        <BDA bType="Timestamp" name="T"/>
        <BDA bType="BOOLEAN" name="Test"/>
        <BDA bType="Check" name="Check"/>
    </DAType>
    <DAType id="CSG_Cancel_SDPC">...</DAType>
    <DAType id="CSG_Originator">
        <BDA bType="Enum" name="orCat" type="orCategory"/>
        <BDA bType="Octet64" name="orIdent"/>
    </DAType>
    

    image-20240806153804210

    这里的控制参数ctlval上面在协议原文有一行字:见表39定义,表39说“服务这一部分从DL/T 860.72继承”也就是这一个块在协议7-2这里单独定义,SBOw预置,Oper执行,Cancel取消。具体的服务规范在 7-2 的20.5.3部分,可见Oper有一下数据属性

    image-20240806161208684

  4. 遥调(定值类)

    <LN desc="可控模拟量点位" inst="4" lnClass="GGIO" lnType="GGIO_APC">
        <DOI desc="3#机房空调温度值" name="AnInd1">
            <DAI name="dU">
                <Val>3#机房空调温度值</Val>
            </DAI>
            <DAI name="ctlModel">
                <Val>direct-with-normal-security</Val>
            </DAI>
        </DOI>
    </LN>
    <LNodeType desc="" id="GGIO_APC" lnClass="GGIO">
        <DO desc="模式" name="Mod" type="CSG_INC_Mod"/>
        <DO desc="性能" name="Beh" type="CSG_INS_Beh"/>
        <DO desc="健康状况" name="Health" type="CSG_INS_Health"/>
        <DO desc="铭牌" name="NamPlt" type="CSG_LPL"/>
        <DO desc="3#机房空调温度值" name="AnInd1" type="CSG_APC"/>
    </LNodeType>
    <DOType cdc="APC" desc="可控模拟量类" id="CSG_APC">
        <DA bType="Struct" fc="CO" name="SBOw" type="CSG_SBOw_Oper_APC"/>
        <DA bType="Struct" fc="CO" name="Oper" type="CSG_SBOw_Oper_APC"/>
        <DA bType="Struct" fc="CO" name="Cancel" type="CSG_Cancel_APC"/>
        <DA bType="Struct" dchg="true" fc="MX" name="stVal" type="CSG_AnalogueValue"/>
        <DA bType="Quality" fc="ST" name="q" qchg="true"/>
        <DA bType="Timestamp" fc="ST" name="t"/>
        <DA bType="Enum" fc="CF" name="ctlModel" type="ctlModel"/>
        <DA bType="Unicode255" fc="DC" name="dU"/>
    </DOType>
    <DAType id="CSG_SBOw_Oper_APC">
        <!-- 与遥控单点SPC相比,这里ctlVal是设置浮点数,而非布尔类型 -->
        <BDA bType="Struct" name="ctlVal" type="CSG_AnalogueValue"/>
        <BDA bType="Struct" name="origin" type="CSG_Originator"/>
        <BDA bType="INT8U" name="ctlNum"/>
        <BDA bType="Timestamp" name="T"/>
        <BDA bType="BOOLEAN" name="Test"/>
        <BDA bType="Check" name="Check"/>
    </DAType>
    <DAType id="CSG_Cancel_APC">...</DAType>
    
3. LN0、数据集(DataSet)、报告(ReportControl)
<LN0 inst="" lnClass="LLN0" lnType="GEXIN_LLN0">
    <!-- 
		数据集:顾名思义就是数对对象的集合,定义数据集之后,使用 ReportControl报告
		定义这些数据发生变动时发送报告FCDA 各属性ldInst:逻辑设备实例名称 
		lnClass:逻辑节点类型 lnInst:逻辑节点实例号 对应DO的name.
		目前国内规范一般按照遥信、遥测分为两各数据集,一个报告遥测量浮点型,一个报
		告遥信量布尔型
	-->
    <DataSet name="ds01Din" desc="遥信单点信息数据集(含可控点)">
        <FCDA doName="Ind1" fc="ST" ldInst="MONT" lnClass="GGIO" lnInst="1"/>
        <FCDA doName="Ind1" fc="ST" ldInst="MONT" lnClass="GGIO" lnInst="3"/>
    </DataSet>
    
    <DataSet name="ds01Ain" desc="遥测状态检测数据集">
        <FCDA doName="AnInd1" fc="MX" ldInst="MONT" lnClass="GGIO" lnInst="2"/>
        <FCDA doName="AnInd1" fc="MX" ldInst="MONT" lnClass="GGIO" lnInst="4"/>
    </DataSet>
    <!-- 引用ds01Din数据集-->
    <ReportControl bufTime="0" buffered="false" confRev="1" datSet="ds01Din" intgPd="30000"
                   name="brcb01Din" rptID="MONT/LLN0$BR$brcb01Din">
        <!-- 其中数据对象的dchg、qchg当数据变化、品质变化时都触发报告进行上送 -->
        <TrgOps dchg="true" dupd="false" period="false" qchg="true"/>
        <OptFields dataSet="true" entryID="true" reasonCode="true" seqNum="true" timeStamp="true"/>
        <!-- 
			max属性是IED可以支持的报告实例个数。IED初始化时为每个报告生成max个实例,
			分别以报告控制块名+实例号(01,02...)进行区分,如brcbAlarmO1、brabAlarm02。
			每个client在连接时以不同的报告实例号占用一个报告实例。每个报告实例按
			照client指定的属性上送报告
		-->
        <RptEnabled max="16"/>
    </ReportControl>
    
    <ReportControl bufTime="0" buffered="false" confRev="1" datSet="ds01Ain" intgPd="300000"
                   name="brcb01Ain" rptID="MONT/LLN0$BR$brcb01Ain">
        <TrgOps dchg="true" dupd="false" period="true" qchg="true"/>
        <OptFields dataSet="true" entryID="true" reasonCode="true" seqNum="true" timeStamp="true"/>
        <RptEnabled max="16"/>
    </ReportControl>

    <DOI desc="Mode" name="Mod">...</DOI>
    <DOI desc="Behaviour" name="Beh">...</DOI>
    <DOI desc="Health" name="Health">...</DOI>
   <DOI desc="Name Plate" name="NamPlt">...</DOI>
</LN0>

报告分为缓存和非缓存两种类型,由IED建模时,通过ReportControl的”buffered”属性设置,buffered=true设置缓冲型报告,对应fc=BR;buffered=false设置非缓冲型报告,对应fc=RP。缓存型报告要求IED在内存中缓存报告,如通信中断期间发生了事件,当通信恢复后,此事件报文应能上送不丢失,通常告警、事件、SOE等报告建模为缓存类型。非缓存型报告不要求IED缓存,通信中断期间的数据可丢失,通常遥测类型的数据建模为非缓存报告。

4.参考资料

IEC61850_模型文件属性详解.doc

IEC61850模型培训.pdf

部分IEC 61850协议原文

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

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

相关文章

sqliabs靶场练习

关卡 熟悉Mqsql相关命令Less-1Less-2Less-3Less-4Less-5Less-6Less-7Less-8Less-9Less-10 熟悉Mqsql相关命令 首先先熟悉一下Mysql的相关命令&#xff0c;可能在SQL注入的时候会用到。 1.查询服务器主机信息 HOSTNAME 主机名称 datadir——数据库路径 version_compile_os—…

JavaDS —— 红黑树

前言 还是一样&#xff0c;这里的红黑树重点讲述插入代码的实现&#xff0c;如果对红黑树的删除感兴趣&#xff0c;可以去翻阅其他资料。 在数据结构专栏中已经对 AVL 树的旋转调整做了分析和讲解&#xff0c;这里红黑树也会使用到旋转调整的代码&#xff0c;就不讲述旋转代码…

成都云飞浩容文化传媒有限公司怎么样可靠吗?

在数字经济浪潮汹涌的今天&#xff0c;电商行业作为推动经济高质量发展的关键引擎&#xff0c;正以前所未有的速度重塑着商业版图。在这场变革中&#xff0c;成都云飞浩容文化传媒有限公司凭借其专业的电商服务能力和前瞻性的市场洞察&#xff0c;成为了众多品牌商家信赖的合作…

助力草莓智能自动化采摘,基于嵌入式端超轻量级模型LeYOLO全系列【n/s/m/l】参数模型开发构建果园种植采摘场景下草莓成熟度智能检测识别系统

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;技术已经渗透到我们生活的方方面面&#xff0c;从智能家居到自动驾驶&#xff0c;再到医疗健康&#xff0c;其影响力无处不在。然而&#xff0c;当我们把目光转向中国的农业领域时&#xff0c;一个令人惊讶的…

Git分布式版本控制--2+day018 LeetCode235 701 450

基础操作: 1.分支: 几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离 开来进行重大的Bug修改、开发新的功能&#xff0c;以免影响开发主线。 2.指令操作: 2.1 查看本地分支: git branch 2.2 创建本地分支: git branch 分支名…

Spring Boot 3.3 新特性介绍

1. 引言 Spring Boot 3.1.x 停止维护了&#xff0c;而 3.3.x 作为最新发布的版本&#xff0c;带来了许多新特性和改进。本篇文章将详细介绍这些新特性&#xff0c;并通过样例代码加以解释&#xff0c;帮助开发者更好地掌握和应用这些新功能。 Spring Boot 3.3现已正式发布&…

RNN循环网络层

文章目录 1、简介2、RNN 网络原理3、PyTorch RNN 层的使用3.1、RNN送入单个数据3.2、RNN层送入批量数据 4、RNN三个维度4.1、解释4.2、输入数据的组织4.3、示例4.4、为什么需要这种格式&#xff1f;4.5、小结 &#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业在读&a…

【博士每天一篇文献-算法】持续学习经典算法之LwF: Learning without forgetting

1 介绍 年份&#xff1a;2017 作者&#xff1a;Zhizhong Li&#xff0c;Amazon AWS Rekognition&#xff1b;Derek Hoiem&#xff0c;伊利诺伊大学计算机科学教授 会议&#xff1a;IEEE transactions on pattern analysis and machine intelligence 引用量&#xff1a;4325 Li…

【NXP-MCXA153】开发板救砖教程

前言 新手接触到NXP的板子时&#xff0c;一个不留神把调试的GPIO&#xff08;RXD、TXD&#xff09;改掉&#xff0c;很容易出现MDK Keil无法识别CMSIS-DAP调试器的情况&#xff1b;主控进入了莫名其妙模式导致调试器无法识别了&#xff0c;你根本无法下载程序&#xff0c;想改…

大数据-67 Kafka 高级特性 分区 分配策略 Ranger、RoundRobin、Sticky、自定义分区器

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

虚拟机Centos7 minimal版本安装docker

1、在 CentOS 7 上启用 EPEL 软件包存储库&#xff1b; &#xff08;删除epel软件包和其他操作可参考&#xff1a;如何在 CentOS 7 上使用 EPEL (linux-console.net)&#xff09; 1.1&#xff1a; 要安装epel前会报错&#xff0c;如下所示&#xff1a; 先参照这个链接安装&a…

【python】OpenCV—Image Super Resolution

文章目录 1、背景介绍2、准备工作3、EDSR4、ESPCN5、FSRCNN6、LapSRN7、汇总对比8、参考 1、背景介绍 图像超分&#xff0c;即图像超分辨率&#xff08;Image Super Resolution&#xff0c;简称SR&#xff09;&#xff0c;是指由一幅低分辨率图像或图像序列恢复出高分辨率图像…

HTML基础 - HTML5

目录 一. 简介 二. 新增元素 三. 拖放 地理定位 A、HTML5 拖放&#xff08;Drag and Drop&#xff09; B.HTML5 地理定位&#xff08;Geolocation&#xff09; 四. input 五. web存储 webSQL 六. 应用程序缓存 web workers 七. web socket 可以先看上篇HTML基础再来看…

RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别

文章目录 一、kafka和rabbitmq全面对比分析1.1 简介1.2 kafka和rabbitmq全面对比分析1.3 影响因素 二、RabbitMQ、Kafka主要区别2.1 详解/主要区别2.1.1 设计目标和适用场景2.1.2 架构模型方面2.1.3 吞吐量和性能2.1.4 消息存储和持久化2.1.5 消息传递保证2.1.6 集群负载均衡方…

理解二分搜索算法

一.介绍 在本文中&#xff0c;我们将了解二分搜索算法。二分搜索算法是一种在排序数组中查找特定元素的高效方法。它的工作原理是将搜索间隔反复分成两半&#xff0c;从而大大减少了找到所需元素所需的比较次数。该算法的时间复杂度为 O(log n)&#xff0c;因此对于大型数据集…

CLOS架构

CLOS Networking CLOS Networking 是指使用 Clos 网络拓扑结构&#xff08;Clos Network Topology&#xff09;进行网络设计的一种方法。该方法是由贝尔实验室的工程师 Charles Clos 在1950年代提出的&#xff0c;以解决电路交换网络的可扩展性和性能问题。随着现代计算和网络…

SpringBoot基础(一):快速入门

SpringBoot基础系列文章 SpringBoot基础(一)&#xff1a;快速入门 目录 一、SpringBoot简介二、快速入门三、SpringBoot核心组件1、parent1.1、spring-boot-starter-parent1.2、spring-boot-dependencies 2、starter2.1、spring-boot-starter-web2.2、spring-boot-starter2.3、…

YOLOv10改进 | 主干篇 | YOLOv10引入CVPR2023 顶会论文BiFormer用于主干修改

1. 使用之前用于注意力的BiFormer在这里用于主干修改。 YOLOv10改进 | 注意力篇 | YOLOv10引入BiFormer注意力机制 2. 核心代码 from collections import OrderedDict from functools import partial from typing import Optional, Union import torch import torch.nn as n…

C++:vector容器

概览 std::vector是C标准模板库(STL)中的一种动态数组容器。它提供了一种类似于数组的数据结构&#xff0c;但是具有动态大小和更安全的内存管理。 定义和基本特性 std::vector是C标准库中的一 个序列容器&#xff0c;它代表了能够动态改变大小的数组。与普通数组一样&#x…

酒店智能插座在酒店智慧化中的重要性

在当今数字化和智能化的时代&#xff0c;酒店行业也在不断追求创新和提升服务品质&#xff0c;以满足客人日益增长的需求。酒店智能插座作为酒店智慧化的重要组成部分&#xff0c;发挥着不可忽视的作用。 提升客人的便利性&#xff1a; 酒店智能插座能够为客人提供更加便捷的充…