【DBC专题】-12-不同类型报文(应用/诊断/网管/测量标定)在DBC中配置,以及在Autosar各模块间的信号数据流向

本文主要是介绍【DBC专题】-12-不同类型报文(应用/诊断/网管/测量标定)在DBC中配置,以及在Autosar各模块间的信号数据流向,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击返回「Autosar从入门到精通-实战篇」总目录

案例背景(共18页精讲):该篇博文将告诉您:
1)Autosar中,不同类型报文(App应用UDS/OBD诊断NM网络管理报文XCP测量标定)的信号数据流向
2)CAN DBC中,不同的Attribute属性决定不同类型报文(App应用UDS/OBD诊断NM网络管理报文XCP测量标定)。
3)TechnicalReference-DbcRules-Vector文件下载,见下方链接:

TechnicalReference-DbcRules-Vectorhttps://download.csdn.net/download/qfmzhu/87580682

目录

1 Autosar中不同类型报文(应用/诊断/网络管理/测量标定)的信号数据流向

1.1 普通APP应用报文信号数据流向

1.1.1 多路复用Multiplexer报文信号数据流向

1.2 UDS/OBD诊断报文信号数据流向

1.3 NM网络管理报文信号数据流向

1.4 XCP测量标定报文信号数据流向

2 CAN DBC中如何定义不同类型报文(应用/诊断/网络管理/测量标定)

3 如何制作一个Autosar工具能够识别的CAN DBC

3.1 节点的定义

3.2 普通App帧配置

3.2.1 普通App Tx发送帧配置

3.2.2 普通App Rx接收帧配置

3.3 UDS/OBD诊断帧配置

3.3.1 UDS/OBD诊断功能请求帧配置

3.3.2 UDS/OBD诊断物理请求帧配置

3.3.3 UDS/OBD诊断诊断响应帧配置

3.4 NM网络管理帧配置

3.4.1 NM网络管理发送帧配置

3.4.2 NM网络管理接收帧配置

3.5 XCP测量标定帧配置

3.5.1 XCP测量标定发送帧配置

3.5.2 XCP测量标定接收帧配置

3.6 附件:Autosar工具能够使用的Demo.dbc

4 摘录:Autosar工具中使用的CAN DBC常用属性

结尾


优质博文推荐阅读(单击下方链接,即可跳转):

Vector工具链

CAN Matrix DBC

CAN Matrix Arxml

<--返回「实战篇」博文-总目录-->

<--返回「Autosar从入门到精通-实战篇」专栏主页-->

1 Autosar中不同类型报文(应用/诊断/网络管理/测量标定)的信号数据流向

经典CAN/CANFD通信为例,不同类型报文(应用/诊断/网络管理/测量标定)在Autosar BSW层中的信号数据流向,见图1-1。

图1-1

COM:Communication

DCM: Diagnostic Communication Manager

Ipdum: IPDU Multiplexer

PduR:PDU Router

Nm: Network Management

CanTp: CAN Transport Layer

CanIf: CAN Interface

1.1 普通APP应用报文信号数据流向

如图1-1所述:

Rx 接收一帧普通的APP应用报文信号数据流向:CAN Driver – > CanIf -- > PduR -- > Com

Tx 发送一帧普通的APP应用报文信号数据流向:Com – > PduR – > CanIf – > CAN Driver

1.1.1 多路复用Multiplexer报文信号数据流向

如图1-2所述:

Rx 接收一帧多路复用Multiplexer报文信号数据流向:CAN Driver – > CanIf -- > PduR -- > Ipdum – > PduR -- > Com

Tx 发送一帧多路复用Multiplexer报文信号数据流向:Com – > PduR – > Ipdum – > PduR -- > CanIf – > CAN Driver

图1-2

1.2 UDS/OBD诊断报文信号数据流向

如图1-1所述:

Rx 接收一帧UDS/OBD诊断报文信号数据流向:CAN Driver – > CanIf -- > CanTp -- > PduR -- > Dcm

Tx 发送一帧UDS/OBD诊断报文信号数据流向:Dcm – > PduR – > CanTp -- > CanIf – > CAN Driver

1.3 NM网络管理报文信号数据流向

如图1-3所述:

Rx 接收一帧NM网络管理信号数据流向:CAN Driver – > CanIf -- > CanNm -- > PduR -- > Com

