【PLC】PROFIBUS(二):总线协议DP、PA、FMS

1、总线访问协议 (FDL)

1.1、多主通信

多个主设备间,使用逻辑令牌环依次向从设备发送命令。

特征:

  • 主站间使用逻辑令牌环、主从站间使用主从协议
  • 主站在一个限定时间内 (Token Hold Time) 对总线有控制权
  • 从站只是响应一个主站的请求它们对总线没有控制权
    在这里插入图片描述

1.2、总线访问协议 (FDL)

1.2.1 特点

  • 主站或从站可以在任何时间点接入或断开 FDL 将自动地重新组织令牌环
  • 令牌环调度确保每个主站有足够的时间履行它的通信任务 因此 用户必须计算全部目标令牌环时间 (TTR)
  • 总线访问协议有能力发现有故障的站 失效的令牌 重复的令牌 传输错误和其他所有可能的网络失败
  • 所有信息(包括令牌信息)在传输过程中确保高度安全 以免传输错误
  • 海明距离 HD = 4

1.2.2 什么是海明距离?

在信息编码中,两个合法代码对应位上编码不同的位数称为码距,又称海明距离。
举例如下:10101和00110从第一位开始依次有第一位、第四、第五位不同,则海明距离为3。

1.2.3 海明距离的作用

用于编码的检错和纠错。

为了检测d个错误,需要一个海明距离为d+1的编码方案。
因为在这样的编码方案中,d个1位错误不可能将一个有效码字改编成另一个有效码字。当接收方看到一个无效码字的时候,它就知道已经发生了传输错误。
类似地,为了纠正d个错误,需要一个距离为2d+1的编码方案,因为在这样的编码方案中,合法码字之间的距离足够远,因而即使发生了d位变化,则还是原来的码字离它最近,从而可以确定原来的码字,达到纠错的目的。

1.3、令牌调度原理

在多主网络中 令牌调度必须确保每个主站有足够的时间完成它的通信任务;
每个主站需要多少令牌循环时间 (TTR),由用户来设置;
每一个主站根据下列公式计算它接收令牌后完成它的通信任务的时间(TTH):

T T H = T T R − T R R TTH = TTR - TRR TTH=TTRTRR

TTH = 持有令牌时间
TTR = 目标令牌循环时间
TRR = 实际令牌循环时间

1.4、 总线访问协议 (FDL)状态机

在这里插入图片描述

0: 离线 (Offline)
1: 听从令牌 (Listen Token)
2: 主动空闲 (Active Idle)
3: 申请令牌 (Claim Token)
4: 使用令牌 (Use Token)
5: 等待数据响应 (Await Data Response)
6: 检查访问时间 (Check Access Time)
7: 传递令牌 (Pass Token)
8: 检查令牌传递 (Check Token Pass)
9: 等待状态响应 (Await Status Response)
10: 被动空闲 (Passive Idle)

1.5、报文

1)令牌报文:
在这里插入图片描述

SD4 = 开始分界符4 (Start Delimiter 4)
DA = 目的地址( Destination Address)
SA = 源地址 (Source Address)

2) FDL 状态请求报文
在这里插入图片描述
SD1 = 开始分界符1(Start Delimiter 1)
DA = 目的地址( Destination Address)
SA = 源地址(Source Address)
FC = 功能码(Function Code)
FCS = 帧检查顺序(Frame Check Sequence)
ED = 结束分界符(End Delimiter)

3)数据报文
在这里插入图片描述
SD2 = 开始分界符2(Start Delimiter 2)
LE = 长度(Length)
LEr = 重复长度 Repeated Length
DA = 目的地址( Destination Address)
SA = 源地址(Source Address)
FC = 功能码(Function Code)
DSAP = 目的服务存取点(Destination Service Access Point)
SSAP = 源服务存取点(Source Service Access Point)
DU = 数据单元(Data Unit)
FCS = 帧检查顺序(Frame Check Sequence)
ED = 结束分界符(End Delimiter)

1.6、主从站通信时序

在这里插入图片描述

1.7、数据链路层服务及其用法

在这里插入图片描述

1.8、服务存取点 (SAP)

SAP:在 PROFIBUS 数据链路层与应用层之间的接口处 服务存取点被用来交互作用
SSAP:请求站的服务存取点叫做源服务存取点
DSAP:响应站的服务存取点叫做目的服务存取点

