Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
sparrowzz
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
sgool
sparrowzz
Commits
c973180d
Commit
c973180d
authored
Nov 18, 2021
by
xiang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://github.com/shufengdong/sgoolprojects
parents
fc12fc78
69bd55b3
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
100 行增加
和
17 行删除
+100
-17
jinyun/availCap/src/main/java/com/jinyun/cap/AvailCapMain.java
+100
-17
没有找到文件。
jinyun/availCap/src/main/java/com/jinyun/cap/AvailCapMain.java
查看文件 @
c973180d
...
@@ -134,36 +134,85 @@ public class AvailCapMain {
...
@@ -134,36 +134,85 @@ public class AvailCapMain {
break
;
break
;
}
}
case
"loadPos"
:
{
case
"loadPos"
:
{
// loadPos为分析负荷接入位置,args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为.xml文件的路径
// loadPos为分析负荷接入位置,args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为.xml文件
夹
的路径
// args[4]为负荷
数据,4个数据用,分隔,args[5
]为存储所有馈线数据的数据库文件的路径
// args[4]为负荷
容量,args[5]为负荷特征(1为峰用电,2为谷用电,3为峰谷用电),args[6
]为存储所有馈线数据的数据库文件的路径
SqliteDb
sqliteDb
=
new
SqliteDb
(
args
[
1
]
+
"\\"
+
args
[
2
]
+
".db"
);
SqliteDb
sqliteDb
=
new
SqliteDb
(
args
[
1
]
+
"\\"
+
args
[
2
]
+
".db"
);
String
[]
sourceStationNames
=
new
String
[]{
sqliteDb
.
querySubstationName
(
args
[
2
]
+
substationTableName
)};
String
[]
sourceStationNames
=
new
String
[]{
sqliteDb
.
querySubstationName
(
args
[
2
]
+
substationTableName
)};
JyPowerSystem
ps
=
new
JyPowerSystem
(
sourceStationNames
);
JyPowerSystem
ps
=
new
JyPowerSystem
(
sourceStationNames
);
try
{
try
{
ps
.
loadFromCimXML
(
new
FileInputStream
(
new
File
(
args
[
3
])));
ps
.
loadFromCimXML
(
new
FileInputStream
(
new
File
(
args
[
3
]
+
"\\"
+
args
[
2
]
+
"单线图.sln.xml"
)));
}
catch
(
FileNotFoundException
e
)
{
}
catch
(
FileNotFoundException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
ps
.
createActiveIslands
();
ps
.
createActiveIslands
();
availCapModel
=
new
AvailCapModel
(
ps
);
availCapModel
=
new
AvailCapModel
(
ps
);
availCapModel
.
buildPaths
();
availCapModel
.
buildPaths
();
availCapModel
.
createLoadPosTable
(
args
[
5
],
loadPosTable
);
availCapModel
.
createLoadPosTable
(
args
[
6
],
loadPosTable
);
String
[]
loadStr
=
args
[
4
].
split
(
","
);
double
loadCap
=
Double
.
parseDouble
(
args
[
4
]);
double
[]
loadFt
=
new
double
[
4
];
int
loadType
=
Integer
.
parseInt
(
args
[
5
]);
for
(
int
i
=
0
;
i
<
4
;
i
++)
{
// 生成负荷曲线
loadFt
[
i
]
=
Double
.
parseDouble
(
loadStr
[
i
]);
}
// 生成负荷数据
double
[]
load
=
new
double
[
96
];
double
[]
load
=
new
double
[
96
];
for
(
int
i
=
0
;
i
<
32
;
i
++)
{
double
peakAvg
=
0.75
*
loadCap
;
load
[
i
]
=
loadFt
[
2
];
double
valleyAvg
=
0.4
*
loadCap
;
double
pvAvg
=
0.7
*
loadCap
;
double
minLoad
=
0.2
*
loadCap
;
if
(
loadType
==
1
)
{
load
[
0
]
=
valleyAvg
;
for
(
int
i
=
1
;
i
<
32
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
load
[
32
]
=
peakAvg
;
for
(
int
i
=
33
;
i
<
88
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
load
[
88
]
=
valleyAvg
;
for
(
int
i
=
89
;
i
<
96
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
}
else
if
(
loadType
==
2
)
{
load
[
0
]
=
peakAvg
;
for
(
int
i
=
1
;
i
<
32
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
load
[
32
]
=
valleyAvg
;
for
(
int
i
=
33
;
i
<
88
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
load
[
88
]
=
peakAvg
;
for
(
int
i
=
89
;
i
<
96
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
}
else
if
(
loadType
==
3
)
{
load
[
0
]
=
pvAvg
;
for
(
int
i
=
1
;
i
<
96
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
}
for
(
int
i
=
32
;
i
<
88
;
i
++)
{
load
[
i
]
=
loadFt
[
1
];
}
}
for
(
int
i
=
88
;
i
<
96
;
i
++)
{
for
(
int
i
=
0
;
i
<
96
;
i
++)
{
load
[
i
]
=
loadFt
[
2
]
;
System
.
out
.
println
(
load
[
i
]
+
","
)
;
}
}
// 负荷接入分析
LoadPos
loadPos
=
availCapModel
.
loadPosOpt
(
load
,
args
[
2
]
+
switchTableName
,
LoadPos
loadPos
=
availCapModel
.
loadPosOpt
(
load
,
args
[
2
]
+
switchTableName
,
args
[
2
]
+
availCapTableName
,
args
[
1
]
+
"\\"
+
args
[
2
]
+
".db"
,
args
[
2
]
+
availCapTableName
,
args
[
1
]
+
"\\"
+
args
[
2
]
+
".db"
,
args
[
2
]
+
substationTableName
,
args
[
2
]
+
feederTableName
,
args
[
2
]
+
substationTableName
,
args
[
2
]
+
feederTableName
,
...
@@ -171,7 +220,7 @@ public class AvailCapMain {
...
@@ -171,7 +220,7 @@ public class AvailCapMain {
args
[
2
]
+
swToTfTableName
,
args
[
2
]
+
tfParamTableName
,
args
[
2
]
+
swToTfTableName
,
args
[
2
]
+
tfParamTableName
,
args
[
2
]
+
transformerTableName
+
HistoryData
.
tfAvailCapTable
,
args
[
2
]
+
transformerTableName
+
HistoryData
.
tfAvailCapTable
,
args
[
2
]
+
transformerTableName
+
HistoryData
.
seasonClusterTable
,
args
[
2
]
+
transformerTableName
+
HistoryData
.
seasonClusterTable
,
args
[
2
]
+
transformerTableName
+
HistoryData
.
minITable
,
args
[
5
],
loadPosTable
);
args
[
2
]
+
transformerTableName
+
HistoryData
.
minITable
,
args
[
6
],
loadPosTable
);
break
;
break
;
}
}
case
"mouseOverSw"
:
{
case
"mouseOverSw"
:
{
...
@@ -317,6 +366,14 @@ public class AvailCapMain {
...
@@ -317,6 +366,14 @@ public class AvailCapMain {
System
.
out
.
println
();
System
.
out
.
println
();
break
;
break
;
}
}
case
"allFeederName"
:
{
// allFeederName为查询所有馈线名称。args[1]为存储所有馈线数据的数据库文件的路径
// feederNames为馈线名称列表
SqliteDb
sqliteDb
=
new
SqliteDb
(
args
[
1
]);
List
<
String
>
feederNames
=
sqliteDb
.
queryAllFeederName
(
allFeederNameTable
);
System
.
out
.
println
(
feederNames
.
size
());
break
;
}
case
"allPsWarnDev"
:
{
case
"allPsWarnDev"
:
{
// allPsWarnDev为查询所有馈线设备预警数量。args[1]为存储所有馈线数据的数据库文件的路径
// allPsWarnDev为查询所有馈线设备预警数量。args[1]为存储所有馈线数据的数据库文件的路径
// hardLineNum为重载线路数量,overLineNum为超载线路数量,hardTfNum为重载配变数量,overTfNum为超载配变数量
// hardLineNum为重载线路数量,overLineNum为超载线路数量,hardTfNum为重载配变数量,overTfNum为超载配变数量
...
@@ -515,6 +572,32 @@ public class AvailCapMain {
...
@@ -515,6 +572,32 @@ public class AvailCapMain {
System
.
out
.
println
();
System
.
out
.
println
();
break
;
break
;
}
}
case
"feederWarnDev"
:
{
// feederWarnDev为查询预警元件颜色。args[1]为馈线数据库文件夹路径,args[2]为查询的馈线名称
// yellowTfs为显示黄色的公变列表,redTfs为显示红色的公变列表,yellowLines为显示黄色的线路列表,redLines为显示红色的线路列表,
// 属性loadState为1表示黄色,为2表示红色,属性mRID为设备mRID
SqliteDb
sqliteDb
=
new
SqliteDb
(
args
[
1
]
+
"\\"
+
args
[
2
]
+
".db"
);
List
<
WarnTf
>
warnTfs
=
sqliteDb
.
queryWarnTf
(
args
[
2
]
+
tfWarnTableName
);
List
<
WarnLine
>
warnLines
=
sqliteDb
.
queryWarnLine
(
args
[
2
]
+
lineWarnTableName
);
List
<
WarnTf
>
yellowTfs
=
new
LinkedList
<>();
// 显示黄色的公变
List
<
WarnTf
>
redTfs
=
new
LinkedList
<>();
// 显示红色的公变
List
<
WarnLine
>
yellowLines
=
new
LinkedList
<>();
// 显示黄色的线路
List
<
WarnLine
>
redLines
=
new
LinkedList
<>();
// 显示红色的线路
for
(
WarnTf
warnTf
:
warnTfs
)
{
if
(
warnTf
.
loadState
==
1
)
yellowTfs
.
add
(
warnTf
);
else
redTfs
.
add
(
warnTf
);
}
for
(
WarnLine
warnLine
:
warnLines
)
{
if
(
warnLine
.
loadRate
==
1
)
yellowLines
.
add
(
warnLine
);
else
redLines
.
add
(
warnLine
);
}
System
.
out
.
println
(
yellowTfs
.
size
()
+
", "
+
redTfs
.
size
()
+
", "
+
yellowLines
.
size
()
+
", "
+
redLines
.
size
());
break
;
}
}
}
}
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论