Tx 发送一帧NM网络管理信号数据流向:Com – > PduR – > CanNm -- > CanIf – > CAN Driver

图1-3

1.4 XCP测量标定报文信号数据流向

如图1-1所述:

Rx 接收一帧XCP测量标定报文信号数据流向:CAN Driver – > CanIf -- > XCP

Tx 发送一帧XCP测量标定报文信号数据流向:XCP -- > CanIf – > CAN Driver

2 CAN DBC中如何定义不同类型报文(应用/诊断/网络管理/测量标定)

CAN DBC中,不同的Attribute属性定义,决定了不同类型的报文:APP应用报文UDS/OBD诊断报文NM网络管理报文XCP测量标定报文

Vector Davinci提供的《TechnicalReference_DbcRules_Vector.pdf》文档中,说明了CAN DBC文件中,不同类型报文AttributesGenMsgILSupport,DiagState,DiagRequest,DiagResponse,NmAsrMessage)定义,见下表。

Attribute属性

GenMsgILSupport

DiagState

DiagRequest

DiagResponse

NmAsrMessage

APP应用报文

Yes

No

No

No

No

UDS/OBD诊断报文

No

Yes/No

Yes/No

Yes/No

No

NM网络管理报文

No

No

No

No

Yes

XCP测量标定报文

No

No

No

No

No

3 如何制作一个Autosar工具能够识别的CAN DBC

制作一个完整的CAN DBC,过程可参考博文“【DBC专题】-1-如何使用CANdb++ Editor创建并制作一个DBChttps://blog.csdn.net/qfmzhu/article/details/111403266”,第3.2~3.5章节摘录了message配置,需要重点关注的地方:发送节点,接收节点,属性设置差异。

Autosar工具链导入CAN DBC可参考博文:

【DaVinci Configurator专题】-2-将CAN 2.0或CANFD Matrix的Arxml/DBC文件导入到CFGhttps://blog.csdn.net/qfmzhu/article/details/115032771

3.1 节点的定义

在Network nodes中,至少定义4个节点,见图3-1:

  • 当前所在ECU的节点名称:默认为DCDC;
  • 定义若干个该ECU的接收节点:以VCU为例,这些节点中存在NM帧发送节点
  • 定义一个UDS/OBD诊断/测试仪节点:以Test为例。
  • 定义一个XCP测量标定节点:以MCD为例。

图3-1

3.2 普通App帧配置

3.2.1 普通App Tx发送帧配置

3.2.2 普通App Rx接收帧配置

3.3 UDS/OBD诊断帧配置

3.3.1 UDS/OBD诊断功能请求帧配置

3.3.2 UDS/OBD诊断物理请求帧配置

3.3.3 UDS/OBD诊断诊断响应帧配置

3.4 NM网络管理帧配置

3.4.1 NM网络管理发送帧配置

3.4.2 NM网络管理接收帧配置

3.5 XCP测量标定帧配置

3.5.1 XCP测量标定发送帧配置

3.5.2 XCP测量标定接收帧配置

3.6 附件:Autosar工具能够使用的Demo.dbc

将以下内容复制到一个txt文件中,并保存,接着将文件后缀txt用dbc替换,这样可以快速得到这个demo.dbc文件。

