Skip to content

Commit b99353c

Browse files
committed
增加项目介绍文档和设备管理文档
1 parent 355a947 commit b99353c

15 files changed

Lines changed: 202 additions & 8 deletions

File tree

docs/.vitepress/config.ts

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@ export default defineConfig({
2828
// 侧边栏
2929
sidebar: {
3030
'/guide/': [
31+
{
32+
text: '关于项目',
33+
collapsed: false,
34+
items: [
35+
{ text: '项目介绍', link: '/guide/about/project-introduction' }
36+
]
37+
},
3138
{
3239
text: '安装部署',
3340
collapsed: false,
@@ -42,7 +49,8 @@ export default defineConfig({
4249
text: '设备模块',
4350
collapsed: false,
4451
items: [
45-
{ text: '协议支持', link: '/guide/device/protocols' }
52+
{ text: '协议支持', link: '/guide/device/protocols' },
53+
{ text: '设备管理', link: '/guide/device/device-management' }
4654
]
4755
},
4856
{
@@ -56,14 +64,14 @@ export default defineConfig({
5664
{ text: '公式使用', link: '/guide/point/formula' },
5765
{ text: '寄存器解析', link: '/guide/point/register-parsing' }
5866
]
59-
},
60-
{
61-
text: '操作手册',
62-
collapsed: false,
63-
items: [
64-
{ text: '用户使用手册', link: '/guide/manual/user-manual' }
65-
]
6667
}
68+
// {
69+
// text: '操作手册',
70+
// collapsed: false,
71+
// items: [
72+
// { text: '用户使用手册', link: '/guide/manual/user-manual' }
73+
// ]
74+
// }
6775
],
6876
'/api/': [
6977
{

docs/.vitepress/theme/custom.css

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,4 +170,29 @@ section.VPSidebarItem.level-0,
170170
.VPSidebarGroup {
171171
padding-top: 12px !important;
172172
padding-bottom: 0 !important;
173+
}
174+
175+
/* =========================================
176+
自定义滚动条样式 (类似 Element UI)
177+
========================================= */
178+
*::-webkit-scrollbar {
179+
width: 6px;
180+
height: 6px;
181+
}
182+
183+
*::-webkit-scrollbar-track {
184+
background: transparent;
185+
}
186+
187+
*::-webkit-scrollbar-thumb {
188+
background: transparent;
189+
border-radius: 3px;
190+
}
191+
192+
*:hover::-webkit-scrollbar-thumb {
193+
background: rgba(144, 147, 153, 0.3);
194+
}
195+
196+
*::-webkit-scrollbar-thumb:hover {
197+
background: rgba(144, 147, 153, 0.5) !important;
173198
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# 项目介绍
2+
3+
## 个人介绍
4+
5+
本人2023年毕业后,一直在杭州某新能源企业从事储能EMS能源管理系统开发工作。
6+
7+
工作语言:C++、Python。
8+
9+
主要工作内容:
10+
11+
- Linux C++开发,Web后端
12+
- 电力通讯协议(Modbus、DL/T645-2007、IEC104、IEC61850)
13+
- 策略算法
14+
- 实时数据采集
15+
- 历史时序数据存储
16+
- 第三方平台对接(调度、云平台)
17+
18+
## 项目背景
19+
- **开发初衷**:为什么要做这个 EMS Simulate 模拟器?
20+
21+
1. 公司没有测试环境,也很难搭建测试环境,真实环境搭建流程非常繁琐,而且成本很高。
22+
23+
2. 公司主要负责做集成,大项目EMS都是外采,只有部分小项目会分给内部EMS部门做,也就意味着部门其实拿不到什么资源,所以很多时候软件开发出来只能到项目现场调试,那么问题就会非常多,有些时候影响交付进度,容易吃到客户的投诉和内部交付部门的投诉。
24+
25+
3. 2023年开始我刚进到公司的时候,主要还是接的一些小型站控级的储能集装箱项目,一般在5-10MW左右,每个现场都是不同厂家的PCS、BMS、电表、保护设备等等,也就意味着每个现场都需要重新配置点表。同时不同现场还有各种定制化的需求,比如说:
26+
27+
- 有些项目要接虚拟电厂、客户云平台、地方调度等(对于EMS来说就是数据转发,通过IEC104协议或者Modbus协议)。
28+
- 有些项目1个PCS拖2个BMS的,需要调整功率下发策略和保护策略。
29+
- 设备有些时候是走串口服务器,有些时候是走交换机,有些时候是直连。接的设备有多有少,小项目可能就几个通道,大项目可能就是10几个通道甚至更多,EMS软件底层的通讯在面对如此复杂的场景,存在些许兼容性的问题,导致数据采集异常。
30+
31+
上面这些问题平时开发很难进行测试,传统的调试工具只能简单地测试通讯和验证协议,不能对实质业务进行测试。
32+
33+
4. EMS软件一直都在迭代升级,平时新版本更新到现场时经常出现问题,容易吃到客户投诉,双休日也经常会接到客户电话。
34+
35+
5. 这两年主要是做储能一体柜的EMS,但是和站控级EMS存在同样的问题,设备厂家经常更换,而且点位相比之前更加复杂,比如说下面一个点位包含了运行信息、并离网状态和故障错误。
36+
37+
![](/doc-img/introduction/1.png)
38+
39+
- **要解决的问题**:在实际开发或测试中遇到了哪些痛点?
40+
41+
1. 解决测试环境搭建困难,难以对EMS进行系统测试的问题。
42+
43+
2. 加快现场调试进度,能够更快更精准地定位问题。
44+
45+
3. 解决传统调试工具只能模拟单个设备、单种协议、无法跨设备进行数据同步的问题。
46+
47+
4. 解决传统调试工具无法进行场景模拟的问题。
48+
49+
例子1:给PCS下发开关机指令,会引发PCS运行状态测点变化。
50+
51+
例子2:国外的某个项目需要用到黑启动功能,也就是电网失电,EMS需要自动将PCS从并网模式切换到离网模式。电网失电这个场景的模拟可以是电网频率和电流变为0,然后引发一系列测点联动的变化,普通的调试工具很难做到。
52+
53+
- **项目目标**:这个项目希望达到什么样的效果?
54+
55+
1. 可以帮助EMS开发者更方便地进行系统测试。
56+
2. 现在工商储一体柜EMS大多数都是发到现场插4g卡到工控机上,连上网后远程进行调试。考虑到这个场景,项目开发采用WEB版本,可以在网页上使用该模拟工具,加快现场远程调试进度,方便定位问题。
57+
58+
### 联系方式
59+
60+
- QQ:1755696012
61+
- 微信:axaxax13579
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# 设备管理
2+
3+
设备模块提供了对模拟器中设备和设备组的全面管理功能。本指南将介绍如何进行设备组管理、设备管理以及测点的导入操作。
4+
5+
## 设备组管理
6+
7+
设备组用于对相同类型或相同业务场景的设备进行逻辑分组,方便统一管理。
8+
9+
### 添加设备组
10+
11+
1. 在侧边栏,点击设备组区域的“添加”按钮。
12+
2. 填写设备组名称等基本信息。
13+
3. 点击“确定”保存。
14+
15+
> ![](/doc-img/device/device-management/1.png)
16+
17+
### 编辑设备组
18+
19+
1. 选择需要编辑的设备组。
20+
2. 修改设备组的名称和信息。
21+
3. 点击“确定”保存修改。
22+
23+
> ![](/doc-img/device/device-management/2.png)
24+
25+
### 删除设备组
26+
27+
1. 选择需要删除的设备组。
28+
2. 点击下拉列表,点击“删除”按钮,在弹出的确认框中确认删除操作。
29+
3. **注意**:删除设备组会包含它里面的设备以及测点。
30+
31+
> ![](/doc-img/device/device-management/3.png)
32+
33+
## 设备管理
34+
35+
设备是模拟器中进行数据采集和控制的基本单元。
36+
37+
### 添加设备
38+
39+
1. 选中要添加设备的设备组。
40+
2. 点击“新增主站”或者“新增从站”按钮。
41+
3. 填写基本参数、连接参数等配置信息。
42+
4. 点击“确定”完成添加。
43+
44+
> ![](/doc-img/device/device-management/4.png)
45+
46+
### 编辑设备
47+
48+
1. 在设备列表中点击选中需要编辑的设备。
49+
2. 在右侧修改设备的连接参数或基本信息。
50+
3. 点击上方“保存配置”按钮。
51+
52+
> ![](/doc-img/device/device-management/5.png)
53+
54+
### 删除设备
55+
56+
1. 在设备列表中选择需要删除的设备,点击右键。
57+
2. 点击弹出的“删除”按钮。
58+
3. 确认后即从系统中移除该设备。
59+
60+
> ![](/doc-img/device/device-management/6.png)
61+
62+
## 导入测点
63+
64+
为了方便快速配置设备的数据点,系统支持通过模板或文件批量导入测点信息。
65+
66+
1. 在设备列表中,选择需要导入测点的目标设备。
67+
68+
2. 点击“导入测点”按钮。
69+
70+
3. 选择准备好的测点配置文件(通常为 Excel 文件)。
71+
72+
>![](/doc-img/device/device-management/7.png)
73+
74+
4. 上传文件并确认导入。系统将自动解析并在该设备下生成对应的测点。
75+
76+
>![](/doc-img/device/device-management/8.png)
77+
78+
## 设备控制
79+
80+
### 启动设备
81+
82+
1. 在左侧设备树中点击选中需要启动的设备。
83+
84+
2. 在右侧的设备详情展示区,点击上方的主操作按钮“开启设备”。
85+
86+
3. 设备状态将变更为“运行中”,开始与外部系统进行通讯和数据交互。
87+
88+
>![](/doc-img/device/device-management/9.png)
89+
90+
### 关闭设备
91+
92+
1. 在左侧设备树中点击选中正在运行的设备。
93+
94+
2. 在右侧的设备详情展示区,点击上方的主操作按钮“停止设备”。
95+
96+
3. 设备状态将变更为“停止”,设备连接断开,停止数据交互。
97+
98+
>![](/doc-img/device/device-management/10.png)
99+
100+
68.4 KB
Loading
688 KB
Loading
45.3 KB
Loading
45.8 KB
Loading
146 KB
Loading
146 KB
Loading

0 commit comments

Comments
 (0)