【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.mzph.cn/news/774321.shtml

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

相关文章

Java八股文(SpringCloud Alibaba)

Java八股文のSpringCloud Alibaba SpringCloud Alibaba SpringCloud Alibaba Spring Cloud Alibaba与Spring Cloud有什么区别? Spring Cloud Alibaba是Spring Cloud的衍生版本,它是由Alibaba开发和维护的,相比于Spring Cloud,它在…

OpenCV4.9在iOS中安装

返回:OpenCV系列文章目录(持续更新中......) 上一篇:使用CUDA 为Tegra构建OpenCV-CSDN博客 下一篇: 警告! 本教程可以包含过时的信息。 所需软件包 CMake 2.8.8 或更高版本Xcode 4.2 或更高版本 从 G…

flask_Restful数据解析参数设置

add_argument 方法参数详解 add_argument方法可以指定这个字段的名字,这个字段的数据类 型等,验证错误提示信息等,具体如下: default:默认值,如果这个参数没有值,那么将使用这个参数 指定的默认…

短信系统开发注意事项|网页版短信后台

在开发短信系统时,有一些重要的注意事项需要考虑,以确保系统的稳定性、安全性和功能完整性。以下是一些开发短信系统时需要注意的事项: 合规性和法律要求:确保短信系统的开发符合当地法律法规和通信行业规定,包括用户隐…

【LVGL-文件系统移植】

LVGL-文件系统移植 ■ LVGL-文件系统移植■ 示例一:■ 示例二:视频实例■ 综合示例: ■ LVGL-文件系统移植 ■ 示例一: 在这里插入代码片■ 示例二:视频实例 在这里插入代码片■ 综合示例: /***********…

Rust基本类型

数值类型 整数类型 无符号整数只能取正数和0,有符号整数可以取正数负数和0。isize和usize类型取决于程序运行的计算机CPU类型,若CPU是32位的,则这两个类型是32位的,若CPU是64位的,则它们是64位的。rust整型 默认使用…

为响应国家号召,搜维尔科技开启虚拟仿真实验室设备升级改造服务

近日,国务院发布了关于《推动大规模设备更新和消费品以旧换新行动方案》,该通知的发布表现出国家对于科技创新事业的高度重视。各行各业都在积极响应国家号召,加快数字化转型和设备升级与更新步伐。搜维尔科技为响应国家号召,将开…

Redission 分布式锁原理分析

一、前言 我们先来说说分布式锁,为啥要有分布式锁呢? 像 JDK 提供的 synchronized、Lock 等实现锁不香吗?这是因为在单进程情况下,多个线程访问同一资源,可以使用 synchronized 和 Lock 实现;在多进程情况下&#xff…

单链表交叉分离,运用头插法,尾插法(算法库应用)

原文博客链接:单链表分离(头插法和尾插法的结合,理解指针变换)_3.对任务1或者2中创建的某一个单链表{a1,b1,a2,b2,...,an,bn},编写一个算法将-CSDN博客 函数实现: /************************************************** 函数名:separate_LinkList 功 能: 把一个链表,交叉新建…

电机控制杂谈——永磁同步电机中的永磁体谐波反电势

1.问题的引出 在我的谐波抑制专题中,讲了三种谐波抑制的策略。当时是通过增大逆变器死区来产生较大的谐波。但是在实际电机里面,我感觉死区的影响基本上没有。。。课题组的驱动器中,逆变器的非线性其实基本可以忽略不计了。 但是&#xff0…

langchin-chatchat部分开发笔记(持续更新)

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 大模型应用向开发路径及一点个人思考大模型应用开发实用开源项目汇总大模型问答项目…

SpringBoot中处理校验逻辑的两种方式:Hibernate Validator+全局异常处理

最近正在开发一个校园管理系统,需要对请求参数进行校验,比如说非空啊、长度限制啊等等,可选的解决方案有两种: 一种是用 Hibernate Validator 来处理一种是用全局异常来处理 两种方式,我们一一来实践体验一下。 一、…

AXI4-Stream Interconnect IP核(1)——原理

一、概述 AXI4-Stream Interconnect 是复杂片上系统(SoC)和现场可编程门阵列(FPGA)应用设计中的关键组件,它负责在系统内部不同模块之间路由数据流。AXI4-Stream协议是ARM引入的AMBA(高级微控制器总线架构&…

插入排序和希尔排序:

插入排序 1. 算法思想: 由数组下标为1 开始的数值作为判断依据,与之前的数据从后往前比较定义tmp 暂存判断的数值,若前面的数据大于tmp,则将前面的数据向后移动 : arr[j1]arr[j]若对比的数据比tmp 大,则往后移&#…

JavaIO流与字节输出流OutputStream

1 概述 1.1 什么是IO流 IO流是存储和读取数据的解决方案,用于读写文件中的数据(包括本地文件、网络等) IO流的参照是程序或内存,即使程序在读,程序在写。 1.2 IO的分类 根据流的方向分为:输入流和输出流…

C++STL学习之unordered_map与unordered_set(底层Hash)

前言:我们前面已经学习论map和set,现在又冒出来一个unordered_map和unordered_set,这两个有啥差别吗?前面我们已经说过,map和set的底层是红黑树,那unordered_map和unordered_set的底层是什么呢?…

esp32CAM环境搭建(arduino+MicroPython+thonny+固件)

arduino ide 开发工具 arduino版本:1.8.19 arduino ide 中文设置:​ file >> preferences >> ​ arduino IDE 获取 ESP32 开发环境:打开 Arduino IDE ,找到 文件>首选项 ,将 ESP32 的配置链接填入附加开发板管理网…

【Canvas与艺术】简约式胡萝卜配色汽车速度表

【效果图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>胡萝卜色汽车速度仪表盘简化版</title><style type"…

2月京东天猫淘宝茗茶电商数据分析(茗茶行业未来趋势分析)

随着消费者对健康饮食和品质生活的追求&#xff0c;茗茶行业受到许多青睐和关注。 根据鲸参谋数据显示&#xff0c;今年2月&#xff0c;茗茶行业在某东平台上销售数据呈现出一种特殊的趋势。销售量总计约450万件&#xff0c;同比去年下滑了7%。&#xff1b;销售额总计6.4亿元&…

Linux安装Maven

一、下载安装Maven 1.1 下载地址 官网下载地址: https://maven.apache.org/download.cgi 1.2 安装版本下载 进入下载页面选择需要的版本进行下载。 1.3 版本安装 将下载完的安装包&#xff0c;上传到Linux服务器上某个目录下&#xff0c;将其解压出来就好。 ## 创建安装…