VERSION ""NS_ : NS_DESC_CM_BA_DEF_BA_VAL_CAT_DEF_CAT_FILTERBA_DEF_DEF_EV_DATA_ENVVAR_DATA_SGTYPE_SGTYPE_VAL_BA_DEF_SGTYPE_BA_SGTYPE_SIG_TYPE_REF_VAL_TABLE_SIG_GROUP_SIG_VALTYPE_SIGTYPE_VALTYPE_BO_TX_BU_BA_DEF_REL_BA_REL_BA_DEF_DEF_REL_BU_SG_REL_BU_EV_REL_BU_BO_REL_SG_MUL_VAL_BS_:BU_: MCD Tester VCU DCDCBO_ 1809 XCP_Tx_Message: 8 DCDCSG_ DCDC_to_MCD_Resp : 7|64@0+ (1,0) [0|0] ""  MCDBO_ 1808 XCP_Rx_Message: 8 MCDSG_ MCD_Req : 7|64@0+ (1,0) [0|0] ""  DCDCBO_ 513 NM_Tx_Message: 8 DCDCSG_ NM_Tx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  VCUBO_ 512 NM_Rx_Message: 8 VCUSG_ NM_Rx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  DCDCBO_ 1794 Diag_Response: 8 DCDCSG_ DCDC_to_Tester_Phy_Resp : 7|64@0+ (1,0) [0|0] ""  TesterBO_ 1793 Diag_Physical_Request: 8 TesterSG_ Tester_Phy_Req : 7|64@0+ (1,0) [0|0] ""  DCDCBO_ 1792 Diag_Function_Request: 8 TesterSG_ Tester_Fun_Req : 7|64@0+ (1,0) [0|0] ""  DCDCBO_ 256 APP_Rx_Message: 8 VCUSG_ APP_Rx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  DCDCBO_ 257 APP_Tx_Message: 8 DCDCSG_ APP_Tx_Message_Signal : 7|8@0+ (1,0) [0|0] ""  VCUBA_DEF_ BU_  "NmStationAddress" INT 0 127;
BA_DEF_  "NmBaseAddress" HEX 1152 1279;
BA_DEF_  "Manufacturer" STRING ;
BA_DEF_ SG_  "GenSigInactiveValue" INT 0 2147483647;
BA_DEF_ SG_  "GenSigSendType" ENUM  "Cyclic","OnWrite","OnWriteWithRepetition","OnChange","OnChangeWithRepetition","IfActive","IfActiveWithRepetition","NoSigSendType","OnChangeAndIfActive","OnChangeAndIfActiveWithRepetition","vector_leerstring";
BA_DEF_ SG_  "GenSigStartValue" INT 0 2147483647;
BA_DEF_ BO_  "DiagRequest" ENUM  "no","yes";
BA_DEF_ BO_  "DiagResponse" ENUM  "no","yes";
BA_DEF_ BO_  "DiagState" ENUM  "no","yes";
BA_DEF_ BO_  "DiagUudtResponse" ENUM  "false","true";
BA_DEF_ BO_  "NmAsrMessage" ENUM  "No","Yes";
BA_DEF_ BO_  "GenMsgCycleTime" INT 0 65535;
BA_DEF_ BO_  "GenMsgCycleTimeFast" INT 0 65535;
BA_DEF_ BO_  "GenMsgDelayTime" INT 0 65535;
BA_DEF_ BO_  "GenMsgFastOnStart" INT 0 65535;
BA_DEF_ BO_  "GenMsgILSupport" ENUM  "no","yes";
BA_DEF_ BO_  "GenMsgNrOfRepetition" INT 0 999;
BA_DEF_ BO_  "GenMsgSendType" ENUM  "Cyclic","NotUsed","NotUsed","NotUsed","NotUsed","NotUsed","NotUsed","IfActive","NoMsgSendType";
BA_DEF_ BO_  "GenMsgStartDelayTime" INT 0 65535;
BA_DEF_ BO_  "TpTxIndex" INT 0 255;
BA_DEF_  "BusType" STRING ;
BA_DEF_ SG_  "GenSigTimeoutTime" INT 0 65535;
BA_DEF_DEF_  "NmStationAddress" 0;
BA_DEF_DEF_  "NmBaseAddress" 1152;
BA_DEF_DEF_  "Manufacturer" "Vector";
BA_DEF_DEF_  "GenSigInactiveValue" 0;
BA_DEF_DEF_  "GenSigSendType" "";
BA_DEF_DEF_  "GenSigStartValue" 0;
BA_DEF_DEF_  "DiagRequest" "";
BA_DEF_DEF_  "DiagResponse" "";
BA_DEF_DEF_  "DiagState" "";
BA_DEF_DEF_  "DiagUudtResponse" "";
BA_DEF_DEF_  "NmAsrMessage" "";
BA_DEF_DEF_  "GenMsgCycleTime" 0;
BA_DEF_DEF_  "GenMsgCycleTimeFast" 0;
BA_DEF_DEF_  "GenMsgDelayTime" 0;
BA_DEF_DEF_  "GenMsgFastOnStart" 0;
BA_DEF_DEF_  "GenMsgILSupport" "";
BA_DEF_DEF_  "GenMsgNrOfRepetition" 0;
BA_DEF_DEF_  "GenMsgSendType" "Cyclic";
BA_DEF_DEF_  "GenMsgStartDelayTime" 0;
BA_DEF_DEF_  "TpTxIndex" 0;
BA_DEF_DEF_  "BusType" "CAN";
BA_DEF_DEF_  "GenSigTimeoutTime" 0;
BA_ "DiagRequest" BO_ 1809 0;
BA_ "DiagResponse" BO_ 1809 0;
BA_ "DiagState" BO_ 1809 0;
BA_ "DiagUudtResponse" BO_ 1809 0;
BA_ "NmAsrMessage" BO_ 1809 0;
BA_ "GenMsgILSupport" BO_ 1809 0;
BA_ "GenMsgSendType" BO_ 1809 8;
BA_ "DiagRequest" BO_ 1808 0;
BA_ "DiagResponse" BO_ 1808 0;
BA_ "DiagState" BO_ 1808 0;
BA_ "DiagUudtResponse" BO_ 1808 0;
BA_ "NmAsrMessage" BO_ 1808 0;
BA_ "GenMsgILSupport" BO_ 1808 0;
BA_ "GenMsgSendType" BO_ 1808 8;
BA_ "DiagRequest" BO_ 513 0;
BA_ "DiagResponse" BO_ 513 0;
BA_ "DiagState" BO_ 513 0;
BA_ "DiagUudtResponse" BO_ 513 0;
BA_ "NmAsrMessage" BO_ 513 1;
BA_ "GenMsgCycleTime" BO_ 513 200;
BA_ "GenMsgILSupport" BO_ 513 0;
BA_ "GenMsgSendType" BO_ 513 0;
BA_ "DiagRequest" BO_ 512 0;
BA_ "DiagResponse" BO_ 512 0;
BA_ "DiagState" BO_ 512 0;
BA_ "DiagUudtResponse" BO_ 512 0;
BA_ "NmAsrMessage" BO_ 512 1;
BA_ "GenMsgCycleTime" BO_ 512 200;
BA_ "GenMsgILSupport" BO_ 512 0;
BA_ "GenMsgSendType" BO_ 512 0;
BA_ "DiagRequest" BO_ 1794 0;
BA_ "DiagResponse" BO_ 1794 1;
BA_ "DiagState" BO_ 1794 0;
BA_ "DiagUudtResponse" BO_ 1794 1;
BA_ "NmAsrMessage" BO_ 1794 0;
BA_ "GenMsgILSupport" BO_ 1794 0;
BA_ "GenMsgSendType" BO_ 1794 8;
BA_ "DiagRequest" BO_ 1793 1;
BA_ "DiagResponse" BO_ 1793 0;
BA_ "DiagState" BO_ 1793 0;
BA_ "DiagUudtResponse" BO_ 1793 1;
BA_ "NmAsrMessage" BO_ 1793 0;
BA_ "GenMsgILSupport" BO_ 1793 0;
BA_ "GenMsgSendType" BO_ 1793 8;
BA_ "DiagRequest" BO_ 1792 0;
BA_ "DiagResponse" BO_ 1792 0;
BA_ "DiagState" BO_ 1792 1;
BA_ "DiagUudtResponse" BO_ 1792 1;
BA_ "NmAsrMessage" BO_ 1792 0;
BA_ "GenMsgILSupport" BO_ 1792 0;
BA_ "GenMsgSendType" BO_ 1792 8;
BA_ "DiagRequest" BO_ 256 0;
BA_ "DiagResponse" BO_ 256 0;
BA_ "DiagState" BO_ 256 0;
BA_ "DiagUudtResponse" BO_ 256 0;
BA_ "NmAsrMessage" BO_ 256 0;
BA_ "GenMsgCycleTime" BO_ 256 100;
BA_ "GenMsgILSupport" BO_ 256 1;
BA_ "GenMsgSendType" BO_ 256 0;
BA_ "GenMsgCycleTime" BO_ 257 100;
BA_ "DiagRequest" BO_ 257 0;
BA_ "DiagResponse" BO_ 257 0;
BA_ "DiagState" BO_ 257 0;
BA_ "DiagUudtResponse" BO_ 257 0;
BA_ "NmAsrMessage" BO_ 257 0;
BA_ "GenMsgCycleTimeFast" BO_ 257 20;
BA_ "GenMsgDelayTime" BO_ 257 10;
BA_ "GenMsgILSupport" BO_ 257 1;
BA_ "GenMsgNrOfRepetition" BO_ 257 3;
BA_ "GenMsgSendType" BO_ 257 7;
BA_ "GenMsgStartDelayTime" BO_ 257 10;