服务存取点对 FMS 和 DP/PA 有着不同的功能:

  • 对 FMS: 它们被用于区分站之间的逻辑连接
  • 对 DP/PA: 它们被用于选择不同的功能

2、PROFIBUS-DP

2.1 三种设备类型

1)DP-1类主设备 (DPM1)
中央控制器, 它与分散的 I/O 设备 (DP-从) 交换数据,允许若干个DPM1 典型的设备是 PLC, PC, VME

2)DP-2 类主设备 (DPM2)
组态 监视或工程工具 它被用来设定网络或参数、监视 DP-从设备

3)DP-从设备
直接连接 I/O 信号的外围设备,典型的设备是输入 输出 驱动器 阀 操作面板等等

2.2 系统分类

1)单主系统
在这里插入图片描述

2)多主系统
在这里插入图片描述

2.3 数据交互

在这里插入图片描述

2.4 时间计算

2.4.1 单主循环时间

1)总线循环时间和从站个数的关系:从站越多,总线循环时间越大
2)总线循环时间和带宽的关系:带宽越高,总线循环时间越小
在这里插入图片描述

2.4.2 循环时间计算

例如:每个DP-从设备有 2 字节的输入和 2 字节的输出数据,最小的从间隔时间是 200 微秒

循环时间计算方法:

  • 一个八位二进制数 一字节 按 11位传输;
  • 一个报文头和尾由11 个字节或 9 个字节组成;
  • 当波特率为1.5M时,1个位时间 0.6667µs,1 个八位二进制数 11位时间 7.33 µs;
  • 当波特率为12M时,1个位时间 83ns,1个八位二进制数 11个位时间 0.913ns;
  • 实际中需要再加上10~20%的余量

2.4.3 请求响应时间计算

回顾上面的时序图:
在这里插入图片描述
在这里插入图片描述
T M C = ( T S Y N + T I D 1 + T S D R + H e a d e r + I ∗ 11 T B i t + O ∗ 11 T B i t ) ∗ S l a v e s TMC = ( TSYN + TID1 + TSDR + Header + I * 11TBit + O * 11TBit ) *Slaves TMC=(TSYN+TID1+TSDR+Header+I11TBit+O11TBit)Slaves

TMC = 信息循环时间按位时间计
TID1 = 在主站的空闲时间 = 典型的75 个位时间
TSDR = 在从站的站延迟时间 = 典型的11个位时间
Header = 在请求和响应帧中的电文头 = 198 个位时间
I = 每个从站的输入数据字节数
O = 每个从站的输出数据字节数
Slaves = 从站个数

例如:PROFIBUS-DP 系统的组成 包括1 个主站和 20 个从站 每个从站有 2 个字节的输入和 2 个字节的输出。
T M C = ( 33 + 75 + 11 + 198 + 22 + 22 ) x 20 = 7220 T B i t TMC = ( 33 + 75 + 11 + 198 + 22 + 22 ) x 20 = 7220 TBit TMC=(33+75+11+198+22+22)x20=7220TBit
对于1.5M带宽:4.8 ms
对于12M带宽:0.6 ms

2.4.4 响应时间

1)从传感器到驱动器的全部响应时间
总线运行时间为两个1ms(下图黑粗线),约占全部时间的的4%
在这里插入图片描述
2)从传感器到接触器的全部响应时间
总线运行时间为两个1ms(下图黑粗线),约占全部时间的的3%
在这里插入图片描述

2.5 DP功能

1)功能概述
在这里插入图片描述
2)基本功能
在这里插入图片描述

2.6 状态机

1)状态划分

  • 参数化阶段:从站由 DP- 主站用现行总线参数 监控时间和从站的特定参数进行参数化;
  • 组态阶段:DP- 主站对DP- 从站所需要的配置和现行的配置进行比较;
  • 数据传输阶段:在参数化和组态成功后 DP- 从站改变其状态进入用户数据交换阶段。

注意:
在数据传输阶段,从站的参数可以被更改,更改过程中不必中断数据传输;
在以上三个阶段中,都可以附加诊断数据控制命令的传输。

2)从站状态机
在这里插入图片描述

  • Power-on. 只有在此状态下 从站能从2类主站接收 Set_Slave_Add 报文来改变它的地址
  • WAIT_PRM. 等待参数化完成
  • WAIT_CFG. 等待组态完成
  • DATA_EXCH. 数据交换
  • 若组态或数据交换不成功,再回到参数化阶段

3) 参数化信息交互
参数化阶段,DP-主站传送下列信息给DP-从站:

  • 从站用 不用看门狗 watch dog 控制
  • 定义站延迟时间 (TSDR)
  • 支持的锁定 同步方式
  • DP-从站对其他主站的锁闭或不锁闭
  • 组 group 的定义
  • 确定相关主站的地址

4)组态阶段信息交互

  • 在组态阶段,确定从站的输入、输出的数据量,还要规定周期性
  • 用户数据交换时的用户数据长度
  • 组态数据可以分成若干部分,每部分16 个字节
  • 定义数据域,数据域将被一致性地传输
  • 制造商指定数据的定义

5)控制命令
除与用户数据传输有关的站以外,DP-主站可以发送控制命令给一个、一组或全部DP-从站。
这些控制命令设计为全局控制 Global-Controls:

  • 输入同步 (锁定模式)
  • 输出同步 (同步模式)
  • 输出清除进入失效安全状态 (清除模式)

2.7 诊断

诊断分为三级
1)与站有关的诊断:站一般运行状态的信息,如温度过高,电压过低….
2)与模块有关的诊断:设备中相关模块的信息,如输出模块 8A 有故障 …
3)与通道有关的诊断:输入或输出某一信号位的信息 如输出线 3 断了…

2.8 安全性检查

PROFIBUS-DP 的安全性功能确保如下检查:

  • 参数化错误
  • 站脱落
  • 传输介质脱落
  • EMC (电磁兼容性)
  • 硬件和软件失效

2.9 系统行为

系统行为主要由 DP-主站 (1 类)的系统行为来确定:

  • 停止 STOP :在DP-主和DP-从之间无数据传输
  • 清除 CLEAR :DP-主读取DP-从的输入数据并保持输出在失效安全状态
  • 运行 OPERATE DP-主处在数据传输阶段。在后继的周期中DP-从的输入被读,且将输出数据写给DP-从

2.10 识别码

每一类 DP-从设备和每一类 DP-主设备 (1 类) 都必须分别有一个识别号:

  • 用一个识别号,DP-主能识别已联接的DP-从的类型,而无须在前面特别议定
  • 如果设备类型和设备地址都正确,这就为在总线上运行做好了准备,此时DP-主将开始用户数据传输
  • 识别号用 0 到 FFFF 间的16进数
  • 识别号由 PROFIBUS 用户组织发放,如在德国的PNO,在美国的PTO

2.11 服务存取点 (SAP)

1)服务存取点被用来选择不同的DP-功能:

  • Default-SAP:用户数据交换
  • SAP 54: 主-主功能
  • SAP 55: 设定 / 更改从地址
  • SAP 56: 读输入
  • SAP 57: 读输出
  • SAP 58: 控制命令
  • SAP 59: 读组态数据
  • SAP 60: 读诊断数据
  • SAP 61: 设定参数化数据
  • SAP 62: 检查组态数据

2)读取服务的时序图
在这里插入图片描述

2.12 GSD文件

1)在GSD文件中,描述每一个 PROFIBUS-DP 设备的特性。
2)每个设备的GSD 文件用设备的电子数据单来表示。
3)GSD 文件包含所有设备的特定参数 如:

  • 支持的波特率
  • 支持的信息长度
  • 输入 / 输出的数据量
  • 诊断信息的含义
  • 对模拟设备有效的选择

4)GSD文件由设备制造商建立
5)每一个设备类型分别需要一个GSD文件
6)PROFIBUS 用户组织提供GSD编辑程序,它使得建立GSD文件非常容易
7)GSD编辑程序包括GSD检查程序,它确保GSD文件符合PROFIBUS 标准
8)在PROFIBUS 网页 http://www.profibus.com 中构成了一个GSD文件库

3、PROFIBUS-PA

3.1 什么是PROFIBUS-PA?

PROFIBUS-PA = PROFIBUS-DP 通信 + 对现场设备优选的传输技术
PROFIBUS-PA = 用于过程自动化的 PROFIBUS

3.2 用途

1)应用范围

  • 用在从设备为:变送器、阀、执行器等等
  • 通过串行总线系统连接
  • 在化学工业和过程控制中使用
  • 通过数据线对现场设备供电
  • 在危险区域 (EExi 型保护区域)应用

2)用于防爆
对防爆和非防爆区域过程自动化的低端应用,PROFIBUS-PA 是优选的;
PROFIBUS-PA 完全满足化学工业用户组织(如 NAMUR)对数字现场总线的要求。

防爆区划分:

  • Zone 0: 危险的爆炸瓦斯气体经常或长期存在的区域
  • Zone 1: 在正常运行期间危险的爆炸瓦斯气体有可能存在的区域
  • Zone 2: 不希望在正常运行期间存在危险的爆炸瓦斯气体的区域

3) 代替传统电流信号线
PROFIBUS-PA

3.3 总线

1)总线接入点
PROFIBUS-PA 接在 PROFIBUS-DP 现场总线系统的从站上,如下图所示:
在这里插入图片描述
2)拓扑
在这里插入图片描述
3)供电
在这里插入图片描述
4)耦合器
耦合器在不同的传输技术之间提供一个网关 gateway)
在这里插入图片描述
在这里插入图片描述

5)链接器
在这里插入图片描述
6)循环时间
在这里插入图片描述
在这里插入图片描述

3.4 协议

1)PROFIBUS-PA 和 PROFIBUS-DP的关系

  • PROFIBUS-PA 以 PROFIBUS-DP 为基础;
  • 通过标准的 DP 周期性数据交换功能传输量值和状态;
  • 对于设备参数的传输和用工程工具的设备运行,使用扩展PROFIBUS-DP的非周期性读/写功能;
  • PROFIBUS-PA 行规定义有关 PA 功能映象

2)DP协议周期的和非周期的区别
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.5 设备行规

1)举例
在这里插入图片描述
2)行规确保互操作性

  • 定义运行、识别、维护、诊断等参数
  • 定义数据 (如温度、压力、流量等)的含义
  • 定义一个模拟量,含范围、工程单位和状态
  • 依据国际承认的功能块技术
  • 定义通信子集和设备行为
  • 支持简单的(单变量)和复杂的(多变量)设备
  • 结合化学工业的应用开发的

3)AB类行规
PROFIBUS - PA 行规定义了两类:
A 类:

  • 描述简单设备的公共参数
  • 对运行阶段的基本功能限定了范围
  • 参数包括过程变量(如温度、压力、液位等)的被测量值,附加特征名称和工程单位

B 类:

  • 对 A 类的扩展,包括识别、委派、维护和诊断等更复杂的应用功能

这两类的参数关系在行规的一致性陈述中被说明

4)行规内容
行规包括两部分:

  • 一般定义

    • 对所有类型的设备都有效
    • 定义此设备与 PROFIBUS-PA 间的关系
    • 定义操作、起动和再起动
  • 设备数据单

    • 每个设备类型 (如变送器、阀) 有各自的设备数据单
    • 定义此设备的特定参数和操作

3.6 设备参数

PA 设备的标准参数:
在这里插入图片描述

PA行规标准化的设备参数:例如,功能块模拟输入、压力变送器
在这里插入图片描述

3.7 状态字

对每一个过程变量都附有一个状态字节
在这里插入图片描述

4、PROFIBUS - FMS

4.1 介绍

1)协议结构
在这里插入图片描述
2)特点

  • 为连接智能现场设备而设计,如 PLC、PC、MMI
  • 强有力的应用服务提供广泛的功能
  • 面向对象的协议
  • 多主和主-从通信
  • 点对点、广播和局部广播通信
  • 周期性和非周期性的数据传输
  • 每个设备的用户数据多达 240 个字节
  • 得到所有主要 PLC 制造商的支持
  • 可以提供大量的产品,如 PLC、PC、VME、MMI、I/O…

4.2 面向对象

1)面向对象设计
PROFIBUS-FMS是面向对象设计的:

  • 变量、参数、程序均设计为对象
  • 每个对象都有确定的特性(读、写…)
  • 所有对象被列在对象字典 (OD) 中
  • 对象字典根据每个设备单独构成

在这里插入图片描述

2)通信对象的类型
在这里插入图片描述

