Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
app.alarm[audit_group.audit_name].status
app.task[].status
noDownload
Alt+Right
IndexA
1.3. Version 5.1
Chapter 2. Introduction
2.1. Support
2.2. System Requirements
2.2. System Requirements
2.2.1. Software Requirement
2.2.2. Hardware Requirement
2.3. Installation
2.2.2. Hardware Requirement
2.4. System Architecture
2.4. System Architecture
"http://localhost:7131/projectID/" "projectID""localhost"
"http://192.168.1.1:7131/projectID/"
2.4. System Architecture
3.4. Project Configuration File Format.cr8 .igx .ig2
.cr8 .igx .igx
.ig2
3.4. Project Configuration FileFormat
5.1.1. Pre- and Post-Launch
"APP_PATH" [optional_parameters]
APP_PATH
APP_PATH APP_PATH
[optional_parameters]
5.1.1. Pre- and Post-Launch
"Windows NT\Accessories\wordpad.exe" "D:\My Project\ReadMe.txt""C:\Program Files\My Applications\calc.exe""C:\Program Files\My Applications\commsvr.exe" -f "D:\My Project\setting.dat"
<BROWSER>
<BROWSER:BrowserName>
Tools > DefaultBrowser
<HOMEPAGE>
"<BROWSER>" "<HOMEPAGE>index.html""<BROWSER:Internet Explorer>" "<HOMEPAGE>page1.html""<BROWSER:Google Chrome>" "<HOMEPAGE>page1.html"
"<BROWSER:Internet Explorer>" -k "<HOMEPAGE>index.html"
5.1.1. Pre- and Post-Launch
"<BROWSER:Google Chrome>" --kiosk "<HOMEPAGE>index.html"
noframemerging
"<BROWSER:Internet Explorer>" -noframemerging "<HOMEPAGE>page1.html""<BROWSER:Internet Explorer>" -noframemerging "<HOMEPAGE>page2.html""<BROWSER:Internet Explorer>" -noframemerging "<HOMEPAGE>page3.html"
--new-window
"<BROWSER:Google Chrome>" --new-window "<HOMEPAGE>page1.html""<BROWSER:Google Chrome>" --new-window "<HOMEPAGE>page2.html""<BROWSER:Google Chrome>" --new-window "<HOMEPAGE>page3.html"
5.1.1. Pre- and Post-Launch
Yes
app.
app.startupTime
app.currentTime
XX
XX alarm io logredundancy
status statustext
0 (Stopped)
5.3.1. Application Tag
3 (Starting)
5 (Running)
6 (Stopping)
XX
status
0 (Normal)
1 (Reset)
2 (Acknowledged)
4 (Active)
XX
XX
status statustext
1 (Connected)
2 (Initializing)
3 (Disconnecting)
4 (Disconnected)
5 (Read error)
6 (Write error)
Connected Disconnecting Read errorWrite error app.device[XX].status.connected true
false
XX
XX
5.3.1. Application Tag
boolean
int8
int16
int32
int64
uint8
uint16
uint32
uint64
real32
real64
string
-1
0
5.3.4. I/O Driver
true
5.3.5. I/O Server
5.3.6. Tag Expression
0.001 1000
0.001 $*(0.001)1000 $*(1000)
5.3.5. I/O Server
$*0+$+0
(9/5) * $ +32
($-32) *5 /9
819 10°C 409560°C
((60-10) * ($-819) / (4095-819)) +10
(($ -10) * (4095-819) / (60-10)) +819
($ / $KFac) *3600 * $MFac
MFac KFac
5.3.6. Tag Expression
LIM_LO LIM_HI
Math.max(LIM_LO, Math.min(LIM_HI, $))
Math.max(0,Math.min(100,$))
($ > LIM_HI ? LIM_HI : $) < LIM_LO ? LIM_LO : $
$&1 $&65536
$0 + $b0*1 + $b1*2 + $b2*4 + $b3*8 + $b4*16 + $b5*32 + $b6*64 + $b7*128 + $b8*256 + $b9*512 + $bA*1024 + $bB*2048 + $bC*4096 + $bD*8192 + $bE*16384 + $bF*32768
b0...b9 bA...bF
$
int64 uint64
5.4. Database
5.4. Database
Provider=MSDASQL.1;Extended Properties="DRIVER=SQL Native Client;SERVER=<COMPUTER_NAME>SQLEXPRESS;DATABASE=my_job;trusted_connection=yes";
5.4. Database
5.5.1. Web Access Information
http://ip_address:7131/PROJECT_ID/login? PROJECT_ID
IgUser: {name:'xxxx', level:xxx}
eval()
http://ip_address:7131/PROJECT_ID/logout? PROJECT_ID
5.6. Output
5.5.1. Web Access Information
5.6.2. File
\\server_name\share_path\output_folderD:\share_path\output_folder
5.6.3. Printer
5.6.2. File
var S1 = getTag ( 'SIM1_Lek');var S2 = getTag ( 'SIM1_Breuk');var S3 = getTag ( 'SIM1_Service');var S4 = getTag ( 'SIM1_Loopim');
//turning on anyone of the tag will trigger the event.setTag( 'SIM1_Alarm', S1 | S2 | S3 | S4);
$SIM1_Lek | $SIM1_Breuk | $SIM1_Service | SIM1_Loopim
5.7.1. Alarm Group
0 1000
5.7.2. Alarm Output Format
5.7.1. Alarm Group
5.7.2.2. Alarm Output Format - Tabular Output
5.7.3. Additional Information for Deadband
5.7.4. Alarm Scripting
5.7.3. Additional Informationfor Deadband
app.alarm[Group.Name].enableapp.alarm[Group.Name].status
4
2
1
0
app.alarm[Group].status
5.7.5. Alarm Acknowledgement Privilege
5.7.5. Alarm AcknowledgementPrivilege
app.startup
5.8.1. Additional Functions
getTag( 'same_tag')
var max = getTag( 'Tag001');for (var i=0; i<max; i++) {
5.8.1. Additional Functions
//do something}
5.8.2. Advanced Scripting
setTag( 'tag', data, option); option timeDate()
var opt = {"time" : new Date(2020, //yyyy0, //M; 0: Jan, 1: Feb...1, //D1, //h2, //m3, //s456//msec)
};setTag( "myTag", 123.45, opt);
5.8.3. Database Functions
string
getSql([string] sql, [object] option)
[object] option format:{dbgroup: 'xx', // [string] database name created in database table,// default to all database if not supplied.offset: 0, // [integer] skip the first stated number of result, default to no offset.limit: -1, // [integer] limit to return stated number of result, default to no limit.skip: 0, // [integer] skip certain number of rows between results, default to no skip.outfmt: 'xx' // [string] output format, valid values are csv/csvh/json/xml, default to CSV.
}
var result = getSql( "select * from log",{dbgroup:"dblog",offset:2,limit:3,skip:2,outfmt:"json"});
5.8.2. Advanced Scripting
setSql([string] sql, [object] option)
[object] option format:{dbgroup: 'xx' // [string] database name created in database table,// default to all database if not supplied.
}
setSql( "insert into alarm values (cell1, cell2...)",{dbgroup:"mdb"});
5.8.4. Debugging Functions
5.8.4. Debugging Functions
var a = getTag( "tagA") || 1; //default value 1var b = getTag( "tagB") || 2; //default value 2var 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 onlydebugString( "Script is successfully executed."); //keep this as last line.
5.8.5. ActiveX Scripting
5.8.5. ActiveX Scripting
var WshShell = new ActiveXObject("WScript.Shell");var oExec = WshShell.Exec("calc");
while (oExec.Status == 0){WScript.Sleep(100);
}
var obj = new ActiveXObject("WScript.Shell");obj.Run("c:\\doswork.bat");
//compose your sql for desired datavar sql = "select time_stamp, tag_name, nvalue from log";//assign to a stringvar csv = "time_stamp,tag_name,nvalue\n" + getSql(sql, {dbgroup: 'mdb',outfmt: 'csv'});
//File System Object operationvar fso, tf;fso = new ActiveXObject("Scripting.FileSystemObject");tf = fso.CreateTextFile("c:\\testfile.txt", true);
tf.Write ( csv);tf.Close();
debugString( "File is saved.");
5.8.5. ActiveX Scripting
Chapter 6. License Management
6.1. Server Licensing
license request file (*.ila) license authorization file(*.ila)
6.1.2. Registering Project
templateproject demo test
6.1.3. Activating Project
6.1.3.1. Online Activation
6.1.2. Registering Project
6.1.3.2. Offline Activation
6.1.3.3. Conventional Activation
6.1.3. Activating Project
@gmail.com @hotmail.com @yahoo.com
6.2. Editor Licensing
6.2.1. Subscription Activation Flow
6.2.1.1. License State
6.2. Editor Licensing
Chapter 7. Front End Configuration
7.1. Menu
7.2. Scripting and Tag Access
<script type="text/javascript" src="./system/scripts/igrX.js"></script>
var data = getTag( 'tagname') setTag('tagname', data)
7.2. Scripting and Tag Access
7.3. JSON Syntax
{"param1": data1, "param2": data2, "paramN": dataN}
[data1, data2, data3]
{"param1": data1, "param2": data2, "paramN": [dataN1, dataN2, dataNM]}
{"param1": "this is string", "param2": 123.45}
7.4. Number Formating
7.3. JSON Syntax
#.## 1234567.12
#,###.#### 1,234,567.1235
#.## .12
0.### 0.1
# ###,## 1 234 567,89
#.###,## 1.234.567,89
#,####.## 123,4567.89
#,## 1234567,89
#'###.## 1'234'567.89
"#,### "1,234,568
7.5. Tabulate Data
<script type="text/javascript" src="./system/scripts/igrX.js"></script>
{attr:'get',tag:'tagname'}
7.6. Printing
7.5. Tabulate Data
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
}};
alarm.htmindex.html
index.html
index.html
7.7. Alarm Viewer
<header>
<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;}</style>
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"}
};
7.7.1. Audit
var opt = {"mode": "audit","row-per-page": 30,"column": {
"time_stamp": true,"tag_name": false,"group_name": true,"description": false,"message": true,
7.7.1. Audit
"nvalue": true,"old_nvalue": true,"inactive_timestamp": true,"ack_timestamp": true,"ack_user": false
}};
7.8. Trending
7.8. Trending
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<link rel="stylesheet" media="screen" href="system/styles/igrX.css"/></head><body>
<div class='trend' id='placeholder'></div></body><script type="text/javascript" src="system/scripts/igrX.js"></script><script type="text/javascript">
var pen = [{
name: 'Temperature',enabled: true,unit: 'Celsius',min: 0,max: 100,pens: [
{name: 'Temperature Cook',tag: 'temperature_cook'
}]
}];var opt = {
lograte: 5000,backgroundColor: 'white'
};
var plot = new trend( '#placeholder', {'pen_setting': pen,'option': opt
7.8. Trending
});
</script></html>
var plot = new trend( "#placeholder", {"pen_setting": pen,"option" : option
});
pen_setting (Array) option(JSON)
var pen = [{
name: "Temperature", // (String)enabled: true, // (Boolean)unit: "°C", // (String)min: 0, // (Number)max: 100, // (Number)pens: [
{name: "Temp A", // (String)tag: "temp_a", // (String)
showMarker: true // (Boolean) *Optionaltype: "step" // (String) *Optional
},{
name: "Temp B", // (String)tag: "temp_b" // (String)
},{
name: "Temp C", // (String)tag: "temp_c" // (String)
}]
},{
name: "Pressure", // (String)enabled: true, // (Boolean)unit: "kPa Abs", // (String)min: 0, // (Number)max: 10, // (Number)pens: [
{tag: "press_a" // (String)
}]
}];
7.8. Trending
var new_time = {"bgn": 1270000000000,"end": 1271000000000
};plot.setTimeStamp(new_time);
plot.realTime(false);
classname
classname ".placeholder" trend()
7.9. Multilingual supportlang.txt
/lang
lang.txt
7.10. Logical Expression
7.9. Multilingual support
7.11. General Optionsindex.html
opt index.htmlopt index.html
opt['alarm'] opt['general']
opt['alarm'] index.htmlopt['general'] opt
opt['general'] opt['alarm']
noDownload falsetrue
noDownload
side_panel
force_login falsetrue
screen_before_login
"screen_before_login": "plot.html"
screen_before_login screen_after_login
7.11. General Options
no_footer_page
"no_footer_page": ["overview.svg", "report-snap.htm"]
no_footer_pageno_header_page
7.11.1. QR Code
index.html
index.html
<div class="yui-b silver"><div id='sec-login' style="display: inline-block;"></div><img id="qr-icon" src="system/images/qrcode-icon.png" alt="QR Icon"style="display: inline-block;" />
</div>
index.html
<div class="yui-b silver" id='sec-login'></div>
<img> id"qr-icon" index.html
<img>id "qr-icon"
7.11.2. Side Panel Menu
side_panel
7.11.1. QR Code
falsetrue
""
.css
auto_hide
auto_collapse
styles
sidepanelmenu-template.css
template
7.12. Exposed Functions
getTag() setTag()
7.12.1. Stored SQL StatementThe runSql() function
7.12. Exposed Functions
runSql(name, parameters, option, callback-function);
runSql()
var param = {"table": "table value","val": "val value"
};
outfmtdbgroup
outfmt
outfmt json csv csvh xml
outfmt csv
dbgroup
7.12.1. Stored SQL Statement
dbgroup
var opt = {"outfmt": "json","dbgroup": "dbname"
};
var opt = {};opt["outfmt"] = "json";opt["dbgroup"] = "dbname";
var cbfn = function(result){// This is the callback function// result is the response from the server
};
runSql(name, parameters, options, cbfn);
runSql(name, parameters, options, function(result) {// This is the callback function// result is the response from the server
});
7.12.1.1. Usage Example
7.12.1. Stored SQL Statement
deflate
http://hostname_or_ipaddress:port_number/project_id/http://hostname_or_ipaddress:port_number/
7131
80http://hostname_or_ipaddress/project_id
80http://hostname_or_ipaddress/
*
[scheme]://[source]:[port]
*://www.abc.com:7131http://www.abc.com:7131https://www.abc.com:7131
http://*:80808080
192.168.1.30-35 http https192.168.1.30 192.168.1.35
https://www.abc.comhttps://www.abc.com
*://www.abc.com:7131, *://192.168.1.20:7131,*://10.1.1.*
0
7.14. Web Server Configuration
7.16.2. Adding Scheduler Page to Front End Screen(Method B)
7.16.2. Adding Scheduler Pageto Front End Screen (Method
7.16.5. Adding a time-value profile in day scheduleprofile
7.16.5. Adding a time-valueprofile in day schedule profile
7.16.6. Modifying time-value profile in day scheduleprofile
7.16.7. Deleting time-value profile in day schedule pro-file
7.16.6. Modifying time-valueprofile in day schedule profile
7.16.9. Adding a date schedule in exception schedule
7.16.9. Adding a date schedulein exception schedule
7.16.10. Deleting date schedule in exception schedule
7.16.10. Deleting date schedulein exception schedule
7.16.11. Adding time-value profile into date profile inexception schedule
7.16.11. Adding time-value pro-file into date profile in excep-
7.16.12. Deleting time-value profile from date profile inexception schedule
7.16.13. Pointlist
7.16.13. Pointlist
9.1.1. Inkscape Text Alignment
9.1.1. Inkscape Text Alignment
alert("Result: " + (getTag('tag1') + getTag('tag2')));
setTag( 'tag_bool', !getTag('tag_bool'));
9.11.1. Keydown Script
9.11.1. Keydown Script
9.14. Clone Animation
pump_1_state, pump_1_reading, pump_2_state & pump_2_readingpump_%n_state
and pump_%n_reading
n1 pump_1_state & pump_1_reading
2
9.14. Clone Animation
"Save a Copy..." "File" SHIFT-CTRL-ALT-S"Optimized
SAGE SVG (*.min.svg)"".min"
gasskid
9.15. Minify SVG
"Save as..." SHIFT-CTRL-S
'.min' '.min.svg'
gasskid.min
gasskid.min.svg
CTRL-SCTRL-S
9.15. Minify SVG
<!DOCTYPE HTML><html xmlns="http://www.w3.org/1999/xhtml">
<head><title>IntegraXor Snapshot 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></td>
</tr><tr>
<td>2</td><td>Part B</td><td></td>
</tr><tr>
<td>3</td><td>Part C</td><td></td>
</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>
10.2.1. Creating Layout
10.2.2. Link to Datasource
data-igrx="{attr:'get',tag:'tagname'}"
<!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'}"></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>
10.2.2. Link to Datasource
<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>
10.2.3. Archiving Report
10.2.3. Archiving Report
10.3. Statement Report
10.3.1. Layout Configuration
<!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>
10.3. Statement Report
<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></td><td>0.00</td><td>0.00</td><td>0.00</td><td>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>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>
10.3.1. Layout Configuration
</html>
10.3.2. Link to Datasource
data-igrx="{attr:'log',tag:'tagname'}"
<!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>
10.3.2. Link to Datasource
<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><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>
10.3.2. Link to Datasource
<!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><td data-igrx="{attr:'avg',tag:'part_a'}">0.00</td>
10.3.2. Link to Datasource
<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>
10.3.3. Archiving Report
10.3.3. Archiving Report
11.5. Active Directory (AD) / LDAP
11.5. Active Directory (AD) /LDAP
Success
FailedSuccess
Illegal data value: Implied length is incorrect
12.4. Interpreting Communica-tion Message
12.5. OPC Troubleshooting for SCADA
remote-opc.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AppID\{13486D44-4821-11D2-A494-3CB306C10000}]@="OpcEnum""AuthenticationLevel"=dword:00000001"ServiceParameters"="-Service""AccessPermission"=hex:01,00,04,80,9c,00,00,00,b8,00,00,00,00,00,00,00,14,00,\00,00,02,00,88,00,06,00,00,00,00,00,14,00,07,00,00,00,01,01,00,00,00,00,00,\05,0a,00,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,05,07,00,00,00,\00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,01,00,00,00,00,00,00,14,00,1f,\00,00,00,01,01,00,00,00,00,00,05,04,00,00,00,00,00,14,00,1f,00,00,00,01,01,\00,00,00,00,00,05,02,00,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,\05,12,00,00,00,53,00,39,00,30,00,43,00,01,05,00,00,00,00,00,05,15,00,00,00,\6b,d6,62,04,07,e9,94,2d,15,25,af,47,eb,03,00,00,01,05,00,00,00,00,00,05,15,\00,00,00,6b,d6,62,04,07,e9,94,2d,15,25,af,47,eb,03,00,00
"LaunchPermission"=hex:01,00,04,80,a0,00,00,00,bc,00,00,00,00,00,00,00,14,00,\00,00,02,00,8c,00,06,00,00,00,00,00,18,00,1f,00,00,00,01,02,00,00,00,00,00,\05,20,00,00,00,20,02,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,05,\07,00,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,01,00,00,00,00,00,\00,14,00,1f,00,00,00,01,01,00,00,00,00,00,05,04,00,00,00,00,00,14,00,1f,00,\00,00,01,01,00,00,00,00,00,05,02,00,00,00,00,00,14,00,1f,00,00,00,01,01,00,\00,00,00,00,05,12,00,00,00,69,00,6e,00,64,00,69,00,01,05,00,00,00,00,00,05,\15,00,00,00,6b,d6,62,04,07,e9,94,2d,15,25,af,47,eb,03,00,00,01,05,00,00,00,\00,00,05,15,00,00,00,6b,d6,62,04,07,e9,94,2d,15,25,af,47,eb,03,00,00
"LocalService"="OpcEnum"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]"DefaultLaunchPermission"=hex:01,00,04,80,dc,00,00,00,ec,00,00,00,00,00,00,00,\
12.5. OPC Troubleshooting forSCADA
14,00,00,00,02,00,c8,00,08,00,00,00,00,00,18,00,1f,00,00,00,01,02,00,00,00,\00,00,05,20,00,00,00,20,02,00,00,00,00,24,00,1f,00,00,00,01,05,00,00,00,00,\00,05,15,00,00,00,6b,d6,62,04,07,e9,94,2d,15,25,af,47,f5,01,00,00,00,00,18,\00,1f,00,00,00,01,02,00,00,00,00,00,05,20,00,00,00,22,02,00,00,00,00,14,00,\1f,00,00,00,01,01,00,00,00,00,00,05,07,00,00,00,00,00,14,00,1f,00,00,00,01,\01,00,00,00,00,00,01,00,00,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,\00,05,04,00,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,05,02,00,00,\00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00,73,00,79,00,\73,00,74,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,02,00,00,00,\00,00,05,20,00,00,00,20,02,00,00
"MachineLaunchRestriction"=hex:01,00,04,80,dc,00,00,00,ec,00,00,00,00,00,00,00,\14,00,00,00,02,00,c8,00,08,00,00,00,00,00,18,00,1f,00,00,00,01,02,00,00,00,\00,00,05,20,00,00,00,20,02,00,00,00,00,24,00,1f,00,00,00,01,05,00,00,00,00,\00,05,15,00,00,00,6b,d6,62,04,07,e9,94,2d,15,25,af,47,f5,01,00,00,00,00,18,\00,1f,00,00,00,01,02,00,00,00,00,00,05,20,00,00,00,22,02,00,00,00,00,14,00,\1f,00,00,00,01,01,00,00,00,00,00,05,07,00,00,00,00,00,14,00,1f,00,00,00,01,\01,00,00,00,00,00,01,00,00,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,\00,05,04,00,00,00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,05,02,00,00,\00,00,00,14,00,1f,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00,73,00,79,00,\73,00,74,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,02,00,00,00,\00,00,05,20,00,00,00,20,02,00,00
"MachineAccessRestriction"=hex:01,00,04,80,c4,00,00,00,d4,00,00,00,00,00,00,00,\14,00,00,00,02,00,b0,00,07,00,00,00,00,00,24,00,07,00,00,00,01,05,00,00,00,\00,00,05,15,00,00,00,6b,d6,62,04,07,e9,94,2d,15,25,af,47,f5,01,00,00,00,00,\18,00,07,00,00,00,01,02,00,00,00,00,00,05,20,00,00,00,22,02,00,00,00,00,14,\00,07,00,00,00,01,01,00,00,00,00,00,05,07,00,00,00,00,00,14,00,07,00,00,00,\01,01,00,00,00,00,00,01,00,00,00,00,00,00,14,00,07,00,00,00,01,01,00,00,00,\00,00,05,04,00,00,00,00,00,14,00,07,00,00,00,01,01,00,00,00,00,00,05,02,00,\00,00,00,00,14,00,07,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00,3b,00,2e,\00,56,00,42,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,02,00,00,\00,00,00,05,20,00,00,00,20,02,00,00
"EnableDCOM"="Y""LegacyAuthenticationLevel"=dword:00000002"DefaultAccessPermission"=hex:01,00,04,80,d8,00,00,00,e8,00,00,00,00,00,00,00,\14,00,00,00,02,00,c4,00,08,00,00,00,00,00,24,00,07,00,00,00,01,05,00,00,00,\00,00,05,15,00,00,00,6b,d6,62,04,07,e9,94,2d,15,25,af,47,f5,01,00,00,00,00,\18,00,07,00,00,00,01,02,00,00,00,00,00,05,20,00,00,00,22,02,00,00,00,00,14,\00,07,00,00,00,01,01,00,00,00,00,00,05,0a,00,00,00,00,00,14,00,07,00,00,00,\01,01,00,00,00,00,00,05,07,00,00,00,00,00,14,00,07,00,00,00,01,01,00,00,00,\00,00,01,00,00,00,00,00,00,14,00,07,00,00,00,01,01,00,00,00,00,00,05,04,00,\00,00,00,00,14,00,07,00,00,00,01,01,00,00,00,00,00,05,02,00,00,00,00,00,14,\00,07,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00,53,00,5c,00,73,00,79,00,\01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,01,02,00,00,00,00,00,05,20,\00,00,00,20,02,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\AppCompat]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\AppCompat\ActivationSecurityCheckExemptionList]"{A50398B8-9075-4FBF-A7A1-456BF21937AD}"="1""{AD65A69D-3831-40D7-9629-9B0B50A93843}"="1""{0040D221-54A1-11D1-9DE0-006097042D69}"="1""{2A6D72F1-6E7E-4702-B99C-E40D3DED33C3}"="1"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\NONREDIST]"System.EnterpriseServices.Thunk.dll"=""
12.5. OPC Troubleshooting forSCADA
13.3. SQL driver for database integration
13.3.1. Port & Device
"Provider=MSDASQL.1;Persist Security Info=False;ExtendedProperties="Driver={MySQL ODBC 5.1Driver};Server=localhost;Database=igxlog;User=root;Option=3";InitialCatalog=igxlog"
13.3.1. Port & Device
13.3.2. Tag
database_table_name/function_name:data_column_name[sql_where_condition]@time_stamp_column_name
database_table_namedata_column_name function_name:
min: max: avg: count: count:
sql_where_conditionorder by
time_stamp_column_name
log1/read_fr_column[tag_name='tag' order by time_stampdesc];log2/write_to_column[data is not NULL]
13.3.2. Tag
15.2. Network Redundancy Configuration[n]
DeviceA[1]DeviceA[2]
15.2. Network RedundancyConfiguration
Chapter 16. Project Management
Ecava C:\Program Files MyDocuments\My Projects
16.1. Backing up project
7z zip7z_ zip_
*.exe *.js
project.zip project.zip_
*.mdb
16.2. Migrating/upgrading project
index.html alarm.htm user.htmplot.htm
setTag() settag() getTag() gettag()
16.3. Group development
16.4. Updating Template
template.ziptemplate.zip
16.5. Suggested Supporting Tools
16.2. Migrating/upgradingproject
16.6. Working with Database
16.6. Working with Database
Provider=MSDASQL.1;Extended Properties="DRIVER=SQL Native Client;SERVER=<COMPUTER_NAME>SQLEXPRESS;DATABASE=my_job;trusted_connection=yes";
Driver={PostgreSQL};Server=IPaddress;Port=5432;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
16.6. Working with Database
C:\Program Files\PostgreSQL\9.2\data\pg_hba.conf 192.168.1.100
host all all 192.168.1.100/32 md5
16.7. Working with Inkscape
16.7. Working with Inkscape
16.7.1. Multiple Layer
16.7.2. Resize and Background
16.7.1. Multiple Layer
16.8. Working with Kompozer
16.8. Working with Kompozer
17.1.1. Miscellaneous
17.1.1. Miscellaneous
http://localhost:7131/job/page.htm?YYMMDD-hhmm
17.4. Internet Gateway
17.4. Internet Gateway
17.4. Internet Gateway
Internet : URL: 10.10.1.23:7132/DEM0/Router #2: Forwarded port 7132 to 172.31.10.5 port 7132Router #1: Forwarded port 7132 to 192.168.1.102 port 7131PC: Local URL: 192.168.1.102:7131/DEM0/
17.4. Internet Gateway