Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
cdy816
Mars
提交
4bee499b
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 搜索 >>
提交
4bee499b
编写于
5月 06, 2020
作者:
cdy816
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加退出保存数据功能。以及Sim仿真多线程赋值。
上级
b444ee29
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
127 addition
and
46 deletion
+127
-46
DBHisData/HisQuery/TimeFile/DataFileInfo.cs
DBHisData/HisQuery/TimeFile/DataFileInfo.cs
+8
-1
DBInRun/Program.cs
DBInRun/Program.cs
+7
-1
DataRunner/His/Compress/CompressEnginer.cs
DataRunner/His/Compress/CompressEnginer.cs
+6
-1
DataRunner/His/Compress/CompressMemory.cs
DataRunner/His/Compress/CompressMemory.cs
+3
-1
DataRunner/His/HisEnginer.cs
DataRunner/His/HisEnginer.cs
+34
-6
DataRunner/His/LogManager.cs
DataRunner/His/LogManager.cs
+2
-0
DataRunner/His/Serise/SeriseEnginer.cs
DataRunner/His/Serise/SeriseEnginer.cs
+9
-5
DataRunner/His/TimerMemoryCacheProcesser.cs
DataRunner/His/TimerMemoryCacheProcesser.cs
+23
-4
DataRunner/His/ValueChangedMemoryCacheProcesser.cs
DataRunner/His/ValueChangedMemoryCacheProcesser.cs
+2
-1
SimDriver/Driver.cs
SimDriver/Driver.cs
+33
-26
未找到文件。
DBHisData/HisQuery/TimeFile/DataFileInfo.cs
浏览文件 @
4bee499b
...
@@ -91,7 +91,14 @@ namespace Cdy.Tag
...
@@ -91,7 +91,14 @@ namespace Cdy.Tag
Scan
();
Scan
();
}
}
DataFileManager
.
CurrentDateTime
.
Add
(
FId
,
mLastTime
);
if
(
DataFileManager
.
CurrentDateTime
.
ContainsKey
(
FId
))
{
DataFileManager
.
CurrentDateTime
[
FId
]
=
mLastTime
;
}
else
{
DataFileManager
.
CurrentDateTime
.
Add
(
FId
,
mLastTime
);
}
}
}
...
...
DBInRun/Program.cs
浏览文件 @
4bee499b
...
@@ -23,11 +23,17 @@ namespace DBInRun
...
@@ -23,11 +23,17 @@ namespace DBInRun
}
}
}
}
Console
.
WriteLine
(
Res
.
Get
(
"HelpMsg"
));
Console
.
WriteLine
(
Res
.
Get
(
"HelpMsg"
));
while
(!
mIsClosed
)
while
(!
mIsClosed
)
{
{
Console
.
Write
(
">"
);
Console
.
Write
(
">"
);
string
[]
cmd
=
Console
.
ReadLine
().
Split
(
new
string
[]
{
" "
},
StringSplitOptions
.
RemoveEmptyEntries
);
string
smd
=
Console
.
ReadLine
();
if
(
string
.
IsNullOrEmpty
(
smd
))
continue
;
string
[]
cmd
=
smd
.
Split
(
new
string
[]
{
" "
},
StringSplitOptions
.
RemoveEmptyEntries
);
if
(
cmd
.
Length
==
0
)
continue
;
if
(
cmd
.
Length
==
0
)
continue
;
...
...
DataRunner/His/Compress/CompressEnginer.cs
浏览文件 @
4bee499b
...
@@ -123,6 +123,7 @@ namespace Cdy.Tag
...
@@ -123,6 +123,7 @@ namespace Cdy.Tag
/// </summary>
/// </summary>
public
void
Start
()
public
void
Start
()
{
{
mIsClosed
=
false
;
mHisTagService
=
ServiceLocator
.
Locator
.
Resolve
<
IHisEngine
>();
mHisTagService
=
ServiceLocator
.
Locator
.
Resolve
<
IHisEngine
>();
Init
();
Init
();
...
@@ -139,7 +140,7 @@ namespace Cdy.Tag
...
@@ -139,7 +140,7 @@ namespace Cdy.Tag
/// </summary>
/// </summary>
public
void
Stop
()
public
void
Stop
()
{
{
mIsClosed
=
fals
e
;
mIsClosed
=
tru
e
;
resetEvent
.
Set
();
resetEvent
.
Set
();
closedEvent
.
WaitOne
();
closedEvent
.
WaitOne
();
...
@@ -151,6 +152,7 @@ namespace Cdy.Tag
...
@@ -151,6 +152,7 @@ namespace Cdy.Tag
foreach
(
var
vv
in
mTargetMemorys
)
foreach
(
var
vv
in
mTargetMemorys
)
{
{
while
(
vv
.
Value
.
IsBusy
())
Thread
.
Sleep
(
1
);
vv
.
Value
.
Dispose
();
vv
.
Value
.
Dispose
();
}
}
mTargetMemorys
.
Clear
();
mTargetMemorys
.
Clear
();
...
@@ -236,6 +238,9 @@ namespace Cdy.Tag
...
@@ -236,6 +238,9 @@ namespace Cdy.Tag
}
}
closedEvent
.
Set
();
closedEvent
.
Set
();
LoggerService
.
Service
.
Info
(
"Compress"
,
"压缩线程退出!"
);
}
}
#
endregion
...
Methods
...
#
endregion
...
Methods
...
...
...
DataRunner/His/Compress/CompressMemory.cs
浏览文件 @
4bee499b
...
@@ -168,6 +168,8 @@ namespace Cdy.Tag
...
@@ -168,6 +168,8 @@ namespace Cdy.Tag
Dictionary
<
int
,
long
>
dtmp
=
new
Dictionary
<
int
,
long
>();
Dictionary
<
int
,
long
>
dtmp
=
new
Dictionary
<
int
,
long
>();
this
.
MakeMemoryBusy
();
//更新数据区域
//更新数据区域
foreach
(
var
vv
in
mTagAddress
)
foreach
(
var
vv
in
mTagAddress
)
{
{
...
@@ -192,7 +194,7 @@ namespace Cdy.Tag
...
@@ -192,7 +194,7 @@ namespace Cdy.Tag
ServiceLocator
.
Locator
.
Resolve
<
IDataSerialize
>().
RequestToSeriseFile
(
this
,
mCurrentTime
);
ServiceLocator
.
Locator
.
Resolve
<
IDataSerialize
>().
RequestToSeriseFile
(
this
,
mCurrentTime
);
sw
.
Stop
();
sw
.
Stop
();
LoggerService
.
Service
.
Info
(
"
Serise
Enginer"
,
Id
+
"压缩完成 耗时:"
+
sw
.
ElapsedMilliseconds
);
LoggerService
.
Service
.
Info
(
"
Compress
Enginer"
,
Id
+
"压缩完成 耗时:"
+
sw
.
ElapsedMilliseconds
);
}
}
/// <summary>
/// <summary>
...
...
DataRunner/His/HisEnginer.cs
浏览文件 @
4bee499b
...
@@ -120,8 +120,13 @@ namespace Cdy.Tag
...
@@ -120,8 +120,13 @@ namespace Cdy.Tag
private
int
mMergeCount
=
0
;
private
int
mMergeCount
=
0
;
private
bool
mNeedSnapAllTag
=
false
;
private
bool
mNeedSnapAllTag
=
false
;
private
DateTime
mSnapAllTagTime
=
DateTime
.
Now
;
private
DateTime
mSnapAllTagTime
=
DateTime
.
Now
;
private
bool
mForceSubmiteToCompress
=
false
;
private
bool
mMegerProcessIsClosed
=
false
;
#
endregion
...
Variables
...
#
endregion
...
Variables
...
#
region
...
Events
...
#
region
...
Events
...
...
@@ -497,7 +502,7 @@ namespace Cdy.Tag
...
@@ -497,7 +502,7 @@ namespace Cdy.Tag
public
void
Start
()
public
void
Start
()
{
{
mIsClosed
=
false
;
mIsClosed
=
false
;
mMegerProcessIsClosed
=
false
;
if
(
LogManager
!=
null
)
if
(
LogManager
!=
null
)
{
{
LogManager
.
InitHeadData
(
this
.
mHisTags
);
LogManager
.
InitHeadData
(
this
.
mHisTags
);
...
@@ -563,7 +568,7 @@ namespace Cdy.Tag
...
@@ -563,7 +568,7 @@ namespace Cdy.Tag
{
{
resetEvent
.
WaitOne
();
resetEvent
.
WaitOne
();
resetEvent
.
Reset
();
resetEvent
.
Reset
();
if
(
mIsClosed
)
return
;
//
if (mIsClosed) return;
if
(
mNeedSnapAllTag
)
if
(
mNeedSnapAllTag
)
{
{
...
@@ -575,7 +580,7 @@ namespace Cdy.Tag
...
@@ -575,7 +580,7 @@ namespace Cdy.Tag
//如果合并满了,则提交给压缩流程进行压缩
//如果合并满了,则提交给压缩流程进行压缩
count
++;
count
++;
if
(
count
>=
number
)
if
(
count
>=
number
||
mForceSubmiteToCompress
)
{
{
if
(
mMergeMemory
!=
null
)
if
(
mMergeMemory
!=
null
)
...
@@ -585,7 +590,7 @@ namespace Cdy.Tag
...
@@ -585,7 +590,7 @@ namespace Cdy.Tag
mMergeMemory
.
MakeMemoryBusy
();
mMergeMemory
.
MakeMemoryBusy
();
//提交到数据压缩流程
//提交到数据压缩流程
ServiceLocator
.
Locator
.
Resolve
<
IDataCompress
>().
RequestToCompress
(
mMergeMemory
);
ServiceLocator
.
Locator
.
Resolve
<
IDataCompress
>().
RequestToCompress
(
mMergeMemory
);
LoggerService
.
Service
.
Info
(
"
Record
"
,
"提交内存 "
+
mMergeMemory
.
Name
+
" 进行压缩"
,
ConsoleColor
.
Green
);
LoggerService
.
Service
.
Info
(
"
HisEnginer
"
,
"提交内存 "
+
mMergeMemory
.
Name
+
" 进行压缩"
,
ConsoleColor
.
Green
);
//等待压缩完成
//等待压缩完成
while
(
mMergeMemory
.
IsBusy
())
Thread
.
Sleep
(
1
);
while
(
mMergeMemory
.
IsBusy
())
Thread
.
Sleep
(
1
);
...
@@ -594,6 +599,9 @@ namespace Cdy.Tag
...
@@ -594,6 +599,9 @@ namespace Cdy.Tag
count
=
0
;
count
=
0
;
}
}
}
}
LoggerService
.
Service
.
Info
(
"HisEnginer"
,
"合并线程退出!"
,
ConsoleColor
.
Green
);
mMegerProcessIsClosed
=
true
;
}
}
/// <summary>
/// <summary>
...
@@ -834,15 +842,29 @@ namespace Cdy.Tag
...
@@ -834,15 +842,29 @@ namespace Cdy.Tag
mIsBusy
=
false
;
mIsBusy
=
false
;
}
}
/// <summary>
/// <summary>
///
///
/// </summary>
/// </summary>
p
ublic
void
Stop
()
p
rivate
void
SubmitLastDataToSave
()
{
{
mNeedSnapAllTag
=
true
;
mForceSubmiteToCompress
=
true
;
mIsClosed
=
true
;
mIsClosed
=
true
;
SubmiteMemory
(
DateTime
.
Now
);
while
(!
mMegerProcessIsClosed
)
Thread
.
Sleep
(
1
);
}
/// <summary>
///
/// </summary>
public
void
Stop
()
{
mRecordTimer
.
Stop
();
mRecordTimer
.
Stop
();
if
(
mRecordTimer
!=
null
)
if
(
mRecordTimer
!=
null
)
{
{
mRecordTimer
.
Elapsed
-=
MRecordTimer_Elapsed
;
mRecordTimer
.
Dispose
();
mRecordTimer
.
Dispose
();
mRecordTimer
=
null
;
mRecordTimer
=
null
;
}
}
...
@@ -858,16 +880,22 @@ namespace Cdy.Tag
...
@@ -858,16 +880,22 @@ namespace Cdy.Tag
vv
.
Stop
();
vv
.
Stop
();
vv
.
Dispose
();
vv
.
Dispose
();
}
}
mValueChangedProcesser
.
Clear
();
if
(
LogManager
!=
null
)
LogManager
.
Stop
();
if
(
LogManager
!=
null
)
LogManager
.
Stop
();
mValueChangedProcesser
.
Clear
();
SubmitLastDataToSave
();
mIsClosed
=
true
;
mLastValueChangedProcesser
=
null
;
mLastValueChangedProcesser
=
null
;
mLastProcesser
=
null
;
mLastProcesser
=
null
;
mHisTags
.
Clear
();
mHisTags
.
Clear
();
mCachMemory1
?.
Dispose
();
mCachMemory2
?.
Dispose
();
mMergeMemory
?.
Dispose
();
}
}
/// <summary>
/// <summary>
...
...
DataRunner/His/LogManager.cs
浏览文件 @
4bee499b
...
@@ -195,6 +195,8 @@ namespace Cdy.Tag
...
@@ -195,6 +195,8 @@ namespace Cdy.Tag
LoggerService
.
Service
.
Info
(
"LogManager"
,
"记录"
+
mNeedSaveMemory1
.
Name
+
"到日志文件 耗时"
+
sw
.
ElapsedMilliseconds
+
" "
);
LoggerService
.
Service
.
Info
(
"LogManager"
,
"记录"
+
mNeedSaveMemory1
.
Name
+
"到日志文件 耗时"
+
sw
.
ElapsedMilliseconds
+
" "
);
}
}
closedEvent
.
Set
();
closedEvent
.
Set
();
LoggerService
.
Service
.
Info
(
"LogManager"
,
"退出!"
);
}
}
/// <summary>
/// <summary>
...
...
DataRunner/His/Serise/SeriseEnginer.cs
浏览文件 @
4bee499b
...
@@ -56,7 +56,7 @@ namespace Cdy.Tag
...
@@ -56,7 +56,7 @@ namespace Cdy.Tag
private
DateTime
mCurrentTime
;
private
DateTime
mCurrentTime
;
private
SeriseFileItem
[]
mSeriseFile
;
//
private SeriseFileItem[] mSeriseFile;
private
Dictionary
<
int
,
CompressMemory
>
mWaitForProcessMemory
=
new
Dictionary
<
int
,
CompressMemory
>();
private
Dictionary
<
int
,
CompressMemory
>
mWaitForProcessMemory
=
new
Dictionary
<
int
,
CompressMemory
>();
...
@@ -205,6 +205,7 @@ namespace Cdy.Tag
...
@@ -205,6 +205,7 @@ namespace Cdy.Tag
/// </summary>
/// </summary>
public
void
Start
()
public
void
Start
()
{
{
mIsClosed
=
false
;
Init
();
Init
();
resetEvent
=
new
ManualResetEvent
(
false
);
resetEvent
=
new
ManualResetEvent
(
false
);
closedEvent
=
new
ManualResetEvent
(
false
);
closedEvent
=
new
ManualResetEvent
(
false
);
...
@@ -218,14 +219,17 @@ namespace Cdy.Tag
...
@@ -218,14 +219,17 @@ namespace Cdy.Tag
/// </summary>
/// </summary>
public
void
Stop
()
public
void
Stop
()
{
{
mIsClosed
=
fals
e
;
mIsClosed
=
tru
e
;
resetEvent
.
Set
();
resetEvent
.
Set
();
closedEvent
.
WaitOne
();
closedEvent
.
WaitOne
();
foreach
(
var
vv
in
mSeriseFile
)
if
(
mSeriserFiles
!=
null
)
{
{
vv
.
Dispose
();
foreach
(
var
vv
in
mSeriserFiles
)
{
vv
.
Value
.
Dispose
();
}
mSeriserFiles
.
Clear
();
}
}
mSeriseFile
=
null
;
resetEvent
.
Dispose
();
resetEvent
.
Dispose
();
closedEvent
.
Dispose
();
closedEvent
.
Dispose
();
...
...
DataRunner/His/TimerMemoryCacheProcesser.cs
浏览文件 @
4bee499b
...
@@ -11,6 +11,7 @@ using System.Collections.Generic;
...
@@ -11,6 +11,7 @@ using System.Collections.Generic;
using
System.Text
;
using
System.Text
;
using
System.Threading
;
using
System.Threading
;
using
System.Linq
;
using
System.Linq
;
using
System.Diagnostics
;
namespace
Cdy.Tag
namespace
Cdy.Tag
{
{
...
@@ -33,7 +34,7 @@ namespace Cdy.Tag
...
@@ -33,7 +34,7 @@ namespace Cdy.Tag
/// </summary>
/// </summary>
private
Dictionary
<
long
,
long
>
mCount
=
new
Dictionary
<
long
,
long
>();
private
Dictionary
<
long
,
long
>
mCount
=
new
Dictionary
<
long
,
long
>();
public
const
int
MaxTagCount
=
10
0000
;
public
const
int
MaxTagCount
=
5
0000
;
private
int
mCurrentCount
=
0
;
private
int
mCurrentCount
=
0
;
...
@@ -99,7 +100,8 @@ namespace Cdy.Tag
...
@@ -99,7 +100,8 @@ namespace Cdy.Tag
if
(
mIsBusy
)
if
(
mIsBusy
)
{
{
mBusyCount
++;
mBusyCount
++;
if
(
Id
==
0
)
//if(Id==0)
if
(
mBusyCount
>
4
)
LoggerService
.
Service
.
Warn
(
"Record"
,
"TimerMemoryCacheProcesser"
+
Id
+
" 出现阻塞:"
+
mBusyCount
);
LoggerService
.
Service
.
Warn
(
"Record"
,
"TimerMemoryCacheProcesser"
+
Id
+
" 出现阻塞:"
+
mBusyCount
);
}
}
else
else
...
@@ -127,7 +129,7 @@ namespace Cdy.Tag
...
@@ -127,7 +129,7 @@ namespace Cdy.Tag
{
{
mIsClosed
=
true
;
mIsClosed
=
true
;
resetEvent
.
Set
();
resetEvent
.
Set
();
closedEvent
.
WaitOne
(
1000
);
closedEvent
.
WaitOne
();
}
}
/// <summary>
/// <summary>
...
@@ -167,7 +169,7 @@ namespace Cdy.Tag
...
@@ -167,7 +169,7 @@ namespace Cdy.Tag
mCount
.
Clear
();
mCount
.
Clear
();
mCurrentCount
=
0
;
mCurrentCount
=
0
;
}
}
/// <summary>
/// <summary>
///
///
...
@@ -184,6 +186,7 @@ namespace Cdy.Tag
...
@@ -184,6 +186,7 @@ namespace Cdy.Tag
try
try
{
{
mIsBusy
=
true
;
mIsBusy
=
true
;
foreach
(
var
vv
in
vkeys
)
foreach
(
var
vv
in
vkeys
)
{
{
mCount
[
vv
]
+=
HisEnginer
.
MemoryTimeTick
;
mCount
[
vv
]
+=
HisEnginer
.
MemoryTimeTick
;
...
@@ -193,6 +196,7 @@ namespace Cdy.Tag
...
@@ -193,6 +196,7 @@ namespace Cdy.Tag
ProcessTags
(
mTimerTags
[
vv
]);
ProcessTags
(
mTimerTags
[
vv
]);
}
}
}
}
mIsBusy
=
false
;
mIsBusy
=
false
;
}
}
catch
catch
...
@@ -202,6 +206,8 @@ namespace Cdy.Tag
...
@@ -202,6 +206,8 @@ namespace Cdy.Tag
resetEvent
.
Reset
();
resetEvent
.
Reset
();
}
}
closedEvent
.
Set
();
closedEvent
.
Set
();
LoggerService
.
Service
.
Info
(
"TimerMemoryCacheProcesser"
,
Id
+
" 退出"
);
}
}
...
@@ -211,11 +217,24 @@ namespace Cdy.Tag
...
@@ -211,11 +217,24 @@ namespace Cdy.Tag
/// <param name="tags"></param>
/// <param name="tags"></param>
private
void
ProcessTags
(
List
<
HisRunTag
>
tags
)
private
void
ProcessTags
(
List
<
HisRunTag
>
tags
)
{
{
//Stopwatch sw = new Stopwatch();
//sw.Start();
int
tim
=
(
int
)((
mLastUpdateTime
-
HisRunTag
.
StartTime
).
TotalMilliseconds
/
HisEnginer
.
MemoryTimeTick
);
int
tim
=
(
int
)((
mLastUpdateTime
-
HisRunTag
.
StartTime
).
TotalMilliseconds
/
HisEnginer
.
MemoryTimeTick
);
//System.Threading.Tasks.Parallel.ForEach(tags, (vv) =>
//{
// vv.UpdateValue(tim);
//});
foreach
(
var
vv
in
tags
)
foreach
(
var
vv
in
tags
)
{
{
vv
.
UpdateValue
(
tim
);
vv
.
UpdateValue
(
tim
);
}
}
//{
//sw.Stop();
// LoggerService.Service.Info("ProcessTags", "TimerMemoryCacheProcesser" + Id + " 处理变量:" +tags.Count+" " + sw.ElapsedMilliseconds);
//}
}
}
/// <summary>
/// <summary>
...
...
DataRunner/His/ValueChangedMemoryCacheProcesser.cs
浏览文件 @
4bee499b
...
@@ -129,7 +129,7 @@ namespace Cdy.Tag
...
@@ -129,7 +129,7 @@ namespace Cdy.Tag
{
{
mIsClosed
=
true
;
mIsClosed
=
true
;
resetEvent
.
Set
();
resetEvent
.
Set
();
closedEvent
.
WaitOne
(
1000
);
closedEvent
.
WaitOne
();
}
}
/// <summary>
/// <summary>
...
@@ -261,6 +261,7 @@ namespace Cdy.Tag
...
@@ -261,6 +261,7 @@ namespace Cdy.Tag
resetEvent
.
Reset
();
resetEvent
.
Reset
();
}
}
closedEvent
.
Set
();
closedEvent
.
Set
();
LoggerService
.
Service
.
Info
(
"ValueChangedMemoryCacheProcesser"
,
Name
+
" 退出"
);
}
}
/// <summary>
/// <summary>
...
...
SimDriver/Driver.cs
浏览文件 @
4bee499b
...
@@ -27,6 +27,8 @@ namespace SimDriver
...
@@ -27,6 +27,8 @@ namespace SimDriver
private
DateTime
mLastProcessTime
=
DateTime
.
Now
;
private
DateTime
mLastProcessTime
=
DateTime
.
Now
;
private
int
mBusyCount
=
0
;
#
endregion
...
Variables
...
#
endregion
...
Variables
...
#
region
...
Events
...
#
region
...
Events
...
...
@@ -113,29 +115,49 @@ namespace SimDriver
...
@@ -113,29 +115,49 @@ namespace SimDriver
if
(
mIsBusy
)
if
(
mIsBusy
)
{
{
mBusyCount
++;
if
(
mBusyCount
>=
10
)
LoggerService
.
Service
.
Warn
(
"Sim Driver"
,
"出现阻塞"
);
LoggerService
.
Service
.
Warn
(
"Sim Driver"
,
"出现阻塞"
);
return
;
return
;
}
}
mBusyCount
=
0
;
mIsBusy
=
true
;
mIsBusy
=
true
;
DateTime
time
=
DateTime
.
Now
;
DateTime
time
=
DateTime
.
Now
;
if
((
time
-
mLastProcessTime
).
Seconds
<
1
)
if
((
time
-
mLastProcessTime
).
Seconds
<
1
)
{
{
mIsBusy
=
false
;
return
;
return
;
}
}
mLastProcessTime
=
time
;
mLastProcessTime
=
time
;
mNumber
++;
mNumber
++;
mNumber
=
mNumber
>
(
short
)
360
?
(
short
)
0
:
mNumber
;
mNumber
=
mNumber
>
(
short
)
360
?
(
short
)
0
:
mNumber
;
//#if DEBUG
//#if DEBUG
// Stopwatch sw = new Stopwatch();
// Stopwatch sw = new Stopwatch();
// sw.Start();
// sw.Start();
//#endif
//#endif
double
fval
=
Math
.
Cos
(
mNumber
/
180.0
*
Math
.
PI
);
double
fval
=
Math
.
Cos
(
mNumber
/
180.0
*
Math
.
PI
);
double
sval
=
Math
.
Sin
(
mNumber
/
180.0
*
Math
.
PI
);
double
sval
=
Math
.
Sin
(
mNumber
/
180.0
*
Math
.
PI
);
Log
(
"Sim:Sin "
+
fval
+
" "
+
"Sim:Cos "
+
sval
+
" "
+
"Sim:step "
+
mNumber
+
" "
+
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss.fff"
));
Log
(
"Sim:Sin "
+
fval
+
" "
+
"Sim:Cos "
+
sval
+
" "
+
"Sim:step "
+
mNumber
+
" "
+
DateTime
.
Now
.
ToString
(
"yyyy-MM-dd HH:mm:ss.fff"
));
//foreach (var vv in mTagIdCach)
//{
// if (vv.Key == "Sim:cos")
// {
// mTagService.SetTagValue(vv.Value, fval);
// }
// else if (vv.Key == "Sim:sin")
// {
// mTagService.SetTagValue(vv.Value, sval);
// }
// else if (vv.Key == "Sim:step")
// {
// mTagService.SetTagValue(vv.Value, mNumber);
// }
//}
foreach
(
var
vv
in
mTagIdCach
)
System
.
Threading
.
Tasks
.
Parallel
.
ForEach
(
mTagIdCach
,
(
vv
)
=>
{
{
if
(
vv
.
Key
==
"Sim:cos"
)
if
(
vv
.
Key
==
"Sim:cos"
)
{
{
...
@@ -149,28 +171,13 @@ namespace SimDriver
...
@@ -149,28 +171,13 @@ namespace SimDriver
{
{
mTagService
.
SetTagValue
(
vv
.
Value
,
mNumber
);
mTagService
.
SetTagValue
(
vv
.
Value
,
mNumber
);
}
}
}
});
//System.Threading.Tasks.Parallel.ForEach(mTagIdCach, (vv) => {
// if (vv.Key == "Sim:cos")
// {
// mTagService.SetTagValue(vv.Value, fval);
// }
// else if (vv.Key == "Sim:sin")
// {
// mTagService.SetTagValue(vv.Value, sval);
// }
// else if (vv.Key == "Sim:step")
// {
// mTagService.SetTagValue(vv.Value, mNumber);
// }
//});
//#if DEBUG
//#if DEBUG
// sw.Stop();
// sw.Stop();
// LoggerService.Service.Info("Sim Driver","set value elapsed:"+ sw.ElapsedMilliseconds +" total count:"+mNumber+" cos:"+ Math.Cos(mNumber / 180.0 * Math.PI)+" sin:"
+ Math.Sin(mNumber / 180.0 * Math.PI));
// LoggerService.Service.Info("Sim Driver", "set value elapsed:" + sw.ElapsedMilliseconds + " total count:" + mNumber + " cos:" + Math.Cos(mNumber / 180.0 * Math.PI) + " sin:"
+ Math.Sin(mNumber / 180.0 * Math.PI));
//#endif
//#endif
mIsBusy
=
false
;
mIsBusy
=
false
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录