Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
cdy816
Mars
提交
2eda557a
Mars
项目概览
cdy816
/
Mars
通知
3
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Mars
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2eda557a
编写于
4月 12, 2020
作者:
cdy816
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
解压查询Bug修改
上级
e37d1bb1
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
34 addition
and
46 deletion
+34
-46
DataRunner/His/Compress/Special/NoneCompressUnit.cs
DataRunner/His/Compress/Special/NoneCompressUnit.cs
+29
-14
DataRunner/His/HisEnginer.cs
DataRunner/His/HisEnginer.cs
+2
-0
DataRunner/His/HisQuery/QuerySerivce.cs
DataRunner/His/HisQuery/QuerySerivce.cs
+1
-1
DataRunner/His/Tag/HisRunTag.cs
DataRunner/His/Tag/HisRunTag.cs
+2
-31
Mars/.vs/Mars/v16/.suo
Mars/.vs/Mars/v16/.suo
+0
-0
Mars/.vs/Mars/v16/Server/sqlite3/storage.ide
Mars/.vs/Mars/v16/Server/sqlite3/storage.ide
+0
-0
未找到文件。
DataRunner/His/Compress/Special/NoneCompressUnit.cs
浏览文件 @
2eda557a
...
...
@@ -51,7 +51,7 @@ namespace Cdy.Tag
target
.
Write
(
this
.
StartTime
);
target
.
Write
((
ushort
)(
size
-
this
.
QulityOffset
));
//写入值的个数
if
(
size
>
0
)
source
.
CopyTo
(
target
,
sourceAddr
,
targetAddr
+
1
2
,
size
);
source
.
CopyTo
(
target
,
sourceAddr
,
targetAddr
+
1
0
,
size
);
return
size
+
10
;
}
...
...
@@ -148,7 +148,14 @@ namespace Cdy.Tag
// return (int)count;
//}
/// <summary>
/// 读取时间戳
/// </summary>
/// <param name="source"></param>
/// <param name="sourceAddr"></param>
/// <param name="timeTick"></param>
/// <param name="startTime"></param>
/// <returns></returns>
private
Dictionary
<
DateTime
,
int
>
ReadTimeQulity
(
MarshalMemoryBlock
source
,
int
sourceAddr
,
int
timeTick
,
out
DateTime
startTime
)
{
source
.
Position
=
sourceAddr
;
...
...
@@ -164,11 +171,6 @@ namespace Cdy.Tag
{
timeQulities
.
Add
(
startTime
.
AddMilliseconds
(
source
.
ReadUShort
()
*
timeTick
),
i
);
}
while
(
source
.
Position
<
source
.
Length
)
{
timeQulities
.
Add
(
startTime
.
AddTicks
(
source
.
ReadUShort
()
*
timeTick
),
source
.
ReadByte
());
}
return
timeQulities
;
}
...
...
@@ -189,14 +191,17 @@ namespace Cdy.Tag
DateTime
time
;
var
qs
=
ReadTimeQulity
(
source
,
sourceAddr
,
timeTick
,
out
time
);
//读取质量戳,时间戳2个字节,值1个字节,质量戳1个字节
var
qq
=
source
.
ReadBytes
(
qs
.
Count
*
3
,
qs
.
Count
);
//值地址
var
valaddr
=
qs
.
Count
*
2
;
int
i
=
0
;
int
rcount
=
0
;
foreach
(
var
vv
in
qs
)
{
//如果时间戳大于100说明,是其他类型的值,故排除掉
if
(
qq
[
vv
.
Value
]
<
100
)
{
if
(
vv
.
Key
<
startTime
||
vv
.
Key
>
endTime
)
...
...
@@ -227,6 +232,7 @@ namespace Cdy.Tag
DateTime
time
;
var
qs
=
ReadTimeQulity
(
source
,
sourceAddr
,
timeTick
,
out
time
);
//读取质量戳,时间戳2个字节,值1个字节,质量戳1个字节
var
qq
=
source
.
ReadBytes
(
qs
.
Count
*
3
,
qs
.
Count
);
var
valaddr
=
qs
.
Count
*
2
;
...
...
@@ -266,6 +272,7 @@ namespace Cdy.Tag
DateTime
time
;
var
qs
=
ReadTimeQulity
(
source
,
sourceAddr
,
timeTick
,
out
time
);
//读取质量戳,时间戳2个字节,值2个字节,质量戳1个字节
var
qq
=
source
.
ReadBytes
(
qs
.
Count
*
4
,
qs
.
Count
);
var
valaddr
=
qs
.
Count
*
2
;
...
...
@@ -304,6 +311,7 @@ namespace Cdy.Tag
DateTime
time
;
var
qs
=
ReadTimeQulity
(
source
,
sourceAddr
,
timeTick
,
out
time
);
//读取质量戳,时间戳2个字节,值2个字节,质量戳1个字节
var
qq
=
source
.
ReadBytes
(
qs
.
Count
*
4
,
qs
.
Count
);
var
valaddr
=
qs
.
Count
*
2
;
...
...
@@ -342,6 +350,7 @@ namespace Cdy.Tag
DateTime
time
;
var
qs
=
ReadTimeQulity
(
source
,
sourceAddr
,
timeTick
,
out
time
);
//读取质量戳,时间戳2个字节,值4个字节,质量戳1个字节
var
qq
=
source
.
ReadBytes
(
qs
.
Count
*
6
,
qs
.
Count
);
var
valaddr
=
qs
.
Count
*
2
;
...
...
@@ -356,7 +365,7 @@ namespace Cdy.Tag
{
continue
;
}
var
bval
=
source
.
Read
UShor
t
(
valaddr
+
i
*
4
);
var
bval
=
source
.
Read
In
t
(
valaddr
+
i
*
4
);
result
.
Add
(
bval
,
vv
.
Key
,
qq
[
vv
.
Value
]);
rcount
++;
}
...
...
@@ -380,6 +389,7 @@ namespace Cdy.Tag
DateTime
time
;
var
qs
=
ReadTimeQulity
(
source
,
sourceAddr
,
timeTick
,
out
time
);
//读取质量戳,时间戳2个字节,值4个字节,质量戳1个字节
var
qq
=
source
.
ReadBytes
(
qs
.
Count
*
6
,
qs
.
Count
);
var
valaddr
=
qs
.
Count
*
2
;
...
...
@@ -394,7 +404,7 @@ namespace Cdy.Tag
{
continue
;
}
var
bval
=
source
.
ReadU
Shor
t
(
valaddr
+
i
*
4
);
var
bval
=
source
.
ReadU
In
t
(
valaddr
+
i
*
4
);
result
.
Add
(
bval
,
vv
.
Key
,
qq
[
vv
.
Value
]);
rcount
++;
}
...
...
@@ -419,6 +429,7 @@ namespace Cdy.Tag
DateTime
time
;
var
qs
=
ReadTimeQulity
(
source
,
sourceAddr
,
timeTick
,
out
time
);
//读取质量戳,时间戳2个字节,值8个字节,质量戳1个字节
var
qq
=
source
.
ReadBytes
(
qs
.
Count
*
10
,
qs
.
Count
);
var
valaddr
=
qs
.
Count
*
2
;
...
...
@@ -433,7 +444,7 @@ namespace Cdy.Tag
{
continue
;
}
var
bval
=
source
.
Read
UShort
(
valaddr
+
i
*
8
);
var
bval
=
source
.
Read
Long
(
valaddr
+
i
*
8
);
result
.
Add
(
bval
,
vv
.
Key
,
qq
[
vv
.
Value
]);
rcount
++;
}
...
...
@@ -457,6 +468,7 @@ namespace Cdy.Tag
DateTime
time
;
var
qs
=
ReadTimeQulity
(
source
,
sourceAddr
,
timeTick
,
out
time
);
//读取质量戳,时间戳2个字节,值8个字节,质量戳1个字节
var
qq
=
source
.
ReadBytes
(
qs
.
Count
*
10
,
qs
.
Count
);
var
valaddr
=
qs
.
Count
*
2
;
...
...
@@ -471,7 +483,7 @@ namespace Cdy.Tag
{
continue
;
}
var
bval
=
source
.
ReadU
Short
(
valaddr
+
i
*
8
);
var
bval
=
source
.
ReadU
Long
(
valaddr
+
i
*
8
);
result
.
Add
(
bval
,
vv
.
Key
,
qq
[
vv
.
Value
]);
rcount
++;
}
...
...
@@ -495,6 +507,7 @@ namespace Cdy.Tag
DateTime
time
;
var
qs
=
ReadTimeQulity
(
source
,
sourceAddr
,
timeTick
,
out
time
);
//读取质量戳,时间戳2个字节,值4个字节,质量戳1个字节
var
qq
=
source
.
ReadBytes
(
qs
.
Count
*
6
,
qs
.
Count
);
var
valaddr
=
qs
.
Count
*
2
;
...
...
@@ -509,7 +522,7 @@ namespace Cdy.Tag
{
continue
;
}
var
bval
=
source
.
Read
UShor
t
(
valaddr
+
i
*
4
);
var
bval
=
source
.
Read
Floa
t
(
valaddr
+
i
*
4
);
result
.
Add
(
bval
,
vv
.
Key
,
qq
[
vv
.
Value
]);
rcount
++;
}
...
...
@@ -533,6 +546,7 @@ namespace Cdy.Tag
DateTime
time
;
var
qs
=
ReadTimeQulity
(
source
,
sourceAddr
,
timeTick
,
out
time
);
//读取质量戳,时间戳2个字节,值8个字节,质量戳1个字节
var
qq
=
source
.
ReadBytes
(
qs
.
Count
*
10
,
qs
.
Count
);
var
valaddr
=
qs
.
Count
*
2
;
...
...
@@ -547,7 +561,7 @@ namespace Cdy.Tag
{
continue
;
}
var
bval
=
source
.
Read
UShort
(
valaddr
+
i
*
8
);
var
bval
=
source
.
Read
Double
(
valaddr
+
i
*
8
);
result
.
Add
(
bval
,
vv
.
Key
,
qq
[
vv
.
Value
]);
rcount
++;
}
...
...
@@ -571,6 +585,7 @@ namespace Cdy.Tag
DateTime
time
;
var
qs
=
ReadTimeQulity
(
source
,
sourceAddr
,
timeTick
,
out
time
);
//读取质量戳,时间戳2个字节,值8个字节,质量戳1个字节
var
qq
=
source
.
ReadBytes
(
qs
.
Count
*
10
,
qs
.
Count
);
var
valaddr
=
qs
.
Count
*
2
;
...
...
@@ -585,7 +600,7 @@ namespace Cdy.Tag
{
continue
;
}
var
bval
=
source
.
Read
UShort
(
valaddr
+
i
*
8
);
var
bval
=
source
.
Read
DateTime
(
valaddr
+
i
*
8
);
result
.
Add
(
bval
,
vv
.
Key
,
qq
[
vv
.
Value
]);
rcount
++;
}
...
...
DataRunner/His/HisEnginer.cs
浏览文件 @
2eda557a
...
...
@@ -287,6 +287,7 @@ namespace Cdy.Tag
//用于解码时在头尾分别记录前一个区域的值和后一个区域的值
count
+=
2
;
//数据区偏移,时间戳占2个字节
dataOffset
=
regionHeadSize
+
count
*
2
;
switch
(
tagType
)
{
...
...
@@ -330,6 +331,7 @@ namespace Cdy.Tag
count
=
CachMemoryTime
*
1000
/
MemoryTimeTick
;
}
//数据区偏移,时间戳占2个字节,质量戳占1个字节
dataOffset
=
headSize
+
count
*
2
;
switch
(
tagType
)
{
...
...
DataRunner/His/HisQuery/QuerySerivce.cs
浏览文件 @
2eda557a
...
...
@@ -3155,7 +3155,7 @@ namespace Cdy.Tag
{
int
preid
=
ltmp
[
0
];
dtmp
.
Add
(
preid
,
0
);
for
(
int
i
=
0
;
i
<
ltmp
.
Count
;
i
++)
for
(
int
i
=
1
;
i
<
ltmp
.
Count
;
i
++)
{
var
id
=
ltmp
[
i
]
+
preid
;
dtmp
.
Add
(
id
,
i
);
...
...
DataRunner/His/Tag/HisRunTag.cs
浏览文件 @
2eda557a
...
...
@@ -104,39 +104,10 @@ namespace Cdy.Tag
/// </summary>
public
virtual
byte
SizeOfValue
{
get
;
}
///// <summary>
/////
///// </summary>
//public static int HeadSize
//{
// get
// {
// return 4;
// }
//}
///// <summary>
/////
///// </summary>
//public byte[] HeadDatas
//{
// get
// {
// return headBytes;
// }
//}
#
endregion
...
Properties
...
#
region
...
Methods
...
//public void Init()
//{
// var hbyts = new List<byte>(4);
// hbyts.AddRange(BitConverter.GetBytes(this.HisQulityStartAddr - this.TimerValueStartAddr));
// headBytes = hbyts.ToArray();
//}
/// <summary>
///
...
...
@@ -177,8 +148,8 @@ namespace Cdy.Tag
Count
=
vcount
;
//数据内容: 时间戳(time1+time2+...) +数值区(value1+value2+...)+质量戳区(q1+q2+....)
//实时数据内存结构为:实时值+时间戳+质量戳
HisAddr
.
Write
IntDirect
(
TimerValueStartAddr
+
vcount
*
2
,
tim
+
TimerOffset
);
//实时数据内存结构为:实时值+时间戳+质量戳
,时间戳2个字节,质量戳1个字节
HisAddr
.
Write
UShort
(
TimerValueStartAddr
+
vcount
*
2
,
(
ushort
)(
tim
+
TimerOffset
)
);
//写入数值
//HisAddr.WriteBytesDirect(HisValueStartAddr + vcount * SizeOfValue, RealMemoryAddr, RealValueAddr, SizeOfValue);
...
...
Mars/.vs/Mars/v16/.suo
浏览文件 @
2eda557a
无法预览此类型文件
Mars/.vs/Mars/v16/Server/sqlite3/storage.ide
浏览文件 @
2eda557a
无法预览此类型文件
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录