4 摘录:Autosar工具中使用的CAN DBC常用属性

Attribute Name

Object Type

Value Type

Values and Ranges

(Bold = default)

Description

Manufacturer

Network

String

Vector

表示OEM。value必须是 " Vector "。

BusType

Network

String

CAN

CAN FD

定义CAN-2.0和CAN-FD网络。如果至少有一个CAN-FD报文,则必须设置为 "CAN FD"。

VFrameFormat

Message

Enum

CAN Standard

CAN Extended

CAN FD Standard

CAN FD Extended

表示CAN报文的种类。这个属性对每个报文都是可用的,在属性定义中没有声明。它的显示文本是 "ID-Format "或 "Type"。

GenMsgILSupport

Message

Enum

No: 0

Yes: 1

表示一个消息将由COM处理。如果选择 "yes",该信息将由COM处理,否则不处理。

GenMsgSendType

Message

Enum

Cyclic: 0,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NotUsed,

NoMsgSendType: 8

指定I-PDU的Tx行为。可以与任何类型的GenSigSendType相结合。

GenSigSendType

Signal

Enum

Cyclic: 0,

OnWrite: 1,

OnWriteWithRepetition: 2,

OnChange: 3,

OnChangeWithRepetition: 4, NotUsed,

NotUsed,

NoSigSendType: 7

