核心语法:形状决定意义
在工程图纸里,形状是有严格规定的。Mermaid 通过括号来控制形状
- 矩形
[]:表示过程/步骤 (Process)。 - 菱形
{}:表示判断/决策 (Decision)。这是故障排查的核心。 - 圆角
():表示开始/结束 (Start/End)。
布局方向:TD 还是 LR
写在第一行。
flowchart TD(Top-Down):从上到下。适合画决策树、层级结构。flowchart LR(Left-Right):从左到右。适合画工艺流向(比如 气路流程:进气 -> 过滤 -> 分析 -> 排空)。
连线技巧
- 普通箭头:
--> - 带文字的箭头:
-- 文字 -->或者-->|文字|- 在做判断题时很有用:
A -- Yes --> B
- 在做判断题时很有用:
|
|
graph TD
Start[故障现象: 读数异常] --> Q1{光强是否正常?}
Q1 -- No (过低/波动) --> A1[查光学部件]
A1 --> A1_1[换光源灯泡]
A1 --> A1_2[擦拭气室镜片]
A1 --> A1_3[检查光纤连接]
Q1 -- Yes (光强很好) --> Q2{通零气回零吗?}
Q2 -- No (零点高) --> A2[查气路污染]
A2 --> A2_1[清洗气室]
A2 --> A2_2[检查温控是否漂移]
Q2 -- Yes (零点正常) --> Q3{通标气准吗?}
Q3 -- No (偏低/慢) --> A3[查采样系统]
A3 --> A3_1[查泵流速/漏气]
A3 --> A3_2[换滤芯/电磁阀]
Q3 -- Yes --> End[仪器没坏
是工况变了/DAS传输问题]
是工况变了/DAS传输问题]
避坑指南
- 坑 1:菱形括号里不能有特殊字符
- 错误:
Q1{光强 > 50%?} - 原因:
?和%等符号有时会破坏语法。 - 解决:像之前一样,用双引号包起来。
Q1{"光强 > 50%?"}
- 错误:
- 坑 2:节点 ID 重复
- 如果你写
A[检查] --> B[维修] --> A[检查],这表示流程回到了最初的起点(形成了闭环)。 - 如果你只是想表达另一个“检查”步骤,不要用同一个 ID
A,要用A2。
- 如果你写
- 坑 3:混淆
graph和flowchart- 你可能会看到有人写
graph TD,有人写flowchart TD。 - 建议:尽量使用
flowchart。它是新版渲染器,支持更多花样(比如子图 subgraph),而且连线更圆滑,不像graph那么生硬。
- 你可能会看到有人写
|
|
flowchart LR
%% 1. 定义样式:让图更好看
classDef process fill:#e1f5fe,stroke:#01579b,stroke-width:2px;
classDef valve fill:#fff9c4,stroke:#fbc02d,stroke-width:2px;
%% 2. 采样部分
subgraph Sampling [采样端]
Probe(采样探头) --> Filter1[初级过滤]
Filter1 --> HeatLine[伴热管线 120℃]
end
%% 3. 预处理部分
subgraph Conditioning [预处理柜]
HeatLine --> Pump((采样泵))
Pump --> Cooler[冷凝除水]
Cooler --> Filter2[精细过滤]
end
%% 4. 分析部分
subgraph Analyzer [分析仪]
Filter2 --> Valve{切换阀}
Valve -- 样气 --> Chamber[测量气室]
Valve -- 标气 --> Chamber
Chamber --> Outlet(废气排放)
end
%% 5. 外部标气
Cyl[标气瓶] -.-> Valve
%% 应用样式
class Filter1,Filter2,Cooler,Chamber process;
class Valve valve;
subgraph:把图分成了“采样端”、“预处理”、“分析仪”三块,逻辑非常清晰。-.->:虚线箭头,表示标气不是一直通的,是间歇的。classDef:这是进阶玩法,给不同的部件上色(比如过滤器是蓝色,阀门是黄色),看起来很专业。