3)对象的特征
每个对象包括:

  • 指针:访问此对象的号
  • 对象代码:此对象的数据类型
  • 对象属性:如,不删除
  • 名称:对象全名 (可选)
  • 内部地址:对象的实六位地址
  • 访问权:如,写保护
  • 扩充:用户定义

所有 FMS 对象都进入对象字典(OD)

4)对象字典 (OD)
对象字典包括如下部分:

  • 头部:包含此 OD 的结构信息
  • 数据类型字典:包括所支持的静态数据类型表(如:布尔、整数、浮点数 …)
  • 静态对象字典:包括静态通信对象表(如:停机时间、故障率 …)
  • 动态变量表的表:包括所有现今已知变量表的表
  • 动态程序表:包括所有现今已知程序的表

例如:一个简单设备的OD
在这里插入图片描述
5)支持的对象
PROFIBUS-FMS 支持如下类型的对象

  • 静态通信对象:这些对象登入静态对象字典
    • 简单变量:变量类型如整数、布尔数 …
    • 数组:同类型的简单变量的数组
    • 记录:各种类型的简单变量的数组
    • 区域:大数量的数据
    • 事件:事件信息
  • 动态通信对象:这些对象登入动态对象字典
    • 程序调用:程序的描述
    • 变量表:简单变量、数组或记录的记录

4.3 服务

在这里插入图片描述
在这里插入图片描述

4.4 通信关系

1)通信关系
站之间的数据传输通过通信关系来执行,通信关系允许存取保护和自动的联接监视
在这里插入图片描述
2)通信关系表(CRL)
所有通信关系被登入通信关系表 (CRL)
在这里插入图片描述

4.5 GSD

  • 对每一个 FMS设备有一张由制造商定义的电子数据单 (GSD文件)
  • FMS GSD文件包括所有相关设备的通信能力
  • 在组态期间,FMS 组态工具读 GSD文件并将所有信息放入账号
  • 在PROFIBUS导则 No. 2.101 中,描述了FMS GSD文件的格式

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java程序设计】【C00383】基于(JavaWeb)Springboot的水产养殖系统(有论文)

【C00383】基于(JavaWeb)Springboot的水产养殖系统(有论文) 项目简介项目获取开发环境项目技术运行截图 博主介绍:java高级开发,从事互联网行业六年,已经做了六年的毕业设计程序开发&#xff0c…

【包邮送书】一本书掌握数字化运维方法,构建数字化运维体系

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

11.数据库技术(下)

1.select语句 中括号表示可有可无; 尖括号表示变量名; 分组后再筛选,用having;分组前筛选,用where; select后跟随的所有列,除聚集函数外,都需要列在group by后; 注&…

IDEA : 已经有一个永久破解版的IDEA2019版本,现在又想安装最新版本的,俩版本共存,发现新版本打不开的解决方案

在新文件的目录下,注释掉一行19版本的地址 地址:C:\Users\23999\AppData\Roaming\JetBrains\IntelliJIdea2023.2 (不同电脑Users后边的一个地址的注释会不一样) 然后找到该目录下的indea64.exe.vmoptions 用 记事本 打开 在-javaagent 那一栏里会自动给…

【业界动态】Digital Twin-数字孪生

绝大多数的人对数字孪生是一个模糊的概念,数字孪生也被称为数字映射、数字镜像,他既是一种技术,也是一种生态。随着互联网的建设与发展,数字孪生在未来又会如何发展,虚拟与现实之间会产生怎样的星火? 上帝按…

算法(6)KMP+trie

KMP: 最浅显易懂的 KMP 算法讲解_哔哩哔哩_bilibili 该视频使用python书写代码,不会python的小伙伴也可以看看了解kmp的大致思路。 问题描述: kmp:字符串匹配算法,用来找一个长字符串中出现了几次小字符串&#xf…

AIGC——ComfyUI SDXL多种风格预设提示词插件安装与使用

概述 SDXL Prompt Styler可以预先给SDXL模型提供了各种预设风格的提示词插件,相当于预先设定好了多种不同风格的词语。使用这个插件,只需从中选取所需的风格,它会自动将选定的风格词汇添加到我们的提示中。 安装 插件地址:http…

scrapy爬虫框架

