340
User Guide - Ecava IntegraXor 6.0

User Guide - Ecava IntegraXor 6

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

User Guide - Ecava IntegraXor 6.0

User Guide - Ecava IntegraXor 6.0

©

Table of Contents

List of Examples

Chapter 1. Release Note

1.1. Version 6.0

Chinese

1.2. Version 5.2

1.2. Version 5.2

1.3. Version 5.1

1.3. Version 5.1

1.3. Version 5.1

1.3. Version 5.1

app.currentTime

1.3. Version 5.1

app.alarm[audit_group.audit_name].status

app.task[].status

noDownload

Alt+Right

IndexA

1.3. Version 5.1

C

D

E

F

1.3. Version 5.1

G

I

K

L

M

N

O

P

1.3. Version 5.1

R

S

T

1.3. Version 5.1

U

1.3. Version 5.1

2.2.1. Software Requirement

2.2.1. Software Requirement

2.2.2. Hardware Requirement

2.3. Installation

2.2.2. Hardware Requirement

2.3.1. Incomplete Download Error

2.3.1. Incomplete Download Er-ror

2.3.1. Incomplete Download Er-ror

2.3.1. Incomplete Download Er-ror

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

2.4. System Architecture

Chapter 3. Getting Started /Tutorial

3.1. Project Editor

3.1. Project Editor

3.1. Project Editor

3.1. Project Editor

3.1. Project Editor

3.1.1. Auto-Complete for Tag Entry

3.1.1. Auto-Complete for TagEntry

3.2. Project Template

*.igx

3.2. Project Template

3.3. Inkscape SAGE

3.3. Inkscape SAGE

3.3. Inkscape SAGE

3.3. Inkscape SAGE

3.3. Inkscape SAGE

3.3. Inkscape SAGE

3.4. Project Configuration File Format.cr8 .igx .ig2

.cr8 .igx .igx

.ig2

3.4. Project Configuration FileFormat

Chapter 4. Server User Interface

Chapter 5. Project Configuration*.igx

//

5.1. General

5.1. General

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

IndexA

C

5.1.1. Pre- and Post-Launch

D

E

F

G

I

5.1.1. Pre- and Post-Launch

K

L

M

N

O

P

R

5.1.1. Pre- and Post-Launch

S

T

5.1.1. Pre- and Post-Launch

U

5.2. Timer

cronjobs

Year Month Day Day of Week Hour Minute Second

5.2. Timer

0

Second

0,30

Second

10-12

Second

5.3. Tag

5.3. Tag

5.3.1. Application Tag

getTag('tagname')

5.3.1. Application Tag

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

5.3.2. Action Tag

act.

5.3.3. Virtual Tag

5.3.2. Action Tag

boolean

int8

int16

int32

int64

uint8

uint16

uint32

uint64

real32

real64

string

5.3.3. Virtual Tag

On Change

On Timer

On Change + On Timer

true

5.3.4. I/O Driver

5.3.4. I/O Driver

5.3.4.1. Port

COM 1

COM2

LPT 1

LPT1

IPv4 hostname IPv6

5.3.4. I/O Driver

192.168.1.10:502

MyOpcServer

5.3.4.2. Device

5.3.4. I/O Driver

-1

0

app.device[XX]

5.3.4.3. Tag

5.3.4. I/O Driver

boolean

int8

int16

int32

int64

uint8

uint16

uint32

uint64

real32

real64

string

-1

0

5.3.4. I/O Driver

On Change

On Timer

On Change + On Timer

true

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.4.1. Prepared SQL StatementsgetSql() setSql()

5.4.1. Prepared SQL State-ments

5.4.1. Prepared SQL State-ments

5.4.1.1. Format of Prepared SQL Statements

5.4.1. Prepared SQL State-ments

5.4.1. Prepared SQL State-ments

5.4.1. Prepared SQL State-ments

IndexA

5.4.1. Prepared SQL State-ments

C

D

E

F

G

5.4.1. Prepared SQL State-ments

I

K

L

M

N

O

P

5.4.1. Prepared SQL State-ments

R

S

T

5.4.1. Prepared SQL State-ments

U

5.5. User

5.5. User

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.1. Email

5.6.1. Email

5.6.2. File

\\server_name\share_path\output_folderD:\share_path\output_folder

5.6.3. Printer

5.6.2. File

5.6.4. SMS

5.7. Alarm

==

<>

5.7. Alarm

<

>

<=

>=

5.7. Alarm

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.1. Alarm Output Format - Text Output

5.7.2. Alarm Output Format

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

5.8. Script

getTag('tagname') setTag('tagname',data)

5.8. Script

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)

HelpLicense Manager...

6.1.1. License Activation Flow

6.1.1. License Activation Flow

6.1.1.1. License State

