Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ugadf
Ugadf
Table of Contents
2&$%&
$
&
$
4 &"
5-0
'
'0&
$+ "5
6 $%
7
4 !+%
4 5$%&-
4
5
4 0&
4 4 $8-
4 9 2
4 : 0
4 2
4 ; 6
4 < "&
4
9 =%
9 >
9
0 "
9 ?8@,
9 4 @&=&
9 9 02
9 :
9 "&A(
9 ; 0
9 < >
9 7,
: $+ "5
: 5"&
:
"&
: !"&
: 4 "&
: 9 8"&
: : 8"&
: #"&
: ; 0"&
: < "&
: B&"&
: "&
:
"&
: 0,"&
;
;
9
4
9
:
:
;
4
44
49
4;
99
99
9
9;
9;
9<
9<
:
:
:;
:<
4
9
:
;
;
;
;9
;:
;
;<
<
<
<
<9
<:
;
4
4
:
4
:
;
4
4
4
4
49
4<
4<
9
9
9
9
9
9
9
9
;
<
;
;
Documentation Information
0
6 5 ( $H A I 4 4:
0
&
> % E(
*
;* H* A * J ;*
J :4 %
& >
%%
(
& ( %
& * & %
% (
% ' & & *
%
*
& & (
, 2= %& ( ( &
% (
I--((( , &-- % & %&
&
% $H % * ' = % &
Chapter 1. Introduction
$H "2" E
E &
@
( & %% 0
&
& D , & ( % (-
&&
!( - &
- &
" 5
& % &+
( ' %
% & 0
& %
& % % (
%
% '
1.1. Support
" % %%
$H & D% %,
= 3 *
%(
K
&
8
. & /
0
. & /
+ % $H %& N & D " $H
$M &
' %
(
3 %
M %
8
( ( & '
&
&
&&
N(*
' % ? A! % (
( + & "
P
I--((( , &--
D D(DDD D
Q %
&
%
%
& %
2 &, & (
( "( ( & % ( (
* &
& (
( & &
(
(
0
%
P
I--((( , &--
(DDD% D D%&D
D Q (
(
%
= ( (
&
1.3. Installation
#
( '
!( % 3& G #& 2&
K
> E !( .(
3 (
A5 / 3 % ( >G =D
%, 9R* 5
& R* > % $ , ;R .(
" A5 A( / D
&& " A5 A( (
2 +
>&
5!
1.3. Installation
0
%&
I--((( , &-(
& $
"2" 3 "& 3 % "&
%& &-(+
& % (
& & N(* ( & ( 3
2 %( ( % % $H 8
(
$H (
( ( (+ > %
&* & %(
& %
& (
$H
%
% &
1.3. Installation
& %
E(
$M & , % N( ( &
(
( %& " M && % %& E(
&
& & * + )$)
=
6 = 2( > P
I--((( %(& -(
&Q % %
& (
"
& (
& I)"
% & ) $
E( * (
& % %
E( 6 & >$ + 0
%&
& (
&
>$ = * G & P
I--((( DG -(
&Q 0
%& % E( -
E( & %*
$H
@(+
$ (
$H & *
% &
E
0 + " ,& (
+ +
I
"http://localhost:7131/projectID/"* (
"projectID"
% (
' = & *
6#7 &
"localhost" (
$
$H = * % $H & (
$ %
<
:;
&
6#7
"http://192.168.1.1:7131/projectID/"
<
0
' % & (
"
L ,
>
' & &
E
%D
( ( "
+( % (
(
% %
& N(* &
%
&& (
&
%% E
( ' * ' & ( * M
3 (
> 0* 5
A(* "& A( # A(
" ' & % % & % %( % *
(* + %
% L , ( % ' % 2 +
L , %
'
$H & #
+ MM (
' %
% " && & N0>7 A5 % *
>
" "2" 2= % % (
P
I--((( , &-(- %Q (
.>!/
'
% (+
0 (+ ( '* + =D@( ' " & ' &
( 0
' & ( ' $2 (
(
(
'
%
& (
8
& (
8F ( '
4
0& %
(
' 0
%
+
3 0& % 2 7 % * 7
* 0 %& %
& &+
% (+ = * ( *
(
( %
% % 2 %* 2 % % 0 0
( * 2 0 8 &
&
2
* ' G* 2 &
%
0
&
D% (
8> 0N
8 2
D% % > "
2
D% % >
N(* &
& &
(
M && 0
( ( A 2
(
& ( $-8
0
0 &
+ * 0 2* 2
"
% &
(
. /
"2"
$ &
V 0
& 2
&& . / "%
%
(
. / =
+
, * 0 ( * &
9
2 % % & * @ (+ D
3 & &* > % " ( (
' % $% & * % ,
82! &
0
%
%% && 0
%
& &&
:
0
? 0
%
( +
3 $ *
& (
? A! % ( $
,&
( MM ( ( ( %
(
MM
7
N !
0
)
) & % &* ' &* &
&*
& & 0 &&G $
M (+*
-
( + ' !(
,&I
( %
% & MIM
"
%
% ' %
% I A5* 2= N0>-N0>7 % $ * ,
. / % % & MIM & 3
=
0
)%) & %
&- = & %
&
& &
"& A(
2
= D * % > % " ) &)
% 3+ 0
& % (
I--&' % %-$@F"->"@6"7-
&- 0
+
+ N > D
$+ > $, % %
"2" & "2" "&
5
* "5
;
<
N
%
"&
N(* M &
3 %
*
%
+ M
%RR0M
+ MGM %( MM
+ MM #
<
% &
+ MM & + , (
3.1. Licensing
0 (
% %
0 & & %
0 E
(( 6
%
% ( (
* +
+
= 0* ( 0 % &G % &
"
+
% + *
(
'*
(*
(
(M %
M (
$H & , %
(
3.1. Licensing
$H && %( $ (
% % & & % (
,
& " & ( & M ,* ' ,
# ( & %
&
G %& %
3.1. Licensing
@
( ,
&
0
%
% *.ilr
'
&*
% *
U, & 0
%(
G % *.ila %( +
'
( %
&
6 & 3 %
G + % & %
(
( %
$
+ %&
&* N*
)7 ) " + (
(
3.1. Licensing
3.1. Licensing
$-8 * D
& % & $-8 0
& % $-8
(
, (
@
-&&-&
, & &
3.1. Licensing
8
&
G *
%& (
E( ,
"
& %( + & '
+
%%
! %
% &*
(
% ,
% & % & * 3
0
(
& & (+ ,&
+
@& & (
(
3 &*
D&
>*
& *
* &
& J
*
&
4.2. General
0$># D 0&
% & * % + "
0&
& % (
& % &* + * * >$@* >$@9* N#
%
K
4.2. General
5 % ' %&
' $2 %
& % %
' $ (
( +*
$ & ' $2
' +
( *
(
2
4
4.3. Timer
'
(
D& %
!"
D
" &
( , %
@&
(
0
%( (
&
% ( (
'
&
"<BROWSER>" "<HOMEPAGE>index.html"
& ( + + & % = $ ,
+ + & (
%( && I
"D:\PortApps\PortableApps\FirefoxPortable\FirefoxPortable.exe" "<HOMEPAG
D
" &
( , %
G
$% &
& * & &&
4.3. Timer
0&
%
&* & + (
0&
0
( % &* M$M (
%
%(
M
M 0
% %
0& & ' 6,-7, &*
(
&& , & %
&
& 8 & % & && = *
)) & ( &+ &
&
"
,&
)*) & ( &+ &
2
0
$-
$
W
>
2
2 % E+
:
N
>
9<
9
4.4. IO /Port
9<
# & ( % ( '
4.4. IO /Port
" & ( N>$-"2" % && (
,
%
&
, " && *
*
, * % $
%
#
= * % * )8>) " %
* $ * % & *
&* )<
:; I9
) % > 0-$ * )
) % 8
4.5. Device
8 &
N>$-"2" & % 2 (
%
-
%
. / " 7* #06 * &
&&
:
4.5. Device
2
%& * &
2
#
$
0
& %
A % % (+
&
& = * % &
)7)*
% ( % 0
& %
%& 0 (( $% +
(
+
&
"
%
$
4.6. Tag
"
%
!
0-=
$
- $G - 2 - 2 - # E - 6+(
>
% %
= *
&
%% % = & 7 $*
(
4.6. Tag
0 && & % && & $ (
N>$ & && "2" &
( % * $8 D$8 $8
(
, * D$8 + & & &&
0
%& 2 0 ( *
0
&
% 3& 0
% %
%
&& ;* :*
* & (
M
%
% 7
* & && : & % % *
& && % & :4
2
%
:-
-
-%
:4-
;-
;-!W0
:-E8#2
-2E8#2
;
4.6. Tag
7
7
%
!
!
& %
+ % %
(
%
& $ &
+
&
+
* % * % ( &+
& 0
&& %
&&
>
& &&
*
(
( @
(
$-8 * &
%& 8
( %
*
&G
% &
+ %
"
2 % & > 2 " @ % &
(
, + 8
7
$2 % 2 0 + 0
&
$ 2
E
&*
+D % %
% 3
# 7
( * ' ) (+ %)
, * - (+
' ./// ( / ' () + % ) 0+
E 7
( * ' ) + %)
, * - (+
' .///, / ' () + % ) 0+
# 7
1( 2 ( ) ( 2 ,
( ' 1 +
E 7
3 2 ) ( 2 ,
( ' 1 +
% & ( -0 ) ) ( ,
24
) , ( ' +
( ) 0 ((( ' ( (
0.001+ ( , 0 54 5, ' 9 / 5 * $ +
32, ' 6 +
0 + ) 0
)-' , ' ($ / $KFac) * 3600 * $MFac, ' MFac
7 KFac ) 8 7 9: '+
8
,
; & ( -0 ) ( ( , ) ,
( ( (+ ( ) 0
( ' ( ( 1000+ ( , 0 5
54 , ' 5 / 9 * ($ - 32), ' 6 +
6 &
(
N
J 7( & Math.max(
LIM_LO, Math.min( LIM_HI, $))1 (
LIM_LO J LIM_HI
<
2%
2% G %+ && N(* % #
. / ( ( *
% (
#
" %
&%
((
(
$ 0
$% *
( % ( (
%&
E
&*
(
%
( & &
4
0
& $*0+ % %
"
%
& $+0
6 & & + Y Y=* & (9/5)*$+32 $
, * ($-32)*5/9 8 , 6 + =
%(
+ %3 * & ($/$KFac)*3600*$MFac* (
MFac
J KFac % > = J FD=
"
7 ( ,&* % ( % 819 10C* 4095
60C*
,
((60-10)*($-819)/(4095-819))+10*
, (($-10)*(4095-819)/(60-10))+819
6 & %D% +
(
N
J 7( &
Math.max( LIM_LO, Math.min( LIM_HI, $)) 8 , 1 (
LIM_LO J
LIM_HI
= * Math.max(0,Math.min(100,$)) (
%&
G
, =
+
%
,*
,
&
%%
%
($>LIM_HI?LIM_HI:$)<LIM_LO?LIM_LO:$
$M
&&
%&
(
P
I-- &G -D6- -E-?-#%-8 -!( O8 Q
(
, (
,
& 0 7! >! : *
, $&1 $&65536 . / 8
*
*
$
,
(
$0+$b0*1+$b1*2+$b2*4+$b3*8+$b4*16+$b5*32+$b6*64+$b7*128+$b8*256+$b9*512+$bA*1024+$bB*
4
4.7. Database
+$bF*32768 (
b0...b9 & bA...bF
: &
( , & %& 8 , * & $ & % %
& %
? M %& (
6 :4 :4 (
( ,
4.7. Database
2 (
, & % $ 82! C7 =
> % C7
9 , * (
% % 4 5! %
2
&
"
0
(+ ,& % > % C7
9 , $
*
2"0"!" & &%
(G = %
&O'* &
& ( )2"0"!"Z&O') @
%
*
& ( * *
Provider=MSDASQL.1;
Extended Properties="DRIVER=SQL Native Client;
SERVER=<COMPUTER_NAME>SQLEXPRESS;
DATABASE=my_job;
trusted_connection=yes";
4.7. Database
"(
82! % % %
8 & :4
7
2%
( %3 (
2%
( %3
( %& 3
4
4.8. User
' "
&
2%
(
(
+ = * % < &
( % < ! =$=8 *
< (
0
"( %, M M & (+ = $ = 8 * (
%
4.8. User
( " >& (
. /
' 0
+ % * * (
3 &
3 %&
+ %& (
(( % $H
* ,
,
E
3
O( *
%
! (
% % *
%
G ./ >
(
0 &
+* & %
%
. /
6 $ 0
& & %% $
%)
& & $ 0
& %& $ &
$
*
% &
6
E
& * (
& 6
+
& . / ( . / 8F $%
&
( * ( ( &
(( %
( & 6 +
(( % % %
&
2
44
*+
+
%
% &,&&
& &
&
4.9. Alarm
# (
% % &
3 ' "&
% *
& (
%% &
@&
@& %
&* (
&
&
5 & ,& % "& 0 &* N(* 8 $
G
"
0
+ 2 (
(
&
0
+ (
&
$ %
.8>/ .70/ * >-&
49
4.9. Alarm
"
0
0 " &
&
"" ,%
0
I
&
&
&
&/
.& 0
& (
&
&+
& +
"&
"
2
&
@& % &
4:
$%
& * & + ( %
I
var
var
var
var
S1
S2
S3
S4
=
=
=
=
getTag
getTag
getTag
getTag
(
(
(
(
'SIM1_Lek');
'SIM1_Breuk');
'SIM1_Service');
'SIM1_Loopim');
= * %
& ;* *
&
(
;
N(* & ( %% (
% ;* &
%% (
%
( 8 &
% ;
2 & * (
& ( %
& &
& (
% & %& 8
* & ( LL %
M
% = * +
(
-
" J +(
" J +(
$ J +(
$
0
( & 8# (
app.alarm[Group].status 0
0 & % + % %
(
&
4.10. Script
> %
. / , (
(
N(*
& &
& M (
( 8* &
& (
( (
( 0
%&
%& & %% (
8 % ? %* $H & (
%( % %
, 0( & && % getTag('tagname') setTag('tagname',
data)
2
2 %
.
2
? %
"" /%
>
% &*
% %
%
""
2
& )0 !)*
&
% &
0& * $-8
"H
"H %
4;
"H (
"H % (
E( 8
6 & app.startup
*
6 & &
6 getTag( 'same_tag') %
%& &
6
& & %& ' ( 6 "
var max = getTag( 'Tag001');
for (var i=0; i<max; i++) {
//do something
}
3 I
POST /run?script=script_name;param1=value1;param2=value2
" &
+ (
&
0 0
M0M*
%& +
4<
from
log",
5
% ,& %
& @
* 9 ; *
#
&
8%%
8%%
1 .
+
+
1 @
+
+
1 A
<
+
9
+
# 4
- " ( %& C7 3 (
!(
&
setSql([string] sql, [object] option)
[object] option format:
{
dbgroup: 'xx'
// [string] database name created in database table,
// default to all database if not supplied.
}
& I setSql(
{dbgroup:"mdb"});
"insert
into
alarm
values
(cell1,
cell2...)",
!( &
&
% % %
$
& %(
var a = getTag( "tagA") || 1; //default value 1
var b = getTag( "tagB") || 2; //default value 2
var c = getTag( "tagC"); //no default value
if (c > 1000) {
a = 1;
b = 2;
}
a = a + 1;
setTag( "tagA", a);
b = b + 2;
setTag( "tagB", b);
c = a + b;
setTag( "tagC", c);
debugTag( "tagC"); //this is a sample use of debugTag().
//debuging function will be executed in debug mode only
debugString( "Script is successfully executed."); //keep this as last line.
6 & %&
( % * (
& %
,
C7 & &
A* & &G (
& ( ,
9
" "H ( & & &
9
94
$H
%
3 && % &
%
8 ( ( %&
%
M
% % % , &
3 "
( * ( ,&
+ "
%&
"
+( 3 (
N>$-"2" &M
% N(*
+( 3*
%
& (
&
+ ( >*
( %
' %
& N>$-"2" > &*
,&
! N0>7 %& ( *
&
( &
+( %
N0>7 &
% &&
3
(
*
% %
0
& % , N0>7
&+ %
% % , + @ RR P
I--D % Q (
(+ (
" P
I--((( &Q
(
& + (
%
5.1. Menu
"% && A5-N0> %& * +
& + @(
&- &
+
$
& -( %
@(
%& %
& %&
& >*
%
& (
(
( (
&
99
5.1. Menu
9:
0 ( && * E( , A5 N0>7
, & %
data
getTag(
(
.% /
+* % M
9
0
' %
( *
% %&
(
( * %
6#7 ) - -) ) -)
? + && * % %
*
& (
% 3 3 = {'param1': 'this is string',
'param2': 123.45}
&
! (
& & (
&& " 3 & &
*
(*
, & ] &%& ? " *
&
+ J
9;
,
.
49: 49:
#.##
1234567.12
49: 49:
#,###.####1,234,567.1235
49
#.##
.12
0.###
0.1
49: ;<
# ###,##
1 234
567,89
49: ;<
#.###,##
1.234.567,89
49: ;<
#,####.## 123,4567.89
49: ;<
#,##
1234567,89
49: ;<
#'###.##
1'234'567.89
& ( ( 2&* &
% & = *
49: ;< "#,### " (
1,234,568
%% G % , "
M N0>7 *
%
( %
@ % N0>7 * + 0 " *
%( I
<script type="text/javascript" src="./system/scripts/igrX.js"></script>
0
( * &
$2 %
{attr:'get',
tag:'tagname'}
E
& (
&* M && %
(
@D!+
*
0
( %& ' , %
(
%
( (
5.6. Printing
N0>7 (+ ' + # % &
N>$-"2"
&* %%
6+
N>$-"2" &* $H ( (
8 % N0>7 M ( (*
&
3& + &
N>$-"2" & * %
& 3
D + # > % ,
9<
@
* (
+ ,
"
&
(
N0>7 & %
$ E( &
(
(
, (
& + N(*
(
( % $ E(
'
$H D % print('url', DELAY, 'nu')
(
,
@
%& *
(
(+
> 7
"& A(
"& A( &G
% +
var opt = {
"mode": "alarm",
"row-per-page": 30,
"audio": "media/ding.wav",
"column": {
"time_stamp": true,
"tag_name": false,
:
"group_name": true,
"description": false,
"message": true,
"nvalue": true,
"old_nvalue": true,
"inactive_timestamp": true,
"ack_timestamp": true,
"ack_user": false
}
};
$
%* & ( % & * * )&)* )%)* ))
"& &
& & & (
+( % = & &
& &* ,
. * &-
&/ " & (
,
)(DD) %
& % &-(
& (
0
&
&G % !) 0 & % & %
&
0& &
&O &
0
&
(
& & % &
0
O&
0 %
&
5
O&
5 %
2
2 %
&
>
&
A
7&
O
+O& &
6 "+(
+O
6 (
+(
&
0
&-
% %* index.html % &
&*
%
0
& % *
%( <header> &G
<style type="text/css">
.alarm-table .active {
background-color: blue;
}
.alarm-table .inactive {
background-color: pink;
}
.alarm-table .active-ack {
background-color: brown;
}
.alarm-table .inactive-ack {
background-color: purple;
:
5.7.1. Audit
}
</style>
6
( & (
% . + % /
& & 0
(
& & ( % %%
var opt = {
"mode": "alarm",
"row-per-page": 30,
"column": {
"time_stamp": true,
"tag_name": false,
"group_name": true,
"description": false,
"message": true,
"nvalue": true,
"old_nvalue": true,
"inactive_timestamp": true,
"ack_timestamp": true,
"ack_user": false
},
"filter": {
"group_name": "Generator"
}
};
5.7.1. Audit
"* +( * D& % & ( 0 &*
?8@
% ( %& ( (I
var opt = {
"mode": "audit",
"row-per-page": 30,
"column": {
"time_stamp": true,
"tag_name": false,
"group_name": true,
"description": false,
"message": true,
"nvalue": true,
"old_nvalue": true,
"inactive_timestamp": true,
"ack_timestamp": true,
"ack_user": false
}
};
" &
&
& ( $ & &* (
( (
%
$
&* (
(
5.8. Trending
5.8. Trending
:
5.8. Trending
5.8. Trending
'pen_setting': pen,
'option': opt
});
</script>
</html>
0
( & 3I 2$A 0
% (
2$A
' (
$2 )
)
var plot = new trend( "#placeholder", {
"pen_setting": pen,
"option" : option
});
?8@ ' %
' * pen_setting (Array) option (JSON)
$ O * 3 % %
" & %
O % % 0& (I
var pen = [
{
name: "Temperature",
enabled: true,
unit: "C",
min: 0,
max: 100,
pens: [
{
name: "Temp A",
tag: "temp_a",
},
{
name: "Temp B",
tag: "temp_b",
},
{
name: "Temp C",
tag: "temp_c",
}
]
},
{
name: "Pressure",
enabled: true,
unit: "kPa Abs",
min: 0,
max: 10,
pens: [
{
tag: "press_a",
}
]
}
];
//
//
//
//
//
(String)
(Boolean)
(String)
(Number)
(Number)
// (String)
// (String)
// (String)
// (String)
// (String)
// (String)
//
//
//
//
//
(String)
(Boolean)
(String)
(Number)
(Number)
// (String)
& O & & % =
&* 3
%
&
:9
5.8. Trending
.
%
@& %
&* 0&
!
0
(./ -
.% /
& 2% %
%
6 %
&*
@&
>&& %
&
&
@&
>,&& %
&
0 & %
A %
( +
G % % &
%
G %
"
&
%
&
7 %
2% % %
0 %
!
0
(-
$% %* (
%&
&
.
%
,
@&
@&
!
0
(
%
2% % %
%
@&
%
& % & 2% : . / %
%
0&
!
@&
7 %
&
& %
2%
2% )) % %
2%
& % (
0
%
& 2% )) % %
+
!
0 (
& + %&
::
5.8. Trending
.
%
%& 2% % % %
+&
@&
2%
( & & (
& $%
& (
* ( ( 2%
, % %
+
!+D %
2% (
% %
%7
#% %
2% + % %
6 +
% "
(
(
%
0
% % I !+&+ "
!+&+ ( + (
&
& % ( & * (
(
E
+
% * +&+ ( . / 6
+&+
+ . / ! +
*
% (
&
@
& ! %& %I 7% * 7% 5* -*
#
5* #
* B& * B& 8
* %
& & +
-& & % &
" +-&+ (
& % $% -&
-& *
(
& 6&* + % % G&
:
" +* -&
(
& 8 ( +
)) & & &
" ? G
'
% % 0
% , *
"
" 0&&./ + &
8' %&* (
& )) 6@$H %& % & (
& )) 6@$H
%& % & 0&./ + &* %
&
&
0&./ (
& ( (
&
var new_time = {
"bgn": 1270000000000,
"end": 1271000000000
};
plot.setTimeStamp(new_time);
plot.realTime(false);
" &
2$A
$2 classname % 0
& % 28>* * )^) $2 ) ) &
classname %* ".placeholder" % & % trend() %
:;
& ( &
, % %D
(
%%
( %% %& =
'* + 0
%
& *
& , +
I $tagname * 100
= * ' 3&
( G &
(
I ($tag_bool)? $tag_int: 0 "
%
, % (
GI $tag||1.01325
:<
2 , * & (
( &
%D %& *
( , %
( , % , %D
( %& 6
#
+ '
5 "&
=
(
& % ' 8
M0M % !
M"&M J M0M
% % 0, "& % & %
2 , & "5D5 &* & &
(
4
"&
=
(
& % ' 0
& I 0 (
$8 $H (
( (* (
& ( &
%
& & %&
0 ( & %
I
2 A $% 0 2*
(
(
$% 0
A*
( * (
%
( (
$% 0
. %/*
& ( &
,
%
&
9
! "&
=
(
& % ' 0
& I * &
&, 0 (
$8 $H (
(
* (
&
&&&
&,
&,&&
' ( G + 8F ,*
&
% @
*
0
%*
% ' (
' 0 & ,* H>7
+ %
&
+
"% * ( & !( & %
% % M *
E
* (
( (
* (
(
@
& ( +
% %
% ( ( % =
,&* % * ( (
0 +* MM %
= *
+ %%
*
+ + M-M* M^==-M 0 + %%*
* % * M(-M ( + ( ( *
M(
--M ( +
3
"&
$% % * ( (
((
R
%RE "'
(( M7 M MA5M
;
8 "&
& &* (
%
*
% %
' (
*
&, & % = ,&* % & %
&, *
( ( % I
;
8 "&
0 0
%
( + 0
& & 6#7 % ( * $HM (
6#7 - % % (
;
%0 0
& & (
& 6#7 . ( /*
$HM E
6#7 * & ( 6#7* (
6#7
' + E
0"5 * & ( $H *
& ( , 6#7
6 (
6#7
0
%*
(
%
) %0 0
& &
(
( 6 (
(
%& %
-
( "2"* ( (( < 3( ( ( (
((* (
4 3( (
%&
1
2 31
2
$2 $"$
0 0
%
(( % % (
(( H W %
% ((* (
(
%
G %
((
# "&
0
, % ( %
% ' % ' 0
%
*
&
%
!( + (
(
%
;
E
' % .% +/
;4
E
*
' ( % - , :*
;_
"D+(
&&&
&,&&
;9
0 "&
;:
"&
0 * 3
*
&&& &,&& %
+ )D)
+, %
% * *
&& 0
*
%
' + \ \ * &
"70R2 " (
%
' 6
3 &
* (
%
' (
%
*
'M (
%
2 &*
' ( &
* (
( ( % &,&& &&& %
$%
)D)
+* ( +
'
B& "&
,& G& & 6 (
' G& &
( "& & % (
G&*
'M & 0 % %
6
G& ' ( +
+ &
$%
+ '
G& '* ( + % G&
;;
5
G&D G&D + G&
%
%
"&
,& & 0
,& &
& $
& % %
* ((
;<
"
& ,& * (
' % 6
%
& &
setTag( 'tag_bool', !getTag('tag_bool'));
<
"&
,& & & * % (
& .
&/
(
( 8
& % & ; &
& 3 & (( 6 ( &
& %
& .
&/ % %( 3 &+ .V/ = *
%(
% M
&M & M M (
% M
(MI
popup.htm?string=helloworld
<
0, "&
& 5 &*
8' & 0, 0, "&
0
& (
0, "& 0
( 8'
%
' & * (
A
n A
1 %
& (
pump_1_state & pump_1_reading & =
&* &
& &+ A 2
"&
0
& % %
& &*
% 3 A %
" ( % (
' = ,&*
tag_%n_%s_%d (
<
<4
Chapter 7. Report
$H & (
& % %
(
0
& 3 , D , &
N0>7 * +
&
*
%
&
%
= *
-
&*
-
& %
<9
(
M N0>7 & % + F&B
2 7+
% + * +
&
"
= %* (
D
%
& %
$ $ M &+
&&* (
%& , % D
"
+ && % $ &
56$ &* &
-
&
<:
</tr>
<tr>
<td>4</td>
<td>Part D</td>
<td></td>
</tr>
</table>
<script type="text/javascript" src="./system/scripts/igrX.js"></script>
<script type="text/javascript">
var rpt = igrx.report();
</script>
</body>
</html>
(
M N0>7 & % + F&B
<title>IntegraXor Report</title>
<link rel="stylesheet" type="text/css"
href="system/styles/igrX.css" />
</head>
<body>
<div id="idButtons" class="paragraph"></div>
<h1>High Plant Production Report</h1>
<table width="60%">
<tr>
<th>Item</th><th>Description</th><th>Quantity</th>
</tr>
<tr>
<td>1</td>
<td>Part A</td>
<td data-igrx="{attr:'get',tag:'part_a'}"></td>
</tr>
<tr>
<td>2</td>
<td>Part B</td>
<td data-igrx="{attr:'get',tag:'part_b'}"></td>
</tr>
<tr>
<td>3</td>
<td>Part C</td>
<td data-igrx="{attr:'get',tag:'part_c'}"></td>
</tr>
<tr>
<td>4</td>
<td>Part D</td>
<td data-igrx="{attr:'get',tag:'part_d'}"></td>
</tr>
</table>
<script type="text/javascript" src="./system/scripts/igrX.js"></script>
<script type="text/javascript">
var rpt = igrx.report();
</script>
</body>
</html>
<<
#
%
" +
%* , # + "
7 % (
.
<
@& %
"
&
2
2 %
.
'
&
"
& , 2 # % * (
&
( %
& !
= '
, * (
, <
(
%
& %
,
<td>Max</td>
<td>Min</td>
<td>Sum</td>
</tr>
<tr>
<td></td>
<td>0.00</td>
<td>0.00</td>
<td>0.00</td>
<td>0.00</td>
</tr>
</table>
<script type="text/javascript" src="./system/scripts/igrX.js"></script>
<script type="text/javascript">
var rpt = igrx.report();
</script>
</body>
</html>
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>IntegraXor Report</title>
<link rel="stylesheet"
type="text/css" href="system/styles/igrX.css" />
</head>
<body>
<div id="idButtons" class="paragraph"></div>
<h1>High Plant Production Report</h1>
<table width="60%">
<tr>
<th>Item</th><th>Description</th><th>Quantity</th>
</tr>
<tr>
<td>1</td>
<td>Part A</td>
<td data-igrx="{attr:'get',tag:'part_a'}">0.00</td>
</tr>
<tr>
<td>2</td>
<td>Part B</td>
<td data-igrx="{attr:'get',tag:'part_b'}">0.00</td>
</tr>
<tr>
<td>3</td>
<td>Part C</td>
<td data-igrx="{attr:'get',tag:'part_c'}">0.00</td>
</tr>
<tr>
<td>4</td>
<td>Part D</td>
<td data-igrx="{attr:'get',tag:'part_d'}">0.00</td>
</tr>
</table>
<h1>Production Log</h1>
<table width="60%">
<tr>
<th width="28%">Description</th>
<th width="18%">Density</th>
<th width="18%">Pressure</th>
<th width="18%">Level</th>
<th width="18%">Weight</th>
</tr>
<tr>
<td>Time/Unit</td>
<td>(kg/m3)</td>
<td>(bar g)</td>
<td>(m)</td>
<td>(kg)</td>
</tr>
<tr>
<td data-igrx="{attr:'log',tag:'app.currentTime'}"></td>
<td data-igrx="{attr:'log',tag:'part_a'}">0.00</td>
<td data-igrx="{attr:'log',tag:'part_b'}">0.00</td>
<td data-igrx="{attr:'log',tag:'part_c'}">0.00</td>
<td data-igrx="{attr:'log',tag:'part_d'}">0.00</td>
</tr>
<tr>
<td>Summary</td>
<td>Avg</td>
<td>Max</td>
<td>Min</td>
<td>Sum</td>
</tr>
<tr>
<td></td>
4
<td>0.00</td>
<td>0.00</td>
<td>0.00</td>
<td>0.00</td>
</tr>
</table>
<script type="text/javascript" src="./system/scripts/igrX.js"></script>
<script type="text/javascript">
var rpt = igrx.report();
</script>
</body>
</html>
$M &&
&&
( % & "
D
% + ./* &,&& .&,/* &&& .&/ J && . &/
./
,
+ !(
& %
&& (
% (
&& ,
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>IntegraXor Report</title>
<link rel="stylesheet" type="text/css"
href="system/styles/igrX.css" />
</head>
<body>
<div id="idButtons" class="paragraph"></div>
<h1>High Plant Production Report</h1>
<table width="60%">
<tr>
<th>Item</th><th>Description</th><th>Quantity</th>
</tr>
<tr>
<td>1</td>
<td>Part A</td>
<td data-igrx="{attr:'get',tag:'part_a'}">0.00</td>
</tr>
<tr>
<td>2</td>
<td>Part B</td>
<td data-igrx="{attr:'get',tag:'part_b'}">0.00</td>
</tr>
<tr>
<td>3</td>
<td>Part C</td>
<td data-igrx="{attr:'get',tag:'part_c'}">0.00</td>
</tr>
<tr>
<td>4</td>
<td>Part D</td>
<td data-igrx="{attr:'get',tag:'part_d'}">0.00</td>
</tr>
</table>
<h1>Production Log</h1>
<table width="60%">
<tr>
<th width="28%">Description</th>
<th width="18%">Density</th>
<th width="18%">Pressure</th>
<th width="18%">Level</th>
<th width="18%">Weight</th>
</tr>
<tr>
<td>Time/Unit</td>
9
<td>(kg/m3)</td>
<td>(bar g)</td>
<td>(m)</td>
<td>(kg)</td>
</tr>
<tr>
<td data-igrx="{attr:'log',tag:'app.currentTime'}"></td>
<td data-igrx="{attr:'log',tag:'part_a'}">0.00</td>
<td data-igrx="{attr:'log',tag:'part_b'}">0.00</td>
<td data-igrx="{attr:'log',tag:'part_c'}">0.00</td>
<td data-igrx="{attr:'log',tag:'part_d'}">0.00</td>
</tr>
<tr>
<td>Summary</td>
<td>Avg</td>
<td>Max</td>
<td>Min</td>
<td>Sum</td>
</tr>
<tr>
<td></td>
<td data-igrx="{attr:'avg',tag:'part_a'}">0.00</td>
<td data-igrx="{attr:'max',tag:'part_b'}">0.00</td>
<td data-igrx="{attr:'min',tag:'part_c'}">0.00</td>
<td data-igrx="{attr:'sum',tag:'part_d'}">0.00</td>
</tr>
</table>
<script type="text/javascript" src="./system/scripts/igrX.js"></script>
<script type="text/javascript">
var rpt = igrx.report();
</script>
</body>
</html>
:
# 0
% &* *J 8
# 0
%
* ,
8
+
& + D& &
;
E
+* ,
*
&
,
E
, +* " , + "
(
*
+ , N0>7 %* && A H>7 % ,
&
2
<
Chapter 8. Security
$H "2" & ,
* * J )2)
& &
* )) && * % "+( %
&* * , 0
& # * J
%
" & E *
2
# J E
0
%&
(
*
%
%
%
- &,&& % % * &,&& &
% * & %
%
" & & & * ( & .(
( & &+
+
/
% ( &
% "2" & = *
, ( & * ( &
( & * (
( ( %& %
& % >* (
%*
( &
( (
(
(
=& # )7) $ ( & )#)
,
8.3. Protection
6 %
8 *
3& @
&
&& =
&*
7 $
' "
0
7 6
+ %
8.3. Protection
* * 0 %
%
%(* & . / %
0
%
( % .( / "
& %%
% ( &*
& ( % , "
J (
%% % %
(
% *
(* &&
( %&
N(*
(
%+
&& %
9
:
Chapter 9. Communication
&& & && $M
% (+ = *
&&
* 3 D
%& && (* (
0
(
&
( (
(
&
%
0
$H %( % %
& ,
&
&&
;
!& %
( MM @
&
%
M & N 0&
&& (
,
& 0 && %(
%(
&& ( = *
8 % %&
+
+ 3 && & & ' &
( "2"
& %&
&
% ,
& % *
! #* 2 G* J ! <: ;
0-$ + ( &
& + "
(
%
&
%
% & +(
%
%
% *
&
& ' &
!%
&&
*
%
$%
&&
%( &
&&* M
<
& (
% = *
56$* +
$8 0 +*
+ $%
M &
&&* ,& &+
,
$8
0 + E( " ,
$% & & D
* + 0 + & & *
+ # 0 +
$8 " $8
$8 + &
+ &&
>
( %% %
0
> ((- ( &
& ((*
%
E
% & (
'
6 >
%(* & % && *
'
&
0
G % & ; % #06 % "$$
8! "
0
% > > , +
& (+ > (+ &&
> (
* &
(
M )>D
) (+ @&
> 7
. /
& & 0
> (
( 3
(
D
0
% & (+ (
& ( &
* M &
(
& && + #
-4
-4;9 >
0-$ (+ & > % & > (+
% #4;9 J #4
(+ %*
% #
&D (+
<( %
@ $2 2 $2* $2* 2 " * " >
&
( 2 "
# & " 2 " , & %%
%&
*
(* %
&
<<< %
8%% % R D
$ 7 &&* %, & %
%% 4, % 8 # * , % $ # * , % 8
, % $ N(
&
"2" & ( & = (
:
* 4 (
3
.* % / "2" 7+( (
9 *
(
"2" (
0
& %, > 0
D
% %,* % * * 4
0
M %,
(M
( D
"
*
+
4 0
& &
&% &
% &
'
0
% %& > * 8
.,/* $ .,/* N # .4,/ J $ # .,/ !
8 .+ / J $ .+ / %D
&
$ # J 8D
# : $ %
$ $ # M
( *
* 8 8 #
M
( E
+* M && & %
&
$ &
% %& % * + %
.%
/ .
/* ( 8 #
E
% %
3* & + > 7 (
+ & &* & & '
3 (
+ % 6 & %
M & J
& %
% .%:4/
.:4/*
+
M &% >* & &%
+ 0& &
; %
13 1;
=
% *
D
( % ( .:/ . .;/ % & /
> &&
% %
( & .:/ 2%%
%% &&D
* (
7 !
0
& %
%& % "R!
!R" (
" ! : " % % *
&D
, "R!RR2* !R"R2R* R2R"R!
2RR!R"
& %
% %
%% %&
*
% &
(
&
> &
% ( ( > &&
( D
#
!
8&G !+- &G*
(
'
% $ %* & > D
3 M!
8&GM % ' >
&
.
+
/
&& 0
%
% &
& &
= * 4* 4* 4
*
4
( & N(* D
.,/ 4
.4,/
4
E
% * ( & ( % I )=
@&.8>/ ) (
)@&) % &
&
3 = & ( +
%3 %
&
& (
%
E
% %*
Success & ( I )
@& .8>/
)* (
@& % &
& N(* %
+* *
(
&
D&
& * * (
& Failed & (
+ %
Success &
& (
$% ( %* & %& ( %
I Illegal data value: Implied length is incorrect 0
( & &
%
%* M %&
&& &
% &
N(*
*
%% 0 R* D
9
& (
( %
:
0
% % &' 0
( % $-8
% &
%% 0
'
% * %(
2 0
M & %
%
* (
& (+
10.1. Modbus
>
& % && $H >
%
J
* #
-4;9-4
J 0$ $
% %
%
% (
;
<
10.1.2. Tag
>
: (( ))
"'
%( +( % & &
(
"2"
: 3 '
0
(
0
& %
&
%
G* M & % && %
*
%& ( @&
)
4)
)4
)
0
( :4 :4 ( ' +
%
%%
10.1.2. Tag
0
4 % > 7* N # .4,/* $ #
.,/* 8 .,/ J $ .,/* (
N # J $ # : (
8 J $ ! = J 7
:4
& N $ # 0 % % $ # .,/ $
.,/ (
$ 0 % 0 )0)*
D
M
setTag() %
&#
#
%
!887
&#
#
%
$@0
;
$@0
:
2$@0
7$@0
:4
#"7
@-$ + > &&
% 0
%
& % (
&
N( D
>
@-$
% G ./ ( &+
(
& &
@-$
& % & " & % =
(
$-8 %& 0
& &
(
&
0 * #7,9 %
%
@-$ "2"
0 $ % #D8
10.3.2. Tag
10.3.2. Tag
& +
* " % %
% 3 (
10.3.2. Tag
%&
& C7 &* %
(
order by &
( (
0
%
, time_stamp_column_name*
(
, & & $H & & 0
&* (
"& 0 +
0 0 +*
, & & ( %
"2" & &
$
(
D%& (D %%* & &
& ,
%
( !( & , (
J ( % %% (
%%
log1/read_fr_column[tag_name='tag'
order
desc];log2/write_to_column[data is not NULL]
by
time_stamp
10.4. Profinet
! (
M % % , (
%D%
+ %
%&* & %&
% & &
10.4. Profinet
#8=$@0T
% #8=$!6 J #8=$@0 $ .$/ %
& #8=$@0T 0-$ $0 * * %%* D&
*
& % (
$ 0( &
% 6 J
@&
#8=$@0T
& % & " & % =
(
$-8 %& 0
& &
(
&
& D
0 * 0$" %
4
10.4. Profinet
10.5. SNMP
"
%
!
! - $@0
;
$ - E
:
2$ - 2(
6$
;
6$
:
62$
#
0 $ 0 % #D8
10.5. SNMP
@> .& @(+ >& /
$ & (+
0
% (
$ & 0
% & : 0
@> * # * && * 0&D* @> 0-$%& & %
@> 0 0
& % (
%
%
>$! .>& $%& ! / %
10.6. IEC60870-5-101/104
.8' $%/ %
"
%
!$0
:4
:4
5
$@05#
$
$"
8!?0 $2@0$=$#
800 0#$@5
83
0& 0+
6
0 $ 0 % #D8
10.6. IEC60870-5-101/104
$ :;D9D P$Q % ( & &* &&
% * * && % ( & 0
&
& (
$ :;D9D $ :;D9D9
D
% ( 20 2 0
% & % +
DD* * &
$ :;D9D4 .$ 4/ , % $ (
*
(+* +
& (+ 0
0-$
% (+
7"@ .7 " @(+/ (
%% %
.$2@* H
9* =& /
E"@ .E " @(+/ " %
$ 4 &
% $ (
& %
% 0
(
+ %
* (
% %
.
D DD / 0
% % $4 % &
& % %%
;
&& %
"26
<
10.6.2. Tag
$ 3 (
7
%
&
:
24
0 8 &1 = &
10.6.2. Tag
0
9 % $:;* 2 .2/* ./* > A
.>/* 2 && .2/ && ./ (
> A : *
* 2 && && ! 2 ;
0 % % 2 * > A (
$ 0
% 0 )0)*
D
M
setTag() %
4
" %
$
%* (
0
& %&
& %
$H ( 8 % *
( %& &
4
@
& %
&*
%%a 0
% (
& & && (
%% *
%%
+ #4;9 &, (
#
$HM %
4
"
& (
& +*
$-8 % (
& %
+ .( & / &
& ( &
& & (
G*
G* $-8 +* +* +
2
G
0
G
0
& * * * *
* * 0
&
0
G
%
4
E
*
&
$-8*
+ $%
& (*
(
+ ( +
&
+ $
44
J C7 6
% (
( # &-
&
2
G
G @&
G
&* * (
"2" '
0
G
G 0
&
G (
%% %
@7!
@7!
"
@(+ 7 ! .@7!/ % @7! &
%
$ @7! $ $ 3 (
@7! $
%
49
<
@& %
2
((
10
0
#+ & %
%
0
(
( & & ( &
& 0
( %& *
0
& 3 %
8
+ & ( & %
% (+ (
&
% D&
,
=3
2%
( %3 %&
@& (
# 0
2% (
& % & % 2
=$=8 .= $ = 8/
#
2%
( ./
( & ./
+
%
(
# +
8 C7 P
I--((( 3 -Q % 6 % > C7
( ( & %
G
4
4;
12.2. Migrating/upgrading
project
&
% % ( % A % & G ( &
0,
0
& % , , + )0,) (
(
I--((( , , )@RR)
#
" % & + - %
(+ % )A@) %
I--
(
& 0 % &
&
$ E( H*
,
% +( %
% & &
+ )"
# +) (
(
I--((( &
% &- +
)0
#
( &
0
% (
&
* (
( G (
)
I--((( , &-% -'
&
+
' "
0
M (
%
& &
- $H
9
,
> %
,
&
"
C7
Provider=MSDASQL.1;
Extended Properties="DRIVER=SQL Native Client;
SERVER=<COMPUTER_NAME>SQLEXPRESS;
DATABASE=my_job;
trusted_connection=yes";
C7
Driver={PostgreSQL};
Server=IPaddress;
Port=5432;
Database=myDataBase;
Uid=myUsername;
Pwd=myPassword;
>C7
Driver={MySQL ODBC 5.1 Driver};
Server=localhost;
Database=myDataBase;
User=myUsername;
Password=myPassword;
Option=3;
! (
82! 2 9*
&
! (
( & % &
9
(
& + (
$
%&
% (+
+ (
(
(+
% (
& % , %
( &*
,
&
(
( G&
94
% ( +
( ( (
N(* % +
(
(
, G*
% (
(
( (
G " %
&
( (
(( G &
(
&&*
& & M %
$
,
+ & & (
9:
8 >
!( & %
8 ( & & & + (
9
2(
% &
&
9;
2(
% (
&
9<
4 N
(
( + & .D/ %&
2%%
:
9 0
% &
: 0
, (
%
&
:
2
2%% ( %%
&
:
;
& *
(
&
&
& &
:
:4
4 N
%
& R > %&
2%% 8 2 +
:9
%
%
'
* % 3
9 E
+ '
* MM 5 *
&
'
%& & $%
( %% %* ( '
( &
::
: >
' +
* (
( * +
&
:
:;
2
& 3
( &* G
(
&
:<
=
G &+ - %
+
(
&
+
4 >
(
* + %
%%
9 2( (
* +
%
:
= * M# 5M %
%% " '
G
&
+
"
4
9
"A % $
( + % ,
:
=%,
( + ,
5
&
( + ,
13.1.1. Miscellaneous
' "
"
* $+ &
(
P
I--(+ + -(+-,
-# O@ - 4;^F(O$ Q "
&
% * R %3
(+
13.1.1. Miscellaneous
"5 M
+D
.`/ ( $% +D
+ P"Q (
0
(+
* P"Q
& + P8FQ
# $&
!(
% &
P
I--((( , &--( D( D D DD(
D GD D&DD Q + L ' L ( & &
& (
& + + % %
*
'
G
(
M % D
E
( A5
% (
+ D
%*
&
+ %
D& (
0
&* &
%
&*
&
( "
(+
( && A5 '
&*
&
%
0,
0, (
& (
E( 87 %& (
N0>7
+
& % 0- N0>7-0, D
( & = (+* &
&
.
4
/
6
;
13.3. Front-end
13.3. Front-end
"&
%& ( %%D
& A % M %&M
&
"5 D
8
(
(
P
Q
2 &* (
%
I
http://localhost:7131/job/page.htm?YYMMDD-hhmm
-0 E
0
+(
D + (
& &
& & %
,
& D
5
&
$
&
P
I-- &-
&- (-<94:4V
ZQ
5
& D 7 -
5
& && (
*
<
13.4. Miscellaneous
% &
( 0
+( P
I-- &--
&&- -VZ94<Q
% 5
&
!( ( 0
(
&
G
( M
& &
A5
& (
P
I--((( , &--( D( D D DD(
D GD D&DD Q
A5 &
8
(
(
+* EW$EW5 ( M
13.4. Miscellaneous
# D 6
;
Index
A
&
%* 49
* 4
* 4;
&
* 9
* :
*
. /* ;
(( * ;
* <
* ;
* ;<
* 4
* ;:
0,* <* <
* ;9
G&* ;
"&
, &*
* ;
C
&&
* :
* :
*
%
' *
3*
D
%* 4
* 9
2&
* 9
%* :
*
@-$*
$:;D9D-4* ;
& *
%* 4
@>* :
C7*
F
%D
& (* :
, * :<
G
%* 4
I
+
* :
* 9
* ;
* 94
* 9:
"5*
G J +* 94
* * 9
L
J
G*
M
>
%* :
& *
4
*
N
@(+ #
%* 4
$* 4
O
8& D =
%* :
8
%* :
28> *
:
P
%* :
;
'
+* 4<
&* 9
'
*
&*
R
#
$* 4
#
$* <9
3& *
S
* 9
"H * 9
% * 4<
* 4<
%* 4;
% * 9
% * 9
?8@* 9;
* 4
*
*
%*
%*
9
#
%* 49
$* 4
T
%* ;
-, * 4
&
*
' %* 4<
* 9
&
%* 9
* 9
0
A N0>7 *
%%
*
*
;
U
6#7
* 49
%* 44