scrapy爬虫框架 一、scrapy的概念作用和工作流程1、scrapy的概念2、scrapy框架的作用3、scrapy的工作流程(重点)3.1 回顾之前的爬虫流程3.2 改写上述流程3.3 scrapy的流程3.4 scrapy的三个内置对象3.5 scrapy中每个模块的具体作用 二、scrapy的入门使用1…

注册、配置中心-微服务小白入门(2)

Nacos 已经下载安装并且使用了,那么看如何使用: Nacos 注册及配置,以下是一个服务启动后注册到nacos,同时,把该服务的相关配置,写到nacos之中 1、nacos设置 命名空间中,添加对应的服务命名空间…

基于单片机病房温度监测与呼叫系统设计

**单片机设计介绍,基于单片机病房温度监测与呼叫系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机病房温度监测与呼叫系统设计概要主要涵盖了通过单片机技术实现病房温度的实时监测以及病人呼叫功能…

python入门题:输入输出练习

以下是Python基础语法的练习,项目要求和代码如下: """ 例3:小精灵:你好,欢迎古灵阁,请问您需要帮助吗?需要or不需要? 你:需要 小精灵:请问你需…

免杀对抗-C2远控篇CC++SC转换格式UUID标识MAC物理IPV4地址减少熵值

参考文章: https://github.com/INotGreen/Bypass-AMSI https://mp.weixin.qq.com/s/oJ8eHdX8HGuk6dZv0kmFxg https://kyxiaxiang.github.io/2022/12/14/AMSIandEtw https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell 文章参考: https://www.…

刷到一个问题还请道友们解疑

问题如上&#xff0c;题目挺简单的&#xff0c;就是插入后排序的思路&#xff0c;我的代码如下&#xff1a; #include <bits/stdc.h>using namespace std; int f(int x,int y){return x < y;//其实要这个没有用&#xff0c;默认是就是从小到大排序 }int main(){int n…

代码随想录——搜索插入位置(Leetcode35)

题目链接 class Solution {public int searchInsert(int[] nums, int target) {int len nums.length;int left 0;int right len - 1;int index -1;while(left < len / 2){if(nums[left] target || target < nums[left]){index left;break;}else{left;}if(nums[ri…

LabVIEW高效光伏数据监控与管理系统

LabVIEW高效光伏数据监控与管理系统 随着新能源技术的发展&#xff0c;光伏发电系统作为一种清洁、高效的能源获取方式受到了广泛的关注。但是&#xff0c;由于光伏发电的特性受到多种环境因素的影响&#xff0c;其运行效率和安全性成为了关键问题。因此&#xff0c;开发一个高…

Automatic Prompt Engineering

让大模型自己生成prompt&#xff0c;生成提示&#xff08;prompt&#xff09;存在两种不同的操作方式。第一种方式是在文本空间中进行&#xff0c;这种提示以离散的文本形式存在。第二种方式是将提示抽象成一个向量&#xff0c;在特征空间中进行操作&#xff0c;这种提示是抽象…

【智能算法】飞蛾扑火算法(MFO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2015年&#xff0c;Mirjalili等人受到飞蛾受到火焰吸引行为启发&#xff0c;提出了飞蛾算法(Moth-Flame Optimization&#xff0c;MFO)。 2.算法原理 2.1算法思想 MFO基于自然界中飞蛾寻找光源的…

STL的基本概念

一、STL的诞生 长久以来&#xff0c;软件界一直希望建立一种可重复利用的东西 C的面向对象和泛型编程思想&#xff0c;目的就是复用性的提升 面向对象的三大特性(简单理解) 封装&#xff1a;把属性和行为抽象出来作为一个整体来实现事和物 继承&#xff1a;子类继承父类&a…

c++AVL树

cAVL树 1. 前言 map/multimap、set/multiset这几个容器的共同点是&#xff1a;它们的底层都是按照搜索二叉树来实现的&#xff0c;但是搜索二叉树存在一个缺陷&#xff1a;如果往树中插入的元素有序或接近有序&#xff0c;二叉树搜索就会退化成单支树&#xff0c;时间复杂度会…

GIS与Python机器学习:开创地质灾害风险评价新纪元

地质灾害是指全球地壳自然地质演化过程中&#xff0c;由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。由于降水、地震等自然作用下&#xff0c;地质灾害在世界范围内频繁发生。我国除滑坡灾害外&#xff0c;还包括崩塌、泥石流、地面沉…