6.1.1. License Activation Flow

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. Activating Project

6.1.3. Activating Project

6.1.3.2. Offline Activation

6.1.3.3. Conventional Activation

[email protected]

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

6.2.2. Activating Subscription

IndexA

6.2.2. Activating Subscription

C

D

E

6.2.2. Activating Subscription

F

G

I

K

L

M

6.2.2. Activating Subscription

N

O

P

R

S

6.2.2. Activating Subscription

T

U

6.2.2. Activating Subscription

Chapter 7. Front End Configuration

7.1. Menu

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'}

&nbsp;

7.6. Printing

7.5. Tabulate Data

print('url', DELAY, 'nu')

7.7. Alarm Viewer

7.7. Alarm Viewer

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

7.8. Trending

var option = {lograte: 5000,backgroundColor: "white"

};

7.8. Trending

7.8. Trending

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

$tagname * 100

($tag_bool)? $tag_int: 0$tag||1.01325

7.10. Logical Expression

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

pressure_cook

avgval

7.12.1. Stored SQL Statement

pcookgta

pcook.html

7.13. Device Configuration

7.13. Device Configuration

7.13. Device Configuration

7.14. Web Server Configuration

zip, rar, 7z, png, jpg

7.14. Web Server Configuration

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

443

5.0

7.15. Theme

7.15. Theme

7.15. Theme

7.15.1. Using old user interface

7.15.1. Using old user interface

7.15.2. Menu Icon

7.15.2. Menu Icon

IndexA

7.15.2. Menu Icon

C

D

E

F

7.15.2. Menu Icon

G

I

K

L

M

N

7.15.2. Menu Icon

O

P

R

S

7.15.2. Menu Icon

T

U

7.16. Scheduler

7.16.1. Adding Scheduler Page to Front End Screen(Method A)

7.16. Scheduler

7.16.2. Adding Scheduler Page to Front End Screen(Method B)

7.16.2. Adding Scheduler Pageto Front End Screen (Method

7.16.3. Scheduler Page

7.16.3. Scheduler Page

7.16.4. Weekly schedule

7.16.4. Weekly schedule

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.8. Exception Schedule.

7.16.8. Exception Schedule.

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

7.16.13. Pointlist

Chapter 8. Kioskit

8.1. Manual Start

8.2. Auto Startup

8.3. Exiting Kioskit

8.3. Exiting Kioskit

8.4. Disabling Ease of Access Shortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

8.4. Disabling Ease of AccessShortcut Keys

Chapter 9. Inkscape SAGE

9.1. Get Animation

9.1. Get Animation

9.1.1. Inkscape Text Alignment

9.1.1. Inkscape Text Alignment

9.2. Set Animation

9.2. Set Animation

9.3. Bar Animation

9.3. Bar Animation

9.4. Color Animation

9.4. Color Animation

9.4. Color Animation

9.4. Color Animation

$1 < $tag && $tag < 10

1$tag <= 1 || 10 <= $tag

9.5. Opacity Animation

9.5. Opacity Animation

9.5. Opacity Animation

9.6. Open Animation

9.6. Open Animation

9.7. Rotate Animation

9.7. Rotate Animation

9.7. Rotate Animation

9.7. Rotate Animation

9.8. Tooltip Animation

9.8. Tooltip Animation

9.9. Slider Animation

9.9. Slider Animation

9.10. Zoom Animation

9.10. Zoom Animation

9.10. Zoom Animation

9.11. Script Animation

9.11. Script Animation

alert("Result: " + (getTag('tag1') + getTag('tag2')));

setTag( 'tag_bool', !getTag('tag_bool'));

9.11.1. Keydown Script

9.11.1. Keydown Script

9.12. Pop up Animation

9.12. Pop up Animation

9.12. Pop up Animation

popup.htm?string=helloworld

9.13. Text Animation

9.13. Text Animation

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

%

tag_%n_%s_%d

9.15. Minify SVG

9.15. Minify SVG

"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

Chapter 10. Report

10.1. Report Server

10.1. Report Server

10.1.1. Report Archive

10.1.1. Report Archive

10.2. Snapshot Report

10.2.1. Creating Layout

10.2.1. Creating Layout

<!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

10.4. Report Toolbar Menu<div id="idButtons"

class="paragraph"></div>

10.4. Report Toolbar Menu

10.4. Report Toolbar Menu

Chapter 11. Security

11.1. Security Role

11.2. User Configuration

11.2. User Configuration

* 192.168.1.*192.168.1

*

11.3. Protection

11.3. Protection

11.4. Additional Security Configuration

11.4. Additional Security Con-figuration

11.5. Active Directory (AD) / LDAP

11.5. Active Directory (AD) /LDAP

cn=user,dc=example,dc=com

localhost:389

127.0.0.1:389

11.5. Active Directory (AD) /LDAP

11.6. File Security

11.6. File Security

11.6. File Security

11.7. HTTPS

11.7. HTTPS

11.7. HTTPS

11.7. HTTPS

11.7. HTTPS

11.7. HTTPS

Chapter 12. Communication

12.1. Setting Communication Port

12.1. Setting CommunicationPort

12.1. Setting CommunicationPort

12.2. Port Monitor

12.2. Port Monitor

12.2. Port Monitor

12.3. Modbus Troubleshooting for SCADA

12.3. Modbus Troubleshootingfor SCADA

12.3. Modbus Troubleshootingfor SCADA

12.4. Interpreting Communication Message

12.4. Interpreting Communica-tion Message

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

Chapter 13. Device Driver

13.1. Modbus

13.1.1. Port & Device

13.1.1. Port & Device

13.1.1. Port & Device

13.1.2. Tag

setTag()

13.2. EtherNet Industrial Protocol

13.1.2. Tag

13.3. SQL driver for databaseintegration

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

[my_table]"my_table"

13.4. Profinet

13.4. Profinet

13.4. Profinet

13.5. SNMP

13.5. SNMP

13.5. SNMP

13.6. IEC 60870-5-101

13.6. IEC 60870-5-101

13.6.1. Port & Device

13.6.1. Port & Device

13.6.1. Port & Device

13.6.2. Tag

setTag()

13.7. IEC 60870-5-104

13.6.2. Tag

13.7.1. Port & Device

13.7.1. Port & Device

13.7.2. Tag

13.7.2. Tag

13.8. IP Scanner

13.8. IP Scanner

127.0.0.1

13.8. IP Scanner

13.9. BACnet/IP

13.9. BACnet/IP

13.9.1. Device

13.9.1. Device

13.9.2. Tag

13.9.2. Tag

13.9.2. Tag

13.10. MQTT Subscriber

13.10. MQTT Subscriber

13.10.1. Port

13.10.2. Device

13.10.1. Port

13.10.2. Device

13.10.2. Device

13.10.3. Tag

13.10.3. Tag

13.10.3. Tag

13.10.3. Tag

Chapter 14. Device Server

14.1. Modbus Server

14.1.1. Virtual Modbus Device

14.2. OPC Server

14.3. SNMP Agent

14.2. OPC Server

14.3. SNMP Agent

14.3.1. SNMP Agent Groups

14.3.1. SNMP Agent Groups

14.3.2. SNMP Agent Tag Mapping

14.3.2. SNMP Agent Tag Map-ping

14.3.3. SNMP Agent Traps

14.3.3. SNMP Agent Traps

14.4. MQTT Publisher

14.4.1. Group

14.4. MQTT Publisher

14.4.1. Group

14.4.1. Group

14.4.2. Tag

14.4.2. Tag

14.4.2. Tag

14.4.2. Tag

Chapter 15. Multiple Redundancy

15.1. Multiple Network Redundancy

15.2. Network Redundancy Configuration[n]

DeviceA[1]DeviceA[2]

15.2. Network RedundancyConfiguration

15.3. Multiple System Redundancy

15.3. Multiple System Redun-dancy

15.3. Multiple System Redun-dancy

15.4. System Redundancy Configuration

15.4. System Redundancy Con-figuration

15.5. Redundant Peer Configuration

15.5. Redundant Peer Configu-ration

15.5. Redundant Peer Configu-ration

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

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.7.2. Resize and Background

16.7.3. Complicated Shape

16.7.3. Complicated Shape

16.7.3. Complicated Shape

16.7.3. Complicated Shape

16.7.3. Complicated Shape

16.7.3. Complicated Shape

16.7.3. Complicated Shape

16.7.3. Complicated Shape

16.7.4. Gradient Effect

16.7.4. Gradient Effect

16.7.4. Gradient Effect

16.7.4. Gradient Effect

16.7.4. Gradient Effect

16.7.4. Gradient Effect

16.7.4. Gradient Effect

16.7.4. Gradient Effect

16.7.4. Gradient Effect

16.7.4. Gradient Effect

16.8. Working with Kompozer

16.8. Working with Kompozer

16.8. Working with Kompozer

16.9. Run Project as Service

16.9. Run Project as Service

16.9. Run Project as Service

16.10. Publishing SCADA to the Internet

16.10. Publishing SCADA to theInternet

16.10. Publishing SCADA to theInternet

16.11. Start Project Command Line

< > < >

< > < >

16.11. Start Project CommandLine

Chapter 17. Known Issues

17.1. Inkscape SAGE

17.1. Inkscape SAGE

17.2. Project Editor

menu.js

menu.js

17.3. Front-end

17.2. Project Editor

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

17.5. Miscellaneous

17.5. Miscellaneous