指定一个信号的Tx行为。OnChange仅支持<=4 Byte的信号。

请注意:带重复的发送类型和不带重复的发送类型的组合将导致信息在任何时候都是带重复的发送。

GenMsgCycleTime

Message

Integer

0..65535

每次循环发送信息之间的时间,单位是毫秒。

GenMsgCycleTimeFast

Message

Integer

0..65535

如果至少有一个IfActiveSignal的默认值不同,则每次循环发送消息之间的时间(ms)。

也适用于有重复的消息(即GenMsgNrOfRepetition > 0)。每次重复的时间间隔。

GenSigStartValue

Signal

Integer

Float

0..2147483647

这个值是信号的默认值。

字符串值类型可以表示十六进制和整数值。

GenSigInactiveValue

Signal

Integer

0..2147483647

表示信号的无效值。

GenMsgDelayTime

Message

Integer

0..65535

这是具有相同标识符的不同信息发送之间的最小时间,单位是ms。

GenMsgStartDelayTime

Message

Integer

0..65535

这定义了Com_IpduGroupStart和这个I-PDU的循环部分的第一次发送之间的时间,单位是ms。

GenMsgNrOfRepetition

Message

Integer

0..255

在一个初始发送请求之后的发送重复次数。重复之间的时间必须使用dbc属性GenMsgCycleTimeFast来定义。

GenSigTimeoutTime_<Ecu>

Signal

Integer

0..65535

用于特定节点收到的该信号的超时时间(ms)。

如果为一个消息配置了不同的GenSigTimeoutTime值,并且没有使用更新位,那么最低的超时时间(最强的定义)被用于超时监测。

必须为每个接收此信号的ECU提供一个专门的属性定义(GenSigTimeoutTime_<Ecu>)。

NmAsrMessage

Message

Enum

No = 0,

Yes = 1

该属性定义了相应的消息是否是AUTOSAR NM消息

DiagState

Message

Enum

No = 0,

Yes = 1

设置为 "yes",用于

> Functional (UDS) request

CanTp将使用Normal addressing。

DiagRequest

Message

Enum

No = 0,

Yes = 1

设置为 "yes",用于

> Physical Request

CanTp将使用Normal addressing。

DiagResponse

Message

Enum

No = 0,

Yes = 1

设置为 "是",用于。

> Physical Response

CanTp将使用Normal addressing。

<--返回「实战篇」博文-总目录-->

<--返回「Autosar从入门到精通-实战篇」专栏主页-->

<--返回「个人博客」首页-->

结尾

获取更多“汽车电子资讯”和“工具链使用”,

请关注CSDN博客“汽车电子助手”,做您的好助手。

这篇关于【DBC专题】-12-不同类型报文(应用/诊断/网管/测量标定)在DBC中配置,以及在Autosar各模块间的信号数据流向的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/693900

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.