T314 Manual Pages.pdf
March 14, 2017 | Author: naveenpamidimarri | Category: N/A
Short Description
ABB DCS...
Description
ABB University
System 800xA Basic Configuration Course T314 Release 04-2006 (month-year) 3BDS013442 / Rev B
Course T314
Course T314
Course T314
Course T314 System 800xA Basic Configuration
System 800xA Basic Configuration
System 800xA Basic Configuration
System 800xA Basic Configuration
System 800xA Basic Configuration
3BDS013442 / Rev B
3BDS013442 / Rev B
3BDS013442 / Rev B
3BDS013442 / Rev B
3BDS013442 / Rev B
Release 04-2006
Release 04-2006
Release 04-2006
Release 04-2006
Release 04-2006
Course T314
Contents Course T314
System 800xA Basic Configuration
Release: 04-2006 (month-year) 3BDS013442 / Rev B
Valid for: SV4.1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Course Overview System 800xA Architecture Operation Engineering Workplace OPC Connectivity Application Structures AC 800M Hardware Libraries Variables and Data Types Function Block Diagram Structured Text Task Assignment Control Modules Sequential Function Charts Communication Alarm and Events Graphic Displays Historian and Trends Operator Workplace Import and Export Function Designer
Disclaimer ABB University System 800xA training
Use of DANGER, WARNING, CAUTION, and NOTE This publication includes, DANGER, WARNING, CAUTION, and NOTE information where appropriate to point out safety related or other important information. DANGER
Hazards which could result in severe personal injury or death
WARNING
Hazards which could result in personal injury
CAUTION
Hazards which could result in equipment or property damage
NOTE
Alerts user to pertinent facts and conditions
Although DANGER and WARNING hazards are related to personal injury, and CAUTION hazards are associated with equipment or property damage, it should be understood that operation of damaged equipment could, under certain operational conditions, result in degraded process performance leading to personal injury or death. Therefore, comply fully with all DANGER, WARNING, and CAUTION notices. TRADEMARKS Registrations and trademarks used in these documents include: Windows Windows 2000, Windows XP Active X, Visual Basic PostScript, Acrobat Reader Ghost FOUNDATION HART OPC Maximo Industrial IT All xxxxxxIT product names Aspect Object
Registered trademark of Microsoft Corporation Registered trademark of Microsoft Corporation Registered trademark of Microsoft Corporation Registered trademark of Adobe Systems Inc. Registered trademark of Symantec Corporation Registered trademark of Fieldbus Foundation Registered trademark of HART Communication Foundation Registered trademark of OPC Foundation Registered trademark of MRO Software Inc. Registered trademark of ABB Registered trademark of ABB Registered trademark of ABB
NOTICE These documents have been assembled and produced for educational purposes. The contents of your course binder will not be updated to include future amendments. We appreciate, however, your comments on these documents. These will help us make improvements for future courses, based on practical experience. The information in this document is subject to change without notice and should not be construed as a commitment by ABB. ABB assumes no responsibility for any errors that may appear in this document. In no event shall ABB be liable for direct, indirect, special, incidental or consequential damages of any nature or kind arising from the use of this document, nor shall ABB be liable for incidental or consequential damages arising from use of any software or hardware described in this document. This document and parts thereof must not be reproduced or copied without ABB’s written permission, and the contents thereof must not be imparted to a third party nor be used for any unauthorized purpose. In order to minimize the risk of injury to personnel and/or damage to the training equipment, always comply with the safety instructions provided in the manuals when working with this equipment.
Copyright © 2004 ABB All rights reserved.
T314 System 800xA Basic Configuration Course Description
Course Duration The duration is 5 days. Course Type This is an instructor led course with interactive classroom discussions and associated lab exercises. Approximately 50% of the course is hands-on lab activities. Course Goal The goal of this course is to learn the basic configuration of the Extended Automation System 800xA. Student Profile This training is targeted to System 800xA users who need to learn the fundamentals in order to form a foundation for maintenance and administration skills. If more comprehensive engineering skills are needed, it is recommended to consider T315 instead.
• Navigate in the system and create new objects / aspects • Describe the structure of application programs i.e. variables, libraries, programs, tasks • Troubleshoot the OPC connectivity to AC800M • Configure the AC 800M hardware and corresponding I/O’s • Load the controller and work in online mode • Modify graphic displays • Manage and configure alarm and events • Monitor trends and configure historical data collection • Describe the use of Function Designer • Import / export System 800xA data Main Topics • System 800xA architecture • Engineering Workplace • Application structures
Prerequisites and Recommendations Students shall know the fundamentals of working with Control Systems and have basic knowledge of Windows 2000.
• AC 800M Hardware
Course Objectives Upon completion of this course, students will be able to:
• Sequential Function Chart (SFC)
• Explain the System 800xA architecture and the function of the different components
• Graphic Displays
• Modify existing application programs by using Function Block Diagrams, Sequential Function Charts, Structured Text and Control Modules
• OPC connectivity • Applications with FBD and ST • Control Modules • Alarm and Events • Historian and Trends • Operator Workplace • Function Designer • Import / export
T314
System 800xA Basic Configuration
Course Outline Day 1 • Course overview • System 800xA architecture • Operation • Engineering Workplace • OPC connectivtiy • Application structures
Day 2
Day 3
• AC 800M hardware
• Task assignment and Memory
• Library handling
• Control Modules
• Applications with Function Block Diagram
• Sequential Function Charts (SFC)
• Monitoring applications
• Communication between applications
Day 4
Day 5
• Alarm and Events
• Import and Export
• Graphic displays
• Function Designer
• Historian and Trends • Operator Workplace
System 800xA training
Reference Documentation Document
Item number
Industrial IT 800xA - System
3BDS 011222
Configuration Industrial IT 800xA - System
3BSE 034463
Automation System Network – Design and Configuration Industrial IT 800xA - System
3BSE 036903
Basic Operation Industrial IT 800xA - System
3BSE 036904
Extended Operation Industrial IT 800xA – System
3BSE 030322
Operator Workplace - Configuration Industrial IT 800xA - Control and I/O
3BSE 035983
OPC Server for AC 800M - Installation and Configuration Industrial IT 800xA - Control and I/O
3BSE 021358
IEC 61131 Control Languages - Introduction Industrial IT 800xA - Control and I/O
3BSE 035980
Basic Control Software - Introduction and Configuration Industrial IT 800xA - Control and I/O
3BSE 035981
Extended Control Software - Binary and Analog Handling Industrial IT 800xA - Control and I/O
3BSE 035982
Communication - Protocols and Design Industrial IT 800xA - Control and I/O
3BSE 035979
Addendum - Product Data and Design Industrial IT 800xA - Control and I/O
3BSE 036351
AC 800M Controller Hardware - Hardware and Operation Industrial IT 800xA - Control and I/O
3BSE 020923
S800 I/O - General Information and Installation Industrial IT 800xA - Control and I/O
3BSE 020924
S800 I/O - Modules and Termination Units Industrial IT 800xA - Control and I/O
3BSE 020926
S800 I/O - Fieldbus Communication Interface PROFIBUS-DP/DPV1
1/4
T314-01 References - RevB
Terminology Term / Acronym
Description
ActiveX
Microsoft standard for user interface components, based on definition of software interfaces.
Afw Service
A software component that provides a certain set of functions in the system, typically for use by various client applications. An Afw Service is designed to run around the clock. It can normally be portioned into several service groups, each group handling part of the scope of the service (e.g. part of the object space). For redundancy each group can contain several service providers running on different servers.
Alarm
An alarm is an abnormal state of a condition associated with an Aspect Object. For example, the object FC101 may have the following conditions associated with it: HighAlarm, HighHighAlarm, Normal, LowAlarm, and LowLowAlarm. An alarm is active as long as the abnormal state of the corresponding condition persists. An alarm is unacknowledged until a user has acknowledged it.
Application Server
Server that runs system applications, such as the Information Management History Services, Production Management (Batch Management and Production Management), Asset Optimization, Process Optimization, Simulation, and also third party and user provided applications
Aspect
A representation of a facet of a real world entity, which entity is represented as an Aspect Object. An aspect defines a piece of information, and a set of functions to create, access, and manipulate the information.
Aspect Framework (Afw)
Platform functionality that supports integration of aspect systems and connectivity components, including concepts, APIs, and tools.
Aspect Integrator Platform (AIP)
A collection of software that forms the basis for an IIT system, and provides the development and execution environment for IIT compliant applications. The Aspect Integrator Platform includes the Aspect Framework.
Aspect Object
Aspect Objects are representations of real world entities that a user interacts with, such as valves, reactors, products, material, production orders, batch procedures, customer accounts, etc. Different facets of these real world entities are modeled as aspects. An Aspect Object is not an object in a strict sense, e.g. like a COM object, but rather a container of references to implementations of its aspects.
Aspect Server
A server that runs the central functions of the Aspect Object architecture, such as Aspect Directory, Structure and Name Server, Cross Referencing, File Set Distribution, etc.
Client
Client is a part of a software that subscribes data from a server.
Client/Server network
A client/server network is used for communication between servers, and between workplaces and servers.
Connectivity Server
A server that provides access to controllers and other sources for real-time data, historical data, and alarm and event data. A Connectivity Server runs services related to OPC/DA, APC/AE, OPC/HDA, and SysMsg
Control network
A control network is a local area network (LAN) that is optimized for high performance and reliable communication with predictable response times in real time. Control network devices and Connectivity servers are connected to the control network.
DNS
Domain Name System
Double authentication
The process of identifying two individuals, usually based on usernames and passwords. Double authentication is typically used to ensure that certain critical operations are performed by an authorized individual and approved by an additional individual, where the additional individual has the authority to approve such operations.
2/4
System 800xA training
Event
An event is a detectable occurrence, which is of significance to an Aspect Object. An event may or may not be associated with a condition. For example, the transitions into HighAlarm and Normal conditions are events, which are associated with conditions. However, operator actions, system configuration changes, and system errors are examples of events, which are not related to specific conditions.
Faceplate
A faceplate is an aspect that provides a graphical representation of a certain Aspect Object, with presentation of certain properties related to the object, and mechanisms for operator interaction such as on/off, increase/decrease, etc.
Fieldbus
A fieldbus is used to interconnect field devices, such as I/O modules, smart sensors and actuators, variable speed drives, PLCs, or small single loop devices, and to connect these devices to the IIT system.
Graphic display
A graphic display is an aspect that provides a visual presentation. It consists of static graphics representing for example tanks, pipes, etc., and graphic elements that present dynamic information. Graphic displays are often used to present the state of a process or a part of a process, but are useful in any context where dynamic graphical information needs to be presented.
Graphic element
A graphic element is an aspect that is associated with an Aspect Object type, to be used in graphic displays to present dynamic information for instances of that type. An object type may have several different graphic element aspects to allow the user to select among different visual presentations.
HSI
Human System Interface
Industrial IT
ABB's vision for enterprise automation.
IP address
A 32-bit address assigned to each host/node connected on the network.
LANs
Local Area Network
Log over
Temporarily changing user, without first logging out the current user and without breaking the current context. This function is useful in cases were a certain operation requires higher authority than that held by the current user, in which case e.g. a supervisor may temporarily assume the responsibility, allowing his or her authority to be temporarily applied.
MMS
Manufacturing Message Specification. ISO standard for communication between controllers.
Node
A computer communicating on a network e.g. the Internet, Plant, Control or I/O network. Each node typically has a unique node address.
OPC
OLE (Object Linking and Embedding) for Process Control, a standard interface for data, event and history access based on COM.
OPC item
OPC items represent connections to data sources, i.e. object properties. An OPC item is identified by a string :. Associated with each OPC item are Value, Quality and Time Stamp. Note that OPC items are not identical with the data sources – they represent connections to them.
Plant Explorer
A configuration of the Internet Explorer for creating the Aspect Object that you use to put together the plant. You can also use it to browse and search the structures of the plant.
Property (Object property)
Aspect Objects can have properties. A property is a named data item that is related to an Aspect Object. Properties are typically owned and managed by aspect systems
Service
A software component that provides a certain set of functions in the system, typically for use by various client applications.
Service provider
A process that runs a service. Service providers may be redundant and all service providers within the same service group implements the same function.
3/4
T314-01 References - RevB
Structure
A hierarchical tree organization of Aspect Objects that describes the dependencies between the real objects. An Aspect object can exist in multiple structures, for example both in a functional structure and in a location structure.
Tag
The perception of a Tag is basically that it is an object you can put a label on, e.g. motor, transmitter or valve. In the 800xA system an object that has a Faceplate is considered a Tag. This means that a Tag is any Aspect Object in the Control Structure which has a Faceplate Aspect attached.
Thin client
A thin client is a web browser connected to the Internet (or Intranet). It does not require any ABB-related pre loaded software. It supports ActiveX controls, but it communicates with the Industrial IT only through Internet technologies. Internet Explorer is used as browser.
Workplace
User interactive functions that are combined for a particular use case, e.g., Operator Workplace, Engineering Workplace, etc. A node that runs one or several workplace applications.
4/4
System 800xA training
Chapter 1 Addendum - Training Equipment
TABLE OF CONTENTS Chapter 1 Addendum - Training Equipment ................................................................................................................................. 1 1.1 General Information............................................................................................................................................................. 2 1.2 Network ............................................................................................................................................................................... 2 1.3 AC800M Controller............................................................................................................................................................. 3 1.4 Variable Names ................................................................................................................................................................... 4 1.5 IO Panel ............................................................................................................................................................................... 4 1.5.1 Analog Inputs................................................................................................................................................................ 5 1.5.2 Analog Outputs............................................................................................................................................................. 5 1.5.3 Digital Inputs ................................................................................................................................................................ 6 1.5.4 Digital Outputs.............................................................................................................................................................. 6 1.6 Process Simulation Model (OSLO) ..................................................................................................................................... 7 1.6.1 Analog Inputs................................................................................................................................................................ 8 1.6.2 Analog Outputs............................................................................................................................................................. 8 1.6.3 Digital Inputs ................................................................................................................................................................ 9 1.6.4 Digital outputs .............................................................................................................................................................. 9
1/9
T314-01 Training Equipment - RevB
1.1 General Information This section provides you with the necessary information about the training equipment in the classroom.
1.2 Network A typical classroom has different PC’s and AC800M controllers. •
The AC800M controllers are connected together via the Control Network
•
The PC’s are connected together via the Client/Server Network
Student PCs Teacher PC
Control Network
2/9
System 800xA training
1.3 AC800M Controller Remote I/O’s
Local I/O’s
Each controller is connected to an IO panel with switches, potentiometers and indicators via I/O-modules (local I/O’s). Optionally each controller can be connected to a process simulation model via additional I/O-modules (mainly Profibus I/O’s).
NOTE!
The following I/O-modules are not used for the exercises: - AO801_2 - DO801_3
3/9
T314-01 Training Equipment - RevB
1.4 Variable Names The variable names to be declared later in the application will have the following syntax: gSignalname •
g = indicates global variable
•
Signalname = taken from the following tables
There is no need to have a distinction between different students. Each student works in his own application and there is no interference.
1.5 IO Panel The IO panel is used for simple exercises to demonstrate the complete way from and IO to the system. It provides the ability to read analog/digital signals and write analog/digital signals.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DO ON
DI
OFF
AO1
AO2
AO3
AO4
1 AI
4/9
2
3
4
5
6
7
8
System 800xA training
1.5.1 Analog Inputs I/O module Channel
Signal name
Description
Remarks
AI810_1.1
POT1
Potentiometer 1
0-100% = 0-10 V
AI810_1.2
POT2
Potentiometer 2
0-100% = 0-10 V
AI810_1.3
POT3
Potentiometer 3
0-100% = 0-10 V
AI810_1.4
POT4
Potentiometer 4
0-100% = 0-10 V
AI810_1.5
POT5
Potentiometer 5
0-100% = 0-10 V
AI810_1.6
POT6
Potentiometer 6
0-100% = 0-10 V
AI810_1.7
POT7
Potentiometer 7
0-100% = 0-10 V
AI810_1.8
POT8
Potentiometer 8
0-100% = 0-10 V
1.5.2 Analog Outputs I/O module Channel
Signal name
Description
Remarks
AO810_1.1
IND1
Indication 1
0-100% = 0-20 mA
AO810_1.2
IND2
Indication 2
0-100% = 0-20 mA
AO810_1.3
IND3
Indication 3
0-100% = 0-20 mA
AO810_1.4
IND4
Indication 4
0-100% = 0-20 mA
5/9
T314-01 Training Equipment - RevB
1.5.3 Digital Inputs I/O module Channel
Signal name
Description
Remarks
DI810_1.1
SW1
Switch 1
Switch up = ON
DI810_1.2
SW2
Switch 2
Switch up = ON
DI810_1.3
SW3
Switch 3
Switch up = ON
DI810_1.4
SW4
Switch 4
Switch up = ON
DI810_1.5
SW5
Switch 5
Switch up = ON
DI810_1.6
SW6
Switch 6
Switch up = ON
DI810_1.7
SW7
Switch 7
Switch up = ON
DI810_1.8
SW8
Switch 8
Switch up = ON
DI810_1.9
SW9
Switch 9
Switch up = ON
DI810_1.10
SW10
Switch 10
Switch up = ON
DI810_1.11
SW11
Switch 11
Switch up = ON
DI810_1.12
SW12
Switch 12
Switch up = ON
DI810_1.13
SW13
Switch 13
Switch up = ON
DI810_1.14
SW14
Switch 14
Switch up = ON
DI810_1.15
Spare
DI810_1.16
Spare
1.5.4 Digital Outputs I/O module Channel
6/9
Signal name
Description
DO810_1.1
LAMP1
Lamp 1
DO810_1.2
LAMP2
Lamp 2
DO810_1.3
LAMP3
Lamp 3
DO810_1.4
LAMP4
Lamp 4
DO810_1.5
LAMP5
Lamp 5
DO810_1.6
LAMP6
Lamp 6
DO810_1.7
LAMP7
Lamp 7
DO810_1.8
LAMP8
Lamp 8
DO810_1.9
LAMP9
Lamp 9
DO810_1.10
LAMP10
Lamp 10
DO810_1.11
LAMP11
Lamp 11
DO810_1.12
LAMP12
Lamp 12
DO810_1.13
LAMP13
Lamp 13
DO810_1.14
LAMP14
Lamp 14
DO810_1.15
Spare
DO810_1.16
Spare
Remarks
System 800xA training
1.6 Process Simulation Model (OSLO) A process simulation model is available to be as close to the “real” world as possible. It can be either a hardware model connected to I/O boards or a software simulation running in the controller.
Hardware model
Software Simulation
7/9
T314-01 Training Equipment - RevB
1.6.1 Analog Inputs I/O module Channel
Signal name
Description
Remarks
AI810_2.1
Inflow
FT1 - Tank inflow
0-100% = 0-10 V
AI810_2.2
Outflow
FT2 - Tank outflow
0-100% = 0-10 V
AI810_2.3
Level
LT1 - Tank level
0-100% = 0-10 V
AI810_2.4
Temp
TT1 - Tank temperature
0-150°C = 0-10 V
AI810_2.5
Mixer_Current
IT1 - Mixer motor current
0-50A = 0-10 V
AI810_2.6
Spare
AI810_2.7
Spare
AI810_2.8
Spare
1.6.2 Analog Outputs I/O module Channel
8/9
Signal name
Description
Remarks
AO810_1.5
V3_Ref
V3 - Control valve for inflow
0-100% = 0-20 mA
AO810_1.6
V4_Ref
V4 - Control valve for outflow
0-100% = 0-20 mA
AO810_1.7
Mixer_Ref
SC1 - Mixer speed reference
0-100% = 0-20 mA
AO810_1.8
Horn_Ref
Variable volume alarm
0-100% = 0-20 mA
System 800xA training
1.6.3 Digital Inputs I/O module Channel
Signal name
Description
Remarks
DI801_2. 1
Level_Max
LSH1 -Tank level high
1=MAX
DI801_2.2
Level_Min
LSL1 - Tank level low
1=MIN
DI801_2.3
V1_Closed
V1 - Feedback for on/off valve
1=CLOSED
DI801_2.4
V2_Closed
V2 - Feedback for on/off valve
1=CLOSED
DI801_2.5
Heater_On
Feedback main contactor heater
1=ON
DI801_2.6
Cooler_On
P1 - Feedback main contactor
1=ON
DI801_2.7
Mixer_On
M1 - Feedback main contactor
1=ON
DI801_2.8
Mixer_Puls
ST1 - Mixer speed
1 pulse / revolution
DI801_2.9
V6_Open
V6 - Feedback for on/off valve
1=OPEN
DI801_2.10
V5_Open
V5 - Feedback for on/off valve
1=OPEN
DI801_2.11
V6_Closed
V6 - Feedback for on/off valve
1=CLOSED
DI801_2.12
V5_Closed
V5 - Feedback for on/off valve
1=CLOSED
DI801_2.13
V1_Open
V1 - Feedback for on/off valve
1=OPEN
DI801_2.14
V2_Open
V2- Feedback for on/off valve
1=OPEN
DI801_2.15
Overflow
LSH2 - Tank overflow
1 = OVERFLOW
1.6.4 Digital outputs I/O module Channel
Signal name
Description
Remarks
DO801_2.1
V5_Ord
V5 - Command for on/off valve
1=OPEN
DO801_2.2
V6_Ord
V6 - Command for on/off valve
1=OPEN
DO801_2.3
V1_Ord
V1 - Command for on/off valve
1=OPEN
DO801_2.4
V2_Ord
V2 - Command for on/off valve
1=OPEN
DO801_2.5
Heater_Ord
Command for heater
1=ON
DO801_2.6
Cooler_Ord
P1 - Command for cooler
1=ON 1=ON
DO801_2.7*
Mixer_Ord
M1 - Command for mixer motor
DO801_2.8
Counter_Ord
Pulse to counter display
DO801_2.9
Alarm_Ord
Alarm indication LED’s
1=ON
DO801_2.10
Counter_Dir
Counting direction
0=UP; 1=DOWN
DO801_2.11
Counter_Res
Counter reset
1=RESET
9/9
System 800xA training
Chapter 2 System 800xA Architecture
TABLE OF CONTENTS Chapter 2 System 800xA Architecture .......................................................................................................................................... 1 2.1 General Information............................................................................................................................................................. 2 2.1.1 Objectives ..................................................................................................................................................................... 2 2.1.2 Legend .......................................................................................................................................................................... 2 2.2 System Overview................................................................................................................................................................. 3 2.2.1 800xA Base Platform.................................................................................................................................................... 4 2.2.2 Use of Standards ........................................................................................................................................................... 5 2.3 Aspect Object Concept ........................................................................................................................................................ 7 2.3.1 Aspects and Objects...................................................................................................................................................... 7 2.3.2 Intuitive Navigation ...................................................................................................................................................... 8 2.3.3 Aspect Integrator Platform............................................................................................................................................ 9 2.3.4 Aspect Framework...................................................................................................................................................... 10 2.4 System Topology ............................................................................................................................................................... 11 2.4.1 Domain Server ............................................................................................................................................................ 12 2.4.2 Aspect Server.............................................................................................................................................................. 12 2.4.3 Connectivity Server .................................................................................................................................................... 12 2.4.4 Application Server ...................................................................................................................................................... 12 2.5 Network Structure.............................................................................................................................................................. 13 2.5.1 Plant Network ............................................................................................................................................................. 14 2.5.2 Client/Server Network ................................................................................................................................................ 14 2.5.3 Control Network ......................................................................................................................................................... 14 2.5.4 Single Node System.................................................................................................................................................... 15 2.5.5 Redundancy ................................................................................................................................................................ 16 2.5.6 Remote (Thin) Client .................................................................................................................................................. 17 2.6 Client / Server Principle..................................................................................................................................................... 19 2.6.1 Example: Graphic Display.......................................................................................................................................... 20 2.7 Configuration Wizard ........................................................................................................................................................ 21 2.7.1 How to Connect/Disconnect Clients ........................................................................................................................... 21
1 / 22
T314-02 System Architecture - RevB
2.1 General Information 2.1.1 Objectives On completion of this chapter you will be able to: •
Tell how 800xA fits into the IIT strategy
•
Describe the network structure in an 800xA architecture
•
Describe the functionality of the major components
•
Explain the concept of Aspects and Objects
•
Explain the Client/Server principles
2.1.2 Legend
2 / 22
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
2.2 System Overview The Industrial IT System 800xA is a comprehensive process automation system. It covers operation and configuration of continuous and batch control applications. The System 800xA products have been developed incorporating Information Technology with the experience and know-how collected over decades of successful deliveries and customer installations.
Process and Logic Control Asset Optimization Motor Control Centers
System 800xA
S88 Production Management
Information Management
Instrumentation & Drives
Safety
Advanced Control And Industry Solutions
System 800xA provides a secure, reliable, control environment with minimum time and effort through built in security features such as access control, user authentication, and audit trail capability. Working within a common engineering environment, 800xA Engineering supports a consistent information flow from design, through installation and commissioning, to operation and maintenance.
3 / 22
T314-02 System Architecture - RevB
Within System 800xA there are a number of Core Functional Areas. These are: •
Operations
•
Engineering
•
Control and I/O
•
Production Management - Batch Management - Manufacturing Management
•
Information Management
•
Safety systems
•
Asset Optimization
•
Device Management
2.2.1 800xA Base Platform The foundation of the System 800xA products and system solutions is the concept of Aspect ObjectsTM, which enables enterprise wide information availability, browsing, and navigation in a unified way. From a software architecture perspective, the foundation of the 800xA system is the 800xA Base Platform.
Batch Information Asset Field Device Management Management Optimization Integration
Other Aspect Systems
Common Operations, Engineering, & Information Management
AC800M
Advant
Harmony
Melody
Other OPC
Controllers are connected to the system through connectivity components, which are bundled together and offered as options to the 800xA System. Connectivity packages provide access to real time data, historical data, and alarm and event data from different types of controllers.
4 / 22
System 800xA training
The 800xA system provides connectivity to 800xA controllers as well as controllers from earlier system offerings: •
AC 800M
•
Advant Master AC 400 & AC 100
•
Symphony Harmony Infi-90
•
Symphony Melody / AC870P
•
Freelance / AC 800F
•
DCI System Six
•
MOD 300
•
Safeguard
•
PLC Connect (connection to any OPC Server)
2.2.2 Use of Standards System 800xA uses standard hardware, operating system software and protocols. This allows data to be obtained not only from ABB systems but from a variety of sources such as other brands of control systems or from lab entries. It also allows making this data available to ABB and other manufacturers’ systems such as historians and maintenance management programs.
Windows 2000 / XP Internet Explorer Visual Basic ActiveX Controls OPC - OLE for Process Control Microsoft Component Object Model (COM) Profibus Fieldbus Foundation
5 / 22
T314-02 System Architecture - RevB
6 / 22
System 800xA training
2.3 Aspect Object Concept A central problem in plant operations, as well as asset life cycle management, is the need to organize, manage, and have access to information for all different aspects of a great number of plant and process entities. The Aspect Objects architecture is a cornerstone of the Industrial IT concept. It provides: •
A consistent, scalable concept that integrates Process Control & Automation, Substation Automation and Safety products.
•
Information-centric navigation – a consistent way to instantly access all information without having to know how and by which application the information is handled.
2.3.1 Aspects and Objects These entities, or real world objects, are of many different kinds. They can be physical process objects, like a valve, or more complex, like a reactor. Other examples are: products, material, batch procedures, manufacturing orders, and customer accounts. •
They are called Aspect Objects
Each of these real world objects can be described from several perspectives. Each perspective defines a piece of information and a set of functions to create, access, and manipulate this information. Examples are: graphic, alarm, trend, report, order definition, mechanical layout etc. •
We call this an Aspect of the object.
It is necessary to be able to implement these aspects using many different applications, both existing and new, from ABB, third parties and customers. It is desirable to be able to do this without changes to the applications. It is not reasonable to require that all these different applications be aware of each other. Still, the applications must cooperate to provide an integrated view and functionality of the object. Examples are: Graphics Builder for graphics, Auto CAD for mechanical layout, SAP for order handling etc. •
These applications are called Aspect Systems, which implements one or several Aspect types.
7 / 22
T314-02 System Architecture - RevB
2.3.2 Intuitive Navigation Quick access to displays and information is provided with web browser tools. Favorites, history lists, shortcuts, and hot keys provide navigation through a process production facility quickly and accurately. Use of the right mouse button provides access to additional details via a context menu
Objects Alarm
Aspects Machine Drawing
EngineeringSpecification Live-Video
ABB extends the automation reach by integrating information from a wide range of ABB applications, other automation systems, and business systems into System 800xA on common displays. This single window provides users a much broader view of the facility giving rise to access all necessary data from which to make an informed decision
8 / 22
System 800xA training
2.3.3 Aspect Integrator Platform The Aspect Integrator Platform is a software package that integrates all Industrial IT enabled products via their Aspect Objects, irrespective of where they may reside in the network. You need only enter data once for use throughout the system, and real-time information about each object is just a “click” away.
9 / 22
T314-02 System Architecture - RevB
2.3.4 Aspect Framework Two main concepts are central to the Aspect Object architecture: the concept of Aspect Objects, and the concept of Afw Services.
Aspect systems Aspect Framework (Afw) Connectivity components
Based on these concepts, a framework is defined, with rules and conventions for how to add functionality to the server and workplace layers, and for how to connect functions in the control layer to the server layer. This framework is known as the Aspect Framework (Afw).
10 / 22
System 800xA training
2.4 System Topology The 800xA system functionality is divided into a core system and a set of options. The options represent functions that can be added to the system based on the needs of the process that should be controlled.
Operator/ Engineering Workplace(s)
Core System
Extensions Extensions More Workplaces More Workplaces
Client/Server Network
Server(s)
Extensions Extensions Control Network Controller(s)
Batch management Batch management Information management Information management Asset Optimization Asset Optimization etc. etc.
Field devices
Servers run software that provides system functionality, Workplaces run software that provides various forms of user interaction. Server classes are deployed on nodes. A node is a network addressable machine (a PC). For very small installations, one single node (PC) can carry all these server classes as well as the client part(s) of the product(s). Server configuration and selection are important factors for system performance.
11 / 22
T314-02 System Architecture - RevB
2.4.1 Domain Server Small systems can run without a Domain Controller. In this case the nodes and users are handled by a Windows Workgroup. The configuration of users and security must then be done on all nodes separately within the Workgroup. The user handling in a Windows Domain is done from a central location – the Domain Server. Every domain must have at least one domain server, but for resilience a domain should have multiple domain servers.
2.4.2 Aspect Server The Aspect Server is the intelligence of the system, hosting the aspect directory and other services related to object management, names, security, etc. There is only one Aspect System per Automation network, which can be based on single or redundant Aspect Servers with a normal maximum of 3 Aspect Servers using a 2oo3 configuration. Examples of services are: •
Aspect Directory
•
File Set Distribution (FSD)
•
Structure and Name Server (SNS)
2.4.3 Connectivity Server The Connectivity Server provides access to the controllers and other data sources throughout the network. Several groups of Connectivity Servers may exist in a system, each serving one set of data sources. Examples of services are: •
OPC Data Access
•
OPC Alarm and Event
•
OPC Historical Data Access
•
System messages
2.4.4 Application Server Run various types of system applications, such as:
12 / 22
•
Batch Management
•
Asset Optimization
System 800xA training
2.5 Network Structure The Aspect Object architecture assumes a system of computers and devices that communicate with each other over different types of communication networks, as illustrated conceptually here. The Operator Workplace uses client/server capabilities allowing both client and server applications to run in one PC for a small configuration, or to run in a Large configuration with several servers and several client workplaces.
Domain Server(s)
Application Server(s)
Workplaces Client/Server Network
Aspect Server(s)
Connectivity Server(s)
- Single - 1oo2 - 2oo3
- Single - 1oo2
Control Network Controllers
Fieldbus Field devices
System communication in the IndustrialIT System is based on Ethernet and TCP/IP networks. For smaller systems and for systems where network separation is not desired, the Client/Server Network and Control Network can be combined in one Automation System Network. The 800xA system uses a central licensing mechanism. One designated computer, typically the domain controller, should contain the central licensing server (CLS).
13 / 22
T314-02 System Architecture - RevB
2.5.1 Plant Network The Plant Network can be dedicated for process automation purposes or be a part of the plant intranet already available on a site. Further connection of the plant network to the Internet or any other type of external network should be performed in accordance with adequate network security practices.
2.5.2 Client/Server Network The Client/Server network is used for communication between servers, and between client Workplaces and servers. Via a router, the client/server network can be connected to a plant intranet, and via a firewall to the Internet. For performance and integrity reasons, connection of foreign systems directly to the control and client/server networks should be avoided. The Client/Server Network can optionally be made redundant. For any installation larger than a Single Node system and small systems that use Windows workgroup, the 800xA system nodes must reside within a dedicated Windows 2000 domain. This requires you to set up a domain controller and DNS server. All other 800xA system server and client nodes must be configured to be members of the domain.
2.5.3 Control Network The Control Network is a local area network (LAN) optimized for high performance and reliable communication, with predictable response times in real time. It is used to connect controllers to the servers. Controllers are nodes that run control software. Controllers and Connectivity Servers are connected to the control network. The control network can optionally be made redundant. Field buses are used to interconnect field devices, such as I/O modules, smart sensors and actuators, variable speed drives, PLCs, or small single loop devices, and to connect these devices to the system, either via a controller or directly to a server.
14 / 22
System 800xA training
2.5.4 Single Node System A Single Node System is intended for very small applications, where all 800xA server and workplace functionalities reside in a single PC.
Aspect Server Connectivity Server Workplace (Client)
Automation Network Controllers
Fieldbus Field devices
The system has only one PC node, within which all servers as well as the client applications are installed. Only a few controllers can be connected and applications are small.
15 / 22
T314-02 System Architecture - RevB
2.5.5 Redundancy System 800xA provides the highest degree of fault tolerance to meet the most demanding application needs for maximum system uptime. Optionally redundant I/O, controllers, control networks, fieldbus networks, Connectivity Servers, Aspect Servers, and Operator Workplaces with automatic switchover provide the required functional integrity to meet the most demanding process needs.
Connectivity Server(s) Control Network Upper CPU
Lower CPU
CEX-Bus ProfiBus DP
CEX-Bus RCU Link ProfiBus DP-V1
ModuleBus Optic Cable
Redundant ModuleBus Solution Redundant I/O Module
16 / 22
System 800xA training
2.5.6 Remote (Thin) Client Remote Clients enables remote access to an 800xA system from a standard PC without ABB-specific software installed. Only the Internet Explorer is required to access the data. The Remote Client provides operation capabilities and access to historical information. Configuration capabilities are limited on the remote client.
Internet
Thin Clients
Firewall Thin Clients Plant Network Router Firewall
Application Server(s)
Workplaces Client/Server Network
Aspect Server(s)
Connectivity Server(s) Control Network
Controllers
Fieldbus Field devices
The recommended solution to implement remote clients is Microsoft Terminal Server (available as option to Windows 2003 Server).
17 / 22
T314-02 System Architecture - RevB
18 / 22
System 800xA training
2.6 Client / Server Principle The framework includes an Aspect Directory, where all Aspect Objects and their aspects are registered, and also all aspect systems and the operations they support. To perform an operation on an Aspect Object, an application (e.g. an aspect system) invokes a framework interface for that operation.
Client Appl.
1 2 Aspect Framework Aspect Directory
Control
3 Process Graphics
4 Reports
5 etc.
Aspect Systems
Thus, to copy and paste an object, for example, all aspect systems that implement aspects that are defined for that object are involved and perform their part of the operation.
19 / 22
T314-02 System Architecture - RevB
2.6.1 Example: Graphic Display Let’s take a process graphic as an example. The aspect “Graphic display” is installed on the Aspect Server and will be called by the Operator Workplace.
Aspect System
e l-t im Re a
Graphic Display
Client/Server Network
ta da
Connectivity Server(s)
n tio ra igu nf Co
da ta
Client Operator Workplace(s)
Aspect Server(s)
Aspect Directory
Control Network
If we look then on a valve within the process display, the icon is provided by the Aspect Server and the dynamic status indication (open/closed) is provided by the Connectivity Server.
20 / 22
System 800xA training
2.7 Configuration Wizard The Configuration Wizard is the central place to: •
Create/Delete an 800xA system
•
Start/Stop an 800xA system
•
Add extensions to the system
•
Manage the 800xA users in the system
•
Connect/Disconnect clients and servers
2.7.1 How to Connect/Disconnect Clients Clients as well as Servers can be connected/disconnected from the Aspect Server only. To connect a client, follow these steps: 1. Double click on the icon “Configuration Wizard” on the desktop. 2. Select “System Administration” and click “Next”.
3. Select your system and click “Next”.
21 / 22
T314-02 System Architecture - RevB
4. Select “Nodes” and click “Next”.
5. From the next menu you can add/remove clients and servers. Refer to the separate course T305 / Administration and Installation for more information.
22 / 22
System 800xA training
Exercise 2.1 Drawing a System Configuration
2.1.1 Goals Draw the logical system configuration and network structure of an 800xA Control System on paper. NOTE!
This exercise can be worked out in student groups (max. 2 students per group)
2.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/2
T314-02 Exercise 2.1 - RevB
2.1.3 Exercise Steps
)
Draw the logical system configuration and network structure of a separated Control and Client/Server network with the following specifications: - Four AC 800M controllers - Single (separate) Connectivity Server - Single (separate) Aspect Server - Three Operator Workplaces - One Engineering Workplace - Single Domain Controller
2/2
System 800xA training
Solution 2.1 Drawing a System Configuration
2.1.1 Solutions
)
Draw the logical system configuration and network structure of a separated Control and Client/Server network with the following specifications: - Four AC 800M controllers - Single (separate) Connectivity Server - Single (separate) Aspect Server - Three Operator Workplaces - One Engineering Workplace - Single Domain Controller
1/1
System 800xA training
Chapter 3 Operation
TABLE OF CONTENTS Chapter 3 Operation....................................................................................................................................................................... 1 3.1 General Information............................................................................................................................................................. 2 3.1.1 Objectives ..................................................................................................................................................................... 2 3.1.2 Legend .......................................................................................................................................................................... 2 3.2 Operator Workplace............................................................................................................................................................. 3 3.2.1 Application Bar............................................................................................................................................................. 4 3.2.2 Display Area / Display Bar ........................................................................................................................................... 4 3.2.3 Status Bar...................................................................................................................................................................... 4 3.3 Navigation ........................................................................................................................................................................... 5 3.3.1 Highlighting an Object.................................................................................................................................................. 5 3.3.2 Left Clicking on Buttons and Objects........................................................................................................................... 6 3.3.3 Right clicking on Buttons and Objects ......................................................................................................................... 7 3.3.4 Display Navigation ....................................................................................................................................................... 8 3.3.5 Application Navigation Bar ........................................................................................................................................ 10 3.3.6 Faceplate Navigation for Object Control .................................................................................................................... 12 3.3.7 Operator Notes............................................................................................................................................................ 13 3.3.8 Log Over between Users............................................................................................................................................. 14 3.4 Alarm and Event Presentation ........................................................................................................................................... 15 3.4.1 Alarm List................................................................................................................................................................... 15 3.4.2 Graphic Display .......................................................................................................................................................... 16 3.4.3 Faceplate ..................................................................................................................................................................... 17 3.4.4 Alarm Band................................................................................................................................................................. 17 3.4.5 Event List.................................................................................................................................................................... 18 3.5 Alarm Operations............................................................................................................................................................... 19 3.5.1 Navigation................................................................................................................................................................... 20 3.5.2 How to Acknowledge Alarms..................................................................................................................................... 21 3.5.3 How to Silence Alarms ............................................................................................................................................... 22 3.5.4 Alarm Status Indications in Faceplates....................................................................................................................... 22 3.6 Trend Displays................................................................................................................................................................... 23 3.6.1 Tool Bar ...................................................................................................................................................................... 24 3.6.2 How to Change the Time Scope ................................................................................................................................. 25 3.6.3 Table Part.................................................................................................................................................................... 26 3.6.4 Additional Table Columns.......................................................................................................................................... 27 3.6.5 XY Plot ....................................................................................................................................................................... 28 3.6.6 Moving Trend Data to MS Excel................................................................................................................................ 29
1/ 29
T314-03 Operation - RevB
3.1 General Information 3.1.1 Objectives On completion of this chapter you will be able to: •
Describe the workplace areas
•
Navigate in the Operator Workplace
•
Operate objects through faceplates
•
Handle alarms from operator point of view
•
Operate trend displays
3.1.2 Legend
2 / 29
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
3.2 Operator Workplace There are some pre-defined workplaces that are installed with the 800xA system: Plant Explorer Workplace The Plant Explorer Workplace is typically used by the application engineers for configuration, troubleshooting, etc. We will use this extensively throughout this course. Operator Workplace The purpose of the Operator Workplace is to present data to operators and to provide mechanisms for input of data by the operators. Operator input includes selection of screens but also control actions sent to the controllers using the mouse and keyboard. NOTE!
Thus operators have their view of the plant, making it easy to navigate to operator functions, and application engineers have their view for configuration.
The template Operators workplace is shown below, prior to a full configuration. Application Bar
Display Bar
Display area
Status Bar
User-defined Operator Workplaces are configured based upon the needs of the user. There is no limit to the number of custom Operator Workplaces that can be configured.
)
Left click on the “My ePlant” icon and a list of the workplaces that have already been configured is presented.
3/ 29
T314-03 Operation - RevB
3.2.1 Application Bar This is the area of the workplace at the top of the screen. It is used to show information that must be visible all the time. By adding display shortcuts to the Application Bar fast and easy navigation between frequently used displays or other aspects can be achieved.. Fixed Displays
Application Navigation Bar
The application bar has two sub areas: Fixed Displays This area (in our case) contains the system alarm list and a clock display. The Fixed Display area may contain other items and may be fully configured by an engineer. Application Navigation Bar This is situated directly below the fixed display area. It contains navigation tools for moving around the application.
3.2.2 Display Area / Display Bar This area presents the main graphical display to the operator. It is from here that the process status may be observed. The Display area has its own navigation bar associated with a given display. Note that while the Application Navigation bar remains fixed for the whole time the workplace is open, the Display Bar may change depending upon which display is currently being viewed.
3.2.3 Status Bar The Status Bar occupies the area at the bottom of the operator workplace window.
It is always visible and allows the user fast access to information. It can be configured just like the Application Bar.
4 / 29
System 800xA training
3.3 Navigation In most application the operator will navigate from place to place in the process using the mouse to select areas on the screen.
3.3.1 Highlighting an Object When the cursor hovers over an object it will become highlighted. This is shown as a ‘raised’ appearance on the screen. The cursor is near to but not over the high level switch on the vessel.
Note the difference in appearance when the cursor moves over the object. Note also that a ‘tool tip’ text appears identifying the tag name of the signal for that object.
In both the cases above the mouse has not been clicked – just moved.
5/ 29
T314-03 Operation - RevB
3.3.2 Left Clicking on Buttons and Objects When a left click is performed on a button, what happens depends on the type of button. Here are some examples: •
The display changes
•
A faceplate is ‘popped’ up in a separate window
•
Another Windows application is launched e.g. Word, Excel
•
A web page might be displayed Users may prefer to restrict access to their company’s internal web (Intranet)
In the graphical displays when a left click is performed on an object the default aspect of that object is presented.
All objects have many aspects. The engineer who configures the application will usually configure one of these aspects as the default aspect. For example a valve graphic has the faceplate set as the default aspect because clicking on a valve usually means that an operator wants to control that valve.
6 / 29
System 800xA training
3.3.3 Right clicking on Buttons and Objects Just like in Microsoft Windows, right clicking on items gives further options. The right click action always pops a context sensitive menu which displays the aspects of the object that has been selected. This means that an operator may navigate easily from one aspect to another for a given object.
The aspects that will show up depend on the rights of the user logged in and on the object itself. The aspect that appears in bold letters in the context menu is called the default aspect.
7/ 29
T314-03 Operation - RevB
3.3.4 Display Navigation There are many ways to navigate in System 800xA. The workplace is configurable so any particular installation may be different in terms of what is on the toolbar, but what is shown in the figure below is typical of many installations. Navigating from one graphic to another or from a graphic to an alarm list or trend display can be done in several ways. Drop Target
Previous/Next Display
Aspect Menu
History List (graphics)
Display Shortcuts
Previous/Next Display As the views are changed a record is kept.
Drop Target This is used in association with the Aspect Browser tool (in the Application navigation toolbar). Having used the find tool and having selected an object and an aspect of the type “Graphic Display”, the operator may drag the aspect over the Drop Target tool and the display will be changed to that aspect.
Aspect Menu of current display Clicking on the icon navigates to the default aspect for this display. Clicking on the arrow gives a context menu from where any aspect of this display may be selected.
8 / 29
System 800xA training
Aspect History List
The history list of graphics keeps track of what displays have been called so you can return to a previously called display.
References One other way to call up a graphic is to view the references for the object of interest. If the same aspect object exists in several displays, you will find a list of those displays below the option “References”.
Link in a Display to another Display Sometimes there are so called aspect links in the display. When you click on these links the display will change. These are also referred to as hotspots by some engineers.
9/ 29
T314-03 Operation - RevB
3.3.5 Application Navigation Bar Some of the standard features are described below.
Object Selector If the name of an object is known it may be typed into the box followed by the return key. The display will then show the default aspect for that object, for example a faceplate. At the right side there are buttons for the faceplate, the trend display and alarm list of this object.
As an operator navigates to different objects in the system, a history list of the last places visited is built up by this tool.
Alarm List Buttons
Display mode This tool is used to set the display mode strategy. When views are changed the new view may either replace the existing one in the panel area or else be produced in a new window (Preserve).
Print Screen
If a printer has been configured than clicking on this button will print a copy of the current screen. This is a very good way of getting a record of a process situation for later discussion.
Close all overlaps
This button is very useful if many faceplates are open (often operators neglect to close down faceplates as they have been used). Clicking on the close all overlaps button closes all the opened windows and faceplates.
10 / 29
System 800xA training
Toggle Browser
This is a very powerful tool which can be used to explore the whole of an application and go to any aspect of any object in the application. It is commonly used by engineers and advanced operators.
Aspect Menu (Favorites) Aspect Menu shows a listing of the aspects that you have chosen to place in the favorites list for fast access.
11/ 29
T314-03 Operation - RevB
3.3.6 Faceplate Navigation for Object Control When an object is selected, a Faceplate is automatically opened. The three sizes of faceplates each have their different uses.
Reduced view
Faceplate view
Extended view
Optional
Mandatory
Optional
The smallest one (Reduced) is usually opened by default, but this behavior can be configured, so any of the sizes may come up by default in your system.
Faceplate Functions Depending on permissions different operations may be performed on a process object. Some examples are shown below.
Start/Stop Open/Close On/Off
Changing Control Mode: Man Auto
Input of Values: Output Signal or Setpoint Increase Decrease
12 / 29
System 800xA training
3.3.7 Operator Notes To each object the operator has possibility to create an operator note for notation of important events related to the object in question. Mark the wanted object, right click and select Operator Note.
The created document is now available for reading or adding new information form any point where the object is visible.
Another way to add a note is via the faceplate by clicking the Operator Note symbol.
13/ 29
T314-03 Operation - RevB
3.3.8 Log Over between Users The log over function enables a fast and temporary switch between users in a running workplace. For example if an operation requires a permission not held by an operator, another user (e.g. a system engineer) that holds the required permission, can log on to perform that operation. The log over changes the permissions and user roles but keeps all open windows with their present contents.
Right click on the user name and select Change User.
If a log over critical aspect view is open when the user selects Change User, a Close Views dialog box appears. The user can close then all log over critical views. Enter the user ID (with domain if it differs from the default domain) and password.
NOTE!
The log over only affects the System permission. Windows security is still the same as the user logged in.
To return to the first user right-click on the user name again and select Revert User. The revert user operation requires more authentication in order to change back to the original user.
14 / 29
System 800xA training
3.4 Alarm and Event Presentation There are many indications of an alarm in the operator workplace. You can access the alarm functionality as part of the configuration (Application Bar, Status Bar, display shortcuts) or through aspects selectable from a workplace.
3.4.1 Alarm List An alarm list only includes the alarms that an operator needs to pay attention to, normally: •
unacknowledged
•
still active alarms
This is the most familiar presentation, alarms end events are presented in a list format with one line for each alarm:
Event Time Message Description
Object Description
Object Name
15/ 29
T314-03 Operation - RevB
3.4.2 Graphic Display Process and object alarms are normally also indicated on the process graphic displays by red blinking. Alarm Line
Red blinking
In this example there are alarm indications in the graphic display, and there is an Alarm Line in the application bar at the top of the screen.
Alarm Line Alarm line indications in the application bar are useful as they can show alarms from a wide area of plant, whereas the only alarms visible on a graphic are those associated with the tags or objects within the selected graphic. It is very similar to any other alarm list, but it is always on the screen and it only has the latest three alarms. The system can be configured to filter this alarm list so that only a selection of the alarms is shown.
16 / 29
System 800xA training
3.4.3 Faceplate Faceplates have by default an alarm indication and the alarm can be acknowledged.
Alarm indication
3.4.4 Alarm Band The Alarm Band Aspect is usually configured to appear in the Application Bar of the workplace. It appears as a group of buttons, each button represents one alarm list. Click on the Alarm Band (button) to call up the associated Alarm List.
The number within the button represents the number of unacknowledged alarms. The color of the button indicates the highest priority alarm that is active in that list. If the button is flashing, at least one alarm is not acknowledged.
17/ 29
T314-03 Operation - RevB
3.4.5 Event List The Event List is the log book that indicates what happened in the plant. It is similar to the Alarm List, but Events cannot (and do not need to) be acknowledged.
18 / 29
System 800xA training
3.5 Alarm Operations The picture below displays a typical view of an Alarm and Event List aspect. The information presented in each list is organized in a way defined by its configuration (what columns show up in what order and how the list is sorted).
Sorting Columns To sort a column double click on the column header. Repeat this action to reverse the sorting. For example, sorting Source Name once may cause the items in the list to be sorted in alphabetical order (A...Z). Sorting a second time will cause the sorting to be reversed (Z...A). These changes are not remembered. Each time the lists are called up again they will come up as the default order they are configured with. You can also return to this order by clicking the Rest button on the toolbar.
Tool bar
Use the “Page Down” button to show the next 500 alarms in the list.
19/ 29
T314-03 Operation - RevB
Stop/Start Alarm and Event Updates You can stop or restart list updates using the “Stop” button.
3.5.1 Navigation Double clicking on an alarm line in the alarm list makes the default aspect for the process object/alarm appears, most commonly a faceplate.
Context Menu Right clicking on an alarm line displays the context sensitive menu. Actions such as acknowledging selected alarms, silencing the audible alarm and adding notes to an alarm entry may now be performed.
20 / 29
System 800xA training
3.5.2 How to Acknowledge Alarms The different methods of acknowledging alarms are described below. •
Click on the “Ack State” box for the alarm in the list to acknowledge the one alarm. If not logged on as operator the blink behavior around the check box will not occur.
•
Select a group of individual alarms and then, - select “Acknowledge Selected” in the context menu or
- press the “Acknowledge” button (green check mark)
•
Right click on an object in, for example, a process display or process graphic, then click on the Acknowledge verb in the context menu.
•
Click on the alarm status button in a faceplate
!
21/ 29
T314-03 Operation - RevB
3.5.3 How to Silence Alarms To silence an audible alarm, click on the “Silence” button or select “Silence” in the context menu. This is a one shot type action that silences the current audible alarm. If a new audible alarm then occurs, that alarm must be silenced again. NOTE!
To silence an alarm does not mean that the alarm is acknowledged.
3.5.4 Alarm Status Indications in Faceplates Faceplates provide a set of symbols for alarm status. Of course this is only an indication that the object is in alarm or not. The operator would normally take a closer look to see whether it is a high alarm, low alarm, deviation alarm, etc.
Normal state, no alarm
! !
The object is in alarm and is not acknowledged
The object is acknowledge but is still in alarm condition
The object is back to normal condition but not acknowledged
The alarm function is disabled (by control program)
22 / 29
System 800xA training
3.6 Trend Displays Trend Display aspects are used to present both historical data AND live data to the operator. The history data and run-time data are seamlessly integrated. A trend display consists of three areas:
Trace Area
Tool Bar
Trend Table
Any OPC property can be logged. That means more than just typical process data can be displayed in a trend display. Diagnostic and system data can also be trended, but of course the most common trends will be process data. NOTE!
Placing a cursor on a trend causes a text box (tool tip) to pop up providing detailed information.
23/ 29
T314-03 Operation - RevB
3.6.1 Tool Bar The Tool Bar contains buttons for frequently used functions to operate the Trend Display.
The letters are: P = toggle XY plot G = zoom window I = zoom in O = zoom out X = toggle ruler horizontal/vertical A = area zoom•
•
The Show/Hide Table button shows or hides the Trend Table. When the table is hidden, it is replaced by a small table, showing trace colors and logged object in the form object:property,log name. This state is part of the configuration and can be saved with the Save button.
•
The Block/Unblock button toggles the updating of the graphical view. A pressed button means the view updating is paused. By clicking the button again the view is unblocked.
•
Use the Move Scope left/right buttons, to pan the graphical view in the selected direction. The buttons move the scope by 25% of the current time scope.
•
Zoom in/out buttons let you zoom in or zoom out around the center point of the scope. Zooming out increases the scope by 50%. Zooming in decreases the scope by a third.
There is a vertical green line which is called the Ruler. It can be moved anywhere on the display by left clicking on point in time.
24 / 29
•
Clicking the Ruler button turns on the selected ruler. The button has a drop-down menu to select any of five different ruler styles. With these different rulers you can zoom in a time interval or read the time and value for a specific place in the trace, among other things.
•
Move Ruler: These buttons moves the ruler left, right, up or down. Depending on selected ruler style, only the applicable buttons are available.
System 800xA training
The Magnifying glass button toggles the magnifying glass mode. It will set up the magnifying glass area with a default start time and end time, using 35 percent of the area for the magnifying glass. It is very useful to analyze a process upset.
3.6.2 How to Change the Time Scope Using the direct entry of a time scope and display time is another way to pan and zoom. It can be much faster than using buttons when the time is far in the past.
25/ 29
T314-03 Operation - RevB
3.6.3 Table Part This figure is an explanation of the main table part of the trend display.
Show or Hide a Trace Trace Colour
Data collection status: Green – everything OK Blinking yellow - fetching data Red – Data is missing
Time scope for current Trend display
Current value
2006-1-24 10: 2006-1-24 10: 2006-1-24 10:
73.4 107.8 20.6
Object name
26 / 29
Ruler time
Logged property
Low/High Range
73.4 107.8 20.6
Ruler value: Current value at Ruler position
System 800xA training
3.6.4 Additional Table Columns Below is a description of some other important columns. Details can be found in the On-line help or in the product manuals. Column
Description
Log Name
A drop-down menu shows logs defined by the Log Configuration Aspect. If there is no Log Configuration aspect on the selected object, the user can select TRIM and SEAMLESS.
Filter
The default filter value is zero (0), indicating no filter. The value must be between zero (0) and one (1), not including one. Only values above 0.5 have a noticeable effect. The filter works as a low-pass filter, effecting noise reduction for the trace. The visible result is that the trace appears smoother. The closer this value is to one (1), the stronger this effect will be. With a value very close to one (1), the trace will appear almost flat. See example below.
Time Offset
The time offset used for the trace. The default is zero (0). The format used by the cell is yy:mm:dd HH:MM:SS. If this offset is positive, the trace is shifted right. If the offset is negative, the trace is shifted left.
Style
To change the style, select from the drop-down menu of styles. The available styles are shown below.
In addition to these, there is Normal. If this style is selected, the actual style depends on what is specified for the display mode presentation attribute.
27/ 29
T314-03 Operation - RevB
3.6.5 XY Plot An XY-plot is a trend that use a trend variable instead of time on the X-axis. It draws one signal as a function of another signal (instead of plotting it as a function of the time).
Use the column “Pair Property” to define an index used for pairing XY plot.
28 / 29
System 800xA training
3.6.6 Moving Trend Data to MS Excel The capture data function lets you copy data from the Trend Area, and then paste the copied data into a third party software application such as Microsoft Excel. 1. Use zooming and move the scope to display the desired interval in the Trend Area. 2. Left click in the trace area of the Trend Area. 3. Copy the data into the Windows paste buffer by pressing Ctrl+C.
Now you can paste the selected data to an external application (for instance, Microsoft Excel). Go to the external application and use the Paste function to copy the data. If the Trend Display is zoomed out you can not be sure to get the sampled data, instead it might be interpolated. An example of captured data being pasted into Microsoft Excel is shown below.
The columns display time, value and status word for each point in the trace.
29/ 29
System 800xA training
Exercise 3.1 Navigating in the Operator Workplace
3.1.1 Goals Explore a sample operator workplace with the goal of discovering the navigation and operational possibilities in an 800xA System.
3.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/8
T314-03 Exercise 3.1 - RevB
3.1.3 Exercise Steps
)
Open the ‘Sxx_Workplace’ from the ‘My ePlant’ Shortcut:
)
Identify the three main regions of the screen: 1. Application Bar 2. Panel Area 3. Status Bar
2/8
System 800xA training
3.1.3.1 Navigation The workplace has five main operator displays: Tank Farm, Reactor, Storage, Alarm Overview and a Valve Group Display. The operator may move between the first four displays using the graphic element and aspect links in these views. The group display does not have any links.
)
) )
)
Click on the graphic element link to go to each of the first four displays in turn. Click on links on each of the displays to navigate around this simple plant.
Finish by going back to the Overview display and selecting the Group display. Use the forward and backward buttons to move between the displays you have visited.
Use the History Tool to select the previous displays.
3/8
T314-03 Exercise 3.1 - RevB
)
Click on each of the shortcuts to navigate to the defined display.
Note that the destination is shown, as a tool-tip, when the mouse is above the icons.
)
Type in one or more of the following object names into the search tool and press :
1. Sxx_LevelControl 2. Sxx_Plant 3. Sxx_Reactor 4. Sxx_Tankfarm 5. Sxx_Workplace
)
Now type Sxx into the same search tool, but do not press . Wait for several seconds until a list of objects appears, then select one or more objects from the list.
3.1.3.2 Navigation using the Object Context Menu Each object has many aspects and each aspect may be reached from the context menu which is obtained when a right click is made on a particular object.
)
4/8
Go to the Reactor Display and hover the mouse over the various objects. Note how the highlighting is shown in the system.
System 800xA training
)
Right click on any object to see the aspects for that object. For any object the default aspect is shown bold at the very top of the context menu.
In most cases, the default aspect is a faceplate for that object.
) ) )
Experiment by navigating to various aspects for several of the objects in any display. Left click on various objects and observe how the default aspect is called up. The ‘References’ entry in the context menu contains a selectable list of displays where this object can be found. Use this list for V3, V4 or Level to select another display.
5/8
T314-03 Exercise 3.1 - RevB
3.1.3.3 Aspect Filters In many cases objects have too many aspects for the operator. This causes confusion. Various aspect filters may be applied for different users or purposes when using a workplace.
)
)
Identify the Aspect Filter selector.
Select various filters from the list and then examine the context menu for an object and see how the listed aspects change with the applied filter.
3.1.3.4 Replacement Strategy
)
) )
Locate the Replacement Strategy Tool. There are always two options – Replace or Preserve. The default setting is Replace.
Set the tool to “Preserve” and then select a different display using the application bar shortcuts and the links from the displays. In addition to selecting displays, select objects (e.g. valves, mixer, etc.) from the Reactor Display in order to have faceplates of the objects pop up. Note the differences for each setting. Note that some aspects (e.g. Trend Displays, Alarm Lists) are always presented in a separate window as the replacement strategy may be over-ridden by settings on the aspect. Also, the replacement strategy does not affect selections from the History Tool.
3.1.3.5 Controlling the Process Using Faceplates Faceplates are the operator’s main method of controlling the process.
) )
6/8
Using the Reactor Display, control the tank level by selecting valve combinations (V1 and V5 to fill or V2 and V6 to empty). Control the temperature and mixer by selecting the appropriate objects. Note that objects must be in manual for operators to have control.
System 800xA training
3.1.3.6 Using a Batch Process A batch program will be started to allow the tank to automatically go through a process consisting of a series of manufacturing cycles (e.g. Filling, Heating, etc.).
)
Open the Reactor Display and set Auto mode for V1, V2, V5, V6, and the Mixer through the faceplates.
)
Select the ‘Press to Start’ button.
)
Observe the various indicators on the display as each step is executed.
3.1.3.7 Using Operator Notes Operator notes are a means of communication to other operators/users as to conditions of objects within the plant. Examples might be that a pump is in service or that a problem with a valve sticking has been reported to maintenance. An ‘envelope’ icon next to the object will indicate that there is an operator note. Most objects have this icon, but it must be added to the display(s) for it to appear. Once a note is no longer needed (e.g. condition has been resolved), it can be removed by clearing the message.
)
Select any of the valves V1, V5, V2, or V6. The object’s faceplate will pop-up.
7/8
T314-03 Exercise 3.1 - RevB
)
Select the operator note button on the faceplate to open the editor, type a message, and then click “Apply”.
Note that the operator note editor may also be opened by selecting Operator Note from the context menu of the object if the current aspect filter allows.
) )
8/8
Note that the ‘envelope’ icon will appear next to the object. Repeat for one of the other valves. Set the aspect filer to ‘No Filter’ and open an existing operator note through the context menu. ‘Clear’ the message, then “Apply”.
System 800xA training
Solution 3.1 Navigating in the Operator Workplace
3.1.1 Solutions
)
Open the ‘Sxx_Workplace’ from the ‘My ePlant’ Shortcut.
)
Identify the three main regions of the screen: 1. Application Bar 2. Panel Area 3. Status Bar
1
2
3
1 / 10
T314-03 Solution 3.1 - RevB
3.1.1.1 Navigation
)
2 / 10
Click on the graphic element link to go to each of the first four displays in turn. Click on links on each of the displays to navigate around this simple plant.
System 800xA training
)
Finish by going back to the Overview display and selecting the Group display.
)
Use the forward and backward buttons to move between the displays you have visited.
)
Use the History Tool to select the previous displays.
3 / 10
T314-03 Solution 3.1 - RevB
)
Click on each of the shortcuts to navigate to the defined display.
Note that the destination is shown, as a tool-tip, when the mouse is above the icons.
)
Type in one or more of the following object names into the search tool and press : 1. Sxx_LevelControl 2. Sxx_Plant 3. Sxx_Reactor 4. Sxx_Tankfarm 5. Sxx_Workplace
4 / 10
System 800xA training
)
Now type Sxx into the same search tool, but do not press . Wait for several seconds until a list of objects appears, then select one or more objects from the list.
3.1.1.2 Navigation using the Object Context Menu
)
)
Go to the Reactor Display and hover the mouse over the various objects. Note how the highlighting is shown in the system.
Right click on any object to see the aspects for that object. For any object the default aspect is shown bold at the very top of the context menu.
5 / 10
T314-03 Solution 3.1 - RevB
In most cases, the default aspect is a faceplate for that object.
) )
Experiment by navigating to various aspects for several of the objects in any display. Left click on various objects and observe how the default aspect is called up.
This shows the result of selecting the Temperature (Sxx_TIC1) object.
)
The ‘References’ entry in the context menu contains a selectable list of displays where this object can be found. Use this list for V3, V4 or Level to select another display.
Result of selecting Maintenance 1 Display from the References menu.
6 / 10
System 800xA training
3.1.1.3 Aspect Filters
)
Select various filters from the list and then examine the context menu for an object and see how the listed aspects change with the applied filter.
No Filter
Engineering – History Config
Process Operation
7 / 10
T314-03 Solution 3.1 - RevB
3.1.1.4 Replacement Strategy
)
Set the tool to Preserve and then select a different display using the application bar shortcuts and the links from the displays. In addition to selecting displays, select objects (e.g. valves, mixer, etc.) from the Reactor Display in order to have faceplates of the objects pop up.
Replace strategy will only allow one faceplate to be open at a time, but with Preserve, multiple faceplates may be opened.
3.1.1.5 Controlling the Process Using Faceplates
)
Using the Reactor Display, control the tank level by selecting valve combinations (V1 and V5 to fill or V2 and V6 to empty).
This shows valves V1 and V5 open and in manual, while V2 and V6 are closed in automatic. V2 also has an interlock indication, preventing it from opening until the interlock is released.
8 / 10
System 800xA training
3.1.1.6 Using a Batch Process
)
Open the Reactor Display and set Auto mode for V1, V2, V5, V6, and the Mixer through the faceplates.
)
Select the ‘Press to Start’ button.
)
Observe the various indicators on the display as each step is executed. A bar graph and numeric value for the level, flashing indicators for Heating & Cooling, changing valve and mixer colors, and the green boxes showing the active step are many of the indicators to observe on this display.
3.1.1.7 Using Operator Notes
)
Select any of the valves V1, V5, V2, or V6. The object’s faceplate will pop-up. Select the operator note button on the faceplate to open the editor, type a message, and then click “Apply”.
)
Note that the ‘envelope’ icon will appear next to the object. Repeat for one of the other valves.
9 / 10
T314-03 Solution 3.1 - RevB
)
Set the aspect filer to ‘No Filter’ and open an existing operator note through the context menu. ‘Clear’ the message, then “Apply”.
After applying “Clear”, the text erases form the editor and the ‘envelope’ icon is no longer visible.
10 / 10
System 800xA training
Exercise 3.2 Handling Alarms and Events
3.2.1 Goals Investigate the handling of Alarm and Events in System 800xA from an operator’s point of view.
3.2.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/5
T314-03 Exercise 3.2 - RevB
3.2.3 Exercise Steps The batch program was run in the previous lab, but to insure that alarms are generated, manual control of the process will be used for this exercise.
3.2.3.1 Generate Alarms
) )
Open the Reactor Display, set the replacement strategy to preserve, then select the faceplates for V1 and V5. In manual mode, open both valves, then allow the tank to overflow.
Any alarms generated will be indicated by the Alarm Bands and Alarm Line located in the application bar.
)
Close V1 and V5, select the temperature controller, start heating until the temperature is between 90 – 110 DegC, then begin cooling until it is below 20 DegC. Repeat this heating and cooling, then stop the temperature controller. Throughout this exercise, use the above steps to generate new alarms as needed. There is no low level alarm, but V2 and V6 can be used to lower the tank level so that V1 and V5 can be used to create additional overflow alarms.
3.2.3.2 Handle Alarms An alarm list may be opened with a shortcut button, an aspect link, an alarm band, an entry in the context menu, or it may be embedded in a process display.
)
2/5
Click on the ‘Sxx_Reactor’ alarm band and check the alarms in the list.
System 800xA training
)
)
Open this same Alarm List by using the application bar shortcut or via the context menu of the Sxx_Reactor object. (Sxx_Reactor context menu may be opened from the pull down list as shown below or by right clicking anywhere in the Reactor display where there is no object).
Acknowledge the ‘Tank Overflow’ alarm by clicking on the acknowledgement box on the extreme left of the alarm line.
An entry in an alarm list may also be acknowledged by selecting the individual alarm line, then either select the green check mark Acknowledge from the context menu.
) )
above the heading line or select
Test these two methods on other alarms in the list. Generate a temperature alarm (either high or low), then acknowledge it by selecting the alarm button on the faceplate.
3/5
T314-03 Exercise 3.2 - RevB
) ) )
Scroll right and examine the columns in this alarm list. Resize any column by dragging its boundary in the heading line. Move a column by selecting it in the heading line then drag it horizontally to desired position. Sort a column by selecting the name in the heading line, then double clicking on the name. Each double click will reverse the previous sort. Moving and sorting columns can assemble all similar alarms together. This can be helpful to operators when diagnosing process problems.
3.2.3.3 Select Multiple Alarms in a List Selecting multiple lines in an alarm list enables the operator to acknowledge all selected items at once. Also, by stopping the update of the list first, the operator may acknowledge the ‘Viewable Page’ or the ‘Whole List’.
)
)
)
4/5
Select a contiguous range of alarms by clicking on a desired alarm, then hold the key while clicking on the last of the desired range.
Select individual (non contiguous) alarms by clicking on each while holding down the key.
Stop the update of the alarm list by selecting the red and white X (an orange and yellow striped box will surround the list). Now use the context menu of any alarm line to acknowledge the page or the whole list.
System 800xA training
3.2.3.4 Paste into Excel Selected lines or an entire alarm list may be pasted into Excel or Word (or any other program that implements OLE).
)
Open Excel. Select a single line (or multiple lines using or ) in the alarm list, press to copy, select a cell in Excel, then to paste.
3.2.3.5 Reorganize the Alarm List via the Configuration Window Access to the configuration window by the ‘View Configuration’ shortcut in the tool bar.
)
)
Select the ‘Column’ tab, add a column with ‘AckTime’, then “Apply”. Note the results.
Reset the replacement strategy to Replace then close any faceplate or display windows that were opened. There is a toolbar button that will close all overlaps at one time. Sxx_Workplace should be the only window remaining open.
5/5
System 800xA training
Solution 3.2 Handling Alarms and Events
3.2.1 Solutions 3.2.1.1 Generate Alarms
)
) )
Open the Reactor Display, set the replacement strategy to preserve, then select the faceplates for V1 and V5.
In manual mode, open both valves, then allow the tank to overflow. Close V1 and V5, select the temperature controller, start heating until the temperature is between 90 – 110 DegC, then begin cooling until it is below 20 DegC. Repeat this heating and cooling, then stop the temperature controller.
Throughout this exercise, use the above steps to generate new alarms as needed. There is no low level alarm, but V2 and V6 can be used to lower the tank level so that V1 and V5 can be used to create additional overflow alarms.
1/5
T314-03 Solution 3.2 - RevB
3.2.1.2 Handle Alarms
) )
Click on the ‘Sxx_Reactor’ alarm band and check the alarms in the list. Open this same Alarm List by using the application bar shortcut or via the context menu of the Sxx_Reactor object. (Sxx_Reactor context menu may be opened from the pull down list as shown below or by right clicking anywhere in the Reactor display where there is no object).
Right click in open area of Reactor Display for context menu.
)
Acknowledge the ‘Tank Overflow’ alarm by clicking on the acknowledgement box on the extreme left of the alarm line. An entry in an alarm list may also be acknowledged by selecting the individual alarm line, then either select the green check mark above the heading line or select Acknowledge from the context menu.
)
2/5
Test these two methods on other alarms in the list.
System 800xA training
)
Generate a temperature alarm (either high or low), then acknowledge it by selecting the alarm button on the faceplate.
Needs acknowledged and signal still in alarm state.
After acknowledgement, but the signal is still in alarm condition.
)
)
Scroll right and examine the columns in this alarm list. Resize any column by dragging its boundary in the heading line.
Move a column by selecting it in the heading line then drag it horizontally to desired position.
3/5
T314-03 Solution 3.2 - RevB
)
Sort a column by selecting the name in the heading line, then double clicking on the name. Each double click will reverse the previous sort.
Normal (chronological)
Sorted on Message Description
Sorted on Class
3.2.1.3 Select Multiple Alarms in a List
) ) )
4/5
Select a contiguous range of alarms by clicking on a desired alarm, then hold the key while clicking on the last of the desired range. Select individual (non contiguous) alarms by clicking on each while holding down the key. Stop the update of the alarm list by selecting the red and white X (an orange and yellow striped box will surround the list). Now use the context menu of any alarm line to acknowledge the page or the whole list.
System 800xA training
3.2.1.4 Paste into Excel
)
Open Excel. Select a single line (or multiple lines using or ) in the alarm list, press to copy, select a cell in Excel, then to paste.
3.2.1.5 Reorganize the Alarm List via the Configuration Window
)
)
Click on the ‘View Configuration’ shortcut, select the ‘Column’ tab, add a column with ‘AckTime’, then ‘Apply’. Note the results.
Reset the replacement strategy to Replace then close any faceplate or display windows that will close all overlaps at one that were opened. There is a toolbar button time. Sxx_Workplace should be the only window remaining open.
5/5
System 800xA training
Exercise 3.3 Operating Trend Displays
3.3.1 Goals Discover the basic skills necessary for operating Trend displays in the 800xA system.
3.3.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/4
T314-03 Exercise 3.3 - RevB
3.3.3 Exercise Steps
)
Open the Reactor Display then start the batch process. Allow it to run through completion, then run again. This will generate process changes for more meaningful values of the trended signals.
3.3.3.1 Operate Trend Displays A trend display may be opened with a shortcut button, an aspect link, an entry in the context menu, or it may be embedded in a process display.
)
Select the first shortcut button to open a trend display.
This same trend display may also be opened using the ‘Trend’ button in the ‘Object Search’, or the context menu of the Sxx_Reactor object.
)
2/4
Change the time scope from 30 minutes to 1 Day, 2 Hours, then back to 30 minutes.
System 800xA training
)
Deselect the check mark in row 3 of the signal table to hide the Sxx_FT1 trace then reselect it.
The entire table may be hidden by using the ‘Hide Table’ button . This does not hide the individual traces, but allows more room on the display for the trends.
) )
While running the batch program, observe the three traces and the values in the table below it. Click in the trace area, then observe the vertical green line (ruler) as well as the associated ruler values in the table.
3/4
T314-03 Exercise 3.3 - RevB
)
Use the “Zoom” and “Move Scope” buttons greater detail.
to examine the traces in
When using these buttons, the trend will stop updating. This will allow an operator time to print the trend display before an update moves the pertinent data from the screen. To reactivate the trend, press the “Stop/Start” toggle button.
)
Click on the “Magnify” button, move the gray area in the left trace to the desired position and width, then observe the data in the right trace area. Note the data in the left trace is active.
The toolbar has several other functions. The “Save” button will save any changes (Hi/Lo limits, Signal properties, Log name, etc.), the “Ruler” buttons will move and change the shape of the ruler, and the last field allows the operator to enter a specific time from which to reference the data.
3.3.3.2 Paste into Excel Trend data from a display may be pasted into Excel or Word (or any other program that implements OLE). Only visible traces will get copied, so values from any trace that has been hidden will not get copied.
) )
4/4
Open Excel. Click anywhere in the trace area, press to copy, select a cell in Excel, then to paste. Examine the data then save the Excel worksheet to the desktop as a file named ‘Sxx_TrendData’.
System 800xA training
Solution 3.3 Operating Trend Displays
3.3.1 Solutions
)
Open the Reactor Display then start the batch process. Allow it to run through completion, then run again. This will generate process changes for more meaningful values of the trended signals.
3.3.1.1 Operate Trend Displays
)
Deselect the check mark in row 3 of the signal table to hide the Sxx_FT1 trace then reselect it. The entire table may be hidden by using the ‘Hide Table’ button . This does not hide the individual traces, but allows more room on the display for the trends.
1/4
T314-03 Solution 3.3 - RevB
)
) )
While running the batch program, observe the three traces and the values in the table below it.
Click in the trace area, then observe the vertical green line (ruler) as well as the associated ruler values in the table. Use the “Zoom” and “Move Scope” buttons greater detail.
to examine the traces in
When using these buttons, the trend will stop updating. This will allow an operator time to print the trend display before an update moves the pertinent data from the screen. To reactivate the trend, press the “Stop/Start” toggle button.
Note that there is no * after the time, this indicates that the trend has stopped updating.
2/4
System 800xA training
)
Click on the Magnify button, move the gray area in the left trace to the desired position and width, then observe the data in the right trace area. In the example below, a scope movement was caused by changing the time from 2:46:05 to 12:46:05. Anytime there is a scope movement, the trend will stop updating.
3.3.1.2 Paste into Excel
)
Open Excel. Click anywhere in the trace area, press to copy, select a cell in Excel, then to paste.
Pasting will create vertical columns only. The Sxx_LT1 and Sxx_FT1 signal values were then cut and pasted into the view seen above.
3/4
T314-03 Solution 3.3 - RevB
)
4/4
Examine the data then save the Excel worksheet to the desktop as a file named ‘Sxx_TrendData’. An icon will appear on the desktop.
System 800xA training
Chapter 4 Engineering Workplace
TABLE OF CONTENTS Chapter 4 Engineering Workplace................................................................................................................................................. 1 4.1 General Information............................................................................................................................................................. 2 4.1.1 Objectives ..................................................................................................................................................................... 2 4.1.2 Legend .......................................................................................................................................................................... 2 4.2 Engineering Workplace / Plant Explorer ............................................................................................................................. 3 4.2.1 What is a System?......................................................................................................................................................... 3 4.2.2 What is a Workplace? ................................................................................................................................................... 3 4.2.3 How to Start the Engineering Workplace ..................................................................................................................... 4 4.2.4 Browse the Aspect Directory ........................................................................................................................................ 5 4.2.5 Structures ...................................................................................................................................................................... 6 4.3 Structures used for Application Engineering ....................................................................................................................... 9 4.3.1 Functional Structure...................................................................................................................................................... 9 4.3.2 Control Structure ........................................................................................................................................................ 10 4.3.3 Location Structure....................................................................................................................................................... 11 4.3.4 Library Structure......................................................................................................................................................... 11 4.3.5 Object Type Structure................................................................................................................................................. 12 4.4 Structures used for Administration .................................................................................................................................... 13 4.4.1 User Structure ............................................................................................................................................................. 13 4.4.2 Workplace Structure ................................................................................................................................................... 13 4.4.3 Service Structure......................................................................................................................................................... 14 4.4.4 Maintenance Structure ................................................................................................................................................ 14 4.4.5 Additional Structures .................................................................................................................................................. 15 4.5 Handling of Objects and Aspects....................................................................................................................................... 17 4.5.1 How to Add Objects ................................................................................................................................................... 17 4.5.2 How to Add Aspects ................................................................................................................................................... 18 4.5.3 Default Aspect for an Object ...................................................................................................................................... 20 4.5.4 Aspect Inheritance ...................................................................................................................................................... 21 4.5.5 How to Insert Aspect Objects into other Structures.................................................................................................... 22 4.6 Find Tool ........................................................................................................................................................................... 23 4.6.1 Find Attributes ............................................................................................................................................................ 24 4.6.2 Quick Find Tool.......................................................................................................................................................... 24
1 / 24
T314-04 Engineering Workplace - RevB
4.1 General Information 4.1.1 Objectives On completion of this chapter you will be able to: •
Describe the common structures within Aspect Directory
•
Navigate in the Plant Explorer
•
Identify / configure aspects and objects
•
Use the same objects in different structures
4.1.2 Legend
2 / 24
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
4.2 Engineering Workplace / Plant Explorer Engineering Workplace / Plant Explorer is the tool that is primarily used for 800xA system configuration. The Engineering Workplace is the workplace used for all project work done by application engineers. The Project will exist in the Aspect Integrator Platform but the control part of it will use Control Builder as an aspect system for its configuration. Therefore when a new project is created we work partly in the Platform and partly in the Control Builder. NOTE!
Before you start, make sure that the ‘System’ is ‘Up and Active’
4.2.1 What is a System? A system is a collection of programs and services that are run together to support the HSI. At the very least there will be an Aspect server and a Connectivity server making up the system.
4.2.2 What is a Workplace? This is the working environment for a particular group of people who might wish to access the system. In a newly installed system there are 4 default workplaces provided, intended for various users. •
Engineering Workplace
•
Operator Workplace
•
Plant Explorer Workplace
•
Two Screen Plant Explorer Workplace
In a delivered system there may be more. A delivered application is likely to have a workplace tailored to the requirements of the customer.
The main difference between the Engineering Workplace and the Plant Explorer Workplace is that only the Engineering Workplace allows you to use advanced tools such as Function Designer and Bulk Data Manager. NOTE!
The system extension “Engineering Base” must be loaded to have the Engineering Workplace available.
3 / 24
T314-04 Engineering Workplace - RevB
4.2.3 How to Start the Engineering Workplace You can access the Engineering Workplace by right-clicking on “My ePlant” on your computer desktop and then select ‘Engineering Workplace:
Another method is to navigate through the Windows menu structure from the Start button as shown below: Start | Programs | ABB Industrial IT 800xA | System | Workplace
The Workplace logon screen has two selection panes: •
The ‘System’ selection pane
•
The ‘Available workplaces’ pane
In a typical plant there will be only one System available. This will be the system that was built for the application.
4 / 24
System 800xA training
4.2.4 Browse the Aspect Directory Plant Explorer is used to browse and navigate in the Aspect Directory. It is used to create and manage Aspect Objects. Structure Selector Object list
Aspect list Faceplate Graphic display Aspect Preview
T = 67 C
Browse the aspect server
Aspect Directory
Plant Explorer is based on the concept of Windows Explorer. When viewing a structure, objects are in the left-hand window (pane) and aspects of the selected object are in the right-hand window (pane).
OBJECT LIST: Aspect Objects
ASPECT LIST: Aspects
ASPECT PREVIEW
5 / 24
T314-04 Engineering Workplace - RevB
4.2.5 Structures The Aspect Object concept allows organization of objects and aspects into different structures, depending on which context is to be viewed. Structures are the graphical representations of the relations that exist between different aspect objects.
Plant Explorer organizes the 800xA system into Structures that can be accessed from the pull-down menu in the upper left-hand window.
NOTE!
The same object can be seen in different structures.
There are 19 structures by default. The use of these structures will vary from system to system depending upon the needs of the person(s) that are configuring and using the system. The majority of time we use only a few of theses structures, which are marked in blue:
6 / 24
•
Control Structure
•
Functional Structure
•
Location Structure
System 800xA training
4.2.5.1 Context Menus By right-clicking on an object, the corresponding aspects will appear. Each object has certain aspects available, which can be different from one object to the other. Also the aspects have a context menu to handle the aspects themselves
Aspect Context Menu: Used to handle the aspects
Object Context Menu: Used to handle the objects
7 / 24
T314-04 Engineering Workplace - RevB
8 / 24
System 800xA training
4.3 Structures used for Application Engineering These are the main application structures of the 800xA system. These structures are primary structures, because it is assumed that most Application Engineers will perform most of their work within these structures.
4.3.1 Functional Structure The Functional Structure describes the functionality of the plant. It is used to structure the plant into systems and subsystems according to how the plant equipment operates together. By this it can also be used to organize displays, alarm sectioning and other functions that are related to the structure of the plant.
It is built up by placing aspect objects according to their hierarchical relations. The objects relate to the process and are linked with the Control Structure.
9 / 24
T314-04 Engineering Workplace - RevB
4.3.2 Control Structure The Control Structure contains the networks and nodes that are used to control the process that is the equipment of the system. It is also used to organize the process control environment in the system.
This structure contains control networks, control projects, applications, controllers, stations, different types of sub-objects (like I/O boards and process objects as well as signals assigned to different objects within this structure).
10 / 24
System 800xA training
4.3.3 Location Structure The Location Structure is supplied to help the user identify the geography or location of the objects in the plant. This structure must be built with the knowledge of what buildings, rooms and locations that exist in the site.
NOTE!
The Location Structure is optional for most projects.
4.3.4 Library Structure The Library Structure is used to categorize and store reusable entities. It contains all object type libraries and its versions. The object types of these libraries are stored in Object Type Structure. It contains the templates for such object types as the Alarm and Event List configuration, History Logs, and Trends.
11 / 24
T314-04 Engineering Workplace - RevB
4.3.5 Object Type Structure Almost all aspect objects are instances of an Object Type. The intent is to make it possible to create and efficiently re-use standardized solutions to recurring problems. An example would be a control valve. Rather than create a new and unique Aspect Object for every valve in your plant, it would be more efficient to create a few valve types. When you needed a particular solution, you would use an instance of one of your valve Object Types. When you use an instance of that object type, the aspects that are pre-defined for that object type are automatically instantiated and associated with the new instance.
12 / 24
System 800xA training
4.4 Structures used for Administration 4.4.1 User Structure The User Structure holds the defined users and user groups allowed to work in the system. You define user roles in the Configuration Wizard. All users must have a related Windows user account. The user aspect primarily contains information about a user and what the user is allowed to do within the system (his user role).
4.4.2 Workplace Structure The Workplace structure is used to define and create the layout of the screens for user interface to the system. This includes workplaces for operations, maintenance, management etc. The workplace objects types of aspect that can be placed here are numerous, and they control the layout and function of a workplace, for example tool bars and menu items.
13 / 24
T314-04 Engineering Workplace - RevB
4.4.3 Service Structure The Service Structure holds the services. A service provides a function in the system, for example, the Basic History service is associated with Log configuration.
The services are arranged into “Service Groups” and within any group there may be one or more “Service Providers”. One or more services can run on a server node.
4.4.4 Maintenance Structure The Maintenance Structure is used to define and work on Backups, System Configuration Versions, and Synchronizations.
14 / 24
System 800xA training
4.4.5 Additional Structures Other structures that contain important information or may require a one-time configuration for the system include: •
Admin Structure
•
Aspect System Structure
•
Node Administration Structure
•
Graphics Structure
4.4.6 Navigate between Structures You can easily navigate from one structure to another, if the same object is used in several structures.
Structure Selector Structure Aspects
Just click on the structure aspect and it will lead you to the place where the object is located in the other structure.
15 / 24
T314-04 Engineering Workplace - RevB
Note that the same object is shown in two different structures.
16 / 24
System 800xA training
4.5 Handling of Objects and Aspects 4.5.1 How to Add Objects Adding a New Object to a structure is as simple as a right-click.
Select the Object type, give it a unique name and select “Create”.
17 / 24
T314-04 Engineering Workplace - RevB
The new object will appear in the structure at the level that it was created. In this instance, the new object was added at the root of the structure. Any default aspects that are part of the object type will automatically appear in the aspect list.
4.5.2 How to Add Aspects Adding a New Aspect to an object is also as simple as a right-click.
18 / 24
System 800xA training
Select the Aspect type, give it a unique name and select “Create”.
The Alarm and Event List aspect has been added to the Reactor_11 object. The main view of this new aspect is visible is visible in the preview pane. The user may toggle the preview pane (viewable or not) as desired.
19 / 24
T314-04 Engineering Workplace - RevB
4.5.3 Default Aspect for an Object Each object may have one (and only one) aspect set as the default aspect. By doing so, this will be the aspect that is automatically viewed in the preview pane while working in the Plant Explorer. In an operator workplace context menu, it is the default aspect that is at the top of the aspect list. It is also the aspect that will be acquired when there is a left mouse click on the object. NOTE!
Often the default aspect is the Faceplate of an object like a motor or valve.
To set a default aspect for an object… 1. Right click on the desired aspect. 2. Select “Properties”.
3. Select the Aspect Details tab and check the box marked “Default aspect”.
4. Select “Apply” or “OK”.
20 / 24
System 800xA training
The Alarm and Event List is now set as the default aspect for the Reactor_11 object. If another aspect is set to default status after this one, then it becomes the default aspect. In other words, last aspect set to “default”, WINS.
4.5.4 Aspect Inheritance Some aspect properties cannot be modified because the properties are inherited from the Object Type structure. Note that in the Inherited column, the value for the highlighted aspect is set to true.
To modify the aspect properties, you may Override the inheritance.
21 / 24
T314-04 Engineering Workplace - RevB
After selecting “Override”, the value in the Inherited column is now set to false and you may edit the aspect properties. NOTE!
Once override is selected it is not possible to revert to “inhereted”.
4.5.5 How to Insert Aspect Objects into other Structures One of the time-saving features of the Aspect Object technology, is the ability to reuse objects in other structures. You may have previously created an Aspect Object and defined the aspects required for it. Now you find that you need that identical object in another structure. This means that you can identify the characteristics of the object (aspects) once, and use that object wherever it is necessary.
In the following example, we have navigated to the root of the Functional Structure. 1. Right click on the Root. 2. Select “Insert Object”.
3. From the pull-down menu, navigate to the structure that has the desired object. 4. Select the desired object and select “Insert, Close”.
The Reactor_11 object (with all of it’s aspects) is now part of the Functional Structure.
22 / 24
System 800xA training
4.6 Find Tool The “Find Tool” provides fast access to one particular aspect or objects by clicking on the following icon:
In the “Find tool”, enter the name of an object or the path to an object as a search criteria and then search for the object that you are looking for. It is also possible to search for aspects.
NOTE!
Use wild card searches, if you are uncertain of the exact name.
Use the “*” character as a substitution for zero, or one or more characters, and the “?” sign to substitute exactly one character.
Find queries are defined in the Find Query Definition area in the Find Tool. This is the main input and user interface area of the Find dialog.
NOTE!
Queries can be saved for further reuse.
23 / 24
T314-04 Engineering Workplace - RevB
4.6.1 Find Attributes The search query can be defined more detailed by using additional Find Attributes.
In this example, you can specify to search in which structure.
4.6.2 Quick Find Tool Navigating to items in Plant Explorer is performed by browsing the structures and trees. Another way is to use the Quick Find tool to get quick access to an object. Quick Find searches for objects with the name that has been entered or selected in the list. If an object is found it will be selected in the list and in the Object Browser.
NOTE!
24 / 24
You can not search for Aspects with this tool.
System 800xA training
Exercise 4.1 Navigating in the Engineering Workplace
4.1.1 Goals Explore the more commonly used structures, identify objects and aspects, and navigate within the Engineering Workplace and Plant Explorer Workplace.
4.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/5
T314-04 Exercise 4.1 - RevB
4.1.3 Exercise Steps There are two standard engineering workplace environments, the Engineering Workplace and the Plant Explorer Workplace. They look identical, except that the Engineering Workplace has additional engineering tools (e.g. Function Designer, Bulk Data Manager) available.
4.1.3.1 Open the Engineering Workplace
)
Open the Engineering workplace from the ‘My ePlant’ shortcut on the desktop.
)
Identify the four key areas in the workplace. Structure Browser / Object List / Aspect List / Aspect Preview Area
2/5
System 800xA training
4.1.3.2 View the Functional Structure
)
)
)
Select the Functional Structure from the Structure Browser.
Expand the Functional Structure and identify the objects used in the Reactor Display and other displays found in the Sxx_Workplace.
Click on the following objects and describe what appears in the aspect preview area for each one. Explain. 1. Sxx_Reactor 2. Sxx_Outflow 3. Sxx_FIC2 4. Sxx_V1 5. Sxx_Storage
)
Select the MainFaceplate for Sxx_V5, place it in manual, then open and close the valve. The faceplate may be selected through the context menu of the object, by using it via the aspect preview area, or by double clicking it from the aspect list.
3/5
T314-04 Exercise 4.1 - RevB
4.1.3.3 View the Control Structure The Control Structure will be one of the most often used by engineers. It closely resembles the project in the Control Builder. Just as in the Functional Structure, an object may be controlled via its faceplate from this structure also.
) )
Select the Control Structure from the Structure Browser. Expand the ‘Control Modules’ and ‘Programs’ objects within Sxx_ReactorApp to identify many of the same objects (e.g. Sxx_V1, Sxx_FIC2, Sxx_FT1) just viewed in the Functional Structure.
Some of the same objects may be found in both the Functional and Control Structure. The Control Structure is created as a result of the project in Control Builder, but the Functional Structure is user defined and may not have all of the objects, programs, and control modules from the project.
) )
4/5
Select the faceplate for Sxx_V5, then open and close the valve in manual. Expand the ‘Controllers’ part of the tree to view the AC800M controller and I/O hardware that has been configured to match the physical controller in the classroom.
System 800xA training
4.1.3.4 View the Library Structure The Library Structure contains ‘templates’ which determine the appearance of various aspects in the system. The formats (layout, colors, fonts, etc.) for the alarm lists and trend displays and the history log templates are defined here.
) )
)
)
Select the Library Structure from the Structure Browser. Expand the ‘Alarm and Event Configurations’ group object and select the ‘Sxx Alarm List’ object.
With ‘Sxx Alarm List’ still selected, click on the ‘Alarm and Event List Configuration’ aspect to view its configuration in the aspect preview area.
Examine the various tabs (Sort, Priorities, Column, TimeDate, Filter) which determine the content, order and format for any alarm list that uses ‘Sxx_Alarm List’ as a template.
5/5
System 800xA training
Solution 4.1 Navigating in the Engineering Workplace
4.1.1 Solutions 4.1.1.1 Open the Engineering Workplace
)
Open the Engineering workplace from the ‘My ePlant’ shortcut on the desktop:
)
Identify the four key areas in the workplace. Structure Browser / Object List / Aspect List / Aspect Preview Area
Structure Browser
Object List
Aspect List
Aspect Preview Area
1/6
T314-04 Solution 4.1 - RevB
4.1.1.2 View the Functional Structure
)
)
Select the Functional Structure from the Structure Browser.
Expand the Functional Structure and identify the objects used in the Reactor Display and other displays found in the Sxx_Workplace.
The four valves and most of the other objects were all used on the Reactor Display.
)
Click on the following objects and describe what appears in the aspect preview area for each one. Explain. 1. Sxx_Reactor Æ Reactor Display 2. Sxx_Outflow Æ Maintenance 1 Display 3. Sxx_FIC2 Æ Faceplate of Sxx_FIC2 4. Sxx_V1 Æ Faceplate of Sxx_V1 5. Sxx_Storage Æ Storage Display These are the default aspects of the object, therefore when a user clicks on the object in any workplace, the default aspect will appear.
2/6
System 800xA training
)
Select the MainFaceplate for Sxx_V5, place it in manual, then open and close the valve. The faceplate may be selected through the context menu of the object, by using it via the aspect preview area, or by double clicking it from the aspect list.
4.1.1.3 View the Control Structure
) )
Select the Control Structure from the Structure Browser. Expand the ‘Control Modules’ and ‘Programs’ objects within Sxx_ReactorApp to identify many of the same objects (e.g. Sxx_V1, Sxx_FIC2, Sxx_FT1) just viewed in the Functional Structure.
3/6
T314-04 Solution 4.1 - RevB
Some of the same objects may be found in both the Functional and Control Structure. The Control Structure is created as a result of the project in Control Builder, but the Functional Structure is user defined and may not have all of the objects, programs, and control modules from the project.
) )
4/6
Select the faceplate for Sxx_V5, then open and close the valve in manual. Expand the ‘Controllers’ part of the tree to view the AC800M controller and I/O hardware that has been configured to match the physical controller in the classroom.
System 800xA training
4.1.1.4 View the Library Structure
) )
) )
Select the Library Structure from the Structure Browser. Expand the ‘Alarm and Event Configurations’ group object and select the ‘Sxx Alarm List’ object.
With ‘Sxx Alarm List’ still selected, click on the ‘Alarm and Event List Configuration’ aspect to view its configuration in the aspect preview area. Examine the various tabs (Sort, Priorities, Column, TimeDate, Filter) which determine the content, order and format for any alarm list that uses ‘Sxx_Alarm List’ as a template.
5/6
T314-04 Solution 4.1 - RevB
6/6
System 800xA training
Exercise 4.2 Handling of Aspects and Objects
4.2.1 Goals Discover the basic skills for handling objects and aspects. Create new objects and aspects and modify the configuration of a given aspect. Insert objects form one structure to another. Find objects and aspects within the system.
4.2.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/7
T314-04 Exercise 4.2 - RevB
4.2.3 Exercise Steps Each object has a set of aspects which give it its ‘character’. Not all objects have the same set of aspects, some have more than others.
4.2.3.1 Identify Objects and Aspects
) )
) )
Open the Functional Structure in the Engineering Workplace. Expand the object tree below the object ‘Sxx_Reactor’, select Sxx_V1 and observe its aspect list.
Now select other objects such as Sxx_Reactor, Sxx_Outflow, and Sxx_FIC. Note the differences between the aspect lists. What is the default aspect for each of these objects?
4.2.3.2 Create Objects and Aspects At times it may be necessary to create new objects and aspects to configure templates, displays, or to maintain the organization of the project.
)
2/7
Select the ‘Root, Domain’ object, right click and choose New Object… from the context menu.
System 800xA training
)
) )
)
Select ‘Generic Type’, type Sxx_Exercises in the Name field, then push the “Create” button.
Observe the aspect list associated with this new object. Right click on Sxx_Exercises then select New Aspect… from the context menu.
Select ‘List presentation’, select Windows Application (use scroll buttons), type Trend Data Windows Application in the name field, then push the “Create” button.
3/7
T314-04 Exercise 4.2 - RevB
The windows application aspect is used to open a file using the application the file is associated with. This can be any window based application including a maintenance or work order program, MS Office applications, etc. The aspect just created will be used to open the Excel trend data that was saved in a previous lab.
)
)
Click on the ‘Trend Data Windows Application’ aspect. Its configuration view should appear in the aspect preview area.
Using the “Windows Application: Browse…” button, select the path for Excel.exe. C:\Program Files\Microsoft Office\ Office11\ Excel.exe
)
)
Using the “Program arguments: Browse…” button, select the path for Sxx_TrendData.xls (Desktop) then “Apply”.
Right click on the ‘Trend Data Windows Application’ aspect, then select Open.
Note that the file being opened is fully capable of being modified and saved.
) 4/7
Close the Excel application.
System 800xA training
4.2.3.3 Insert Objects Inserting objects from the Control Structure into the Functional Structure is a way of organizing the plant objects into manageable areas. Alarm and security configuration may also benefit from an organized Functional Structure.
)
)
) ) )
) )
Right click on the Sxx_Exercises object and select Insert Object…
Select the Control Structure, expand the object tree, select Sxx_V1 then push the “Insert” button.
In the same dialog box, select Sxx_V2, push “Insert” then “Close”. Expand the Sxx_Exercises object. What is the result? Select Sxx_V1 then double click on the Control Structure aspect of Sxx_V1. What is the result?
From this Control Structure window, double click one of the two Functional Structure aspects. What is the result? Explain the reason for two Functional Structure aspects.
5/7
T314-04 Exercise 4.2 - RevB
4.2.3.4 Find Objects and Aspects The object search tool ‘(Enter search name)’ was used in a previous lab and is available in either the Operator Workplace or Engineering Workplace environment. Also, there is a ‘Find Tool’ that allows the user to search for either objects or aspects.
)
Select the Find tool from the toolbar. The searches are flexible because specific names, wild card characters, or general categories may be used.
)
)
) )
6/7
In the dialog box, select ‘Aspects’ instead of ‘Objects’ then choose ‘Aspect Category’ from the pull down list.
Select Trend Display from the list (use scroll bars), then press “Search”.
In the upper right area of the dialog box, right click on ‘Sxx_Reactor: Trend Display’ then select Main View from the context menu. What is the result? Instead of selecting ‘Main View’, select Go to object from the context menu. What is the result?
System 800xA training
) )
)
Repeat for the other trend display in the list. Now use the find tool to search for all objects beginning with the letters Sxx. The asterisk (*) is used as a wild card. What is the result?
Right click on one of the objects found. How does this context menu differ from the trend display aspects in the previous part of the lab exercise?
7/7
System 800xA training
Solution 4.2 Handling of Aspects and Objects
4.2.1 Solutions 4.2.1.1 Identify Objects and Aspects
) )
)
Open the Functional Structure in the Engineering Workplace. Expand the object tree below the object ‘Sxx_Reactor’, select Sxx_V1 and observe its aspect list.
Now select other objects such as Sxx_Reactor, Sxx_Outflow, and Sxx_FIC. Note the differences between the aspect lists.
The differences are the number and type of aspects in each list. For example, Sxx_Reactor and Sxx_Outflow have graphic display aspects, the other two do not.
)
What is the default aspect for each of these objects? The default aspect for Sxx_Reactor and Sxx_Outflow is their associated graphic display, but Sxx_FIC and Sxx_V1 each have a faceplate as the default aspect.
1/7
T314-04 Solution 4.2 - RevB
4.2.1.2 Create Objects and Aspects
)
)
Select the ‘Root, Domain’ object, right click and choose New Object… from the context menu.
Select ‘Generic Type’, type Sxx_Exercises in the Name field, then push the “Create” button.
)
Observe the aspect list associated with this new object.
)
Right click on Sxx_Exercises then select New Aspect… from the context menu.
)
)
)
Select ‘List presentation’, select Windows Application (use scroll buttons), type Trend Data Windows Application in the name field, then push the “Create” button.
Click on the ‘Trend Data Windows Application’ aspect. Its configuration view should appear in the aspect preview area.
Using the “Windows Application: Browse…” button, select the path for Excel.exe. C:\Program Files\Microsoft Office\ Office11\ Excel.exe
2/7
System 800xA training
)
)
Using the “Program arguments: Browse…” button, select the path for Sxx_TrendData.xls (Desktop) then “Apply”.
Right click on the ‘Trend Data Windows Application’ aspect, then select Open.
Note that the file being opened is fully capable of being modified and saved.
)
Close the Excel application.
3/7
T314-04 Solution 4.2 - RevB
4.2.1.3 Insert Objects
) )
4/7
Right click on the Sxx_Exercises object and select Insert Object… Select the Control Structure, expand the object tree, select Sxx_V1 then push the “Insert” button.
)
In the same dialog box, select Sxx_V2, push “Insert” then “Close”.
)
Expand the Sxx_Exercises object. What is the result?
System 800xA training
)
)
Select Sxx_V1 then double click on the Control Structure aspect of Sxx_V1. What is the result?
From this Control Structure window, double click one of the two Functional Structure aspects. What is the result?
It opens a window showing the location of Sxx_V1 in the functional structure.
)
Explain the reason for two Functional Structure aspects. Sxx_V1 occurs twice in the Functional Structure, once under the Sxx_Reactor object and again under the Sxx_Exercises object. Each of these ‘Functional Structure’ aspects points to one of these two locations.
5/7
T314-04 Solution 4.2 - RevB
4.2.1.4 Find Objects and Aspects
) )
)
)
6/7
Select the Find tool from the toolbar. In the dialog box, select ‘Aspects’ instead of ‘Objects’ then choose ‘Aspect Category’ from the pull down list.
Select Trend Display from the list (use scroll bars), then press “Search”.
In the upper right area of the dialog box, right click on ‘Sxx_Reactor: Trend Display’ then select Main View from the context menu. What is the result?
System 800xA training
Instead of selecting ‘Main View’, select Go to object from the context menu. What is the result?
It will navigate to the object in the appropriate structure.
) )
)
Repeat for the other trend display in the list. Now use the find tool to search for all objects beginning with the letters Sxx. The asterisk (*) is used as a wild card. What is the result?
Right click on one of the objects found. How does this context menu differ from the trend display aspects in the previous part of the lab exercise?
Since each of these items is an object, the context menu will contain a list of its aspects. The context menu of the trend display aspect was shorter because it only had action items associated with that particular aspect.
7/7
System 800xA training
Chapter 5 OPC Connectivity
TABLE OF CONTENTS Chapter 5 OPC Connectivity ......................................................................................................................................................... 1 5.1 General Information............................................................................................................................................................. 2 5.1.1 Objectives ..................................................................................................................................................................... 2 5.1.2 Legend .......................................................................................................................................................................... 2 5.2 OPC communication............................................................................................................................................................ 3 5.2.1 OPC standard ................................................................................................................................................................ 3 5.2.2 Structure and Data flow ................................................................................................................................................ 4 5.2.3 MMS Server.................................................................................................................................................................. 5 5.2.4 OPC Terms ................................................................................................................................................................... 5 5.2.5 AfW OPC Service Model ............................................................................................................................................. 6 5.3 OPC Server Settings ............................................................................................................................................................ 9 5.3.1 Start OPC Server........................................................................................................................................................... 9 5.3.2 How to Setup Data Access Connection ........................................................................................................................ 9 5.3.3 How to Setup Alarm and Event Connection ............................................................................................................... 10 5.3.4 How to Load an Autoload Configuration ................................................................................................................... 10 5.4 OPC Settings in 800xA...................................................................................................................................................... 11 5.4.1 How to Setup OPC Data Access Connectivity ........................................................................................................... 11 5.4.2 How to Setup OPC Alarm and Event Connectivity .................................................................................................... 12 5.5 Check OPC connectivity.................................................................................................................................................... 15 5.5.1 How to Use the Property View ................................................................................................................................... 15 5.5.2 How to Use the System Status Viewer ....................................................................................................................... 16
1 / 16
T314-05 OPC Connectivity - RevB
5.1 General Information 5.1.1 Objectives On completion of this chapter you will be able to: •
Describe communication structure and data flow
•
Explain the necessary settings
•
Verify communication (live data)
5.1.2 Legend
2 / 16
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
5.2 OPC communication 5.2.1 OPC standard OPC stands for OLE for Process Control. OLE (Object Linking and Embedding) is a Microsoft technology for objects to interact with each other. OLE is based on COM or DCOM. OLE allows placement of “embedded objects” and “linked objects” in a document that retains the native data used to create them (or a “link” to that data) as well as format information. In simpler terms, the ‘clipboard’ metaphor of ‘cut’, ‘copy’, and ‘paste’. A double-click allowed the object data to be automatically brought back into the original editor.
The OPC Foundation is a non-profit corporation that has established a set of standard OLE/COM interface protocols advancing interoperability between automation/control applications, field system/devices and business/office applications in the process control world.
While OLE was originally designed for office applications (e.g. Word, Excel). OPC technology is an extension of that protocol for industrial applications. NOTE!
OPC is an open standard. For further information see www.opcfoundation.org
OPC provides a mechanism to provide data from a data source and communicate the data to any client application in a standard way. OPC is a group defined protocol for process control data communication. It has three interfaces as follows: •
OPC Data Access for real time data.
•
OPC Historical Data Access for historical data.
•
OPC Alarm and Event for event data.
3 / 16
T314-05 OPC Connectivity - RevB
5.2.2 Structure and Data flow The OPC Server for AC800M is needed for reading run-time data or alarms and events from controllers. The OPC Server for AC800M consists of the following parts: OPC Data Access Server The OPC Data Access Server provides data from controllers programmed with Control Builder through an OPC Data Access 2.0 and 1.0A interface. OPC Alarm and Event Server The OPC Alarm and Event Server generate a stream of information, mostly event notifications, and distribute them to the Alarm and Event clients. OPC Alarm and Event 1.02 standard is supported.
Aspect Server
Connectivity Server
The OPC Server must be installed in the same physical node as the Connectivity Server. A maximum of two OPC servers are allowed to subscribe to Data Access and/or Alarm and Event from one controller.
4 / 16
System 800xA training
5.2.3 MMS Server The MMS Server resembles a switchboard between the OPC Server and the Control Network. The server is automatically installed when the Control Builder, or the OPC Server is installed, so no further action is required.
MMS stands for “Manufacturing Message Specification” and is an ISO 9506 standard. For further information look at: www.nettedautomation.com/standardization/ISO/TC184/SC5/WG2
The protocol defines communication messages transferred between controllers as well as between the engineering station (such as Control Builder) and the controller (e.g. downloading an application or reading/writing variables). It has been developed especially for industrial applications. The protocol can be used on many different networks, but preferably on the TCP/IP network, which is the most commonly used network today.
5.2.4 OPC Terms Data is passed between OPC Servers and OPC Clients via subscriptions made to OPC Items (tags). OPC Server OPC Server is a software application that establishes a connection to the field device and serves data to OPC compliant applications. OPC Item This is the syntax (tag name) used to reference a register or bit location in the field device (PLC, Valve, Power Monitor Meter etc…) OPC Client OPC Client is a software application that attaches to an OPC Server application and establishes the OPC Items it wishes to read/write.
5 / 16
T314-05 OPC Connectivity - RevB
5.2.5 AfW OPC Service Model An Afw Service is designed to run around the clock. It is portioned into several service groups, each group handling part of the scope of the service. For redundancy each group can contain several service providers running on different servers. Aspect Directory
800xA Clients
Client/Server Network
Afw OPC Service Service Group Service Provider
Service Group Service Provider
Service Provider
Service Provider
redundant Connectivity Servers
redundant Connectivity Servers
AC 800M controllers
Controller XXX
Using information from the Aspect Directory, a service handler provides one uniform interface to the service, relieving the client applications from having to deal with issues such as how the service is partitioned, redundant service providers, etc. NOTE!
6 / 16
A Service Provider resides always in a dedicated node.
System 800xA training
A typical example is the OPC communication:
OPC Client: Service Structure
800xA Clients
Aspect Server
OpcDA Connector, Service
Event Collector, Service
1 Service Group for each CS or CS-pair
1 Service Group for each CS or CS-pair
Service Provider ex. CS1/2
Service Provider ex. CS2/2
Service Provider ex. CS1/2
Service Provider ex. CS2/2
Client/Server Network
OPC Server Connectivity Server
DA
AE
Data Access
Alarm & Events
Control Network
AC 800M controller
The Afw OPC server concept allows many different OPC servers to be placed under one common server that unifies access to data from different sources. This common server provides one set of OPC compliant interfaces, eliminating the need for client applications to know which OPC server to use for each data item.
7 / 16
T314-05 OPC Connectivity - RevB
8 / 16
System 800xA training
5.3 OPC Server Settings All settings in this section must take place in the Connectivity Server.
5.3.1 Start OPC Server Start the OPC Server from the Windows Start menu: Programs | ABB Industrial IT | 800xA System | Control and IO | OPC Server for AC 800M/C
5.3.2 How to Setup Data Access Connection 1. Select the tab card “Data Access”. 2. Type in the controllers IP-Address into the Controller Identity input field. To simplify the connection of controllers, there is a function to find all available controllers on the Control Network. Select View | Available Controllers from the OPC Server Configuration panel, to get a list of controllers.
The controller addresses can be “dragged and dropped” from the list to the OPC Server Configuration panel. 3. Click the button “Connect”. The “Smiley” indicates that the connection is up and running.
9 / 16
T314-05 OPC Connectivity - RevB
5.3.3 How to Setup Alarm and Event Connection 1. In the OPC Server click onto the “Alarm and Event” tab card. 2. Choose the controller in the same way as for the Data Access connection. 3. Click the button “Connect”. The Alarm and Event connection to the controller exists if the “smiley” face is shown.
5.3.4 How to Load an Autoload Configuration Autoload enables an automatic loading of a preconfigured OPC server setup to be loaded and run whenever the computer reboots. Thus obviating the need for any user intervention or start up configuration. 1. Click onto the menu entries Settings | Autoload Configuration… 2. Enable “Autoload Configuration” by clicking the check box.
3. Click onto the browse button and select the configuration file from disc. 4. Accept all dialogs. The Autoload Configuration is enabled now.
10 / 16
System 800xA training
5.4 OPC Settings in 800xA To get connectivity to the AC800M OPC Server some settings are necessary in the Engineering Workplace.
5.4.1 How to Setup OPC Data Access Connectivity These adjustments are located on the object, which is placed in the Control Structure. 1. Move into the Control Structure of the Process Portal. Click onto the Control Network object and select the OPC Data Source Definition aspect of this object. 2. Select the tab card “Connectivity” of the OPC Data Source Definition aspect. The Service Group is named by default.
11 / 16
T314-05 OPC Connectivity - RevB
3. To get a view about the kind of OPC Server which is used in the Process Portal please click onto the tab card “OPC Configuration”. This is configured by the entry ABB.AC800MC_OpcDaServer.3.
5.4.2 How to Setup OPC Alarm and Event Connectivity Setting up the OPC alarm and event connectivity is necessary to generate and view alarm and event on 800xA. The services for Alarm and Event are found in the Service Structure.
You have to connect to an OPC Alarm Server (collector) before you can get any alarms and events.
12 / 16
System 800xA training
1. Go to the Service Structure and open Event Collector, Service.
2. Select the Service Group object (in our example it is called “AC800M). 3. Select the “Configuration” tab of the Service Provider Definition aspect for the Service Provider Object. Verify that the service is enabled and that the node of your Connectivity Server is selected.
13 / 16
T314-05 OPC Connectivity - RevB
4. Navigate back to the Service Group previously. Select the “Special Configuration” tab of the Service Group Definition aspect. 5. Select as Alarm Server the OPC Server that is your collector (supplier of alarm and event information). Usually it is called “OPC AE Server for AC 800M”.
6. Verify that “OPC AE Server for AC 800M” is set in the Collection Definition drop-down list box.
14 / 16
System 800xA training
5.5 Check OPC connectivity 5.5.1 How to Use the Property View To check the connectivity you can open a control aspect for a control object in the Control Structure, e.g. a program or object. In the pictures below we use the Function Block aspect of the object SignalInReal_1 to check if the OPC connection is working well. 1. Open the Config View for the Function Block aspect of an object in the Control Structure. 2. In the Config View please select the tab card “Property View”. Enable the option Subscribe for live data to get the live data from the OPC-Server. 3. If the Quality column displays Good, then the connection to the OPC-Server is ok.
15 / 16
T314-05 OPC Connectivity - RevB
5.5.2 How to Use the System Status Viewer The System Status Viewer is an aspect in the Service Structure (located at the Services object). This aspect provides knowledge about the services of the Process Portal. The service of the OPC-Server which is connected to the Process Portal also exists in the System Status Viewer.
The green color indicates that the service is running well. In case of problems a red color indicates a failed service (displayed in the picture below).
16 / 16
System 800xA training
Exercise 5.1 Checking the OPC Communication
5.1.1 Goals Check the OPC connectivity between your AC 800M controller and the 800xA System. Examine the diagnostic windows which assist in diagnosing problems with connectivity.
5.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/6
T314-05 Exercise 5.1 - RevB
5.1.3 Exercise Steps 5.1.3.1 Check the OPC Server
) )
Open the OPC Server through the desktop icon.
Observe that the OPC Server is running and that the IP address of your AC800M classroom controller appears in the ‘Connected Controllers’ area for both the “Data Access” and “Alarm and Event” tabs in the dialog box.
The “Data Access” tab points to the controller(s) from which typcial data values are to be collected and the other tab is for the Alarm and Event collection. Good connections are represented by yellow ‘Smiley’ icons and bad connections are shown as red icons.
5.1.3.2 Check the OPC and Event Services Clients connected to the system must know where to go for data from the control network. Data access between clients and controllers is provided by the OpcDA_Connector Service. The data used for alarm and event messaging and acknowlegement is provided by the Event Collector Service. The status of these services can be seen in the Service Structure.
) )
2/6
Go to the Service Structure and expand the object tree. Expand the OpcDA_Connector service to show the configuration of the Service Group and the Service Provider.
System 800xA training
)
Select the OpcDA_Connector service object and then the Service Definition aspect. The “Status” tab indicates the state and the node providing this service.
A state of ‘Service’ is a normal condition.
)
Select the SG_Sxx_Control_Network service group object and then the Service Group Definition aspect.
Note that the server name is listed in the Providers and that this service is Enabled.
)
)
The status tab contains the same type of information as mentioned previously.
Select the Service Provider Definition aspect of the OPCDA_Provider_ASCLx object.
3/6
T314-05 Exercise 5.1 - RevB
) )
) )
4/6
Explore the “Configuration” tab taking note of the Enabled flag and the contents of the Service Node field. Expand the Event Collector service and note that there are two service groups and service providers. The AC800M HW Service Group and associated provider are being used for the hardware controller.
Repeat the steps above in exploring configuration details and the status of both the AC800M service group and the AC800M service provider. Select the AC800M HW service group object again, then the Service Group Definition aspect. Now, select the “Special Configuration” tab to reveal the type of alarm and event server that will be providing the data.
System 800xA training
5.1.3.3 Verify Live Data Verification of live data coming through the OPC server may be done within the Control Structure. Live data may be viewed with the faceplate of an object or through aspects that are directly linked to the OPC data. The names of these aspects are usually the same as the object type it represents (e.g. ‘Application’ aspect for a Control Application’ object, ‘Program’ aspect for a ‘Control Program’ object, etc.).
)
Expand the Control Structure and select Sxx_V1. Using the faceplate in the aspect preview area, change the mode to manual, then open and close the valve.
If there was no live data, there would be diagonal lines through the faceplate.
)
Select the Function Block aspect of Sxx_V1. In the aspect preview area, select the Property View tab then check the box to ‘Subscribe for Live Data’.
The ‘Values’ and ‘Quality’ columns will indicate the status of the data from the OPC server.
)
Repeat these steps for the Sxx_LSH2 signal.
5/6
T314-05 Exercise 5.1 - RevB
)
Select the Sxx_ReactorApp, then the Application aspect, then subscribe for live data. This list contains all of the global variables defined in this application.
5.1.3.4 Use the System Status Viewer A System Status Viewer aspect in the Service Structure may be used to verify that all services, including the OpcDA_Connector and Event Collector services are OK.
)
6/6
Select the Main View from the context menu of the System Status Viewer.
System 800xA training
Chapter 6 Application Structures
TABLE OF CONTENTS Chapter 6 Application Structures................................................................................................................................................... 1 6.1 General Information............................................................................................................................................................. 2 6.1.1 Objectives ..................................................................................................................................................................... 2 6.1.2 Legend .......................................................................................................................................................................... 2 6.2 Automation Solution............................................................................................................................................................ 3 6.2.1 Control Project.............................................................................................................................................................. 4 6.2.2 Working in the Engineering Workplace / Plant Explorer ............................................................................................. 4 6.2.3 Working in the Project Explorer of Control Builder M ................................................................................................ 4 6.2.4 How to Start the Control Builder M.............................................................................................................................. 5 6.3 Project Explorer – Overview ............................................................................................................................................... 7 6.3.1 Online Help................................................................................................................................................................... 8 6.3.2 Toolbar Buttons ............................................................................................................................................................ 9 6.3.3 Project Tree................................................................................................................................................................... 9 6.3.4 Limits.......................................................................................................................................................................... 12 6.4 The POU Editor ................................................................................................................................................................. 13 6.4.1 Program Organization Units ....................................................................................................................................... 13 6.4.2 Editor Overview.......................................................................................................................................................... 14 6.4.3 Declaration Pane ......................................................................................................................................................... 16 6.4.4 Message Pane.............................................................................................................................................................. 17 6.4.5 Code Pane ................................................................................................................................................................... 19 6.5 Test (Simulation) Mode ..................................................................................................................................................... 21 6.6 Control Structure – Project Explorer ................................................................................................................................. 23 6.6.1 Synchronization .......................................................................................................................................................... 24
1 / 24
T314-06 Application Structures - RevB
6.1 General Information 6.1.1 Objectives On completion of this chapter you will be able to: •
Navigate in the Project Explorer
•
Describe application structures
•
Describe the POU editor
6.1.2 Legend
2 / 24
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
6.2 Automation Solution An Automation Solution is the integrated automation system for administration, maintenance and control. In System 800xA, you can create and handle many Control Projects which can comprise libraries, applications, controllers, security, graphic, history logs, etc. The Project Explorer in Control Builder M and the Plant Explorer / Engineering Workplace should be considered as two separate interfaces for building and maintaining Control projects.
800xA System Plant Explorer / Engineering Workplace
Control Builder M Project Explorer Handles one Control project Builds Control projects Download to AC 800M controller
Control system
AC800M Aspect System
Handles many Control projects Administer Control projects Faceplates and Alarm Lists
Operator Workplace
As an engineer you will continuously shift between the Project Explorer (Control Builder M) and the Plant Explorer (800xA workplace) while building Control Projects.
Control Builder M Professional is the certified tool to configure SIL certified applications. SIL stands for Safety Integrity Level, as specified in the standard IEC61508. To run SIL certified AC 800M applications, you need the SIL certified AC 800M High Integrity controller.
3 / 24
T314-06 Application Structures - RevB
6.2.1 Control Project Engineers, who are new with the Control Builder M programming tool, typically equate a program to a Control project. It is not the same thing. Control projects are the 'traditional' programs for control within each geographical plant area (Control Network). They hold all the applications and controllers for controls like library objects, IEC 61131-3 code, hardware configuration, faceplates, etc.
6.2.2 Working in the Engineering Workplace / Plant Explorer The following actions can/should only take place from the Engineering Workplace Plant Explorer: •
View Aspects in Structures
•
Editing graphics with Visual Basic
•
Working with the Import/Export Tool for subsets of an Automation System
•
Maintaining Backup and Restore for a complete Automation Solution
•
Configuring security
•
Maintaining Libraries via 'Library version definition' aspect
•
Creating new library versions
6.2.3 Working in the Project Explorer of Control Builder M The following actions can/should only take place from the Project Explorer:
4 / 24
•
Creating hardware The Project Explorer only provides (lists) the relevant modules that can be connected to a certain object.
•
Setting an application in Test and Simulate mode
•
Upgrading applications
•
Downloading applications to controllers
•
Setting task connections
System 800xA training
6.2.4 How to Start the Control Builder M Note that building operations for libraries and applications can be done to a great extent in the Project Explorer as well as in the Engineering Workplace. A Control Network is used to group connected OPC Servers. A Control Project groups applications and controllers together from the Project Explorer. Several Control Projects can be created in one Control Network. NOTE!
The “Control Network” in the Control Structure corresponds to the physical Control Network.
Right mouse click on the Project_XX, Control Project of the Control Structure and select “Open Project” from the context menu.
This will open the Control Builder M application.
5 / 24
T314-06 Application Structures - RevB
You can also start Control Builder M Professional from the start menu of Windows. Start | Programs | ABB Industrial IT | 800xA Engineer IT Control Builder M
It is also possible to use the shortcut on the desktop if this was installed.
6 / 24
System 800xA training
6.3 Project Explorer – Overview The Project Explorer is a separate window with a menu bar and a Toolbar. The window is split into two separate viewing areas (panes). In the upper pane, the project is displayed in a tree view control with folders and in the lower pane there are three tab controls for Description, Check and Message.
The Project Explorer is a tool you can use to create, modify and navigate in a project. You can select all objects such as data types; functions and function block types and display them in an editor.
Lower Pane / Description Tab A description, written in the editor (e.g. the program editor), of the selected object in the tree view control is displayed in the Description tab. Lower Pane / Check Pane A check of a selected object, e.g., an Application and its contents is performed when you select Check in the pop-up menu (click with the right mouse button). If any errors are found, they are displayed in the Check pane. Double-click on an error to locate the exact position of the error in an editor. Lower Pane / Message Tab The Message tab displays system activity messages, e.g., going from offline to online mode and opening files.
7 / 24
T314-06 Application Structures - RevB
6.3.1 Online Help There is a powerful online help feature in the Control Builder. Start the help with the help icon or select Help | Help Topics from the menu bar. You can also press , which provides context sensitive help on the item currently selected.
The Help Topics dialog box enables you to locate topics in the help files by using the table of contents (Contents tab), by selecting keywords that are assigned to topics (Index tab), or by searching for words within the file (Find tab).
8 / 24
System 800xA training
6.3.2 Toolbar Buttons The Toolbar provides quick access to frequently used commands or options
Use this button for offline testing of the user programs, with no controller required. It compiles and simulates the project. All tasks are executed locally in the PC.
Test Mode
Online
F5
Use this button to connect to the controller, e.g., if you want to debug the program code in running mode.
Download Project and Go Online
CTRL-D
The program code in the application is compiled and downloaded for execution in the controller. The application automatically enters Online mode (see above).
6.3.3 Project Tree The project is displayed in a tree view with the contents indented in an outline based on their logical hierarchical relationship. The objects in the Project Explorer are each represented by a name and an icon. By clicking on the button with a plus or minus sign beside the folder, you can expand or collapse an icon and the corresponding container.
The Project Tree contains 3 directories:
9 / 24
T314-06 Application Structures - RevB
6.3.3.1 Libraries The Libraries folder contains all libraries used in a project. By inserting a library in to a project, its type will become available to connect to an application. The libraries System, BasicLib, and IconLib are available in the Project Explorer by default when the Project is created. There are a number of additional libraries that can be inserted. The libraries contain type definitions such as Data Types, Functions and Function Block Types and Control Module Types that can be used in the project.
6.3.3.2 Applications A Control Project may contain one or more applications. The application is the largest organizational unit in any controller. However a controller may execute several applications. Each application may be considered as an independent object in the controller. In the application create the Program(s) or Control Modules containing the program code to be compiled and downloaded for execution in the Controller(s). Each application to be used must be connected to a Controller by adding the Application to the Applications folder of the Controllers folder.
An application may contain up to 64 Programs. This means that you can split the control strategy into different parts, depending on required interval times and priorities. NOTE!
10 / 24
In this document the word “Code” refers to any instructions that the controller can execute.
System 800xA training
You may choose to write code in any one of 5 language editors in Control Builder: Instruction List LD
A
ANDN
B
ST
C
C:= A AND NOT B;
Ladder Diagram A B
AND
Step 1
N
FILL
Transition 1
Function Block Diagram
A
Sequential Function Chart
Structured Text
C
Step 2
C
S Empty Transition 2
-| |--|/|----------------( ) Step 3
B
All languages are available for both Programs and Control Modules. Choose the language that most suites your needs or preference.
There are two types of container that can be used to hold code in a control builder application: •
Control Modules
•
Programs
Programs have a traditional look and feel and represent a traditional approach to application design and build. Within each program a selection of language editors may be used. Each program may be divided into ‘Code Blocks’ or ‘Tabs’, which may be thought of as sub-programs. In some editors you may divide the tab into several pages. Control Modules are another way of compiling code which has many advantages over the traditional programs – applications written with control modules will use less memory and execute faster than those written with programs.
Application
Control Module 1
Control Module 2
Control Module N
Program 1
Program 2
Program N
11 / 24
T314-06 Application Structures - RevB
6.3.3.3 Controllers The hardware definition and the I/O connection are done in the Controllers folder. In the root of the Controllers folder of each project, several controllers can be created. When you create a new project or insert a new controller, is it suitable to select the controller you intend to use in the project (AC800M or AC800M_Highintegrity). The access variables are used for communication between applications, which may exist in the same controller or in different controllers. Hardware units are added to the tree structure representing physical hardware units.
The Applications containing the code are not executed unless a “work scheduler” - a Task - is connected and serves as an “engine” running the code in the controller. In the root of the Tasks folder of each Controller, several tasks can be created. Each Controller has three default Tasks labeled Fast, Normal and Slow with their interval times set to 50ms, 250ms and 1000ms respectively. Each application to be used must be connected to a controller, by adding the application to the Connected Applications folder of the Controllers folder
6.3.4 Limits •
Max 64 programs per application
•
Max 256 applications per project
•
Max 8 applications per controller
•
Max 32 tasks per controller
•
Max 32 controller per project
NOTE!
Application programming can be done from any Engineering Station in the system at the same time.
There is no access management. That means any changes will be overwritten by the last person who saves.
12 / 24
System 800xA training
6.4 The POU Editor 6.4.1 Program Organization Units The IEC 61131 standard describes Programs, Function Blocks and Functions as Program Organization Units or POUs. These units help you organize your automation project into code blocks to minimize code writing and optimize the code structure and code maintenance. The Function Blocks and Functions POUs are not limited to “one-time-use”. You can use them repeatedly and in a recursive structure. In addition to these two POUs, there is the Program. Although the program is the only POU that cannot be reused in any of the other POUs it is defined as a POU. As can be seen, one can use both the Function Block and the Function recursively to an unlimited “depth” whereas the program is a “top-level” POU.
Application
Program
Program
Code
Function Block
Code
Function Block
Code
Function
Code
Function Block
Code
Code
Function
Code
The Application contains the program code that is to be compiled and downloaded for execution in the controller. An application should be seen as a container more than as a programming object, since it does not contain any code of its own. The application is the top hierarchical level.
13 / 24
T314-06 Application Structures - RevB
6.4.2 Editor Overview Open the POU editor by double clicking on a Program, or right mouse click and choose Editor.
The POU editors of Program, Function Blocks and Control Modules have basically the same look and functionality. This section describes the functions and functionality of a Program.
The configuration of Control Modules and Function Blocks are covered later in this course.
14 / 24
System 800xA training
Toolbar Icons The tables below describe menu commands, toolbar icons and keyboard short cuts common to all editors. Editor-specific functions are described in the chapter of respective editors. Toolbar icon
Keyboard hot key
Description
Ctrl + U
Saves the changes and closes the editor.
Ctrl + W
Save the changes but does not close the editor.
Ctrl + B
Checks the editor contents for errors. The result is displayed in the "Check" tab in the output pane. Double-click on the lines with error messages to jump directly to the place where an error occurred.
Ctrl + P
Prints the current pane on a printer.
Ctrl + J
Displays a screen preview of printer output.
Ctrl + Z
Undoes the most recent action. You can undo several steps, except in the ST code editor, which only supports undoing the most recent action. Not available in the SFC editor.
Ctrl + Y
Recalls the last undo action. Not available in the ST code and the SFC editor.
Ctrl + X
Cut.
Ctrl + C
Copy.
Ctrl + V
Paste.
Ctrl + F
Standard find function. Note: the function only searches the current pane and present code block.
F3
Finds the next occurrence of a specified text string. Note: the function only searches the current pane and present code block. Standard find function, but searches all panes and all code blocks (find in the Editor). Toggles the display of the lower pane - the message pane.
Ctrl + I
Inserts statements like if-then-else, for-loop, etc.
Ctrl + Space
Fills in the rest of the name, for example, a variable name in the code pane (complete word).
Ctrl + J
Inserts a variable, data type or attribute in the declaration pane or in the code pane.
INS
Inserts a function or function block.
Ctrl + L
Inserts a function.
Ctrl + E
Edits a type. The type can be write protected, for example if it is a system-protected type or an user-protected type.
Ctrl + M
Edit Parameter List. Opens the connection editor for parameter input assistance.
15 / 24
T314-06 Application Structures - RevB
6.4.3 Declaration Pane Use the declaration pane to declare variables and Function Blocks. Depending on which editor you use, different declaration grids can be displayed by selecting the tabs at the bottom of the declaration pane.
NOTE!
Copy/paste from MS programs like Excel is possible.
Variables The variables in the program are the holders of values. They are declared by giving each a name and by assigning a data type. A single program may contain many variables and they must be declared when they are used. Variables can be written in Microsoft Excel and then copied and pasted to the declaration pane of the POU editor. Function Blocks Function Blocks must be declared in the Function Blocks tab before they are used in the ST or IL languages (Not necessary in the FBD or LD editors)
16 / 24
System 800xA training
6.4.4 Message Pane The message pane consists of three tabs: Description, Check and Find in Editor.
Description In the description tab, you can write notes in plain ASCII text. The notes are common to all code blocks and grids. It does not change depending on which tab is activated. The description is displayed in the lower pane of the tree view control by marking the edited object (for which a description has been written), e.g. a program in the tree view control and after that selecting the Description tab. Check When you are validating code, error messages are displayed in this pane. Doubleclick an error message to quickly go to the place where the error occurred.
17 / 24
T314-06 Application Structures - RevB
Find in Editor You can use the Find in Editor command to search for a word in the entire current editor. The result is presented as a list in the message pane under the Find In Editor tab. You can double-click the row in the message pane to go quickly to the occurrence of the word. NOTE!
18 / 24
These commands can be used after text selection in the table or the code pane. The search is then performed through the selected text.
System 800xA training
6.4.5 Code Pane The code pane is divided into code blocks. In the example below each tab contains a code block in one of the different programming languages. It is advisable to arrange the code in blocks to improve the overall code structure and readability. The order of execution is determined by the order of the tabs for Function Blocks and Programs. The execution order for Control Modules is set up by the system for the most effective order possible.
NOTE!
Code blocks may be rearranged by clicking right on the tab and selecting “Arrange” from the Context menu.
19 / 24
T314-06 Application Structures - RevB
Change the language To change language on a code block, right click on the Code tab and select “Change Language”.
Select the new Language for the code block and click “OK”.
NOTE!
The Language of a code block can only be changed if there is no programming code in the block
Code blocks can be rearranged, deleted and renamed by right click on the code tab.
20 / 24
System 800xA training
6.5 Test (Simulation) Mode It is possible to simulate a project without using any physical hardware. Save the project and then either select the “Test” button or select Tools > Test Mode from the menu in the Project Explorer to simulate the project.
Error Messages If there is an error in the project when you request a Check or when you try to go to Test Mode, an error message is written in the Message tab of the Project Explorer.
21 / 24
T314-06 Application Structures - RevB
22 / 24
System 800xA training
6.6 Control Structure – Project Explorer This section gives you an overview about the link between the Project Explorer in Control Builder M and the Control Structure in the Engineering Workplace.
On the first view there are some objects which do not have corresponding objects on the other working side. But some objects are located on different places.
23 / 24
T314-06 Application Structures - RevB
6.6.1 Synchronization Control Builder M is continuously synchronized with the Aspect Directory on System 800xA. This synchronization mechanism works in both ways i.e. if you do something in Control Builder it is “mirrored” to the Aspect Directory and vice versa.
24 / 24
System 800xA training
Exercise 6.1 Navigating in the Project Explorer
6.1.1 Goals Open an existing project and navigate within the Project Explorer of the Control Builder. Identify the format and components of the project tree.
6.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/5
T314-06 Exercise 6.1 - RevB
6.1.3 Exercise Steps 6.1.3.1 Open an Existing Project There are two methods for opening an existing project. One method involves opening the project through its corresponding object in the Control Structure of the Plant Explorer or Engineering Workplace. A project can also be opened by using the Control Builder application.
Method ONE
) )
) )
2/5
Go to the Control Structure in the Engineering Workplace. Expand the Sxx_Control_ Network object to expose Sxx_Project – a project that has been created for this course.
Right click on Sxx_Project then select Open Project. Control Builder will launch in a separate window. (Wait approximately 30 seconds for the project to load). Observe the messages displayed in the message pane as the project is loaded.
System 800xA training
Method TWO
)
Open the Control Builder application by double clicking the desktop icon.
)
Select Open Project from the File pull down menu in the toolbar.
)
)
Select and open the ‘Sxx_Project’ entry. (Wait approximately 30 seconds for the project to load).
Observe the messages displayed in the message pane as the project is loaded.
3/5
T314-06 Exercise 6.1 - RevB
6.1.3.2 Explore an Application When a project is opened in the Project Explorer pane, it consists of three main objects (Libraries, Applications, and Controllers) displayed in a tree format. Applications contain the actual programs and code for a given project. Libraries have the templates and object types used in the application and each controller used in the project will have its hardware configuration set up in the Controllers part of the tree. The libraries and controllers will be explored in later exercises.
)
Expand the Applications object in the project tree. There are three applications in this project, but Sxx_ReactorApp is the one that contains the tank batch programs.
The key areas within an application are Control Modules and Programs. These are referred to as Code containers or POUs (Program Organizational Units).
) )
)
4/5
Expand the program Tank (under Programs). Open the Control Structure and compare it with the expanded Tank program of the previous step.
Expand Control Modules in each of the windows to find additional similarities.
System 800xA training
) ) ) )
) )
Open the Reactor Display in Sxx_Workplace and try to locate the objects from the program Tank (Control Builder) on the display. In the Project Explorer, double click on Sxx_ReactorApp or right click and choose Editor from the context menu. Find the global variables associated with V1, V2 and level of the tank. Close the application editor window then double click on ‘Program2’ to open its program editor.
Examine the one line of code in the Test_Program code pane. Close the program editor.
5/5
System 800xA training
Solution 6.1 Navigating in the Project Explorer
6.1.1 Solutions 6.1.1.1 Explore an Application
)
Expand the Applications object in the project tree. There are three applications in this project, but Sxx_ReactorApp is the one that contains the tank batch programs.
The key areas within an application are Control Modules and Programs. These are referred to as Code containers or POUs (Program Organizational Units).
) )
Expand the program Tank (under Programs). Open the Control Structure and compare it with the expanded Tank program of the previous step.
1/3
T314-06 Solution 6.1 - RevB
)
Expand Control Modules in each of the windows to find additional similarities.
Sxx_FIC, Sxx_TIC1, Sxx_V3 are just a few of the objects that can be found in both windows.
)
Open the Reactor Display in Sxx_Workplace and try to locate the objects from the program Tank (Control Builder) on the display.
Sxx_V1, Sxx_V5, Sxx_V3, Sxx_V2, Sxx_V6, Sxx_V4, Sxx_M1, and Sxx_TIC1 are some of the objects that can be found on the display below and in the project.
)
2/3
In the Project Explorer, double click on Sxx_ReactorApp or right click and choose Editor from the context menu.
System 800xA training
)
)
)
Find the global variables associated with V1, V2 and level of the tank.
Close the application editor window then double click on ‘Program2’ to open its program editor.
Examine the one line of code in the Test_Program code pane. gLamp1.Value := gSw4.Value AND gSw5.Value OR gSw6.Value; These four global variables are connected to physical I/O. The lamp will light if Switch4 and Switch5 are true OR if Switch6 is true.
)
Close the program editor.
3/3
System 800xA training
Chapter 7 AC800M Hardware
TABLE OF CONTENTS Chapter 7 AC800M Hardware....................................................................................................................................................... 1 7.1 General Information............................................................................................................................................................. 2 7.1.1 Objectives ..................................................................................................................................................................... 2 7.1.2 Legend .......................................................................................................................................................................... 2 7.2 The CPU PM8xx.................................................................................................................................................................. 3 7.2.1 Different Processor Units.............................................................................................................................................. 4 7.2.2 Start Modes................................................................................................................................................................... 5 7.2.3 Battery .......................................................................................................................................................................... 6 7.2.4 AC 800M Ports ............................................................................................................................................................. 7 7.2.5 AC 800M High Integrity............................................................................................................................................... 8 7.3 Communication Interface Units........................................................................................................................................... 9 7.3.1 General description ....................................................................................................................................................... 9 7.3.2 Communication Exchange Bus - CEX Bus ................................................................................................................ 10 7.3.3 BC810 and TP857 - CEX-Bus Interconnection Unit.................................................................................................. 11 7.3.4 CI854-Profibus DP V1................................................................................................................................................ 12 7.3.5 CI853-RS232 .............................................................................................................................................................. 12 7.4 S800 I/O Connections........................................................................................................................................................ 13 7.4.1 I/O Connection Possibilities ....................................................................................................................................... 13 7.4.2 S800 I/O Connected with Modulebus......................................................................................................................... 14 7.4.3 S800 I/O Connected with Profibus ............................................................................................................................. 15 7.4.4 ABB Range of I/O Units............................................................................................................................................. 17 7.4.5 MTU – Module Terminal Unit ................................................................................................................................... 18 7.5 Hardware Redundancy....................................................................................................................................................... 19 7.5.1 CPU Redundancy........................................................................................................................................................ 19 7.5.2 Controller and I/O Redundancy .................................................................................................................................. 20 7.5.3 Redundant Modulebus I/O Connections ..................................................................................................................... 21 7.5.4 Redundant Profibus I/O Connections ......................................................................................................................... 22 7.6 Hardware Configuration .................................................................................................................................................... 23 7.6.1 Configuration Steps .................................................................................................................................................... 23 7.6.2 Adding a CPU unit...................................................................................................................................................... 24 7.6.3 Adding a Communication Interface Module............................................................................................................... 24 7.6.4 How to Configure S800 I/O on Modulebus ................................................................................................................ 25 7.6.5 How to Configure S800 I/O on Profibus .................................................................................................................... 25 7.6.6 Hierarchical Dot Notation........................................................................................................................................... 27 7.6.7 Settings of IO units ..................................................................................................................................................... 27 7.6.8 Changing the IP address ............................................................................................................................................. 28 7.6.9 Adding Compact Flash ............................................................................................................................................... 30 7.7 Application Download....................................................................................................................................................... 31 7.7.1 General........................................................................................................................................................................ 31 7.7.2 Restart Options ........................................................................................................................................................... 31 7.7.3 How to Download....................................................................................................................................................... 32 7.7.4 Difference Report Window......................................................................................................................................... 33 7.7.5 Re-Authentication....................................................................................................................................................... 34 7.8 Online functions................................................................................................................................................................. 35 7.8.1 General........................................................................................................................................................................ 35 7.8.2 Status of IO-signals..................................................................................................................................................... 35 7.8.3 Forcing........................................................................................................................................................................ 36 7.9 Test Mode & SoftController .............................................................................................................................................. 37 7.9.1 Test Mode ................................................................................................................................................................... 37 7.9.2 How to use the SoftController .................................................................................................................................... 37
1 / 38
T314-07 AC800M Hardware - RevB
7.1 General Information 7.1.1 Objectives Upon completion of this chapter, you will be able to: •
Describe the AC 800M hardware components
•
Check the hardware configuration
•
Download and test hardware in online mode
7.1.2 Legend
2 / 38
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
7.2 The CPU PM8xx The CPU consists of a base plate TP830 and a replaceable processor module PM8xx with various speed and memory combinations. The CPU is a Motorola Processor and runs at 48MHz for PM851..PM861 and at 96MHz for PM864..PM865.
Fuses for Modulebus and CEX-bus
CPU
Baseplate
The base plate TP830 is the housing for the module termination board. It is where the majority of the external connections take place. •
Two built-in RS-232 serial ports: COM3 with modem support COM4 intended as tool port for Control Builder
•
Two built-in Ethernet ports (IEEE 802.3, 10BaseT with TCP/IP): CN2 used for redundancy or routing
•
Built-in Modulebus for direct I/O communication
•
Built-in CEX-bus (Communication Extended Bus) NOTE!
In a configuration with redundant CPUs, COM3 and the electrical ModuleBus cannot be used.
3 / 38
T314-07 AC800M Hardware - RevB
7.2.1 Different Processor Units The key differences between the different CPUs are memory and frequency, also some can only be used in stand alone mode and others can be used in redundant mode.
Redundant PM864
Redundant PM865
Redundant PM861 PM860 PM856
32MB 96 MHz SIL2
32MB 96 MHz
PM851 16MB 48 MHz
8MB 24 MHz
8MB 48 MHz
8MB 24 MHz
Unit PM851
Description 24 MHz (48MHz for communication) / 8 Mbytes RAM
On-line replacement
Redundancy
No
No
No
No
No
No
Yes
Yes
1 Ethernet port, 1 Serial port and 1 tool port. Application speed is half of PM860. Maximum one CEX bus module. PM856
24 MHz (48MHz for communication) / 8 Mbytes RAM 2 Ethernet ports, 1 Serial port and 1 tool port. Application speed is half of PM860.
PM860
48 MHz / 8 Mbytes RAM 2 Ethernet ports, 1 Serial port and 1 tool port.
PM861
48 Mhz / 16 Mbytes RAM 2 Ethernet ports, 1 Serial port and 1 tool port. Singular or redundant.
PM861A
Same as PM861 but can use redundant communication unit CI854A, CI860 and BC810.
Yes
Yes
PM864
96 Mhz / 32 Mbytes RAM
Yes
Yes
2 Ethernet ports, 1 Serial port and 1 tool port. Singular or redundant. PM864 is 50% faster than PM861 in executing an application. PM864A
Same as PM864 but can use redundant communication unit CI854A, CI860 and BC810.
Yes
Yes
PM865 (PA/HI)
96 Mhz / 32 Mbytes RAM
No
Yes
2 Ethernet ports, 1 Serial port and 1 tool port. PM865 can be used in an AC 800M High Integrity system.
4 / 38
System 800xA training
7.2.2 Start Modes The controller may be started with the following start modes: Mode
Invoked by
Description
Warm Init
Power Off/On with a battery backed up CPU
Applications restart with retain values.
Cold Init
Press Init < 2.5 s
Applications restart with cold retain values.
Reset
Press Init > 3 s or until Run LED flashes
Applications are deleted in controller.
5 / 38
T314-07 AC800M Hardware - RevB
7.2.3 Battery The memory is backed up by an internal or an external battery. You should mount the battery when the CPU is up and running with a loaded application.
Internal
External
The backup time varies depending on CPU type and battery types. CPU Type
Internal Battery min time (hours)
External Battery min time (weeks)
PM851/PM856/PM860
48
4
PM861
36
4
PM864
36
3
PM861A
118
12
PM864A
235
24
PM865 HI
235
24
PM865 PA
235
24
NOTE!
6 / 38
A Compact Flash card can be used for non-volatile storage of application and data.
System 800xA training
7.2.4 AC 800M Ports Here is a detailed description of the communication ports of the CPU: Communication Expansion CEX-bus
CPU S800I/O’s on the Electrical ModuleBus
RCU link connection
Ethernet ports
COM 3-4 ports
Fiber opticale ModuleBus
External expansion units for communication are attached to the CEX-bus. Interfaces are replaceable online under power. •
Programmable RS-232 ports for COMLI (data transfer), MODBUS and S3964R
•
Ethernet ports for Control Network or third party MMS
•
Module Bus ports for optical or electrical connection to I/O.
A Compact Flash (CF) can be inserted to the card slot located at the front of AC 800M controllers. The card will be activated and read after a long controller reset (or power failure) and your application(s) can be loaded into the controller without performing an application download from a Control Builder station. NOTE!
Compact Flash cannot be used in an AC 800M High Integrity controller.
7 / 38
T314-07 AC800M Hardware - RevB
7.2.5 AC 800M High Integrity AC 800M can easily be configured for usage in safety critical applications. The main components of such a system are PM865, SM810, SS823 and the S800 I/O High Integrity system, running a High Integrity version of Control Software. The PM865 processor unit has higher HW fault tolerance, compared to PM864. The added functionality on PM865 includes: •
Double over voltage protection on internal voltages
•
Additional watchdog timer updated with data from SM810
•
Increased oscillator supervision
•
Support for S800 I/O High Integrity system
•
Support for SM810
•
Increased system diagnostic and online self tests.
The main function of the SM810 is to act as a monitor for the HW and SW execution of PM865 and these two modules together are a SIL2 compliant system according to IEC61508 and TÜV qualification is pending. The SM810 is running a SIL2 certified operating system and have a very high degree of self-diagnostic
8 / 38
System 800xA training
7.3 Communication Interface Units 7.3.1 General description This section presents a number of communication modules that can be connected to the CEX bus. The table below is a summary of the interfaces (for details refer to hardware manual): Unit CI851
Description PROFIBUS DP-V0 communication interface unit.
On-line replacement
Redundancy
No
No
CI851 has been replaced by the CI854 communication interface. CI853
RS-232C serial communication interface unit.
No
No
CI854
PROFIBUS DP-V1 communication interface unit.
No
No
Yes
Yes
Redundant Profibus cabling possible. CI854A
PROFIBUS DP-V1 communication interface unit. Redundant Profibus cabling and redundant interface cards.
CI855
MasterBus 300 communication interface unit for the AC 800M.
Yes
No
CI856
S100 I/O system communication interface unit.
Yes
No
Up to five S100 I/O racks can be connected to one CI856 where each I/O rack can hold up to 20 I/O boards. CI857
INSUM communication interface unit.
Yes
No
CI858
Communication interface for ABB Drives using DriveBus.
No
No
CI860
Fieldbus Foundation HSE communication interface unit.
Yes
No
Yes
No
Not possible to use in AC800M HI. CI862
TRIO blocks (remote I/O) communication interface. Manages the channel data for the AC 800M controller.
9 / 38
T314-07 AC800M Hardware - RevB
7.3.2 Communication Exchange Bus - CEX Bus
TB850
or
10 / 38
TK850 with DB25P
and TB851
•
Up to 12 communication units can be placed on the CEX bus
•
The CEX-bus must be terminated if a communication unit is connected.
•
A CEX-bus termination is delivered with the CPU: TB850 (male) or TB851 (female).
•
An extension cable TK850 with connector DB25P with metal housing and a length of 0.7 meter (2.3’) can be used for extending the CEX bus to a second DIN rail.
System 800xA training
7.3.3 BC810 and TP857 - CEX-Bus Interconnection Unit For redundant PM it is recommended to use CEX-Bus Interconnection Unit BC810/TP857. The primary function of BC810 is to divide the CEX-Bus into two physically separate segments for increased system availability; a faulty CEX-Bus unit on one segment will not affect the processor unit or the other CEX-Bus segment.
In a fully redundant system with two interlinked BC810 and primary/backup CPU, the BC810 supports online replacement of the CPU baseplate without disturbing the CEX traffic. If the BC810 has to be replaced, all traffic to its connected CEX segment is stopped.
11 / 38
T314-07 AC800M Hardware - RevB
7.3.4 CI854-Profibus DP V1 •
Redundant PROFIBUS-DP port, Master Class 1, two DB9 female contact on the TP854 base plate.
•
CI854 supports acyclic DP-V1 communication and slave redundancy
•
Easy configuration of PROFIBUS-DP slave CI830 and 200-APB12, supporting S800, S900, S200 series I/O and Drives.
•
GSD file configuration of other PROFIBUS-DP slaves for import to Control Builder.
•
DIN rail mounting.
7.3.5 CI853-RS232
12 / 38
•
Two RS232-C ports implemented with RJ45 connectors, on the TP853 base plate.
•
DIN rail mounting.
•
Transmission speed selectable between 75 baud and up to 9600 baud.
•
Has its own CPU, doesn’t use the PMxxx CPU.
•
No galvanic isolation.
•
Modem support.
•
Several protocols ready made options to Software.
•
Custom protocol design, (software option).
System 800xA training
7.4 S800 I/O Connections 7.4.1 I/O Connection Possibilities I/O units are connected in two ways: • Modulebus (electrical or optical) • Profibus DP An I/O cluster consists of one CI830 or TB820 and a number of I/O modules. Max. 12 I/O modules can be included in one I/O cluster. S200 or S900 I/O can only be connected through Profibus DP.
The optical modem TB820 acts as an adapter from optical to electrical Modulebus. A maximum of 7 optical modems can be connected to the CPU. The Profibus slave CI830 can be also be supplied with an adapter TB810 to extend the Modulebus by optical cable.
13 / 38
T314-07 AC800M Hardware - RevB
7.4.2 S800 I/O Connected with Modulebus •
Max. 96 I/O modules
•
1 base cluster
•
1-7 I/O cluster
•
1-12* S800 I/O modules/cluster
•
Optical Modulebus
•
Simplex or Duplex, plastic / HCS glass fiber
max. 2.5 meters Base cluster
Modulebus extension Termination TB807 I/O cluster 1 TB820 Optical modem
I/O cluster 2
I/O cluster 3
I/O cluster 4
Duplex Simplex max. 15 or 200m
max. 15 or 200m
Note that the TB820 is not visible in the Project Explorer. The I/O cluster is only indicated by the position of the I/O modules e.g. I/O modules in cluster number 3 have positions from 301 to 312.
14 / 38
System 800xA training
7.4.3 S800 I/O Connected with Profibus •
Max. 24 I/O modules / I/O Station
•
1 base cluster
•
1-7 I/O cluster
•
1-12* S800 I/O modules/cluster *The memory size in the CI830 and bus load in CI830 or TB820 limits the no. of I/O modules/cluster
•
Max. cluster length 2.5m (electrical modulebus)
•
Optical modulebus, Simplex or Duplex
CI830 Profibus slave with TB810
CI851 Profibus master Base cluster Max. 2.5 meters
TB820 Optical modem
I/O cluster 1
I/O cluster 2
I/O cluster 4
I/O cluster 3
Duplex Simplex max 15 or 200m
NOTE!
max 15 or 200m
CI830 is going to be replaced by CI801 in the future to support the HART protocol.
15 / 38
T314-07 AC800M Hardware - RevB
Note that the position number for the CI851 is the physical location on the CEX-bus, while the position for the CI830 is the ProfiBus node number.
NOTE!
16 / 38
The presence of a TB820 is indicated by the I/O module position.
System 800xA training
7.4.4 ABB Range of I/O Units The following I/O types can be connected to an AC 800M system: •
S800 modular I/O
•
S800 modular I/O with intrinsic safety (IS)
•
S800L I/O This is a compact I/O with an integrated I/O and terminal unit. The I/O cannot be replaced on-line.
•
S200 I/O This I/O must be connected through an APB12 ProfiBus module.
•
S900 I/O This I/O must be connected through a CI920 ProfiBus module. The I/O is suitable for use in hazardous areas.
•
S100 I/O This I/O must be connected through communication module CI856
17 / 38
T314-07 AC800M Hardware - RevB
7.4.5 MTU – Module Terminal Unit The S800 I/O unit is attached to an MTU, Module Terminal Unit. A number of MTUs are available. They can however be divided into two major groups, depending on the physical layout: •
Compact / 1 connection per channel
•
Extended / 3 connections per channel
Compact NOTE!
18 / 38
Extended Mechanical key protection prevents wrong I/O module type from being inserted.
System 800xA training
7.5 Hardware Redundancy 7.5.1 CPU Redundancy In a system with redundant Processors, the controller contains two processor units, each including memory for system and application software. In a redundant system the two processor units are linked together with the RCU Link Cable (max 1 m). One unit is acting as primary, the other is backup (hot stand-by). The primary processor unit controls the process. The backup stands by to take over in case of a fault in the primary. The primary CPU is always updating the backup CPU.
RCU Link
Both PMs are connected to the CEX bus and either of the two can control the communication interfaces. The changeover is done bumpless and in less than 10 ms. In a redundant configuration an automatic switch-over from the Primary CPU to the Backup CPU occurs in the following situations, provided they are in synchronized state (DUAL LED is lit): •
Memory or other hardware error in the Primary CPU.
•
Severe communication errors on the Control network, that is, loss of both network ports in the Primary CPU.
•
Severe communication errors on the ModuleBus
19 / 38
T314-07 AC800M Hardware - RevB
7.5.2 Controller and I/O Redundancy Use of redundancy will reduce the maximum number of S800 channels. Each cluster may contain up to 12 single S800 I/O units or up to 6 redundant S800 I/O units.
CEX -bus splitter BC810 Redundant PROFIBUS CI CI854A
Redundancy Link Cable
Redundant S800 I/O as direct I/O
Redundant or Singular S800 I/O
Optical ModuleBus Cable
20 / 38
System 800xA training
7.5.3 Redundant Modulebus I/O Connections When you use redundant IO module configuration, the maximum number of IO modules in one cluster is 6 pairs.
21 / 38
T314-07 AC800M Hardware - RevB
7.5.4 Redundant Profibus I/O Connections When you use redundant IO module configuration, the maximum number of IO modules in one cluster is 6 pairs. •
TU846 is used for Redundant I/O modules
•
TU847 is used for non redundant I/O modules
•
CI840 is connected to CI854 Profibus master
TU846 or TU847
22 / 38
System 800xA training
7.6 Hardware Configuration Hardware units are added to the tree structure in the Project Explorer represent physical hardware units. Some units contain sub units, such as serial channels, that are automatically created. Below is an example of a hardware configuration.
As you can see above, there are 4 IO modules connected to Module bus and 5 IO modules connected to Profibus.
7.6.1 Configuration Steps To add a new hardware unit to the hardware tree structure in the Project Explorer, proceed as follows: 1. Select the unit to which you want to add the new hardware unit. 2. With the unit selected, right-click on the unit and select New Unit. A submenu listing possible hardware is displayed. Select the type of hardware you wish to add. If is dimmed, the unit you have selected in step 1 may not contain any sub units, or the maximum number of sub units has been reached. 3. Select a position for the hardware unit in the dialog box displayed. The first available position is chosen by default. If another position is desired, click the list box to display available positions. Click “OK”. 4. The hardware unit is now added to the tree, and the name of the hardware unit, as well as its position, is displayed next to the icon of the hardware unit. The icons look different depending on which type of unit was added.
23 / 38
T314-07 AC800M Hardware - RevB
7.6.2 Adding a CPU unit In the CBM window, right click the ‘Controllers’ structure, choose New Controller, then choose the right controller type.
ModuleBus Scan Time Double-click on the ModuleBus icon to open the editor. A Modulebus scan, set to 0 ms will set the Modulebus scan as fast as possible and can load the CPU significantly. The minimum scan time in practice will be 6 ms.
7.6.3 Adding a Communication Interface Module Open the just inserted controller structure, right click the ‘hardware’, choose New Unit, choose the right communication module type.
24 / 38
System 800xA training
7.6.4 How to Configure S800 I/O on Modulebus Open the just inserted controller structure, right click the ‘ModuleBus’, choose New Unit, choose the right I/O module type.
7.6.5 How to Configure S800 I/O on Profibus Open the just inserted controller structure, right click the inserted communication interface module such as a ‘CI851’, choose New Unit, then choose the ‘CI830’ first.
25 / 38
T314-07 AC800M Hardware - RevB
Be careful to check the CI830’s position value is consistent with the address settings of the two switches on CI830 board.
Then insert the right I/O module type.
26 / 38
System 800xA training
7.6.6 Hierarchical Dot Notation The hardware address of a hardware unit is composed from the hardware tree position numbers of the unit and its parent units, described from left to right and separated by dots. For example channel 1 on the I/O unit DO810 has the address Controller_1.0.11.1.1.
7.6.7 Settings of IO units Scaling For analog inputs and outputs, you can specify the physical minimum and maximum values corresponding to the signal range 0-100 %. You can also assign a physical unit to your variable. These settings are accessible in code from the RealIO data type.
Safe Values/OSP/ISP You can specify what value to assign to an I/O channel in case the I/O unit loses communication with the CPU or Profibus slave. The choices are: Keep last value, Reset output/input or Assign OSP/ISP value. The last is a preset value, specified in the editor for the I/O unit. The degree of configuration you can make for a particular I/O channel depends on the type of I/O unit.
27 / 38
T314-07 AC800M Hardware - RevB
Signal Range This setting specifies the electrical signal range; 0-20 mA, 0-10 V etc.
7.6.8 Changing the IP address You must do the IP address settings of the controller in CBM in two steps: •
Right click the controller in CBM, choose System Identity, and then set the IP address of your controller.
The System Identity is the network address of the selected controller. The network address is shown beside the controller icon in the Project Explorer tree. NOTE!
28 / 38
The default address is 172.16.0.0
System 800xA training
•
Open the controller’s ‘PM8xx/TP830’ in CBM, double click the first Ethernet, this will open a new window, click on ‘settings’ tab, then set the IP address and subnet mask of your controller.
NOTE!
The system identity should normally correspond to the setting for Ethernet 1 on the AC800M.
29 / 38
T314-07 AC800M Hardware - RevB
7.6.9 Adding Compact Flash Expand the Controllers item and right-click the CF Reader item. Select New Unit | CF Card from the context menu and insert the CF Card item.
NOTE!
You must connect an external Compact Flash Writer to your Engineering station where Control Builder is loaded (normally connected to the USB port).
Make sure your project is in offline mode and insert a Compact Flash card in the Writer slot. Right-click on the controller item and select Compact Flash from the context-menu to pick the writer.
Click “OK” to write the application to the Compact Flash card.
For a redundant CPU configuration, you need to write the same application twice (two CF cards, one in each CPU). Copy (in Windows Explorer) the downloaded application (two folders) from the CF card and paste them temporarily on your local disk. Insert the next memory card into the writer and drag your two folders from the hard disk and drop them on the new CF memory card.
30 / 38
System 800xA training
7.7 Application Download 7.7.1 General During a download, the code that has been written is checked and compiled. The controller receives the compiled application and begins executing it immediately. Once your application has been compiled, you can: •
Download the application and go Online. This updates the application in the controller.
•
Go online without download of the application. Useful when, for example, monitoring values in the controller without disturbing the controller.
A version analysis of the applications is made when you download. The analysis results are used to determine if and how applications shall be updated to new versions in the controllers.
7.7.2 Restart Options When the system restarts, variables with No Retain, Retain and Cold Retain attributes will behave differently. It will also matter if the system performs a warm or a cold restart.
WARM RESTART At a warm restart, variables with the attribute or are protected by the battery during restart. During the time that the controller is stopped, all output IOs will keep their last value. COLD RESTART At a cold restart, variables with the attribute keep their values, since they are stored on the hard disk. Variables without the attribute lose their values. During the stop time, all output IOs will obtain their safe state/OSP values.
31 / 38
T314-07 AC800M Hardware - RevB
7.7.3 How to Download Select Tools | Download Project and go Online in the CBM.
If you have made changes to one or several applications in Offline mode, the version analysis detects it. You can then decide how to restart the changed applications.
Independently of how you restart the applications, the changed application parts are downloaded to the controllers. The controller will stop the applications and restart with the new and changed application. NOTE!
32 / 38
Following download the last message should be: You are now Online!
System 800xA training
7.7.4 Difference Report Window Just before the download to controllers, the system will open a ‘difference report’ window, which will allow you see the differences between your applications on disk & applications in the controllers. At this time you may decide to continue or to cancel the download. The purpose of the difference report window is validation of configuration changes.
You may disable the difference report function in CBM by click Tools, then click Difference Report Settings.
33 / 38
T314-07 AC800M Hardware - RevB
7.7.5 Re-Authentication If the Re-authenticate function is enabled, the user will be asked to enter user name and password, before download is completed.
To enable or disable this function:
34 / 38
System 800xA training
7.8 Online functions 7.8.1 General In Online mode the Control Builder is connected to one or more controllers and offers many diagnostic and inspection features when online to the controller. You can: •
View the executing code dynamically
•
Force Inputs and Outputs at the IO Modules
•
Rescale analogue input and output channels
•
Change values of Variables
•
Inspect Values of Variables
To enter ‘online mode’, go to the tool bar menu of the Control Builder, click on “Tools” and then click on “Online”.
7.8.2 Status of IO-signals Use the status tab of the hardware configuration editor, in online mode, for dynamic online display of I/O channel values and forcing. I/O channel values are updated once every second. NOTE!
The tab is available in Offline mode, but not editable.
Underflow, overflow, channel and unit errors in online mode are indicated in the Channel value cell by the following icons: Signal Errors underflow
The signal is below the range.
overflow
The signal is above the range.
Hardware Errors channel error
The channel can have under range, power-up or field power errors.
Unit error
The unit can be missing or of the wrong type.
35 / 38
T314-07 AC800M Hardware - RevB
7.8.3 Forcing Forcing of I/O is possible in online mode. You check a check box in the Forced column and then type in a value in the Channel value column for outputs and in the Variable value column for inputs. This value overrides the values in each of those columns. When a channel is forced all copying between the I/O value and the application value ceases. The forced value is different for inputs and outputs. •
For inputs the forcing changes the variable value to the application.
•
For outputs the forcing changes the physical I/O channel value.
The background of the forced cell changes to yellow to indicate forcing. Forcing is deactivated when you remove the check from the Forced check box of the channel in question.
Forcing is performed in the hardware configuration editor under the Status tab or the POU editor. Application programs requiring information about forcing and forced values can use the system defined I/O data types when connecting variables to I/O channels. Normally only channels with variable connections to application programs can be forced. However, if no variable is connected you have to change the parameter under the Settings tab for the current controller to get a status update.
36 / 38
System 800xA training
7.9 Test Mode & SoftController 7.9.1 Test Mode Without downloading to a real controller or a softcontroller, you may test your application by using the test mode. In CBM, click ‘Tools’, then click ‘Test mode’.
7.9.2 How to use the SoftController You may also test your application and even your hardware by downloading to a softcontroller running on your PC. It is also possible to use the SoftController for communication purposes, for example, COMLI or MODBUS. Just follow the steps below: 1. Set the controller’s system identity you want to test to your PC’s IP idress:2 (such as 172.16.0.1:2). NOTE!
It is also possible to use the loop back adapter address as 127.0.0.1:2.
2. Right click the controller, and check the Simulate hardware.
37 / 38
T314-07 AC800M Hardware - RevB
3. Start the SoftController by double-click the icon on the desktop or choose the path below:
4. Click “Start”.
5. Choose “Download project and Go online”.
38 / 38
System 800xA training
Exercise 7.1 Changing the Hardware Configuration
7.1.1 Goals Make changes to the hardware configuration of an existing project and explore additional configuration data.
7.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/3
T314-07 Exercise 7.1 - RevB
7.1.3 Exercise Steps 7.1.3.1 Explore the Controller Configuration
) )
) )
2/3
Open the Sxx_Project in the Control Builder. Expand the Controllers object in Control Builder’s Project Explorer tree.
Compare this configuration with the classroom controller hardware. Expand the Controllers object in the Control Structure and compare with the configuration in Control Builder.
System 800xA training
7.1.3.2 Add Hardware Units
) ) )
Add an AO801 module to position 4 on the Profibus by right clicking on the CI830 module and selecting New Unit, then ‘S800L I/O’, then ‘AO801’ from the context menus. Now add a DO801 module to position 5. Check to see that these changes also occurred in the Control Structure.
7.1.3.3 Change Configuration Data Each hardware unit has an editor to enter calibration data and to perform various online tasks.
)
Open the editor of the AI810 on the Modulebus and select the “Properties” tab. Edit the following entries, then ‘Save and Close’
) ) )
•
Channel 1 Æ 0.0 to 150.0 CuCm
•
Channel 2 Æ 0.0 to 100.0 CuLiters
•
Channel 3 Æ 0.0 to 200.0 CuCm
Open the editor of the DO810 on the Modulebus and select the “Settings” tab. Change all sixteen channels from ‘Set OSP value’ to ‘Keep current value’. Save and Close. Change the physical switch setting on the CI830 (e.g. from 1 to 2) and note the LED indicators on the module. Cycle power on the entire lab test controller unit. NOTE!
)
the editor.
An addressing change on the CI830 requires that the power on the CI830 be cycled, but because this is a lab environment, it is simpler to cycle power on everything.
In Control Builder, right click on the CI830 and use the Move Up or Move Down options to change the index number to the left of CI830 to match the number from the previous step. The above changes will become effective in the next lab when the application is downloaded to the controller.
3/3
System 800xA training
Solution 7.1 Changing the Hardware Configuration
7.1.1 Solutions 7.1.1.1 Explore the Controller Configuration
) ) )
Open the Sxx_Project in the Control Builder. Expand the Controllers object in Control Builder’s Project Explorer tree. Compare this configuration with the classroom controller hardware. The numbers to the left of the I/O modules should match the physical position (left to right) of the hardware modules. The number to the left of CI830 should match the switch setting on the module.
)
Expand the Controllers object in the Control Structure and compare with the configuration in Control Builder.
7.1.1.2 Add Hardware Units
)
Add an AO801 module to position 4 on the Profibus by right clicking on the CI830 module and selecting New Unit, then ‘S800L I/O’, then ‘AO801’ from the context menus.
1/4
T314-07 Solution 7.1 - RevB
)
Now add a DO801 module to position 5.
)
Check to see that these changes also occurred in the Control Structure. Yes they should. By opening the Control Structure in addition to the Control Builder, we can compare both hardware configurations. See 7.1.1.1 for details.
7.1.1.3 Change Configuration Data
)
Open the editor of the AI810 on the Modulebus and select the “Properties” tab. Edit the following entries, then ‘Save and Close’
2/4
•
Channel 1 Æ 0.0 to 150.0 CuCm
•
Channel 2 Æ 0.0 to 100.0 CuLiters
•
Channel 3 Æ 0.0 to 200.0 CuCm
the editor.
System 800xA training
)
Open the editor of the DO810 on the Modulebus and select the “Settings” tab. Change all sixteen channels from ‘Set OSP value’ to ‘Keep current value’.
This setting will maintain the current output value on the field device should this DO module lose communication with the AC800M controller.
) )
Save and Close. Change the physical switch setting on the CI830 (e.g. from 1 to 2) and note the LED indicators on the module. Cycle power on the entire lab test controller unit. The fault led will light on the CI830 and all the I/O modules associated with it. NOTE!
An addressing change on the CI830 requires that the power on the CI830 be cycled, but because this is a lab environment, it is simpler to cycle power on everything.
3/4
T314-07 Solution 7.1 - RevB
)
In Control Builder, right click on the CI830 and use the Move Up or Move Down options to change the index number to the left of CI830 to match the number from the previous step.
Note the ‘2’ to the left of CI830. The above changes will become effective in the next lab when the application is downloaded to the controller.
4/4
System 800xA training
Exercise 7.2 Download and Going Online
7.2.1 Goals Download an application to a hardware controller and observe simple program code online. Investigate the Test mode.
7.2.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/6
T314-07 Exercise 7.2 - RevB
7.2.3 Exercise Steps 7.2.3.1 Check IP Address of Controller The IP address of the controller resides in its firmware and is set by using the 800xA IPConfig software utility. To successfully download an application to the controller, the contents of two locations (Controller System Identity and Ethernet channel 1) in the Control Builder project must match this IP address exactly.
) )
) )
Open the Sxx_Project in Control Builder then expand the Controllers object. Right click on Controller_1 then select System Identity. Confirm that its value matches the IP address of the hardware controller.
Continue to expand the objects below the controller until the Ethernet channels are visible. Open the editor for ‘1 Ethernet’ then confirm the correct IP address entry in the “Settings” tab.
7.2.3.2 Download and Go Online
)
)
2/6
Select the ‘Download and Go on Line’ icon from the Control Builder toolbar.
Enter a User ID of with a password of in the ‘Reauthenticate’ dialog box.
System 800xA training
)
)
In the “Online analysis” dialog box, select Sxx_ReactorApp, then the “Cold restart” button then “Continue”.
Proceed through any additional dialog boxes until the controller is online. You will see a message ‘You are now online!’ in the message pane. NOTE!
If you have any problems, ask the instructor for help.
7.2.3.3 Monitor Programs Online
)
)
Open the Program2 editor to expose its code.
Use the switches (4, 5, and 6) on the operator panel and observe the changes in the program as well as to ‘DO 1’ on the panel. (It will take ~2 seconds for results to be seen after a switch position is changed because this program is only scheduled to execute every 2 seconds).
3/6
T314-07 Exercise 7.2 - RevB
)
Put switches 4, 5, and 6 in the OFF position on the operator panel.
7.2.3.4 Observe the Hardware Status
)
While still online, expand the controller hardware portion of the Project Explorer.
Note that the hardware in the Profibus has warnings and errors. Some of these may be cleared, but others will remain and will not affect future labs.
)
) )
Open the editor of each I/O module having a warning and observe the messages in the “Unit Status” tab.
Right click on any module with a warning and select Clear Latched Unit Status. Re-examine the “Unit Status” tab. NOTE!
4/6
If there is an error indicator on Profibus modules -CI851, CI830, AI810, DI801 in position 1, or AO801 -contact the instructor. Warnings are okay.
System 800xA training
7.2.3.5 Force I/O Signals
) ) ) ) ) ) ) )
Open the editor for the DI810 in the Modulebus and select the “Status” tab. Select the “Forced” box for digital input channel 6, then type in the yellow field. Examine the operator panel and Program2 code. Explain the results. Change the position of switch 6 on the operator panel to ON and observe the values updating in the editor. Turn OFF the switch, deselect the forced bit then observe the values again. Close the editor. Navigate to the “Status” tab of the DO810 on the ModuleBus, force digital output channel 1 to true, then observe the operator panel and Program2 code. Explain the results. Deselect the forced bit and close the editor. Turn the first three potentiometers of the operator panel to midrange, open the “Status” tab of the AI810 module and examine the values displayed. Explain the results.
7.2.3.6 Use Test Mode It is sometimes necessary to test programming code before downloading to a controller. The ‘Test Mode’ permits program execution in a simulated environment.
)
Take the Control Builder offline by using the ‘Offline’ icon in the toolbar.
)
Select the ‘Test Mode’ icon from the toolbar.
)
Proceed through any dialog boxes with “Continue” until the message ‘Test mode started’ appears in the message pane.
5/6
T314-07 Exercise 7.2 - RevB
) ) )
6/6
Open Program2 then test the logic by right clicking on the signal gSw4.value and selecting ON from the context menu. Continue to test the logic as you wish, then close the editor. Put the Control Builder in the offline mode.
System 800xA training
Solution 7.2 Download and Going Online
7.2.1.1 Check IP Address of Controller
) )
)
)
Open the Sxx_Project in Control Builder then expand the Controllers object. Right click on Controller_1 then select System Identity. Confirm that its value matches the IP address of the hardware controller.
Continue to expand the objects below the controller until the Ethernet channels are visible.
Open the editor for ‘1 Ethernet’ then confirm the correct IP address entry in the “Settings” tab.
1/7
T314-07 Solution 7.2 - RevB
7.2.1.2 Download and Go Online
)
)
)
2/7
Select the ‘Download and Go on Line’ icon from the Control Builder toolbar.
Enter a User ID of with a password of in the ‘Reauthenticate’ dialog box.
In the “Online analysis” dialog box, select Sxx_ReactorApp, then the “Cold restart” button then “Continue”.
System 800xA training
)
Proceed through any additional dialog boxes until the controller is online. You will see a message ‘You are now online!’ in the message pane. NOTE!
If you have any problems, ask the instructor for help.
7.2.1.3 Monitor Programs Online
)
) )
Open the Program2 editor to expose its code.
Use the switches (4, 5, and 6) on the operator panel and observe the changes in the program as well as to ‘DO 1’ on the panel. (It will take ~2 seconds for results to be seen after a switch position is changed because this program is only scheduled to execute every 2 seconds). Put switches 4, 5, and 6 in the OFF position on the operator panel.
3/7
T314-07 Solution 7.2 - RevB
7.2.1.4 Observe the Hardware Status
)
While still online, expand the controller hardware portion of the Project Explorer.
Note that the hardware in the Profibus has warnings and errors. Some of these may be cleared, but others will remain and will not affect future labs.
)
Open the editor of each I/O module having a warning and observe the messages in the “Unit Status” tab.
)
Right click on any module with a warning and select Clear Latched Unit Status.
)
Re-examine the “Unit Status” tab. NOTE!
If there is an error indicator on Profibus modules -CI851, CI830, AI810, DI801 in position 1, or AO801 -contact the instructor. Warnings are okay.
If additional I/O modules are added that are not physically present in the hardware, an error will be associated with them, but it will not prevent downloading or proper operation of the labs.
4/7
System 800xA training
7.2.1.5 Force I/O Signals
)
)
Open the editor for the DI810 in the Modulebus and select the “Status” tab.
Select the “Forced” box for digital input channel 6, then type in the yellow field. Examine the operator panel and Program2 code. Explain the results.
Even though hardware switch 6 is OFF (‘false’ indication on the left), by forcing its input to true, it will cause the logic to ‘think’ it is true and the ‘DO 1’ led to light.
)
Change the position of switch 6 on the operator panel to ON and observe the values updating in the editor.
Notice ‘true’ on both sides of the force.
)
Turn OFF the switch, deselect the forced bit then observe the values again.
5/7
T314-07 Solution 7.2 - RevB
) )
Close the editor. Navigate to the “Status” tab of the DO810 on the ModuleBus, force digital output channel 1 to true, then observe the operator panel and Program2 code. Explain the results.
The ‘DO 1’ led is lit even though the code in the program indicates that it should be out (gLamp1.Value is false). This is because a force of an output blocks any values it would receive from the program logic and puts the forced value directly on the field device. This technique can be used to by-pass interlocks to start a pump, for example.
)
)
Deselect the forced bit and close the editor.
Turn the first three potentiometers of the operator panel to midrange, open the “Status” tab of the AI810 module and examine the values displayed. Explain the results.
These three identical potentiometers show different values at midrange because the maximum value for the range of engineering units was edited in the previous lab.
6/7
System 800xA training
7.2.1.6 Use Test Mode
)
Take the Control Builder offline by using the ‘Offline’ icon in the toolbar.
)
Select the ‘Test Mode’ icon from the toolbar.
)
)
Proceed through any dialog boxes with “Continue” until the message ‘Test mode started’ appears in the message pane.
Open Program2 then test the logic by right clicking on the signal gSw4.value and selecting ON from the context menu.
After setting both gSw4.Value and gSw5.Value ON, gLamp1.Value goes true.
) )
Continue to test the logic as you wish, then close the editor. Put the Control Builder in the offline mode.
7/7
System 800xA Training
Chapter 8 Libraries
TABLE OF CONTENTS Chapter 8 Libraries ........................................................................................................................................................................ 1 8.1 General Information............................................................................................................................................................. 2 8.1.1 Objectives ..................................................................................................................................................................... 2 8.1.2 Legend .......................................................................................................................................................................... 2 8.2 The Library Concept............................................................................................................................................................ 3 8.3 Types and Instances............................................................................................................................................................. 4 8.3.1 Type Names and Instance Names ................................................................................................................................. 4 8.3.2 Data Types .................................................................................................................................................................... 5 8.3.3 Function Block Types................................................................................................................................................... 5 8.3.4 Control Module Types .................................................................................................................................................. 5 8.3.5 Functions ...................................................................................................................................................................... 6 8.3.6 Library Dependencies ................................................................................................................................................... 6 8.4 General Comments about Libraries (Summary so far) ........................................................................................................ 7 8.4.1 Libraries Versions......................................................................................................................................................... 7 8.4.2 Standard ABB Libraries................................................................................................................................................ 7 8.5 Fundamental Libraries ......................................................................................................................................................... 9 8.5.1 System .......................................................................................................................................................................... 9 8.5.2 BasicLib...................................................................................................................................................................... 11 8.5.3 IconLib........................................................................................................................................................................ 11 8.5.4 SupportLib .................................................................................................................................................................. 11 8.5.5 AlarmEventLib ........................................................................................................................................................... 12 8.6 Other Libraries................................................................................................................................................................... 13 8.6.1 Communication Libraries ........................................................................................................................................... 13 8.6.2 Continuous Control Libraries ..................................................................................................................................... 15 8.6.3 Process Object Libraries ............................................................................................................................................. 16 8.7 Help on the Libraries and their Objects ............................................................................................................................. 19 8.7.1 Online Help................................................................................................................................................................. 19 8.7.2 Manuals ...................................................................................................................................................................... 20 8.8 Library Handling ............................................................................................................................................................... 21 8.8.1 How to Insert a Library into a Project......................................................................................................................... 21 8.8.2 How to Connect a Library to an Application .............................................................................................................. 22
1 / 22
T314-08 Libraries - RevB
8.1 General Information 8.1.1 Objectives On completion of this chapter you will be able to: •
Explain the concept of libraries and types
•
Describes the main standard libraries provided by ABB
•
Identify the libraries used in a project
•
Handle libraries
8.1.2 Legend
2 / 22
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA Training
8.2 The Library Concept One of the three main divisions of a Control Builder M Project is Libraries:
Libraries contain Type Definitions or Types which are used to give additional functionality to the project. There are three sorts of type definition which may be made in a library. These are: •
Data types
•
Function Block types
•
Control Module types
3 / 22
T314-08 Libraries - RevB
8.3 Types and Instances It is important to understand what is meant by a type and an instance of a type. We often have the case where a particular object is used many times in an application. An object type is defined and then each time the type is used an instance of the type is created. In most circumstances the link between the type and the instance is maintained. Therefore, if in future, the type is modified, then all instances of that type will be changed. For example, a chemical plant may contain many hundreds of block valves, but it is likely that they are all of the same type. In the control program we may define one valve type and then whenever one is required in the program a new instance of that type is created. Type
Instance 1 Instance 2 Instance 3
Note that in the control builder Project Tree, types have bright green icons and instances have cyan icons.
8.3.1 Type Names and Instance Names Do not confuse the type name with the instance name. When an instance of a Function Block Type or Control Module Type is declared you are asked to give the instance a name:
Instance name
Type name
The diagram above shows a small segment of an application. In Program 2 there are two instances of a timer type function block. In the first the Instance name is ‘MixingTimer’ and it is of type ‘Tof’. The second instance is of the same type but has an instance name ‘Tof_1’.
4 / 22
System 800xA Training
8.3.2 Data Types In a modern control system there is a need to store many different types of data (numeric, status, text strings, dates and times etc). Each type of data has different memory format requirements. Therefore when a variable is declared inside an application, it is named and also given a data type. Available data types are defined in libraries. ABB define a set of standard data types within the ABB standard libraries which become available following installation of the system. NOTE!
It is also possible for the user to define his own data types in project specific libraries.
The data types are used by variables declared within the application. A variable may be considered as an instance of a data type.
8.3.3 Function Block Types Function blocks provide additional functionality for the programmer. ABB supply a large number of pre-defined Function Blocks in the standard libraries. For example, in the library “BasicLib” there are function block types for timing, data conversion, counting and much more. In the library “ProcessObjExtLib” there are function blocks for valves and Motors. Instances of Function Block Types may be created in programs and control modules in an application. (provided the appropriate library is connected to that application).
8.3.4 Control Module Types Control Modules are a unique addition to the traditional programming methods. They may be considered as enhanced function blocks. They may contain code, graphics and other function blocks or control modules. ABB provide many Control Module Types in the standard libraries. The user may then create instances of these types his application. Control modules are instantiated at application level or else inside other control module types. It is also possible for a user to define his own Control Module Types in project specific libraries.
5 / 22
T314-08 Libraries - RevB
8.3.5 Functions In some libraries certain functions are defined. Functions are usually very basic operations such as AND (logical operator) or ADD (addition). You should distinguish between Functions and Functions Blocks – they are not the same: •
Functions return a single result immediately on execution of the function call.
•
Functions do not retain values from previous calls, unlike function blocks.
The majority of functions available in the system are defined in the library called “System”, which is always loaded when any project is created. (It is not possible to have a project which does not have the “System” library because otherwise it would not be possible to write even the simplest statements in code!) NOTE!
It is not possible for the user to define his own functions.
The library “System” is a special case in that it provides the very basic functions and operators.
8.3.6 Library Dependencies A given library may have type definitions which may use types from another library. This is so that simpler libraries may provide types which may be used to build more complex types in a “higher” library.
In the above, the library “BasicLib” uses types from “IconLib”. For this to be possible the library “IconLib” is Connected to “BasicLib”. We say that “BasicLib” is dependant on “IconLib”.
6 / 22
System 800xA Training
8.4 General Comments about Libraries (Summary so far) 1. ABB provides many standard libraries 2. Libraries add functionality to a project 3. Libraries are used to store type definitions called Types. 4. A library may contain Functions, Data Types, Function Block Types and Control Module Types. 5. A user may define his own “User” libraries which may contain project specific, user defined, Data types, Function Block types or Control Module types (but not Functions) 6. A library may be connected to another (higher) library. The higher library may then use types from within the connected library to make more complex types.
8.4.1 Libraries Versions System 800xA Version 4 fully supports version handling for libraries. (This topic is dealt with later in the course). For now, you should note that a library name includes its version designation, for example – BasicLib 1.2-3. First Digit
Major Version Number
Second Digit
Minor Version Number
First and second digits are, by convention separated by a period. Third Digit
Revision number
Third digit is separated from the previous with a hyphen. For new projects the latest versions of all libraries are used. For modifications to existing projects, use the library versions that were originally used to build the project.
8.4.2 Standard ABB Libraries In this section a brief description of the contents of the libraries provided by ABB is given. Libraries and their contents are organized by function. This makes it easy to choose the library required. For example, if you want alarm handling in your code then your should load “AlarmEventLib” into your project and then connect it to the applications that need alarm handling code.
7 / 22
T314-08 Libraries - RevB
8 / 22
System 800xA Training
8.5 Fundamental Libraries 8.5.1 System Contains only Data Types and Functions. This is a special library which is loaded with all projects. It connects automatically to all libraries and applications in the project. It contains all the definitions for the programming instruction set and the definitions of the simple data types.
The diagram on the next page shows the functions defined in the System library. The user may not define his own functions in control builder. They are part of the kernel (system) code.
9 / 22
T314-08 Libraries - RevB
As can be seen the functions provide arithmetic, comparison, logical operations, data type conversion, timers, date and time handling amongst others.
10 / 22
System 800xA Training
8.5.2 BasicLib This library contains only Data types and Function Block Types. The library has definitions for much useful functionality: •
Counters
•
Timers
•
Automatic Check of Feedback (ACOF)
•
Edge Detection
•
Multiplexers and Signal switches
•
Data type converters
•
Level Trips with Hysteresis
•
Shift Registers
•
Latches
•
Stacks and Queues
•
Time and Date Functions
8.5.3 IconLib This library is made out of Control Module Types and contains Standard Icons which are used by many Control Modules in other libraries. IconLib is a connected library for those other libraries which require graphical icons in the control modules.
8.5.4 SupportLib This library contains hidden objects which are used by some other libraries. This library may be present in a project but there is nothing in it which can be used independently by the user. When another library requires it, then it will get loaded automatically
11 / 22
T314-08 Libraries - RevB
8.5.5 AlarmEventLib This is an important library containing function blocks and control modules for detection and management of alarms in a controller. Alarms are detected and generated with the AlarmCond function block type or the AlarmCondM control module type. The AlarmCondBasic function block type and the AlarmCondBasicM control module offer reduced functionality but use less code memory.
DataToSimpleEvent (FBT) allows an event to be defined and also the transmission of additional data from the controller to the OPC server. PrintAlarms and PrintEvents prints to a local serial line printer which may be connected to the serial port of the controller. Hardware and System alarms generated locally in the controller may be subscribed to using the AttachSystemAlarm
12 / 22
System 800xA Training
8.6 Other Libraries 8.6.1 Communication Libraries There is a set of communication libraries titled and organized according to the protocol required for communication. Most of the Communication libraries have similar modules. The Connect module defines a channel and makes a connection. The Read modules read data via the connected channel. The Write modules write data out via the connected channel.
COMLICommLib COMLI is a proprietary Master/Slave protocol implemented from the 1970’s by SattControl/Alfa Laval Automation. It supports RS232 and RS485 transmission. This library is used to communicate from AC800M to legacy SattControl systems.
FFH1CommLib The FOUNDATION Field bus H1 Communication Library “FFh1CommLib” contains function block types and control module types for communication with FOUNDATION Field bus H1 devices.
FFHSECommLib This library contains data types, function block types and control module types for use with Foundation Field bus HSE (High Speed Ethernet). FOUNDATION Field bus High Speed Ethernet (HSE) interconnects measurement and control equipment such as sensors, actuators and controllers. It serves as a Local Area Network (LAN) for instruments used in process control and manufacturing automation applications and has a built-in capability to distribute the control application across the network.
INSUMCommLib This library is used to create a communication interface to the INSUM motor control system:
SerialCommLib This library is used to communicate over any serial link. The objects may be used to create an interface for any protocol. Applications include reading and writing to serial devices.
13 / 22
T314-08 Libraries - RevB
MB300CommLib This library contains function block types which enable the user to build an interface to the ABB Advant AC400 controller series for Master. The ABB Advant Master system has its own control network using the proprietary MasterBus300.
MMSCommLib This library contains function block types used to connect applications over the TCP/IP control network. NOTE!
MMS stands for Manufacturing Message Specification.
This is the protocol used for all communication between AC800M controllers. It is also used (in the background) for the on-line editors in Control Builder and for application download from a Control Builder engineering station to the controllers.
ModbusCommLib This library is used to connect to Modbus devices over a serial link.
ModemCommLib This library is used to connect to a Modem via a serial port on the controller. The function blocks may be used to dial up a remote system via a telephone link.
S3964CommLib The Siemens 3964R Communication Library (S3964CommLib) contains function block types to establish communication with a system supporting the Siemens 3964R protocol. S3946R is a point to point protocol for communication with Siemens devices
SattBusCommLib SattBus is a proprietary Token Passing Bus, designed and implemented by SattControl/Alfa Laval Automation during the early 1990’s. Most applications which used it are found in the food industry where it was used to support the control high density valve matrices (SattTop)
14 / 22
System 800xA Training
8.6.2 Continuous Control Libraries There is a range of Control libraries with increasing level of sophistication and complexity. The control libraries contain function block types and control module types for continuous control of processes. (Sometime referred to as PID control)
ControlSimpleLib This is the simplest and lowest level control library. It contains data types and function block types for basic control loops. More complex loops may not be constructed with objects only from this library.
ControlBasicLib This library contains function block types for complete control loops which may be connected directly to the I/O signals. The controllers in these control loops can be configured either as P, PI, PD or PID controller with the following functions: •
Auto tuner of relay type
•
Feed forward
•
Tracking
•
Deviation alarm output
•
Limitation of output
•
Anti-integrator wind-up
•
Bumpless transfer
•
Dead Zone for the control deviation
•
Bumpless switchover to redundant I/O
•
ControlAdvancedLib
ControlStandardLib This library contains Control Module Types use to create PID loops in the CMD editor. All modules in this library may be connected using graphical connections. The data type Control Connection is used to connect between modules. It has Forward and Backward components necessary for the correct data transfer needed during the execution of control loops.
ControlExtendedLib This library contains Control Module Types which extend the functionality of the ControlStandardLib. It contains modules which may be used to manipulate loop signals.
15 / 22
T314-08 Libraries - RevB
ControlAdvancedLib This library contains an additional PID controller with advanced facilities and also a Static Friction Conpensating modules. The two modules may be used with others from the other control libraries.
ControlFuzzyLib ControlFuzzyLib contains control module types which allow the user to create multivariate control functions using fuzzy logic. This type of logic may be used to create rule-based control systems based on multiple input signals together with multiple output actuators. Certain applications do not readily yield to traditional PID control methodologies. It is here that fuzzy control may be used to advantage.
8.6.3 Process Object Libraries The Process Object Libraries give function block types and control module types for many basic process control devices (valves, pumps etc.)
ProcessObjBasicLib The Process Object Basic Library is a sub-library to ProcessObjExtLib. It provides core functions used by the devices in ProcessObjExtLib. The main types are prefixed by the word ‘Bi’ or ‘Uni’. ‘Bi’ types are two directional devices (e.g. a motor with forward and backward motion) whereas ‘Uni’ are one direction devices (e.g. a block valve).
ProcessObjExtLib This library contains function block types and control module types which are used to control process objects such as valves and motors. Function Block Types and Control Module Types are provided so that a user may choose a program or control module solution.
ProcessObjDriveLib This library provides control module types for controlling ABB drives Two approaches are used for drives either the user accepts the ABB standardized interface to the drive for control and status or else uses an ‘Engineered’ drive function. The Standard drive is used with standard application firmware that is loaded into drive. The Engineered drive gives a complete set of all signals for the drive and allows the user to tailor a specific and specialized drive solution for those applications requiring particular behavior.
16 / 22
System 800xA Training
ProcessObjInsumLib The Process Object INSUM Library (ProcessObjInsumLib) library contains function block types and control module types to control and supervise the standard INSUM (INtegrated System for User-optimized Motor management) devices, MCU (Motor Control Unit) and trip unit for Circuit Breakers. INSUM is a system for control and supervision of mainly motors. Each motor has a motor control unit (MCU) located in the motor starter module. INSUM devices (such as MCUs) are arranged in up to four subnets, each of them supporting up to 32 units at 78 kb/s transfer rate. A network (LonWorks) transfers messages at 1.25 Mb/s between subnet units, via routers.
GroupStartLib The GroupStart library contains control modules types to control and supervise a sequential startup of process objects, that is, to build procedures for starting and stopping processes. The Group Start library is based on the control module concept that makes it suitable for creating start/stop procedures for machine applications.
SeqStartLib The SeqStartLib contains functionality for control of an SFC (Sequential Function Chart) from the process, application code or operator workplace. The Sequence Start Library envisages a starting sequence and a stopping sequence for a given process area. The Group Start library may also be used for starting and stopping processes synchronously. SignalLib Signal object function block types add alarm and event handling to I/O signals (analog and digital in- and output signals) and application variables. Signal object function block types also provide filtering and error handling. In their faceplates, it is possible to force objects, view trim curves, configure and enable/disable alarms and events, and view/modify parameters.
SupervisionLib The SupervisionLib library consists of modules for detector input, system control and monitoring, overview presentation and output handling.
FireGasLib The FireGasLib library contains modules for monitoring and control of protection systems that are typically used in a Fire & Gas system. All modules can be used in SIL classified applications.
17 / 22
T314-08 Libraries - RevB
18 / 22
System 800xA Training
8.7 Help on the Libraries and their Objects Help is available from several sources:
8.7.1 Online Help
Click ‘Help’ in the menu bar and then ‘Help Topics’ OR
Click on the Help Icon in the Toolbar:
Context sensitive help When a library is open in the project explorer help on any item may be obtained by Marking the Item and then pressing the ‘F1’ key.
If you need to read about a strange new function block, just mark it and press ‘F1’
19 / 22
T314-08 Libraries - RevB
8.7.2 Manuals All official manuals from ABB are available from the ‘Help’ menu:
The libraries described in this chapter are detailed in the following document:
20 / 22
System 800xA Training
8.8 Library Handling 8.8.1 How to Insert a Library into a Project 1. Mark the object ‘Libraries’ in the Project Tree: 2. Click right and select Insert Library
3. Select the library that is required in the dialogue and click the “Insert” button.
21 / 22
T314-08 Libraries - RevB
8.8.2 How to Connect a Library to an Application There may be many libraries in a project, there may also be many applications in a project. Each application may have a different set of libraries connected to it, according to the requirements of the application. In order to connect a library to an application, that library must already be present in the project’s pool of libraries.
1. Mark the ‘Connected Libraries’ folder underneath the application concerned, click right and select Connect Library.
2. Select the library to be connected from the drop down list and then click “OK”.
22 / 22
System 800xA training
Exercise 8.1 Handling Libraries
8.1.1 Goals Investigate the contents of libraries and understand the link between object types and their instances. Insert a library into a project and connect a library to an application
8.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/3
T314-08 Exercise 8.1 - RevB
8.1.3 Exercise Steps 8.1.3.1 Explore Libraries
) ) ) ) )
Expand Libraries in the Control Builder and note the various libraries. Explore the System library to determine the Data Types and Functions available. Explore the Control Modules in ControlStandardLib. Select the AnalogInCC entry then to open the online help. Use the help to investigate PIDSimpleCC and Level2CC. Navigate to the Object Type Structure in the Engineering Workplace and continue to expand the ‘Control System’ object to expose the list of libraries. Compare this with the list of libraries in Control Builder. Find the ControlStandardLib in the Object Type Structure then compare its list of control modules with ControlStandardLib in Control Builder.
8.1.3.2 Explore Object Types and Instances Libraries in Control Builder contain the templates or object types for programming code that may be used multiple times throughout the project. Each time the object type is used in an application, an instance is created. For example, Sxx_V1 and Sxx_V2 are both instances of a ‘ValveUni’. Therefore, they have common ValveUni programming and properties, but since they are connected to different I/O they independently control different valves.
These same libraries in the Object Type Structure will still contain these object types but instead of common programming code, they contain common aspects (e.g. faceplates, display elements, etc.) that will get propagated to all instances of this type in the Control Structure. Using Sxx_V1 and Sxx_V2 as examples, they share a common ValveUni faceplate type, but each of their faceplates in the Control Structure will work separately from the other allowing independent valve control.
2/3
System 800xA training
)
) ) )
Using Control Builder, find Sxx_V1 in the program Tank, then select Go to ValveUni | In Project Explorer.
Explain the difference between choosing In Editor versus In Project Explorer. Which library contains ValveUni? Use the online help to investigate it and other object types in this library. Navigate to Sxx_V1 in the Control Structure of the Engineering Workplace. Select Show Type from its context menu. Which library and which structure were opened?
8.1.3.3 Insert and Connect Libraries SerialCommLib will be inserted and connected to an application in the project, but will not be used in future labs.
)
) )
Select ‘Libraries’ in the Project Explorer of Control Builder, open its context menu, then select Insert Library….
Insert ‘SerialCommLib 1.0-2’ from the list. In Applications, expand Sxx_ReactorApp, right click on ‘Connected Libraries’ and select Connect Library. Choose ‘SerialCommLib 1.0-2’ from the pull down list then verify that it is in the list of connected libraries for this application. Even though a library is inserted into a project, its contents are not available to a given application until it is in the list of Connected Libraries for the application. NOTE!
Each library may have different versions and more than one version may be inserted into a project, but only one version of each library may be connected to a given application.
.
3/3
System 800xA training
Solution 8.1 Handling Libraries
8.1.1.1 Explore Libraries
)
Expand Libraries in the Control Builder and note the various libraries.
)
Explore the System library to determine the Data Types and Functions available.
1/5
T314-08 Solution 8.1 - RevB
)
)
Explore the Control Modules in ControlStandardLib. Select the AnalogInCC entry then to open the online help. Use the help to investigate PIDSimpleCC and Level2CC.
Navigate to the Object Type Structure in the Engineering Workplace and continue to expand the ‘Control System’ object to expose the list of libraries. Compare this with the list of libraries in Control Builder.
The Object Type Structure contains a complete list of available libraries and versions. In the Control Builder, only the libraries (both standard and user defined) that will be used in this project are typically inserted.
2/5
System 800xA training
)
Find the ControlStandardLib in the Object Type Structure then compare its list of control modules with ControlStandardLib in Control Builder.
The two lists contain the same control modules.
8.1.1.2 Explore Object Types and Instances Libraries in Control Builder contain the templates or object types for programming code that may be used multiple times throughout the project. Each time the object type is used in an application, an instance is created. For example, Sxx_V1 and Sxx_V2 are both instances of a ‘ValveUni’. Therefore, they have common ValveUni programming and properties, but since they are connected to different I/O they independently control different valves.
These same libraries in the Object Type Structure will still contain these object types but instead of common programming code, they contain common aspects (e.g. faceplates, display elements, etc.) that will get propagated to all instances of this type in the Control Structure. Using Sxx_V1 and Sxx_V2 as examples, they share a common ValveUni faceplate type, but each of their faceplates in the Control Structure will work separately from the other allowing independent valve control.
3/5
T314-08 Solution 8.1 - RevB
)
)
Using Control Builder, find Sxx_V1 in the program Tank, then select Go to ValveUni | In Project Explorer.
Explain the difference between choosing In Editor versus In Project Explorer. ‘In Project Explorer’ will navigate to the object in the library. ‘In Editor’ will open the editor to expose the variables, parameters and unhidden code.
)
Which library contains ValveUni? Use the online help to investigate it and other object types in this library. ValveUni is a function block type in ProcessObjExtLib 2.2-1.
)
Navigate to Sxx_V1 in the Control Structure of the Engineering Workplace. Select Show Type from its context menu. Which library and which structure were opened?
ProcessObjExtLib 2.2-1 (scroll up from ValveUni) in the Object Type Structure.
4/5
System 800xA training
8.1.1.3 Insert and Connect Libraries
)
)
)
Select ‘Libraries’ in the Project Explorer of Control Builder, open its context menu, then select Insert Library….
Insert ‘SerialCommLib 1.0-2’ from the list.
In Applications, expand Sxx_ReactorApp, right click on ‘Connected Libraries’ and select Connect Library. Choose ‘SerialCommLib 1.0-2’ from the pull down list then verify that it is in the list of connected libraries for this application.
Even though a library is inserted into a project, its contents are not available to a given application until it is in the list of Connected Libraries for the application.
5/5
System 800xA training
Chapter 9 Variables and Data Types
TABLE OF CONTENTS Chapter 9 Variables and Data Types ............................................................................................................................................. 1 9.1 General Information............................................................................................................................................................. 2 9.1.1 Objectives ..................................................................................................................................................................... 2 9.1.2 Legend .......................................................................................................................................................................... 2 9.2 Variables.............................................................................................................................................................................. 3 9.2.1 Declaration and Scope of Variables.............................................................................................................................. 3 9.2.2 External Variables......................................................................................................................................................... 5 9.2.3 Variable Scope.............................................................................................................................................................. 6 9.2.4 Variable Naming Rules................................................................................................................................................. 6 9.3 Data Types........................................................................................................................................................................... 7 9.3.1 Simple Data Types........................................................................................................................................................ 7 9.3.2 Initial Values for a Variable.......................................................................................................................................... 7 9.3.3 Attributes ...................................................................................................................................................................... 8 9.3.4 Further Information....................................................................................................................................................... 9 9.4 Declaration of Variables .................................................................................................................................................... 11 9.4.1 How to Declare a Variable in a Program .................................................................................................................... 11 9.4.2 How to Declare a Variable in an Application ............................................................................................................. 12 9.4.3 How to Declare a Variable in a Function Block Type ................................................................................................ 13 9.4.4 How to Declare a Variable in a Control Module Type ............................................................................................... 14 9.5 Structured Data Types ....................................................................................................................................................... 15 9.5.1 Definition of a Structured Data Type.......................................................................................................................... 16 9.5.2 Reference to Components in a Structured Variable .................................................................................................... 17 9.5.3 System defined I/O Data Types .................................................................................................................................. 18 9.6 Allocating Variables to IO Channels ................................................................................................................................. 20 9.7 How to Define a User Data Type....................................................................................................................................... 21 9.8 Project Constants ............................................................................................................................................................... 23 9.8.1 How to Define User Defined Project Constants ......................................................................................................... 23
1 / 24
T314-09 Variables and Data Types - RevB
9.1 General Information 9.1.1 Objectives Upon completion of this chapter, you will be able to: •
Describe the scope of variables
•
Declare variables
•
Declare and use structured data types
•
Explain the use of project constants
9.1.2 Legend
2 / 24
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
9.2 Variables Variables are used to store data inside the controller memory. During execution of the control code the data may change following changes in the process states or else due to calculations made. When the application code is written, the programmer must create variables in which to store the data which is manipulated by the program code. Variables are the containers for values within the application, its programs, its function blocks and its control modules. Modern controllers are capable of handling many different sorts of data. The simplest type is Boolean, but other types are possible such as integer (whole numbers), real (floating point numbers) and string (character strings such as text messages).
9.2.1 Declaration and Scope of Variables When a variable is created by the programmer it is said to be declared. When a variable is declared you must, at the very least, give it a name and a data type.
9.2.1.1 Variables in Applications Variables are declared in an application by opening the application editor from the Project Explorer tree:
Two sorts of variable may be declared within an application (by selecting the appropriate tab at the bottom of the editor).
3 / 24
T314-09 Variables and Data Types - RevB
Global Variables These variables are known within the application and also within any program contained within the application. Global variables are declared whenever data needs to be exchanged between programs. It is also usual to declare any variables connected to IO channels as global variables.
Variables These variables are known only within the application and they are not visible to programs inside the application. They are used to exchange data between Control Modules in an application. These variables are local to the application.
9.2.1.2 Variables in Programs Variables are declared inside programs within an application by opening the Program Editor of the program concerned:
Variables declared inside a program are known only within that program. They are local to the program itself.
4 / 24
System 800xA training
9.2.1.3 Variables in Function Block Types Variables may also be declared inside a Function Block Type. Such variables are local to the function block and are not ‘visible’ outside the function block. When a function block is instantiated, the variables declared in the type are created in the instance.
Variables declared inside a function block are local to the function block.
9.2.1.4 Variables in Control Module Types Variables may be declared inside a Control Module Type. Such variables are local to the control module and are not ‘visible’ outside the control module. When a control module is instantiated, the variables declared in the type are created in the instance.
Variables declared inside a control module are local to the control module.
9.2.2 External Variables In the Function Block Type editor and also the Control Module Type Editor there is a tab for declaring ‘External Variables’. External variables are not a new type of variable but a reference from inside a type to a variable that will be declared as global in the application. If global variables are to be used inside function block types or control modules, they must be declared as external variables in the function block type editor or control module editor.
5 / 24
T314-09 Variables and Data Types - RevB
All instances of the function block or control module will reference the named external variable. NOTE!
External variables should be used only to supply values that are application wide.
9.2.3 Variable Scope It is important to understand the scope of a variable declared in the various objects described above: Here is a summary: Application Variables
known only in the Application space
Application Global Variables
known in the Application space and also in any program contained in the Application
Program Variables
known only in the program in which declared
Variables in Function Block and Control Module Types
known only in the function block or control module instances
9.2.4 Variable Naming Rules The following rules apply when declaring a variable: •
A variable name may have up to 32 characters
•
The name of the variable must not begin with a number
•
No spaces are permitted in a variable name
•
In general use only alphanumeric characters and the underscore character. Do not include any special characters such as $, # or others.
•
Variable names are NOT case sensitive.
•
A variable may not have a ‘Key word’ as a name. Some key words are reserved by the system and you will be warned if you have used a key word for a variable name.
Conventions It is usual to give variables meaningful names rather than abbreviated mnemonics, such as: FillValve_FB_Open
6 / 24
•
The underscore character is commonly used when a space is required and to increase readability.
•
Upper and lower case characters are used.
•
Capitals are used to emphases key words in the name and again to make it more readable.
System 800xA training
9.3 Data Types A variable must be given a data type when it is declared. There are many different data types in the system, a user may also define his own types. Data type definitions are usually done within libraries and the standard libraries from ABB contain additional data type definitions which are used by the objects within the respective library.
9.3.1 Simple Data Types Several simple data types are defined in the System Library. These are shown in the table below: Data type
Description
Bits
Default value
bool
Boolean
1
False, 0
Dint
Double integer
32
0
Int
Integer
16
0
Uint
Unsigned integer
16
0
String
Character string *
Word
Bit string
16
0
DWord
Bit string
32
0
Time
Duration
0s
Date_And_Time
Date and time of day
1979-12-31-00:00:00
Real
Real number
‘’ (empty string)
32
0.0
When a variable of type string is declared it has a length of 40 characters by default, however this can be changed by entering string[xx] as the data type, where xx is the string length. The maximum length of a string variable is 140 characters.
will default to 40 characters, has a capacity for 80 characters and 10 characters.
9.3.2 Initial Values for a Variable The “Initial value” column in the declaration pane allows you to give a variable a value which it will have when the application is first executed. The initial value will be assigned to the variable before the first execution scan of the code following a compilation and download of the application. NOTE!
Variables with the attribute ‘coldretain’ have a different behavior once the application has been downloaded.
If a variable is not given an initial value then it will take the default initial value for that type as shown in the table above.
7 / 24
T314-09 Variables and Data Types - RevB
9.3.3 Attributes The following attributes can be given to a variable: Name No attribute
Description The value of the variable is not maintained after a restart. Instead it is set to the initial value of the variable. If the variable has no initial value assigned to it, it will get the default value of the data type. The value of the variable is maintained after a warm restart.
retain
coldretain
constant
The system sets retain on all variables by default. To override this default the attribute column is cleared and left empty. The value of the variable is maintained after a warm or cold restart. This attribute overrides the retain attributes in a structured data type. You cannot change the value of the variable once given (after compilation and download). This attribute overrides the coldretain and retain attributes in a structured data type. The variable will not be visible to the OPC server, and therefore not available in the HSI system.
hidden
T
In general all variables not needed by the HMI should be given the hidden attribute as this will considerably reduce network traffic. All variables not having the Hidden attribute will be exported to the OPC server.
Variables declared in a Control Module can also have the additional attributes State and Nosort. These attributes will be described later. The diagram below shows the syntax used:
The attributes No attribute, Retain and ColdRetain affect how the value of the variable is maintained following a restart of the controller or following a download of the application. The controller may be restarted in two ways: At a Cold Restart, variables without the attribute ColdRetain lose their values. Instead, they are given their initial value (or if no initial value is stated then the default initial value for the type). Variables specified using the attribute ColdRetain keep their values. At Warm Restart, variables with the attribute Retain or ColdRetain are stored before restart. Variables without these attributes are given their initial value (or if no initial value is stated then the default initial value for the type).
8 / 24
System 800xA training
9.3.4 Further Information I/O-address If a variable is connected to an IO channel in the Hardware part of the Project Explorer tree, the connected channel address will be listed in the IO address column.
Access Variables This column will be filled automatically after you declare the access variables and map them to a particular variable. (See later chapter on Communications)
Description The Description allows the programmer to provide information about the variable. A short descriptive text, for example, would include an explanation of the cause of a condition or a simple event; 'Pump 1 is running'.
9 / 24
T314-09 Variables and Data Types - RevB
10 / 24
System 800xA training
9.4 Declaration of Variables 9.4.1 How to Declare a Variable in a Program 1. Mark the program in the Project Explorer Tree: 2. Click right and select Editor
3. Declare the variable by naming it and stating a data type in the declaration pane of the editor:
4. Give the variable any attribute required 5. Give the variable an initial value if required 6. Give the variable a description if required
11 / 24
T314-09 Variables and Data Types - RevB
9.4.2 How to Declare a Variable in an Application 1. Mark the application in the Project Explorer Tree 2. Click right and select Editor
3. Decide whether the variable should be global or local to the application by selecting the appropriate tab.
4. Declare the variable by naming it and stating a data type in the editor. 5. Give the variable any attribute required 6. Give the variable an initial value if required 7. Give the variable a description if required
12 / 24
System 800xA training
9.4.3 How to Declare a Variable in a Function Block Type 1. Mark the Function Block Type in the library where it is defined in the Project Explorer Tree 2. Click right and select Editor
3. Select the Variables tab in the declaration pane 4. Declare the variable by naming it and stating its data type.
5. Give the variable any attribute required 6. Give the variable an initial value if required 7. Give the variable a description if required
13 / 24
T314-09 Variables and Data Types - RevB
9.4.4 How to Declare a Variable in a Control Module Type 1. Mark the Control Module Type in the library where it is defined in the Project Explorer Tree 2. Click right and select Editor
3. Select the Variables tab in the declaration pane
4. Declare the variable by naming it and stating its data type. 5. Give the variable any attribute required 6. Give the variable an initial value if required 7. Give the variable a description if required
14 / 24
System 800xA training
9.5 Structured Data Types Structured Data types have two or more components. The components may be simple or themselves structured. The definition of a structured data type allows several associated values to be stored as a single variable of that type. Data type
Components
For example, suppose you have a vessel which has the following data associated with it: •
Tank is Full
•
The volume of fluid (measured in cubic meters).
•
The temperature of the fluid (measured in Kelvin).
•
The minimum permitted temperature of the fluid.
•
The maximum permitted temperature of the fluid (both measured in Kelvin).
This data could be packed into a data type called say, “TankType”, having a component for each of the values, with the main identifier “Tank”: •
Tank.Full
•
Tank.Volume
•
Tank.Temperature
•
Tank.MinTemp
•
Tank.MaxTemp
15 / 24
T314-09 Variables and Data Types - RevB
Data types may be defined in applications or more usually in libraries. Data type definitions in libraries
Data type definitions in applications
Data types defined in libraries become available to all applications (and libraries) that have that library connected to them.
9.5.1 Definition of a Structured Data Type Data types are defined in the data type components editor accessed from the context menu as shown below:
After selecting ‘New Data Type’ enter the components in the editor, you can define the components.
16 / 24
System 800xA training
The example below shows the definition of the TankType example above.
9.5.2 Reference to Components in a Structured Variable Once a type has been defined, you may declare variables having that type. Suppose that a plant has three tanks, then you could declare three variables of type ‘TankType’ called say ‘Tank1_Data’, Tank2_Data’ and Tank3_Data. NOTE!
Dot notation is used to read and write to the components within a structured variable.
You could read the volume component by referencing Tank1_Data.Volume TankVolume := Tank1_Data.Volume;
If you want to set the Full component of the Tank variable to 1 (i.e. "True"), write: Tank1_Data.full := true ;
The rest of the subordinate variables are accessed in a similar way.
17 / 24
T314-09 Variables and Data Types - RevB
9.5.3 System defined I/O Data Types Although it is allowed to connect simple variables of type Bool and Real to digital and analogue IO channels respectively, it is better to use the system defined IO data types called BoolIO and RealIO. DintIO is used to connect to integer channels on, for example, a pulse counter module DwordIO may be used to access all 16 channels on a DI or DO module as a word rather than as individual IO points.
9.5.3.1 BoolIO A variable of type BoolIO can be connected to a digital input or output channel. The datatype is defined by the system and has the following components: Name
Data type
Description
Value
Bool
Value used by the application code
IOValue
Bool
Value of the I/O channel. IOValue and Value are equal if the channel is not forced.
Forced
Bool
Indicates whether or not the channel is forced.
Status
Dword
Status as a hexadecimal integer
9.5.3.2 RealIO A variable of the type RealIO can be connected to an analogue input or analogue output channel. The Value, IOValue, Forced and Status components are given by the system to the application. The Inverted, Max, Min, Unit and Fraction components are given by the user of the application to the system in the Scaling tab. The data type has the following components. Name
Data type
Description
Value
Real
Value used by the application.
IOValue
Real
Value of the I/O channel. IOValue and Value are equal if the channel is not forced.
Forced
Bool
Specifies whether or not the channel is forced.
Status
Dint
If the channel status is not OK, Status can take any of these values: -4029 Underflow -4030 Overflow -4031 UnitError -4032 ChannelError
Parameters
18 / 24
SignalPar
Measuring range
System 800xA training
Note that the last component ‘Parameters’ is itself a structured variable of type SignalPar. The data type SignalPar has the following components: Name
Data type
Description
Max
Real
Maximum value to which you can scale a maximum input signal.
Min
Real
Minimum value to which you can scale a minimum input signal.
Inverted
Bool
Specifies if the connection to the analog I/O is reversed (0 mA->100%, 20 mA->0%).
Fraction
Dint
Specifies the number of decimals to be displayed.
Unit
string
Display the physical unit.
19 / 24
T314-09 Variables and Data Types - RevB
9.6 Allocating Variables to IO Channels Variables in the applications or programs may be allocated to the appropriate IO channels in the hardware part of the tree. To make the IO connection, double click the IO module in controller hardware, Press “Ctrl-T” in the variable column, and choose the right variable to connect from the tree.
20 / 24
System 800xA training
9.7 How to Define a User Data Type User data types are generally defined in libraries. This is because the library can then be connected to applications and the data type then becomes known to them. NOTE!
It is possible to make definitions of types in an application but then only that application has access to the type.
1. Select the library in which the data type is to be defined 2. Select Data Types, right click and select New Data Type…
3. Give the data type a name:
4. Define the components of the data type by selecting the editor for the data type
21 / 24
T314-09 Variables and Data Types - RevB
5. For each component type in a name and a data type:
6. Give the component any attribute required 7. Give the component an initial value if required 8. Give the component a description if required
22 / 24
System 800xA training
9.8 Project Constants Values which are globally required for all libraries and applications within a project may be defined as Project Constants from the Tool | Project Constants menu. This can be useful software settings, which can be adapted to an individual project without having to modify any source code.
Once a value has been defined as a project constant, it may be referenced directly in the code in a program, control module type or function block type. Alternatively the constant may be used as an initial value for a variable.
For instance: To be able to change the severity for all “High level alarms” in your entire project, set up a project constant that defines the severity and use the project constant in all alarm blocks in all applications. To change the severity, just change the value of the project constant.
9.8.1 How to Define User Defined Project Constants Project constants may be defined for the project as a whole using the menu shown above. You can also define constants in you own libraries:
When a constant is defined in a library, that constant is also added to the list for the constants in the project as a whole. You can insert, edit and group project constants in the Project Constant editor. It is possible to define your own Project Constants in a library or project.
23 / 24
T314-09 Variables and Data Types - RevB
1. Select Tools | Project Constants from the menu in the project explorer or right click on the Library (must be a user defined library) and select “Project constants”. 2. Select either “Insert in Sublevel” or “Insert After” to define the constant. 3. Define the value and data type.
Any project constant declared in a library will be a part of that library. They will however also be incorporated in the main list of project constants in the Tools | Project Constants menu. NOTE!
24 / 24
To use project constants, just use the constant names directly.
System 800xA training
Exercise 9.1 Checking Variables and Data Types
9.1.1 Goals Recognize the structured data types used for IO connection – BoolIO and RealIO. Use the offline search tool for application variables, data types and I/O connections.
9.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/3
T314-09 Exercise 9.1 - RevB
9.1.3 Exercise Steps A structured data type is an aggregate of simple data types and is used to transmit multiple values within a single variable. It can be thought of as a multi-conductor cable, with each conductor wire a single signal. Simple data types (bool, dint, real, etc.) are the basis for data storage, but structured data types play an important role in reducing the number of variable declarations.
9.1.3.1 Declare Global Variables and Explore Data Type Definitions BoolIO should always be used for variables connected to digital I/O channels and the data type RealIO used for variables connected to analog I/O channels.
) ) ) ) ) )
Verify that Sxx_Project is open in Control Builder and that it is Offline. Open the Sxx_ReactorApp editor to view the global variables and their data types. Try to associate some of the variables in the list with the OSLO tank signals from previous labs. Find any variable with a data type of BoolIO. Right click on the word BoolIO then select Edit type. Explain the window that appears. Repeat for any variable with a data type of RealIO. Explain the differences from the previous step. Find the variable ‘gMixerSignals’ in the global list. Navigate to its data type and explain the resulting window. Declare the following variable in the global list. (It will be used in future labs). - Variable Name: gAlarm_Ord Data Type: BoolIo NOTE!
2/3
Remember to ‘Save’ after entering the text into the list.
System 800xA training
9.1.3.2 Search for Variables
) ) )
Global variables gSw4, gSw5, gSw6, and gLamp1 can be found near the end of the list. Try to interpret the data in the ‘I/O Address’ column for each of them. Right click on gSw5, then select Search…Alt+F12 from the context menu. Set the search criteria ‘In:’ to either ‘Applications.Sxx_ReactorApp’ or ‘[ all ]’, then press “Search”.
NOTE!
)
)
After pressing ‘Search’, if nothing appears in the ‘Symbol, Definition, or References’ panes of this box, press ‘Rebuild’ - then press ‘Search’ again.
Double click on each of the three hyperlinks in the dialog box (see outlined areas in the figure below) to have the system navigate to specific areas of the application.
Explain the result of each hyperlink action.
3/3
System 800xA training
Solution 9.1 Checking Variables and Data Types
9.1.1.1 Declare Global Variables and Explore Data Type Definitions
)
)
Verify that Sxx_Project is open in Control Builder and that it is Offline.
Open the Sxx_ReactorApp editor to view the global variables and their data types. Try to associate some of the variables in the list with the OSLO tank signals from previous labs.
gV1_Open and gV1_Closed are feedback signals from valve V1. gTemp and gLevel are tank temperature and level inputs. These signals are either BoolIO or RealIO indicating connection to I/O channels.
)
Find any variable with a data type of BoolIO. Right click on the word BoolIO then select Edit type. Explain the window that appears.
1/5
T314-09 Solution 9.1 - RevB
The BoolIO structured data type consists of four simple data type components – Value, IOValue, Force, and Status.
)
Repeat for any variable with a data type of RealIO. Explain the differences from the previous step.
In addition to Value, IOValue, Forced, and Status, the RealIO data type consists of the component Parameters of data type SignalPar which in turn is another structured data type whose components can be viewed in the lower half of the figure above.
2/5
System 800xA training
)
Find the variable ‘gMixerSignals’ in the global list. Navigate to its data type and explain the resulting window.
Data type ‘Agitator_Signals’ consists of five components of type RealIO or BoolIO which would indicate that all will be connected to I/O channels.
)
Declare the following variable in the global list. (It will be used in future labs). - Variable Name: gAlarm_Ord Data Type: BoolIO
NOTE!
Remember to ‘Save’ after entering the text into the list.
3/5
T314-09 Solution 9.1 - RevB
9.1.1.2 Search for Variables
)
Global variables gSw4, gSw5, gSw6, and gLamp1 can be found near the end of the list. Try to interpret the data in the ‘I/O Address’ column for each of them.
The format of Controller_1.0.11.3.4 is ControllerName.ControllerID.BusID.I/OModule #.Channel #. By looking at the controller tree, we can determine that the three switches are connected to channels 4, 5, and 6 on the Modulebus DI810 and the lamp is connected to channel 1 on the Modulebus DO810.
)
)
Right click on gSw5, then select Search…Alt+F12 from the context menu.
Set the search criteria ‘In:’ to either ‘Applications.Sxx_ReactorApp’ or ‘[ all ]’, then press “Search”.
NOTE!
4/5
After pressing ‘Search’, if nothing appears in the ‘Symbol, Definition, or References’ panes of this box, press ‘Rebuild’ - then press ‘Search’ again.
System 800xA training
)
)
Double click on each of the three hyperlinks in the dialog box (see outlined areas in the figure below) to have the system navigate to specific areas of the application.
Explain the result of each hyperlink action.
Each hyperlink opens a different window and highlights the variable in that window. The first one opens the editor in which the variable is declared. The second one opens the programming code where it is used and the third opens the I/O module editor to reveal its I/O channel connection.
5/5
System 800xA training
Chapter 10 Function Block Diagram
TABLE OF CONTENTS Chapter 10 Function Block Diagram............................................................................................................................................. 1 10.1 General Information .......................................................................................................................................................... 2 10.1.1 Objectives ................................................................................................................................................................... 2 10.1.2 Legend ........................................................................................................................................................................ 2 10.2 FBD Editor ........................................................................................................................................................................ 3 10.2.1 Execution Rules .......................................................................................................................................................... 3 10.2.2 Functions in FBD........................................................................................................................................................ 4 10.2.3 FBD Pane.................................................................................................................................................................... 5 10.2.4 Toolbar Buttons .......................................................................................................................................................... 6 10.2.5 How to Insert a Function/Function Block................................................................................................................... 7 10.2.6 EN Input Parameter .................................................................................................................................................... 8 10.2.7 How to Edit Parameter Properties............................................................................................................................... 9 10.2.8 How to Make Connections ....................................................................................................................................... 10 10.2.9 Adding Comments .................................................................................................................................................... 12 10.2.10 Structure Pane......................................................................................................................................................... 13 10.3 I/O Connections to Variables........................................................................................................................................... 15 10.3.1 Hierarchical Dot Notation......................................................................................................................................... 15 10.3.2 Data Types for IO Variables..................................................................................................................................... 16 10.3.3 How to Make Hardware Connections....................................................................................................................... 17 10.4 Changing Values Online.................................................................................................................................................. 18 10.5 Use of Multiple Pages in FBD......................................................................................................................................... 19 10.5.1 Page Setup ................................................................................................................................................................ 19 10.5.2 Insert Page Break...................................................................................................................................................... 20 10.5.3 Page References........................................................................................................................................................ 20
1 / 20
T314-10 Function Block Diagram - RevB
10.1 General Information 10.1.1 Objectives On completion of this chapter you will be able to: •
Configure simple application code in FBD
•
Use I/O's in application code by connecting variables
•
Modify application parameters online
•
Organize code in different code blocks and pages
10.1.2 Legend
2 / 20
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
10.2 FBD Editor Function Block Diagram (FBD) is a high-level graphical programming language. It describes the POUs in terms of processing elements and displays the signal flow between them, similar to electronic circuit diagrams. It represents the function block and functions by graphical symbols (boxes), their input and output parameters by pins of the boxes and the assignment of parameters by lines between the pins. A comprehensive basic range of function blocks and functions are available. The FBD editor consists of the following major parts:
Structure Pane
FBD Pane
10.2.1 Execution Rules The evaluation of parameter values corresponds to the execution order of the function block and functions within the POU. The execution order of function blocks and functions is defined at first by the order of their creation. The execution order is represented by the order of the graphic symbols (boxes) in FBD "from the left to the right" and "from the top to the bottom". You can change the execution order later by moving the selected function blocks and functions "up" or "down" within the Structure pane. Just drag-and-drop the function block within the structure pane.
3 / 20
T314-10 Function Block Diagram - RevB
10.2.2 Functions in FBD The following basic functions corresponding to operators of textual programming languages are available in the FBD language: Assignments Function Move, :=
Description Assigns the value (number, logical or string) of the input parameter to the output parameter.
Boolean Operators Function
Description
NOT
Negates the Boolean value (1/0, on/off or True/False).
AND, &
Boolean AND.
XOR
Boolean XOR.
OR, >=1
Boolean OR.
Arithmetic Operators Function
Description
EXPT, **
Exponential, i.e. raising to the power.
MUL, *
Multiplication.
DIV, /
Division.
ADD, +
Addition.
SUB, -
Subtraction.
MOD
Modulus.
ABS
Absolute value.
Relational Operators Function
4 / 20
Description
LT, <
Less than.
GT, >
Greater than.
LE, =
Greater than or equal to.
EQ =
Equal to.
NE,
Not equal to.
System 800xA training
10.2.3 FBD Pane The FBD panes are the right upper and lower sub panes within the code pane if you are working with the FBD editor. They contain the Function Block Diagram of the POU you are programming. NOTE! By default only the lower sub pane is shown. You can drag the separation line just underneath the variable declaration pane to access the upper sub pane. The FBD panes contain: •
Graphic symbols of function and function block (boxes)
•
Instance names of the function blocks
•
Comments attached to the function blocks and functions
•
Assignment of parameters in form of connection lines between the graphic symbols
•
Comment of the page and footer
Use the FBD panes to: •
Inspect the Function Block Diagram of the POU you are programming
•
Select, copy and paste functions and function blocks
•
Create, modify and delete function blocks and functions
•
Edit instance name of function blocks and edit comments
•
Assign values to the parameters of function blocks and functions
5 / 20
T314-10 Function Block Diagram - RevB
10.2.4 Toolbar Buttons There is a special toolbar in the Function Block Diagram editor, with shortcuts to many of the commands found in the menu bar (or in the pop-up menus). You can see a brief explanation (tool tip) of each button, if you hold the cursor over the button. Toolbar button
Menu Command Insert > Function/Function Block
Key Ins
Tools > Edit Parameters >Connect
Tools > Edit Parameters >Disconnect
Tools > Edit Parameters > Invert
6 / 20
Description Insert new function or function block Use this command to assign variables and constants to the selected parameter of a function block or function.
Ctrl + D
Use this command to de-assign a variable or constant from the selected parameter of a function block or function. Use this command to invert a Boolean input parameter of a function block or function.
System 800xA training
10.2.5 How to Insert a Function/Function Block There are several ways to insert a function/ function block; 1. Use the toolbar button 2. Choose Insert | Function/ Function block from the POU menu, 3. Right click in the code pane and choose Insert Function / Function block
In the dialog window a list of available functions and function block types is presented in the drop-down list. NOTE!
Just type the first letters of the function name to jump to that entry.
to get an explorer-like overview of all It is also possible to use the Browse button libraries and Applications and their functions and function blocks. If you want to choose from a list of previously used function block types, use the “Local FB Declarations” button.
If it is a function/function block that supports configurable input parameters (number of parameters and data type for these), these inputs can be specified in the dialog window. To go straight to the Connection dialog window, check “Connect Parameters”. The EN checkbox makes the optional Enable parameter available (this is explained in the next section).
7 / 20
T314-10 Function Block Diagram - RevB
10.2.6 EN Input Parameter The EN property for functions and function blocks in FBD makes it possible to write code that corresponds to “IF statements” in the Structured Text language. The EN parameter should be connected to a boolean variable just as any other boolean parameter. When the EN input is true, the function or function block will be executed, otherwise not. When the EN input becomes false, all outputs will keep their values from the previous cycle of execution. NOTE!
If a function has an EN input, it must be connected.
The EN parameter can be turned on/off when inserting a new function or function block (see Insert Function/Function Block dialog section), or when editing the parameter properties (see Edit Parameter Properties section).
8 / 20
System 800xA training
10.2.7 How to Edit Parameter Properties Some functions or function blocks supports configurable parameters. For instance the number of inputs on an AND function can be modified. 1. By clicking with the right mouse button select a Function (box) of which you want to change the type or size. Select Edit Parameter Properties to change the size or type of the function.
2. Activate the checkbox Enable parameter, if required. 3. Change the parameters such as type and size.
Insert Parameters By clicking with the right mouse button select a parameter (pin) of the function block or function to which you want to add a new parameter (pin). Select Insert to add a new, last parameter (pin). NOTE!
This is only possible if the function or function block is expandable.
Delete Parameters By clicking with the right mouse button select a parameter (pin) of the function block or function to which you want to add a new parameter (pin). Select Delete to add a new, last parameter (pin).
Invert Parameters By clicking with the right mouse button select the parameter (pin). Select Invert to invert the assignment to this parameter (pin). The parameter can also be inverted in the Connect dialog window. This is shown later in this section.
9 / 20
T314-10 Function Block Diagram - RevB
10.2.8 How to Make Connections If a parameter is to be connected to another parameter, one of them must be an output parameter and the other one an input parameter. NOTE!
An output parameter can be assigned to any number of input parameters but never to another output parameter.
There are basically two ways of connecting the parameters (pins) of a function or function block: Either you connect the parameters one-by-one or you connect them all at once.
Connect each Parameter Separately 1. Right click on the parameter (pin) of the function block or function (box) to which you want to assign a variable or a constant and select Connect from the context menu.
2. Fill in the To field with a constant value or a variable name. To display a list of all available variables, press “Ctrl+J”. NOTE!
If you want to connect an OUT parameter to several variables, separate the names with ‘,’ (comma). For example: Start1, Start2
3. Press “OK” to close the dialog window or “Apply/Next” to apply the connection and go the next parameter. The Direction setting together with the value in the Next: drop-down list determine what will happen when the Next button is pressed. In the example in the figure pressing Apply/next will move the selection forward to the next unconnected parameter
10 / 20
System 800xA training
If the user enters a name that is not recognized by the system (i.e. not declared) and presses “OK” or “Apply/Next”, the system will ask the user if the unknown name should be declared by the system.
To get access to variables with structured data types, you gain access to the components by using the syntax: . For instance: Type “NxxTemp” as main identifier and then a “.” to see the structured variables.
Connect All Parameters If you want to be able to connect several of the parameters in one action, it is best to bring up the Parameter Connections editor from the context menu. Right click and select Edit Parameter List.
Fill in the name of the variable in the Actual Parameter field. Use the button get a tree-like overview of the POU and its variables.
to
11 / 20
T314-10 Function Block Diagram - RevB
Connect from one Function Block to another To connect two function block parameters to each other, select one parameter (pin) by clicking on it with the left mouse button. Press the Ctrl key while clicking with the left mouse button on the other parameter (pin) that you want to connect to. NOTE!
Be sure that you select one input parameter and one output parameter.
Connect to a Previous Selection To connect a parameter of a function block to another parameter, select the first parameter by clicking on it with the left mouse button. The selection of the parameter (pin) is shown by highlight. Click on another parameter (pin) that you want to connect to with the right mouse button. By this, you select the second parameter, though the selection of the first one remains, and you open the context menu. Select Connect to Previous Selection from the context menu to accomplish the connection.
10.2.9 Adding Comments It is possible to write comments to functions/function blocks and pages. Edit Comments of Function Blocks and Functions Select the function block or function to which you want to assign a comment or the comment of which you want to change. Select Edit Comment… from the context menu and type in your comment in the dialog box.
Edit Page Comments If you want to add a comment for a page in FBD, just right click and select Edit Page Comment… from the context menu.
12 / 20
System 800xA training
10.2.10 Structure Pane The structure pane is the left sub pane within the code pane. It contains a list of all function blocks and functions of the current POU. Use the structure pane to: •
Get an overview of the POU.
•
Select, copy and paste function blocks and functions.
•
Create, modify and delete function blocks and functions.
•
Edit instance name of function blocks, edit comments.
•
Change the pagination and page comments.
•
Navigate within the program.
•
Change the order of execution in the FBD code pane.
The structure pane consists of the following sizable and movable columns: •
Item shows the name of the function block or function with their properties in parentheses
•
Comment shows the comment attached to the function block or function
•
Page Comment shows the comment on the top of the corresponding Function Block Diagram page
•
Page Number is given at the first function block or function of every page of the Function Block Diagram
•
Instance shows the name of function blocks
13 / 20
T314-10 Function Block Diagram - RevB
14 / 20
System 800xA training
10.3 I/O Connections to Variables 10.3.1 Hierarchical Dot Notation The hardware address of a hardware unit is composed from the hardware tree position numbers of the unit and its parent units, described from left to right and separated by dots. For example channel 1 on the I/O unit DI810 has the Controller address:
Controller_1.0.11.3.1 Channel 1
15 / 20
T314-10 Function Block Diagram - RevB
10.3.2 Data Types for IO Variables There are two special data types which are used for connection of IO in the code:
16 / 20
•
Always use a BoolIO type when you connect to either a digital Input or Digital Output channel.
•
Always use a RealIO type when you connect to an Analogue Input or Analogue Output channel.
System 800xA training
10.3.3 How to Make Hardware Connections Use the “Connection” tab of the hardware configuration editor to make connections between Variables and I/O channels or other hardware channels. All I/O access is carried out through a variable connected to an I/O channel. NOTE!
Connections can be edited only in Offline mode.
Only variables can be connected to I/O channels. Proceed as follows to connect a variable to an I/O channel: 1. Double-click on the I/O unit. The appearance of the window is different depending of which IO unit you use.
2. Right-click in the variable column and choose Insert | Path, Attribute from list… or Insert | Path from Tree…. It is also possible to use the short cuts Ctrl +J or Ctrl + T.
It is possible to connect variables to I/O from the POU editor, but is recommended to do it from the I/O unit, because you cannot browse to the correct I/O address from the I/O address column in the POU editor. However, if you have already prepared I/O lists in another application (MS Excel etc.) it might be convenient to make the connections in this way.
17 / 20
T314-10 Function Block Diagram - RevB
10.4 Changing Values Online When a controller project is in online mode and test mode, it is possible to inspect the code while running it, and interact with the code. From the Project Explorer in online mode, you have access to editors similar to those in offline mode. You can open one or several new online editor windows from the Project Explorer by double-clicking on the Program Organization Unit you want to view. You can also select the POU, click the right mouse button and select View.
By using the online editors the code currently running in the controller(s) can be inspected. Variable values and parameters can be changed.
18 / 20
System 800xA training
10.5 Use of Multiple Pages in FBD 10.5.1 Page Setup It is possible to change the layout of the FBD pane by selecting Tools | Page Layout | Page Setup in the menu bar. The settings in this page determine the page layout of the currently displayed FBD or LD code block. The settings will be remembered by the system even if the editor is closed.
The Template setting determines the page orientation and size.
If you want to change the default layout when inserting new FBD code blocks, go to Tools | Setup and select the “FBD/LD” tab.
19 / 20
T314-10 Function Block Diagram - RevB
10.5.2 Insert Page Break Select the function block or function to which you want to attach a page break. By clicking with the right mouse button on it and select Insert Page Break from the context menu. NOTE!
This action can only be done in the Structure Pane.
The FBD editor inserts the page break above this function block or function and repaginates the Function Block Diagram code block.
10.5.3 Page References By select a line that connects the pins of function blocks and functions and symbolizes the assignment of variables to parameters. If you have clicked near to an input pin, use the Go To Source command to navigate to the source of the variable that is assigned to the selected parameter. If you have clicked near to an output pin, use the Go to Sink command to navigate to the parameter(s) to which the selected parameter is assigned. In case of multiple sinks browse with the "" buttons in the Go To Sink dialog box.
20 / 20
System 800xA training
Exercise 10.1 Creating Logic in Function Block Diagram
10.1.1 Goals Create a new program, become familiar with the Function Block Diagram (FBD) editor and write simple logic in FBD. Connect variables to I/O channels and test programming logic online and in Test mode. Connections will be made to the switches and lamps on the operator panel.
10.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/5
T314-10 Exercise 10.1 - RevB
10.1.3 Exercise Steps This exercise will require Sxx_Project to be open in the Control Builder.
10.1.3.1 Create Simple Logic Lamp9 will light if switch7 is true and switch8 is false OR Lamp9 will light if switch9 is true.
) ) ) ) ) )
2/5
Verify that Control Builder is in the offline mode. Declare the following six global variables as BoolIO. gSw7 gSw8 gSw9 gSw10 gLamp9 gLamp10 Expand Sxx_ReactorApp then right click on ‘Programs’. Select New Program… and use Sxx_Additions for the new program’s name. Open the editor for Sxx_Additions and change the name of the code block from ‘Code’ to ‘FBD_Ex10_1’. (By right-click on the code block tab you will get the context menu.) Change the language of ‘FBD_Ex10_1’ from ST to FBD. Again use the context menu. Select the “Insert Function / Function Block” button AND and an OR gate into the code pane.
from the toolbar to insert an
)
Connect the blocks and parameters as indicated below.
)
Save and close the program. Resolve any errors, if necessary.
System 800xA training
10.1.3.2 Use the Test Mode Test mode is an effective method for testing program logic prior to downloading to the controller.
) )
)
Select ‘Test Mode’ from the Control Builder toolbar. Open the online editor for Sxx_Additions then test the logic by using the context menu for the switch input variables to set and reset their values.
Return to Offline mode.
10.1.3.3 Insert Standard Function Blocks Lamp10 will stay lit for 8 seconds when switch10 goes from false to true. Switch10 being reset should not affect the 8 second timer. An edge detector (R_Trig) and a timer-off (Tof) will be used.
) )
) )
Use the Help to look up information about R_Trig and Tof. Declare a local variable for the 8 second delay. The initial value of 8s will establish the delay time.
In the “FBD_Ex10_1” code pane, insert an R_Trig function block and name it ‘Sw10_Trig’. Insert a Tof function block and name it ‘Lamp10_Timer’.
3/5
T314-10 Exercise 10.1 - RevB
)
) )
Connect the function blocks and parameters.
Save and close the program then verify the program logic in Test Mode. Return to Offline mode.
10.1.3.4 Connect Variables to I/O Channels Connecting the four switches and two lamps to hardware I/O will enable the use of the operator panel for the program’s inputs and outputs. The DI810 and DO810 in the ModuleBus will be used.
) )
)
4/5
Open the editor for the DI810 and select the “Connections” tab. Select the ‘Variable’ field for Input 7 then select the “Insert Path from Tree” button or press .
Expand Sxx_Reactor then double click on gSw7 to insert the path into the field.
System 800xA training
)
) )
)
Repeat for inputs 8, 9, and 10 connecting them to gSw8, gSw9, and gSw10.
Save and close the editor. Open the DO810 editor and connect outputs 9 and 10 to gLamp9 and gLamp10.
Save and close the editor.
10.1.3.5 Download and Test Online
) )
) )
Download the application and choose “Continue” for any dialog boxes that appear. Test program logic by using the switches on the operator panel.
Further test by forcing selected I/O. Reset any forced bits then return to the Offline mode.
5/5
System 800xA training
Solution 10.1 Creating Logic in Function Block Diagram
10.1.1.1 Create Simple Logic
)
)
)
Verify that Control Builder is in the offline mode.
Declare the following six global variables as BoolIO. gSw7 gSw8 gSw9 gSw10 gLamp9 gLamp10
Expand Sxx_ReactorApp then right click on ‘Programs’. Select New Program… and use Sxx_Additions for the new program’s name.
1/7
T314-10 Solution 10.1 - RevB
)
)
2/7
Open the editor for Sxx_Additions and change the name of the code block from ‘Code’ to ‘FBD_Ex10_1’. (By right-click on the code block tab you will get the context menu.)
Change the language of ‘FBD_Ex10_1’ from ST to FBD. Again use the context menu.
System 800xA training
)
Select the “Insert Function / Function Block” button AND and an OR gate into the code pane.
from the toolbar to insert an
In order to enable this button, click in the middle of the empty code pane. Inserting functions and function blocks may also be done by right clicking in the middle of the empty code pane. Once functions or function blocks have been inserted, one of them must be selected to enable the insert functionality.
)
Connect the blocks and parameters as indicated below.
The connection from the output of the ‘And’ to the input of the ‘Or’ can be made by selecting one of the two terminals then holding the keys while clicking on the other terminal.
3/7
T314-10 Solution 10.1 - RevB
Inverting a terminal is done by selecting ‘Invert’ from the context menu of the terminal or by selecting the terminal then selecting the Invert button from the toolbar.
Connections to variables can be done by selecting ‘Connect’ from the context menu of the terminal to be connected, then typing the variable name in the field or using for a list of the variables.
Instead of connecting one terminal at a time, all connections for a function or function block can be made by selecting Edit Parameter List from the context menu. Type the variable name or use in each ‘Parameter’ field of the dialog box.
)
4/7
Save and close the program. Resolve any errors, if necessary.
System 800xA training
10.1.1.2 Use the Test Mode
) )
)
Select ‘Test Mode’ from the Control Builder toolbar.
Open the online editor for Sxx_Additions then test the logic by using the context menu for the switch input variables to set and reset their values.
Return to Offline mode.
10.1.1.3 Insert Standard Function Blocks
)
Use the Help to look up information about R_Trig and Tof.
5/7
T314-10 Solution 10.1 - RevB
)
)
)
Declare a local variable for the 8 second delay. The initial value of 8s will establish the delay time.
In the “FBD_Ex10_1” code pane, insert an R_Trig function block and name it ‘Sw10_Trig’.
Insert a Tof function block and name it ‘Lamp10_Timer’.
In order to add another function block, one of the existing blocks must be selected. The ‘Or’ function should be chosen before inserting the R_Trig so that the execution order is correct. You can change the execution order in the structure pane by dragging and dropping a function block.
6/7
System 800xA training
)
Connect the function blocks and parameters.
)
Save and close the program then verify the program logic in Test Mode.
)
Return to Offline mode.
7/7
System 800xA training
Exercise 10.2 Programming Level Switches
10.2.1 Goals Two instances of the ‘SignalInBool’ function block will be used to generate alarms for the high and low levels in the tank. They will be inserted into a new code pane in the Sxx_Additons program. Use the Name Uploader functionality to generate the correct name and description in the faceplate.
10.2.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/6
T314-10 Exercise 10.2 - RevB
10.2.3 Exercise Steps 10.2.3.1 Instantiate a Standard Function Block
) ) ) ) )
)
2/6
Use the Help to get familiar with the SignalInBool function block. Verify that the Sxx_Project in Control Builder is Offline. Open the editor for the Sxx_Additions program and create a second FBD code block to be named Level_Switches. Insert an instance of SignalInBool from the library SignalLib and name it Sxx_LSH1. Declare the following local variables.
Make the following connections, then save and close the program.
System 800xA training
10.2.3.2 Download and Online Test
) ) )
) ) )
After downloading the application (warm start is sufficient), open the online editor for Sxx_Additions and observe the Sxx_LSH1 function block. Generate a hi-level alarm by using the valves on the Reactor Display then note the changes on the outputs of Sxx_LSH1. Select the Web System alarm band from the Sxx_Workplace application bar to view the alarm in the list.
Acknowledge the alarm then look at the outputs for Sxx_LSH1 in the online editor. Adjust the tank level so that H1 is no longer set. Observe the changes in the alarm list and the online editor. Continue to generate and acknowledge the alarm as needed to become familiar with alarm handling.
3/6
T314-10 Exercise 10.2 - RevB
10.2.3.3 Copy an Instance A low-level alarm will now be created by copying the existing instance and making the necessary changes.
) )
)
4/6
In the Offline mode, open the Sxx_Additions program editor and select the function block Sxx_LSH1 in the code pane. Using the context menu, Copy then Paste.
Replace ‘H1’ with ‘L1’ then push “Replace”. Replace ‘Max’ with ‘Min’ then push “Replace”.
Press “OK” and then answer ‘Yes to All’ when asked if the system is to declare variables. Finally, answer ‘No’ to pasting this element before the first element.
System 800xA training
This will create a second SignalInBool function block named ‘Sxx_LSL1’, declare several variables and make connections to the block.
All of the LSH1 prefixed variables have been replaced with LSL1 and gLevel_Min is connected to the ‘In’ parameter.
)
) ) )
Enter the initial values for the variables.
Save and close the program then download. Use the valves to activate the L1 level detector in the tank then, as done previously, observe the online editor for Sxx_LSL1 and the alarm list. What would need to be configured differently for L1 to generate an event instead of an alarm? You might use the online help or .
5/6
T314-10 Exercise 10.2 - RevB
10.2.3.4 Name Uploader The description for either of the alarms did not appear on the alarm list. A mechanism called ‘Name Uploading’ searches all elements having Name and Description parameters then uploads the text through the OPC server.
) )
)
Open the Control Structure in the Engineering Workplace. Select the Name Uploader aspect of ‘Sxx_Control_Network’. Push the “Start Upload” button in the aspect preview pane then wait (~30-60 seconds) until the text on the button returns to Start Upload.
Open the alarm list to verify that the descriptions for LSH1 and LSL1 appear. NOTE!
6/6
If the alarm list is already open, close then reopen it.
System 800xA training
Solution 10.2 Programming Level Switches
10.2.1.1 Instantiate a Standard Function Block
) ) )
)
Use the Help to get familiar with the SignalInBool function block. Verify that the Sxx_Project in Control Builder is Offline. Open the editor for the Sxx_Additions program and create a second FBD code block to be named Level_Switches.
Insert an instance of SignalInBool from the library SignalLib and name it Sxx_LSH1.
1/7
T314-10 Solution 10.2 - RevB
2/7
)
Declare the following local variables.
)
Make the following connections, then save and close the program.
System 800xA training
10.2.1.2 Download and Online Test
)
)
After downloading the application (warm start is sufficient), open the online editor for Sxx_Additions and observe the Sxx_LSH1 function block.
Generate a hi-level alarm by using the valves on the Reactor Display then note the changes on the outputs of Sxx_LSH1.
In addition to the outputs going true, the AlStateDiff value changed from a ‘2’ (normal) to a ‘5’ (unacknowledged active alarm).
)
Select the Web System alarm band from the Sxx_Workplace application bar to view the alarm in the list.
3/7
T314-10 Solution 10.2 - RevB
)
Acknowledge the alarm then look at the outputs for Sxx_LSH1 in the online editor.
AlStateDiff value is now ‘4’ (acknowledged but active) and the X appears under Ack on the alarm line.
)
Adjust the tank level so that H1 is no longer set. Observe the changes in the alarm list and the online editor. Alarm disappears from the alarm list and AlStateDiff value returns to ‘2’.
)
4/7
Continue to generate and acknowledge the alarm as needed to become familiar with alarm handling.
System 800xA training
10.2.1.3 Copy an Instance
)
)
)
In the Offline mode, open the Sxx_Additions program editor and select the function block Sxx_LSH1 in the code pane. Using the context menu, Copy then Paste.
Replace ‘H1’ with ‘L1’ then push “Replace”. Replace ‘Max’ with ‘Min’ then push “Replace”.
Press “OK” and then answer ‘Yes to All’ when asked if the system is to declare variables. Finally, answer ‘No’ to pasting this element before the first element.
5/7
T314-10 Solution 10.2 - RevB
This will create a second SignalInBool function block named ‘Sxx_LSL1’, declare several variables and make connections to the block.
All of the LSH1 prefixed variables have been replaced with LSL1 and gLevel_Min is connected to the ‘In’ parameter.
)
) )
6/7
Enter the initial values for the variables.
Save and close the program then download. Use the valves to activate the L1 level detector in the tank then, as done previously, observe the online editor for Sxx_LSL1 and the alarm list.
System 800xA training
)
What would need to be configured differently for L1 to generate an event instead of an alarm? You might use the online help or . Set ‘AEConfigDiff’ to a ‘2’ (Event) on the Sxx_LSL1 function block.
10.2.1.4 Name Uploader
) )
)
Open the Control Structure in the Engineering Workplace. Select the Name Uploader aspect of ‘Sxx_Control_Network’. Push the “Start Upload” button in the aspect preview pane then wait (~30-60 seconds) until the text on the button returns to Start Upload.
Open the alarm list to verify that the descriptions for LSH1 and LSL1 appear.
7/7
System 800xA training
Exercise 10.3 Counting the Agitator Start/Stop Cycles
10.3.1 Goals FBD logic will be created using a ‘Move’ function and ‘F_Trig’ and ‘CTU’ function blocks to count the number of Start/Stop cycles on the agitator. The number of cycles will be displayed on the tank counter and will also be stored as a local variable so that it may be available for use on graphic displays and/or other programs.
10.3.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/3
T314-10 Exercise 10.3 - RevB
10.3.3 Exercise Steps 10.3.3.1 Create the Counter This program logic will count the number of times the gMixerSignals.Mixer_On feedback signal transitions from True to False. (On to Off)
) ) ) ) ) ) ) ) ) )
Use the Help for information about ‘F_Trig’, ‘CTU’, and ‘Move’. Verify that the Sxx_Project in Control Builder is Offline. Create a new FBD code pane named Mixer_Cycles in the Sxx_Additions program. Declare the following local variable. Its content will be the number of Start/Stop cycles.
Create an instance of ‘F_Trig’ named Sxx_MixerCycTrig and an instance of ‘CTU’ named Sxx_MixerCycCtr. Connect the ‘CLK’ input of the F_Trig to the gMixerSignals.Mixer_On.value feedback signal and the ‘CV’ output of the CTU to MixerCyc_OnOff. Connect the ‘Q’ output of the trigger to the ‘CU’ input of the counter. Save and close the editor then download the application. Test by manually starting and stopping the mixer from the Reactor Display. Open the program’s online editor to view the counter value changing on the output of the CTU and at MixerCyc_OnOff in the declaration pane.
10.3.3.2 Display the Count on the Tank
) ) )
2/3
Return Control Builder to Offline, then declare the following global variable and connect it to channel 8 of the first DO801 (module in 3rd position) on the Profibus.
In the “Mixer_Cycles” code pane, insert a ‘Move’ function after the ‘CTU’. Connect the input of the move to the gMixerSignals.Mixer_On.value feedback variable and the output to the gMixer_Ctr.value variable.
System 800xA training
) )
Save and close the editor. Download and test as before. The value on the tank counter may not match the number on ‘CV’ of the CTU. Explain.
10.3.3.3 Create a Master Reset for the Counter Logic will be added to reset both the tank counter and the CTU using switch14 on the operator panel
) ) ) ) ) ) )
Return Control Builder to Offline and declare the following global variables.
Connect gMaster_Reset to channel 14 of the DI810 on the Modulebus and connect gMixer_Ctr_Reset to channel 11 of the first DO801 on the Profibus. In the Mixer_Cycles code pane, insert a ‘Move’ function after the first one. Connect the input of the Move to the gMaster_Reset.value variable and the output to the gMixer_Ctr_Reset.value variable. Also connect the gMaster_Reset.value variable to the ‘Reset’ terminal of the ‘CTU’. Save and close the editor. Download and test as before then use switch14 on the operator panel to reset the counters. Return Control Builder to Offline.
3/3
System 800xA training
Solution 10.3 Counting the Agitator Start/Stop Cycles
10.3.1.1 Create the Counter This program logic will count the number of times the gMixerSignals.Mixer_On feedback signal transitions from True to False. (On to Off)
) ) )
)
Use the Help for information about ‘F_Trig’, ‘CTU’, and ‘Move’. Verify that the Sxx_Project in Control Builder is Offline. Create a new FBD code pane named Mixer_Cycles in the Sxx_Additions program.
Declare the following local variable. Its content will be the number of Start/Stop cycles.
Local variables are declared in a program. In this case it would be program Sxx_Additions .
)
Create an instance of ‘F_Trig’ named Sxx_MixerCycTrig and an instance of ‘CTU’ named Sxx_MixerCycCtr.
1/6
T314-10 Solution 10.3 - RevB
)
Connect the ‘CLK’ input of the F_Trig to the gMixerSignals.Mixer_On.value feedback signal and the ‘CV’ output of the CTU to MixerCyc_OnOff.
MixerCyc_OnOff
) ) ) )
2/6
Connect the ‘Q’ output of the trigger to the ‘CU’ input of the counter.
Save and close the editor then download the application. Test by manually starting and stopping the mixer from the Reactor Display. Open the program’s online editor to view the counter value changing on the output of the CTU and at MixerCyc_OnOff in the declaration pane.
System 800xA training
10.3.1.2 Display the Count on the Tank
)
Return Control Builder to Offline, then declare the following global variable and connect it to channel 8 of the first DO801 (module in 3rd position) on the Profibus.
Global variables are declared in the application editor of Sxx_ReactorApp.
)
In the “Mixer_Cycles” code pane, insert a ‘Move’ function after the ‘CTU’.
3/6
T314-10 Solution 10.3 - RevB
)
Connect the input of the move to the gMixerSignals.Mixer_On.value feedback variable and the output to the gMixer_Ctr.value variable.
gMixer_Ctr.Value
) )
Save and close the editor. Download and test as before. The value on the tank counter may not match the number on ‘CV’ of the CTU. Explain. If the download was a warmstart, the value on ‘CV’ will be retained until a coldstart or a reset on the CTU occurs. The counter on the tank will be starting from zero since this is the first time the code has been introduced.
10.3.1.3 Create a Master Reset for the Counter
)
Return Control Builder to Offline and declare the following global variables.
These global variables should be declared in the editor for Sxx_ReactorApp.
4/6
System 800xA training
)
)
Connect gMaster_Reset to channel 14 of the DI810 on the Modulebus and connect gMixer_Ctr_Reset to channel 11 of the first DO801 on the Profibus.
In the Mixer_Cycles code pane, insert a ‘Move’ function after the first one.
5/6
T314-10 Solution 10.3 - RevB
)
Connect the input of the Move to the gMaster_Reset.value variable and the output to the gMixer_Ctr_Reset.value variable. gMixer_Ctr_Reset.Value
)
)
Also connect the gMaster_Reset.value variable to the ‘Reset’ terminal of the ‘CTU’.
Save and close the editor. Download and test as before then use switch14 on the operator panel to reset the counters.
The first figure shows the CTU with a count value of ‘14’. The second figure shows the result of switch14 being set -- the count value and tank counter both get reset to ‘0’.
)
6/6
Return Control Builder to Offline.
System 800xA training
Chapter 11 Structured Text
TABLE OF CONTENTS Chapter 11 Structured Text............................................................................................................................................................ 1 11.1 General Information........................................................................................................................................................... 2 11.1.1 Objectives ................................................................................................................................................................... 2 11.1.2 Legend ........................................................................................................................................................................ 2 11.2 Structured Text .................................................................................................................................................................. 3 11.2.1 Different Panes ........................................................................................................................................................... 3 11.2.2 Advantages of using Structured Text.......................................................................................................................... 4 11.3 Basic Language Elements.................................................................................................................................................. 5 11.3.1 Assignment Statements............................................................................................................................................... 5 11.3.2 Comment Statements .................................................................................................................................................. 5 11.3.3 Operators..................................................................................................................................................................... 6 11.3.4 Precedence .................................................................................................................................................................. 7 11.3.5 Conditional Structures ................................................................................................................................................ 8 11.3.6 Iteration Structures...................................................................................................................................................... 9 11.3.7 RETURN Statement ................................................................................................................................................... 9 11.3.8 Functions................................................................................................................................................................... 10 11.3.9 Function Blocks ........................................................................................................................................................ 10 11.3.10 How to Declare Function Block Instances.............................................................................................................. 11 11.3.11 How to Call a Function Block Instance .................................................................................................................. 11 11.4 How to Use Excel for Bulk Data Handling...................................................................................................................... 15 11.5 Common Mistakes and their Error Messages .................................................................................................................. 17 11.5.1 How to Declare Variables from Error Messages ...................................................................................................... 20
1 / 20
T314-11 Structured Text - RevB
11.1 General Information 11.1.1 Objectives On completion of this chapter you will be able to: •
Describe the Structured Text Language rules
•
Write simple application code in ST
•
Use Functions and Function Blocks in ST
11.1.2 Legend
2 / 20
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
11.2 Structured Text Structured Text (ST) is a high-level programming language. It is compact, highly structured and contains a comprehensive range of constructs for assignments, function/function block calls, expressions, conditional statements, iterations and more. The code is simple to write and easy to read, because of its logical and structured layout. The compactness of the language gives an excellent overview of the code and less scrolling in the editor.
11.2.1 Different Panes The appearance of the Structured Text editor for a Program is shown below:
Declarations pane
Code pane
Messages pane
The code pane is used for writing code in Structured Text. It is a simple text editor. Tabs and spaces are used to structure the code for easy reading. The code pane may be divided into several ‘tabs’. Each tab is also referred to as Code Blocks. When the code is compiled the execution order of the code is firstly in Tab order (left to right) and then from top to bottom inside the tabs. Instances of variables and Function Blocks are declared in the Declaration pane.
3 / 20
T314-11 Structured Text - RevB
11.2.2 Advantages of using Structured Text 1. Free layout of code and comments 2. When in online mode the layout can be changed to Function Block or Ladder for viewing by different personnel. 3. Text may be generated in any external text editor and pasted into the ST Editor. For example you might use macros in MS Word to generate code. 4. Structured text reads like English and is the most efficient way of writing code. 5. You will have to learn structured text in any case because it is the only choice in the SFC editor!
A small example of code written in Structured Text is shown below:
4 / 20
System 800xA training
11.3 Basic Language Elements 11.3.1 Assignment Statements An assignment statement assigns a value to a variable. The Statement: Result := In1 AND In2 OR In3;
Has two parts the left hand side, before the assignment operator (:=) is called the assigned variable. The right hand side is an expression which is evaluated to give a value that is assigned to the value of the assigned variable. In the above example the expression results in a Boolean – True/False value. (It is a Boolean expression) The AND and the OR are referred to as operators (In this case Boolean Operators because they operate on Boolean Values). NOTE!
The := symbol is used for the assignment of operators and a statement must be ended with a semi-colon.
Another example of an assignment statement: AverageFlow := (Flow1 + Flow2)/2;
The variable AverageFlow is assigned the value given by the result of the calculation on the right. Flow1 is firstly added to Flow2 and then the total is divided by 2. The expression on the right is a real Expression because it results in a real value (floating point value). The symbols + and / are called arithmetic operators because they perform arithmetic operations on the variable values which follow them.
11.3.2 Comment Statements Operator
Description
(*…*)
Comment according to IEC 1131-3
(#…#)
Comment that can be nested (ABB extension)
It is normally not possible to have comments within comments (nested comments), this is not allowed: (* This is not (* Inner Comment *) allowed *)
However there is an alternative comment symbol that allows this: (# This is (* Inner Comment *) allowed #)
This is useful for commenting out large blocks of code containing comments.
5 / 20
T314-11 Structured Text - RevB
11.3.3 Operators Below is a list of the most commonly used operators: Boolean Operators Operator
Description
NOT
Negates the Boolean value (1/0, on/off or True/False)
AND
Boolean AND
&
Boolean AND. See AND
XOR
Boolean XOR
OR
Boolean OR
Arithmetic Operators Operator
Description
**
Exponential, i.e. raising to the power
*
Multiplication
/
Division
+
Addition
-
Subtraction
MOD
Modulus
Relational Operators Operator
6 / 20
Description
<
Less than
>
Greater than
=
Greater than or equal to
=
Equal to
Not equal to
System 800xA training
11.3.4 Precedence The priority of operators decides the order of evaluation of an expression. Below is a summary of available operators, in descending priority: Operator
Description
(…)
Parenthesized expression.
Function (…)
Parameter list of a function, function evaluation.
Not, -
Negation, Boolean complement, i.e. value with "opposite" value (0 becomes 1, 1 becomes 0) and arithmetical negation (-).
**
Exponentiation, i.e. raising to a power.
*, / ,mod
Multiplication, division and modulus.
+, -
Addition and subtraction.
, =
Comparison operators
=,
Equality and inequality.
and, &
Boolean AND.
xor
Boolean exclusive OR
or
Boolean OR
Priority Highest
Lowest
If you are unsure of the evaluation order then use parenthesis to force evaluation of sub-expressions.
7 / 20
T314-11 Structured Text - RevB
11.3.5 Conditional Structures There are tow main groups of conditional structures: IF…Then IF
Operator
Description
Boolean Expression THEN
If (and only If) the Boolean Expression evaluates to True, then the Statement(s) between the IF and END_IF is/are executed.
Statement(s); END_IF; IF
Boolean Expression THEN Statement(s);
ELSE
If the Boolean Expression evaluates to True, then the Statement(s) before the ELSE is/are executed. Else the statements after the ELSE and before the END_IF are executed.
Statement(s); END_IF; IF
Boolean Expression 1 THEN Statement(s);
ELSIF Boolean Expression 2 THEN Statement(s); ELSIF Boolean Expression n THEN Statement(s);
If the Boolean Expression 1 evaluates to True, then the Statement(s) before the first ELSIF is/are executed. If this condition is false then the subsequent Boolean Condition is tested and so on for each ELSIF. If no expression is true then the ELSE statement(s) execute. The ELSE clause is optional. You may have as many ELSIF clauses as you wish.
ELSE Statement(s); END_IF;
NOTE!
A conditional statement is always concluded with END_IF;
IFs may be nested to many levels. A better structure to be used instead of nesting is the CASE structure. This is very useful when many conditions need evaluation; there are several forms:
CASE…OF Operator CASE Integer Expression OF Integer Literal1 : Statement(s); END_CASE;
CASE Integer Expression OF Integer Literal1 : Statement(s); Integer Literal2 : Statement(s); Integer Literal3 : Statement(s); ELSE Statement(s); END_CASE;
8 / 20
Description A statement is executed depending on the value of an integer variable or an integer expression. The is one or several integer values or one or several ranges of values. In this example, three values are tested and the appropriate statements) executed. One variation is to permit a range of values to be tested rather than an exact single value. If none of the test literals match the result of the expression then the statement(s) in the ELSE clause will be executed. If no ELSE exists, none of the statements will be executed.
System 800xA training
11.3.6 Iteration Structures Several iteration constructs exist: They should be used with extreme caution. During the iteration of the loop, the CPU remains in the loop. If a loop has a large number of iterations then the normal scan time may be easily exceeded. NOTE!
Only use these constructs when you know exactly how many iterations are going to be done.
Operator FOR
i := 0 to 15 DO Statement(s);
END_FOR;
Description The FOR statement is used to allow a statement (or statements) to be executed repeatedly for a given number of times. The counter used in the repetition process can be used in the statements. In the example, the statements between the FOR and END_FOR will be executed 16 times.
WHILE Level > 80.0 DO Statement(s); END_WHILE;
REPEAT Statement(s); UNTIL Boolean Expression END_REPEAT;
EXIT
The WHILE statement is used in order to allow a statement (or statements) to be executed repeatedly while a certain condition is True. This separates it from the FOR statement. It has some similarities with the REPEAT statement. The REPEAT statement is used in order to allow a statement (or statements) to be executed repeatedly until a certain condition is True. Note that the test to exit the loop is placed at the end, so a minimum of one execution of the statement(s) will occur even if the expression is true at the time the loop is entered. Use the EXIT statement whenever you want to terminate a loop immediately and continue execution from the first line after the iteration statement.
11.3.7 RETURN Statement The RETURN statement causes immediate exit from the current code block (A tab in a Program or Control Module or Function Block). No further code in that block is executed.
9 / 20
T314-11 Structured Text - RevB
11.3.8 Functions Functions are called inside expressions with the following syntax: Var := FunctionName(Parameter(s)) e.g.
Height := Distance * Tan(Angle)
11.3.9 Function Blocks The syntax for calling a function block is different to that for functions. In the example below the Square root of a flow signal is calculated by using the Sqrt() function.Below that example is the code for calling a delay off timer: Function call
Function block call
Function calls are generally part of the expression to the right of the assignment statement. Function Block calls do not appear in assignment statements. The call is itself a valid statement. Note that in ST, function block input parameters are listed with the := symbol and output parameters are listed with the => symbol. The above timer function block is the same as the following in Function Block Diagram form:
Function Blocks are declared in a similar way to variables, by giving them a name (an instance name). This name is then used to call them in the code. In the ST editor you must declare function blocks explicitly in the Function Block declaration tab in the editor by giving a name and a type:
10 / 20
System 800xA training
11.3.10 How to Declare Function Block Instances As an absolute minimum a function block instance must be given a name and a function block type:
1. Mark the Function Blocks tab in the declarations pane of the POU. 2. Type in an instance name for the function block in the Name column. 3. Type in the required Function Block Type in the Function Block Type column. Place the cursor in the Function Block Type field and press “Ctrl + J” to see a list of all available function block types.
NOTE!
Function Block Types are defined in the libraries. If the library that contains the function block type that you want has not been connected to the application then it will not appear in the list.
11.3.11 How to Call a Function Block Instance In the example below a delay off Timer has been declared in the Function Block declaration tab, called MixTimer of type TOf:
11 / 20
T314-11 Structured Text - RevB
Four variables which will be used to connect to the function block have also been declared in the Variables declaration tab:
1. Call the Function Block Instance by typing its instance name in the code pane followed by an opening parenthesis ‘(‘
The system will then offer a dialogue for you to make connections to the function block
12 / 20
System 800xA training
2.
Fill in the parameters that are to be connected to the function block instance in the parameter column by any of the following methods: Type the name of the variable to be connected directly into the ‘Parameter’ field. (After a few characters the system will try to help you finish by supplying first matching variable name). Use the ‘Insert from List’ method by clicking on the Insert Variable … icon in the menu bar or use the ‘Insert Path from Tree’ Icon to browse the application for the variable:
3. Click on the “Exit and Close” icon.
The result (for this example) looks like:
13 / 20
T314-11 Structured Text - RevB
14 / 20
System 800xA training
11.4 How to Use Excel for Bulk Data Handling In a large project you do not want to spend a lot of time declaring variables ‘Manually’ in the declaration pane. Be aware that you can use external tools to prepare text files which can then be pasted into the editor. The declarations pane is technically a window worksheet object. This means that you can paste from prepared sheets from Excel provided that the columns are correct set up in the worksheet. Suppose you want a hundred variables declared of type Bool which are named CommandOpen1 – CommandOpen100.
1. Start by declaring the first one in the declarations Pane:
2. Select the columns by dragging across:
3. Use “Ctrl + C” to copy the columns (or else Edit>Copy from the menu) 4. Launch Excel and Paste with “Ctrl + V” (or else Edit>Paste from the menu).
15 / 20
T314-11 Structured Text - RevB
5. Use any of the features of Excel to generate the names required (In the above, many variables were created by dragging down the columns and using the excel series increment property). 6. When the sheet is prepared select the area required and paste back into the POU editor.
NOTE!
Any external application that generates data in the correct format could be used.
Another example might be to use Word Macros to generate large amounts of repetitive code.
16 / 20
System 800xA training
11.5 Common Mistakes and their Error Messages Identifier, constant or opening parenthesis expected
Double clicking on the error message line places the cursor at the end of the statement with the problem:
Usually a missing semi-colon at the end of a statement
Undefined function block Usually caused by a typing error in the name of the Function Block Instance:
The programmer has declared the function block with the name MixTimer but has referenced MuxTimer in the code.
17 / 20
T314-11 Structured Text - RevB
The variable name is not unique
Two variables have been declared with the same name. (Note that this results in two error one for each non-unique name). Note also that some other items are classed as ‘variables’ by the system, these are: •
Instance Names for Function Blocks
•
Instance Names for Control Modules
•
Sequence Step Names
•
Code Block Names
•
Sequence Transition Names
•
Parameters (in Function Block Types and Control Module Types)
This means that within any POU all of the above must have unique names.
Type mismatch in assignment This occurs when the programmer has mixed data types in an assignment statement
In this case the programmer has attempted to add a real and a dint to get a dint result. Data type must usually match. (You can’t multiply Apples with Pears!)
18 / 20
System 800xA training
Identifier too long or invalid This error message is given under two circumstances: 1. Variable Naming rules have been disobeyed.
In the above example the variable name begins with a number. 2. A key word) has been used.
Both words On and Off are reserved and may not be used as variable names.
Incompatible types in expression This occurs when an operation has been attempted on different types that are not compatible for that operation:
In the above a real has been added to a Bool.
19 / 20
T314-11 Structured Text - RevB
11.5.1 How to Declare Variables from Error Messages There is a quick shortcut that can save a lot of time when programming. That is to let the error checker do the work of declaring variables. This method is not for the purist! 1. Program as normal but without declaring the variables and then do a check on the code. You will get “Variable not declared” errors:
In the above the programmer has written the code before declaring any variables. 2. Now do a check and you will get the following errors:
3. To get automatic declaration, mark the first error, click right and select “Declare Variable”:
The system will copy the name into the declaration pane and also as an added bonus will fill in the type if it can deduce it from the sense of the statement.
20 / 20
System 800xA training
Exercise 11.1 Using Structured Text for a Simple Calculation
11.1.1 Goals The ST editor will be used to create a simple calculation that converts the tank temperature (gTemp) in Degrees Celsius to Degrees Kelvin. Monitor the results online.
11.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/2
T314-11 Exercise 11.1 - RevB
11.1.3 Exercise Steps The conversion formula is: DegK = DegC + 273.15 The syntax for an ST expression is: Result := < Expression > ;
) ) ) )
Verify that the Sxx_Project is Offline in the Control Builder. Open the Sxx_Addtions program and create a new Structured Text (ST) code pane named “ST_Calculations”. Declare a local variable “Temp_K” of the data type Real. Type the following into the code pane. (* Converts DegC to DegK *) Temp_K := gTemp.Value + 273.15;
) ) )
2/2
Save and close editor, then download. From the Reactor Display, run the batch process or manually adjust temperature to test the calculation. Open the online program editor to monitor the results. Return Control Builder to offline.
System 800xA training
Solution 11.1 Using Structured Text for a Simple Calculation
11.1.1 Solutions
) )
)
Verify that the Sxx_Project is Offline in the Control Builder. Open the Sxx_Addtions program and create a new Structured Text (ST) code pane named “ST_Calculations”.
Declare a local variable “Temp_K” of the data type Real.
Temp_K is declared in the Sxx_Additions program.
)
Type the following into the code pane. (* Converts DegC to DegK *) Temp_K := gTemp.Value + 273.15;
)
Save and close editor, then download.
1/2
T314-11 Solution 11.1 - RevB
)
)
2/2
From the Reactor Display, run the batch process or manually adjust temperature to test the calculation. Open the online program editor to monitor the results.
Return Control Builder to offline.
System 800xA training
Exercise 11.2 Creating a Function Block Instance in ST
11.2.1 Goals Modify existing ST code so that V2 will open five seconds after V6 has been fully opened in manual. This will be done by instantiating a ‘Ton’ function block in the ‘Tank’ program and by modifying an existing instance of a ‘ValveUni’ function block. A conditional statement (if..then..end_if) will also be introduced.
11.2.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/3
T314-11 Exercise 11.2 - RevB
11.2.3 Exercise Steps 11.2.3.1 Instantiate a Function Block in ST The 5 second delay will be accomplished through a Ton function block. Function blocks must be declared prior to their use in ST logic.
) ) ) ) ) )
A ‘Tof’ was used in a previous lab, so use the help for information about the ‘Ton’ and ‘ValveUni’ function blocks. Note the ‘PriorityCmdMan1’ input of the ValveUni. Verify that the Sxx_Project is Offline in the Control Builder. Open the ‘Tank’ program and select the “Outlet_Valves” code pane. Declare a local variable V2_DelayTime of the data type ‘Time’ with an initial value of ‘5s’. Select the “Function Blocks” tab in the Tank program editor. Declare a function block named V2_Delay of the type ‘Ton’. Following the existing code, begin by typing the name of the new function block instance then an open parenthesis. This will automatically open its parameter list editor. V2_Delay (
)
Connect the ‘In’ and ‘PT’ parameters as follows. ‘In’ to Sxx_V6.ManMode and gV6_Open.Value ‘PT’ to V2_DelayTime The connection for ‘In’ should be typed exactly as seen above because it is performing an ‘AND’ operation.
)
2/3
Save and close the parameter list editor, then observe the code that was created in the code pane.
System 800xA training
11.2.3.2 Edit an Existing Function Block Instance A delay timer was just created, but its output needs to be connected to a parameter that will open valve V2. In this same code pane, Sxx_V2 is an instance of the ValveUni function block and has a PriorityCmdMan1 input that will open V2.
)
) )
Right click anywhere in the text of the Sxx_V2 function block call and select Edit Parameter List from the context menu.
In the list, connect ‘PriorityCmdMan1’ to V2_Delay.Q (the output of the Ton). Save and close the parameter list editor.
11.2.3.3 Reset PriorityCmdMan1 Once the PriorityCmdMan1 input gets set by the timer, it must be reset or the valve will not come out of manual. The use of an ‘if..then..end_if’ will cause the reset to occur once V6 is manually closed. Format: if then end_if;
)
Enter the following code after the V2_Delay instance. if Sxx_V6.ManMode AND gV6_Closed.Value then Sxx_V2.PriorityCmdMan1 := False; end_if;
) ) )
Save and close the ‘Tank’ program editor, then download. Test the V2 delay by manually opening V6. Run the batch process. NOTE!
V2 & V6 will need to be put into ‘Auto’ mode through the faceplate prior to running the batch process.
3/3
System 800xA training
Solution 11.2 Creating a Function Block Instance in ST
11.2.1.1 Instantiate a Function Block in ST
) ) )
) )
A ‘Tof’ was used in a previous lab, so use the help for information about the ‘Ton’ and ‘ValveUni’ function blocks. Note the ‘PriorityCmdMan1’ input of the ValveUni. Verify that the Sxx_Project is Offline in the Control Builder. Open the ‘Tank’ program and select the “Outlet_Valves” code pane.
Declare a local variable V2_DelayTime of the data type ‘Time’ with an initial value of ‘5s’.
Select the “Function Blocks” tab in the Tank program editor. Declare a function block named V2_Delay of the type ‘Ton’.
1/4
T314-11 Solution 11.2 - RevB
)
)
Following the existing code, begin by typing the name of the new function block instance then an open parenthesis. This will automatically open its parameter list editor.
Connect the ‘In’ and ‘PT’ parameters as follows. ‘In’ to Sxx_V6.ManMode and gV6_Open.Value ‘PT’ to V2_DelayTime
)
2/4
Save and close the parameter list editor, then observe the code that was created in the code pane.
System 800xA training
11.2.1.2 Edit an Existing Function Block Instance
)
Right click anywhere in the text of the Sxx_V2 function block call and select Edit Parameter List from the context menu.
)
In the list, connect ‘PriorityCmdMan1’ to V2_Delay.Q (the output of the Ton).
)
Save and close the parameter list editor.
Sxx_V2 prior to PriorityCmdMan1Connection
Sxx_V2 after PriorityCmdMan1Connection
3/4
T314-11 Solution 11.2 - RevB
11.2.1.3 Reset PriorityCmdMan1
)
Enter the following code after the V2_Delay instance. if Sxx_V6.ManMode AND gV6_Closed.Value then Sxx_V2.PriorityCmdMan1 := False; end_if;
) ) )
Save and close the ‘Tank’ program editor, then download. Test the V2 delay by manually opening V6. Run the batch process. NOTE!
4/4
V2 & V6 will need to be put into ‘Auto’ mode through the faceplate prior to running the batch process.
System 800xA training
Exercise 11.3 Activating Flashing Lights using ST
11.3.1 Goals Structured Text code will be inserted into a new code pane of the program Sxx_Additions. An operator panel lamp will flash at a 0.5 second rate whenever the tank overflows. The ‘PulseGenerator’ function block will be introduced.
11.3.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/2
T314-11 Exercise 11.3 - RevB
11.3.3 Exercise Steps 11.3.3.1 Create a Function Block Instance and Declare Variables Through the global variable ‘gAlarm_Ord’, an instance of a PulseGenerator will be used to flash Lamp8 on the operator panel.
) ) ) ) ) ) ) ) )
Use the help for information about the ‘PulseGenerator’. Verify that the Sxx_Project in the Control Builder is Offline. Open the Sxx_Additions program and create a new ST code pane named Overflow_AlarmFlash. Declare a function block instance named Overflow_AlarmPulse of the type PulseGenerator. Declare these two local variables.
In the code pane, type the name of the function block instance followed by the open parenthesis so that the parameter list dialog box appears. Overflow_AlarmPulse ( Use the parameter list dialog box to connect: - ‘Enable’ to gOverflow.Value - ‘PulseTime’ to AlarmPulseTime - ‘PeriodTime’ to AlarmPeriodTime - ‘Out’ to gAlarm_Ord.Value Save and close the dialog box and note the code that was generated. Save and close the Sxx_Additions program editor.
11.3.3.2 Connect an I/O Channel and Test
) ) )
2/2
Connect channel 8 of the Modulebus DO810 to ‘gAlarm_Ord’. Save and close all editors then download. Use the valves on the Reactor Display to create a tank overflow (H2). Monitor the lamp on the operator panel and open the online program editor to observe the dynamic states of the variables.
System 800xA training
Solution 11.3 Activating Flashing Lights using ST
11.3.1.1 Create a Function Block Instance and Declare Variables
)
Use the help for information about the ‘PulseGenerator’.
)
Verify that the Sxx_Project in the Control Builder is Offline.
)
)
)
Open the Sxx_Additions program and create a new ST code pane named Overflow_AlarmFlash.
Declare a function block instance named Overflow_AlarmPulse of the type PulseGenerator.
Declare these two local variables.
1/3
T314-11 Solution 11.3 - RevB
)
)
2/3
In the code pane, type the name of the function block instance followed by the open parenthesis so that the parameter list dialog box appears.
Use the parameter list dialog box to connect: - ‘Enable’ to gOverflow.Value - ‘PulseTime’ to AlarmPulseTime - ‘PeriodTime’ to AlarmPeriodTime - ‘Out’ to gAlarm_Ord.Value
)
Save and close the dialog box and note the code that was generated.
)
Save and close the Sxx_Additions program editor.
System 800xA training
11.3.1.2 Connect an I/O Channel and Test
)
Connect channel 8 of the Modulebus DO810 to ‘gAlarm_Ord’.
)
Save and close all editors then download.
)
Use the valves on the Reactor Display to create a tank overflow (H2). Monitor the lamp on the operator panel and open the online program editor to observe the dynamic states of the variables.
Lamp8 should flash every one-half second while the overflow state is true. Instead of using the valves, the ‘gOverflow’ input signal may be forced.
3/3
System 800xA training
Chapter 12 Task Assignment
TABLE OF CONTENTS Chapter 12 Task Assignment......................................................................................................................................................... 1 12.1 General Information........................................................................................................................................................... 2 12.1.1 Objectives ................................................................................................................................................................... 2 12.1.2 Legend ........................................................................................................................................................................ 2 12.2 Task Concept ..................................................................................................................................................................... 3 12.2.1 Task Assignment......................................................................................................................................................... 4 12.2.2 Assignment Rules ....................................................................................................................................................... 5 12.2.3 How to Create a Task.................................................................................................................................................. 6 12.3 Task Settings...................................................................................................................................................................... 7 12.3.1 Interval Time .............................................................................................................................................................. 7 12.3.2 Priority ........................................................................................................................................................................ 8 12.3.3 Offset .......................................................................................................................................................................... 8 12.3.4 Example ...................................................................................................................................................................... 9 12.3.5 Communication Considerations................................................................................................................................ 10 12.3.6 Debug Mode ............................................................................................................................................................. 11 12.3.7 Overrun and Latency ................................................................................................................................................ 11 12.4 Controller Diagnostics ..................................................................................................................................................... 13 12.4.1 Cyclic Load............................................................................................................................................................... 15
1 / 15
T314-12 Task Assignment - RevB
12.1 General Information 12.1.1 Objectives Upon completion of this chapter, you will be able to: •
Define tasks and set priorities
•
Assign tasks where required
•
Analyze the effect of different tasks settings
•
Analyze controller diagnostics
12.1.2 Legend
2 / 15
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
12.2 Task Concept A task is defined as an execution control element that is capable of starting, on a periodic basis, the execution of a set of Program Organization Units (also called POUs). All POUs connected to a task execute with the same priority, interval time and offset. The controller firstly copies the states of all connected input signals into RAM. (Input Copy), it then executes the code that the programmer has written, and finally copies the results of that execution to the output signals (Output Copy). This is called a cycle or a scan. Copy Inputs from Process
Execute Code
Write Outputs to Process
When the controller is running, this cycle is repeated at regular intervals determined by the Task interval. In this way the state of the process is examined during each scan, any corrective calculations made to keep it under control and written to via any connected actuators. Typical scan times for a medium application are 250 ms.
NOTE!
However, it is possible to write the outputs when the task is started.
The update of the outputs will then, of course, be delayed, but in return, they will be updated at a more exact time interval, since the execution time of the task will not be affected.
3 / 15
T314-12 Task Assignment - RevB
12.2.1 Task Assignment You can connect a task to a •
Application
•
Control Module
•
Program
•
Function Block
If you connect a task to an application, then all the POUs of this application (Control Modules, Programs and Function Blocks) are running in this task. Connecting an application POU (e.g. Program) to a different task than the application belongs to, then this POU is disconnecting from the application task and runs in its assigned task. NOTE!
A task can only execute POUs in only one application. Hence, POUs from different applications can not be connected to the same task.
Before you are able to connect a task to a POU, first of all you have to assign the application to the controller. Do this by opening the Context Menu for the Connected Applications folder of a controller and selecting the application from the list.
For connecting a task please open the Context Menu for the:
4 / 15
•
Application object and select “Task Connection”
•
Program object and select “Task Connection”
•
Function Block object and select “Properties | Task Connection”
•
Control Module object and select “Properties | Task Connection”
System 800xA training
12.2.2 Assignment Rules Once the tasks have been created in a controller, individual applications, programs, control module instances or function block instances may be allocated to a task. There are a few rules: •
Only one Application may be connected to any one task. Each individual application must be allocated to its own task.
•
One or more programs from any one application may be connected to the same task. But you can’t connect programs belonging to different applications to the same task.
•
Within an application, individual instances of control modules may be connected to different tasks. This means that you can select some control modules to execute faster or slower than the parent application.
•
Within a program, individual instances of function blocks may be connected to different tasks. This means that you can select some function blocks to execute faster or slower than the parent application.
•
If no task connection is made then the object inherits the task connection of the first connected object upward in the hierarchy. An unconnected program or control module instance, will inherit the task of the connected application to which it belongs. (This last rule is important; otherwise it would be necessary to connect all instances of control modules and function blocks when writing the application.)
5 / 15
T314-12 Task Assignment - RevB
12.2.3 How to Create a Task 1. Right mouse click onto the Tasks folder and click onto New Task.
2. The New Task dialog box is displayed. Type in the task name and click onto the “OK” button. 3. After the task has been created, it is time to configure the task with new properties (see Task Settings later on in this chapter).
NOTE!
6 / 15
A Controller may be allocated up to 32 tasks.
System 800xA training
12.3 Task Settings The three most important task parameters that can be set to optimize program execution are: •
Interval time
•
Priority
•
Offset
12.3.1 Interval Time The interval time during which the program is executed, can be changed at any time. Default values are 50 ms (Fast), 250 ms (Normal) and 1000 ms (Slow). For a time-critical task, the interval time can be as short as 1 ms. The interval time of tasks of priority 1-5 cannot be less than 10 ms. NOTE!
If two tasks have the same priority and both are waiting to execute, the task with the shortest interval time will be executed first.
Note that the Task Interval is NOT the same as the Execution time. The execution time is the total time for the code belonging to that task to be executed. It is always (considerably) less than the task interval.
7 / 15
T314-12 Task Assignment - RevB
12.3.2 Priority There are six levels of priority, numbered from 0 to 5: •
Time Critical
•
Highest
•
High
•
Normal
•
Low
•
Lowest
The tasks are executed according to their priority where the time-critical task has the highest priority. Tasks with higher priorities may interrupt execution of those with a lower priority. Interruption always occurs at the end of a code block in the interrupted program (Never during execution of a code block). When the interrupting program has executed, execution passes back to the interrupted program which resumes where it left off.
There can only be one time-critical task. Such a task may interrupt the execution at any point, while other tasks may only interrupt execution at defined points. A timecritical task is driven from the system’s real-time clock with a resolution of 1 ms.
12.3.3 Offset The periodic execution of tasks implies that all tasks will sooner or later be scheduled to execute at the same time. When tasks are scheduled to execute at the same time, the task with the highest priority will be executed first. If tasks have the same priority the task with the shortest interval time will be executed first. When a number of tasks are scheduled, it is possible that the execution of one is delayed because another is currently executing. Offset allows a task to be offset in time and is used to even the load on the CPU.
8 / 15
System 800xA training
12.3.4 Example If two tasks have the same priority, and both wait for execution, the task with the shortest interval time will be executed first. Execution of two tasks with the same priority The figure below shows two tasks executing in the same system. Task 1 and task 2 have interval times of 30 and 200 ms, and execution times of 10 and 50 ms, respectively. When the tasks have been assigned the same priority, the execution start time of task 1 is very much delayed. It also drops one execution.
Execution of two tasks with different priorities In the figure below, task 1 has higher priority than task 2, and interrupts the execution of task 2. Hence task 1 is not delayed much by task 2.
9 / 15
T314-12 Task Assignment - RevB
12.3.5 Communication Considerations POU execution has higher priority than other functions, such as communication. These functions are performed in the gaps between the execution of different tasks. If several tasks with long execution times are executed immediately, one after the other, the time gaps are few but long
The result of having no offset for three tasks with long execution times. The gap (Ta+Tb) is the time available for the execution of other functions, for example communication.
The offset mechanism can be used to make the time gaps more frequent.
The result of assigning offset to tasks 2 and 3, is that the time available for the execution of other functions occurs more often (Ta).
10 / 15
System 800xA training
12.3.6 Debug Mode You can set up a task for non-cyclic execution. Use non-cyclic execution to reduce the system load, and to simplify the debugging of a program. After you enable the debug mode, you can halt the cyclic execution of a task.
You can command a task that is in halt to execute one scan each time you click the One Scan button.
12.3.7 Overrun and Latency Overrun and Latency are two functions for supervising a task. Overrun checks if each task finishes before it is supposed to start the next time, and detects if the task runs for too long. Latency on the other hand, checks that a task starts on time (on each cyclic start), and detects if the task starts too late. The Overrun function is configured per controller via the Controller Settings dialog, while the Latency function is configured per task (and SIL classification per task) via the Task Properties dialog.
For High Integrity controllers: Overrun Supervision is automatically enabled and cannot be switched off. Load balancing is not available in High Integrity controllers. Latency Supervision is mandatory and therefore automatically enabled for all SIL tasks.
11 / 15
T314-12 Task Assignment - RevB
12 / 15
System 800xA training
12.4 Controller Diagnostics The Basic library contains a function block type called System Diagnostics.
You can use this function block type to measure and display the following functions. •
Cyclic load resulting from task execution
•
Down time and memory usage during a controller download
•
Current memory in use
•
Maximum memory used since the last cold start
Values can be updated either on command or cyclically. The system diagnostics interaction window is only available in simulate/online mode.
To display the interaction window: right click on the System diagnostics icon in the project tree (picture below).
Right-click and select “Interaction Window” from the menu.
NOTE!
The numbers in the interaction window are not valid in Simulate mode.
13 / 15
T314-12 Task Assignment - RevB
The interaction windows can be displayed in two versions, Simple and Advanced.
You may also do diagnosis by opening the face plate of the function block in 800xA:
NOTE!
14 / 15
You need a separate System Diagnostics FB in each application, if the stop time during download is an important factor.
System 800xA training
12.4.1 Cyclic Load The cyclic load is the percentage of controller CPU power used for program execution of application code. If the cyclic load exceeds 70% in the controller, so-called load balancing is initiated automatically – if enabled! The interval time for all tasks, except the time-critical task, is then generally increased, to limit the cyclic load to 70%. If the total load then falls below 70% again, the interval time will normally be decreased in all tasks, except for the time-critical task. Running a controller at close to 70% CPU load will result in poor performance and longer response times for peer-to-peer and OPC communication. Under all conditions peak cyclic load should be maintained at 65% and “static”cyclic load at 60%. If high communication throughput is important, the cyclic load should be 30-40%.
15 / 15
System 800xA training
Exercise 12.1 Connecting Tasks / Controller Diagnostic
12.1.1 Goals Tasks are used to schedule the execution of the programmable units within a controller. This is done by adjusting the combination of priority, interval of scheduled execution and a starting offset. Verify some task assignments and connect a different task to an existing program. Observe task settings in the controller. Call the diagnostic window, then monitor CPU and memory usage in the controller.
12.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/3
T314-12 Exercise 12.1 - RevB
12.1.3 Exercise Steps 12.1.3.1 Connect Tasks
) ) ) ) )
Verify that Sxx_Project in the Control Builder is Offline. Expand the ‘Controllers’ part of the tree to expose ‘Tasks’. Open the ‘Tasks’ editor from the context menu and take note of the various entries in the window. Explain the differences between the listed tasks then close the editor. List the task connections for the following: Sxx_ReactorApp Program3 Sxx_Additions Sxx_FT1 (Control Module)
) ) ) )
Use the context menu for Sxx_Additions to connect it to task ‘SuperSlow’. Download, generate an overflow condition and monitor the flashing light from the previous lab. Explain the results. Return to the Offline mode and change the Sxx_Additions task connection to the original value. Download, test the overflow condition again and remain Online.
12.1.3.2 View Online Diagnostics Valuable online information may be viewed through two standard interactive windows.
) )
2/3
Open the ‘Tasks’ editor as before, but note the dynamic values. Explain the information in this window then close the editor. Open the editor for the ‘Normal’ task. Observe and explain its data then close it.
System 800xA training
)
Choose ‘Interactive Window’ from the context menu of ‘System Diagnostics’ within ‘Program3’ and note the data available. It may be necessary to resize the interactive window but first, the ‘Resizable’ property must be set. This item may be revealed by selecting the ‘Properties’ entry in the window’s context menu.
)
Select the ‘Advanced’ button and note the following: System Load Memory Usage Last Restart Type Stop Time (if applicable)
)
Close the window and return to the Offline mode.
3/3
System 800xA training
Exercise 12.1 Connecting Tasks / Controller Diagnostic
12.1.1.1 Connect Tasks
) )
)
)
Verify that Sxx_Project in the Control Builder is Offline. Expand the ‘Controllers’ part of the tree to expose ‘Tasks’.
Open the ‘Tasks’ editor from the context menu and take note of the various entries in the window.
Explain the differences between the listed tasks then close the editor. There are six tasks in this list having different scheduling importance based upon the combination of ‘Priority’ and ‘Interval Time’.
1/5
T314-12 Solution 12.1 - RevB
)
List the task connections for the following:
Sxx_ReactorApp Æ Controller_1.Normal Program3
Æ Controller_1.Slow
Sxx_Additions
Æ Controller_1.Normal **
Sxx_FT1 (Control Module)
Æ Controller_1.Normal **
** When a unit does not have a specified connection, it will assume the task assignment of the application to which it belongs. In this case, Sxx_ReactorApp.
)
2/5
Use the context menu for Sxx_Additions to connect it to task ‘SuperSlow’.
System 800xA training
)
Download, generate an overflow condition and monitor the flashing light from the previous lab. Explain the results. During an overflow condition, the lamp will remain lit but does not flash. It was designed to flash every 0.5 seconds, but since the ‘SuperSlow’ task will only schedule execution every 2 seconds, the light cannot flash at the 0.5 second rate.
)
)
Return to the Offline mode and change the Sxx_Additions task connection to the original value.
Download, test the overflow condition again and remain Online.
12.1.1.2 View Online Diagnostics
)
Open the ‘Tasks’ editor as before, but note the dynamic values. Explain the information in this window then close the editor.
The ‘Actual Interval Time’ and ‘Execution Time’ columns will update based on controller values. ‘Actual Interval Time’ will indicate when this task actually got scheduled and ‘Execution Time’ is how long it took to run.
3/5
T314-12 Solution 12.1 - RevB
)
Open the editor for the ‘Normal’ task. Observe and explain its data then close it.
This window permits the user to make online changes to the scheduled interval time, the offset and the priority for this task. A ‘Debug’ mode is also available to allow single step execution of anything connected to this task.
)
4/5
Choose ‘Interactive Window’ from the context menu of ‘System Diagnostics’ within ‘Program3’ and note the data available.
System 800xA training
It may be necessary to resize the interactive window but first, the ‘Resizable’ property must be set. This item may be revealed by selecting the ‘Properties’ entry in the window’s context menu.
)
Select the ‘Advanced’ button and note the following: System Load Memory Usage Last Restart Type Stop Time (if applicable)
)
Close the window and return to the Offline mode.
5/5
System 800xA training
Chapter 13 Control Modules
TABLE OF CONTENTS Chapter 13 Control Modules ......................................................................................................................................................... 1 13.1 General Information........................................................................................................................................................... 2 13.1.1 Objectives ................................................................................................................................................................... 2 13.1.2 Legend ........................................................................................................................................................................ 2 13.2 Introduction ....................................................................................................................................................................... 3 13.2.1 Application Topologies and Strategies ....................................................................................................................... 3 13.2.2 Control Modules as Code Containers ......................................................................................................................... 5 13.2.3 Representation of Control Modules ............................................................................................................................ 7 13.2.4 Code Sorting ............................................................................................................................................................... 8 13.2.5 Graphics.................................................................................................................................................................... 10 13.3 Control Module Diagram (CMD) Editor ......................................................................................................................... 11 13.3.1 For an Application .................................................................................................................................................... 11 13.3.2 For a Module Type ................................................................................................................................................... 12 13.4 How to Create a Control Module Instance....................................................................................................................... 13 13.4.1 Method 1 – Instantiation in the Project Explorer ...................................................................................................... 13 13.4.2 Method 2 – Instantiation in the CMD Editor ............................................................................................................ 14 13.4.3 Graphical Skills ........................................................................................................................................................ 16 13.4.4 Object Markings and Points...................................................................................................................................... 16 13.4.5 Handling of Instances ............................................................................................................................................... 17 13.5 Connection between Instances......................................................................................................................................... 18 13.5.1 Variables in Applications.......................................................................................................................................... 18 13.5.2 Variables in Programs............................................................................................................................................... 19 13.5.3 Graphical Connections.............................................................................................................................................. 20 13.5.4 Hints when Nodes and Graphical Connections......................................................................................................... 21 13.6 Single Control Module..................................................................................................................................................... 23 13.6.1 Usage of Single Control Modules............................................................................................................................. 24
1 / 24
T314-13 Control Modules - RevB
13.1 General Information 13.1.1 Objectives On completion of this chapter you will be able to: •
Describe differences between CM's and FB's
•
Describe advantages and disadvantages
•
Instantiate Control Modules with / without CMD editor
•
Exchange data by using global and local variables
•
Configure single Control Modules
13.1.2 Legend
2 / 24
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
13.2 Introduction Control Module Types and their instances represent an extension to those code containers (POU) described by IEC 61131-3. You can think of Control Modules as super function blocks have the ability to hold code and also graphics. The coding techniques and editors are the same as for Function Block types and programs, there is very little difference there, so all the knowledge of programming with traditional programs can be carried forward into the world of Control Modules. Control Modules have many advantages over traditional Programs: •
Faster execution due to more efficient compiler
•
Reduced memory usage in the controller
•
Better data flow within the application ensuring that all values are updated in each scan.
•
Provision of configurable graphics for creating diagnostics, commissioning and maintenance windows and views.
13.2.1 Application Topologies and Strategies In general there are three broad topologies which may be used to build applications:
Topology 1 – Traditional methodology An application contains only programs. Variables are declared within the programs and are local to the programs in which they are declared. When data is passed from one program to another, Global Variables are declared in the application level. This is shown schematically below: Application space
Program1 Var1
gVar1
Program2
ProgramN
Var1
Var1
This solution is the most like traditional PLC and DCS systems. Within the programs any of the five code editors may be used.
3 / 24
T314-13 Control Modules - RevB
Topology 2 – Control Module solution An application contains only Control Module instances. There are no programs. In this model the Control Modules act as small programs. Application space
gVar1
Control module 2
Control module 1
Var1 aVar1
Var1
Par11 Control module 3
Par1
Var1 Par1
Control Modules have local variables declared within them. They exchange data with other Control Module via parameters which are connected to variables in the applications. Such variables can be either global or local to the application. In the above the application variable aVar1 carries data from CM1 to CM2 and CM3.
Topology 3 – Hybrid This is a mixture of the two schemes above: aVar1
Control module 2
Control module 1
Par1
gVar1
Par1 Var1
Var11 Program1
Var1
Program2
Var1
In this scheme both programs and control modules are used. Global variables are used to communicate between programs (as in topology 1 above). Global Variables may also be connected to Control Module parameters and used to pass data between the Control Modules and programs where needed. For communication between Control Modules, Application (local) variables or Global variables may be used. An engineer might choose to use Control Modules for PID loops and program the interlocks in traditional programs.
4 / 24
System 800xA training
13.2.2 Control Modules as Code Containers Control Modules are code containers that can contain: •
Code – written in any of the five language editors
•
Graphics – configured in the CMD Editor
•
Other Control Modules – nesting leads to the ability to create deep hierarchies Code
Control Module
Graphics
Other Control Modules
Code Code is written in a code editor which is exactly the same as that for programs. This means that the code inside Control Modules may be written in Structured Text, Function Block, Ladder, Instruction list or Sequential Flow Chart. Code may be separated into code blocks (Tabs). In this respect there is nothing new to learn.
Code editors: Ladder Instruction List Function Block Diagram Structured Text Sequential Function Chart
The top pane has four tabs for the declaration of Parameters, Variables, Externals Variables and Function Blocks. It is identical to the editor for a Function Block Type that was used in the previous sections.
5 / 24
T314-13 Control Modules - RevB
Graphics The graphical part of a control module is written in its own editor called the Control Module Diagram Editor (CMD Editor)
The graphical part is drawn within the green boundary, using the tools in the toolbox to the left. The tools available are: •
Graphical Primitives
Text, Rectangle, Oval, Arc, and Polyline/Polygon
•
Interaction Objects
Command Button, Option Button, Check Box, Input Field, Window interaction
•
Composite objects
Image Selector, String Selector, History Graph, Bar Graph
•
Connective
Node and Graphical Connection
All of these objects may be connected to variables for dynamic display and interactions by an engineer or technician. In the same way as the FBD editor is used for instantiating Function Blocks, the CMD Editor is used for instantiating Control Modules.
6 / 24
System 800xA training
13.2.3 Representation of Control Modules In general Control Module Types are defined in the libraries. These libraries are connected to applications. Instances are created in applications. The types in a connected library become available to the applications that have that library connected.
Types are defined in a library
Library is connected to the application
Instances are created in an application
Note that types are shown with green icons, whereas instances are shown with blue icons.
7 / 24
T314-13 Control Modules - RevB
13.2.4 Code Sorting A strong feature of the Control Module compiler is that it uses advanced methods for evaluating data flow in an application. In any program the code reads variables, operates on the values which have been read and writes the result to another variable. The simple statement: Var_A := Var_B + Var_C; involves reading the current values of two variables, Var_B and Var_C. The values are added and the result of this calculation is written to the variable Var_A. The values of Var_B and Var_C must have been evaluated before the variable Var_A may be assigned. Var_A is dependant on Var_B and Var_C.
In a complex application there are many dependencies. Certain values should not be assigned unless other values have been previously evaluated. Suppose the programmer writes the code in the following order: Var_B := 6.2 Var_A := Var_B + Var_C; Var_C := 3.1 Now the value of Var_A is evaluated at line two using a value of Var_C which was assigned during the previous execution cycle. In other words Var_A is evaluated in any scan with old data. It may or may not be valid at this time. Values are calculated late and may result in data flow delays. In the case of cascaded dependencies, it is possible that a final valid result is not calculated until many cycles have passed: Var_F := Var_D + Var_E; Var_E := 6 * sin(Var_F); Var_D := 3.2 + Var_E; Because of bad ordering in the above statements, it takes three scans in order to evaluate the correct value of Var_F. Worse, this assumes that Var_D and Var_D do not change during this time. If they do then the value of Var_F is never correct at any time! NOTE!
A good programmer will order his code so that this sort of thing does not occur.
However if the above was programmed using Control Modules, the compiler itself would reorder the statements so that correct data flow would result and no delays would be produced. Var_F will always be correct and also be calculated in each and every scan.
8 / 24
System 800xA training
13.2.4.1 Data Flow What we are talking about here is correct data flow: Correct data flow ensures that all values are correct within a single execution scan. •
A value should not be assigned until all variables on which it is dependant have been assigned.
The Control Module compiler ensures that this is the case by analyzing the code blocks within the modules and producing a correctly ordered list of instructions which are then compiled into machine code. This is called sorting. A sorted execution list is produced for each and every task in the controller. Sorting is not done between code in different tasks.
A principal difference between Control Modules and Function Blocks is that code blocks in Control Modules are executed in an order based on optimal data flow, as determined by the compiler. The execution order of Function Blocks follows the program flow as implemented by the programmer. NOTE!
Control Modules are only executed once per scan Function Blocks may be executed several times per scan
For any Function Blocks called from Control Modules, only the parameter interface (in, out, or in_out) affects the code block sorting. That is, no analysis is made of how the Function Blocks actually use the parameters. In addition, function block references to external variables do not affect the execution order of control module code blocks. NOTE!
Within an SFC code block, only the N action parts (not P1 or P2 actions) are sorted.
9 / 24
T314-13 Control Modules - RevB
13.2.5 Graphics You can design a Control Module to include interactive and supervisory process pictures (such as command buttons, input fields and trend curves). In addition, Control Modules can be represented by certain interactive icons, which facilitates the process control and supervision. Below is a Control Module instance of the ValveUniM type.
This is drawn (instantiated) in the Control Module Diagram Editor. The graphics part of the instance is intended for diagnostic and maintenance. The Control Module is provided with a pop-up interaction window. NOTE!
10 / 24
The CMD editor and any graphics drawn there is not intended to be a tool for the operator.
System 800xA training
13.3 Control Module Diagram (CMD) Editor Just as an FBD editor is used to build programs with Function Block Instances, so the CMD editor is used to build applications with Control Modules. Any graphical component is drawn in the CMD editor.
13.3.1 For an Application Instances of previously defined Control Module types are placed graphically in the application using the CMD editor. The CMD editor for an application is accessed by marking the respective application, and then clicking right for the context menu as shown above.
When the CMD editor launches you have a graphics area that is designed to be viewed in a window set for full screen view. You may look upon the area as a piece of paper on which to draw your application.
11 / 24
T314-13 Control Modules - RevB
13.3.2 For a Module Type This is the same editor but with a square drawing area (by default). The CMD editor for a Control Module Type may be accessed from the project tree by marking the type concerned in the project tree:
The CMD Editor for a module type is shown below:
The green boundary shown is called the module boundary or clipping limits for the module. The cross in the centre is the module origin. Control Module Types are usually defined in a library associated with the project. As a rule always define types in libraries.
12 / 24
System 800xA training
13.4 How to Create a Control Module Instance Instances may be created in different ways; the method used will depend on the manner in which the project has been engineered.
13.4.1 Method 1 – Instantiation in the Project Explorer If you do not wish to build the application graphically in the CMD editor then instances may be created in the Project Tree. 1. Mark “Control Modules” in the application and click right.
2. Select the library which contains the type that you want and select then the type. Give the instance a name (distinguish between the instance name and the type name).
3. After that you may make connections by marking the instance and calling the context menu “Connections”.
13 / 24
T314-13 Control Modules - RevB
4. By default instances created in this way will not be visible in the CMD editor. However if you wish to make the graphical part of the instance visible, you can select “Properties / Visibility in Graphic”.
5. Then change in the dialogue:
The disadvantage of this method is in the management of connections afterwards. Also there is no visibility of the graphics in the CMD editor (unless you change the settings).
13.4.2 Method 2 – Instantiation in the CMD Editor This method utilizes the Control Module Diagram editor to represent the Control Module instance graphically. The advantage of using the CMD editor is tat the engineer can get a good representation of the plant and arrange the modules in a way that represents the process. 1. Open the CMD editor and open the module in which the instance is to be placed. 2. Click Right and select Create / Control Module…
14 / 24
System 800xA training
3. Select the library which contains the type that you want and select then the type. Give the instance a name and click “OK”.
4. A cursor will appear in the CMD editor, click left and drag to instantiate the module.
If you are not using the bulk handling tools to write the application, then this method is the preferred and most efficient method when building with Control Modules.
15 / 24
T314-13 Control Modules - RevB
13.4.3 Graphical Skills There are some graphical skills which are needed when handling Control Module instances in a CMD editor.
Markings on module instances Sizing Marker Clipping Boundary
Module Origin Rotation Marker
Clipping Boundary marks the bounds of the module There are always two square markers on the bounds of a module these may be used to re-size the module in both the X and Y directions. There are always two rotation markers on the bounds of a module these may be used to rotate the module about its origin. Module Origin All modules have an origin. The origin shows as a green cross marking the 0,0 coordinate position on the module’s grid. By default this origin is in the center, but it can be moved for some purposes. When editing module re-sizing and rotation are always done about the origin.
13.4.4 Object Markings and Points Graphical Objects have ‘handles’ for resizing. The handles show up when the object is selected.
Distinguish between the two representations of the rectangle shown above. In the left hand diagram the rectangle as a whole has been selected. Any menus or operations on the object will apply to the whole object. On the right a Point on the object has been selected. The other point is showing as an empty square and the selected point has changed to a circular handle. In this case any menus or operations will refer to the point.
16 / 24
System 800xA training
13.4.5 Handling of Instances The behavior of Control Modules in the CMD editor is always a source of frustration to the beginner. So here are a few hints: Instantiating modules When creating an instance of a module, two clicks are needed. Always click first bottom left and then click upwards and rightwards for the second click. Selecting a module Modules may only be selected by clicking on their boundary and not in their body. (it’s different to PowerPoint). A good place to select a module is at the middle of the right hand side. Moving a module Always drag an object inside the module to move the module (by placing the cursor exactly on the edge of an object before dragging). Do not drag on the module boundary – this will just enlarge the module!
Resizing a module Resize a module by dragging on the clipping boundary of the module. Do not drag either the square sizing point (unless you really mean it) OR the Rotation point. Reshaping a module The shape of a module is changed when the square markers are dragged. You can reshape in both the X and Y directions. Rotate a module Modules may be rotated (about their origin). Drag the Rotation marker to rotate a module.
17 / 24
T314-13 Control Modules - RevB
13.5 Connection between Instances 13.5.1 Variables in Applications Control Module instances must exchange data via variables in the surrounding module. NOTE!
Global Variables declared at application level are not visible within any Control Module instance. Except if they are declared in the type as External Variable
When information is passed across the boundary of a Control Module, a declared parameter inside the module is used and connections made to a variable (or other parameter) in the surrounding module. Connections
Surrounding module (Parent)
A
Parameters
B
Module (Child) DataOUT
Var1
DataIN
Var2
In the above Module A has a child (module B). The child passes data out via the parameter ‘DataOUT’ and receives data from the surrounding module by the parameter ‘DataIN’.
The diagram below shows two modules exchanging data: Surrounding module (Parent)
A
18 / 24
Module (Child)
B
Module (Child)
DataOUT_B
Var1
DataIN_C
DataIN_B
Var2
DataOUT_C
C
•
Var1 and Var2 are variables declared in module A.
•
Module B passes data out via the parameter ‘DataOUT_B’ and the connection to Var1. Module B gets data via the parameter ‘DataIN_B’ and the connection to Var2.
•
Module C passes data out via the parameter ‘DataOUT_C’ and the connection to Var2. Module C gets data via the parameter ‘DataIN_C’ and the connection to Var1.
System 800xA training
Create the two instances to be connected inside a module (or the application) and declare variables as required for the connections. 1. Mark the first module and in the context menu select Connections. If the modules have been created in the project tree, mark the instance and select Connections.
2. Connect the previously declared variables as required.
13.5.2 Variables in Programs In a hybrid topology where you have both Control Modules and Programs in an application: Application space
aVar1
Control module 2
Control module 1
Par1
gVar1
Par1 Var1
Var11 Program1
Var1
Program2
Var1
Declare all variables which are to be read or written by programs as global variables. Connect as required to the parameters of the control modules. Read or write to these variables in the program code.
19 / 24
T314-13 Control Modules - RevB
13.5.3 Graphical Connections Many modules have nodes available for graphical connection. Connections between nodes may be done graphically rather than explicitly declaring the variables: The diagram below shows four instances from the library ‘ControlStandardLib’ suitable for creating a simple PID flow control loop:
These modules are prepared with Nodes and may be connected graphically. 1. Click right in the view and select Create / Graphical Connection 2. The cursor will appear. 3. Click once on the node where the connection is to start 4. Move the cursor to the destination node and double click to finish.
Note that graphical connection lines can be ‘pinned’ down on the view by intermediate clicks. If there are no intermediate clicks then the system will auto route the connection between the two nodes.
A graphical connection looks like a line but represents a variable which has been automatically generated by the system: The system identifies the variable by the instance name of the module in which the node is placed followed by the variable or parameter name. This is why instance name must be unique at within any module.
20 / 24
System 800xA training
13.5.3.1 Node Objects The node is an object that represents a variable or parameter graphically. To create a node you make three clicks in the CMD editor. The first creates a small circle which will become a connection point. The second and third mark a text object in which the actual name of the variable or parameter is written: NodeName
The node may represent any single parameter or any single variable. The parameter or variable may be a simple data type or a complex data type containing many components. In an ideal application using Control modules it should be possible to make all connections between modules using nodes and graphical connections.
13.5.4 Hints when Nodes and Graphical Connections •
Make graphical connections a distinctive color.
•
Enable nodes and graphical connections False (Attributes>Enable) so that they are visible in edit but disappear at run time.
•
Peg down your graphical connections by making intermediate clicks when connecting. Graphical connections are auto routed by the system in the editor and can wander all over the screen!
•
Make you connections neat and tidy and use them to illustrate data flow.
•
Place parametric nodes at obvious positions and on the module boundary (middle of edges and at corners)
21 / 24
T314-13 Control Modules - RevB
22 / 24
System 800xA training
13.6 Single Control Module The Single Control Module is a special case of a Control Module type. It only has one instance. This means its content is unique in the application.
When a Single Control Module is duplicated, a copy is produced (as opposed to another instance). All reference to the original is lost. This means that the duplicate may be edited without affecting the original. Definition 1
Definition 2
Instance
Instance Duplicate
Contrast this with a Module type – when an instance of a module type is duplicated it a new instance of the same type is created. Changes in the type will result in changes to both the old and the new instance. Type
Instance 1
Instance 3
Instance 2
Duplicate
Single Modules share all the characteristics of module types but cannot be instantiated from libraries. In the case of Single Control Modules the type definition is not seen by the programmer.
23 / 24
T314-13 Control Modules - RevB
13.6.1 Usage of Single Control Modules Single Control Modules are created when you want module properties but do not want to re-use the module. (If there is any repetition then a Module Type should be defined) A second common usage is to use them to create code containers for writing the gluelogic for other modules.
For example it is not possible to write any code at application level in the hierarchy because the application has no code editor (and also IEC61131-3 disallows code at this level). But the user may place one or more Single Control Modules beneath (children) the application and then write code inside these. The diagram below shows two plant areas having different objects contained in them: Application
Single Control Module 1 Instance1
Instance2
Code
Single Control Module 2 Instance1
Instance2
Code
Code may now be written in the Single Control Module which coordinates the behavior of the instances (interlocks, sequences etc.)
The Project Tree shows the structure of the diagram above in tree form:
24 / 24
System 800xA training
Exercise 13.1 Adding Alarm Supervision using Control Modules
13.1.1 Goals The existing PID loop is used to control the inflow to the tank. An instance of ‘Level2CC’ will add the ability to have a high and low alarm value for the inflow. The insertion will be done using the CMD editor.
13.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/7
T314-13 Exercise 13.1 - RevB
13.1.3 Exercise Steps Setting of high and low inflow alarms will be achieved by incorporating an instance of a ‘Level2CC’ control module into the existing code below. Each block in this PID loop is a control module and is graphically connected to one or more other modules.
The ‘Level2CC’ will be inserted between the ‘AICC’ and the ‘Tap’ (the first two on the left).
13.1.3.1 Add a Control Module Instance
) ) )
Use the help to investigate the ‘Level2CC’ control module. Verify that Sxx_Project in the Control Builder is Offline. Open the CMD editor from the context menu of Sxx_ReactorApp.
This will show the diagram of the interconnected control modules (PID loop).
)
2/7
Remove the graphical connection between the ‘AICC’ and the ‘Tap’ (first two control modules) by selecting the connection line then pressing .
System 800xA training
)
) )
Select New Control Module from the CMD toolbar, choose ‘Level2CC’ from the ‘ControlStandardLib’ then type ‘Sxx_FT1_Alarms’ in the ‘Instance Name’ field. Deselect ‘Connect Parameters’ then press “OK”.
Anywhere in the CMD editor, hold the left mouse button down, drag then release the button. This will create a rectangle representing the graphical instance of the control module. It can then be resized and moved as needed. Position the modules similar to this diagram.
3/7
T314-13 Exercise 13.1 - RevB
13.1.3.2 Make Graphical Connections The next step will be connecting the graphical nodes of these three modules. The input of Level2CC will be connected to the output of the AICC and the output of the Level2CC will go to the input of the Tap.
)
)
Select the graphical node connection from the CMD editor’s toolbar.
Click on the ‘Out’ node of the AICC, release, move the cursor to a position midway between the two modules, click again then move the cursor down to a position approximately even with the node on the Level2CC, click again then double click on the ‘In’ node of the Level2CC to complete the connection.
The connection can be made simply by selecting one node, then double clicking on the other node, but it is difficult to see it in the CMD editor.
4/7
System 800xA training
)
Make a second graphical connection between the ‘Out’ of the Level2CC and the ‘In’ of the Tap.
The red shapes on the corners of the Level2CC indicate an error(s) associated with this module.
13.1.3.3 Check for Errors In addition to the red error indicators on the block, a red triangle will appear on the control module in the project tree.
)
)
Open the Project Explorer until the error triangles are viewable.
Run an error check on the application by selecting ‘Check’ from the context menu of Sxx_ReactorApp.
5/7
T314-13 Exercise 13.1 - RevB
)
Double click on the error line and it will navigate directly to the dialog box where the error was detected.
13.1.3.4 Connect Parameters in an Editor
) )
The errors indicated that necessary connections are missing. The connections editor for the control module may be opened via the error message line, as just described, or by selecting Connections from the context menu of the control module. After opening the connections editor for ‘Level2CC’, make the following parameter entries. - ‘Name’ to ‘Sxx_FT1_Alarms_Lev2’ - ‘Description’ to ‘Tank Inflow Hi/Lo Alarms’ - ‘CondNameH’ to ‘Tank_Inflow_HI’ - ‘AEConfigH’ to 1 - ‘CondNameL’ to ‘Tank_Inflow_LOW’ - ‘AeConfigL’ to 1 These entries may be made directly in the parameter line without creating any variables. This is because the necessary connections are static and the types are dint or strings. Strings must be surrounded by single quotes (e.g. ‘text string’).
6/7
System 800xA training
)
)
Save and Close the editor then observe that the red corners have been replaced by green ones and the red triangles in the project tree are gone.
Close the CMD editor – there is no ‘Save’ in this editor.
13.1.3.5 Make Online Changes and Monitor Online The Sxx_FT1_Alarms control module has been connected to the PID loop, but the actual HI and LOW alarm values have not been set. These limits may be set through the online editor, interaction window, or faceplate of the control module. The alarm state may be viewed using these same tools or in the ‘Alarm Conditions’ window.
) ) )
) )
After downloading, right click on the Sxx_FT1_Alarms control module in the project tree and select the Interaction Window. Note the existing limits and enter suitable values (e.g. 85.0 and 10.0) for the high and low limits. Adjust V1 and the setpoint for V3 to generate an alarm. Observe the alarm in the following places and note the type of presentation in each. •
Interaction Window (Control Builder)
•
Online Editor (Control Builder)
•
Alarm Conditions (Control Builder)
•
Faceplate (Engineering Workplace)
•
Alarm List (Sxx_Workplace)
Change the limits using one or more of the windows listed above. Return to the Offline mode.
7/7
System 800xA training
Solution 13.1 Adding Alarm Supervision using Control Modules
13.1.1.1 Add a Control Module Instance
) ) )
)
Use the help to investigate the ‘Level2CC’ control module. Verify that Sxx_Project in the Control Builder is Offline. Open the CMD editor from the context menu of Sxx_ReactorApp.
Remove the graphical connection between the ‘AICC’ and the ‘Tap’ (first two control modules) by selecting the connection line then pressing .
1/8
T314-13 Solution 13.1 - RevB
)
) )
2/8
Select New Control Module from the CMD toolbar, choose ‘Level2CC’ from the ‘ControlStandardLib’ then type ‘Sxx_FT1_Alarms’ in the ‘Instance Name’ field. Deselect ‘Connect Parameters’ then press “OK”.
Anywhere in the CMD editor, hold the left mouse button down, drag then release the button. This will create a rectangle representing the graphical instance of the control module. It can then be resized and moved as needed. Position the modules similar to this diagram.
System 800xA training
13.1.1.2 Make Graphical Connections
)
)
Select the graphical node connection from the CMD editor’s toolbar.
Click on the ‘Out’ node of the AICC, release, move the cursor to a position midway between the two modules, click again then move the cursor down to a position approximately even with the node on the Level2CC, click again then double click on the ‘In’ node of the Level2CC to complete the connection.
The second figure depicts the same two modules after using the “Zoom In” button. Observe how the text for each node (Out, In, Reference) is now visible.
3/8
T314-13 Solution 13.1 - RevB
Push the “Reset View” button to return the diagram to normal size and position.
)
Make a second graphical connection between the ‘Out’ of the Level2CC and the ‘In’ of the Tap.
The red shapes on the corners of the Level2CC indicate an error(s) associated with this module.
13.1.1.3 Connect Parameters in an Editor
)
4/8
The errors indicated that necessary connections are missing. The connections editor for the control module may be opened via the error message line, as just described, or by selecting Connections from the context menu of the control module.
System 800xA training
)
After opening the connections editor for ‘Level2CC’, make the following parameter entries. - ‘Name’ to ‘Sxx_FT1_Alarms_Lev2’ - ‘Description’ to ‘Tank Inflow Hi/Lo Alarms’ - ‘CondNameH’ to ‘Tank_Inflow_HI’ - ‘AEConfigH’ to 1 - ‘CondNameL’ to ‘Tank_Inflow_LOW’ - ‘AeConfigL’ to 1 These entries may be made directly in the parameter line without creating any variables. This is because the necessary connections are static and the types are dint or strings. Strings must be surrounded by single quotes (e.g. ‘text string’).
)
Save and Close the editor then observe that the red corners have been replaced by green ones and the red triangles in the project tree are gone.
5/8
T314-13 Solution 13.1 - RevB
)
Close the CMD editor – there is no ‘Save’ in this editor.
13.1.1.4 Make Online Changes and Monitor Online
)
6/8
After downloading, right click on the Sxx_FT1_Alarms control module in the project tree and select the Interaction Window.
System 800xA training
)
)
Note the existing limits and enter suitable values (e.g. 85.0 and 10.0) for the high and low limits.
Adjust V1 and the setpoint for V3 to generate an alarm. Observe the alarm in the following places and note the type of presentation in each. Interaction Window (Control Builder)
Grey box for Hi Limit indicates no alarm; Red triangle with 1 in the center indicates active unacknowledged alarm for Lo Limit. Online Editor (Control Builder)
‘AlStateH’ = 2, indicates no alarm; ‘AlStateL’ = 5 indicates active unacknowledged alarm.
7/8
T314-13 Solution 13.1 - RevB
Alarm Conditions (Control Builder)
This also shows the values of the AlState variables. Faceplate (Engineering Workplace)
Alarm List (Sxx_Workplace)
) ) 8/8
Change the limits using one or more of the windows listed above. Return to the Offline mode.
System 800xA training
Exercise 13.2 Programming a 3-Point PID Loop
13.2.1 Goals A single control module (SCM) will be created in the application using the CMD editor. The SCM will contain a PID loop consisting of the ‘AnalogInCC’, ‘PIDCC’ and ‘ThreePosC’ control modules.
13.2.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/4
T314-13 Exercise 13.2 - RevB
13.2.3 Exercise Steps This PID loop will use Pot 4 on the operator panel as an input and Lamps 5 and 6 will be the control outputs to indicate if an increase or decrease is occurring.
13.2.3.1 Create the Single Control Module
) ) ) )
) ) ) )
Use the help to look up information about the ‘ThreePosC’ control module. Verify that Sxx_Project in the Control Builder is Offline. Open the CMD editor for the Sxx_ReactorApp application. Select the ‘New Empty Single Control Module’ button from the CMD toolbar then draw a rectangle in the diagram area.
A dialog box will pop-up; use the name Sxx_Extensions for this SCM. After pressing “OK”, a second CMD editor (for Sxx_Extensions) will open. It will be used in the following steps. Using this Sxx_Extensions CMD editor, insert the following control module instances. - Instance of an ‘AnalogInCC’ named Sxx_In - Instance of a ‘PIDCC’ named Sxx_PID - Instance of a ‘ThreePosC’ named Sxx_Out Graphically make these two connections. •
AnalogInCC ‘Out’ Æ PIDCC ‘PV’
•
PIDCC ‘Out’ Æ ThreePosC ‘In’
Close both the Sxx_Extensions and Sxx_ReactorApp CMD editors. NOTE!
2/4
The Sxx_Extensions SCM, with the three control module instances inside, will appear as a small rectangle in the CMD editor of Sxx_ReactorApp.
System 800xA training
13.2.3.2 Create Parameters / Variables for the SCM The Sxx_Extensions SCM will need parameters for connections to global variables that will in turn be connected to the operator panel I/O channels.
)
Open the editor for the Sxx_Extensions SCM and declare these three parameters.
)
Declare these three global variables in the Sxx_ReactorApp editor. •
gPot4 of the data type RealIO
•
gLamp5 of the data type BoolIO
•
gLamp6 of the data type BoolIO
13.2.3.3 Connect Parameters Many of the parameter entries in the next few steps are strings. As previously mentioned, strings may be entered directly in a parameter connection without creating any variables. The strings must be surrounded by single quotes (e.g. ‘text string’).
)
) ) ) )
Open the connections editor for ‘Sxx_Out’ and make the following parameter entries. - ‘Name’ Æ ‘Sxx_Out_Pot4’ - ‘Description’ Æ ‘Pot 4 Control Output’ - ‘Inc’ Æ CV_Inc_Lamp5 - ‘Dec’ Æ CV_Dec_Lamp6
Open the connections editor for ‘Sxx_PID’ and make the following parameter entries. - ‘Name’ Æ ‘Sxx_PID_Pot4’ - ‘Description’ Æ ‘Pot 4 Control PID’ Open the connections editor for ‘Sxx_In’ and make the following parameter entries. - ‘Name’ Æ ‘Sxx_In_Pot4’ - ‘Description’ Æ ‘Pot 4 Control Input’ - ‘AnalogInput’ Æ PV_In_Pot4 Open the connections editor for ‘Sxx_Extensions’ and make the following parameter entries. - ‘PV_In_Pot4’ Æ gPot4 - ‘CV_Inc_Lamp5’ Æ gLamp5 - ‘CV_Dec_Lamp6’ Æ gLamp6 Save and close all editors.
3/4
T314-13 Exercise 13.2 - RevB
13.2.3.4 Connect to I/O
) )
Connect these three global variables to the following Modulebus channels. - gPot4 Æ channel 4 on the AI810 - gLamp5 Æ channel 5 on the DO810 - gLamp6 Æ channel 6 on the DO810 Save and close the hardware editor.
13.2.3.5 Test Online The PID loop and corresponding outputs may be tested in auto by changing the setpoint and varying the input process value (pot 4). Lamp5 should light when the process value is less than the setpoint and Lamp6 will light when the process value is greater than the setpoint. Manual outputs can also be used to test the lamps.
) )
4/4
Download and test functionality by using the ‘Interaction Windows’ in Control Builder and/or the faceplates in the Engineering Workplace for ‘Sxx_PID’ and ‘Sxx_Out’. Observe the indicators on the faceplates and interaction windows.
System 800xA training
Solution 13.2 Programming a 3-Point PID Loop
13.2.1.1 Create the Single Control Module
) ) )
)
Use the help to look up information about the ‘ThreePosC’ control module. Verify that Sxx_Project in the Control Builder is Offline. Open the CMD editor for the Sxx_ReactorApp application.
Select the ‘New Empty Single Control Module’ button from the CMD toolbar then draw a rectangle in the diagram area.
1/8
T314-13 Solution 13.2 - RevB
)
)
2/8
A dialog box will pop-up; use the name Sxx_Extensions for this SCM. After pressing “OK”, a second CMD editor (for Sxx_Extensions) will open. It will be used in the following steps.
Using this Sxx_Extensions CMD editor, insert the following control module instances. - Instance of an ‘AnalogInCC’ named Sxx_In - Instance of a ‘PIDCC’ named Sxx_PID - Instance of a ‘ThreePosC’ named Sxx_Out
System 800xA training
)
Graphically make these two connections. •
AnalogInCC ‘Out’ Æ PIDCC ‘PV’
•
PIDCC ‘Out’ Æ ThreePosC ‘In’
3/8
T314-13 Solution 13.2 - RevB
)
Close both the Sxx_Extensions and Sxx_ReactorApp CMD editors.
13.2.1.2 Create Parameters / Variables for the SCM
)
4/8
Open the editor for the Sxx_Extensions SCM and declare these three parameters.
System 800xA training
)
Declare these three global variables in the Sxx_ReactorApp editor. •
gPot4 of the data type RealIO
•
gLamp5 of the data type BoolIO
•
gLamp6 of the data type BoolIO
13.2.1.3 Connect Parameters Many of the parameter entries in the next few steps are strings. As previously mentioned, strings may be entered directly in a parameter connection without creating any variables. The strings must be surrounded by single quotes (e.g. ‘text string’).
)
Open the connections editor for ‘Sxx_Out’ and make the following parameter entries. - ‘Name’ Æ ‘Sxx_Out_Pot4’ - ‘Description’ Æ ‘Pot 4 Control Output’ - ‘Inc’ Æ CV_Inc_Lamp5 - ‘Dec’ Æ CV_Dec_Lamp6
Note the red triangles on each of the control module instances. (The CMD editor also has the red error marks on the corners of each instance). These are a result of unconnected parameters. Performing a ‘Check’ on the Sxx_ReactorApp will list all of the errors and allow navigation to the place in the application that has detected the error(s).
5/8
T314-13 Solution 13.2 - RevB
)
Open the connections editor for ‘Sxx_PID’ and make the following parameter entries. - ‘Name’ Æ ‘Sxx_PID_Pot4’ - ‘Description’ Æ ‘Pot 4 Control PID’
Notice that Sxx_Out no longer has an error indicator.
)
)
6/8
Open the connections editor for ‘Sxx_In’ and make the following parameter entries. - ‘Name’ Æ ‘Sxx_In_Pot4’ - ‘Description’ Æ ‘Pot 4 Control Input’ - ‘AnalogInput’ Æ PV_In_Pot4
Open the connections editor for ‘Sxx_Extensions’ and make the following parameter entries. - ‘PV_In_Pot4’ Æ gPot4 - ‘CV_Inc_Lamp5’ Æ gLamp5 - ‘CV_Dec_Lamp6’ Æ gLamp6
System 800xA training
13.2.1.4 Connect to I/O
)
)
Connect these three global variables to the following Modulebus channels. - gPot4 Æ channel 4 on the AI810 - gLamp5 Æ channel 5 on the DO810 - gLamp6 Æ channel 6 on the DO810
Save and close the hardware editor.
7/8
T314-13 Solution 13.2 - RevB
13.2.1.5 Test Online
) )
Download and test functionality by using the ‘Interaction Windows’ in Control Builder and/or the faceplates in the Engineering Workplace for ‘Sxx_PID’ and ‘Sxx_Out’. Observe the indicators on the faceplates and interaction windows.
No Lamp Lit
Lamp 6 Lit
Lamp 5 Lit (Increase)
The three conditions (No output, Decrease, Increase) are shown in the interaction windows of Sxx_PID and Sxx_Out.
8/8
System 800xA training
Chapter 14 Sequential Function Charts
TABLE OF CONTENTS Chapter 14 Sequential Function Charts ......................................................................................................................................... 1 14.1 General Information........................................................................................................................................................... 2 14.1.1 Objectives ................................................................................................................................................................... 2 14.1.2 Legend ........................................................................................................................................................................ 2 14.2 Sequential Function Charts (SFC) ..................................................................................................................................... 3 14.2.1 General........................................................................................................................................................................ 3 14.2.2 Combinational Logic .................................................................................................................................................. 4 14.2.3 Sequential Logic ......................................................................................................................................................... 4 14.3 SFC Editor ......................................................................................................................................................................... 5 14.3.1 Sequential Rules ......................................................................................................................................................... 5 14.3.2 Structure Pane............................................................................................................................................................. 6 14.3.3 SFC Toolbar................................................................................................................................................................ 7 14.3.4 Online Functions......................................................................................................................................................... 8 14.4 Steps and Transitions ......................................................................................................................................................... 9 14.4.1 Initial Step................................................................................................................................................................... 9 14.4.2 Step ............................................................................................................................................................................. 9 14.4.3 Activate Outputs in Step Actions.............................................................................................................................. 10 14.4.4 Activate Outputs in Separate Code Block................................................................................................................. 11 14.4.5 Transition.................................................................................................................................................................. 11 14.4.6 Transit between Two Steps....................................................................................................................................... 12 14.5 Sequence Constructs........................................................................................................................................................ 13 14.5.1 Simultaneous Sequences........................................................................................................................................... 13 14.5.2 Sequence Selection ................................................................................................................................................... 14 14.5.3 Jumps and Destinations ............................................................................................................................................ 15 14.5.4 Subsequence ............................................................................................................................................................. 16 14.6 SFC Viewer ..................................................................................................................................................................... 17 14.6.1 Operating the SFC Viewer........................................................................................................................................ 18 14.6.2 Transition Display..................................................................................................................................................... 19 14.6.3 Action Diagram ........................................................................................................................................................ 19 14.6.4 Restrictions ............................................................................................................................................................... 20 14.7 Two direction Sequence Chain ........................................................................................................................................ 21 14.7.1 SFC Header............................................................................................................................................................... 21 14.7.2 SFC Step ................................................................................................................................................................... 23 14.7.3 Operator Faceplate.................................................................................................................................................... 23
1 / 23
T314-14 Sequential Function Charts - RevB
14.1 General Information 14.1.1 Objectives On completion of this chapter you will be able to: •
Describe the components of SFC
•
Modify simple sequences
•
Use online functions of SFC
•
Describe the main sequence control variables
•
Tell the use of a Two direction SFC
14.1.2 Legend
2 / 23
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
14.2 Sequential Function Charts (SFC) 14.2.1 General The Sequential Function Chart (SFC) programming language allows the user to describe the sequential behavior of the control program graphically. This is quoted as the fifth IEC 61131-3 language but it’s not really a new language just a specialized editor for coding sequences. The SFC standard has evolved from Grafcet, a graphical method of describing sequential behavior.
A sequence is a unit. A complete sequence is surrounded by an unconditional loop; the first step is reactivated when the sequence is finished. A sequence can be divided into separate types of structures. It is possible to structure the sequence view into several hierarchical levels with the subsequence function. NOTE!
An SFC block in Control Builder must be programmed in Structured Text.
3 / 23
T314-14 Sequential Function Charts - RevB
Theoretically, there are two types of logic which are required to solve all process control problems. These are described in the following sections.
14.2.2 Combinational Logic In this case, for a given simple or complex logical function, the outputs are solely dependant on the current state of the inputs. All outputs states depend only on the current input states. This applies no matter how many inputs or outputs are present in order to attain that function: Input 1
Logical Function
Output 1
Input 2
Output 2
Input 3
Output 3
Input n
Output n
14.2.3 Sequential Logic In this case the state of the outputs of a system depends on the current state of the inputs and also the past history of changes of the inputs. Thus sequential logic involves memory as the logical system must note how the system has changed in the past. The Sequential Function Chart is an editor which enables you to define and control sequences of actions for a process. Sequences are used extensively in Start-up and Shutdown routines, batch control, and data flow control.
4 / 23
System 800xA training
14.3 SFC Editor The SFC programming editor is divided into four panes, which are very similar to the other language program editors. The main difference is the structure pane, used to describe the sequential flow with steps and transitions.
It is not possible to have a sequence without any steps or transitions. The sequence must consist of at least one step and one transition.
14.3.1 Sequential Rules The sequence loop is always closed. The last transition is always connected to the first step. The execution continues from the last step to the first step when the last transition condition becomes true.
5 / 23
T314-14 Sequential Function Charts - RevB
14.3.2 Structure Pane All the graphical editing of the sequence structure is performed in the structure pane. You will be able to add, delete, move and modify steps, transitions, actions, simultaneous sequence, sequence selections, and jumps. The basic editing principles are to first select an item and then choose a menu command. All menu commands perform different actions depending on currently selected item.
NOTE!
6 / 23
To delete a step, you must select the step AND the corresponding transition.
System 800xA training
14.3.3 SFC Toolbar There is a special toolbar in the Sequence Function Chart editor, with shortcuts to many of the commands found in the menu bar (or in the pop-up menus). You can see a brief explanation of each button, if you hold the cursor over the button. Toolbar button
Menu Command
Description
Insert > Step, Transition
Inserts a step and transition after the current selection.
Insert > Sequence Selection
Inserts a sequence selection after the current selection.
Insert > Simultaneous Sequence
Inserts a simultaneous sequence after the current selection.
Insert > New Branch
Inserts a new branch.
Insert > Jump
Inserts a jump.
Tools > Make Subsequence
Turn the selected steps and transitions into a subsequence.
Tools > Dissolve Subsequence
Dissolves the selected subsequence.
View > Step into Subsequence
Steps into the selected subsequence.
View > Step Out of Subsequence
Steps out of the open subsequence.
7 / 23
T314-14 Sequential Function Charts - RevB
14.3.4 Online Functions In online mode, the code and the variable values are displayed in the program editor. Online commands in the menu bar and toolbar buttons concerning the code are the same as in the other language program editors. There are functions only available in the online mode. Some of them are: Toolbar button
Menu Command
Description
Tools > Disable Actions
Disables the associated actions of the selected step (toggle command). No action code executes when the step is active. All actions associated to the step are blocked (shut off).
Tools > Block Transition
Blocks the selected transition (toggle command). The transition condition is regarded as False. When a transition is blocked, the execution cannot continue in the next step.
Tools > Force Forward
Moves the execution, from the step before the selected transition, to the step after the selected transition, though the transition condition is not evaluated. The execution continues in the step after the selected transition.
Tools > Force Backward
Moves the execution, from the step after the selected transition, to the step before the selected transition, though the transition condition is not evaluated. The execution continues in the step before the selected transition.
View > Step into Subsequence
Steps into the selected subsequence.
View > Step out of Subsequence
Steps out of the open subsequence.
Use the online help to read about these functions.
8 / 23
System 800xA training
14.4 Steps and Transitions The sequence element always has a step followed by a transition. This is the smallest part of a sequence and is a complete entity. You may not have a step on its own or a transition on its own, neither can you have two steps together or two transitions together.
14.4.1 Initial Step Each sequence has one initial step. The initial step becomes active at a cold start of the application(s) or when the sequence is reset by the SequenceName.Reset variable.
14.4.2 Step A step is a basic element, which is activated by its preceding transition. The step becomes active until its succeeding transition is true, and then next step is activated. Each step has a name, that can be changed, and each step can have up to three associated set of actions. It is not possible to change the action names.
The Step is used to hold instructions which perform actions on the process devices.
9 / 23
T314-14 Sequential Function Charts - RevB
Double clicking on any step will result in that step being ‘Opened’ in the editor:
Each of the boxes represents one code block (or tab) in a program editor, written in Structured Text. There are three blocks called ‘Entry’, ‘Active’ and ‘Exit’. •
Instructions written in the Entry block (P1 = Pulse rising edge) are executed once and once only on entry into the step. (During transition from the previous step)
•
Instructions written in the Active block (N = Non-stored) are executed on each scan whilst the step is active.
•
Instructions written in the Exit block (P0 = Pulse falling edge) are executed once and once only on exit from the step. (During transition to the next step).
NOTE!
Any of the three may be left empty or even deleted.
14.4.3 Activate Outputs in Step Actions When a step is active, the N code action of the step is active. If the statement in ST is written in an N action, the code is executed once every cycle while the step is active. The advantage of writing code in the actions of the step, is that all code associated with this step is kept in one place.
Activated outputs in the Draining_P1 step
10 / 23
System 800xA training
14.4.4 Activate Outputs in Separate Code Block By using the StepName.x (bool) variable, it is possible to activate variables in other code blocks. For example: Start:= Draining.x;
This statement is written in another code block than the SFC sequence. It is easy to find the reason for why the Start variable is true or false: it depends on whether the step is active or not. Another more complex example:
Activated outputs in a separate code block
The advantage for this is that all activation code associated with the entire sequence could be collected in one code block, instead of being scattered among the actions for all steps.
14.4.5 Transition The transition from one step to the next holds a Boolean expression. (Note that it is NOT a code block as such and requires a slightly different syntax).
A Boolean Expression is any sequence of terms and operators that results in a single Boolean Result – True or False. The sequence will transit from one step to the next when the transition following the currently active step goes true.
11 / 23
T314-14 Sequential Function Charts - RevB
14.4.6 Transit between Two Steps During a transition, and during the exact scan that the transition occurs, the Active block of the currently active step is executed, followed by its exit block, then the entry block of the destination step executes and finally the active block:
Transit
When Tr12 goes true the actions are executed in the following order during that scan: 1. S11_N executes for one final time 2. S11_P0 executes once 3. S14_P1 executes once 4. S14_N becomes active
12 / 23
System 800xA training
14.5 Sequence Constructs In principle there are two types of branch possible – the Simultaneous and the Selection branch.
14.5.1 Simultaneous Sequences The simultaneous sequence structure allows simultaneous and independent execution of two or more branches of sequence actions. Each branch starts and ends with a step. The last transition cannot activate its succeeding step unless the last step of all branches is active.
When the transition Tr7 becomes true, Step S7 is left and each of the three steps S9, S10 and S11 become active. When a parallel branch is left all preceding steps must be active AND the following transition must become true. In the above steps S12, S10 and S14 must be active together with Tr9 being true before the exit from the branch takes place.
13 / 23
T314-14 Sequential Function Charts - RevB
14.5.2 Sequence Selection A series of transition conditions are monitored when the prior step is active. The next step to become active is determined by which transition becomes true. That branch is selected and the execution continues in that branch. The execution can only continue in one of the branches. In the case of two transitions becoming true simultaneously, the branch with the highest priority (graphically, the left to right branch order corresponds to the priority order) and a true transition condition will be chosen. NOTE!
The leftmost branch has the highest priority.
If Tr13 becomes true then branching will occur to S18. However, if TR14 becomes true then branching will occur to S16. If both transitions become active at the same time, then the system will choose S18.
14 / 23
System 800xA training
14.5.3 Jumps and Destinations Unstructured links inside the sequence structures are necessary in some cases to deal with extraordinary situations or, for example, when changing the process production mode.
A jump is a link from a named single transition to a named single step, located anywhere in the same sequence structure. Multiple jumps can be connected to a step. A jump can be considered as a sequence selection. It is a transition where the execution is transferred from the preceding step to the jump destination step, when the transition condition becomes true. NOTE!
Note: It is not possible to jump between different sequences.
A forward jump is typically used when some sort of exception occurs. A backward jump is typically used when a sequence loop is needed inside the overall sequence loop.
15 / 23
T314-14 Sequential Function Charts - RevB
14.5.4 Subsequence For documentation and overview reasons, it is sometimes convenient to graphically structure the sequence into smaller parts, subsequences, thus hiding details until they are requested. The subsequence is usually put around a sequence part, which performs a set of logically related actions. The subsequence function is a way to structure the sequence using a graphic hierarchy. The sequence can be graphically structured into any number of hierarchical levels.
16 / 23
System 800xA training
14.6 SFC Viewer The "SFC (Sequential Function Chart) Viewer" is a tool in 800xA System that allows the operator to display SFC structures with live data for active steps and transitions. The SFC Viewer aspect is only activated, if you select Tools | SFC Viewer Aspect on the SFC code block.
NOTE!
There will be a separate aspect for each code block.
The general display of the sequence control is based on the IEC 1131-3 standards. The default colors for the SFC Viewer animation can be changed project specific for customer needs.
17 / 23
T314-14 Sequential Function Charts - RevB
14.6.1 Operating the SFC Viewer The structure diagram is called up using the SFC Viewer aspect on the program object: •
Network structure of the sequence is displayed with default view
•
Zoom levels allow to zoom in or out inside the network structure
•
Calling up detailed displays for transitions and actions
An additional SFC Mapper aspect is created automatically, which is used to map the online indication. You don’t need to configure anything there.
Caution
18 / 23
As soon as you save the SFC, it will show the modified sequence. But the online indication can be wrong until you downloaded the SFC.
System 800xA training
14.6.2 Transition Display The transition display shows the binary incoming stepping criteria for the selected transition. Depending on the status of the variable, criteria that are met are shown in green and criteria not met are shown in red.
The transition display can be switched between a display from a function plan perspective and a display in list form.
14.6.3 Action Diagram The action diagrams shows the command outputs for a step, or the use of an output signal and display the complete configuration for the different qualifiers P1, N, P0.
19 / 23
T314-14 Sequential Function Charts - RevB
14.6.4 Restrictions •
Limitation on 8 steps and 16 transition, that be able to work in parallel at the same time
•
Sub sequences can not be displayed
•
No live data for actions are displayed
•
Only Boolean signals can be displayed in the transition display
•
The SFC Viewer does not allow inside the structure diagram to forcing or block transitions or steps. This function is only possible via the controller configuration tool in online mode.
NOTE!
In case of any problems, just create the aspects again.
Deactivate Tools | SFC Viewer Aspect on the SFC code block and activate it again.
20 / 23
System 800xA training
14.7 Two direction Sequence Chain The Two Direction Sequence Chain is available for the control of start-up and shutdown procedure for continuous or intermittent processes. It expands the “normal” SFC with a set of predefined types which are located in the SeqStartLib Control Library. The Two Direction Sequence Chain contains, additional to IEC 61131-3 standard SFC specification, following functionality: •
Operator modes
•
Manual, Automatic and Priority commands
•
Interlocks
•
Priority command alarms
•
Stable End-positions with monitoring
•
Runtime monitoring per SFC step (Step max time)
•
Directly change-over from start-up (On sequence) to shutdown (Off sequence) and vice versa
You can find some more information in the on-line help of the Control Builder.
14.7.1 SFC Header The SFCHeader function block type has the operating modes Automatic and Manual. The Manual mode has higher priority and is the default startup mode.
In Manual mode following operator commands are accepted: •
Start On sequence (or continue from stopped) via InteractionPar.ManOn
•
Start Off sequence (or continue from stopped) via InteractionPar.ManOff
•
Stop sequence via InteractionPar.ManStop
•
Reset sequence via InteractionPar.ManRes
In Automatic mode following automatic commands are accepted: •
Start On sequence (or continue from stopped) via AutoOn
•
Start Off sequence (or continue from stopped) via AutoOff
•
Stop sequence via AutoStop
•
Reset sequence via AutoRes
:
21 / 23
T314-14 Sequential Function Charts - RevB
SFC Header Variables
The control module type contains the SFCHeader and additional a couple of predefined AlarmCondition and SimpleEventDetector function blocks.
NOTE!
22 / 23
You can copy the control module type SFC2DSeqChainExample to start with.
System 800xA training
14.7.2 SFC Step The SFCStep function block type contains additional SFC functions for processing in the SFC structure and for display in Faceplate (Step number, Step min and max time). The SFCStep function block calculates the output when the X input is true and initializes the output when X is false. It is important that each step of the SFC has to call this function block.
14.7.3 Operator Faceplate An Operator faceplate is included as well as shown below.
Starts the Off sequence
Starts the On sequence
23 / 23
System 800xA training
Exercise 14.1 Modifying a Sequence
14.1.1 Goals Modify an existing sequence and become familiar with the Sequential Function Chart (SFC) editor. Monitor the SFC status using the online editor and SFC Viewer.
14.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/4
T314-14 Exercise 14.1 - RevB
14.1.3 Exercise Steps A new step and transition will be inserted between the ‘Start’ transition and ‘Filling’ step of the existing sequence below. During this step, the tank will preheat to 22.0 DegC.
14.1.3.1 Add a Step and Transition The step and transition is a matched pair and it is not permitted to add or delete one without the other.
) )
)
2/4
In the Offline mode, open the program editor for ‘Tank’ and select the “Batch_Control” code pane. Using the context menu of the ‘Start’ transition, insert a new step and transition.
Using the context menu of each, rename the new step ‘Preheating’ and the new transition ‘Preheating_OK’.
System 800xA training
14.1.3.2 Declare a Local Variable A variable, with an initial value of 22.0, will be created for the preheating setpoint.
)
Declare SP_Preheating as a local variable. - ‘Data Type’ = Real - ‘Attribute’ = Retain - ‘Initial Value’ = 22.0
14.1.3.3 Insert ST code for the Step and Transition It is not necessary to have code associated with all or any of the three step actions (P1, N, P0). In contrast, every transition must have a Boolean evaluation. ST code will be inserted to allow the preheating setpoint to be used by the temperature control loop in the auto mode. It only needs to be executed once, so the ‘Preheating_P1’ code pane will be used. After the control loop allows the temperature to reach the preheating setpoint, it is time to transition to the ‘Filling’ step. The evaluation in the ‘Preheating_OK’ transition will look for this to happen.
)
Select the ‘Preheating’ step and choose the “Preheating_P1” code pane.
)
Type the following ST code into the ‘Preheating_P1’ code pane. (* Set Temp Control SP to Preheating SP *) gTemp_SP := SP_Preheating; (* Start Auto Temp Control *) gTemp_Auto := True;
)
Select the ‘Preheating_OK’ transition and type the following into the code pane. gTemp.Value >= SP_Preheating
)
Save and close the program editor.
3/4
T314-14 Exercise 14.1 - RevB
14.1.3.4 Test and Monitor a Sequence Online There are two methods of graphically displaying the status of the steps and transitions in a sequence.
) ) ) ) ) ) ) )
4/4
•
The online program editor of Control Builder gives a visual indication of the process and its values and also has blocking, disabling, reset and jump capabilities.
•
The ‘SFC Viewer’ is an aspect that is used for monitoring and is available to both the engineer and the operator.
Download to the controller, open the online program editor for ‘Tank’ then select the “Batch_Control” code pane. Start the batch process from the Reactor Display and observe the appearance of the SFC steps in the online editor as the sequence progresses. Verify that the preheating step works as expected. Select various transitions and action blocks (P1, N, P0) within various steps to observe the online changes in the code. With the ‘Control_Batch’ pane selected in the online editor, the ‘Tools’ menu has several online functions available. Experiment with the functionality of ‘Block Transition’, ‘Force Forward’, ‘Reset SFC’ and others in the list. Reset the SFC, start the batch process from the Reactor Display then open the SFC Viewer with the button on the display. (The SFC Viewer button only appears while the sequence is running). Observe the status of the sequence as the transitions are met. Select a step or transition and test the various states of the buttons that are available.
System 800xA training
Solution 14.1 Modifying a Sequence
14.1.1.1 Add a Step and Transition
)
)
In the Offline mode, open the program editor for ‘Tank’ and select the “Batch_Control” code pane.
Using the context menu of the ‘Start’ transition, insert a new step and transition.
‘S1’ and ‘Tr1’ have been added after ‘Start’.
1/7
T314-14 Solution 14.1 - RevB
)
2/7
Using the context menu of each, rename the new step ‘Preheating’ and the new transition ‘Preheating_OK’.
System 800xA training
14.1.1.2 Declare a Local Variable
)
Declare SP_Preheating as a local variable. - ‘Data Type’ = Real - ‘Attribute’ = Retain - ‘Initial Value’ = 22.0
14.1.1.3 Insert ST code for the Step and Transition
)
Select the ‘Preheating’ step and choose the “Preheating_P1” code pane.
)
Type the following ST code into the ‘Preheating_P1’ code pane. (* Set Temp Control SP to Preheating SP *) gTemp_SP := SP_Preheating; (* Start Auto Temp Control *) gTemp_Auto := True;
3/7
T314-14 Solution 14.1 - RevB
)
Select the ‘Preheating_OK’ transition and type the following into the code pane. gTemp.Value >= SP_Preheating
)
4/7
Save and close the program editor.
System 800xA training
14.1.1.4 Test and Monitor a Sequence Online
) )
) )
Download to the controller, open the online program editor for ‘Tank’ then select the “Batch_Control” code pane. Start the batch process from the Reactor Display and observe the appearance of the SFC steps in the online editor as the sequence progresses.
Verify that the preheating step works as expected. Select various transitions and action blocks (P1, N, P0) within various steps to observe the online changes in the code.
5/7
T314-14 Solution 14.1 - RevB
)
)
6/7
With the ‘Control_Batch’ pane selected in the online editor, the ‘Tools’ menu has several online functions available. Experiment with the functionality of ‘Block Transition’, ‘Force Forward’, ‘Reset SFC’ and others in the list.
Reset the SFC, start the batch process from the Reactor Display then open the SFC Viewer with the button on the display. (The SFC Viewer button only appears while the sequence is running).
System 800xA training
)
Observe the status of the sequence as the transitions are met.
)
Select a step or transition and test the various states of the buttons that are available.
7/7
System 800xA training
Chapter 15 Communications
TABLE OF CONTENTS Chapter 15 Communications ......................................................................................................................................................... 1 15.1 General Information........................................................................................................................................................... 2 15.1.1 Objectives ................................................................................................................................................................... 2 15.1.2 Legend ........................................................................................................................................................................ 2 15.2 MMS Communication between Applications.................................................................................................................... 3 15.2.1 General........................................................................................................................................................................ 3 15.2.2 MMS Communication Principle ................................................................................................................................. 3 15.2.3 Access Variables......................................................................................................................................................... 4 15.2.4 MMS Variable Rules .................................................................................................................................................. 5 15.2.5 Variable Attributes...................................................................................................................................................... 5 15.2.6 Reading Data from an Access Variable ...................................................................................................................... 6
1/7
T314-15 Communication - RevB
15.1 General Information 15.1.1 Objectives On completion of this chapter you will be able to: •
Describe the principle of MMS communication
•
Describe the use of access variables
15.1.2 Legend
2/7
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
15.2 MMS Communication between Applications 15.2.1 General MMS stands for Manufacturing Message Specification. It is the protocol used to communicate on the Control Network between applications and also to the connectivity server for the 800xA Aspect System. MMS supports transfer of simple and structured variables, program download and alarm handling. MMS is also used to define and make data available as Access variables. Generally the MMS communication between AC800M controllers should be limited if possible because it will use the controller’s CPU capacity.
15.2.2 MMS Communication Principle MMS communication handles communication between applications within one AC800M controller and between applications allocated to two controllers. The applications may exist in the same controller: Controller Application 1
Application 2
Or in different controllers on the control network:
Controller 1 Application 1
Controller 2 Application 2
Remember that in Control Builder Professional one application does not necessarily correspond to one control system. It is possible to execute two applications within the same controller. Even in this case though, we need to use MMS communication with Access Variables if we want exchange data between the two applications.
NOTE!
The MMS communication should be limited and not be used for a lot of data. For instance: don’t write an application in one controller and use the IOs of another controller for this application.
3/7
T314-15 Communication - RevB
15.2.3 Access Variables For communication between two Applications, Access variables are defined. An Access variable is a variable that is shared on the network. By sharing a local (or global) variable as an Access variable, it can be picked up by any system on the network, as long as the two systems in question share a common protocol, such as MMS, COMLI etc. Access Variables are defined in the Controller Hardware part of the Project Explorer:
Access variables are defined in a particular controller. There may be many Access variables defined. Such variables are mapped into variables existing in the applications running in that controller. This mapping is done in the Access Variable Editor.
Variable Name is a string
Path maps a variable in the application to the Access Variable
Controller
Access Variable
Application
Path to variable
Variable
The variable in the application which is mapped can be any variable existing anywhere in the whole application:
4/7
•
Variable in a program or Control Module
•
Variable (global or local) in the application
System 800xA training
15.2.4 MMS Variable Rules MMS variables can only be accessed by their name which is a string. The naming rules are defined in MMS rather than as part of Control Builder, therefore there are some differences in these rules compared to the standard naming rules for variables in programs etc. •
An MMS access variable name can be up to 32 characters long and contain letters, digits and the characters dollar ($) and underscore( _ ).
•
No spaces are permitted in the name of an MMS variable
•
MMS variable names are case sensitive, i.e is not the same variable as .
•
The access variable name cannot begin with a digit or the dollar ($) character.
•
The access variable may be mapped to any type of simple variable or (more importantly) to any type of structured variable.
•
A structured variable can have mixed data type components.
Each and every read or write operation from/to an access variable requires a transmission across the network. Therefore it makes sense to pack as much data into the Access variable as possible using a structured data type.
15.2.5 Variable Attributes By default Access variables are Read/Write. When the attribute field is empty then the variable is Read/Write. If you want to make the variable Read Only then set the attribute in the Access variable table to ‘ReadOnly’.
5/7
T314-15 Communication - RevB
15.2.6 Reading Data from an Access Variable Access variables are declared in the controller that acts as a server. The Access variable is in itself a reference to a variable in an application. This application acts as the server application for the Access variable. The client application has to be configured with at least one Connect function block and one Read or Write function block addressing the Access variable.
In the above diagram an access variable has been defined and mapped to a variable in the application called Application1. Now the objective is to read the values stored in it from Application2. This is done with Function Blocks instances placed in a program in Application2.
A minimum of two function blocks are required. •
Connect Function Block The purpose of this function block is to make the connection to the controller which holds the access variable (referred to as the Remote System or Partner)
•
Read Function Block The Read function block reads the values of the Access variable in the remote controller and transfers them into a local variable (Control Builder variable) in the application that is reading (Application2 above)
NOTE!
6/7
When using Function Designer, the Access variables and the MMS communication is generated automatically!
System 800xA training
Now we will see how Application2 can read the Access variable ‘Controller1_App1_Data’. This is a first simple example which reads the data cyclically.
7/7
System 800xA training
Chapter 16 Alarm and Events
TABLE OF CONTENTS Chapter 16 Alarm and Events........................................................................................................................................................ 1 16.1 General Information........................................................................................................................................................... 2 16.1.1 Objectives ................................................................................................................................................................... 2 16.1.2 Legend ........................................................................................................................................................................ 2 16.2 Alarm and Events .............................................................................................................................................................. 3 16.2.1 General........................................................................................................................................................................ 3 16.2.2 Data Flow.................................................................................................................................................................... 4 16.2.3 Transmission of Alarm Data....................................................................................................................................... 5 16.2.4 Alarms and Events in Control Logic........................................................................................................................... 6 16.3 Name Uploader.................................................................................................................................................................. 7 16.3.1 Problem Description ................................................................................................................................................... 7 16.3.2 Names and Description Texts ..................................................................................................................................... 8 16.3.3 How to Run the Name Uploader................................................................................................................................. 9 16.4 Alarm and Event Lists ..................................................................................................................................................... 11 16.4.1 Alarm List Configuration.......................................................................................................................................... 11
1 / 12
T314-16 Alarm and Events - RevB
16.1 General Information 16.1.1 Objectives On completion of this chapter you will be able to: •
Describe how alarms and events are distributed
•
Configure and modify alarm and event lists
•
Filter alarms and events
16.1.2 Legend
2 / 12
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
16.2 Alarm and Events 16.2.1 General Alarms and events are used to inform the operator of the status of processes and systems.
Events They give information regarding changes in the process state and other operational occurrences in the plant. •
Process events e.g. pressure in the reactor back to normal, etc.
•
Object events e.g. motor was set to manual mode, valve opened, PID-controller set point was changed, etc.
•
Alarms are also presented in the Event List
•
The Event List is the log book that indicates what happened in the plant
Alarms They are a subset of events that alert you to an abnormal process or system state. •
Process alarms e.g. pressure too high in a reactor, level too high in a tank, etc.
•
Object alarms e.g. motor temperature too high, etc.
•
Alarms need to be acknowledged
NOTE!
All alarms are events, but not all events are alarms.
In general an event is the transition of a Boolean variable from one state to another (False to True or True to False). In an alarm condition, the operator is able to monitor status changes of a certain signal. When such a signal changes value, it causes a change in the alarm condition. The alarm condition also changes if any of the following actions are carried out locally on an alarm: •
acknowledgement
•
disabling
•
enabling
3 / 12
T314-16 Alarm and Events - RevB
16.2.2 Data Flow An Alarm system is an important element in almost all modern operator interfaces to industrial plants. Alarms are signals announced to the operator by an audible sound, some form of visual indication, and/or with a message of some kind. The alarm indicates a problem and the purpose is to direct the operator’s attention towards plant conditions, so he can correct potentially dangerous situations in time.
Beep! Aspect Server
Beep! Workplaces (clients)
3
Client/server Network Connectivity Server Control Network Controllers
2 Field bus
1 Field devices
1. An alarm limit in the process is exceeded. See later in this section for how to create alarms in control logic. 2. A message is sent from the controller, via the OPC server (Connectivity Server), to the alarm (Aspect) server in the operator station. 3. The alarm is displayed on the Operator Workplace.
4 / 12
System 800xA training
16.2.3 Transmission of Alarm Data The data associated with an alarm must be transmitted up to the 800xA System and then on to the clients for inclusion in alarm lists etc. Similarly, operator acknowledgement must be transmitted back down from the client to the controller. NOTE!
Thus alarm handling involves two way data exchange.
Considering the transmission of an alarm up to the client, a simplified diagram is shown below: The first link in the chain is the MMS Server; it handles the subscription to alarms in one or more controllers on the control network. Client Application: Alarm List Alarm and Event Server
OPC Server
MMS Server
Controller 1
Controller 2
Controller n
The OPC Server is connected to the MMS Server. It is configured in the OPC Panel, in the Alarm and Event Tab:
5 / 12
T314-16 Alarm and Events - RevB
16.2.4 Alarms and Events in Control Logic Alarm and event handling requires time synchronization, in order for time stamps to be reliable when trying to analyze a sequence of events. When an alarm is generated it is time stamped in the controller in which the detector is executing. Time stamping is done to a resolution of 1 ms.
AlarmEventLib Process alarms are generated by functions blocks or control modules which are defined in AlarmEventLib. These modules will generate an alarm to the OPC server on the rising edge of a boolean input. Alarm text is configured here along with severity (priority).
These are placed in the application within the objects that require alarm monitoring. For example the ValveUniM is defined with an Alarm handling module within it. The SimpleEventDetector function block type is also located in the AlarmEventLib. It can be used to generate an event on the rising edge of a boolean input. Settings for severity and class are provided.
6 / 12
System 800xA training
16.3 Name Uploader There are two different name aspects in Plant Explorer for representing a control object name. The first is the Control Builder Name (CBName) aspect, which always is synchronized with the present name in Project Explorer, and therefore always follows IEC 61131-3 naming conventions. The second is the Name aspect, which contains the corresponding aspect object name in Plant Explorer.
Name uploading can be used to secure unique names for control objects that are embedded in type solutions. NOTE!
If there are no unique names, the object name in an alarm list will be presented with a GUID number!
16.3.1 Problem Description When a function block type or control module type is used to create an object, only the top-level of the type is assigned a new and unique name.
Control Builder
Engineering Workplace
Libraries
Object Type Structure
Valve Name
Valve Tank Tank
Name Valve1 (type “Valve”) Valve1 Relative name
Control Builder Applications myTank Tank Valve1 Valve
In the example above, the tank contains one or more valves created from other control module object types. When the instance is created it must be given a name such as Valve1. When the Tank control module object type is instantiated several times in the application it will also be possible to name the instance e.g. myTank but the valve will still have the same name! NOTE!
The valve can therefore not be identified by a unique name and have its own faceplate.
7 / 12
T314-16 Alarm and Events - RevB
The Name Uploader tool solves this problem by going through all objects further down in the Control Structure, looking for Name properties. The Name Uploader then fetches the names via the OPC server so that each object has a system-unique name.
16.3.2 Names and Description Texts If there is more than one instance of the Tank type, it will result in equal faceplates for the valves below these instances. The solution is entering appropriate strings for the name and description variables on the Control Modules. NOTE!
For the Name Uploader to work, all objects must have a Name and a Description parameter.
Control Builder
Engineering Workplace
Applications
Control Structure
myTank Tank Valve1 Valve
Control Structure before Name Upload
Variables Name = V047 Description = Text Variables Name = P01 Description = Text
Control Structure after Name Upload
After running the Name Uploader this will result in unique name and description in the name aspect on the Control Structure instances.
8 / 12
System 800xA training
16.3.3 How to Run the Name Uploader To start a Name Upload for an application: 1. In the Control Structure, select your application and click on the Name Uploader aspect. 2. Click “Start Upload”.
3. Verify the name changes in the Control Structure. NOTE!
The Name Uploader aspect is by default placed on all control networks and on all applications.
9 / 12
T314-16 Alarm and Events - RevB
10 / 12
System 800xA training
16.4 Alarm and Event Lists Alarm and Event list aspects may be placed in any structure and configured to list the Alarms for that object or else that object and its children. Alarms and Events may be passed up the hierarchy to a ‘collector’ list near the top. Typically an Alarm / Event aspect is placed in the Functional Structure. Only in this structure you can use the filter options in an efficient way. Anyway, you can place the aspect in the Control Structure as well. In this way it is easy to have as many alarm lists as you like, and to arrange for the alarms in each list to be organized.
16.4.1 Alarm List Configuration The Alarm and Event List aspect have two views - the Main View and the Config View. Use the Config View to set up the association of the list to a selected configuration aspect and what elements are to be displayed on the list. The Alarm and Event list aspect base on a template used in the Library Structure. The option Local will allow you to set all the template settings locally at your Alarm / Event aspect.
Define an alarm filter in the Alarm filter area: •
All alarms Show alarms and events for all objects in the Aspect System.
•
Object Alarms Show the alarms and events related to the object the Alarm List aspect belongs to.
•
Object and descendents Show the alarms and events related to the object the Alarm List aspect belongs to and to all its descendents independent of structure.
•
Object and descendents in structure Show the alarms and events related to the object the Alarm List aspect belongs to and to all its descendents in the selected structure. NOTE!
Using this option increases CPU load.
11 / 12
T314-16 Alarm and Events - RevB
Additional Settings The Config View of an Alarm / Event aspects offers some additional settings. •
List Title The list title name is displayed in the Alarm Band of the operator workplace.
•
Play Alarm Sounds For getting knowledge about new alarms by a sound. This sound is defined in the alarm template
•
Show Tool Bar Enables the tool bar in the Main View of the Alarm / Event aspect.
If adding an Alarm Line, uncheck the Show Tool Bar box, since it is too large to fit into the Alarm Line area.
12 / 12
System 800xA training
Exercise 16.1 Filtering Alarms and Events
16.1.1 Goals The Library Structure contains several alarm and event configuration templates. These templates are used to define the content and format of alarm and event list aspects that are typically found in the Functional, Workplace and Control Structures. Examine one of these configuration templates and change the configuration of an alarm and an event list aspect. The ‘Sxx_LSH1’ and ‘Sxx_LSL1’ alarms will be used. Examine how the configuration of an alarm list and the organization of objects in a structure affect what appears on an alarm list.
16.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/3
T314-16 Exercise 16.1 - RevB
16.1.3 Exercise Steps 16.1.3.1 Examine an Alarm List Configuration
) ) ) )
Navigate to the Library Structure in the Engineering Workplace. Expand the ‘Alarm & Event Configurations’ object then select the ‘Sxx Alarm List’ object under ‘Sxx Configurations’. Select its Alarm and Event List Configuration aspect to reveal the configuration of this alarm list template. Determine which tab (Sort, Priorities, Column, Date/Time, Filter) is used to define the following. •
Type of messages: Events or alarms?
•
Number of priority levels?
•
Position and size of columns?
•
Color of text and background?
•
Number of viewable messages?
•
Will alarms appear grouped chronologically or by some other criteria?
16.1.3.2 Filter an Alarm List The ‘Alarm Filter’ in the ‘Config View’ of the alarm and event list aspect plus the physical location of an object in the object tree of a given structure will define which alarms or events appear on the list.
) ) ) )
2/3
In the Functional Structure, there is an alarm list aspect on the ‘Sxx_Plant’ object and one on the ‘Sxx_Reactor’ object. Open both of these lists. Trigger the Sxx_LSH1 alarm. Does the alarm line appear in both lists? Explain. Insert the Sxx_LSH1 object under the ‘Sxx_LevelControl’ object in the Functional Structure. Generate an alarm for Sxx_LSH1 again. Monitoring the same two lists, did the alarm appear on the same list(s) as the previous step? Explain. Open the ‘Config View’ of the Sxx_Reactor alarm list. Instead of using the ‘Insert Object’ from the previous step, what could have been changed in the ‘Alarm Filter’ to have the Sxx_LSH1 alarm appear on this list?
System 800xA training
16.1.3.3 Create an Event List
) ) ) )
Select the Sxx_Exercises object then add an ‘Alarm and Event List’ aspect. Name the new aspect ‘Event List’. Open the ‘Config View’ of this aspect then select a configuration of the ‘Common Event List’. Use one of the two methods (‘Insert Object’ or change ‘Alarm Filter’) to have ‘Sxx_LSL1’ events appear in this list. Verify that ‘Sxx_LSL1’ event messages are on this list.
3/3
System 800xA training
Solution 16.1 Filtering Alarms and Events
16.1.1.1 Examine an Alarm List Configuration
) )
)
Navigate to the Library Structure in the Engineering Workplace. Expand the ‘Alarm & Event Configurations’ object then select the ‘Sxx Alarm List’ object under ‘Sxx Configurations’.
Select its Alarm and Event List Configuration aspect to reveal the configuration of this alarm list template.
1/7
T314-16 Solution 16.1 - RevB
)
2/7
Determine which tab (Sort, Priorities, Column, Date/Time, Filter) is used to define the following. •
Type of messages: Events or alarms? Filter
•
Number of priority levels? Priorities
•
Position and size of columns? Columns
System 800xA training
•
Color of text and background? Priorities
•
Number of viewable messages? Columns
•
Will alarms appear grouped chronologically or by some other criteria? Sort
3/7
T314-16 Solution 16.1 - RevB
16.1.1.2 Filter an Alarm List
)
)
In the Functional Structure, there is an alarm list aspect on the ‘Sxx_Plant’ object and one on the ‘Sxx_Reactor’ object. Open both of these lists.
Trigger the Sxx_LSH1 alarm. Does the alarm line appear in both lists? Explain. Sxx_LSH1 high level alarm appears in the Sxx_Plant alarm list because its ‘Config View’ is set for ‘All Alarms’.
4/7
System 800xA training
It does not appear on the Sxx_Reactor alarm list because its ‘Config View’ has a filter set that will only display alarms associated with this ‘Object and descendants’. Sxx_LSH1 is not under the object tree of Sxx_Reactor.
)
Insert the Sxx_LSH1 object under the ‘Sxx_LevelControl’ object in the Functional Structure. Generate an alarm for Sxx_LSH1 again. Monitoring the same two lists, did the alarm appear on the same list(s) as the previous step? Explain.
5/7
T314-16 Solution 16.1 - RevB
After inserting Sxx_LSH1, it becomes a descendant of Sxx_Reactor and will now be displayed on its alarm list also.
)
Open the ‘Config View’ of the Sxx_Reactor alarm list. Instead of using the ‘Insert Object’ from the previous step, what could have been changed in the ‘Alarm Filter’ to have the Sxx_LSH1 alarm appear on this list? Changing the ‘Alarm Filter’ to ‘All Alarms’ would permit the display of Sxx_LSH1 alarms. It would also permit many other alarms to appear. The position of objects in the structure can be used for specific alarm filtering.
16.1.1.3 Create an Event List
)
)
6/7
Select the Sxx_Exercises object then add an ‘Alarm and Event List’ aspect. Name the new aspect ‘Event List’.
Open the ‘Config View’ of this aspect then select a configuration of the ‘Common Event List’.
System 800xA training
)
Use one of the two methods (‘Insert Object’ or change ‘Alarm Filter’) to have ‘Sxx_LSL1’ events appear in this list.
A filter of ‘All alarms’ was used for this example.
)
Verify that ‘Sxx_LSL1’ event messages are on this list.
7/7
System 800xA training
Chapter 17 Graphic Displays
TABLE OF CONTENTS Chapter 17 Graphic Displays......................................................................................................................................................... 1 17.1 General Information........................................................................................................................................................... 2 17.1.1 Objectives ................................................................................................................................................................... 2 17.1.2 Legend ........................................................................................................................................................................ 2 17.2 Graphic Displays ............................................................................................................................................................... 3 17.2.1 Overview..................................................................................................................................................................... 3 17.2.2 Graphic Aspects.......................................................................................................................................................... 3 17.2.3 How to Create a Graphic Display Aspect ................................................................................................................... 5 17.2.4 Edit a Graphic Display Aspect.................................................................................................................................... 6 17.3 Graphics Builder................................................................................................................................................................ 7 17.3.1 Save and Deploy ......................................................................................................................................................... 8 17.3.2 How to Change the Grid Size ..................................................................................................................................... 9 17.3.3 Setting the Graphic Builder Options......................................................................................................................... 10 17.4 Graphics Builder Libraries............................................................................................................................................... 11 17.4.1 How to Add Libraries ............................................................................................................................................... 12 17.5 Building Graphic Displays............................................................................................................................................... 13 17.5.1 How to Add Static Components with the ToolBox .................................................................................................. 13 17.5.2 Using Display Properties .......................................................................................................................................... 14 17.5.3 Example: Text Box Handling ................................................................................................................................... 14 17.5.4 Adding Extra Colors to VB Color Palette................................................................................................................. 15 17.5.5 How to Add Dynamic Components with the Element Browser ............................................................................... 16 17.5.6 Drag & Drop Graphic Dynamic Components........................................................................................................... 17 17.5.7 Graphic Builder Subelements ................................................................................................................................... 18 17.5.8 Allow More than 256 Elements in VB...................................................................................................................... 19 17.6 Symbol Factory Controls ................................................................................................................................................. 21 17.6.1 How to Add an ActiveX Control .............................................................................................................................. 21 17.6.2 Animation ................................................................................................................................................................. 23 17.6.3 Expression Builder.................................................................................................................................................... 24 17.7 Display Navigation .......................................................................................................................................................... 27 17.7.1 Aspect Link............................................................................................................................................................... 27 17.7.2 AspectViewCt........................................................................................................................................................... 28
1 / 28
T314-17 Graphic Displays - RevB
17.1 General Information 17.1.1 Objectives On completion of this chapter you will be able to: •
Build and handle graphic displays
•
Identify available static and dynamic graphic elements
•
Use predefined graphic elements
•
Define navigation links
17.1.2 Legend < > Indicates a key name. |
2 / 28
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
17.2 Graphic Displays 17.2.1 Overview Process Graphics consists of a graphic run-time viewer included in the 800xA System. It also includes the software option Graphics Builder which is based on Microsoft Visual Basic. Visual Basic skills are by no means required to use Graphics Builder, but it could very well extend its possibilities. When we model our plant we normally build up the Functional structure from the process functional point of view. Since the operator works with the plant in a functional way it is natural to create the operator displays in this structure. The next natural step is to create graphic displays and use as many graphic elements as possible of existing process objects ( e.g. Bargraph of a measuring object ). These graphic elements are already connected to their dedicated Control Connection aspect and OPC properties.
17.2.2 Graphic Aspects For each graphic aspect, an ActiveX control is implemented using Visual Basic. Graphic Aspects can be added virtually anywhere in the Aspect directory Structure hierarchy. There are three main aspects types that are used and are covered on this course: •
The Graphic Element Aspect Graphic Elements are building blocks that are used when configuring graphic displays, or other graphic elements such as faceplates. Graphic Elements are typically created in an object type with the intent that the element is reused many times.
Proper use of Graphical element aspects can greatly reduce engineering costs and time to build. NOTE!
Visual Basic only allows 256 graphic elements /Active X controls in a graphic display. The use of Control arrays solves this problem (see later in this chapter).
3 / 28
T314-17 Graphic Displays - RevB
•
The Graphic Display Aspect Graphic Displays are intended to be handled and invoked directly by the process operator. Effectively the HMI is built up with many Graphic Display aspects, and then during operations the user navigates from one display to another.
•
The Faceplate Element Aspect This category is used exclusively for building display graphics inside Faceplates. Within the central region of a Faceplate, a faceplate element may be presented to the operator.
4 / 28
System 800xA training
17.2.3 How to Create a Graphic Display Aspect 1. Select the object where you want to place the aspect.
Graphic Display aspects are generally placed in the Functional Structure. 2. Create a Graphic Display Aspect buy opening the context menu, selecting the Graphic Display aspect and defining a unique name.
5 / 28
T314-17 Graphic Displays - RevB
17.2.4 Edit a Graphic Display Aspect The first time the graphic display is previewed it will give you the possibility to edit the display.
When the display has been edited and deployed it will show the display in the preview window, and then the edit functionality is selected from the context menu.
When a graphic has been created, it needs to be deployed. Deploying a graphics compiles it and registers it in the system as an ActiveX component in an OCX-file. There is no need to know about ActiveX or COM to create process graphics.
6 / 28
System 800xA training
17.3 Graphics Builder Graphics Builder is a tool, which enables configuration of graphic aspects, for example graphic displays, graphic elements and faceplate elements. The Graphics Builder application opens with many of its features enabled. Some of the features are part of Visual Basic and some of them are unique to Graphics Builder.
Deploy
Expression Builder
ToolBox
Element Browser
Drawing Area
Properties Window
Graphics Builder is based on Visual Basic 6.0 but provides features to enable display design easy and fast. The toolboxes are extended with a large number of components suitable for process automation. While Visual Basic is a full-fledged programming application, the person responsible for configuring graphic displays or graphic elements is not required to be a programmer or have a Visual Basic background.
7 / 28
T314-17 Graphic Displays - RevB
The following features are specific for Graphics Builder: •
An Expression Builder that allows you to assign expressions, that is to specify the relationship between the process data and the data that is to be displayed. e.g. If LT1.Value > 100 then Color=Red else Color=Blue
•
Graphic Libraries allows Primitives and Sub-elements to be added to the toolbox.
•
An Element Browser which is used to browse to an object in the Control Structure and select the appropriate view of that object to be displayed on the graphics. It automatically makes the correct connections to make the representation of the object dynamic.
•
A Deploy function that stores the graphic aspects and enables viewing of process displays by process operators. Before a graphic element is deployed, it can only be seen in the Graphics Builder.
•
Use of Logical Colors e.g. BackgroundColor1, AlarmColor2 etc.
The menu options have been modified from standard Visual Basic to make the usage easy, and to adapt the platform for use within ABB’s Aspect Object technology.
17.3.1 Save and Deploy As previously mentioned, the deploy functionality compiles the display and creates an OCX ActiveX file. This file is then distributed around the PC’s in the system where required for use by the Operators. NOTE!
If a graphic aspect is not deployed, it is only visible in the Graphics Builder.
Deploy the graphic display by selecting File | Deploy or clicking on the “Deploy” button. Save the graphic display by selecting File | Save or clicking on the “Save” button.
NOTE!
8 / 28
When you deploy, the graphic is automatically saved.
System 800xA training
17.3.2 How to Change the Grid Size Change grid size to suitable size, suggested size is 60 twips. 1. Select Tools | Options.
2. Select the tab “General” and set the grid width and height. Select also the option “Align Controls to Grid”.
3. Press “OK”.
9 / 28
T314-17 Graphic Displays - RevB
17.3.3 Setting the Graphic Builder Options You can access the Graphics Builder Options by:
The Live Data option enables you to display dynamic data in graphic elements when you are using graphic aspects in design mode. NOTE!
Live Data results in a higher CPU usage, which in turn leads to slower operation of Graphics Builder.
The Advanced Usermode option gives access to more menus and functions in Visual Basic. If Advanced Usermode is not selected, some menus or menu items are dimmed, which means they are unavailable. The Debug checkbox gives access to an additional debug menu.
10 / 28
System 800xA training
17.4 Graphics Builder Libraries Graphics Builder has its own set of Subelements and Primitives which are grouped together in different Graphic Libraries (Toolbox).
This is Visual Basic’s own built in controls. They are always included in the toolbox.
Symbol Factory Controls is a 3rd party ActiveX program licensed exclusively for ABB.
These are additional primitive elements provided by ABB.
It provides access to both static and dynamic symbols common to the process control industry.
This section contains additional primitive elements that are detailed in Appendix A of the reference documentation.
Standard Symbols is a toolbox set of many typical and universal symbols.
This section contains a 3D library of basic shapes that can be used to create more complex forms.
This section contains five additional graphic elements that are detailed in Appendix A of the reference documentation.
This section contains additional subelements and property elements that are detailed in Appendix A of the reference documentation.
11 / 28
T314-17 Graphic Displays - RevB
17.4.1 How to Add Libraries To add libraries to the toolbox: 1. Open Tools | Graphic Libraries.
2. Select by checking one or more of the listed Libraries.
Click on the “Apply” or “OK” button. The selected libraries are presented under their respective button in the toolbox.
12 / 28
System 800xA training
17.5 Building Graphic Displays 17.5.1 How to Add Static Components with the ToolBox In principle the usage of VB is the same for all libraries. If you need to use a component in the toolbox you select the component and draw the area in the display where it should be located. 1. Click the icon for the desired element (ActiveX control) in the toolbox. The cursor changes to a cross hair in the Graphic Builder workspace. Select the object and draw it in the display.
2. Place the cursor at any point in Graphics Builder’s drawing workspace. 3. Click and hold the left mouse button. 4. Drag the cursor diagonally to the opposite corner of the bounding rectangle. 5. Release the mouse button. The selected element now appears inside a bounding rectangle in the workspace.
Alternatively double click an icon in the ToolBox to add an element to the Graphics Builder’s drawing workspace and then resize it. The component can then be resized or moved.
Resize handle
Reshape
13 / 28
T314-17 Graphic Displays - RevB
17.5.2 Using Display Properties All components placed in the display have properties. These properties can be modified in the property window and in this way it is possible to change the look and manipulate control.
Properties can also be connected to dynamic values to indicate status of a process object. If you create a simple process graphic display this is the only knowledge needed to create the static parts.
17.5.3 Example: Text Box Handling 1. Click on the text icon (AdvantText) and draw a rectangle of the required size.
Select the object and draw it in the display.
2. In the Properties window click on the “Text” field.
14 / 28
System 800xA training
3. Format the text by selecting the text box. Open the “Font” dialog in the Properties Window.
4. Change the background color by opening the “FillColor” dialog (palette).
17.5.4 Adding Extra Colors to VB Color Palette In the Properties Window choose a Color property to add an extra color to, and right click on an empty color in the color palette.
Adjust the Color and click “Add”
15 / 28
T314-17 Graphic Displays - RevB
17.5.5 How to Add Dynamic Components with the Element Browser The element browser allows dynamic information to be added to a graphic display with the minimum amount of effort. When using the element browser, connections to the dynamic information are made automatically, and require no further effort. Only in special cases there is a need for other tools.
1. Select Tools | Element Browser to open the Element Browser tool.
2. Select the object either in the Control Structure or Functional Structure.
3. When an object has been selected. The Element Browser will list all reusable graphic elements in a list.
4. Select and add the graphic in the display.
16 / 28
System 800xA training
17.5.6 Drag & Drop Graphic Dynamic Components Instead of using the Element Browser, dynamic components can be inserted using drag & drop.
Select the object either in the Control Structure or Functional Structure.
Drag and drop the aspect (graphic element) into the drawing area.
17 / 28
T314-17 Graphic Displays - RevB
17.5.7 Graphic Builder Subelements If you intend to show something dynamic in the display that is not available on the process objects this can be done in a different way. Process objects in the Control Structure have either an aspect “Control Module” or “Function Block” that exposes properties (often referred as OPC-properties).
Functional Structure
OPC Properties:
Valve1 Control Module Graphic Elements
Value Blocked Alarm etc…
Property browsing dialog In the toolbox Subelements you can find a number of components that are easy to use for the purpose of showing dynamic process values. All these components have a property category ObjectPropertyRef. These properties have a built in property browsing dialog where you easily can find the property you want to connect.
By selecting the correct property and deploy the display you can get a dynamic value in the display.
18 / 28
System 800xA training
17.5.8 Allow More than 256 Elements in VB When creating (dragging or otherwise) graphic elements or ActiveX controls into the graphic display, an error message “Only 256 different elements are allowed in VB” may be displayed. When the graphic element or ActiveX control is added from the Toolbox, the error message: “Reached limit: cannot create any more controls for this form is displayed”.
When the graphic element or ActiveX control is added from the Element Browser, the error message: “AddControlToDisplay Failed to add control” is displayed.
The solution to this problem is the use of control arrays. A control array only counts as a single element for the purpose of Visual Basic, whilst it can in fact contain many elements that are the same.
An example may be this: imagine 5 buttons to be drawn on a graphic display. If they are instantiated individually they count as 5. If they are instantiated as part of a control array they count as 1. Simply give every new button the same name as the first button. (This is done in the Name field in VB Properties window.)
The “Do you wish to create a control array” dialog box is displayed once. Click “Yes” to confirm. Now all buttons will count as one, they will work properly due to the fact that they have their own index. NOTE!
Another way of building control arrays is with the copy and paste command. This also results in the same prompt as shown above.
A general rule can therefore be applied: when the prompt for a control array is shown, always click YES and then the numbers of elements shown on a single display can be increased.
19 / 28
T314-17 Graphic Displays - RevB
20 / 28
System 800xA training
17.6 Symbol Factory Controls The toolbox Symbol Factory Controls contains a large set of ActiveX Controls which can be used in graphics. The SFStandard control allows the user to select between many different symbols from several categories.
17.6.1 How to Add an ActiveX Control 1. Click on the SFStandard (pump) icon.
2. Create a new SFStandard symbol on the User Control area.
3. To open the property pages please open the Context Menu for the SFStandard graphic and select Properties.
21 / 28
T314-17 Graphic Displays - RevB
4. Select a category and then one of the available graphic symbols.
5. Select some basic features and colors of the ActiveX symbol that was chosen from the “Style” tab. Users should select the Help button at the lower right corner of the Property Pages for documentation of these ActiveX features.
22 / 28
System 800xA training
17.6.2 Animation From the “Animation” tab, the user may select no animation, or animation based upon analog or discrete interaction. In the example below, you may select up to five bands of animation based upon five discrete values. Only one band is displayed at a given time. If more than one discrete value evaluates to True, the lowest numbered Discrete Value property will be active. If all of the Discrete Value properties are False, then the symbol will be displayed in its Normal state as defined by the Style Tab.
If the user wants to display a particular animation, then they simply select the Graphics Builder Properties Window while the symbol is highlighted. Each of the Discrete Values has a pull-down menu to select True/False.
Typically, the user wants to display a particular animation based upon interaction with a live discrete value from the process control system. To do this, we must utilize a feature known as Expression Builder that is introduced in the next section.
23 / 28
T314-17 Graphic Displays - RevB
17.6.3 Expression Builder Expression Builder is used to subscribe for and calculate data, which will be used for presentation in graphic aspects. In other words, create dynamic indication based upon values coming from the Tag data in your process control system. The Expression Builder can be opened from the View menu of the Graphics Builder or using the corresponding shortcut button.
Use the Expression Builder to assign “expressions” to properties of elements in the configured graphic aspect.
NOTE!
24 / 28
To set properties for a certain element, it needs to be selected first.
System 800xA training
17.6.3.1 Expression Builder Sections The top half shows all of the control properties of the selected element in the left most column. The right column will display any expressions that assigned to those properties.
Selected Element
Control Properties
Object Properties
Subproperties
Object Browser
The bottom half contains five tabs to browse to select entities, for example object property references or logical colors.
There is a browse button on the Object Property tab which works in the same way as the element browser. You can navigate to any object in any structure and select it. When an object is selected in the Object pane, all the signals available within that object are displayed in this pane. Signals available are all variables declared in Control Builder which exist inside that object. The subproperty by default is “Value”. The other subproperties all return data quality information regarding the transfer of data.
25 / 28
T314-17 Graphic Displays - RevB
The Color tab enables you to choose colors from a logical color set. Select the drop down menu and choose a color set and then select a color from the list below.
17.6.3.2 Connect to a Property As a result of our selections above, we are then able to choose which property of the object that we want to use for the dynamic data interaction. When we select the Insert button, the resulting Expression is automatically inserted into the Property window that was previously highlighted.
When you have finished assigning Expression to the Properties of the selected element, simply close the Expression Builder window. If there are no further modifications to the Graphic Display, you may Save and Deploy the file.
26 / 28
System 800xA training
17.7 Display Navigation 17.7.1 Aspect Link The Aspect Link can be placed in a graphic display and is used to open another aspect. You need an Aspect Link if you want to open an aspect from a parent object or an aspect from an object which is located in another structure, e.g. Location Structure.
By clicking on the property “Aspect”, you can select any aspect in the system.
NOTE!
In Plant Explorer the aspect call up will always be shown as overlap, since the plant explorer preview window do not allow replace mode.
27 / 28
T314-17 Graphic Displays - RevB
17.7.2 AspectViewCt The AspectViewCt element is intended to be used as a host to any aspect you might want to display in a graphical view. This could for an example be a trend curve or an alarm list.
An aspect hosted in an AspectViewCt is fully functional and its graphical interface can be accessed as usual.
28 / 28
System 800xA training
Exercise 17.1 Modifying a Process Display
17.1.1 Goals The graphics editor will be used to incorporate several modifications to the ‘Sxx Process Display’. Predefined graphic elements will be added as alarm indicators for ‘Sxx_LSH1’, ‘Sxx_LSL1’, and ‘Sxx_FT1_Alarms_Lev2’. The temperature in DegK will be displayed in a numeric readout, animation characteristics of a standard symbol will be used to indicate a tank overflow, an additional entry for the preheating step will be added to the batch process list and text will be inserted as needed.
17.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/6
T314-17 Exercise 17.1 - RevB
17.1.3 Exercise Steps 17.1.3.1 Insert Predefined Elements Dynamic values in a display are usually presented using a predefined graphic element that had been created for a specific object type (e.g. SignalInBool). This makes the graphic element available for all instances of that type. These elements are inserted into a display by using the ‘Element Browser’ within the graphics editor. NOTE!
) )
) ) ) ) ) 2/6
While using the graphics editor, save every few minutes to avoid losing any work!
Navigate to the Functional Structure, select the Sxx_Reactor object then select Edit from the context menu of the Sxx Process Display aspect. Close the ‘Expression Builder’ window then resize and reposition the ‘Element Browser’ similar to this picture.
Press the “Browse” button in the Element Browser then navigate to the Control Structure and locate Sxx_LSH1. Select it and press “OK”. Repeat the previous step for Sxx_LSL1. In the Element Browser select Sxx_LSH1 in the left pane, then select the ‘Display Element Reduced Icon’ from the right pane then press the “Add Element” button. Resize and position this element as a visual indicator for the H1 limit on the tank. In the Element Browser select Sxx_LSL1, then the ‘Display Element Simple Icon’ then press the “Add Element” button.
System 800xA training
) ) )
Resize and position this element as a visual indicator for the L1 limit on the tank. Select the Sxx_LSL1 element on the display then change the ‘Icon Type’ entry in the Property Box to ‘1- General Icon’. Use the Element Browser to add the ‘Display Element Reduced Icon’ for the ‘Sxx_FT1_Alarms’ object. The left square in the horizontal bar of the element will flash red during a high or low inflow alarm.
17.1.3.2 Add Text ‘TextBoxes’ and ‘Label’ elements are the primary methods of inserting text into a display. To maintain the same properties (font size & style, background style & color) of other text elements on the display, select an existing text element then use its context menu to copy and paste. The ‘Text’ or ‘Caption’ property may then be edited.
) ) )
Select an existing Label element on the display (e.g. LEVEL), copy then paste. Edit the ‘Caption’ property entry so that it reads H1. Position it near the H1 indicator then repeat the copy, paste, edit, and position steps for L1.
17.1.3.3 Insert Primitive Elements The temperature value in DegK will not have any predefined graphical elements. It was declared as a variable in the Sxx_Additions program and program objects do not have predefined graphical elements. As a result, it will be necessary to configure a generic numeric readout element and to use a ‘TextBox’ as an identifier for the element.
) ) ) )
Use the ‘AdvantNumeric’ element from the ‘Graphic Primitives’ tool category to insert the element on the display. Select the newly created ‘AdvantNumeric’ element on the display then open the ‘Expression Builder’ from the toolbar. Click in the ‘Value’ property field then use the “Browse” button to select Sxx_Additions from the Control Structure. Select ‘Sxx_Additions’ from the “Object Property” tab (lower left pane) of the Expression Builder. NOTE!
The lower right pane will now display all of the associated properties.
3/6
T314-17 Exercise 17.1 - RevB
)
Use the right pane to find ‘Temp_K – Program’. Select it then press the “Insert” button near the bottom of the window. NOTE!
) )
4/6
The absolute path for the Temp_K variable should now appear in the ‘Value’ property field in the top pane.
Close the ‘Expression Builder’. Deploy not have a syntax error.
the process display to be sure that you do
To describe the value temperature value, insert a ‘TextBox’ element from the ‘General’ category then use the pictures below to modify its ‘Alignment’, ‘Appearance’, ‘BackColor’, ‘Font’, and ‘Text’ properties.
System 800xA training
17.1.3.4 Use the Symbol Factory A ‘DANGER’ sign near the top of the tank will blink to indicate that the tank level has reached an overflow (H2) state. Its appearance and animation are a part of the Symbol Factory – a standard library of symbols for graphics.
) ) )
Select the ‘SFStandard’ element from the Symbol Factory Control category then insert the pump symbol onto the display by clicking and dragging the mouse. Right click on this newly created pump symbol on the display and select Properties.. Select the DANGER sign from the ‘Safety’ category. Select the ‘Stretch’ box in the “Style” tab and configure the “Animation” tab as indicated below.
This configures the sign to blink when Discrete Signal #1 (Overflow H2) is True.
) ) ) ) )
Apply the changes then resize and position the element appropriately. Click on the DANGER sign in the display, then open the Expression Builder. Assign the ‘gOverflow.Value’ signal to ‘DiscreteValue1’. [Be certain to insert this entry from the selections in the left and right lower panes]. [Optional] Assign the same signal to the ‘Visible’ property so the DANGER sign will not be visible when H2 is not set. Close the ‘Expression Builder’ and deploy the process display to be sure that you do not have a syntax error.
5/6
T314-17 Exercise 17.1 - RevB
17.1.3.5 Add an Indicator for the Preheating Step An indicator for the preheating step in the Batch process will be added to the list on this display by copying, pasting then modifying an existing indicator and text string.
)
) ) ) ) ) )
Draw a box (rubber-band) around the elements from FILLING through VIEW SEQUENCE to select them all at the same time.
Press the two times to move the entire grouping down. Draw a box around FILLING and its indicator box then press to copy. Press to paste and move the pasted elements into position above the existing FILLING line. Select the top FILLING element then edit the property box so that it now reads PREHEATING. Select the indicator box for any of the existing lines (e.g. HEATING) then open the Expression Builder. Use Expression Builder’s ‘Copy’ button to copy the entire ‘iif’ statement in the ‘FillColor’ field. Paste this statement into the ‘FillColor’ field for the PREHEATING indicator box. Modify this statement by deleting Tank:Program:Heating.X then replacing it with Tank:Program:Preheating.X NOTE!
) ) ) ) 6/6
This cannot be typed into the statement. It must be selected from the “Object Property” tabs!
‘Save’ then ‘Deploy’ the graphic. Close the graphics editor then open Sxx Process Display (Reactor Display) in the Sxx_Workplace. Test the temperature value and preheating indicator by running the Batch process. Monitor the low tank level and inflow alarms during the Batch. Generate a tank overflow to test the H1 and H2 alarm indicators.
System 800xA training
Solution 17.1 Modifying a Process Display
17.1.1.1 Insert Predefined Elements
)
)
Navigate to the Functional Structure, select the Sxx_Reactor object then select Edit from the context menu of the Sxx Process Display aspect.
Close the ‘Expression Builder’ window then resize and reposition the ‘Element Browser’ similar to this picture.
1 / 13
T314-17 Solution 17.1 - RevB
)
)
)
2 / 13
Press the “Browse” button in the Element Browser then navigate to the Control Structure and locate Sxx_LSH1. Select it and press “OK”.
Repeat the previous step for Sxx_LSL1.
In the Element Browser select Sxx_LSH1 in the left pane, then select the ‘Display Element Reduced Icon’ from the right pane then press the “Add Element” button.
System 800xA training
) )
) )
)
Resize and position this element as a visual indicator for the H1 limit on the tank. In the Element Browser select Sxx_LSL1, then the ‘Display Element Simple Icon’ then press the “Add Element” button.
Resize and position this element as a visual indicator for the L1 limit on the tank. Select the Sxx_LSL1 element on the display then change the ‘Icon Type’ entry in the Property Box to ‘1- General Icon’.
Use the Element Browser to add the ‘Display Element Reduced Icon’ for the ‘Sxx_FT1_Alarms’ object. The left square in the horizontal bar of the element will flash red during a high or low inflow alarm.
3 / 13
T314-17 Solution 17.1 - RevB
17.1.1.2 Add Text
) )
)
Select an existing Label element on the display (e.g. LEVEL), copy then paste. Edit the ‘Caption’ property entry so that it reads H1.
Position it near the H1 indicator then repeat the copy, paste, edit, and position steps for L1.
The example on the right shows a label element being used for the inflow alarms.
17.1.1.3 Insert Primitive Elements
) )
4 / 13
Use the ‘AdvantNumeric’ element from the ‘Graphic Primitives’ tool category to insert the element on the display. Select the newly created ‘AdvantNumeric’ element on the display then open the ‘Expression Builder’ from the toolbar.
System 800xA training
Please disregard the yellow DEGK box above the AdvantNumeric element.
)
Click in the ‘Value’ property field then use the “Browse” button to select Sxx_Additions from the Control Structure.
5 / 13
T314-17 Solution 17.1 - RevB
)
Select ‘Sxx_Additions’ from the “Object Property” tab (lower left pane) of the Expression Builder.
NOTE!
)
Use the right pane to find ‘Temp_K – Program’. Select it then press the “Insert” button near the bottom of the window. NOTE!
)
6 / 13
The lower right pane will now display all of the associated properties.
The absolute path for the Temp_K variable should now appear in the ‘Value’ property field in the top pane.
Close the ‘Expression Builder’. Deploy not have a syntax error.
the process display to be sure that you do
System 800xA training
)
To describe the value temperature value, insert a ‘TextBox’ element from the ‘General’ category then use the pictures below to modify its ‘Alignment’, ‘Appearance’, ‘BackColor’, ‘Font’, and ‘Text’ properties.
7 / 13
T314-17 Solution 17.1 - RevB
17.1.1.4 Use the Symbol Factory
)
)
)
Select the ‘SFStandard’ element from the Symbol Factory Control category then insert the pump symbol onto the display by clicking and dragging the mouse.
Right click on this newly created pump symbol on the display and select Properties.. Select the DANGER sign from the ‘Safety’ category.
Select the ‘Stretch’ box in the “Style” tab and configure the “Animation” tab as indicated below.
This configures the sign to blink when Discrete Signal #1 (Overflow H2) is True.
) )
8 / 13
Apply the changes then resize and position the element appropriately. Click on the DANGER sign in the display, then open the Expression Builder.
System 800xA training
) )
Assign the ‘gOverflow.Value’ signal to ‘DiscreteValue1’. [Be certain to insert this entry from the selections in the left and right lower panes]. [Optional] Assign the same signal to the ‘Visible’ property so the DANGER sign will not be visible when H2 is not set. Figure below shows both properties with values assigned. If the DANGER sign is to remain visible but not blinking when there is no overflow, then do not include the ‘Visible’ assignment.
)
Close the ‘Expression Builder’ and deploy the process display to be sure that you do not have a syntax error.
9 / 13
T314-17 Solution 17.1 - RevB
17.1.1.5 Add an Indicator for the Preheating Step
)
)
)
10 / 13
Draw a box (rubber-band) around the elements from FILLING through VIEW SEQUENCE to select them all at the same time.
Press the two times to move the entire grouping down.
Draw a box around FILLING and its indicator box then press to copy. Press to paste and move the pasted elements into position above the existing FILLING line.
System 800xA training
)
)
Select the top FILLING element then edit the property box so that it now reads PREHEATING.
Select the indicator box for any of the existing lines (e.g. HEATING) then open the Expression Builder.
11 / 13
T314-17 Solution 17.1 - RevB
)
)
Use Expression Builder’s ‘Copy’ button to copy the entire ‘iif’ statement in the ‘FillColor’ field. Paste this statement into the ‘FillColor’ field for the PREHEATING indicator box.
Modify this statement by deleting Tank:Program:Heating.X then replacing it with Tank:Program:Preheating.X
NOTE!
12 / 13
This cannot be typed into the statement. It must be selected from the “Object Property” tabs!
System 800xA training
) )
)
‘Save’ then ‘Deploy’ the graphic. Close the graphics editor then open Sxx Process Display (Reactor Display) in the Sxx_Workplace.
Test the temperature value and preheating indicator by running the Batch process. Monitor the low tank level and inflow alarms during the Batch. Preheating step true = Green Indicator box L1 true = Green center circle High or Low Inflow = Far left of the four squares will Blink Red.
)
Generate a tank overflow to test the H1 and H2 alarm indicators. H1 true = Blue indicator Overflow true = Blinking DANGER sign
13 / 13
System 800xA training
Exercise 17.2 Creating a Maintenance Display
17.2.1 Goals Navigating to the Functional Structure in the Engineering Workplace, a new graphic aspect on the Sxx_Exercises object will be created. The new display will contain an active Event list, a toggle button to force an input, a push button to reset the mixer cycle counter, and three graphic display elements to represent the Sxx_Extensions PID loop created in a previous lab.
17.2.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/3
T314-17 Exercise 17.2 - RevB
17.2.3 Exercise Steps 17.2.3.1 Insert Graphic Libraries The element categories in the graphics editor are not automatically populated. The first time a display is opened in the editor only the ‘General’ and ‘Graphic Primitives’ categories have elements. The other libraries of elements may be added as needed.
) ) ) ) )
Add a new Graphic Display aspect named Sxx Maintenance Display to the object Sxx_Exercises. Open the graphics editor for the new display then select Tools | Graphic Libraries from the pull down menu. Select the ‘Special’ and ‘Subelements’ libraries. Apply and close the window. Verify that the Special and Subelements categories are now populated with elements. Use the ‘Label’ or ‘TextBox’ element from the ‘General’ category to create a title for the display. The title should read ‘Maintenance and Test’. [An alternate method is to copy and paste the title element from another display. This will maintain a standard for style and size].
17.2.3.2 Insert an Aspect View The ‘AspectViewCt’ is a container that allows full operation of one or more display type aspects (e.g. Trends, Alarm Lists, Event Lists, etc.) on a single display page. The event list created in a previous lab will be used.
) ) )
2/3
Insert an AspectViewCt element from the ‘Special’ category. Resize it so that it is almost the full width of the display and is more than one-half the height of the display. Assign its ‘Aspect’ property to the Event List aspect on the Sxx_Exercises object.
System 800xA training
17.2.3.3 Reset the Mixer Cycle Counter Switch 14 is being used for the counter reset but it would be convenient to have a button on a video screen to also accomplish this task. A ToggleButton to set the forced bit on the switch and a PushButton to change the state of the signal will be added. The ability to set or reset the forced bit will permit the use of either the hardware switch or the video button as desired.
) )
)
Below the ‘AspectViewCt’, insert a ToggleButton and a PushButton from the Subelements category. Configure the properties ‘ResetCaption’, ‘ResetProperty’, ‘ResetValue’, ‘SetCaption’, ‘SetProperty’ and ‘SetValue’ for the ToggleButton as indicated below.
The property Caption should read ‘Counter Reset’ and property PropertyRef should be assigned to ‘gMixer_Reset.Value’.
17.2.3.4 Insert Predefined Graphic Elements and Testing A PID loop consisting of an AnalogInCC, a PIDCC and a ThreePosCC was created in a previous lab. Graphic display elements representing each of these three control modules will be added to this display. The Reduced Icon element will indicate status and values. The Tag element will display the name of the object.
) ) ) ) )
Using the Element Browser, insert the ‘Display Element Reduced Icon’ and the ‘Display Element Tag’ for each of the objects: - Sxx_In - Sxx_PID - Sxx_Out. Position these six elements below the ‘AspectViewCt’ so that the Tag element is below its corresponding Reduced Icon. Resize as necessary and insert any additional text into the display as desired. Save and deploy the display. Open the display from the Functional Structure and test the functionality of the event list, the buttons and the PID loop elements.
3/3
System 800xA training
Solution 17.2 Creating a Maintenance Display
17.2.1.1 Insert Graphic Libraries
)
)
)
Add a new Graphic Display aspect named Sxx Maintenance Display to the object Sxx_Exercises.
Open the graphics editor for the new display then select Tools | Graphic Libraries from the pull down menu.
Select the ‘Special’ and ‘Subelements’ libraries. Apply and close the window.
1/5
T314-17 Solution 17.2 - RevB
)
)
Verify that the Special and Subelements categories are now populated with elements.
Use the ‘Label’ or ‘TextBox’ element from the ‘General’ category to create a title for the display. The title should read ‘Maintenance and Test’.
[An alternate method is to copy and paste the title element from another display. This will maintain a standard for style and size].
17.2.1.2 Insert an Aspect View
) )
2/5
Insert an AspectViewCt element from the ‘Special’ category.
Resize it so that it is almost the full width of the display and is more than one-half the height of the display.
System 800xA training
)
Assign its ‘Aspect’ property to the Event List aspect on the Sxx_Exercises object.
Sxx_Exercises will not initially be in the Property Pages dialog box. It will be necessary to Browse for it.
17.2.1.3 Reset the Mixer Cycle Counter
) )
Below the ‘AspectViewCt’, insert a ToggleButton and a PushButton from the Subelements category. Configure the properties ‘ResetCaption’, ‘ResetProperty’, ‘ResetValue’, ‘SetCaption’, ‘SetProperty’ and ‘SetValue’ for the ToggleButton as indicated below.
3/5
T314-17 Solution 17.2 - RevB
)
The property Caption should read ‘Counter Reset’ and property PropertyRef should be assigned to ‘gMixer_Reset.Value’.
17.2.1.4 Insert Predefined Graphic Elements and Testing
)
)
4/5
Using the Element Browser, insert the ‘Display Element Reduced Icon’ and the ‘Display Element Tag’ for each of the objects: - Sxx_In - Sxx_PID - Sxx_Out
Position these six elements below the ‘AspectViewCt’ so that the Tag element is below its corresponding Reduced Icon.
System 800xA training
)
) )
Resize as necessary and insert any additional text into the display as desired.
Save and deploy the display. Open the display from the Functional Structure and test the functionality of the event list, the buttons and the PID loop elements.
Mixer Counter Reset Æ With Forced Off, Switch 14 resets. With Forced On, press the Counter Reset button. PID Loop Æ Adjust Pot 4 and PID setpoint to initiate output. Click on any of the elements for a faceplate.
5/5
System 800xA training
Exercise 17.3 Adding Navigation Links
17.3.1 Goals The Maintenance display from the previous lab can be opened from the Engineering Workplace, but is not yet accessible from Sxx_Workplace. ‘AspectLink’ elements are used as a means of navigation between displays. They are typically used in both menu and process displays.
17.3.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/3
T314-17 Exercise 17.3 - RevB
17.3.3 Exercise Steps ‘AspectLink’ elements are going to be used for navigation between the Sxx Maintenance Display and the Sxx Alarm Overview Display. Copy and paste will be the method used to insert an ‘AspectLink’ below the existing one on the Sxx Alarm Overview Display. The ‘AspectLink’ on the Sxx Maintenance Display will be inserted from the toolbar.
) ) ) )
)
) ) )
2/3
Open the graphics editor for the Sxx Alarm Overview Display. Select both the REACTOR ‘Label’ element and ‘AspectLink’ element in the lower right part of the display. Copy and paste both elements then position the new elements below the old ones. Modify the ‘Label’ element to read MAINTENANCE.
Reassign the ‘Aspect’ property of the ‘AspectLink’ to point to the Maintenance display.
Save and deploy the Sxx Alarm Overview Display. Open the graphics editor for the Sxx Maintenance Display. Select the ‘AspectLink’ from the Special category toolbar and insert it into the lower right part of the display.
System 800xA training
)
) )
Assign its ‘Aspect’ property to the Sxx Alarm Overview Display, modify ‘Caption’ to read ALARM OVERVIEW and select ‘2- Replace’ for the ‘PresentationMode’ property.
Save and deploy the display. Open the Sxx_Workplace and test the navigation of these links.
3/3
System 800xA training
Solution 17.3 Adding Navigation Links
17.3.1 Solution
)
)
Open the graphics editor for the Sxx Alarm Overview Display.
Select both the REACTOR ‘Label’ element and ‘AspectLink’ element in the lower right part of the display.
)
Copy and paste both elements then position the new elements below the old ones.
)
Modify the ‘Label’ element to read MAINTENANCE.
1/4
T314-17 Solution 17.3 - RevB
)
) )
)
2/4
Reassign the ‘Aspect’ property of the ‘AspectLink’ to point to the Maintenance display.
Save and deploy the Sxx Alarm Overview Display. Open the graphics editor for the Sxx Maintenance Display.
Select the ‘AspectLink’ from the Special category toolbar and insert it into the lower right part of the display.
System 800xA training
)
) )
Assign its ‘Aspect’ property to the Sxx Alarm Overview Display, modify ‘Caption’ to read ALARM OVERVIEW and select ‘2- Replace’ for the ‘PresentationMode’ property.
Save and deploy the display. Open the Sxx_Workplace and test the navigation of these links.
3/4
T314-17 Solution 17.3 - RevB
4/4
System 800xA training
Chapter 18 Historian and Trends
TABLE OF CONTENTS Chapter 18 Historian and Trends ................................................................................................................................................... 1 18.1 General Information........................................................................................................................................................... 2 18.1.1 Objectives ................................................................................................................................................................... 2 18.1.2 Legend ........................................................................................................................................................................ 2 18.2 800xA Architecture for Historical Functions..................................................................................................................... 3 18.2.1 Data Flow.................................................................................................................................................................... 3 18.2.2 Log Hierarchy............................................................................................................................................................. 5 18.2.3 Configuration Overview ............................................................................................................................................. 6 18.2.4 History Service ........................................................................................................................................................... 6 18.3 Log Configuration ............................................................................................................................................................. 7 18.3.1 How to Create a Log Configuration............................................................................................................................ 7 18.3.2 Check the Data Size.................................................................................................................................................... 9 18.3.3 Presentation Settings................................................................................................................................................... 9 18.4 Reading Log Contents .................................................................................................................................................... 11 18.4.1 Check the History Source ......................................................................................................................................... 11 18.5 Trend Displays................................................................................................................................................................. 13 18.5.1 How to Create a Trend Display ................................................................................................................................ 14 18.5.2 How to Setup a Trend Display.................................................................................................................................. 15
1 / 17
T314-18 Historian and Trends - RevB
18.1 General Information 18.1.1 Objectives On completion of this chapter you will be able to: •
Describe how historical information is collected
•
Configure and modify logs
•
Configure trend displays
18.1.2 Legend
2 / 17
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
18.2 800xA Architecture for Historical Functions The 800xA system supports a full array of historical and reporting functions. Many of these functions such as archiving require the Information Manager software. However, basic historical collection is performed by the Basic Historian in the Connectivity Server and so it is available as a base feature of System 800xA. In fact, if Information Manager is installed in the system, it gets its data from the Connectivity Server’s basic historical logs using the OPC’s HDA standard protocol. This protocol, unlike the DA protocol, can get multiple values for the same point with one request. If the Information Manager machine is off line for a while, there is no loss of data because it can retrieve the whole time period from the Connectivity Server when it comes back on line. The Connectivity Server is usually redundant so it is unlikely that data will be lost due to a failure. Both Connectivity Servers are always collecting the data so if one is offline, it will back fill from the other when it returns to service.
What is a log? A log is a collection of time stamped (tagged) data. The process or system object from which the data originates is called the data source.
18.2.1 Data Flow The log is normally stored on a hard disk on the Connectivity Server. The storage size is up to 10,000,000 data points per log. All logs are circular; the oldest data entry is overwritten by the newest when the log is full. NOTE!
Log data cannot be archived, if not using Information Manager.
Data Source LOG
Storage Interval 2’592’000s or 30 days
0s 10s 20s 30s
t
Storage Size
Logging can take place as fast as once per second. There is almost no limit to the number of logged data items. But there is always a balance between the rate of logging and the number of data points to be logged – if both are high then the network may be considerably loaded.
3 / 17
T314-18 Historian and Trends - RevB
Trend displays
Workplaces (Clients)
Aspect Server
Client/Server Network
Historical data
Connectivity Server
Control Network Controllers
Field bus Field devices
The data collection is done using the OPC DA standard but the Historian also has the ability to collect data through some proprietary protocols such as the AC 400 Controllers TTD logs.
4 / 17
System 800xA training
18.2.2 Log Hierarchy A hierarchical log is one whose input data source is another log. The first log is a direct log, with data coming from the OPC Server. The succeeding logs get their input from the first log. The selection of aggregate (algorithm) determines the type of processing done to the data before it is logged. There is no hard limit to the number of hierarchical levels which can be configured.
Data Source Storage Size OPC
LOG 1
Storage Interval t 0s 10s 20s 30s
60s
2’592’000s or 30 days
Aggregate
LOG 2
t 0s 60s 120s 180s
180 days
Example LOG1 is a direct log, logging data from the OPC server every 10 seconds. LOG2 is a hierarchical log, logging the time average of the samples from LOG1 over a 60 second time period (6 samples from LOG1).
5 / 17
T314-18 Historian and Trends - RevB
18.2.3 Configuration Overview There are two parts to setting up values to be logged:
Library Structure Log Template HOW DATA IS LOGGED
Control Structure
Log Configuration WHAT IS LOGGED
Log Template aspect This aspect is configured in the Library Structure. It determines the size of the log and the frequency with which items are logged. It does NOT say what should be logged
Log Configuration aspect This aspect is configured in the Control Structure as part of the object where the signals to be logged are found. It defines which properties (for example Value) on the object/signal to log, and how to log (by referring to a Log Template).
18.2.4 History Service Just as 800xA has services to provide alarm and event functions, there is a service for collecting history. It is called the Basic History Service and the responsibility is to acquire and make available data for logging. It communicates with the OPC Server to obtain the data coming up from the controller. The situation is similar to other service set-ups. The History Service is defined in the Service Structure. This service may serve one or more History Service Groups.
The Basic History Service gets installed and configured automatically during system creation. Unless further groups are required there is no work to be done in the Service Structure.
6 / 17
System 800xA training
18.3 Log Configuration A Log Configuration aspect is required for each object which contains properties to be logged. It is used to specify the properties to be logged and which log template to use for each property. Remember that each tag can have many different values associated with it and these are called properties. For example in a PID loop, the signal for the set point, process variable, and control output are all individual properties. Each one of these that we want to maintain history for will need a separate log defined.
18.3.1 How to Create a Log Configuration 1. Open the Control Structure of a project and select any process tag such as a Function Block or a Control Module. 2. Add an aspect of type “Log Configuration” to the Function Block instance and name it “Log Configuration”.
7 / 17
T314-18 Historian and Trends - RevB
3. Open the “Config View” of the Log Configuration aspect.
4. Click onto the button “Add Property Log” to create a new log. 5. Select a property from the list and select a template.
6. Click onto the “OK” button. Click “Apply” to close the Main View of the aspect Log Configuration.
There is no reason we cannot have more than one property log configured even for the same property.
8 / 17
System 800xA training
18.3.2 Check the Data Size After you created a new log configuration and added a property log to it, some new tab cards with different settings exist. The “Property Log” tab displays log information. The Data Size is the size of the Property Log on disk. It is the sum of the size of all logs. The size of each log file is the sum of the file header and the data storage size.
18.3.3 Presentation Settings
All values are used to display the trace in a Trend Display. These values can be set in either of: •
The Object Type (i.e. in the Property Aspect).
•
The Object Instance (i.e in the Property Aspect).
•
The Log (in the Log Configuration Aspect).
•
The Trend Display.
9 / 17
T314-18 Historian and Trends - RevB
The above listed are in override order. For example you can override a value set in the Object Type by writing a value in the Object Instance. Another example is a value set in the Object Type, the Object Instance for presentation attribute or the Log can be overridden in the Trend Display. To override a presentation attribute the check box for the attribute must be marked. If the check box is unmarked the default value is displayed.
Engineering Units are inherited from the source but can be overridden. Normal Maximum and Normal Minimum are scaling factors, used for the scaling of Y-axis in the Trend Display. The values are retrieved from the source but can be overridden. The Number of Decimals are retrieved from the source but can be overridden. The Display Mode can be either Interpolated or Stepped. Interpolated is appropriate for real values, Stepped for binary.
10 / 17
System 800xA training
18.4 Reading Log Contents You may read log contents by selecting the function block in the Control Structure, then select the log configuration you created before and choose “Config view”. Select the logged property you want to read, then click on the tab “Status” and press the “Read” button.
18.4.1 Check the History Source Check that the history source is working:
Logging will not work
Logging is working Bad news
Good news
11 / 17
T314-18 Historian and Trends - RevB
12 / 17
System 800xA training
18.5 Trend Displays Trend Display aspects are used to present both historical data AND live data to the operator. The history data and run-time data are seamlessly integrated. A trend display consists of three areas:
Trace Area
Tool Bar
Trend Table
Any OPC property can be logged. That means more than just typical process data can be displayed in a trend display. Diagnostic and system data can also be trended, but of course the most common trends will be process data. NOTE!
Placing a cursor on a trend causes a text box (tool tip) to pop up providing detailed information.
13 / 17
T314-18 Historian and Trends - RevB
18.5.1 How to Create a Trend Display In general, a Trend Display can be created in any structure. A sensible place to add a trend aspect might be an Equipment or Unit object in the Functional Structure. Remember that the operators will not be looking for these displays in the Plant Explorer. The reason to configure a graphic or a trend display as an aspect of an Equipment or Unit object is to assist the engineers in keeping track of what they create. Trend displays will then usually be accessed from the graphics.
1. Add a Trend Display aspect to any object by right clicking and selecting New Aspect. The aspect category is “Trend Display”. 2. Open the “Config View” of a trend display aspect and disable the check box “Default”. Select the Trend Template from the drop down box.
3. Click “Apply” and close the Config View.
14 / 17
System 800xA training
18.5.2 How to Setup a Trend Display Many of the values in the trend table area provide the ability to click on them and enter new values. Some spaces provide pull down selections when clicked on, and some provide ellipsis buttons (…) which, when clicked on call browsing pop-ups. Some of the fields are not configurable since they contain the live values and time stamps when the trending is active. 1. Double click on the aspect to launch the Main View.
2. Click the check box to at the far left of each row are to activate or deactivate the trend display for that object. This allows the operator to temporarily show only one trace for the sake of clarity in the case of overlapping lines. Un-checking the box does not deactivate collection of the data. It only clears the trace from the display.
15 / 17
T314-18 Historian and Trends - RevB
3. Click in the “Object” field and browse for an object.
4. Select the relevant aspect, which is in most cases “Function Block” or Control Module”. 5. Click on the “Property” field and select a property from the list. If no aspect is selected the drop-down menu includes all available properties on the object, otherwise only the properties from the selected aspect.
If necessary you can expand the column. Move with the mouse to the right column end till the mouse cursor changes its design. Then click left and drag the column as large as you want (similar to the handling in Microsoft Excel). NOTE!
16 / 17
If the shift key is pressed only logged properties will appear in the list.
System 800xA training
6. Select the “Log Name”. A drop-down menu provides a selection for several sources for the values in the display. It shows all logs defined by the Log Configuration Aspect for this particular object. If there is no Log Configuration aspect on the selected object, the user can select TRIM and SEAMLESS (the TRIM log is always available).
Once we have created historical collections, there will be multiple choices for the source of the data. We can have real time trending as well as trending maintained by the Connectivity Server and additional history maintained by the Information Manager. We could select one of these sources for the data, or we can set the selection to SEAMLESS. This will instruct the system to find all possible sources and plot them as a seamless set of data. It will be indistinguishable to the user where each part of the data is coming from NOTE!
A trim curve is the term used for a real time trend.
7. The trend will now be visible. Click into the field “High Range” and set it. 8. Click onto the “Save” button to save your changes.
17 / 17
System 800xA training
Exercise 18.1 Configuring Logs
18.1.1 Goals The main purpose of the 800xA history package is to store data for trending purposes. History templates reside in the Library Structure and are used to determine the frequency and capacity of data logging. They also define the source of the data. Examine the configuration of a history log template and define five additional signals (Tank Level, Inflow and Outflow, FIC1 Setpoint and Output) for logging.
18.1.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/4
T314-18 Exercise 18.1 - RevB
18.1.3 Exercise Steps 18.1.3.1 Examine the History Log Template
) ) )
) )
)
Open the Engineering Workplace and navigate to the Library Structure. Expand the History Log Templates object tree to reveal the child objects of ‘Sxx_Log_Templates’. Select ‘Sxx_Log_1s1d’ then open the configuration view of its Log Template aspect.
Select ‘Property Log’ in the window then press the “Get List” button. What is the number of associated log configurations and property logs? Fully expand the ‘Property Log’ tree to determine the following. •
Names of the hierarchical logs?
•
Logging Frequency for each of the three logs?
•
Storage capacity for each of the three logs?
Explain the difference between a direct and hierarchical log.
18.1.3.2 Insert Signals into the Log Configuration The history log template determines how signals are to be logged, but the log configuration aspect defines the signal and the log that will store its values. No matter how many properties of an object are to be logged, there is only one log configuration aspect per object to perform the necessary assignments. Since all global variables are defined at the application object, only one log configuration aspect for that object is needed to assign all of the global signals to logs.
) ) 2/4
Navigate to the Control Structure then select the Sxx_ReactorApp object. Open the ‘Config View’ of its Log Configuration aspect.
System 800xA training
)
) )
Select “Add Property Log”, scroll to gInflow.Value, select it, then choose Sxx_Log_1s1d from the pull down menu.
Press “OK”, observe the changes in the Log Configuration window, verify that ‘Enabled’ is checked, then “Apply”. Repeat these last steps to insert the following signals into Sxx_Log_1s1d. •
Sxx_FT2_Input.Value
•
gFIC1_Par.Faceplate.SpManValue
•
gFIC1_Par.Faceplate.OutManValue
•
gLevel.Value
If a log configuration has already been assigned to a log template, the log configuration aspect may be opened from the log template in the Library Structure by using the “Get List” button with the ‘Property Log’ selected (done in a previous step). Double clicking on an entry in this list will open its Log Configuration aspect.
18.1.3.3 Verify the History Service The history service is configured through the History Source aspect which points to a Service Group in the Service Structure. This group object may have one or more Service Providers, each being assigned to a specific node.
) ) )
Select the object Services in the Service Structure then open the “Main View” of the System Status Viewer aspect. Expand the Basic History object in the ‘System Status Viewer’ then verify that both the service group and service provider have a solid green circle for ‘Status’. Select the Sxx_Control_Network object in the Control Structure then open the “Config View” of the History Source aspect.
3/4
T314-18 Exercise 18.1 - RevB
)
Verify that the name in the ‘Service Group’ field matches the service group name in the Service Structure.
18.1.3.4 Verify Log Data The contents of each log may be checked for valid data.
) ) ) )
)
4/4
Run the Batch process or manually adjust the flow, level, temperature, etc. Open the Log Configuration aspect for the Sxx_ReactorApp object. Expand the ‘gLevel.Value’ entry then select the ‘Direct’ log. Press the “Read” button on the “Status” tab to populate the window with the values from the log. Verify that the values are good.
Repeat for the ‘Average’ log and for another of the logged entries (e.g. gTemp.Value).
System 800xA training
Solution 18.1 Configuring Logs
18.1.1.1 Examine the History Log Template
) )
)
)
Open the Engineering Workplace and navigate to the Library Structure.
Expand the History Log Templates object tree to reveal the child objects of ‘Sxx_Log_Templates’.
Select ‘Sxx_Log_1s1d’ then open the configuration view of its Log Template aspect.
Select ‘Property Log’ in the window then press the “Get List” button. What is the number of associated log configurations and property logs?
Two log configurations and six property logs.
1/6
T314-18 Solution 18.1 - RevB
)
)
Fully expand the ‘Property Log’ tree to determine the following.
•
Names of the hierarchical logs? The “Log Definition” tab of each log indicates that Direct is a ‘Direct’ log, but Average and Maximum are hierarchical logs.
•
Logging Frequency for each of the three logs? The “Data Collection” tab of each log has this information: - Direct = 1 second - Average = 1 minute - Maximum = 1 minute
•
Storage capacity for each of the three logs? The “Data Collection” tab of each log has this information: - Direct = 1 day - Average = 1 week - Maximum = 1 week
Explain the difference between a direct and hierarchical log. A direct log gets its data directly from an OPC server and the hierarchical log will get its data from another log.
2/6
System 800xA training
18.1.1.2 Insert Signals into the Log Configuration
) )
)
)
Navigate to the Control Structure then select the Sxx_ReactorApp object. Open the ‘Config View’ of its Log Configuration aspect.
Select “Add Property Log”, scroll to gInflow.Value, select it, then choose Sxx_Log_1s1d from the pull down menu.
Press “OK”, observe the changes in the Log Configuration window, verify that ‘Enabled’ is checked, then “Apply”.
3/6
T314-18 Solution 18.1 - RevB
)
Repeat these last steps to insert the following signals into Sxx_Log_1s1d. •
Sxx_FT2_Input.Value
•
gFIC1_Par.Faceplate.SpManValue
•
gFIC1_Par.Faceplate.OutManValue
•
gLevel.Value
If a log configuration has already been assigned to a log template, the log configuration aspect may be opened from the log template in the Library Structure by using the “Get List” button with the ‘Property Log’ selected (done in a previous step). Double clicking on an entry in this list will open its Log Configuration aspect.
Observe that the ‘Number of Property Logs’ has increased because of the additional signals in this log configuration but the number of log configurations has not changed.
4/6
System 800xA training
18.1.1.3 Verify the History Service
) )
)
)
Select the object Services in the Service Structure then open the “Main View” of the System Status Viewer aspect.
Expand the Basic History object in the ‘System Status Viewer’ then verify that both the service group and service provider have a solid green circle for ‘Status’.
Select the Sxx_Control_Network object in the Control Structure then open the “Config View” of the History Source aspect.
Verify that the name in the ‘Service Group’ field matches the service group name in the Service Structure.
5/6
T314-18 Solution 18.1 - RevB
18.1.1.4 Verify Log Data
) ) ) )
Run the Batch process or manually adjust the flow, level, temperature, etc. Open the Log Configuration aspect for the Sxx_ReactorApp object. Expand the ‘gLevel.Value’ entry then select the ‘Direct’ log. Press the “Read” button on the “Status” tab to populate the window with the values from the log. Verify that the values are good.
The data in a log may be copied into another application using the options in the “Action” button.
)
6/6
Repeat for the ‘Average’ log and for another of the logged entries (e.g. gTemp.Value).
System 800xA training
Exercise 18.2 Configuring Trend Displays
18.2.1 Goals Trend Displays are associated with Trend Templates that reside in the Library Structure. These templates determine the format and appearance of the display. Examine the configuration of a trend template. Create a Trend Display aspect and add signals to be trended.
18.2.2 Legend
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
1/4
T314-18 Exercise 18.2 - RevB
18.2.3 Exercise Steps 18.2.3.1 Examine a Trend Template
) ) )
)
2/4
Open the Engineering Workplace and navigate to the Library Structure. Expand the Trend Templates object tree to reveal the child object of ‘Sxx_TrendTemplates’. Select ‘Sxx_ProjectTrend’ then open the configuration view of its Trend Template aspect.
Explore the contents of the tabs (General, Colors, Columns) then determine which tab defines each of the following items. •
Axis to display scaling?
•
Size and position of columns in the Table?
•
Definition of time scopes?
•
Number of traces?
System 800xA training
18.2.3.2 Create a Trend Display
) )
Select the Sxx_Exercises object then add a Trend Display aspect named ‘Sxx Trend1’. Open the “Config View” of Sxx Trend 1, select Sxx_ProjectTrend as the ‘Trend Template’ from the pull down list, then “Apply”.
18.2.3.3 Add Signals to a Trend Display
)
Open the “Main View” of Sxx Trend 1 then select the first column of an empty line.
)
Select the ‘Object Name’ field then browse for Sxx_ReactorApp.
3/4
T314-18 Exercise 18.2 - RevB
)
) ) )
)
) )
) 4/4
Use the pull down menu of ‘Property’ to select gLevel.Value.
Choose either DIRECT or SEAMLESS from the ‘Log Name’ column. “Save” the configuration, start the Batch process and verify that the level is being trended.
Repeat the above steps to insert the following signals. •
gInflow.Value
•
gFIC1_Par.Faceplate.SpManValue
•
gFIC1_Par.Faceplate.OutManValue
•
Temp_K Temp_K is a property of Sxx_Additions and the ‘Log Name’ of TRIM should be used.
This table includes suggestions for Low and High Ranges.
Explain the difference between using TRIM and a log name (e.g. DIRECT). Save the configuration after any change, run the Batch process again to verify trending then copy the contents of the trace area into Excel.
If desired, save the Excel spreadsheet (Sxx_TrendData1) to the desktop.
System 800xA training
Solution 18.2 Configuring Trend Displays
18.2.1.1 Examine a Trend Template
) ) )
)
Open the Engineering Workplace and navigate to the Library Structure. Expand the Trend Templates object tree to reveal the child object of ‘Sxx_TrendTemplates’. Select ‘Sxx_ProjectTrend’ then open the configuration view of its Trend Template aspect.
Explore the contents of the tabs (General, Colors, Columns) then determine which tab defines each of the following items. •
Axis to display scaling? Colors Æ Left or right may be chosen for each trace.
•
Size and position of columns in the Table? Columns
•
Definition of time scopes? General Æ New time scopes may be added and default chosen here
•
Number of traces? Colors
1/5
T314-18 Solution 18.2 - RevB
18.2.1.2 Create a Trend Display
)
)
2/5
Select the Sxx_Exercises object then add a Trend Display aspect named ‘Sxx Trend1’.
Open the “Config View” of Sxx Trend 1, select Sxx_ProjectTrend as the ‘Trend Template’ from the pull down list, then “Apply”.
System 800xA training
18.2.1.3 Add Signals to a Trend Display
)
Open the “Main View” of Sxx Trend 1 then select the first column of an empty line.
)
Select the ‘Object Name’ field then browse for Sxx_ReactorApp.
)
Use the pull down menu of ‘Property’ to select gLevel.Value.
)
Choose either DIRECT or SEAMLESS from the ‘Log Name’ column.
)
“Save” the configuration, start the Batch process and verify that the level is being trended.
3/5
T314-18 Solution 18.2 - RevB
)
4/5
Repeat the above steps to insert the following signals. •
gInflow.Value
•
gFIC1_Par.Faceplate.SpManValue
•
gFIC1_Par.Faceplate.OutManValue
•
Temp_K Temp_K is a property of Sxx_Additions and the ‘Log Name’ of TRIM should be used.
System 800xA training
)
This table includes suggestions for Low and High Ranges.
)
Explain the difference between using TRIM and a log name (e.g. DIRECT). A specific log name (e.g. DIRECT or AVERAGE) indicates that the data on the trend is coming from that log only. The data can only go back in time as far as the storage capacity of that specific log. SEAMLESS data for a given signal is blended from multiple logs. This typically gives higher resolution on the screen from the more recent log information and a longer history from the longer storage logs. Real time data is displayed when TRIM is used. It indicates that the data on the screen is coming directly from the OPC server and not from any log. If the display is closed and reopened there will not be any history of TRIM data.
)
Save the configuration after any change, run the Batch process again to verify trending then copy the contents of the trace area into Excel.
Select anywhere in the trace area, press to copy, click in any cell of Excel, then to paste.
)
If desired, save the Excel spreadsheet (Sxx_TrendData1) to the desktop.
5/5
System 800xA training
Chapter 19 Operator Workplace
TABLE OF CONTENTS Chapter 19 Operator Workplace .................................................................................................................................................... 1 19.1 General Information........................................................................................................................................................... 2 19.1.1 Objectives ................................................................................................................................................................... 2 19.1.2 Legend ........................................................................................................................................................................ 2 19.2 Modify an Operator Workplace ......................................................................................................................................... 3 19.2.1 How to Configure the Application Bar ....................................................................................................................... 4 19.2.2 How to Configure Alarm Bands ................................................................................................................................. 6 19.2.3 How to Create Shortcuts for the Application Bar ....................................................................................................... 8 19.2.4 How to Configure the Status Bar ................................................................................................................................ 9 19.2.5 How to Create Hot Keys ............................................................................................................................................. 9 19.3 Aspect Filter .................................................................................................................................................................... 11 19.3.1 Using Aspect Filters.................................................................................................................................................. 11 19.3.2 How to Create an Aspect Filter................................................................................................................................. 12 19.4 Startup Settings................................................................................................................................................................ 15 19.4.1 How to Set the Default Workplace ........................................................................................................................... 15 19.4.2 How to Set the Full Screen Mode ............................................................................................................................. 16 19.4.3 How to Hide the Task Bar ........................................................................................................................................ 17 19.4.4 How to Set the Startup Display................................................................................................................................. 18 19.4.5 How to Set a Default Aspect Filter ........................................................................................................................... 20
1 / 20
T314-19 Operator Workplace - RevB
19.1 General Information 19.1.1 Objectives On completion of this chapter you will be able to: •
Configure display shortcuts
•
Assign alarm bands in the application bar
•
Define startup settings
19.1.2 Legend
2 / 20
Indicates a key name.
|
Indicates when you go from one menu to a sub-menu.
Bold
Indicates a menu name or an option in a menu, or file structures
“ “
Indicates dialog box buttons, tabs, instructions etc.
)
Indicates start/explanation of student activity
System 800xA training
19.2 Modify an Operator Workplace All workplaces are configured in the Workplace Structure.
The general characteristics of any one workplace are aspects to the workplace object:
It is usually best to choose a default workplace which is closest to your needs, make a copy and then configure the copy.
3 / 20
T314-19 Operator Workplace - RevB
19.2.1 How to Configure the Application Bar There are three parts to configure of the Application Bar: •
Main Determines the overall facilities available in the application bar.
•
Fixed Displays Determines which aspects are present, their size and position.
•
Tool Collections Determine which tools are available to the operator for this workplace
1. Go to the “Config View” of the Application Bar Aspect. In the “Main” tab uncheck “Show Favorites” and “Apply”.
2. Go back to the Control Structure and mark your control project object. Create a new aspect of category “Alarm and Event List”. 3. Configure it to use the “Common Alarm Line” template from the library structure. Give it a new name, say “Alarm Line” and uncheck “Show Tool bar”.
4 / 20
System 800xA training
Fixed Displays 4. Now go back to the “Config view” for the Application Bar in your workplace. Delete the Web System Workplace – Alarm Line aspect from the list.
On the top is an input field named Height in pixels. In this field enter the height that the fixed displays should have. 5. Add the alarm line aspect created in the previous steps to point to an alarm line.
6. Change the Width of each aspect. Determining the “Display width in” value depends on how many other aspects you may want to add to the Fixed Displays area of the Application Bar. The total of the aspects width may not exceed 100%.
5 / 20
T314-19 Operator Workplace - RevB
Tool Collections 7. Add or Remove one or more tools. Each time testing the workplace to see the effect of the changes.
19.2.2 How to Configure Alarm Bands Alarm Handling is also typically associated with the Application Bar. Many users prefer to have a fixed “mini-alarm” window at the top of the Workplace. There are also Alarm Bands or buttons that open other alarm lists. These Alarm Band aspects can be located in any structure, but typically in the Workplace Structure.
6 / 20
System 800xA training
The Alarm Band provides a summary display for selected alarm lists and provides a link to the corresponding alarm list display. The number on a button represents the number of currently unacknowledged alarms. The color of the button shows the highest priority alarm presented at the moment.
1. Create a new aspect of the type “Alarm Band”. 2. Select the “Config View” of the new aspect and select the Alarm and Event List aspects that you want included.
3. The new Alarm Band can then be integrated into the Application Bar.
4. The result in the Operator Workplace is shown as below.
7 / 20
T314-19 Operator Workplace - RevB
19.2.3 How to Create Shortcuts for the Application Bar A Shortcut in an Application Bar or Status Bar is used to get fast access to any viewable aspect associated with a particular object. 1. At your Workplace in the Workplace Structure, create a new Application Bar Shortcuts aspect.
2. Right-click and select the “Config View”. Select “Add” and create shortcuts e.g. to graphic displays, trend displays, group displays, alarm lists etc.
3. Select the Config View of the Application Bar aspect and enable the “Show Shortcuts” box.
8 / 20
System 800xA training
19.2.4 How to Configure the Status Bar The Status Bar is configured in much the same way as the Application Bar by clicking on the “Config View” of the Status Bar Aspect.
19.2.5 How to Create Hot Keys Hot Keys allows binding key combinations to invoking existing object or aspect verbs or views. A list of predefined hot keys can be found in the electronic documentation, 3BSE030322R4001 800xA Operator Workplace Configuration.
1. Go to the Workplace Structure and open the “Config View” of the Hot Keys aspect. 2. Click into the Hotkey column and press the key combination or function key to define the Hot Key.
9 / 20
T314-19 Operator Workplace - RevB
3. Click the “…” button to define which aspect should be opened, let’s say an Alarm List aspect.
4. Select the entry “Main View” to open this view if the Hot Key is pressed. Click onto the “Add” button to add the new Hot Key to the list.
NOTE!
10 / 20
Extend the window to see the list of hot keys.
System 800xA training
19.3 Aspect Filter A right click onto a Process Display on the Operator Workplace provides the operator a context menu with a lot of aspect entries right now. This is not what the operator needs. He only wants to see the aspects which are relevant for his work. It is possible to filter out aspects from the aspect view window. This might be done to simplify the aspect view or to protect certain aspects from being modified.
19.3.1 Using Aspect Filters All aspects for the object are viewable as there is no aspect filter being applied.
From the pull-down menu at the top of the page, you can select a pre-configured aspect filter. With the Process Operation filter selected, the aspect view window now only has two aspects available.
11 / 20
T314-19 Operator Workplace - RevB
19.3.2 How to Create an Aspect Filter It is possible to modify existing or create new filters. 1. Select the Filter Configuration icon in the Engineering Workplace.
2. From the filter Configuration dialog, select “New…”.
3. Type in a Filter name and select “OK”.
12 / 20
System 800xA training
4. In the Filter Configuration box, select the aspects that you wish to be available (to be included in the filter) from the right hand list. Click on “
View more...
Comments