Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
proview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Esteban Blanc
proview
Commits
8ab48c43
Commit
8ab48c43
authored
Jan 11, 2018
by
Claes Sjofors
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Sev server threads
parent
e13b730c
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
67758 additions
and
134 deletions
+67758
-134
sev/exe/sev_server/src/sev_server.cpp
sev/exe/sev_server/src/sev_server.cpp
+121
-18
sev/exe/sev_server/src/sev_server.h
sev/exe/sev_server/src/sev_server.h
+11
-5
sev/lib/sev/src/sev_db.h
sev/lib/sev/src/sev_db.h
+9
-5
sev/lib/sev/src/sev_dbhdf5.cpp
sev/lib/sev/src/sev_dbhdf5.cpp
+5
-5
sev/lib/sev/src/sev_dbhdf5.h
sev/lib/sev/src/sev_dbhdf5.h
+8
-7
sev/lib/sev/src/sev_dbms.cpp
sev/lib/sev/src/sev_dbms.cpp
+98
-49
sev/lib/sev/src/sev_dbms.h
sev/lib/sev/src/sev_dbms.h
+13
-10
sev/lib/sev/src/sev_dbsqlite.cpp
sev/lib/sev/src/sev_dbsqlite.cpp
+8
-8
sev/lib/sev/src/sev_dbsqlite.h
sev/lib/sev/src/sev_dbsqlite.h
+8
-7
sev/lib/sev/src/sev_valuecache.cpp
sev/lib/sev/src/sev_valuecache.cpp
+9
-2
sev/lib/sev/src/sev_valuecache.h
sev/lib/sev/src/sev_valuecache.h
+6
-5
src/msg/rt/src/rt_sev_msg.msg
src/msg/rt/src/rt_sev_msg.msg
+1
-0
src/wbl/pwrb/src/pwrb_c_a_sevserverthread.wb_load
src/wbl/pwrb/src/pwrb_c_a_sevserverthread.wb_load
+48
-8
src/wbl/pwrb/src/pwrb_c_a_sevstatistics.wb_load
src/wbl/pwrb/src/pwrb_c_a_sevstatistics.wb_load
+34
-4
src/wbl/pwrb/src/pwrb_c_sevserver.wb_load
src/wbl/pwrb/src/pwrb_c_sevserver.wb_load
+1
-1
xtt/exp/ge/src/pwr_c_sevserver.pwg
xtt/exp/ge/src/pwr_c_sevserver.pwg
+8029
-0
xtt/exp/ge/src/pwr_c_sevserver_threads.pwg
xtt/exp/ge/src/pwr_c_sevserver_threads.pwg
+59349
-0
No files found.
sev/exe/sev_server/src/sev_server.cpp
View file @
8ab48c43
...
...
@@ -36,6 +36,7 @@
#include <math.h>
#include <pthread.h>
#include <float.h>
#include "pwr.h"
#include "co_cdh.h"
...
...
@@ -88,6 +89,7 @@ int sev_server::init( int noneth)
qcom_sAid
aid
;
qcom_sQid
qini
;
sev_sDbConfig
db_config
;
char
str
[
80
];
m_server_status
=
PWR__SRVSTARTUP
;
...
...
@@ -118,11 +120,11 @@ int sev_server::init( int noneth)
exit
(
0
);
}
memset
(
m_config
->
ServerThreads
,
0
,
sizeof
(
m_config
->
ServerThreads
));
}
else
{
// Read config from proview.cnf
static
pwr_sClass_SevServer
config
;
char
str
[
80
];
float
fvalue
;
memset
(
&
config
,
0
,
sizeof
(
config
));
...
...
@@ -168,6 +170,14 @@ int sev_server::init( int noneth)
}
}
if
(
cnf_get_value
(
"sevThreadKeyNode"
,
str
,
sizeof
(
str
)))
{
if
(
cdh_NoCaseStrcmp
(
str
,
"1"
)
==
0
)
m_thread_key_node
=
1
;
}
if
(
m_config
->
UseServerThreads
)
m_read_threads
=
1
;
switch
(
m_config
->
Database
)
{
case
pwr_eSevDatabaseEnum_MySQL
:
set_dbtype
(
sev_eDbType_Mysql
);
...
...
@@ -249,6 +259,9 @@ int sev_server::init( int noneth)
if
(
!
m_noneth
)
m_sts
=
m_db
->
tree_update
();
if
(
m_read_threads
)
create_garbage_collector_thread
();
return
1
;
}
...
...
@@ -513,24 +526,37 @@ int sev_server::mainloop()
else
m_stat
.
medium_load
=
a
*
m_stat
.
medium_load
+
(
1.0
-
a
)
*
m_stat
.
current_load
;
m_stat
.
storage_rate
=
(
float
)
m_storage_cnt
/
(
time_DToFloat
(
0
,
&
busy
)
+
time_DToFloat
(
0
,
&
idle
));
m_stat
.
write_rate
=
(
float
)
m_write_cnt
/
(
time_DToFloat
(
0
,
&
busy
)
+
time_DToFloat
(
0
,
&
idle
));
if
(
m_stat
.
medium_storage_rate
==
0
)
m_stat
.
medium_storage_rate
=
m_stat
.
storage_rate
;
else
m_stat
.
medium_storage_rate
=
a
*
m_stat
.
medium_storage_rate
+
(
1.0
-
a
)
*
m_stat
.
storage_rate
;
if
(
m_stat
.
medium_write_rate
==
0
)
m_stat
.
medium_write_rate
=
m_stat
.
write_rate
;
else
m_stat
.
medium_write_rate
=
a
*
m_stat
.
medium_write_rate
+
(
1.0
-
a
)
*
m_stat
.
write_rate
;
if
(
m_stat
.
medium_storage_rate
<
FLT_EPSILON
)
m_stat
.
write_quota
=
0
;
else
m_stat
.
write_quota
=
m_stat
.
medium_write_rate
/
m_stat
.
medium_storage_rate
*
100
;
m_storage_cnt
=
0
;
m_write_cnt
=
0
;
m_db
->
store_stat
(
&
m_stat
);
m_config
->
Stat
.
CurrentLoad
=
m_stat
.
current_load
;
m_config
->
Stat
.
MediumLoad
=
m_stat
.
medium_load
;
m_config
->
Stat
.
StorageRate
=
m_stat
.
storage_rate
;
m_config
->
Stat
.
MediumStorageRate
=
m_stat
.
medium_storage_rate
;
m_config
->
Stat
.
WriteRate
=
m_stat
.
write_rate
;
m_config
->
Stat
.
MediumWriteRate
=
m_stat
.
medium_write_rate
;
m_config
->
Stat
.
WriteQuota
=
m_stat
.
write_quota
;
time_Aadd
(
&
next_stat
,
&
next_stat
,
&
stat_interval
);
busy
=
pwr_cNDeltaTime
;
idle
=
pwr_cNDeltaTime
;
}
if
(
time_Acomp
(
&
currenttime
,
&
next_garco
)
==
1
)
{
garbage_collector
();
if
(
m_read_threads
&&
time_Acomp
(
&
currenttime
,
&
next_garco
)
==
1
)
{
garbage_collector
(
0
);
time_Aadd
(
&
next_garco
,
&
next_garco
,
&
garco_interval
);
}
if
(
sts
==
QCOM__TMO
||
!
mp
)
...
...
@@ -549,7 +575,7 @@ int sev_server::mainloop()
m_stat
.
items_msg_cnt
++
;
break
;
case
sev_eMsgType_HistDataStore
:
receive_histdata
(
(
sev_sMsgHistDataStore
*
)
mp
,
get
.
size
);
receive_histdata
(
(
sev_sMsgHistDataStore
*
)
mp
,
get
.
size
,
get
.
sender
.
nid
);
m_stat
.
datastore_msg_cnt
++
;
break
;
case
sev_eMsgType_HistDataGetRequest
:
...
...
@@ -819,7 +845,7 @@ int sev_server::check_histitems( sev_sMsgHistItems *msg, unsigned int size)
return
1
;
}
int
sev_server
::
receive_histdata
(
sev_sMsgHistDataStore
*
msg
,
unsigned
int
size
)
int
sev_server
::
receive_histdata
(
sev_sMsgHistDataStore
*
msg
,
unsigned
int
size
,
pwr_tNid
nid
)
{
pwr_tStatus
sts
;
sev_sHistData
*
dp
;
...
...
@@ -853,6 +879,7 @@ int sev_server::receive_histdata( sev_sMsgHistDataStore *msg, unsigned int size)
time
=
net_NetTimeToTime
(
&
msg
->
Time
);
m_db
->
store_value
(
&
m_sts
,
0
,
idx
,
0
,
time
,
&
dp
->
data
,
dp
->
size
);
m_storage_cnt
++
;
m_write_cnt
++
;
dp
=
(
sev_sHistData
*
)((
char
*
)
dp
+
sizeof
(
*
dp
)
-
sizeof
(
dp
->
data
)
+
dp
->
size
);
}
...
...
@@ -864,7 +891,9 @@ int sev_server::receive_histdata( sev_sMsgHistDataStore *msg, unsigned int size)
sev_sReceiveHistDataMsg
*
qmsg
;
pwr_tUInt32
key
;
// if ( key == nodeid)
if
(
m_thread_key_node
)
key
=
nid
;
else
key
=
server_thread
;
th
=
find_thread
(
key
);
...
...
@@ -875,7 +904,7 @@ int sev_server::receive_histdata( sev_sMsgHistDataStore *msg, unsigned int size)
// Create a queue message
if
(
th
->
alloc
+
sizeof
(
*
qmsg
)
-
sizeof
(
qmsg
->
data
)
+
size
>
m_config
->
ThreadQueueLimit
)
{
// Queue maxlimit exceede, discard message
// Queue maxlimit exceede
d
, discard message
m_config
->
ServerThreads
[
th
->
conf_idx
].
LostCnt
++
;
return
1
;
}
...
...
@@ -884,6 +913,7 @@ int sev_server::receive_histdata( sev_sMsgHistDataStore *msg, unsigned int size)
memcpy
(
&
qmsg
->
data
,
dp
,
size
);
qmsg
->
size
=
size
;
qmsg
->
time
=
msg
->
Time
;
lst_Init
(
NULL
,
&
qmsg
->
e
,
qmsg
);
th
->
alloc
+=
qmsg
->
size
;
if
(
th
->
conf_idx
>=
0
)
{
...
...
@@ -907,6 +937,7 @@ int sev_server::send_histdata( qcom_sQid tgt, sev_sMsgHistDataGetRequest *rmsg,
arg
->
size
=
size
;
if
(
m_read_threads
)
{
printf
(
"New read thread
\n
"
);
sts
=
pthread_create
(
&
thread
,
NULL
,
send_histdata_thread
,
arg
);
if
(
sts
!=
0
)
printf
(
"pthread_create error %d
\n
"
,
sts
);
...
...
@@ -928,6 +959,7 @@ void *sev_server::send_histdata_thread( void *arg)
pwr_tStatus
sts
,
lsts
;
pwr_tTime
starttime
,
endtime
;
unsigned
int
item_idx
;
void
*
thread
=
0
;
sev_server
*
sev
=
((
sev_sHistDataThread
*
)
arg
)
->
sev
;
qcom_sQid
tgt
=
((
sev_sHistDataThread
*
)
arg
)
->
tgt
;
...
...
@@ -944,7 +976,10 @@ void *sev_server::send_histdata_thread( void *arg)
return
(
void
*
)
1
;
}
sev
->
m_db
->
get_values
(
&
sts
,
rmsg
->
Oid
,
sev
->
m_db
->
m_items
[
item_idx
].
options
,
if
(
sev
->
m_read_threads
)
thread
=
sev
->
m_db
->
new_thread
();
sev
->
m_db
->
get_values
(
&
sts
,
thread
,
rmsg
->
Oid
,
sev
->
m_db
->
m_items
[
item_idx
].
options
,
sev
->
m_db
->
m_items
[
item_idx
].
deadband
,
rmsg
->
AName
,
sev
->
m_db
->
m_items
[
item_idx
].
attr
[
0
].
type
,
sev
->
m_db
->
m_items
[
item_idx
].
attr
[
0
].
size
,
...
...
@@ -987,6 +1022,10 @@ void *sev_server::send_histdata_thread( void *arg)
if
(
!
qcom_Put
(
&
sts
,
&
tgt
,
&
put
))
{
qcom_Free
(
&
sts
,
put
.
data
);
}
if
(
sev
->
m_read_threads
)
sev
->
m_db
->
delete_thread
(
thread
);
// pthread_exit( (void *) 1);
return
(
void
*
)
1
;
}
...
...
@@ -1008,7 +1047,7 @@ int sev_server::send_objecthistdata( qcom_sQid tgt, sev_sMsgHistDataGetRequest *
m_db
->
get_objectitem
(
&
m_sts
,
&
item
,
rmsg
->
Oid
,
rmsg
->
AName
);
if
(
ODD
(
m_sts
))
{
m_db
->
get_objectvalues
(
&
m_sts
,
&
item
,
item
.
value_size
,
&
starttime
,
&
endtime
,
rmsg
->
NumPoints
,
&
tbuf
,
&
vbuf
,
&
rows
);
m_db
->
get_objectvalues
(
&
m_sts
,
0
,
&
item
,
item
.
value_size
,
&
starttime
,
&
endtime
,
rmsg
->
NumPoints
,
&
tbuf
,
&
vbuf
,
&
rows
);
}
if
(
ODD
(
m_sts
)
&&
rows
!=
0
)
{
msize
=
rows
*
(
sizeof
(
pwr_tTime
)
+
item
.
value_size
);
...
...
@@ -1099,7 +1138,45 @@ int sev_server::receive_events( sev_sMsgEventsStore *msg, unsigned int size)
return
1
;
}
void
sev_server
::
garbage_collector
()
void
sev_server
::
create_garbage_collector_thread
()
{
pthread_t
pthread
;
int
sts
;
sts
=
pthread_create
(
&
pthread
,
NULL
,
garbage_collector_thread
,
this
);
if
(
sts
!=
0
)
printf
(
"sev_server: pthread_create error %d
\n
"
,
sts
);
}
void
*
sev_server
::
garbage_collector_thread
(
void
*
arg
)
{
void
*
thread
=
0
;
pwr_tTime
next_garco
,
currenttime
;
pwr_tDeltaTime
garco_interval
;
sev_server
*
sev
=
(
sev_server
*
)
arg
;
thread
=
sev
->
m_db
->
new_thread
();
time_FloatToD
(
&
garco_interval
,
sev_cGarbageInterval
);
time_GetTime
(
&
currenttime
);
time_Aadd
(
&
next_garco
,
&
currenttime
,
&
garco_interval
);
while
(
1
)
{
sleep
(
1
);
if
(
time_Acomp
(
&
currenttime
,
&
next_garco
)
==
1
)
{
sev
->
garbage_collector
(
thread
);
time_Aadd
(
&
next_garco
,
&
next_garco
,
&
garco_interval
);
}
}
sev
->
m_db
->
delete_thread
(
thread
);
return
(
void
*
)
1
;
}
void
sev_server
::
garbage_collector
(
void
*
thread
)
{
int
item_size
=
m_db
->
m_items
.
size
();
static
int
current
=
0
;
...
...
@@ -1115,7 +1192,7 @@ void sev_server::garbage_collector()
if
(
items_per_scan
>=
1
)
{
for
(
i
=
0
;
i
<
(
int
)
items_per_scan
;
i
++
)
{
garbage_item
(
current
);
garbage_item
(
thread
,
current
);
current
++
;
if
(
current
>=
item_size
)
current
=
0
;
...
...
@@ -1127,7 +1204,7 @@ void sev_server::garbage_collector()
if
(
scan_cnt
>=
scan_per_items
)
{
scan_cnt
=
0
;
garbage_item
(
current
);
garbage_item
(
thread
,
current
);
current
++
;
if
(
current
>=
item_size
)
...
...
@@ -1136,7 +1213,7 @@ void sev_server::garbage_collector()
}
}
void
sev_server
::
garbage_item
(
int
idx
)
void
sev_server
::
garbage_item
(
void
*
thread
,
int
idx
)
{
pwr_tTime
currenttime
,
limit
;
...
...
@@ -1150,11 +1227,11 @@ void sev_server::garbage_item( int idx)
time_Asub
(
&
limit
,
&
currenttime
,
&
m_db
->
m_items
[
idx
].
storagetime
);
if
(
m_db
->
m_items
[
idx
].
attrnum
>
1
)
{
m_db
->
delete_old_objectdata
(
&
m_sts
,
m_db
->
m_items
[
idx
].
tablename
,
m_db
->
delete_old_objectdata
(
&
m_sts
,
thread
,
m_db
->
m_items
[
idx
].
tablename
,
m_db
->
m_items
[
idx
].
options
,
limit
,
m_db
->
m_items
[
idx
].
scantime
,
(
float
)
sev_cGarbageCycle
);
}
else
{
m_db
->
delete_old_data
(
&
m_sts
,
m_db
->
m_items
[
idx
].
tablename
,
m_db
->
delete_old_data
(
&
m_sts
,
thread
,
m_db
->
m_items
[
idx
].
tablename
,
m_db
->
m_items
[
idx
].
options
,
limit
,
m_db
->
m_items
[
idx
].
scantime
,
(
float
)
sev_cGarbageCycle
);
}
}
...
...
@@ -1186,6 +1263,7 @@ void *sev_server::receive_histdata_thread( void *arg)
pwr_sClass_SevServerThread
*
thread_conf
=
0
;
float
current_load
;
int
storage_cnt
=
0
;
int
write_cnt
=
0
;
if
(
th
->
conf_idx
>=
0
)
thread_conf
=
&
sev
->
m_config
->
ServerThreads
[
th
->
conf_idx
];
...
...
@@ -1222,7 +1300,17 @@ void *sev_server::receive_histdata_thread( void *arg)
thread_conf
->
MediumStorageRate
=
thread_conf
->
StorageRate
;
else
thread_conf
->
MediumStorageRate
=
a
*
thread_conf
->
MediumStorageRate
+
(
1.0
-
a
)
*
thread_conf
->
StorageRate
;
thread_conf
->
WriteRate
=
(
float
)
write_cnt
/
(
time_DToFloat
(
0
,
&
busy
)
+
time_DToFloat
(
0
,
&
idle
));
if
(
thread_conf
->
MediumWriteRate
==
0
)
thread_conf
->
MediumWriteRate
=
thread_conf
->
WriteRate
;
else
thread_conf
->
MediumWriteRate
=
a
*
thread_conf
->
MediumWriteRate
+
(
1.0
-
a
)
*
thread_conf
->
WriteRate
;
if
(
thread_conf
->
MediumStorageRate
<
FLT_EPSILON
)
thread_conf
->
WriteQuota
=
0
;
else
thread_conf
->
WriteQuota
=
thread_conf
->
MediumWriteRate
/
thread_conf
->
MediumStorageRate
*
100
;
storage_cnt
=
0
;
write_cnt
=
0
;
time_Aadd
(
&
next_stat
,
&
next_stat
,
&
stat_interval
);
busy
=
pwr_cNDeltaTime
;
...
...
@@ -1253,6 +1341,10 @@ void *sev_server::receive_histdata_thread( void *arg)
sev
->
m_db
->
store_value
(
&
sev
->
m_sts
,
th
->
db_ctx
,
idx
,
0
,
time
,
&
dp
->
data
,
dp
->
size
);
sev
->
m_storage_cnt
++
;
storage_cnt
++
;
if
(
ODD
(
sev
->
m_sts
)
&&
sev
->
m_sts
!=
SEV__NOWRITE
)
{
sev
->
m_write_cnt
++
;
write_cnt
++
;
}
dp
=
(
sev_sHistData
*
)((
char
*
)
dp
+
sizeof
(
*
dp
)
-
sizeof
(
dp
->
data
)
+
dp
->
size
);
}
...
...
@@ -1260,6 +1352,8 @@ void *sev_server::receive_histdata_thread( void *arg)
sev
->
m_db
->
commit_transaction
(
th
->
db_ctx
);
th
->
alloc
-=
msg
->
size
;
if
(
th
->
alloc
<
0
)
th
->
alloc
=
0
;
if
(
th
->
conf_idx
>=
0
)
thread_conf
->
QueueAlloc
=
th
->
alloc
;
...
...
@@ -1295,6 +1389,7 @@ sev_sThread *sev_server::create_thread( int key)
printf
(
"sev_server: pthread_create error %d
\n
"
,
sts
);
if
(
th
->
conf_idx
>=
0
)
{
m_config
->
ServerThreads
[
th
->
conf_idx
].
Occupied
=
1
;
m_config
->
ServerThreads
[
th
->
conf_idx
].
Key
=
key
;
}
...
...
@@ -1314,7 +1409,15 @@ void sev_server::delete_thread( int key)
}
sev_server
::~
sev_server
()
{
for
(
threadlist_iterator
it
=
m_thread_list
.
begin
();
it
!=
m_thread_list
.
end
();)
{
sev_sThread
*
th
=
it
->
second
;
m_thread_list
.
erase
(
it
++
);
m_db
->
delete_thread
(
th
->
db_ctx
);
free
(
th
);
}
}
int
main
(
int
argc
,
char
*
argv
[])
{
...
...
sev/exe/sev_server/src/sev_server.h
View file @
8ab48c43
...
...
@@ -95,10 +95,12 @@ typedef map<int, sev_sThread *>::iterator threadlist_iterator;
class
sev_server
{
public:
sev_server
()
:
m_server_status
(
0
),
m_refid
(
0
),
m_msg_id
(
0
),
m_storage_cnt
(
0
),
m_db_type
(
sev_eDbType_Sqlite
),
m_config
(
0
),
m_thread_cnt
(
0
),
m_read_threads
(
0
)
sev_server
()
:
m_server_status
(
0
),
m_refid
(
0
),
m_msg_id
(
0
),
m_storage_cnt
(
0
),
m_write_cnt
(
0
),
m_db_type
(
sev_eDbType_Sqlite
),
m_config
(
0
),
m_thread_cnt
(
0
),
m_read_threads
(
0
),
m_thread_key_node
(
0
)
{
memset
(
&
m_stat
,
0
,
sizeof
(
m_stat
));}
~
sev_server
();
pwr_tStatus
m_sts
;
pwr_tStatus
m_server_status
;
vector
<
sev_node
>
m_nodes
;
...
...
@@ -107,12 +109,14 @@ class sev_server {
sev_db
*
m_db
;
int
m_noneth
;
unsigned
int
m_storage_cnt
;
unsigned
int
m_write_cnt
;
sev_sStat
m_stat
;
sev_eDbType
m_db_type
;
pwr_sClass_SevServer
*
m_config
;
unsigned
int
m_thread_cnt
;
pwr_tDlid
m_config_dlid
;
int
m_read_threads
;
int
m_thread_key_node
;
map
<
int
,
sev_sThread
*>
m_thread_list
;
int
init
(
int
noneth
);
...
...
@@ -120,15 +124,17 @@ class sev_server {
int
request_items
(
pwr_tNid
nid
);
int
mainloop
();
int
check_histitems
(
sev_sMsgHistItems
*
msg
,
unsigned
int
size
);
int
receive_histdata
(
sev_sMsgHistDataStore
*
msg
,
unsigned
int
size
);
int
receive_histdata
(
sev_sMsgHistDataStore
*
msg
,
unsigned
int
size
,
pwr_tNid
nid
);
int
send_histdata
(
qcom_sQid
tgt
,
sev_sMsgHistDataGetRequest
*
msg
,
unsigned
int
size
);
int
send_objecthistdata
(
qcom_sQid
tgt
,
sev_sMsgHistDataGetRequest
*
rmsg
,
unsigned
int
size
);
int
send_itemlist
(
qcom_sQid
tgt
);
int
send_server_status
(
qcom_sQid
tgt
);
int
delete_item
(
qcom_sQid
tgt
,
sev_sMsgHistItemDelete
*
rmsg
);
int
receive_events
(
sev_sMsgEventsStore
*
msg
,
unsigned
int
size
);
void
garbage_collector
();
void
garbage_item
(
int
idx
);
void
create_garbage_collector_thread
();
static
void
*
garbage_collector_thread
(
void
*
arg
);
void
garbage_collector
(
void
*
thread
);
void
garbage_item
(
void
*
thread
,
int
idx
);
void
set_dbtype
(
sev_eDbType
type
)
{
m_db_type
=
type
;}
sev_sThread
*
find_thread
(
int
key
);
static
void
*
receive_histdata_thread
(
void
*
arg
);
...
...
sev/lib/sev/src/sev_db.h
View file @
8ab48c43
...
...
@@ -72,6 +72,9 @@ typedef struct {
float
medium_load
;
float
storage_rate
;
float
medium_storage_rate
;
float
write_rate
;
float
medium_write_rate
;
float
write_quota
;
unsigned
int
datastore_msg_cnt
;
unsigned
int
dataget_msg_cnt
;
unsigned
int
items_msg_cnt
;
...
...
@@ -216,13 +219,13 @@ class sev_db {
virtual
int
delete_item
(
pwr_tStatus
*
sts
,
pwr_tOid
oid
,
char
*
aname
)
{
*
sts
=
0
;
return
0
;}
virtual
int
store_value
(
pwr_tStatus
*
sts
,
void
*
thread
,
int
item_idx
,
int
attr_idx
,
pwr_tTime
time
,
void
*
buf
,
unsigned
int
size
)
{
*
sts
=
0
;
return
0
;}
virtual
int
get_values
(
pwr_tStatus
*
sts
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
virtual
int
get_values
(
pwr_tStatus
*
sts
,
void
*
thread
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
scantime
,
pwr_tTime
*
creatime
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
)
{
*
sts
=
0
;
return
0
;}
virtual
int
get_items
(
pwr_tStatus
*
sts
)
{
*
sts
=
0
;
return
0
;}
virtual
int
delete_old_data
(
pwr_tStatus
*
sts
,
char
*
tablename
,
virtual
int
delete_old_data
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
)
{
*
sts
=
0
;
return
0
;}
...
...
@@ -244,9 +247,9 @@ class sev_db {
virtual
int
get_objectitems
(
pwr_tStatus
*
sts
)
{
*
sts
=
0
;
return
0
;}
virtual
int
check_objectitemattr
(
pwr_tStatus
*
sts
,
char
*
tablename
,
pwr_tOid
oid
,
char
*
aname
,
char
*
oname
,
pwr_eType
type
,
unsigned
int
size
,
unsigned
int
*
idx
)
{
*
sts
=
0
;
return
0
;}
virtual
int
delete_old_objectdata
(
pwr_tStatus
*
sts
,
char
*
tablename
,
virtual
int
delete_old_objectdata
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
)
{
*
sts
=
0
;
return
0
;}
virtual
int
get_objectvalues
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
virtual
int
get_objectvalues
(
pwr_tStatus
*
sts
,
void
*
thread
,
sev_item
*
item
,
unsigned
int
size
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
)
{
*
sts
=
0
;
return
0
;}
virtual
int
handle_objectchange
(
pwr_tStatus
*
sts
,
char
*
tablename
,
unsigned
int
item_idx
,
bool
newObject
)
{
*
sts
=
0
;
return
0
;}
...
...
@@ -258,6 +261,7 @@ class sev_db {
virtual
int
commit_transaction
(
void
*
thread
)
{
return
0
;}
virtual
char
*
dbName
()
{
return
0
;}
virtual
void
*
new_thread
()
{
return
0
;}
virtual
void
delete_thread
(
void
*
thread
)
{}
static
sev_db
*
open_database
(
sev_eDbType
type
,
sev_sDbConfig
*
cnf
);
static
int
get_systemname
(
char
*
name
);
...
...
sev/lib/sev/src/sev_dbhdf5.cpp
View file @
8ab48c43
...
...
@@ -2743,8 +2743,8 @@ int sev_dbhdf5::store_value( pwr_tStatus *sts, void *thread, int item_idx, int a
return
1
;
}
int
sev_dbhdf5
::
get_values
(
pwr_tStatus
*
sts
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
int
sev_dbhdf5
::
get_values
(
pwr_tStatus
*
sts
,
void
*
thread
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
scantime
,
pwr_tTime
*
creatime
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
)
...
...
@@ -3713,7 +3713,7 @@ int sev_dbhdf5::delete_item( pwr_tStatus *sts, pwr_tOid oid, char *aname)
return
1
;
}
int
sev_dbhdf5
::
delete_old_data
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
sev_dbhdf5
::
delete_old_data
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
)
{
return
1
;
...
...
@@ -4495,7 +4495,7 @@ int sev_dbhdf5::get_objectitemattributes( pwr_tStatus *sts, sev_item *item, char
return
1
;
}
int
sev_dbhdf5
::
delete_old_objectdata
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
sev_dbhdf5
::
delete_old_objectdata
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
)
{
return
1
;
...
...
@@ -4569,7 +4569,7 @@ int sev_dbhdf5::check_deadband(pwr_eType type, unsigned int size, pwr_tFloat32 d
return
deadband_active
;
}
int
sev_dbhdf5
::
get_objectvalues
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
int
sev_dbhdf5
::
get_objectvalues
(
pwr_tStatus
*
sts
,
void
*
thread
,
sev_item
*
item
,
unsigned
int
size
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
)
{
...
...
sev/lib/sev/src/sev_dbhdf5.h
View file @
8ab48c43
...
...
@@ -779,11 +779,11 @@ class sev_dbhdf5 : public sev_db {
pwr_tFloat32
deadband
,
pwr_tMask
options
,
unsigned
int
*
idx
);
int
store_value
(
pwr_tStatus
*
sts
,
void
*
thread
,
int
item_idx
,
int
attr_idx
,
pwr_tTime
time
,
void
*
buf
,
unsigned
int
size
);
int
get_values
(
pwr_tStatus
*
sts
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
scantime
,
pwr_tTime
*
creatime
,
pwr_tTime
*
starttime
,
int
get_values
(
pwr_tStatus
*
sts
,
void
*
thread
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
scantime
,
pwr_tTime
*
creatime
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
);
int
delete_old_data
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
delete_old_data
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
);
int
delete_item
(
pwr_tStatus
*
sts
,
pwr_tOid
oid
,
char
*
aname
);
...
...
@@ -822,10 +822,11 @@ class sev_dbhdf5 : public sev_db {
int
get_objectitemattributes
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
char
*
tablename
);
int
check_objectitemattr
(
pwr_tStatus
*
sts
,
char
*
tablename
,
pwr_tOid
oid
,
char
*
aname
,
char
*
oname
,
pwr_eType
type
,
unsigned
int
size
,
unsigned
int
*
idx
);
int
delete_old_objectdata
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
delete_old_objectdata
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
);
int
check_deadband
(
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
deadband
,
void
*
value
,
void
*
oldvalue
);
int
get_objectvalues
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
unsigned
int
size
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
get_objectvalues
(
pwr_tStatus
*
sts
,
void
*
thread
,
sev_item
*
item
,
unsigned
int
size
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
);
int
delete_event_table
(
pwr_tStatus
*
sts
,
char
*
tablename
);
int
create_event_table
(
pwr_tStatus
*
sts
,
char
*
tablename
,
pwr_tMask
options
,
...
...
sev/lib/sev/src/sev_dbms.cpp
View file @
8ab48c43
...
...
@@ -534,6 +534,11 @@ MYSQL *sev_dbms_env::open_thread( unsigned int *sts)
return
con
;
}
void
sev_dbms_env
::
close_thread
(
MYSQL
*
con
)
{
mysql_close
(
con
);
}
int
sev_dbms_env
::
create
()
{
struct
stat
sb
;
...
...
@@ -1080,7 +1085,7 @@ int sev_dbms::store_value( pwr_tStatus *sts, void *thread, int item_idx, int att
return
0
;
}
m_items
[
item_idx
].
cache
->
add
(
value
,
&
time
,
thread
);
m_items
[
item_idx
].
cache
->
evaluate
(
m_cnf
.
LinearRegrMaxTime
,
thread
);
*
sts
=
m_items
[
item_idx
].
cache
->
evaluate
(
m_cnf
.
LinearRegrMaxTime
,
thread
);
return
1
;
}
else
...
...
@@ -1513,19 +1518,26 @@ int sev_dbms::write_value( pwr_tStatus *sts, int item_idx, int attr_idx,
}
int
sev_dbms
::
get_id_range
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
int
sev_dbms
::
get_id_range
(
pwr_tStatus
*
sts
,
void
*
thread
,
sev_item
*
item
,
pwr_tMask
options
,
unsigned
int
*
first
,
unsigned
int
*
last
)
{
int
rows
;
char
query
[
100
];
MYSQL
*
con
;
if
(
thread
)
con
=
(
MYSQL
*
)
thread
;
else
con
=
m_env
->
con
();
if
(
first
)
{
if
(
options
&
pwr_mSevOptionsMask_HighTimeResolution
)
sprintf
(
query
,
"select id from %s order by time,ntime asc limit 1;"
,
item
->
tablename
);
//sprintf( query, "select id from %s order by time,ntime asc limit 1;", item->tablename);
sprintf
(
query
,
"select id from %s order by time asc limit 1;"
,
item
->
tablename
);
else
sprintf
(
query
,
"select id from %s order by time asc limit 1;"
,
item
->
tablename
);
int
rc
=
mysql_query
(
m_env
->
con
()
,
query
);
int
rc
=
mysql_query
(
con
,
query
);
if
(
rc
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
printf
(
"Get time range query error
\n
"
);
...
...
@@ -1534,7 +1546,7 @@ int sev_dbms::get_id_range( pwr_tStatus *sts, sev_item *item,
}
MYSQL_ROW
row
;
MYSQL_RES
*
result
=
mysql_store_result
(
m_env
->
con
()
);
MYSQL_RES
*
result
=
mysql_store_result
(
con
);
row
=
mysql_fetch_row
(
result
);
if
(
!
row
)
{
...
...
@@ -1556,11 +1568,12 @@ int sev_dbms::get_id_range( pwr_tStatus *sts, sev_item *item,
}
if
(
last
)
{
if
(
options
&
pwr_mSevOptionsMask_HighTimeResolution
)
sprintf
(
query
,
"select id from %s order by time,ntime desc limit 1;"
,
item
->
tablename
);
//sprintf( query, "select id from %s order by time,ntime desc limit 1;", item->tablename);
sprintf
(
query
,
"select id from %s order by time desc limit 1;"
,
item
->
tablename
);
else
sprintf
(
query
,
"select id from %s order by time desc limit 1;"
,
item
->
tablename
);
int
rc
=
mysql_query
(
m_env
->
con
()
,
query
);
int
rc
=
mysql_query
(
con
,
query
);
if
(
rc
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
printf
(
"Get time range query error
\n
"
);
...
...
@@ -1569,7 +1582,7 @@ int sev_dbms::get_id_range( pwr_tStatus *sts, sev_item *item,
}
MYSQL_ROW
row
;
MYSQL_RES
*
result
=
mysql_store_result
(
m_env
->
con
()
);
MYSQL_RES
*
result
=
mysql_store_result
(
con
);
row
=
mysql_fetch_row
(
result
);
if
(
!
row
)
{
...
...
@@ -1722,8 +1735,8 @@ int sev_dbms::get_time_range( pwr_tStatus *sts, sev_item *item,
return
1
;
}
int
sev_dbms
::
get_values
(
pwr_tStatus
*
sts
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
int
sev_dbms
::
get_values
(
pwr_tStatus
*
sts
,
void
*
thread
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
scantime
,
pwr_tTime
*
creatime
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
)
...
...
@@ -1746,6 +1759,12 @@ int sev_dbms::get_values( pwr_tStatus *sts, pwr_tOid oid, pwr_tMask options, flo
char
jumpstr
[
40
];
char
where_part
[
200
];
int
rows
;
MYSQL
*
con
;
if
(
thread
)
con
=
(
MYSQL
*
)
thread
;
else
con
=
m_env
->
con
();
if
(
starttime
&&
starttime
->
tv_sec
==
0
&&
starttime
->
tv_nsec
==
0
)
starttime
=
0
;
...
...
@@ -1760,7 +1779,7 @@ int sev_dbms::get_values( pwr_tStatus *sts, pwr_tOid oid, pwr_tMask options, flo
// Get number of rows
sprintf
(
query
,
"show table status where name = '%s';"
,
item
.
tablename
);
int
rc
=
mysql_query
(
m_env
->
con
()
,
query
);
int
rc
=
mysql_query
(
con
,
query
);
if
(
rc
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
printf
(
"GetValues Query Error
\n
"
);
...
...
@@ -1769,7 +1788,7 @@ int sev_dbms::get_values( pwr_tStatus *sts, pwr_tOid oid, pwr_tMask options, flo
}
MYSQL_ROW
row
;
MYSQL_RES
*
result
=
mysql_store_result
(
m_env
->
con
()
);
MYSQL_RES
*
result
=
mysql_store_result
(
con
);
if
(
!
result
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
...
...
@@ -1796,19 +1815,19 @@ int sev_dbms::get_values( pwr_tStatus *sts, pwr_tOid oid, pwr_tMask options, flo
if
(
starttime
)
{
// Get id for starttime
*
sts
=
get_closest_time
(
item
.
tablename
,
item
.
options
,
starttime
,
1
,
&
startid
);
*
sts
=
get_closest_time
(
thread
,
item
.
tablename
,
item
.
options
,
starttime
,
1
,
&
startid
);
if
(
*
sts
==
SEV__NOROWS
)
get_id_range
(
sts
,
&
item
,
item
.
options
,
&
startid
,
0
);
get_id_range
(
sts
,
thread
,
&
item
,
item
.
options
,
&
startid
,
0
);
}
else
{
get_id_range
(
sts
,
&
item
,
item
.
options
,
&
startid
,
0
);
get_id_range
(
sts
,
thread
,
&
item
,
item
.
options
,
&
startid
,
0
);
// startid = 0;
}
if
(
endtime
)
{
// Get id for starttime
*
sts
=
get_closest_time
(
item
.
tablename
,
item
.
options
,
endtime
,
0
,
&
endid
);
*
sts
=
get_closest_time
(
thread
,
item
.
tablename
,
item
.
options
,
endtime
,
0
,
&
endid
);
if
(
*
sts
==
SEV__NOROWS
)
get_id_range
(
sts
,
&
item
,
item
.
options
,
0
,
&
endid
);
get_id_range
(
sts
,
thread
,
&
item
,
item
.
options
,
0
,
&
endid
);
if
(
endid
==
0
)
endid
=
strtoul
(
row
[
4
],
0
,
10
);
}
...
...
@@ -1823,13 +1842,13 @@ int sev_dbms::get_values( pwr_tStatus *sts, pwr_tOid oid, pwr_tMask options, flo
if
(
options
&
pwr_mSevOptionsMask_ReadOptimized
)
{
unsigned
int
startid
,
endid
;
*
sts
=
get_closest_time
(
item
.
tablename
,
item
.
options
,
endtime
,
1
,
&
endid
);
*
sts
=
get_closest_time
(
thread
,
item
.
tablename
,
item
.
options
,
endtime
,
1
,
&
endid
);
if
(
*
sts
==
SEV__NOROWS
)
get_id_range
(
sts
,
&
item
,
item
.
options
,
0
,
&
endid
);
get_id_range
(
sts
,
thread
,
&
item
,
item
.
options
,
0
,
&
endid
);
*
sts
=
get_closest_time
(
item
.
tablename
,
item
.
options
,
starttime
,
0
,
&
startid
);
*
sts
=
get_closest_time
(
thread
,
item
.
tablename
,
item
.
options
,
starttime
,
0
,
&
startid
);
if
(
*
sts
==
SEV__NOROWS
)
get_id_range
(
sts
,
&
item
,
item
.
options
,
&
startid
,
0
);
get_id_range
(
sts
,
thread
,
&
item
,
item
.
options
,
&
startid
,
0
);
total_rows
=
endid
-
startid
;
}
...
...
@@ -1869,11 +1888,11 @@ int sev_dbms::get_values( pwr_tStatus *sts, pwr_tOid oid, pwr_tMask options, flo
if
(
options
&
pwr_mSevOptionsMask_ReadOptimized
)
{
unsigned
int
startid
,
endid
;
*
sts
=
get_closest_time
(
item
.
tablename
,
item
.
options
,
starttime
,
0
,
&
startid
);
*
sts
=
get_closest_time
(
thread
,
item
.
tablename
,
item
.
options
,
starttime
,
0
,
&
startid
);
if
(
*
sts
==
SEV__NOROWS
)
get_id_range
(
sts
,
&
item
,
item
.
options
,
&
startid
,
0
);
get_id_range
(
sts
,
thread
,
&
item
,
item
.
options
,
&
startid
,
0
);
get_id_range
(
sts
,
&
item
,
item
.
options
,
0
,
&
endid
);
get_id_range
(
sts
,
thread
,
&
item
,
item
.
options
,
0
,
&
endid
);
total_rows
=
endid
-
startid
;
}
else
{
...
...
@@ -1908,11 +1927,11 @@ int sev_dbms::get_values( pwr_tStatus *sts, pwr_tOid oid, pwr_tMask options, flo
if
(
options
&
pwr_mSevOptionsMask_ReadOptimized
)
{
unsigned
int
startid
,
endid
;
*
sts
=
get_closest_time
(
item
.
tablename
,
item
.
options
,
endtime
,
1
,
&
endid
);
*
sts
=
get_closest_time
(
thread
,
item
.
tablename
,
item
.
options
,
endtime
,
1
,
&
endid
);
if
(
*
sts
==
SEV__NOROWS
)
get_id_range
(
sts
,
&
item
,
item
.
options
,
0
,
&
endid
);
get_id_range
(
sts
,
thread
,
&
item
,
item
.
options
,
0
,
&
endid
);
get_id_range
(
sts
,
&
item
,
item
.
options
,
&
startid
,
0
);
get_id_range
(
sts
,
thread
,
&
item
,
item
.
options
,
&
startid
,
0
);
total_rows
=
endid
-
startid
;
}
...
...
@@ -2066,20 +2085,20 @@ int sev_dbms::get_values( pwr_tStatus *sts, pwr_tOid oid, pwr_tMask options, flo
sprintf
(
query
,
"select %s from %s %s order by %s limit %d"
,
column_part
,
item
.
tablename
,
where_part
,
orderby_part
,
maxsize
*
2
);
else
{
rc
=
mysql_query
(
m_env
->
con
()
,
"set @x:=0;"
);
rc
=
mysql_query
(
con
,
"set @x:=0;"
);
sprintf
(
query
,
"select * from (select (@x:=@x+1) as x,%s from %s %s order by %s) t where x%%%d=0;"
,
column_part
,
item
.
tablename
,
where_part
,
orderby_part
,
div
);
}
rc
=
mysql_query
(
m_env
->
con
()
,
query
);
rc
=
mysql_query
(
con
,
query
);
if
(
rc
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
printf
(
"Get Values: %s
\n
"
,
mysql_error
(
m_env
->
con
()
));
printf
(
"Get Values: %s
\n
"
,
mysql_error
(
con
));
*
sts
=
SEV__DBERROR
;
return
0
;
}
result
=
mysql_store_result
(
m_env
->
con
()
);
result
=
mysql_store_result
(
con
);
if
(
!
result
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
printf
(
"GetValues Result Error
\n
"
);
...
...
@@ -2565,11 +2584,17 @@ int sev_dbms::delete_item( pwr_tStatus *sts, pwr_tOid oid, char *aname)
return
1
;
}
int
sev_dbms
::
delete_old_data
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
sev_dbms
::
delete_old_data
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
)
{
char
query
[
300
];
char
timstr
[
40
];
MYSQL
*
con
;
if
(
thread
)
con
=
(
MYSQL
*
)
thread
;
else
con
=
m_env
->
con
();
*
sts
=
time_AtoAscii
(
&
limit
,
time_eFormat_NumDateAndTime
,
timstr
,
sizeof
(
timstr
));
if
(
EVEN
(
*
sts
))
return
0
;
...
...
@@ -2600,10 +2625,10 @@ int sev_dbms::delete_old_data( pwr_tStatus *sts, char *tablename,
sprintf
(
query
,
"delete from %s where time < '%s';"
,
tablename
,
timstr
);
}
int
rc
=
mysql_query
(
m_env
->
con
()
,
query
);
int
rc
=
mysql_query
(
con
,
query
);
if
(
rc
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
printf
(
"Delete old data: %s
\n
"
,
mysql_error
(
m_env
->
con
()
));
printf
(
"Delete old data: %s
\n
"
,
mysql_error
(
con
));
*
sts
=
SEV__DBERROR
;
return
0
;
}
...
...
@@ -3477,11 +3502,17 @@ int sev_dbms::get_objectitemattributes( pwr_tStatus *sts, sev_item *item, char *
return
1
;
}
int
sev_dbms
::
delete_old_objectdata
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
sev_dbms
::
delete_old_objectdata
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
)
{
char
query
[
300
];
char
timstr
[
40
];
MYSQL
*
con
;
if
(
thread
)
con
=
(
MYSQL
*
)
thread
;
else
con
=
m_env
->
con
();
*
sts
=
time_AtoAscii
(
&
limit
,
time_eFormat_NumDateAndTime
,
timstr
,
sizeof
(
timstr
));
if
(
EVEN
(
*
sts
))
return
0
;
...
...
@@ -3512,10 +3543,10 @@ int sev_dbms::delete_old_objectdata( pwr_tStatus *sts, char *tablename,
tablename
,
timstr
);
}
int
rc
=
mysql_query
(
m_env
->
con
()
,
query
);
int
rc
=
mysql_query
(
con
,
query
);
if
(
rc
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
printf
(
"%s: %s
\n
"
,
__FUNCTION__
,
mysql_error
(
m_env
->
con
()
));
printf
(
"%s: %s
\n
"
,
__FUNCTION__
,
mysql_error
(
con
));
*
sts
=
SEV__DBERROR
;
return
0
;
}
...
...
@@ -3592,11 +3623,18 @@ int sev_dbms::check_deadband(pwr_eType type, unsigned int size, pwr_tFloat32 dea
return
deadband_active
;
}
int
sev_dbms
::
get_closest_time
(
char
*
tablename
,
unsigned
int
options
,
pwr_tTime
*
time
,
int
before
,
unsigned
int
*
id
)
int
sev_dbms
::
get_closest_time
(
void
*
thread
,
char
*
tablename
,
unsigned
int
options
,
pwr_tTime
*
time
,
int
before
,
unsigned
int
*
id
)
{
char
query
[
200
];
pwr_tStatus
sts
;
char
timstr
[
20
];
MYSQL
*
con
;
if
(
thread
)
con
=
(
MYSQL
*
)
thread
;
else
con
=
m_env
->
con
();
sts
=
time_AtoAscii
(
time
,
time_eFormat_NumDateAndTime
,
timstr
,
sizeof
(
timstr
));
if
(
EVEN
(
sts
))
return
sts
;
...
...
@@ -3615,7 +3653,7 @@ int sev_dbms::get_closest_time( char *tablename, unsigned int options, pwr_tTime
sprintf
(
query
,
"select id from %s where time >= '%s' order by time asc limit 1"
,
tablename
,
timstr
);
}
int
rc
=
mysql_query
(
m_env
->
con
()
,
query
);
int
rc
=
mysql_query
(
con
,
query
);
if
(
rc
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
printf
(
"%s Query Error
\n
"
,
__FUNCTION__
);
...
...
@@ -3623,7 +3661,7 @@ int sev_dbms::get_closest_time( char *tablename, unsigned int options, pwr_tTime
}
MYSQL_ROW
row
;
MYSQL_RES
*
result
=
mysql_store_result
(
m_env
->
con
()
);
MYSQL_RES
*
result
=
mysql_store_result
(
con
);
if
(
!
result
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
...
...
@@ -3646,7 +3684,7 @@ int sev_dbms::get_closest_time( char *tablename, unsigned int options, pwr_tTime
}
int
sev_dbms
::
get_objectvalues
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
int
sev_dbms
::
get_objectvalues
(
pwr_tStatus
*
sts
,
void
*
thread
,
sev_item
*
item
,
unsigned
int
size
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
)
{
...
...
@@ -3662,6 +3700,12 @@ int sev_dbms::get_objectvalues( pwr_tStatus *sts, sev_item *item,
char
orderby_part
[
80
];
char
jumpstr
[
40
];
char
where_part
[
200
];
MYSQL
*
con
;
if
(
thread
)
con
=
(
MYSQL
*
)
thread
;
else
con
=
m_env
->
con
();
if
(
starttime
&&
starttime
->
tv_sec
==
0
&&
starttime
->
tv_nsec
==
0
)
starttime
=
0
;
...
...
@@ -3676,7 +3720,7 @@ int sev_dbms::get_objectvalues( pwr_tStatus *sts, sev_item *item,
// Get number of rows
sprintf
(
query
,
"show table status where name = '%s';"
,
item
->
tablename
);
int
rc
=
mysql_query
(
m_env
->
con
()
,
query
);
int
rc
=
mysql_query
(
con
,
query
);
if
(
rc
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
printf
(
"%s Query Error
\n
"
,
__FUNCTION__
);
...
...
@@ -3685,7 +3729,7 @@ int sev_dbms::get_objectvalues( pwr_tStatus *sts, sev_item *item,
}
MYSQL_ROW
row
;
MYSQL_RES
*
result
=
mysql_store_result
(
m_env
->
con
()
);
MYSQL_RES
*
result
=
mysql_store_result
(
con
);
if
(
!
result
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
...
...
@@ -3711,13 +3755,13 @@ int sev_dbms::get_objectvalues( pwr_tStatus *sts, sev_item *item,
if
(
starttime
)
{
// Get id for starttime
*
sts
=
get_closest_time
(
item
->
tablename
,
item
->
options
,
starttime
,
1
,
&
startid
);
*
sts
=
get_closest_time
(
thread
,
item
->
tablename
,
item
->
options
,
starttime
,
1
,
&
startid
);
}
else
startid
=
0
;
if
(
endtime
)
{
// Get id for starttime
*
sts
=
get_closest_time
(
item
->
tablename
,
item
->
options
,
endtime
,
0
,
&
endid
);
*
sts
=
get_closest_time
(
thread
,
item
->
tablename
,
item
->
options
,
endtime
,
0
,
&
endid
);
}
else
endid
=
strtoul
(
row
[
4
],
0
,
10
);
...
...
@@ -3904,15 +3948,15 @@ int sev_dbms::get_objectvalues( pwr_tStatus *sts, sev_item *item,
queryStr
.
append
(
" order by "
);
queryStr
.
append
(
orderby_part
);
rc
=
mysql_query
(
m_env
->
con
()
,
queryStr
.
c_str
());
rc
=
mysql_query
(
con
,
queryStr
.
c_str
());
if
(
rc
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
printf
(
"%s: %s
\n
"
,
__FUNCTION__
,
mysql_error
(
m_env
->
con
()
));
printf
(
"%s: %s
\n
"
,
__FUNCTION__
,
mysql_error
(
con
));
*
sts
=
SEV__DBERROR
;
return
0
;
}
result
=
mysql_store_result
(
m_env
->
con
()
);
result
=
mysql_store_result
(
con
);
if
(
!
result
)
{
printf
(
"In %s row %d:
\n
"
,
__FILE__
,
__LINE__
);
printf
(
"%s Result Error
\n
"
,
__FUNCTION__
);
...
...
@@ -4543,6 +4587,11 @@ void *sev_dbms::new_thread()
return
m_env
->
open_thread
(
&
sts
);
}
void
sev_dbms
::
delete_thread
(
void
*
thread
)
{
m_env
->
close_thread
(
(
MYSQL
*
)
thread
);
}
sev_dbms
::~
sev_dbms
()
{
printf
(
"Freeing memory
\n
"
);
...
...
sev/lib/sev/src/sev_dbms.h
View file @
8ab48c43
...
...
@@ -92,6 +92,7 @@ class sev_dbms_env
MYSQL
*
createDb
(
void
);
MYSQL
*
openDb
(
unsigned
int
*
sts
);
MYSQL
*
open_thread
(
unsigned
int
*
sts
);
void
close_thread
(
MYSQL
*
con
);
bool
exists
()
{
return
m_exists
;}
int
close
(
void
);
static
int
get_systemname
();
...
...
@@ -143,11 +144,11 @@ class sev_dbms : public sev_db {
pwr_tTime
time
,
void
*
buf
,
unsigned
int
size
);
int
write_value
(
pwr_tStatus
*
sts
,
int
item_idx
,
int
attr_idx
,
pwr_tTime
time
,
void
*
buf
,
unsigned
int
size
,
void
*
thread
);
int
get_values
(
pwr_tStatus
*
sts
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
scantime
,
pwr_tTime
*
creatime
,
pwr_tTime
*
starttime
,
int
get_values
(
pwr_tStatus
*
sts
,
void
*
thread
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
scantime
,
pwr_tTime
*
creatime
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
);
int
delete_old_data
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
delete_old_data
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
);
int
delete_item
(
pwr_tStatus
*
sts
,
pwr_tOid
oid
,
char
*
aname
);
...
...
@@ -188,10 +189,11 @@ class sev_dbms : public sev_db {
int
get_objectitemattributes
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
char
*
tablename
);
int
check_objectitemattr
(
pwr_tStatus
*
sts
,
char
*
tablename
,
pwr_tOid
oid
,
char
*
aname
,
char
*
oname
,
pwr_eType
type
,
unsigned
int
size
,
unsigned
int
*
idx
);
int
delete_old_objectdata
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
delete_old_objectdata
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
);
int
check_deadband
(
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
deadband
,
void
*
value
,
void
*
oldvalue
);
int
get_objectvalues
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
unsigned
int
size
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
get_objectvalues
(
pwr_tStatus
*
sts
,
void
*
thread
,
sev_item
*
item
,
unsigned
int
size
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
);
int
delete_event_table
(
pwr_tStatus
*
sts
,
char
*
tablename
);
int
create_event_table
(
pwr_tStatus
*
sts
,
char
*
tablename
,
pwr_tMask
options
);
...
...
@@ -209,11 +211,12 @@ class sev_dbms : public sev_db {
int
begin_transaction
(
void
*
thread
);
int
commit_transaction
(
void
*
thread
);
void
*
new_thread
();
int
get_closest_time
(
char
*
tablename
,
unsigned
int
options
,
pwr_tTime
*
time
,
int
before
,
unsigned
int
*
id
);
void
delete_thread
(
void
*
thread
);
int
get_closest_time
(
void
*
thread
,
char
*
tablename
,
unsigned
int
options
,
pwr_tTime
*
time
,
int
before
,
unsigned
int
*
id
);
void
string_to_mysqlstring
(
char
*
in
,
char
*
out
,
int
size
);
void
mysqlstring_to_string
(
char
*
in
,
char
*
out
,
int
size
);
int
get_id_range
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
int
get_id_range
(
pwr_tStatus
*
sts
,
void
*
thread
,
sev_item
*
item
,
pwr_tMask
options
,
unsigned
int
*
first
,
unsigned
int
*
last
);
int
get_time_range
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
pwr_tMask
options
,
pwr_tTime
*
first
,
pwr_tTime
*
last
);
...
...
sev/lib/sev/src/sev_dbsqlite.cpp
View file @
8ab48c43
...
...
@@ -1009,8 +1009,8 @@ int sev_dbsqlite::store_value( pwr_tStatus *sts, void *thread, int item_idx, int
return
1
;
}
int
sev_dbsqlite
::
get_values
(
pwr_tStatus
*
sts
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
int
sev_dbsqlite
::
get_values
(
pwr_tStatus
*
sts
,
void
*
thread
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
scantime
,
pwr_tTime
*
creatime
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
)
...
...
@@ -1685,7 +1685,7 @@ int sev_dbsqlite::delete_item( pwr_tStatus *sts, pwr_tOid oid, char *aname)
return
1
;
}
int
sev_dbsqlite
::
delete_old_data
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
sev_dbsqlite
::
delete_old_data
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
)
{
char
query
[
300
];
...
...
@@ -2585,7 +2585,7 @@ int sev_dbsqlite::get_objectitemattributes( pwr_tStatus *sts, sev_item *item, ch
return
1
;
}
int
sev_dbsqlite
::
delete_old_objectdata
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
sev_dbsqlite
::
delete_old_objectdata
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
)
{
char
query
[
300
];
...
...
@@ -2702,7 +2702,7 @@ int sev_dbsqlite::check_deadband(pwr_eType type, unsigned int size, pwr_tFloat32
return
deadband_active
;
}
int
sev_dbsqlite
::
get_objectvalues
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
int
sev_dbsqlite
::
get_objectvalues
(
pwr_tStatus
*
sts
,
void
*
thread
,
sev_item
*
item
,
unsigned
int
size
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
)
{
...
...
sev/lib/sev/src/sev_dbsqlite.h
View file @
8ab48c43
...
...
@@ -77,11 +77,11 @@ class sev_dbsqlite : public sev_db {
pwr_tFloat32
deadband
,
pwr_tMask
options
,
unsigned
int
*
idx
);
int
store_value
(
pwr_tStatus
*
sts
,
void
*
thread
,
int
item_idx
,
int
attr_idx
,
pwr_tTime
time
,
void
*
buf
,
unsigned
int
size
);
int
get_values
(
pwr_tStatus
*
sts
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
scantime
,
pwr_tTime
*
creatime
,
pwr_tTime
*
starttime
,
int
get_values
(
pwr_tStatus
*
sts
,
void
*
thread
,
pwr_tOid
oid
,
pwr_tMask
options
,
float
deadband
,
char
*
aname
,
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
scantime
,
pwr_tTime
*
creatime
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
);
int
delete_old_data
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
delete_old_data
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
);
int
delete_item
(
pwr_tStatus
*
sts
,
pwr_tOid
oid
,
char
*
aname
);
...
...
@@ -121,10 +121,11 @@ class sev_dbsqlite : public sev_db {
int
get_objectitemattributes
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
char
*
tablename
);
int
check_objectitemattr
(
pwr_tStatus
*
sts
,
char
*
tablename
,
pwr_tOid
oid
,
char
*
aname
,
char
*
oname
,
pwr_eType
type
,
unsigned
int
size
,
unsigned
int
*
idx
);
int
delete_old_objectdata
(
pwr_tStatus
*
sts
,
char
*
tablename
,
int
delete_old_objectdata
(
pwr_tStatus
*
sts
,
void
*
thread
,
char
*
tablename
,
pwr_tMask
options
,
pwr_tTime
limit
,
pwr_tFloat32
scantime
,
pwr_tFloat32
garbagecycle
);
int
check_deadband
(
pwr_eType
type
,
unsigned
int
size
,
pwr_tFloat32
deadband
,
void
*
value
,
void
*
oldvalue
);
int
get_objectvalues
(
pwr_tStatus
*
sts
,
sev_item
*
item
,
unsigned
int
size
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
get_objectvalues
(
pwr_tStatus
*
sts
,
void
*
thread
,
sev_item
*
item
,
unsigned
int
size
,
pwr_tTime
*
starttime
,
pwr_tTime
*
endtime
,
int
maxsize
,
pwr_tTime
**
tbuf
,
void
**
vbuf
,
unsigned
int
*
bsize
);
int
delete_event_table
(
pwr_tStatus
*
sts
,
char
*
tablename
);
int
create_event_table
(
pwr_tStatus
*
sts
,
char
*
tablename
,
pwr_tMask
options
);
...
...
sev/lib/sev/src/sev_valuecache.cpp
View file @
8ab48c43
...
...
@@ -44,6 +44,7 @@
#include "rt_gdh.h"
#include "pwr_baseclasses.h"
#include "sev_valuecache.h"
#include "rt_sev_msg.h"
const
int
sev_valuecache_double
::
m_size
=
VALUECACHE_SIZE
;
...
...
@@ -110,15 +111,17 @@ void sev_valuecache_double::add( void *value, pwr_tTime *t, void *thread)
calculate_epsilon
(
0
);
}
void
sev_valuecache_double
::
evaluate
(
double
maxtime
,
void
*
thread
)
int
sev_valuecache_double
::
evaluate
(
double
maxtime
,
void
*
thread
)
{
int
value_added
=
1
;
int
sts
=
SEV__NOWRITE
;
while
(
1
)
{
if
(
(
maxtime
!=
0
&&
(
m_val
[
m_last
].
time
-
m_wval
.
time
)
>
maxtime
)
||
!
check_deadband
())
{
// Store optimal value
write
(
m_last_opt_write
+
value_added
,
thread
);
sts
=
SEV__SUCCESS
;
}
else
break
;
...
...
@@ -128,6 +131,7 @@ void sev_valuecache_double::evaluate( double maxtime, void *thread)
m_last_opt_write
=
get_optimal_write
();
value_added
=
0
;
}
return
sts
;
}
void
sev_valuecache_double
::
calculate_k
()
...
...
@@ -286,11 +290,14 @@ void sev_valuecache_bool::add( void *value, pwr_tTime *t, void *thread)
}
}
void
sev_valuecache_bool
::
evaluate
(
double
maxtime
,
void
*
thread
)
int
sev_valuecache_bool
::
evaluate
(
double
maxtime
,
void
*
thread
)
{
if
(
m_val
.
val
!=
m_wval
.
val
)
{
write
(
0
,
thread
);
return
SEV__SUCCESS
;
}
return
SEV__NOWRITE
;
}
void
sev_valuecache_bool
::
write
(
int
index
,
void
*
thread
)
...
...
sev/lib/sev/src/sev_valuecache.h
View file @
8ab48c43
...
...
@@ -39,6 +39,7 @@
#include "pwr.h"
#include "co_time.h"
#include "rt_sev_msg.h"
typedef
enum
{
sev_eCvType_Point
,
...
...
@@ -69,9 +70,9 @@ class sev_valuecache {
sev_valuecache
(
const
sev_valuecache
&
x
)
:
m_type
(
x
.
m_type
),
m_userdata
(
x
.
m_userdata
),
m_useridx
(
x
.
m_useridx
),
m_write_cb
(
x
.
m_write_cb
)
{}
virtual
~
sev_valuecache
()
{};
virtual
void
add
(
void
*
value
,
pwr_tTime
*
time
,
void
*
thread
)
{}
;
virtual
void
evaluate
(
double
maxtime
,
void
*
thread
)
{};
virtual
void
write
(
int
index
,
void
*
thread
)
{}
;
virtual
void
add
(
void
*
value
,
pwr_tTime
*
time
,
void
*
thread
)
{}
virtual
int
evaluate
(
double
maxtime
,
void
*
thread
)
{
return
SEV__NOWRITE
;}
virtual
void
write
(
int
index
,
void
*
thread
)
{}
virtual
void
set_write_cb
(
void
(
*
write_cb
)(
void
*
,
int
,
void
*
,
pwr_tTime
*
,
void
*
),
void
*
userdata
,
int
idx
)
{
m_write_cb
=
write_cb
;
m_userdata
=
userdata
;
...
...
@@ -118,7 +119,7 @@ class sev_valuecache_double : public sev_valuecache {
sev_sCacheValueDouble
&
operator
[](
const
int
index
);
sev_sCacheValueDouble
&
wval
()
{
return
m_wval
;}
void
add
(
void
*
value
,
pwr_tTime
*
time
,
void
*
thread
);
void
evaluate
(
double
maxtime
,
void
*
thread
);
int
evaluate
(
double
maxtime
,
void
*
thread
);
void
calculate_k
();
void
write
(
int
index
,
void
*
thread
);
void
calculate_epsilon
();
...
...
@@ -147,7 +148,7 @@ class sev_valuecache_bool : public sev_valuecache {
~
sev_valuecache_bool
()
{}
sev_sCacheValueBool
&
wval
()
{
return
m_wval
;}
void
add
(
void
*
value
,
pwr_tTime
*
time
,
void
*
thread
);
void
evaluate
(
double
maxtime
,
void
*
thread
);
int
evaluate
(
double
maxtime
,
void
*
thread
);
void
write
(
int
index
,
void
*
thread
);
};
...
...
src/msg/rt/src/rt_sev_msg.msg
View file @
8ab48c43
...
...
@@ -55,6 +55,7 @@ range <Unable to get range> /error
unknowntype <Unknown data type> /error
nosuchtable <Table doesn't exist> /error
norows <No rows found> /error
nowrite <Nothings written> /info
.end
...
...
src/wbl/pwrb/src/pwrb_c_a_sevserverthread.wb_load
View file @
8ab48c43
...
...
@@ -54,9 +54,19 @@ SObject pwrb:Class
Attr StructName = "SevServerThread"
EndBody
!/**
! Occupied.
!*/
Object Occupied $Attribute 1
Body SysBody
Attr TypeRef = "pwrs:Type-$Boolean"
Attr Flags |= PWR_MASK_NOEDIT
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
!/**
! Thread key.
!*/
Object Key $Attribute
1
Object Key $Attribute
2
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
@@ -66,7 +76,7 @@ SObject pwrb:Class
!/**
! Allocated size in thread queue.
!*/
Object QueueAlloc $Attribute
2
Object QueueAlloc $Attribute
3
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
@@ -76,7 +86,7 @@ SObject pwrb:Class
!/**
! Lost messages.
!*/
Object LostCnt $Attribute
3
Object LostCnt $Attribute
4
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
@@ -86,7 +96,7 @@ SObject pwrb:Class
!/**
! Medium load in percentage.
!*/
Object MediumLoad $Attribute
4
Object MediumLoad $Attribute
5
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
@@ -96,7 +106,7 @@ SObject pwrb:Class
!/**
! Storage rate. Values per second.
!*/
Object StorageRate $Attribute
5
Object StorageRate $Attribute
6
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
@@ -106,7 +116,37 @@ SObject pwrb:Class
!/**
! Medium storage rate. Values per second.
!*/
Object MediumStorageRate $Attribute 6
Object MediumStorageRate $Attribute 7
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_NOEDIT
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
!/**
! Write rate. Values per second.
!*/
Object WriteRate $Attribute 8
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_NOEDIT
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
!/**
! Medium write rate. Values per second.
!*/
Object MediumWriteRate $Attribute 9
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_NOEDIT
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
!/**
! Write quota in percentage.
!*/
Object WriteQuota $Attribute 10
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
@@ -116,7 +156,7 @@ SObject pwrb:Class
!/**
! Data store message count.
!*/
Object DataStoreMsgCnt $Attribute
7
Object DataStoreMsgCnt $Attribute
11
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
@@ -126,7 +166,7 @@ SObject pwrb:Class
!/**
! Event store message count.
!*/
Object EventStoreMsgCnt $Attribute
8
Object EventStoreMsgCnt $Attribute
12
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
src/wbl/pwrb/src/pwrb_c_a_sevstatistics.wb_load
View file @
8ab48c43
...
...
@@ -94,9 +94,39 @@ SObject pwrb:Class
EndBody
EndObject
!/**
! Write rate. Values per second.
!*/
Object WriteRate $Attribute 5
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_NOEDIT
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
!/**
! Medium write rate. Values per second.
!*/
Object MediumWriteRate $Attribute 6
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_NOEDIT
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
!/**
! Write quota in percentage
!*/
Object WriteQuota $Attribute 7
Body SysBody
Attr TypeRef = "pwrs:Type-$Float32"
Attr Flags |= PWR_MASK_NOEDIT
Attr Flags |= PWR_MASK_STATE
EndBody
EndObject
!/**
! Data store message count.
!*/
Object DataStoreMsgCnt $Attribute
5
Object DataStoreMsgCnt $Attribute
8
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
@@ -106,7 +136,7 @@ SObject pwrb:Class
!/**
! Data get message count.
!*/
Object DataGetMsgCnt $Attribute
6
Object DataGetMsgCnt $Attribute
9
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
@@ -116,7 +146,7 @@ SObject pwrb:Class
!/**
! Items message count.
!*/
Object ItemsMsgCnt $Attribute
7
Object ItemsMsgCnt $Attribute
10
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
@@ -126,7 +156,7 @@ SObject pwrb:Class
!/**
! Event store message count.
!*/
Object EventStoreMsgCnt $Attribute
8
Object EventStoreMsgCnt $Attribute
11
Body SysBody
Attr TypeRef = "pwrs:Type-$UInt32"
Attr Flags |= PWR_MASK_NOEDIT
...
...
src/wbl/pwrb/src/pwrb_c_sevserver.wb_load
View file @
8ab48c43
...
...
@@ -158,7 +158,7 @@ SObject pwrb:Class
Attr TypeRef = "pwrb:Class-SevServerThread"
Attr Flags |= PWR_MASK_CLASS
Attr Flags |= PWR_MASK_ARRAY
Attr Elements =
2
0
Attr Elements =
4
0
EndBody
EndObject
EndObject
...
...
xtt/exp/ge/src/pwr_c_sevserver.pwg
0 → 100644
View file @
8ab48c43
Changes suppressed. Click to show.
0! DefaultWidth 999
0! DefaultHeight 667
199
!/**
! TempSwitch
! Group Components/BaseComponent
!
! <image> bcomp_tempswitch_gs.gif
!
! <h1>Description
! Temperature switch. Graphic symbol for basecomponent BaseTempSwitch.
! Should be connected to an instance of BaseTempSwitch, or a
! subclass to this class.
!
! <h1>Default dynamics
! HostObject <link>GeDynHostObject, ,$pwr_lang/man_geref.dat
!
! Dynamics for the symbol
! - flashing red at alarm status.
! - popupmenu with the methods of the connected object.
!
! DigFlash <t>$hostobject.AlarmStatus <link>GeDynDigFlash, ,$pwr_lang/man_geref.dat
! PopupMenu <t>$hostobject <link>GeDynPopupMenu, ,$pwr_lang/man_geref.dat
!
! Default Cycle Slow
!
!*/
1
100 20
135 20
101 20
102 132
103 16
104 3.13889
136 3.13889
105 100
106 1
107 0
108 54.5
109 0.5
110 36
111 0
116 19
117 2
118 139
119 98
120 1
121 Claes context
122 0
126 0.5
127 0.5
128 0
129 0.3
130 1.5
131 0.8
132 3
133 2
137 4510
138 3
139 3
140 2
141 $default
134
22
2200 0
2201 477
2202 pwr_c_sevserver
2203 310
2205 0
2204
2206 0
2207
2208
2209 2.65
2210 1
2211 52.6
2212 34.4
2213 4
2214
pwrp_pop:
pwrp_exe:
ssab_exe:
pwr_exe:
2215 0
2246 0
2236 0
2247 0
2216 0
2221 0
2237 0
2238 0
2239 0
2240 0
2241 0
2242 0
2217 0
2218 0
2219 0
2220
2230 0
2231 1
2222
2223 1
2224 1
2232 0.5
2225 0.2
2226 0
2227
2228 0
2229 1
2233 1
2234 2
2235 1
2243 0
2248 0
2245 0
2249
48
4802 0
4803 1
4800 360
4801
0.992157 0.992157 0.992157
0.872157 0.872157 0.872157
1 1 1
1 1 1
0.854841 0.854841 0.854841
0.734841 0.734841 0.734841
1 1 1
0.974841 0.974841 0.974841
0.941176 0.941176 0.941176
0.821176 0.821176 0.821176
1 1 1
1 1 1
0.623529 0.623529 0.623529
0.503529 0.503529 0.503529
0.803529 0.803529 0.803529
0.743529 0.743529 0.743529
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0.952941 0.952941 0.952941
0.832941 0.832941 0.832941
1 1 1
1 1 1
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
0.988235 0.0666667 0.0666667
0.868235 0 0
1 0.246667 0.246667
1 0.186667 0.186667
1 0.670588 0.670588
0.88 0.550588 0.550588
1 0.850588 0.850588
1 0.790588 0.790588
1 0.760784 0.760784
0.88 0.640784 0.640784
1 0.940784 0.940784
1 0.880784 0.880784
1 0.898039 0.898039
0.88 0.778039 0.778039
1 1 1
1 1 1
1 0.898039 0.898039
0.88 0.778039 0.778039
1 1 1
1 1 1
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0.247059 0.247059 0.247059
0.127059 0.127059 0.127059
0.427059 0.427059 0.427059
0.367059 0.367059 0.367059
0.247059 0.247059 0.247059
0.127059 0.127059 0.127059
0.427059 0.427059 0.427059
0.367059 0.367059 0.367059
0.823529 0.823529 0.823529
0.703529 0.703529 0.703529
1 1 1
0.943529 0.943529 0.943529
0.886275 0.886275 0.886275
0.766275 0.766275 0.766275
1 1 1
1 1 1
0.952941 0.952941 0.952941
0.832941 0.832941 0.832941
1 1 1
1 1 1
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
0.196078 0.933333 0
0.0760784 0.813333 0
0.376078 1 0.18
0.316078 1 0.12
0.698039 1 0.564706
0.578039 0.88 0.444706
0.878039 1 0.744706
0.818039 1 0.684706
0.807843 1 0.760784
0.687843 0.88 0.640784
0.987843 1 0.940784
0.927843 1 0.880784
0.870588 1 0.835294
0.750588 0.88 0.715294
1 1 1
0.990588 1 0.955294
0.870588 1 0.835294
0.750588 0.88 0.715294
1 1 1
0.990588 1 0.955294
0.247059 0.247059 0.247059
0.127059 0.127059 0.127059
0.427059 0.427059 0.427059
0.367059 0.367059 0.367059
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0.972549 0.937255 0.65098
0.852549 0.817255 0.53098
1 1 0.83098
1 1 0.77098
0.952941 0.952941 0.952941
0.832941 0.832941 0.832941
1 1 1
1 1 1
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0.662745 0.662745 0.662745
0.542745 0.542745 0.542745
0.842745 0.842745 0.842745
0.782745 0.782745 0.782745
0.509804 0.509804 0.509804
0.389804 0.389804 0.389804
0.689804 0.689804 0.689804
0.629804 0.629804 0.629804
1 0.976471 0.0901961
0.88 0.856471 0
1 1 0.270196
1 1 0.210196
1 1 0.729412
0.88 0.88 0.609412
1 1 0.909412
1 1 0.849412
0.972549 0.937255 0.65098
0.852549 0.817255 0.53098
1 1 0.83098
1 1 0.77098
1 1 0.8
0.88 0.88 0.68
1 1 0.98
1 1 0.92
1 1 0.8
0.88 0.88 0.68
1 1 0.98
1 1 0.92
0.72549 0.866667 1
0.60549 0.746667 0.88
0.90549 1 1
0.84549 0.986667 1
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0.690196 0.690196 0.690196
0.570196 0.570196 0.570196
0.870196 0.870196 0.870196
0.810196 0.810196 0.810196
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
0.72549 0.866667 1
0.60549 0.746667 0.88
0.90549 1 1
0.84549 0.986667 1
0.247059 0.247059 0.247059
0.127059 0.127059 0.127059
0.427059 0.427059 0.427059
0.367059 0.367059 0.367059
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
0.886275 0.886275 0.886275
0.766275 0.766275 0.766275
1 1 1
1 1 1
0.407843 0.407843 0.407843
0.287843 0.287843 0.287843
0.587843 0.587843 0.587843
0.527843 0.527843 0.527843
0.418189 0.799023 1
0.298189 0.679023 0.88
0.598189 0.979023 1
0.538189 0.919023 1
0.668742 0.879622 0.990494
0.548742 0.759622 0.870494
0.848742 1 1
0.788742 0.999622 1
0.670588 0.882353 0.992157
0.550588 0.762353 0.872157
0.850588 1 1
0.790588 1 1
0.87451 0.956863 1
0.75451 0.836863 0.88
1 1 1
0.99451 1 1
0.874998 0.956909 1
0.754998 0.836909 0.88
1 1 1
0.994998 1 1
0.952941 0.952941 0.952941
0.832941 0.832941 0.832941
1 1 1
1 1 1
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0.952941 0.952941 0.952941
0.832941 0.832941 0.832941
1 1 1
1 1 1
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0.247059 0.247059 0.247059
0.127059 0.127059 0.127059
0.427059 0.427059 0.427059
0.367059 0.367059 0.367059
0.431373 0.431373 0.431373
0.311373 0.311373 0.311373
0.611373 0.611373 0.611373
0.551373 0.551373 0.551373
0.752941 1 1
0.632941 0.88 0.88
0.932941 1 1
0.872941 1 1
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
1 0.576471 0
0.88 0.456471 0
1 0.756471 0.18
1 0.696471 0.12
1 0.713191 0.32282
0.88 0.593191 0.20282
1 0.893191 0.50282
1 0.833191 0.44282
0.982864 0.813947 0.582559
0.862864 0.693947 0.462559
1 0.993947 0.762559
1 0.933947 0.702559
1 0.92549 0.815686
0.88 0.80549 0.695686
1 1 0.995686
1 1 0.935686
1 0.922194 0.815442
0.88 0.802194 0.695442
1 1 0.995442
1 1 0.935442
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
0.552941 0.552941 0.552941
0.432941 0.432941 0.432941
0.732941 0.732941 0.732941
0.672941 0.672941 0.672941
0 0 0
0 0 0
0.18 0.18 0.18
0.12 0.12 0.12
0.952941 0.952941 0.952941
0.832941 0.832941 0.832941
1 1 1
1 1 1
0.482353 0.482353 0.482353
0.362353 0.362353 0.362353
0.662353 0.662353 0.662353
0.602353 0.602353 0.602353
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
1 1 1
0.88 0.88 0.88
1 1 1
1 1 1
0.853742 0.302632 0.982101
0.733742 0.182632 0.862101
1 0.482632 1
0.973742 0.422632 1
0.899916 0.583337 0.985214
0.779916 0.463337 0.865214
1 0.763337 1
1 0.703337 1
0.924636 0.740002 1
0.804636 0.620002 0.88
1 0.920002 1
1 0.860002 1
0.968627 0.854902 1
0.848627 0.734902 0.88
1 1 1
1 0.974902 1
0.966888 0.854505 1
0.846888 0.734505 0.88
1 1 1
1 0.974505 1
99
2244
99
123
2
3
300 pwr_valuelong
301
2
19
1904
1900 26.6
1901 0
1902 0.7
1903 0
1908 0
1909 41
1910 41
1911 1
1915 0
1913 5
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 26.6
701 0.7
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
29
2907
13
1300 1
1301 304
1306 0
1302 1
1305 1
1303
7
700 1
701 1.35
99
1304 0
1307 0
1308 0
99
2908
28
2800 1
2801 0
2802 -0.715333
2803 0
2804 1
2805 -0.771778
2806 0
99
2901 2
99
99
302 0
304 0
303
305 0
306
307
308 1024
330 0
321 0
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
99
3
300 pwr_pulldownmenu2
301
2
19
1904 O7
1900 3
1901 0
1902 1
1903 0
1908 0
1909 31
1910 31
1911 0
1915 0
1913 5
1916 2
1914 0
1918 0
1919 0
1920 0
1917 1
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 3
701 1
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
26
2604 O8
2600 3
2601 0
2602 1
2603 0.9
2605
25
2500 0
2501 1
2503 1
2504 0
2502
2
7
700 0
701 0.9
99
7
700 0
701 1
99
7
700 3
701 1
99
7
700 3
701 0.9
99
7
700 0
701 0.9
99
99
99
2608 0
2609 31
2629 10000
2610 31
2611 0
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
2613 0
2619 0
2620 1
2626 0
2627 0
2621 0
2622 0
2623 0
2624 4
2625 1
2628 0
99
20
2004 O4
2000 3
2001 0
2002 1
2003 1
2009 0
2010 0
2005
6
600 0
601 1
602
7
700 3
701 1
99
603
7
700 0
701 1
99
99
2008
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 2.32453e-16
2806 0
99
99
29
2907
13
1300 1
1301 303
1306 0
1302 2
1305 1
1303
7
700 -0.954174
701 0.0636116
99
1304 0
1307 4
1308 0
99
2908
28
2800 1
2801 0
2802 1.25417
2803 0
2804 1
2805 0.736388
2806 0
99
2901 2
99
99
302 0
304 0
303
305 0
306
307
308 0
330 0
321 524288
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 1
332 0
329
1
100 1
105 0
101 1
106 0
102 33619964
103 0
99
99
3
300 pwr_menubar2
301
2
19
1904 O0
1900 27.5
1901 0
1902 1
1903 0
1908 0
1909 31
1910 31
1911 0
1915 0
1913 15
1916 2
1914 0
1918 0
1919 0
1920 0
1917 1
1921 0
1922 2
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 27.5
701 1
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
26
2604 O3
2600 27.5
2601 0
2602 1
2603 0.9
2605
25
2500 0
2501 1
2503 1
2504 0
2502
2
7
700 0
701 1
99
7
700 0
701 0.9
99
7
700 27.5
701 0.9
99
7
700 27.5
701 1
99
7
700 0
701 1
99
99
99
2608 0
2609 31
2629 10000
2610 31
2611 0
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
2613 0
2619 0
2620 1
2626 0
2627 0
2621 0
2622 0
2623 0
2624 4
2625 1
2628 0
99
20
2004 O2
2000 27.5
2001 0
2002 1
2003 1
2009 0
2010 0
2005
6
600 0
601 1
602
7
700 27.5
701 1
99
603
7
700 0
701 1
99
99
2008
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
99
302 0
304 0
303
305 0
306
307
308 0
330 0
321 0
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
329
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
3
300 pwr_mb2opengraph
301
2
19
1904 O17
1900 1.1
1901 0
1902 1.2
1903 0
1908 0
1909 30
1910 30
1911 1
1915 1
1913 8
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 1.1
701 1.2
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
24
2404 O6
2400 0.932301
2401 0.432301
2402 0.988828
2403 0.488828
2408 39
2409 113
2410 113
2423 10000
2411 1
2415 1
2413 5
2416 2
2414 0
2417 1
2421 1
2418 0
2419 4
2420 1
2422 0
2424 0
2407 0
2406
2405
8
802 39
803 1
800 0
801 360
806 1
804
7
700 0.4
701 0.4
99
805
7
700 0.9
701 0.9
99
99
2412
28
2800 1
2801 0
2802 0.0323011
2803 0
2804 1
2805 0.0888281
2806 0
99
99
26
2604 O7
2600 0.482301
2601 0.182301
2602 0.488828
2603 0.238828
2605
25
2500 38
2501 1
2503 1
2504 0
2502
2
7
700 0.1
701 0.1
99
7
700 0.4
701 0.1
99
7
700 0.25
701 0.35
99
7
700 0.1
701 0.1
99
99
99
2608 38
2609 74
2629 10000
2610 74
2611 1
2616 1
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0.0823011
2803 0
2804 1
2805 0.138828
2806 0
99
2613 0
2619 0
2620 0
2626 0
2627 0
2621 1
2622 0
2623 0
2624 4
2625 1
2628 0
99
20
2004 O8
2000 0.432301
2001 0.182301
2002 0.738828
2003 0.738828
2009 39
2010 0
2005
6
600 39
601 1
602
7
700 0.15
701 0.65
99
603
7
700 0.4
701 0.65
99
99
2008
28
2800 1
2801 0
2802 0.0323011
2803 0
2804 1
2805 0.0888281
2806 0
99
99
20
2004 O10
2000 0.332301
2001 0.332301
2002 0.738828
2003 0.488828
2009 39
2010 0
2005
6
600 39
601 1
602
7
700 0.3
701 0.65
99
603
7
700 0.3
701 0.4
99
99
2008
28
2800 1
2801 0
2802 0.0323011
2803 0
2804 1
2805 0.0888281
2806 0
99
99
26
2604 O14
2600 0.920673
2601 0.720673
2602 0.8272
2603 0.6272
2605
25
2500 39
2501 1
2503 1
2504 0
2502
2
7
700 0.9
701 0.65
99
7
700 0.7
701 0.75
99
7
700 0.7
701 0.55
99
7
700 0.85
701 0.65
99
99
99
2608 39
2609 39
2629 10000
2610 39
2611 1
2616 1
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0.0206727
2803 0
2804 1
2805 0.0771997
2806 0
99
2613 0
2619 0
2620 0
2626 0
2627 0
2621 1
2622 0
2623 0
2624 4
2625 1
2628 0
99
99
302 0
304 0
303
305 0
306
307
308 128
330 0
321 8256
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
329
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
3
300 pwr_mb2openobjectgraph
301
2
19
1904 O17
1900 1.1
1901 0
1902 1.2
1903 0
1908 0
1909 30
1910 30
1911 1
1915 1
1913 8
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 1.1
701 1.2
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
19
1904 O18
1900 0.9
1901 0.2
1902 1
1903 0.2
1908 37
1909 67
1910 67
1911 1
1915 0
1913 5
1916 2
1914 0
1918 0
1919 1
1920 0
1917 1
1921 0
1922 4
1923 1
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 37
501 1
504 1
505 0
502
7
700 0.2
701 0.2
99
503
7
700 0.9
701 1
99
99
1912
28
2800 1
2801 0
2802 2.98023e-09
2803 0
2804 1
2805 2.98023e-09
2806 0
99
99
20
2004 O19
2000 0.9
2001 0.2
2002 0.3
2003 0.3
2009 37
2010 0
2005
6
600 37
601 1
602
7
700 0.9
701 0.3
99
603
7
700 0.2
701 0.3
99
99
2008
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
24
2404 O20
2400 0.85
2401 0.45
2402 0.95
2403 0.55
2408 37
2409 113
2410 113
2423 10000
2411 1
2415 0
2413 5
2416 2
2414 0
2417 1
2421 1
2418 0
2419 4
2420 1
2422 0
2424 0
2407 0
2406
2405
8
802 37
803 1
800 0
801 360
806 1
804
7
700 0.45
701 0.6
99
805
7
700 0.85
701 1
99
99
2412
28
2800 1
2801 0
2802 -1.73472e-18
2803 0
2804 1
2805 -0.05
2806 0
99
99
26
2604 O21
2600 0.85
2601 0.7
2602 0.85
2603 0.65
2605
25
2500 39
2501 1
2503 1
2504 0
2502
2
7
700 0.85
701 0.8
99
7
700 0.7
701 0.7
99
7
700 0.7
701 0.9
99
7
700 0.85
701 0.8
99
99
99
2608 39
2609 39
2629 10000
2610 39
2611 1
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 -1.73472e-18
2803 0
2804 1
2805 -0.05
2806 0
99
2613 0
2619 0
2620 0
2626 0
2627 0
2621 1
2622 0
2623 0
2624 4
2625 1
2628 0
99
20
2004 O22
2000 0.45
2001 0.25
2002 0.75
2003 0.75
2009 38
2010 0
2005
6
600 38
601 1
602
7
700 0.45
701 0.8
99
603
7
700 0.25
701 0.8
99
99
2008
28
2800 1
2801 0
2802 -1.73472e-18
2803 0
2804 1
2805 -0.05
2806 0
99
99
20
2004 O23
2000 0.4
2001 0.4
2002 0.75
2003 0.6
2009 38
2010 0
2005
6
600 38
601 1
602
7
700 0.4
701 0.65
99
603
7
700 0.4
701 0.8
99
99
2008
28
2800 1
2801 0
2802 -1.73472e-18
2803 0
2804 1
2805 -0.05
2806 0
99
99
26
2604 O27
2600 0.55
2601 0.25
2602 0.6
2603 0.4
2605
25
2500 38
2501 1
2503 1
2504 0
2502
2
7
700 0.4
701 0.65
99
7
700 0.25
701 0.45
99
7
700 0.55
701 0.45
99
7
700 0.4
701 0.65
99
99
99
2608 38
2609 75
2629 10000
2610 75
2611 1
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 1.80411e-16
2803 0
2804 1
2805 -0.05
2806 0
99
2613 0
2619 0
2620 0
2626 0
2627 0
2621 1
2622 0
2623 0
2624 4
2625 1
2628 0
99
99
302 0
304 0
303
305 0
306
307
308 128
330 0
321 8256
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
329
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
3
300 pwr_mb2trend
301
2
19
1904 O17
1900 1.1
1901 0
1902 1.2
1903 0
1908 0
1909 30
1910 30
1911 1
1915 1
1913 8
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 1.1
701 1.2
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
20
2004 O18
2000 0.867294
2001 0.167294
2002 0.906729
2003 0.906729
2009 39
2010 0
2005
6
600 39
601 1
602
7
700 0.9
701 0.9
99
603
7
700 0.2
701 0.9
99
99
2008
28
2800 1
2801 0
2802 -0.032706
2803 0
2804 1
2805 0.0067294
2806 0
99
99
26
2604 O21
2600 0.867294
2601 0.167294
2602 0.906729
2603 0.406729
2605
25
2500 38
2501 1
2503 1
2504 0
2502
2
7
700 0.1
701 0.9
99
7
700 0.8
701 0.9
99
7
700 0.8
701 0.581399
99
7
700 0.7
701 0.458142
99
7
700 0.6
701 0.581399
99
7
700 0.4
701 0.4
99
7
700 0.3
701 0.6
99
7
700 0.2
701 0.5
99
7
700 0.1
701 0.6
99
99
99
2608 38
2609 133
2629 10000
2610 133
2611 1
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0.067294
2803 0
2804 1
2805 0.0067294
2806 0
99
2613 0
2619 0
2620 0
2626 0
2627 0
2621 1
2622 0
2623 0
2624 4
2625 1
2628 0
99
20
2004 O22
2000 0.87213
2001 0.87213
2002 0.895387
2003 0.209311
2009 38
2010 0
2005
6
600 38
601 1
602
7
700 0.87213
701 0.209311
99
603
7
700 0.87213
701 0.895387
99
99
2008
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
99
302 0
304 0
303
305 0
306
307
308 128
330 0
321 8256
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
329
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
3
300 pwr_mb2history
301
2
19
1904 O17
1900 1.1
1901 0
1902 1.2
1903 0
1908 0
1909 30
1910 30
1911 1
1915 1
1913 8
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 1.1
701 1.2
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
26
2604 O21
2600 0.894392
2601 0.183176
2602 0.894392
2603 0.371961
2605
25
2500 38
2501 1
2503 1
2504 0
2502
2
7
700 0.1
701 0.9
99
7
700 0.8
701 0.9
99
7
700 0.8
701 0.581399
99
7
700 0.688784
701 0.396456
99
7
700 0.594392
701 0.486066
99
7
700 0.411216
701 0.377569
99
7
700 0.305608
701 0.52149
99
7
700 0.194392
701 0.399059
99
7
700 0.0887843
701 0.414942
99
99
99
2608 38
2609 84
2629 10000
2610 84
2611 1
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0.0943922
2803 0
2804 1
2805 -0.00560783
2806 0
99
2613 0
2619 0
2620 0
2626 0
2627 0
2621 1
2622 0
2623 0
2624 4
2625 1
2628 0
99
20
2004 O18
2000 0.9
2001 0.2
2002 0.9
2003 0.9
2009 38
2010 0
2005
6
600 38
601 1
602
7
700 0.9
701 0.9
99
603
7
700 0.2
701 0.9
99
99
2008
28
2800 1
2801 0
2802 -1.73472e-17
2803 0
2804 1
2805 1.35308e-16
2806 0
99
99
20
2004 O22
2000 0.9
2001 0.9
2002 0.886076
2003 0.2
2009 38
2010 0
2005
6
600 38
601 1
602
7
700 0.87213
701 0.209311
99
603
7
700 0.87213
701 0.895387
99
99
2008
28
2800 1
2801 0
2802 0.02787
2803 0
2804 1
2805 -0.009311
2806 0
99
99
99
302 0
304 0
303
305 0
306
307
308 128
330 0
321 8256
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
329
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
3
300 pwr_mb2fast
301
2
19
1904 O17
1900 1.1
1901 0
1902 1.2
1903 0
1908 0
1909 30
1910 30
1911 1
1915 1
1913 8
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 1.1
701 1.2
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
26
2604 O23
2600 0.9
2601 0.2
2602 0.9
2603 0.5
2605
25
2500 38
2501 1
2503 1
2504 0
2502
2
7
700 0.9
701 0.9
99
7
700 0.2
701 0.9
99
7
700 0.2
701 0.5
99
7
700 0.3
701 0.5
99
7
700 0.5
701 0.7
99
7
700 0.6
701 0.5
99
7
700 0.7
701 0.6
99
7
700 0.8
701 0.5
99
7
700 0.9
701 0.5
99
99
99
2608 38
2609 224
2629 10000
2610 224
2611 1
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 1.9082e-16
2803 0
2804 1
2805 -2.35922e-16
2806 0
99
2613 0
2619 0
2620 0
2626 0
2627 0
2621 1
2622 0
2623 0
2624 4
2625 1
2628 0
99
20
2004 O18
2000 0.9
2001 0.2
2002 0.9
2003 0.9
2009 39
2010 0
2005
6
600 39
601 1
602
7
700 0.9
701 0.9
99
603
7
700 0.2
701 0.9
99
99
2008
28
2800 1
2801 0
2802 1.73472e-17
2803 0
2804 1
2805 4e-07
2806 0
99
99
20
2004 O22
2000 0.2
2001 0.2
2002 0.886076
2003 0.2
2009 38
2010 0
2005
6
600 38
601 1
602
7
700 0.87213
701 0.209311
99
603
7
700 0.87213
701 0.895387
99
99
2008
28
2800 1
2801 0
2802 -0.67213
2803 0
2804 1
2805 -0.009311
2806 0
99
99
99
302 0
304 0
303
305 0
306
307
308 128
330 0
321 8256
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
329
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
3
300 pwr_mb2openobject
301
2
19
1904 O17
1900 1.1
1901 0
1902 1.2
1903 0
1908 0
1909 30
1910 30
1911 1
1915 1
1913 8
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 1.1
701 1.2
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
19
1904 O64
1900 0.901926
1901 0.210294
1902 0.981371
1903 0.247679
1908 38
1909 3
1910 3
1911 1
1915 0
1913 5
1916 2
1914 0
1918 0
1919 0
1920 0
1917 1
1921 0
1922 4
1923 1
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 38
501 1
504 1
505 0
502
7
700 0.210294
701 0.247679
99
503
7
700 0.901926
701 0.981371
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
20
2004 O65
2000 0.9066
2001 0.224313
2002 0.387875
2003 0.387875
2009 38
2010 0
2005
6
600 38
601 1
602
7
700 0.9066
701 0.387875
99
603
7
700 0.224313
701 0.387875
99
99
2008
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
99
302 0
304 0
303
305 0
306
307
308 128
330 0
321 8256
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
329
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
3
300 pwr_mb2openplc
301
2
19
1904 O17
1900 1.1
1901 0
1902 1.2
1903 0
1908 0
1909 30
1910 30
1911 1
1915 1
1913 8
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 1.1
701 1.2
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
20
2004 O43
2000 0.366353
2001 0.166353
2002 0.405608
2003 0.405608
2009 37
2010 0
2005
6
600 37
601 1
602
7
700 0.3
701 0.4
99
603
7
700 0.1
701 0.4
99
99
2008
28
2800 1
2801 0
2802 0.066353
2803 0
2804 1
2805 0.00560783
2806 0
99
99
20
2004 O44
2000 0.366353
2001 0.166353
2002 0.605608
2003 0.605608
2009 37
2010 0
2005
6
600 37
601 1
602
7
700 0.3
701 0.6
99
603
7
700 0.1
701 0.6
99
99
2008
28
2800 1
2801 0
2802 0.066353
2803 0
2804 1
2805 0.00560783
2806 0
99
99
20
2004 O45
2000 0.966353
2001 0.766353
2002 0.405608
2003 0.405608
2009 37
2010 0
2005
6
600 37
601 1
602
7
700 1
701 0.4
99
603
7
700 0.8
701 0.4
99
99
2008
28
2800 1
2801 0
2802 -0.033647
2803 0
2804 1
2805 0.00560783
2806 0
99
99
19
1904 O47
1900 0.766353
1901 0.366353
1902 0.905608
1903 0.305608
1908 38
1909 2
1910 2
1911 1
1915 0
1913 5
1916 2
1914 0
1918 0
1919 0
1920 0
1917 1
1921 0
1922 4
1923 1
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 38
501 1
504 1
505 0
502
7
700 0.4
701 0.3
99
503
7
700 0.8
701 0.9
99
99
1912
28
2800 1
2801 0
2802 -0.033647
2803 0
2804 1
2805 0.00560783
2806 0
99
99
99
302 0
304 0
303
305 0
306
307
308 128
330 0
321 8256
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
329
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
3
300 pwr_mb2rtnavigator
301
2
19
1904 O17
1900 1.1
1901 0
1902 1.2
1903 0
1908 0
1909 30
1910 30
1911 1
1915 1
1913 8
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 1.1
701 1.2
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
26
2604 O34
2600 0.868509
2601 0.243509
2602 0.954207
2603 0.304207
2605
25
2500 39
2501 1
2503 1
2504 0
2502
2
7
700 0.25
701 0.325
99
7
700 0.275
701 0.3
99
7
700 0.55
701 0.45
99
7
700 0.85
701 0.3
99
7
700 0.875
701 0.325
99
7
700 0.675
701 0.625
99
7
700 0.875
701 0.925
99
7
700 0.85
701 0.95
99
7
700 0.55
701 0.8
99
7
700 0.275
701 0.95
99
7
700 0.25
701 0.925
99
7
700 0.425
701 0.625
99
7
700 0.25
701 0.325
99
99
99
2608 39
2609 74
2629 10000
2610 74
2611 1
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 -0.00649055
2803 0
2804 1
2805 0.00420746
2806 0
99
2613 0
2619 0
2620 0
2626 0
2627 0
2621 1
2622 0
2623 0
2624 4
2625 1
2628 0
99
26
2604 O30
2600 1.025
2601 0.1
2602 1.1
2603 0.1
2605
25
2500 39
2501 1
2503 1
2504 0
2502
2
7
700 0.1
701 0.575
99
7
700 0.425
701 0.5
99
7
700 0.5
701 0.1
99
7
700 0.575
701 0.1
99
7
700 0.675
701 0.5
99
7
700 1.025
701 0.575
99
7
700 1.025
701 0.65
99
7
700 0.675
701 0.75
99
7
700 0.6
701 1.1
99
7
700 0.525
701 1.1
99
7
700 0.425
701 0.75
99
7
700 0.1
701 0.65
99
7
700 0.1
701 0.569472
99
99
99
2608 39
2609 74
2629 10000
2610 74
2611 1
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
2613 0
2619 0
2620 0
2626 0
2627 0
2621 1
2622 0
2623 0
2624 4
2625 1
2628 0
99
99
302 0
304 0
303
305 0
306
307
308 128
330 0
321 8256
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
329
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
3
300 pwr_mb2crossreferences
301
2
19
1904 O17
1900 1.1
1901 0
1902 1.2
1903 0
1908 0
1909 30
1910 30
1911 1
1915 1
1913 8
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0
701 0
99
503
7
700 1.1
701 1.2
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
24
2404 O70
2400 0.75
2401 0.15
2402 0.75
2403 0.15
2408 38
2409 3
2410 3
2423 10000
2411 1
2415 0
2413 5
2416 2
2414 0
2417 1
2421 1
2418 0
2419 4
2420 1
2422 0
2424 0
2407 0
2406
2405
8
802 38
803 1
800 0
801 360
806 1
804
7
700 0.2
701 0.2
99
805
7
700 0.8
701 0.8
99
99
2412
28
2800 1
2801 0
2802 -0.05
2803 0
2804 1
2805 -0.05
2806 0
99
99
26
2604 O72
2600 0.968692
2601 0.582712
2602 1.03598
2603 0.621961
2605
25
2500 38
2501 1
2503 1
2504 0
2502
2
7
700 0.55
701 0.7
99
7
700 0.821961
701 1.01729
99
7
700 0.93598
701 0.921961
99
7
700 0.667288
701 0.603268
99
7
700 0.55
701 0.7
99
99
99
2608 38
2609 38
2629 10000
2610 38
2611 1
2616 0
2614 5
2617 2
2615 0
2618 1
2607 0
2606
2612
28
2800 1
2801 0
2802 0.0327124
2803 0
2804 1
2805 0.0186928
2806 0
99
2613 0
2619 0
2620 0
2626 0
2627 0
2621 1
2622 0
2623 0
2624 4
2625 1
2628 0
99
20
2004 O73
2000 0.850521
2001 0.584149
2002 1.03745
2003 0.729018
2009 39
2010 0
2005
6
600 39
601 1
602
7
700 0.850521
701 1.03745
99
603
7
700 0.584149
701 0.729018
99
99
2008
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
20
2004 O74
2000 0.943985
2001 0.682286
2002 0.948658
2003 0.649574
2009 35
2010 0
2005
6
600 35
601 1
602
7
700 0.943985
701 0.948658
99
603
7
700 0.682286
701 0.649574
99
99
2008
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
99
30
3004 O75
3000 0.63148
3001 0.23148
3002 0.696505
3003 0.146505
3008 0
3010 4
3011 2
3007 0
3006
3005
9
900 1
901 304
904 0
902 X
903
7
700 -3.1
701 0.35
99
99
3009
28
2800 1
2801 0
2802 3.33148
2803 0
2804 1
2805 0.246505
2806 0
99
99
99
302 0
304 0
303
305 0
306
307
308 128
330 0
321 8256
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
329
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
3
300 O207
301
2
27
2703 10000
2704 10000
2731 10000
2722 10000
2705 10000
2723 10000
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_mb2opengraph
1002 pwr_mb2opengraph
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 1.1
1007 0
1008 1.2
1009 0
1013 1.1
1014 0
1015 1.2
1016 0
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 0
701 0
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1
2801 0
2802 0
2803 0
2804 1
2805 0
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 1
99
27
2703 10000
2704 10000
2731 10000
2722 10000
2705 10000
2723 10000
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_mb2openobjectgraph
1002 pwr_mb2openobjectgraph
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 2.4
1007 1.3
1008 1.2
1009 0
1013 2.4
1014 1.3
1015 1.2
1016 0
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 1.3
701 0
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1
2801 0
2802 1.3
2803 0
2804 1
2805 0
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 1
99
27
2703 10000
2704 10000
2731 10000
2722 10000
2705 10000
2723 10000
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_mb2trend
1002 pwr_mb2trend
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 3.7
1007 2.6
1008 1.2
1009 0
1013 3.7
1014 2.6
1015 1.2
1016 0
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 2.6
701 0
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1
2801 0
2802 2.6
2803 0
2804 1
2805 0
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 1
99
27
2703 10000
2704 10000
2731 10000
2722 10000
2705 10000
2723 10000
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_mb2history
1002 pwr_mb2history
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 5
1007 3.9
1008 1.2
1009 0
1013 5
1014 3.9
1015 1.2
1016 0
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 3.9
701 0
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1
2801 0
2802 3.9
2803 0
2804 1
2805 0
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 1
99
27
2703 10000
2704 10000
2731 10000
2722 10000
2705 10000
2723 10000
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_mb2fast
1002 pwr_mb2fast
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 6.3
1007 5.2
1008 1.2
1009 0
1013 6.3
1014 5.2
1015 1.2
1016 0
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 5.2
701 0
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1
2801 0
2802 5.2
2803 0
2804 1
2805 0
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 1
99
27
2703 10000
2704 10000
2731 10000
2722 10000
2705 10000
2723 10000
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_mb2openobject
1002 pwr_mb2openobject
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 8
1007 6.9
1008 1.2
1009 0
1013 8
1014 6.9
1015 1.2
1016 0
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 6.9
701 0
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1
2801 0
2802 6.9
2803 0
2804 1
2805 0
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 1
99
27
2703 10000
2704 10000
2731 10000
2722 10000
2705 10000
2723 10000
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_mb2openplc
1002 pwr_mb2openplc
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 9.3
1007 8.2
1008 1.2
1009 0
1013 9.3
1014 8.2
1015 1.2
1016 0
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 8.2
701 0
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1
2801 0
2802 8.2
2803 0
2804 1
2805 0
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 1
99
27
2703 10000
2704 10000
2731 10000
2722 10000
2705 10000
2723 10000
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_mb2rtnavigator
1002 pwr_mb2rtnavigator
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 10.6
1007 9.5
1008 1.2
1009 0
1013 10.6
1014 9.5
1015 1.2
1016 0
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 9.5
701 0
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1
2801 0
2802 9.5
2803 0
2804 1
2805 0
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 1
99
27
2703 10000
2704 10000
2731 10000
2722 10000
2705 10000
2723 10000
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_mb2crossreferences
1002 pwr_mb2crossreferences
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 11.9
1007 10.8
1008 1.2
1009 0
1013 11.9
1014 10.8
1015 1.2
1016 0
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 10.8
701 0
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1
2801 0
2802 10.8
2803 0
2804 1
2805 0
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 1
99
99
302 0
304 0
303
305 0
306
307
308 0
330 0
321 0
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 13617
332 0
99
3
300 pwr_valuelarge
301
2
19
1904 O0
1900 4.2
1901 0.05
1902 1.35
1903 0.05
1908 0
1909 41
1910 41
1911 1
1915 0
1913 10
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 2
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0.25
701 0.45
99
503
7
700 4.4
701 1.75
99
99
1912
28
2800 1
2801 0
2802 -0.2
2803 0
2804 1
2805 -0.4
2806 0
99
99
29
2907
13
1300 1
1301 304
1306 0
1302 6
1305 1
1303
7
700 1
701 1.35
99
1304 0
1307 0
1308 0
99
2908
28
2800 1
2801 0
2802 -0.6
2803 0
2804 1
2805 -0.35
2806 0
99
2901 2
99
99
302 0
304 0
303
305 0
306
307
308 1024
330 0
321 0
331 0
309 0
313 0
322 0
323 0
324 0
325 0
326 0
327 0
310 0
311 0
312
314
315 1
316 1
317 0
318 0
319 0
320 0
328 0
332 0
329
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
99
124
2
99
125
2
19
1904 O277
1900 52.0253
1901 3.03343
1902 36
1903 34
1908 0
1909 318
1910 318
1911 0
1915 0
1913 5
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 3
701 26.5
99
503
7
700 35
701 31.5
99
99
1912
28
2800 1.53099
2801 0
2802 -1.55955
2803 0
2804 0.4
2805 23.4
2806 0
99
99
19
1904 O206
1900 51.9994
1901 2.87032
1902 3.32778
1903 2.20625
1908 0
1909 310
1910 310
1911 0
1915 0
1913 5
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 2
1922 2
1923 0
1924 1
1925 314
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 2.81876
701 2.17984
99
503
7
700 23.0386
701 3.04426
99
99
1912
28
2800 2.42975
2801 0
2802 -3.97855
2803 0
2804 1.29743
2805 -0.621935
2806 0
99
99
27
2703 10000
2704 550
2731 10000
2722 554
2705 550
2723 554
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_menubar2
1002 O18
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 52.0503
1007 2.85086
1008 2.2
1009 0.831579
1013 52.0503
1014 2.85086
1015 2.2
1016 0.831579
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 3.74746
701 2.04722
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 65532
1028 0
1029
99
2707
28
2800 1.78907
2801 0
2802 2.85086
2803 0
2804 1.36842
2805 0.831579
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 0
2721
1
100 1
105 0
101 1
106 0
102 65532
103 0
99
99
27
2703 10000
2704 550
2731 10000
2722 554
2705 550
2723 554
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_pulldownmenu2
1002 O19
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 6.62337
1007 3.3462
1008 2.2
1009 0.831579
1013 6.62337
1014 3.3462
1015 2.2
1016 0.831579
1003
0
5
0
0
0
0
0
0
0
0
1004
"File"
1001
7
700 5
701 1.5
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 65532
1028 0
1029
99
2707
28
2800 1.09239
2801 0
2802 3.3462
2803 0
2804 1.36842
2805 0.831579
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 0
2721
1
100 0
105 0
101 1
106 0
102 65535
103 0
68
6800 3
6801 Print
6833
1
100 1
105 0
101 65
106 0
102 65535
103 0
55
5500 print graph/class/inst=$object
99
99
6802 Close
6834
1
100 1
105 0
101 262145
106 0
102 65535
103 0
67
99
99
99
99
99
27
2703 10000
2704 550
2731 10000
2722 554
2705 550
2723 554
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_pulldownmenu2
1002 O20
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 14.9631
1007 11.6859
1008 2.2
1009 0.831579
1013 14.9631
1014 11.6859
1015 2.2
1016 0.831579
1003
0
5
0
0
0
0
0
0
0
0
1004
"Help"
1001
7
700 18
701 1.5
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 65532
1028 0
1029
99
2707
28
2800 1.09239
2801 0
2802 11.6859
2803 0
2804 1.36842
2805 0.831579
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 0
2721
1
100 1
105 0
101 8388608
106 0
102 65535
103 0
72
7200 $object
7201 1
99
99
99
27
2703 10000
2704 550
2731 10000
2722 554
2705 550
2723 554
2706 10000
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_pulldownmenu2
1002 O131
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 10.3005
1007 7.02332
1008 2.2
1009 0.831579
1013 10.3005
1014 7.02332
1015 2.2
1016 0.831579
1003
0
8
0
0
0
0
0
0
0
0
1004
"Methods"
1001
7
700 5
701 1.5
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 65532
1028 0
1029
99
2707
28
2800 1.09239
2801 0
2802 7.02332
2803 0
2804 1.36842
2805 0.831579
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 0
2721
1
100 1
105 0
101 8388608
106 0
102 65535
103 0
72
7200 $object
7201 0
99
99
99
47
4700
27
2703 562
2704 558
2731 10000
2722 10000
2705 558
2723 10000
2706 562
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 O207
1002 O207
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 21.0603
1007 3.6
1008 4.17464
1009 2.45
1013 21.0603
1014 3.6
1015 4.17464
1016 2.45
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 0.3
701 3.05
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1.46726
2801 0
2802 3.6
2803 0
2804 1.4372
2805 2.45
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 9999
2730 0
2721
1
100 1
105 0
101 4194304
106 0
102 35454975
103 0
71
7100 $object
7101 0
99
99
99
99
30
3004 O262
3000 8.65
3001 3.75
3002 7.28657
3003 6.43657
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 CurrentLoad
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 0.9
2803 0
2804 1
2805 -1.41343
2806 0
99
99
19
1904 O275
1900 3
1901 0.5
1902 35.827
1903 0
1908 0
1909 318
1910 318
1911 0
1915 0
1913 5
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 0.5
701 0
99
503
7
700 3
701 31.5
99
99
1912
28
2800 1
2801 0
2802 0
2803 0
2804 1.13737
2805 0
2806 0
99
99
19
1904 O276
1900 54.5
1901 52
1902 35.8272
1903 0
1908 0
1909 318
1910 318
1911 0
1915 0
1913 5
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 35
701 0
99
503
7
700 37.5
701 31.5
99
99
1912
28
2800 1
2801 0
2802 17
2803 0
2804 1.13737
2805 0
2806 0
99
99
30
3004 O325
3000 8.65
3001 3.75
3002 8.75323
3003 7.90323
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 MediumLoad
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 0.9
2803 0
2804 1
2805 0.0532333
2806 0
99
99
30
3004 O326
3000 11.55
3001 3.75
3002 10.2199
3003 9.3699
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 MediumStorageRate
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 0.9
2803 0
2804 1
2805 1.5199
2806 0
99
99
27
2703 310
2704 310
2731 10000
2722 326
2705 310
2723 326
2706 310
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_valuelong
1002 O346
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 39.3556
1007 9.4
1008 5.90974
1009 4.98006
1013 39.3556
1014 9.4
1015 5.90974
1016 4.98006
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 3.6
701 3.1
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 65532
1028 0
1029
99
2707
28
2800 1.12615
2801 0
2802 9.4
2803 0
2804 1.32812
2805 4.98006
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 4
2730 0
2721
1
100 1024
105 0
101 0
106 0
102 65532
103 0
12
1200 $object.Description##String80
1201 %s
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
30
3004 O347
3000 8.15
3001 3.75
3002 5.8199
3003 4.9699
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 Description
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 0.9
2803 0
2804 1
2805 -2.8801
2806 0
99
99
27
2703 310
2704 310
2731 10000
2722 326
2705 310
2723 326
2706 310
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_valuelarge
1002 O348
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 16.7867
1007 12.1
1008 7.42116
1009 6.34724
1013 16.7867
1014 12.1
1015 7.42116
1016 6.34724
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 12.95
701 8.7
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1.12933
2801 0
2802 12.0435
2803 0
2804 0.826087
2805 6.30594
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 4
2730 0
2721
1
100 1024
105 0
101 0
106 0
102 65532
103 0
12
1200 $object.Stat.CurrentLoad##Float32
1201 %5.2f
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
19
1904 O439
1900 51.9998
1901 3.03343
1902 11
1903 10.5
1908 30
1909 318
1910 318
1911 0
1915 0
1913 5
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 30
501 1
504 1
505 1
502
7
700 3
701 10.5
99
503
7
700 42
701 11
99
99
1912
28
2800 1.25555
2801 0
2802 -0.733213
2803 0
2804 1
2805 0
2806 0
99
99
40
4000 $pwr_exe/pwr_c_sevserver_threads
4003 0.8
4006 622
4007 626
4004 1
4005 0
4008 1
4009 $object
4001
19
1904 O449
1900 51.5133
1901 4.04996
1902 33.6153
1903 13.9999
1908 0
1909 310
1910 310
1911 1
1915 0
1913 5
1916 2
1914 0
1918 0
1919 0
1920 0
1917 0
1921 0
1922 4
1923 0
1924 0
1925 10000
1926 0
1907 0
1906
1905
5
500 0
501 1
504 1
505 1
502
7
700 5.05
701 13.1
99
503
7
700 13.05
701 19.1
99
99
1912
28
2800 5.93291
2801 0
2802 -25.9113
2803 0
2804 3.26923
2805 -28.827
2806 0
99
99
4002
1
100 1
105 0
101 1
106 0
102 35454972
103 0
99
99
27
2703 310
2704 310
2731 10000
2722 326
2705 310
2723 326
2706 310
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_valuelarge
1002 O450
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 16.7867
1007 12.1
1008 8.82116
1009 7.74724
1013 16.7867
1014 12.1
1015 8.82116
1016 7.74724
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 12.95
701 8.7
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1.12933
2801 0
2802 12.0435
2803 0
2804 0.826087
2805 7.70594
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 4
2730 0
2721
1
100 1024
105 0
101 0
106 0
102 65532
103 0
12
1200 $object.Stat.MediumLoad##Float32
1201 %5.2f
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
27
2703 310
2704 310
2731 10000
2722 326
2705 310
2723 326
2706 310
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_valuelarge
1002 O451
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 16.7867
1007 12.1
1008 10.2212
1009 9.14724
1013 16.7867
1014 12.1
1015 10.2212
1016 9.14724
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 12.95
701 8.7
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1.12933
2801 0
2802 12.0435
2803 0
2804 0.826087
2805 9.10594
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 4
2730 0
2721
1
100 1024
105 0
101 0
106 0
102 65532
103 0
12
1200 $object.Stat.MediumStorageRate##Float32
1201 %7.1f
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
30
3004 O452
3000 41.5
3001 37.85
3002 7.28657
3003 6.43657
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 Database
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 35
2803 0
2804 1
2805 -1.41343
2806 0
99
99
30
3004 O453
3000 45.7
3001 37.85
3002 8.75323
3003 7.90323
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 DataStoreMsgCount
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 35
2803 0
2804 1
2805 0.0532333
2806 0
99
99
30
3004 O454
3000 44.9
3001 37.85
3002 10.2199
3003 9.3699
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 ThreadQueueLimit
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 35
2803 0
2804 1
2805 1.5199
2806 0
99
99
27
2703 310
2704 310
2731 10000
2722 326
2705 310
2723 326
2706 310
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_valuelarge
1002 O455
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 50.8867
1007 46.2
1008 7.42116
1009 6.34724
1013 50.8867
1014 46.2
1015 7.42116
1016 6.34724
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 12.95
701 8.7
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1.12933
2801 0
2802 46.1435
2803 0
2804 0.826087
2805 6.30594
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 4
2730 0
2721
1
100 1024
105 0
101 0
106 0
102 65532
103 0
12
1200 $object.Database##Enum
1201 %s
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
27
2703 310
2704 310
2731 10000
2722 326
2705 310
2723 326
2706 310
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_valuelarge
1002 O456
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 50.8867
1007 46.2
1008 8.82116
1009 7.74724
1013 50.8867
1014 46.2
1015 8.82116
1016 7.74724
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 12.95
701 8.7
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1.12933
2801 0
2802 46.1435
2803 0
2804 0.826087
2805 7.70594
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 4
2730 0
2721
1
100 1024
105 0
101 0
106 0
102 65532
103 0
12
1200 $object.Stat.DataStoreMsgCnt##UInt32
1201 %d
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
27
2703 310
2704 310
2731 10000
2722 326
2705 310
2723 326
2706 310
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_valuelarge
1002 O457
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 50.8867
1007 46.2
1008 10.2212
1009 9.14724
1013 50.8867
1014 46.2
1015 10.2212
1016 9.14724
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 12.95
701 8.7
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1.12933
2801 0
2802 46.1435
2803 0
2804 0.826087
2805 9.10594
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 4
2730 0
2721
1
100 1024
105 0
101 0
106 0
102 65532
103 0
12
1200 $object.ThreadQueueLimit##UInt32
1201 %d
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
30
3004 O458
3000 9.5
3001 3.8
3002 12.1
3003 11.25
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 ServerThreads
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 0.95
2803 0
2804 1
2805 3.4
2806 0
99
99
30
3004 O459
3000 10.85
3001 8.65
3002 13.65
3003 13.05
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 2
901 303
904 326
902 Thread
903
7
700 4.6
701 -0.6
99
99
3009
28
2800 1
2801 0
2802 4.05
2803 0
2804 1
2805 14.15
2806 0
99
99
30
3004 O460
3000 17.25
3001 14.5
3002 13.65
3003 13.05
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 2
901 303
904 326
902 Load (%)
903
7
700 4.6
701 -0.6
99
99
3009
28
2800 1
2801 0
2802 9.9
2803 0
2804 1
2805 14.15
2806 0
99
99
30
3004 O461
3000 21.85
3001 17.9
3002 13.65
3003 13.05
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 2
901 303
904 326
902 StorageRate
903
7
700 4.6
701 -0.6
99
99
3009
28
2800 1
2801 0
2802 13.3
2803 0
2804 1
2805 14.15
2806 0
99
99
30
3004 O462
3000 25.3
3001 22.9
3002 12.85
3003 12.25
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 2
901 303
904 326
902 Medium
903
7
700 4.6
701 -0.6
99
99
3009
28
2800 1
2801 0
2802 18.3
2803 0
2804 1
2805 13.35
2806 0
99
99
30
3004 O463
3000 40.55
3001 37.45
3002 13.65
3003 13.05
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 2
901 303
904 326
902 MsgCount
903
7
700 4.6
701 -0.6
99
99
3009
28
2800 1
2801 0
2802 32.85
2803 0
2804 1
2805 14.15
2806 0
99
99
30
3004 O464
3000 45.1
3001 42.75
3002 13.65
3003 13.05
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 2
901 303
904 326
902 LostCnt
903
7
700 4.6
701 -0.6
99
99
3009
28
2800 1
2801 0
2802 38.15
2803 0
2804 1
2805 14.15
2806 0
99
99
30
3004 O465
3000 49.9
3001 46.4
3002 13.65
3003 13.05
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 2
901 303
904 326
902 QueueAlloc
903
7
700 4.6
701 -0.6
99
99
3009
28
2800 1
2801 0
2802 41.8
2803 0
2804 1
2805 14.15
2806 0
99
99
30
3004 O466
3000 26.8
3001 22.85
3002 13.65
3003 13.05
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 2
901 303
904 326
902 StorageRate
903
7
700 4.6
701 -0.6
99
99
3009
28
2800 1
2801 0
2802 18.25
2803 0
2804 1
2805 14.15
2806 0
99
99
30
3004 O467
3000 30.6
3001 27.6
3002 13.65
3003 13.05
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 2
901 303
904 326
902 WriteRate
903
7
700 4.6
701 -0.6
99
99
3009
28
2800 1
2801 0
2802 23
2803 0
2804 1
2805 14.15
2806 0
99
99
30
3004 O468
3000 30.05
3001 27.65
3002 12.85
3003 12.25
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 2
901 303
904 326
902 Medium
903
7
700 4.6
701 -0.6
99
99
3009
28
2800 1
2801 0
2802 23.05
2803 0
2804 1
2805 13.35
2806 0
99
99
30
3004 O469
3000 36.9
3001 32.2
3002 13.65
3003 13.05
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 2
901 303
904 326
902 WriteQuota (%)
903
7
700 4.6
701 -0.6
99
99
3009
28
2800 1
2801 0
2802 27.6
2803 0
2804 1
2805 14.15
2806 0
99
99
27
2703 310
2704 310
2731 10000
2722 326
2705 310
2723 326
2706 310
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_valuelarge
1002 O470
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 32.9867
1007 28.3
1008 8.82116
1009 7.74724
1013 32.9867
1014 28.3
1015 8.82116
1016 7.74724
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 12.95
701 8.7
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1.12933
2801 0
2802 28.2435
2803 0
2804 0.826087
2805 7.70594
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 4
2730 0
2721
1
100 1024
105 0
101 0
106 0
102 65532
103 0
12
1200 $object.Stat.WriteQuota##Float32
1201 %4.1f
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
30
3004 O471
3000 24.4
3001 19.95
3002 8.75323
3003 7.90323
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 WriteQuota
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 17.1
2803 0
2804 1
2805 0.0532333
2806 0
99
99
30
3004 O472
3000 26.75
3001 19.95
3002 10.2199
3003 9.3699
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 MediumWriteRate
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 17.1
2803 0
2804 1
2805 1.5199
2806 0
99
99
27
2703 310
2704 310
2731 10000
2722 326
2705 310
2723 326
2706 310
2732 10000
2708 0
2709 0
2710 0
2711 0
2712 0
2713 0
2714 0
2715 0
2720 0
2725 0
2726 0
2702 0
2701
2700
10
1000 pwr_valuelarge
1002 O473
1005
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1006 32.9867
1007 28.3
1008 10.2212
1009 9.14724
1013 32.9867
1014 28.3
1015 10.2212
1016 9.14724
1003
0
0
0
0
0
0
0
0
0
0
1004
1001
7
700 12.95
701 8.7
99
1010
1011
1018
1019
1020
1021
1022
1023
1024
1025
1012 0
1017 9999
1027 9999
1026 35454972
1028 0
1029
99
2707
28
2800 1.12933
2801 0
2802 28.2435
2803 0
2804 0.826087
2805 9.10594
2806 0
99
2716 0
2718
2717
2719 0
2724 0
2727 0
2728 303
2729 4
2730 0
2721
1
100 1024
105 0
101 0
106 0
102 65532
103 0
12
1200 $object.Stat.MediumWriteRate##Float32
1201 %7.1f
1202 1
1203 1
1204 0
1205
1206 0
99
99
99
30
3004 O474
3000 17.8
3001 17.05
3002 7.28657
3003 6.43657
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 %
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 14.2
2803 0
2804 1
2805 -1.41343
2806 0
99
99
30
3004 O475
3000 17.8
3001 17.05
3002 8.75323
3003 7.90323
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 %
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 14.2
2803 0
2804 1
2805 0.0532333
2806 0
99
99
30
3004 O476
3000 33.95
3001 33.2
3002 8.75323
3003 7.90323
3008 326
3010 4
3011 2
3007 0
3006
3005
9
900 4
901 303
904 326
902 %
903
7
700 2.85
701 8.55
99
99
3009
28
2800 1
2801 0
2802 30.35
2803 0
2804 1
2805 0.0532333
2806 0
99
99
99
99
xtt/exp/ge/src/pwr_c_sevserver_threads.pwg
0 → 100644
View file @
8ab48c43
This source diff could not be displayed because it is too large. You can
view the blob
instead.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment