Академический Документы
Профессиональный Документы
Культура Документы
Area for big and left picture Area for right picture
Position from top left corner: Position from top right corner:
Horizontal 0,5 cm Horizontal 0 cm
Vertical 0,5 cm Vertical 0,5 cm
2
Agenda
A1. Visualization Objects
Action Menu - General
Action Menu Settings
Action Menu Actions
Touch Objects General
Touch Objects Settings
Screen ID
Exercise [A1]
A2. Alarm Client/Server
A3. Alarm Distribution
A4. Data Exchange
A5. Datalogger/Trend Dynamics
A6. Chart
A7. Audit Trail
A8. Report Generator
A9. Screen Alias
A10. Expressions
A11. Web Server
A12. OPC UA Client / Server
3
Action Menu - General
Inspired by mobile GUI
Touch scroll and gesture support
Actions are executed when clicking on an item
Three different styles (Tab, Expand and Bar)
Style:
Can be either Tab, Expand or Bar
Item Width/Height:
Size of each item in the menu
Picture Width/Height:
Size of picture (included in item)
Scrollbar Width:
Decides the width of the scrollbar. Value 0
removes the scrollbar
Scroll Sensitivity:
Sets the sensitivity of the scroll. Minimum
value is 1, maximum value is 10.
Action Menu - Actions
Edit Actions:
Configure Groups, Symbol, Text and Action for
each item in the menu
Menu Groups:
Possible to Add/Delete groups
Each group consists of:
Name: Also serves as the groups text
Picture: Select which picture that should be used
Actions:
Possible to Add/Delete items in each group
Each item consists of:
Text: The items text
Picture: Select which picture that should be used
Action: Decide what should happen when clicking
on the item
Touch Objects - General
Inspired by mobile GUI
Touch scroll and gesture support
Scrollable through gestures User can roll with touch Scrollable through gestures
The items height is configurable gestures, thereby changing tag The items height is configurable
value
Touch Objects - Settings
Settings:
Mainly size properties (e.g height of item, width
of scrollbar)
Configure Texts:
Opens dialog where texts can be defined
Scroll Sensitivity:
Sets the sensitivity of the scroll. Minimum value
is 1, maximum value is 10.
System Tags
Current Screen ID:
Displays value/ID of the current screen
Exercise [A1]
1. Open the template application
10
Agenda
A1. Visualization - Objects
11
Alarm Client / Server - General
The Alarm Server distributes alarms to all connected Alarm Clients (via Ethernet)
The alarm configuration and storage is done only on the Alarm Server
Simple and efficient method, to have the same, actual alarms synchronized on different
Panels
Changes (e.g. Acknowledge) in one Client updates all connected Clients
Alarm Server
Topology:
Alarm1
Alarm2
Alarm3
Alarm1
Alarm2 Alarm1
Alarm3 Alarm2
Alarm3
Alarm Client
Alarm Client
12
Remote Alarm Server
Alarm Server = Definition, creation and generation of alarms
Alarm Client = Synchronizes with the server and displays the server alarms.
13
Alarm Client
Alarm Server = Definition, creation and generation of alarms
Alarm Client = Synchronizes with the server and displays the server alarms.
14
Exercise 2 Remote Alarm Server
Exercise [A2]
1. Work two and two
2. Configure the Remote Alarm Server functionality on panel one
4. Run the applications and make sure that the alarm viewers are synchronized
15
Agenda
A1. Visualization - Objects
A2. Alarm Client/Server
16
Alarm Distribution
The Alarm Distributor Server makes it possible to send alarm notifications via printer, SMS or E-mail
The function can be either local (connecting to an internal server) or external (connecting to
another panel acting as alarm distributor server)
Printer
Alarm Distributor Client Alarm Distributor Server
SMS
Alarm Distributor Configuration
18
Alarm Distributor Address Book
Address Book:
Each user needs to have:
First Name (mandatory)
Last Name (optional)
E-mail (optional)
Phone number (optional)
Receiver Selection:
Select which users that should receive SMS or E-
mail. Its also possible to decide if the alarms
should be printed.
19
Alarm Distributor Schedule & Filter
Filter (Optional):
Define which alarms that should be distributed, e.g
alarms in a Group named Critical
Scheduler (Optional):
Scheduling of each alarm distribution route can be
configured in the Scheduler tab.
20
Alarm Distributor Email Settings
21
Alarm Distributor Print Settings
Print Settings
Buffer settings: Decide if alarms shall be printed directly
or when the buffer is filled
22
Alarm Distributor SMS Settings
23
Alarm Distributor Enable Distribution Server
24
Demonstration
We will...
1. Add a few alarms to the application
3. Configure the service so that it sends alarm e-mails to service@test.nu, SMTP: 192.168.98.1
4. Run the application and make sure that the alarms are distributed as e-mails
25
Agenda
A1. Visualization - Objects
A2. Alarm Client/Server
A3. Alarm Distribution
26
Controller Data Exchange - General
Allows for real-time data exchange between controllers, even of different brands
Selectable per tag
Exchange can be triggered on event or time
Controller Data Exchange - Configuration
Example
The value of D0 [Melsec] will be transferred to both
DB10.DBW0 [Siemens] and Temperature [AB
ControlLogix]
Controller Data Exchange - Trigger
Trigger:
Can either be triggered on Time or when a tag changes
its value
Performance Considerations:
Value Change will generate separate Write requests
which might affect the applications performance
Exercise [A3]
1. Add a new Modbus driver to the application
2. Configure the Modbus driver to connect to the
localhost Simulator.
Controller Settings:
Communication Mode = Ethernet
IP Address = 127.0.0.1 (localhost), Port = 502
3. Configure the application so that TankLevel1
(D0) is moved to ModbusReg0 (40000)
4. Use a data trigger as initiator (to get the best
performance), try both tag and time
5. Run the application and make sure that data is
transferred between the two Controllers
30
Agenda
A1. Visualization - Objects
A2. Alarm Client/Server
A3. Alarm Distribution
A4. Data Exchange
31
Advanced Trending - General
In the basic training we introduced the Datalogger and Trend Object
In the advanced course we will dig deeper in the trend objects dynamics
First parts will be repetition
Edit Curves:
Name of the curve
Tag that displays the actual value
Log Item for historical trend data
Expression(e.g. Gain, Offset)
Color of the curve
Thickness of the curve
Minimum Value Tag (Optional)
Maximum Value Tag (Optional)
Value Scale
Min./Max. Value of the Scale
Major/ Minor Ticks of the Scale
Trend - General
Time Scale
Time Range: Time Span which is displayed
Major Ticks for Time Scale
Visibility
Show Scale
Show Grid
Style
Different predefined Styles for the Trend Viewer
33
Trend Historical
Configure DataLogger
Add new Logitem Delete selected Logitem Settings
34
Trend Historical
35
Trend Historical
36
Trend Dynamics
Runtime
The tags (Ymax and Ymin) controls the
Trend Viewers Y-axis properties
37
Trend Dynamics
Runtime
The tag (TimeSpan) controls the
Trend Viewers X-axis property
38
Trend Dynamics
39
Trend Dynamics
40
Trend Curve Visibility
Trend Viewer Legend
Shows a predefined Dialog to:
Script Alternative
With script its possible to control the visibility of each curve
41
Exercise 4 Historical Trend
Exercise [A4]
1. Add a Trend Viewer object to TrendHistory screen
2. Add a DataLogger to the application, it shall log the
following tags (every second):
- TankLevel1
- Valve1
3. Connect the Trend Viewer to the data logger. Use an
Expression to add Offset/Gain to the boolean curve
4. Configure the Trend Viewer so that its possible to
Zoom and Pan (both X- and Y-axises)
5. Add buttons that toggles the visibility of curves (using
C#-script)
6. Run the application
42
Agenda
A1. Visualization - Objects
A2. Alarm Client/Server
A3. Alarm Distribution
A4. Data Exchange
A5. Datalogger/Trend Dynamics
A6. Chart
General
Configuration
Actions
Exercise [A5]
A7. Audit Trail
A8. Report Generator
A9. Screen Alias
A10. Expressions
A11. Web Server
A12. OPC UA Client / Server
43
Chart - General
The chart object is used to display values of connected array
tags
The Chart object has support for many different styles, see a
few examples below:
Array Tags
The Chart object presents values from Array tags
Configuration
Most of the Charts settings are found in the General
ribbon tab
Style:
As for most other objects its possible to select the
Objects style (e.g Chrome or Black)
Visibility:
Defines if Scale, Header and Legend should be
visible or not.
Chart - Configuration
Axis Settings
Visible/Grid Visible:
Defines if Axis/Grid shall be visible or not
Automatic Min/Max:
When Automatic is enabled the object checks the data
series/array and determines min/max values
automatically
Chart Settings
Chart Types:
Select which type of chart that should be used in
runtime (e.g Bar or Area)
3D View:
Enable/Disable 3D-drawing. More CPU-intensive!
Chart - Configuration
Reset View
Chart is reset to default, Zoom and Pan values are
reset
Zoom In/Out
Used to Zoom in or out in order to get a better
overview of the presented data
Exercise 5 - Chart
Exercise [A5]
49
Agenda
A1. Visualization - Objects
A2. Alarm Client/Server
A3. Alarm Distribution
A4. Data Exchange
A5. Datalogger/Trend Dynamics
A6. Chart
50
Audit Trail User Actions
Audit Trail =
Makes it possible to log/track operator actions its possible to
define which actions and tags that should be logged
Configuraton
Log All/None : Check all/no checkbox
FDA
- Log entries are not overwritten
- When 80% of the database is filled:
User warning + request to export data
Cyclic Buffering
- Logged entries will be overwritten
(FIFO oldest row will be deleted)
51
Audit Trail Tag Value Changes
52
Audit Trail Viewer
Audit Trail Viewer presents the databases content
(in runtime)
53
Audit Trail Database Backup
Database:
can be exported/copied to:
USB media
USB media
SD Card
54
Exercise 6 Audit Trail
Exercise [A6]
1. Add AuditTrail to the application
2. Enable Log to Audit Trail for the following
controller tags:
- Valve1
- Valve2
3. Add an AuditTrail Viewer object to the
AuditHistory screen. Configure and decide which
columns that shall be presented
4. Run the application
55
Agenda
A1. Visualization - Objects
A2. Alarm Client/Server
A3. Alarm Distribution
A4. Data Exchange
A5. Datalogger/Trend Dynamics
A6. Chart
A7. Audit Trail
56
Reports - General
The report generator generates excel reports based on an
Microsoft Excel made report template
The generated report can be printed or saved as an excel file
(USB, SD or FTP)
1. Print
2. Save as *.xls
57
Reports Tag values
<#Tag(TagName)>
Examples:
<#Tag(Application_PLC_PRG_Temp1)> = CoDeSys Tag
<#Tag(SystemTagDateTime)> = iX System Tag
58
Reports Database
Step 1
Create a new Sheet and name it <#Config>. This sheet will
contain all database querys. When the report is generated this
sheet will not be included
Step 2
The database querys needs to be defined on Row10 (and below)
Step 3
The data retrieved from the SQL database, using the queries in
the configuration sheet, can be presented in the report using
Named ranges in Microsoft Excel.
59
Reports Database
Step 4
Enter a name for the range. The name must be entered in
the following format: __QueryName__.
Step 5
To present the data in the report, enter the following syntax
into the cells included in the named range:
<#QueryName.DatabaseColumnName>
60
Reports Add Template to application
Add Template:
Add Select Template
61
Reports - Actions
Actions Description
- Action: Generate report
Option 1:
Print to installed (Default-) printer
Option 2:
Save template in (Excel-) file with timestamp
Locations to save:
- Project files folder Project Files\Reports
62
Exercise 7 - Reports
Exercise [A7]
1. Open the supplied Excel template
2. Modify the Basic Template sheet so that it presents the
following information
- Current Time (SystemTagDateTime)
- Tank Level 1 (TankLevel1)
- Tank Level 2 (TankLevel2)
3. Modify the Advanced Template sheet so that it presents
historical data collected by the DataLogger
4. Insert a button with a Generate Report action on the
Configuration Screen
5. Simulate the application and make sure that the generated
report is OK
63
Agenda
A1. Visualization - Objects
A2. Alarm Client/Server
A3. Alarm Distribution
A4. Data Exchange
A5. Datalogger/Trend Dynamics
A6. Chart
A7. Audit Trail
A8. Report Generator
64
Screen Alias - General
Screen Alias =
An alias should be treated as a property of a screen and can act as a stand-in for a tag. The
alias can be used to reference a tag wherever that tag can be referenced directly.
Using aliases will enable reuse of screens without having to create a new duplicated screen.
1. Definition of Aliases, that can be defined as a stand-in for a normal tag
2. Assign Alias to Objects
3. Create (Screen-) Instances and assign the Original Tags to them
65
Screen Alias Alias Definition
Add:
Inserts a new Alias
Delete:
Delete Alias
Alias Name:
Free definable stand-in name for tags
Default Value:
Optional definition of a default tag
Data Type:
Optional selection of tag data type
66
Screen Alias Connect Alias to Object
Normal/Default:
Selects a Tag
Alias Function:
In the Tag selector dialog: Select Aliases and choose an
Alias
67
Screen Alias Instances with Original Tags
Add:
Adds a new instance
Delete:
Deletes a screen instance
Instance:
Column is used to define a symbolic instance name
Other Columns:
Columns show the projected aliases (here with default values)
68
Screen Alias Show Screen Instance
Instance Call:
Use the Show Screen Action and select which Instance
that should be opened/shown
69
Exercise 8 - Alias
Exercise [A8]
1. The Valves on the Home screen shall be
controlled from a common Popup/Faceplate
2. Add a new screen to the application and
define two aliases:
(TankLevelAlias & ValveAlias)
3. Create 2 Screen instances, configure so that
the aliases are connected to tags as below:
Screen Instance 1: Valve, TankLevel1
Screen Instance 2: Valve2, TankLevel2
4. When clicking on the valves the correct
Faceplate (= ScreenInstance) should be
opened
70
Agenda
A1. Visualization - Objects
A2. Alarm Client/Server
A3. Alarm Distribution
A4. Data Exchange
A5. Datalogger/Trend Dynamics
A6. Chart
A7. Audit Trail
A8. Report Generator
A9. Screen Alias
A10. Expressions
General
Define
Reuse
Exercise [A9]
A11. Web Server
A12. OPC UA Client / Server
71
Expressions - General
Expressions are used in order to scale and modify a tags actual value. Its only the
presentation that is affected, not the tags real value
Expressions enable the developer to e.g. extract a bit from an word, add a dynamic offset
or gain, and then to use this value for a specific object
23.1
Expressions - Creating
New:
Creates a new Expression
Edit:
Edit an existing Expression
Delete:
Delete the selected Expression
Expressions - Creating
Name:
Name of the Expression
Group:
The Expression can be stored in a Group, this makes it easier to
organize the Expressions
Description:
Comment/description, what is the purpose of the Expression?
Expression Code
When the Expression has been created its time to write the
actual code
Expression Code
Code that will execute every time the tag value updates.
Follows normal C#-syntax
Value is the tags raw value
The Expression Code can contain Tag-values, Operators and
standard C#-functions (e.g Math.ABS)
When an object is connected to an Expression the will be
replaced with a +-character
Expressions Reuse
Library Expressions
Load: Opens a dialog where the user can select which
Expression(s) that should be imported
Exercise [A9]
1. Add an alarm indicator to the Home screen,
make sure that its Visible and Blinks when
the Tank Level (TankLevel2) is greater than
90 %
76
Agenda
A1. Visualization - Objects
A2. Alarm Client/Server
A3. Alarm Distribution
A4. Data Exchange
A5. Datalogger/Trend Dynamics
A6. Chart
A7. Audit Trail
A8. Report Generator
A9. Screen Alias
A10. Expressions
77
Web Server General
Web Server =
On each iX panel, a simple web server can be activated.
iX remote maintenance
Screens can be projected with every HTML editor
Compact information (overview)
JavaScript
Ethernet / Internet
iX 2.20:
Webserver supports 2 connections
78
Web Server General
Configuration Description
Port:
Free definable Port. Default: 80
Authentication settings:
- Checkbox unchecked:
Anonymous authentication
- Checkbox checked:
Username and password can be set
79
Web Server General
Configuration Description
80
Web Server HTML Configuration
Syntax Description
<head> - Initializes the SDK
<script src="/assets/iX.js" type="text/javascript"></script>
<script type="text/javascript"> iX.setup({});</script> - This code needs to be placed in the HTML-
</head> pages Head
81
Web Server Writing values
Syntax Description
Change value: <input type = "number" data-ix-setter="Tag1"/> Example:
<button data-ix-submitbutton="Tag1">Set Value</button> Write value to tag when pressing submit
button
82
Exercise 10 - Webserver
Exercise [A10]
1. Enable Webserver in the application (with authentication)
2. Modify the basic HTML-page template, this allows you to read/write values
3. Modify the Advanced HTML-page template, this contains 3:rd party graphical controls
4. Store the HTML-files in the Project Files/Website folder and run the application. Make sure
that the pages are working correctly
83
Agenda
A1. Visualization - Objects
A2. Alarm Client/Server
A3. Alarm Distribution
A4. Data Exchange
A5. Datalogger/Trend Dynamics
A6. Chart
A7. Audit Trail
A8. Report Generator
A9. Screen Alias
A10. Expressions
A11. Web Server
84
OPC UA General
OPC UA =
OPC communication type (UA = unified architecture), which has evolved from the drawbacks of
the existing OPC technology.
Features:
Setting up Panel Network (via Ethernet) for Tag value exchange
Panels can be configured as Server or Client (or both)
Direct Communication to PLCs/Controllers or to generic ERP Systems
No dependency on Microsoft COM / DCOM architecture
Ethernet / Internet
PLC Controller
85
OPC UA Server Configuration
Server Configuration
System OPC UA-Server
Port:
Free definable Port. Default: 4840
Login:
- Checkbox enabled:
Anonymous login is possible
86
OPC UA Client Configuration
Controller Settings
URL:
Syntax: opc.tcp//IP-Address
Authentication settings:
- Anonymous
- Via username and password
Namespace-Settings:
- Free definable Namespaces possible
- Namespace-Separator: Default :
- Default namespace:
Default NS2, TagProvider (iX iX)
87
OPC UA Tag Configuration
Temperature 40000
Pressure 40010
Temp_T7A Temperature
Pressure_T7A Pressure
Client Tag Address = Name of Server Tag
88
Exercise 11 OPC UA
Exercise [A11]
1. Work two and two
2. Configure one of the applications to act as OPC UA Server, the other as OPC UA Client
3. Share at least one tag via the OPC UA-network, make sure that its possible to both
read/write values and that both Server/Client updates as expected
89
iX Advanced Training
90