Sei sulla pagina 1di 755

ABB University

System 800xA Basic Configuration Course T314


Release 04-2006 (month-year) 3BDS013442 / Rev B

Course T314

System 800xA Basic Configuration

Release 04-2006

3BDS013442 / Rev B

Course T314

System 800xA Basic Configuration

Release 04-2006

3BDS013442 / Rev B

Course T314

System 800xA Basic Configuration

Release 04-2006

3BDS013442 / Rev B

Course T314

System 800xA Basic Configuration

Release 04-2006

3BDS013442 / Rev B

Course T314

System 800xA Basic Configuration

Release 04-2006

3BDS013442 / Rev B

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 WARNING CAUTION NOTE Hazards which could result in severe personal injury or death Hazards which could result in personal injury Hazards which could result in equipment or property damage 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 ABBs 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. Prerequisites and Recommendations Students shall know the fundamentals of working with Control Systems and have basic knowledge of Windows 2000. Course Objectives Upon completion of this course, students will be able to: Explain the System 800xA architecture and the function of the different components Modify existing application programs by using Function Block Diagrams, Sequential Function Charts, Structured Text and Control Modules

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/Os 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 AC 800M Hardware OPC connectivity Applications with FBD and ST Control Modules Sequential Function Chart (SFC) Alarm and Events Historian and Trends Graphic Displays 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
AC 800M hardware Library handling Applications with Function Block Diagram Monitoring applications

Day 3
Task assignment and Memory Control Modules Sequential Function Charts (SFC) Communication between applications

Day 4
Alarm and Events Graphic displays Historian and Trends Operator Workplace

Day 5
Import and Export Function Designer

System 800xA training

Reference Documentation
Document
Industrial IT 800xA - System Configuration Industrial IT 800xA - System Automation System Network Design and Configuration Industrial IT 800xA - System Basic Operation Industrial IT 800xA - System Extended Operation Industrial IT 800xA System Operator Workplace - Configuration Industrial IT 800xA - Control and I/O OPC Server for AC 800M - Installation and Configuration Industrial IT 800xA - Control and I/O IEC 61131 Control Languages - Introduction Industrial IT 800xA - Control and I/O Basic Control Software - Introduction and Configuration Industrial IT 800xA - Control and I/O Extended Control Software - Binary and Analog Handling Industrial IT 800xA - Control and I/O Communication - Protocols and Design Industrial IT 800xA - Control and I/O Addendum - Product Data and Design Industrial IT 800xA - Control and I/O AC 800M Controller Hardware - Hardware and Operation Industrial IT 800xA - Control and I/O S800 I/O - General Information and Installation Industrial IT 800xA - Control and I/O S800 I/O - Modules and Termination Units Industrial IT 800xA - Control and I/O S800 I/O - Fieldbus Communication Interface PROFIBUS-DP/DPV1 3BSE 020926 3BSE 020924 3BSE 020923 3BSE 036351 3BSE 035979 3BSE 035982 3BSE 035981 3BSE 035980 3BSE 021358 3BSE 035983 3BSE 030322 3BSE 036904 3BSE 036903 3BSE 034463

Item number
3BDS 011222

1/4

T314-01 References - RevB

Terminology
Term / Acronym
ActiveX Afw Service

Description
Microsoft standard for user interface components, based on definition of software interfaces. 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 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. Platform functionality that supports integration of aspect systems and connectivity components, including concepts, APIs, and tools. 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 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

Aspect Framework (Afw) Aspect Integrator Platform (AIP) Aspect Object

Aspect Server Client Client/Server network Connectivity 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 is a part of a software that subscribes data from a server. A client/server network is used for communication between servers, and between workplaces and servers. 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 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. Domain Name System 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.

Control network

DNS Double authentication

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. 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. 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. 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. Human System Interface ABB's vision for enterprise automation. A 32-bit address assigned to each host/node connected on the network. Local Area Network 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.

Fieldbus

Graphic display

Graphic element

HSI Industrial IT IP address LANs Log over

MMS Node OPC OPC item

Manufacturing Message Specification. ISO standard for communication between controllers. A computer communicating on a network e.g. the Internet, Plant, Control or I/O network. Each node typically has a unique node address. OLE (Object Linking and Embedding) for Process Control, a standard interface for data, event and history access based on COM. OPC items represent connections to data sources, i.e. object properties. An OPC item is identified by a string <object path>:<property name>. 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 Property (Object property) Service Service provider

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. 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 A software component that provides a certain set of functions in the system, typically for use by various client applications. 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. 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. 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. 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.

Tag

Thin client

Workplace

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 PCs and AC800M controllers. The AC800M controllers are connected together via the Control Network The PCs 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/Os

Local I/Os

Each controller is connected to an IO panel with switches, potentiometers and indicators via I/O-modules (local I/Os). Optionally each controller can be connected to a process simulation model via additional I/O-modules (mainly Profibus I/Os).

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 DO

10

11

12

13

14

DI

ON OFF

AO1

AO2

AO3 1 AI 2 3 4

AO4

4/9

System 800xA training

1.5.1 Analog Inputs


I/O module Channel
AI810_1.1 AI810_1.2 AI810_1.3 AI810_1.4 AI810_1.5 AI810_1.6 AI810_1.7 AI810_1.8

Signal name
POT1 POT2 POT3 POT4 POT5 POT6 POT7 POT8

Description
Potentiometer 1 Potentiometer 2 Potentiometer 3 Potentiometer 4 Potentiometer 5 Potentiometer 6 Potentiometer 7 Potentiometer 8

Remarks
0-100% = 0-10 V 0-100% = 0-10 V 0-100% = 0-10 V 0-100% = 0-10 V 0-100% = 0-10 V 0-100% = 0-10 V 0-100% = 0-10 V 0-100% = 0-10 V

1.5.2 Analog Outputs


I/O module Channel
AO810_1.1 AO810_1.2 AO810_1.3 AO810_1.4

Signal name
IND1 IND2 IND3 IND4

Description
Indication 1 Indication 2 Indication 3 Indication 4

Remarks
0-100% = 0-20 mA 0-100% = 0-20 mA 0-100% = 0-20 mA 0-100% = 0-20 mA

5/9

T314-01 Training Equipment - RevB

1.5.3 Digital Inputs


I/O module Channel
DI810_1.1 DI810_1.2 DI810_1.3 DI810_1.4 DI810_1.5 DI810_1.6 DI810_1.7 DI810_1.8 DI810_1.9 DI810_1.10 DI810_1.11 DI810_1.12 DI810_1.13 DI810_1.14 DI810_1.15 DI810_1.16 SW1 SW2 SW3 SW4 SW5 SW6 SW7 SW8 SW9 SW10 SW11 SW12 SW13 SW14

Signal name
Switch 1 Switch 2 Switch 3 Switch 4 Switch 5 Switch 6 Switch 7 Switch 8 Switch 9

Description

Remarks
Switch up = ON Switch up = ON Switch up = ON Switch up = ON Switch up = ON Switch up = ON Switch up = ON Switch up = ON Switch up = ON Switch up = ON Switch up = ON Switch up = ON Switch up = ON Switch up = ON

Switch 10 Switch 11 Switch 12 Switch 13 Switch 14 Spare Spare

1.5.4 Digital Outputs


I/O module Channel
DO810_1.1 DO810_1.2 DO810_1.3 DO810_1.4 DO810_1.5 DO810_1.6 DO810_1.7 DO810_1.8 DO810_1.9 DO810_1.10 DO810_1.11 DO810_1.12 DO810_1.13 DO810_1.14 DO810_1.15 DO810_1.16

Signal name
LAMP1 LAMP2 LAMP3 LAMP4 LAMP5 LAMP6 LAMP7 LAMP8 LAMP9 LAMP10 LAMP11 LAMP12 LAMP13 LAMP14 Lamp 1 Lamp 2 Lamp 3 Lamp 4 Lamp 5 Lamp 6 Lamp 7 Lamp 8 Lamp 9 Lamp 10 Lamp 11 Lamp 12 Lamp 13 Lamp 14 Spare Spare

Description

Remarks

6/9

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
AI810_2.1 AI810_2.2 AI810_2.3 AI810_2.4 AI810_2.5 AI810_2.6 AI810_2.7 AI810_2.8

Signal name
Inflow Outflow Level Temp Mixer_Current

Description
FT1 - Tank inflow FT2 - Tank outflow LT1 - Tank level TT1 - Tank temperature IT1 - Mixer motor current Spare Spare Spare

Remarks
0-100% = 0-10 V 0-100% = 0-10 V 0-100% = 0-10 V 0-150C = 0-10 V 0-50A = 0-10 V

1.6.2 Analog Outputs


I/O module Channel
AO810_1.5 AO810_1.6 AO810_1.7 AO810_1.8

Signal name
V3_Ref V4_Ref Mixer_Ref Horn_Ref

Description
V3 - Control valve for inflow V4 - Control valve for outflow SC1 - Mixer speed reference Variable volume alarm

Remarks
0-100% = 0-20 mA 0-100% = 0-20 mA 0-100% = 0-20 mA 0-100% = 0-20 mA

8/9

System 800xA training

1.6.3 Digital Inputs


I/O module Channel
DI801_2. 1 DI801_2.2 DI801_2.3 DI801_2.4 DI801_2.5 DI801_2.6 DI801_2.7 DI801_2.8 DI801_2.9 DI801_2.10 DI801_2.11 DI801_2.12 DI801_2.13 DI801_2.14 DI801_2.15

Signal name
Level_Max Level_Min V1_Closed V2_Closed Heater_On Cooler_On Mixer_On Mixer_Puls V6_Open V5_Open V6_Closed V5_Closed V1_Open V2_Open Overflow

Description
LSH1 -Tank level high LSL1 - Tank level low V1 - Feedback for on/off valve V2 - Feedback for on/off valve Feedback main contactor heater P1 - Feedback main contactor M1 - Feedback main contactor ST1 - Mixer speed V6 - Feedback for on/off valve V5 - Feedback for on/off valve V6 - Feedback for on/off valve V5 - Feedback for on/off valve V1 - Feedback for on/off valve V2- Feedback for on/off valve LSH2 - Tank overflow

Remarks
1=MAX 1=MIN 1=CLOSED 1=CLOSED 1=ON 1=ON 1=ON 1 pulse / revolution 1=OPEN 1=OPEN 1=CLOSED 1=CLOSED 1=OPEN 1=OPEN 1 = OVERFLOW

1.6.4 Digital outputs


I/O module Channel
DO801_2.1 DO801_2.2 DO801_2.3 DO801_2.4 DO801_2.5 DO801_2.6 DO801_2.7* DO801_2.8 DO801_2.9 DO801_2.10 DO801_2.11

Signal name
V5_Ord V6_Ord V1_Ord V2_Ord Heater_Ord Cooler_Ord Mixer_Ord Counter_Ord Alarm_Ord Counter_Dir Counter_Res

Description
V5 - Command for on/off valve V6 - Command for on/off valve V1 - Command for on/off valve V2 - Command for on/off valve Command for heater P1 - Command for cooler M1 - Command for mixer motor Pulse to counter display Alarm indication LEDs Counting direction Counter reset

Remarks
1=OPEN 1=OPEN 1=OPEN 1=OPEN 1=ON 1=ON 1=ON

1=ON 0=UP; 1=DOWN 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 22

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 Advanced Control And Industry Solutions

Safety

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: Batch Management Asset Optimization

12 / 22

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 CEX-Bus ProfiBus DP RCU Link ProfiBus DP-V1 CEX-Bus

Lower CPU

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

3
Process Graphics

4
Reports

5
etc.

Control

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


Lets 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.

Client Operator Workplace(s)


n tio ra igu nf Co

Aspect System Graphic Display

l-t im

da ta

Client/Server Network

Re a

ta da

Connectivity Server(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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 29

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 companys 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.
Previous/Next Display Drop Target

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

24 / 29

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 Current value

Time scope for current Trend display

Ruler time

73.4 107.8 20.6

2006-1-24 10: 2006-1-24 10: 2006-1-24 10:

73.4 107.8 20.6

Object name

Logged property

Low/High Range

Ruler value: Current value at Ruler position

26 / 29

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
Log Name

Description
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. 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.

Filter

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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 <Enter>:

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 <Enter>. 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.

Go to the Reactor Display and hover the mouse over the various objects. Note how the highlighting is shown in the system.

4/8

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 operators main method of controlling the process.

) )

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.

6/8

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 objects 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.

) )

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.

8/8

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 / 10

T314-03 Solution 3.1 - RevB

3.1.1.1 Navigation

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.

2 / 10

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 <Enter>: 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 <Enter>. 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 objects 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 operators point of view.

3.2.2 Legend
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

Click on the Sxx_Reactor alarm band and check the alarms in the list.

2/5

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.

Select a contiguous range of alarms by clicking on a desired alarm, then hold the <Shift> key while clicking on the last of the desired range.

Select individual (non contiguous) alarms by clicking on each while holding down the <Ctrl> 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.

4/5

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 <Shift> or <Ctrl>) in the alarm list, press <Ctrl+C> to copy, select a cell in Excel, then <Ctrl+V> 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.

Test these two methods on other alarms in the list.

2/5

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

) ) )

Select a contiguous range of alarms by clicking on a desired alarm, then hold the <Shift> key while clicking on the last of the desired range. Select individual (non contiguous) alarms by clicking on each while holding down the <Ctrl> 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.

4/5

System 800xA training

3.2.1.4 Paste into Excel

Open Excel. Select a single line (or multiple lines using <Shift> or <Ctrl>) in the alarm list, press <Ctrl+C> to copy, select a cell in Excel, then <Ctrl+V> 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

Change the time scope from 30 minutes to 1 Day, 2 Hours, then back to 30 minutes.

2/4

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.

) )

Open Excel. Click anywhere in the trace area, press <Ctrl+C> to copy, select a cell in Excel, then <Ctrl+V> to paste. Examine the data then save the Excel worksheet to the desktop as a file named Sxx_TrendData.

4/4

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 <Ctrl+C> to copy, select a cell in Excel, then <Ctrl+V> 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

Examine the data then save the Excel worksheet to the desktop as a file named Sxx_TrendData. An icon will appear on the desktop.

4/4

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 24

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: Control Structure Functional Structure Location Structure

6 / 24

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

You can not search for Aspects with this tool.

24 / 24

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

) )

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.

4/5

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

) )
Structure Browser

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

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.

) )

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.

4/6

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

Select the Root, Domain object, right click and choose New Object from the context menu.

2/7

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. In the dialog box, select Aspects instead of Objects then choose Aspect Category from the <Add attribute> 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?

6/7

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

) )

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?

4/7

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

) )

Select the Find tool from the toolbar. In the dialog box, select Aspects instead of Objects then choose Aspect Category from the <Add attribute> 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?

6/7

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 16

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 Provider Service Group 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! A Service Provider resides always in a dedicated node.

6 / 16

System 800xA training

A typical example is the OPC communication:

800xA Clients

OPC Client: Service Structure


OpcDA Connector, Service
1 Service Group for each CS or CS-pair Service Provider ex. CS1/2 Service Provider ex. CS2/2

Event Collector, Service


1 Service Group for each CS or CS-pair Service Provider ex. CS1/2 Service Provider ex. CS2/2

Aspect Server

Client/Server Network

OPC Server
Connectivity Server

DA
Data Access

AE
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 <Control Network> 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 <SG_Control_Network> 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

) )

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.

2/6

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

) )

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.

4/6

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.

Select the Main View from the context menu of the System Status Viewer.

6/6

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 24

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 Control Builder M Project Explorer


Handles one Control project Builds Control projects Download to AC 800M controller AC800M Aspect System

Plant Explorer / Engineering Workplace


Handles many Control projects Administer Control projects Faceplates and Alarm Lists

Control system

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

4 / 24

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 <F1>, 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

Test Mode

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. F5 Use this button to connect to the controller, e.g., if you want to debug the program code in running mode. The program code in the application is compiled and downloaded for execution in the controller. The application automatically enters Online mode (see above).

Online

Download Project and Go Online

CTRL-D

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! In this document the word Code refers to any instructions that the controller can execute.

10 / 24

System 800xA training

You may choose to write code in any one of 5 language editors in Control Builder:
Instruction List LD ANDN ST A B C Step 2 C:= A AND NOT B; Step 1 N FILL Structured Text Sequential Function Chart

Transition 1 Ladder Diagram A B C Step 3 S Empty Transition 2

Function Block Diagram

A B

AND

-| |--|/|----------------( )

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

Code

Function Block

Function Block

Function

Code

Code

Code

Function Block

Function

Code

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
Ctrl + U Ctrl + W Ctrl + B

Description
Saves the changes and closes the editor. Save the changes but does not close the editor. 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. Prints the current pane on a printer. Displays a screen preview of printer output. 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. Recalls the last undo action. Not available in the ST code and the SFC editor. Cut. Copy. Paste. Standard find function. Note: the function only searches the current pane and present code block. 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 + P Ctrl + J Ctrl + Z

Ctrl + Y Ctrl + X Ctrl + C Ctrl + V Ctrl + F F3

Ctrl + I Ctrl + Space Ctrl + J INS Ctrl + L Ctrl + E Ctrl + M

Inserts statements like if-then-else, for-loop, etc. Fills in the rest of the name, for example, a variable name in the code pane (complete word). Inserts a variable, data type or attribute in the declaration pane or in the code pane. Inserts a function or function block. Inserts a function. Edits a type. The type can be write protected, for example if it is a system-protected type or an user-protected type. 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! These commands can be used after text selection in the table or the code pane. The search is then performed through the selected text.

18 / 24

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

) )

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.

2/5

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).

) )

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.

4/5

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.

In the Project Explorer, double click on Sxx_ReactorApp or right click and choose Editor from the context menu.

2/3

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 38

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 PM861 PM860 PM856 PM851


16MB 48 MHz 8MB 48 MHz 32MB 96 MHz

Redundant PM865

32MB 96 MHz SIL2

8MB 24 MHz 8MB 24 MHz

Unit
PM851

Description
24 MHz (48MHz for communication) / 8 Mbytes RAM 1 Ethernet port, 1 Serial port and 1 tool port. Application speed is half of PM860. Maximum one CEX bus module.

On-line replacement
No

Redundancy
No

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.

No

No

PM860 PM861

48 MHz / 8 Mbytes RAM 2 Ethernet ports, 1 Serial port and 1 tool port. 48 Mhz / 16 Mbytes RAM 2 Ethernet ports, 1 Serial port and 1 tool port. Singular or redundant.

No Yes

No Yes

PM861A PM864

Same as PM861 but can use redundant communication unit CI854A, CI860 and BC810. 96 Mhz / 32 Mbytes RAM 2 Ethernet ports, 1 Serial port and 1 tool port. Singular or redundant. PM864 is 50% faster than PM861 in executing an application.

Yes Yes

Yes Yes

PM864A PM865 (PA/HI)

Same as PM864 but can use redundant communication unit CI854A, CI860 and BC810. 96 Mhz / 32 Mbytes RAM 2 Ethernet ports, 1 Serial port and 1 tool port. PM865 can be used in an AC 800M High Integrity system.

Yes No

Yes Yes

4 / 38

System 800xA training

7.2.2 Start Modes


The controller may be started with the following start modes: Mode
Warm Init Cold Init Reset

Invoked by
Power Off/On with a battery backed up CPU Press Init < 2.5 s Press Init > 3 s or until Run LED flashes

Description
Applications restart with retain values. Applications restart with cold retain values. 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
PM851/PM856/PM860 PM861 PM864 PM861A PM864A PM865 HI PM865 PA

Internal Battery min time (hours)


48 36 36 118 235 235 235

External Battery min time (weeks)


4 4 3 12 24 24 24

NOTE!

A Compact Flash card can be used for non-volatile storage of application and data.

6 / 38

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/Os 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 TV 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 CI853 CI854 CI854A CI855 CI856

Description
PROFIBUS DP-V0 communication interface unit. CI851 has been replaced by the CI854 communication interface. RS-232C serial communication interface unit. PROFIBUS DP-V1 communication interface unit. Redundant Profibus cabling possible. PROFIBUS DP-V1 communication interface unit. Redundant Profibus cabling and redundant interface cards. MasterBus 300 communication interface unit for the AC 800M. S100 I/O system communication interface unit. 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.

On-line replacement
No No No Yes Yes Yes

Redundancy
No No No Yes No No

CI857 CI858 CI860 CI862

INSUM communication interface unit. Communication interface for ABB Drives using DriveBus. Fieldbus Foundation HSE communication interface unit. Not possible to use in AC800M HI. TRIO blocks (remote I/O) communication interface. Manages the channel data for the AC 800M controller.

Yes No Yes Yes

No No No No

9 / 38

T314-07 AC800M Hardware - RevB

7.3.2 Communication Exchange Bus - CEX Bus

TB850

or

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.

10 / 38

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

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, doesnt use the PMxxx CPU. No galvanic isolation. Modem support. Several protocols ready made options to Software. Custom protocol design, (software option).

12 / 38

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 3

I/O cluster 4

Duplex Simplex max 15 or 200m max 15 or 200m

NOTE!

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!

The presence of a TB820 is indicated by the I/O module position.

16 / 38

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!

Extended
Mechanical key protection prevents wrong I/O module type from being inserted.

18 / 38

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 <New unit> 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 CI830s 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! The default address is 172.16.0.0

28 / 38

System 800xA training

Open the controllers 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 <retain> or <coldretain> 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 <coldretain> keep their values, since they are stored on the hard disk. Variables without the attribute <coldretain> 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! Following download the last message should be: You are now Online!

32 / 38

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 overflow The signal is below the range. The signal is above the range.

Hardware Errors
channel error Unit error The channel can have under range, power-up or field power errors. 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 <Copy Unconnected Channels> 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 controllers system identity you want to test to your PCs 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

) )

Open the Sxx_Project in the Control Builder. Expand the Controllers object in Control Builders 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.

2/3

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 the editor.

) ) )

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

2/4

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

Select the Download and Go on Line icon from the Control Builder toolbar.

Enter a User ID of <engineer> with a password of <abb> in the Reauthenticate dialog box.

2/6

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! If there is an error indicator on Profibus modules -CI851, CI830, AI810, DI801 in position 1, or AO801 -contact the instructor. Warnings are okay.

4/6

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

) ) )

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.

6/6

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

Select the Download and Go on Line icon from the Control Builder toolbar.

Enter a User ID of <engineer> with a password of <abb> in the Reauthenticate dialog box.

In the Online analysis dialog box, select Sxx_ReactorApp, then the Cold restart button then Continue.

2/7

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 <True> 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 22

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 Second Digit Major Version Number 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 1970s 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 1990s. 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 projects 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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 <F1> 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 <F1> 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 24

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 Application Global Variables Program Variables Variables in Function Block and Control Module Types known only in the Application space known in the Application space and also in any program contained in the Application known only in the program in which declared 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 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.

6 / 24

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
bool Dint Int Uint String Word DWord Time Date_And_Time Real

Description
Boolean Double integer Integer Unsigned integer Character string * Bit string Bit string Duration Date and time of day Real number 1

Bits
32 16 16 0 0 0

Default value
False, 0

(empty string) 16 32 0 0 0s 1979-12-31-00:00:00 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.

<FirstString> will default to 40 characters, <SecondString> has a capacity for 80 characters and <ThirdString> 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. 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.

retain

coldretain

constant

hidden

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
Value IOValue Forced Status

Data type
Bool Bool Bool Dword

Description
Value used by the application code Value of the I/O channel. IOValue and Value are equal if the channel is not forced. Indicates whether or not the channel is forced. 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
Value IOValue Forced Status

Data type
Real Real Bool Dint

Description
Value used by the application. Value of the I/O channel. IOValue and Value are equal if the channel is not forced. Specifies whether or not the channel is forced. If the channel status is not OK, Status can take any of these values: -4029 Underflow -4030 Overflow -4031 UnitError -4032 ChannelError

Parameters

SignalPar

Measuring range

18 / 24

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
Max Min Inverted Fraction Unit

Data type
Real Real Bool Dint string

Description
Maximum value to which you can scale a maximum input signal. Minimum value to which you can scale a minimum input signal. Specifies if the connection to the analog I/O is reversed (0 mA->100%, 20 mA->0%). Specifies the number of decimals to be displayed. 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! To use project constants, just use the constant names directly.

24 / 24

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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! Remember to Save after entering the text into the list.

2/3

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 SearchAlt+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 SearchAlt+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.

4/5

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 20

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


NOT AND, & XOR OR, >=1 Boolean AND. Boolean XOR. Boolean OR.

Description
Negates the Boolean value (1/0, on/off or True/False).

Arithmetic Operators Function


EXPT, ** MUL, * DIV, / ADD, + SUB, MOD ABS Multiplication. Division. Addition. Subtraction. Modulus. Absolute value.

Description
Exponential, i.e. raising to the power.

Relational Operators Function


LT, < GT, > LE, <= GE, >= EQ = NE, <> Less than. Greater than. Less than or equal to. Greater than or equal to. Equal to. Not equal to.

Description

4 / 20

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 Tools > Edit Parameters >Connect

Key
Ins

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.

Tools > Edit Parameters >Disconnect

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.

Tools > Edit Parameters > Invert

6 / 20

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: <main_identifier>.<component> 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: 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.

16 / 20

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 "<-" and "->" 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

) ) ) ) ) ) )

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 programs 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. Connect the blocks and parameters as indicated below. from the toolbar to insert an

Save and close the program. Resolve any errors, if necessary.

2/5

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 programs inputs and outputs. The DI810 and DO810 in the ModuleBus will be used.

) )

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 <Ctrl + T>.

Expand Sxx_Reactor then double click on gSw7 to insert the path into the field.

4/5

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 programs name.

1/7

T314-10 Solution 10.1 - RevB

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.

2/7

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 <Ctrl + K> 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 <Ctrl + J> 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 <Ctrl + J> in each Parameter field of the dialog box.

Save and close the program. Resolve any errors, if necessary.

4/7

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

) ) ) ) )

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.

2/6

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.

) )

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.

4/6

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 <F1>.

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! If the alarm list is already open, close then reopen it.

6/6

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

Declare the following local variables.

Make the following connections, then save and close the program.

2/7

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.

Continue to generate and acknowledge the alarm as needed to become familiar with alarm handling.

4/7

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.

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.

6/7

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 <F1>. 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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 programs 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

) ) )

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.

2/3

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

) ) ) )

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 programs online editor to view the counter value changing on the output of the CTU and at MixerCyc_OnOff in the declaration pane.

2/6

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.

Return Control Builder to Offline.

6/6

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 20

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
NOT AND & XOR OR Boolean AND Boolean AND. See AND Boolean XOR Boolean OR

Description
Negates the Boolean value (1/0, on/off or True/False)

Arithmetic Operators Operator


** * / + MOD Multiplication Division Addition Subtraction Modulus

Description
Exponential, i.e. raising to the power

Relational Operators Operator


< > <= >= = <> Less than Greater than Less than or equal to Greater than or equal to Equal to Not equal to

Description

6 / 20

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
() Function () Not, -

Description
Parenthesized expression. Parameter list of a function, function evaluation. 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. Multiplication, division and modulus. Addition and subtraction. Comparison operators Equality and inequality. Boolean AND. Boolean exclusive OR Boolean OR

Priority
Highest

** *, / ,mod +, <, >, <=, >= =, <> and, & xor or

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: IFThen Operator
IF Boolean Expression THEN Statement(s); END_IF; IF ELSE 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); ELSE Statement(s); END_IF; 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. Boolean Expression THEN Statement(s);

Description
If (and only If) the Boolean Expression evaluates to True, then the Statement(s) between the IF and END_IF is/are executed. 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.

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:

CASEOF Operator
CASE Integer Expression OF Integer Literal1 : Statement(s); END_CASE;

Description
A statement is executed depending on the value of an integer variable or an integer expression. The <integer literal> 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.

CASE Integer Expression OF Integer Literal1 : Statement(s); Integer Literal2 : Statement(s); Integer Literal3 : Statement(s); ELSE Statement(s); END_CASE;

8 / 20

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. 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; 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.

Operator
FOR i := 0 to 15 DO Statement(s); END_FOR;

REPEAT Statement(s); UNTIL Boolean Expression END_REPEAT;

EXIT

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 cant 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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; 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.

2/2

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

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.

2/2

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

Save and close the parameter list editor, then observe the code that was created in the code pane.

2/3

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 <Boolean expression> then <statement> 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

Save and close the parameter list editor, then observe the code that was created in the code pane.

2/4

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! V2 & V6 will need to be put into Auto mode through the faceplate prior to running the batch process.

4/4

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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


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.

2/2

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

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.

2/3

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 15

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

4 / 15

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

A Controller may be allocated up to 32 tasks.

6 / 15

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

You need a separate System Diagnostics FB in each application, if the stop time during download is an important factor.

14 / 15

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 staticcyclic 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

) )

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.

2/3

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 windows 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 Sxx_Additions Controller_1.Slow Controller_1.Normal ** Controller_1.Normal **

Sxx_FT1 (Control Module)

** 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.

Use the context menu for Sxx_Additions to connect it to task SuperSlow.

2/5

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.

Choose Interactive Window from the context menu of System Diagnostics within Program3 and note the data available.

4/5

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 windows 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 24

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 gVar1

Program1 Var1

Program2 Var1

ProgramN 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 Var1

Control module 1
aVar1

Var1 Par1 Control module 3 Var1 Par1

Par11

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 1
gVar1

Control module 2 Par1 Var11

Par1 Var1 Program1 Program2

Var1

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 Interaction Objects Composite objects Connective Text, Rectangle, Oval, Arc, and Polyline/Polygon Command Button, Option Button, Check Box, Input Field, Window interaction Image Selector, String Selector, History Graph, Bar Graph 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! The CMD editor and any graphics drawn there is not intended to be a tool for the operator.

10 / 24

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 modules 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. (its 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.
Surrounding module (Parent) Module (Child) DataOUT Parameters DataIN B Var1 Var2 Connections

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) Module (Child)
DataOUT_B DataIN_B

B Var1 Var2

Module (Child)
DataIN_C DataOUT_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.

18 / 24

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 Control module 1
gVar1 aVar1

Control module 2 Par1 Var11

Par1 Var1 Program1 Program2

Var1

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 Duplicate

Instance

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 2

Instance 3

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

Single Control Module 2 Instance1 Instance2

Code

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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).

Remove the graphical connection between the AICC and the Tap (first two control modules) by selecting the connection line then pressing <Delete>.

2/7

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 editors 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 <Delete>.

1/8

T314-13 Solution 13.1 - RevB

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.

2/8

System 800xA training

13.1.1.2 Make Graphical Connections

Select the graphical node connection from the CMD editors 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

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.

4/8

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

After downloading, right click on the Sxx_FT1_Alarms control module in the project tree and select the Interaction Window.

6/8

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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! The Sxx_Extensions SCM, with the three control module instances inside, will appear as a small rectangle in the CMD editor of Sxx_ReactorApp.

2/4

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.

) )

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.

4/4

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

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

2/8

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

Open the editor for the Sxx_Extensions SCM and declare these three parameters.

4/8

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.

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

6/8

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 23

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 its 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 Input 2 Input 3 Logical Function Output 1 Output 2 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!

To delete a step, you must select the step AND the corresponding transition.

6 / 23

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
Insert > Step, Transition Insert > Sequence Selection Insert > Simultaneous Sequence Insert > New Branch Insert > Jump Tools > Make Subsequence Tools > Dissolve Subsequence View > Step into Subsequence View > Step Out of Subsequence

Description
Inserts a step and transition after the current selection. Inserts a sequence selection after the current selection. Inserts a simultaneous sequence after the current selection. Inserts a new branch. Inserts a jump. Turn the selected steps and transitions into a subsequence. Dissolves the selected subsequence. Steps into the selected 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
Tools > Disable Actions

Description
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). 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. 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. 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. Steps into the selected subsequence. Steps out of the open subsequence.

Tools > Block Transition

Tools > Force Forward

Tools > Force Backward

View > Step into Subsequence View > Step out of 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 <Draining> 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 dont need to configure anything there.

Caution

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.

18 / 23

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!

You can copy the control module type SFC2DSeqChainExample to start with.

22 / 23

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

) )

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.

2/4

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

4/4

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

Using the context menu of each, rename the new step Preheating and the new transition Preheating_OK.

2/7

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

Save and close the program editor.

4/7

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

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).

6/7

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2/7

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 controllers 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: dont 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: Variable in a program or Control Module Variable (global or local) in the application

4/7

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 <TANK4> is not the same variable as <tank4>. 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!

When using Function Designer, the Access variables and the MMS communication is generated automatically!

6/7

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 12

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 operators attention towards plant conditions, so he can correct potentially dangerous situations in time.

Beep!
Aspect Server

Beep!
Workplaces (clients) Client/server Network

3
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
Libraries

Engineering Workplace
Object Type Structure

Valve Valve Tank Tank Valve1 (type Valve) Valve1 Relative name Control Builder Applications myTank Tank Valve1 Valve Name Name

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
Applications

Engineering Workplace
Control Structure

myTank Tank Valve1 Valve Variables Name = V047 Description = Text Variables Name = P01 Description = Text
Control Structure after Name Upload Control Structure before 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

) ) ) )

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?

2/3

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

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

2/7

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

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.

6/7

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. | Indicates when you go from one menu to a sub-menu. 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

Bold

2 / 28

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

When you deploy, the graphic is automatically saved.

8 / 28

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 Basics own built in controls. They are always included in the toolbox.

Symbol Factory Controls is a 3rd party ActiveX program licensed exclusively for ABB. It provides access to both static and dynamic symbols common to the process control industry.

These are additional primitive elements provided by ABB.

This section contains five additional graphic elements that are detailed in Appendix A of the reference documentation.

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

Valve1
Control Module Graphic Elements

OPC Properties:
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!

To set properties for a certain element, it needs to be selected first.

24 / 28

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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! 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.

) ) ) ) )
2/6

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! The absolute path for the Temp_K variable should now appear in the Value property field in the top pane. the process display to be sure that you do

Close the Expression Builder. Deploy not have a syntax error.

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.

4/6

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.

) ) ) ) ) ) ) ) ) )
6/6

Press the <CTRL + Down Arrow> two times to move the entire grouping down. Draw a box around FILLING and its indicator box then press <CTRL + C> to copy. Press <CTRL + V> 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 Builders 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! 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

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.

2 / 13

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

) )

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.

4 / 13

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!

The lower right pane will now display all of the associated properties.

) )

Use the right pane to find Temp_K Program. Select it then press the Insert button near the bottom of the window. NOTE! The absolute path for the Temp_K variable should now appear in the Value property field in the top pane. the process display to be sure that you do

Close the Expression Builder. Deploy not have a syntax error.

6 / 13

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.

) )

Apply the changes then resize and position the element appropriately. Click on the DANGER sign in the display, then open the Expression Builder.

8 / 13

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

Draw a box (rubber-band) around the elements from FILLING through VIEW SEQUENCE to select them all at the same time.

Press the <CTRL + Down Arrow> two times to move the entire grouping down.

Draw a box around FILLING and its indicator box then press <CTRL + C> to copy. Press <CTRL + V> to paste and move the pasted elements into position above the existing FILLING line.

10 / 13

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

This cannot be typed into the statement. It must be selected from the Object Property tabs!

12 / 13

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

) ) )

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.

2/3

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

) )

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.

2/5

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

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.

4/5

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

) ) ) )

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.

2/3

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

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.

2/4

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 17

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 Servers basic historical logs using the OPCs 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 0s 10s 20s 30s 2592000s or 30 days 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

Aspect Server

Workplaces (Clients)
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 2592000s 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! If the shift key is pressed only logged properties will appear in the list.

16 / 17

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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.

) ) ) )

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).

4/4

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.

Repeat for the Average log and for another of the logged entries (e.g. gTemp.Value).

6/6

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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

) ) )

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?

2/4

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

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.

)
4/4

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

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.

2/5

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

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.

4/5

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 <CTRL + C> to copy, click in any cell of Excel, then <CTRL + V> 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
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 20

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

Extend the window to see the list of hot keys.

10 / 20

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 <-Add.

5. When you click on <- Add, the aspects that were selected (highlighted) are moved from the right-hand list to the center list. When you have finished moving all of the desired aspects from the left-hand list to the center list, select Apply.

Only the aspects that are included in the filter (and are defined for the selected object) are visible in the aspect pane.

13 / 20

T314-19 Operator Workplace - RevB

14 / 20

System 800xA training

19.4 Startup Settings


This session deals with the startup settings of the Operator Workplace. After a login the operator can only work with its workplace. The Operator Workplace should: Be always on Top Run in Full Screen Mode Hide the Windows Task Bar Come up with a predefined Process Display as overview graphic A default Aspect Filter should be applied for operators Start automatically when the operator logs in

19.4.1 How to Set the Default Workplace


First of all we have to setup the default workplace for the operator. 1. Select the user group object Operators in the User Structure. Select one of the users and open the Config View for the Workplace Profile Values aspect.

15 / 20

T314-19 Operator Workplace - RevB

2. Click on the DefaultWorkplace name. Select Local as data source and select also the check box Update Enable. 3. Define the default Operator Workplace for this user in the field ObjectName.

From now on a login of the operator user will open the ABB University Workplace per default.

19.4.2 How to Set the Full Screen Mode


There are two Workplace Modes available: Windows Workplace Mode The application runs as applications normally do in Windows Operator Workplace Mode It is a full screen mode and the title bar is not visible. Pop-up windows are always placed on top. The Application Bar and the Status Bar can not be covered by a pop-up window.

16 / 20

System 800xA training

1. Open the Config View of the Workplace Profile Values aspect from the operator user object again. 2. Click on the WorkplaceMode name. Select Local as data source and select also the check box Update Enable. 3. Select the Operator Workplace Mode.

19.4.3 How to Hide the Task Bar


Per default the Windows task bar is always visible at bottom of screen, but the operator should only work in the Operator Workplace. 1. Open the context menu for the Windows task bar (right click onto the task bar). 2. Enable the option Auto-hide on the General tab card.

17 / 20

T314-19 Operator Workplace - RevB

19.4.4 How to Set the Startup Display


It is possible to configure the Startup Display for a Workplace or a User.

Workplace setting Set the name Startup Display to the aspect of the Workplace object you want to use as Startup Display. 1. If there is already an aspect called Startup Display, then delete it now. 2. Go to the Functional Structure and copy the Overview Graphic Display aspect. This should be the overview from which all other views may be accessed via Aspect Links or otherwise.

3. Paste this as an aspect in your Workplace Object and rename it to Startup Display.

4. Open it in Graphics Builder and deploy. The name Startup Display is a key name. When a workplace starts up, it looks to see if there is a Process Graphic called Startup Display in the workplace object. If it finds one, then it will automatically load this view into the panel area of the workplace.

18 / 20

System 800xA training

User setting Configure the Startup Object in the User Profile. On start up the default aspect from the Startup Object will be displayed. 1. Select a suitable aspect e.g. Process Display and open Properties by right-mouse clicking. Browse to the tab card Aspect Details and enable the option Default Aspect.

2. Open the Config View of the Workplace Profile Values aspect from the operator user object. 3. Click on the WorkplaceStartObject name. Select Local as data source and select also the check box Update Enable.

4. Select the object that you configured in step 1.

19 / 20

T314-19 Operator Workplace - RevB

19.4.5 How to Set a Default Aspect Filter


We want to set the filter we just created as the default filter. All the other users like System Engineer or Application Engineer are able to set their actual filter by themselves. But the operator can not change his filter later on. 1. Select the user group object Operators in the User Structure. Select one of the users and open the Config View for the Workplace Profile Values aspect.

2. Click on the DefaultWorkplace name. Select Local as data source and select also the check box Update Enable. 3. Define the default Aspect Filter for this user.

20 / 20

System 800xA training

Exercise 19.1 Modifying an Operator Workplace

19.1.1 Goals
An operator workplace consists of an Application Bar, a Panel Area and a Status Bar. Process displays open into the Panel Area and the tools, process indicators, and buttons make up the other two areas. The Application Bar is typically the most customized because of its presence at the top portion of the workplace. Make modifications to all three parts of the Application Bar, turn off the Status Bar and configure Hot Keys. It will require opening the Engineering Workplace for the configuration then opening Sxx_Workplace for verification.

19.1.2 Legend
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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-19 Exercise 19.1 - RevB

19.1.3 Exercise Steps 19.1.3.1 Configure an Alarm Band


Alarm Bands represent alarm lists in the form of buttons to allow immediate status indication and access to the alarm lists. They are aspects that may be attached to any object but are usually viewed in the Fixed Display area of an operator workplace. An event list will be added to an alarm band (not a typical application) then the alarm band inserted into the Fixed Display of Sxx_Workplace.

) )

Create an Alarm Band aspect on the Sxx_Exercises object. Open the Config View of the Alarm Band, select Add then browse to find the Event List aspect attached to Sxx_Exercises.

In the Caption Format type Sxx Events then deselect Show hidden alarm indicator before pressing Apply.

19.1.3.2 Add Alarm Band to Application Bar


To give the Alarm Band visibility to the operator, it will now be added to the Fixed Display of Sxx_Workplace.

) ) )

Navigate to the Workplace Structure then select the Sxx_Workplace object. Open the Config View of the Application Bar aspect and select the Fixed Display tab. Select the Alarm Line entry then use the Edit button to reduce its width to 52 so that the new alarm band will have the same width as the existing three bands.

2/5

System 800xA training

Add the Alarm Band of Sxx_Exercises to the list then use the Move Up button to position all four alarm bands together.

Apply then open the Sxx_Workplace, observe the results, and test the button.

19.1.3.3 Modify the Application Bar Shortcuts


Shortcuts in the Application Bar are available anytime the workplace is open. Two additional shortcuts for displays Sxx Maintenance Display and Sxx Trend 1 will be added to Sxx_Workplace.

) )

Open the Config View of the Application Bar Shortcuts aspect on the Sxx_Workplace object in the Workplace Structure. Use Add to insert Sxx Maintenance Display and Sxx Trend 1 at the end of the list.

Apply then open Sxx_Workplace to test the two shortcut buttons.

3/5

T314-19 Exercise 19.1 - RevB

19.1.3.4 Add the Controller Status Viewer


The System Status Viewer aspect for the Service Structure is one of the tools included in the Application Bar of Sxx_Workplace. The System Status Viewer for the controllers will be added to the toolbar.

) ) )

Select the Sxx_Workplace object in the Workplace Structure. Open the Config View of the Application Bar aspect then select the Tool Collections tab. Select the System Status Control structure Toolbar item then Apply. Open Sxx_Workplace and test the button.

19.1.3.5 Configure Hot Keys


Hot keys are assigned to a workplace so that displays, faceplates, control actions and other aspect views may be selected quickly by the operator.

) ) ) )

Select the Sxx_Workplace object, then open the Config View of the Hot Keys aspect. With the cursor in the Hotkey: field, press <CTRL + F6> then use the browse button of the Aspect field to select the MainFaceplate of Sxx_V1. Select Reduced in the View field, press Add then Apply. Repeat this process for the following hot keys. HotKey Aspect View CTRL + F7 CTRL + F8 CTRL + F9 CTRL + F10 MainFaceplate of Sxx_V5 MainFaceplate of Sxx_TIC1 MainFaceplate of Sxx_M1 Sxx Maintenance Display Reduced View Faceplate View Faceplate View Main View

)
4/5

Open Sxx_Workplace and test the five hot keys.

System 800xA training

19.1.3.6 Disable the Status Bar [Optional]


The Status Bar is typically located below the process display, but it is not always used in operator workplaces. It has the same options and configured the same way as the Application Bar.

) )

Select the Sxx_Workplace object, then open the Config View of the Status Bar aspect. Deselect the Show Fixed Displays item on the Main tab then Apply.

) )

Open Sxx_Workplace to observe results. If desired, reset so that the Status Bar is visible again.

5/5

System 800xA training

Solution 19.1 Modifying an Operator Workplace

19.1.1.1 Configure an Alarm Band

Create an Alarm Band aspect on the Sxx_Exercises object.

Open the Config View of the Alarm Band, select Add then browse to find the Event List aspect attached to Sxx_Exercises.

In the Caption Format type Sxx Events then deselect Show hidden alarm indicator before pressing Apply.

1/8

T314-19 Solution 19.1 - RevB

19.1.1.2 Add Alarm Band to Application Bar

Application Bar prior to any modifications!

) )

Navigate to the Workplace Structure then select the Sxx_Workplace object.

Open the Config View of the Application Bar aspect and select the Fixed Display tab.

Select the Alarm Line entry then use the Edit button to reduce its width to 52 so that the new alarm band will have the same width as the existing three bands.

2/8

System 800xA training

Add the Alarm Band of Sxx_Exercises to the list then use the Move Up button to position all four alarm bands together.

Apply then open the Sxx_Workplace, observe the results, and test the button.

19.1.1.3 Modify the Application Bar Shortcuts

Open the Config View of the Application Bar Shortcuts aspect on the Sxx_Workplace object in the Workplace Structure.

3/8

T314-19 Solution 19.1 - RevB

Use Add to insert Sxx Maintenance Display and Sxx Trend 1 at the end of the list.

Apply then open Sxx_Workplace to test the two shortcut buttons.

4/8

System 800xA training

19.1.1.4 Add the Controller Status Viewer

) )

Select the Sxx_Workplace object in the Workplace Structure. Open the Config View of the Application Bar aspect then select the Tool Collections tab.

Select the System Status Control structure Toolbar item then Apply.

Open Sxx_Workplace and test the button.

5/8

T314-19 Solution 19.1 - RevB

19.1.1.5 Configure Hot Keys

Select the Sxx_Workplace object, then open the Config View of the Hot Keys aspect.

With the cursor in the Hotkey: field, press <CTRL + F6> then use the browse button of the Aspect field to select the MainFaceplate of Sxx_V1.

) )

Select Reduced in the View field, press Add then Apply. Repeat this process for the following hot keys. HotKey Aspect View CTRL + F7 CTRL + F8 CTRL + F9 CTRL + F10 MainFaceplate of Sxx_V5 MainFaceplate of Sxx_TIC1 MainFaceplate of Sxx_M1 Sxx Maintenance Display Reduced View Faceplate View Faceplate View Main View

6/8

System 800xA training

) )

Open Sxx_Workplace and test the five hot keys.

19.1.1.6 Disable the Status Bar [Optional]


Select the Sxx_Workplace object, then open the Config View of the Status Bar aspect.

7/8

T314-19 Solution 19.1 - RevB

Deselect the Show Fixed Displays item on the Main tab then Apply.

Open Sxx_Workplace to observe results.

No status bar below the display.

If desired, reset so that the Status Bar is visible again.

8/8

System 800xA training

Exercise 19.2 Configuring Workplace Startup Settings

19.2.1 Goals
Create an aspect filter typical for an operator then implemented the filter in the Engineering Workplace. Create a startup display for an operator workplace based upon user login.

19.2.2 Legend
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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-19 Exercise 19.2 - RevB

19.2.3 Exercise Steps 19.2.3.1 Create an Aspect Filter


Controlling the number of aspects visible in an objects context menu can optimize process utilization for a given user. Different aspect filters may be created then selected from a filter list or assigned on a per user basis.

) ) )

Open the Engineering Workplace then select the Filter Configuration button toolbar.

in the

In the Filter Configuration dialog box, use the New button to create an aspect filter named Operator Sxx. Use the Add button to move the following aspects into the Available aspect categories window then Apply. ActiveX Wrapper Alarm and Event List Faceplate Graphic Display Graphic Element Group Display Operator Note Operator Trend Trend Display Web Page Windows Application

Select Operator Sxx from the Select a Filter pull down menu in the toolbar of the Engineering Workplace.

Navigate to different structures and observe the list of aspects as various objects are selected. Alternate the filters Operator Sxx and No Filter. Observe the differences.

2/4

System 800xA training

19.2.3.2 Assign the Aspect Filter to a User


This same filter will now be assigned to a user so that it will be the active filter for any workplace that the user opens.

) ) ) )

Open Sxx_Workplace then navigate to the Reactor Display (Sxx Process Display). Right click on Sxx_V1, note the entries in the context menu then close the workplace. Use the Select a Filter pull down menu in the Engineering Workplace to choose No Filter then navigate to the User Structure. Expand the objects and select the Engineer object under the User Group Operators.

) )

Open the Config View of the Workplace Profile Values aspect. Select Plant Explorer Settings in the Names: column, then select the Local circle.

) )

Choose Operator Sxx from the pull down menu of the Default Filter tab then Apply. Reopen the Reactor Display in Sxx_Workplace and look at the context menu of Sxx_V1. Explain the difference from the list seen previously.

3/4

T314-19 Exercise 19.2 - RevB

19.2.3.3 Define a Startup Display


The display that appears in the Panel Area of an operator workplace when it initially opens may be determined by the workplace or by the user. The existing startup display for Sxx_Workplace is defined by the workplace (the object Sxx_Workplace has a graphic display aspect named Startup Display). The Reactor Display will now be assigned as the new startup display for the user Engineer.

) )

Close the Sxx_Workplace, navigate to the User Structure in the Engineering Workplace and select the Engineer object again. Open the Config View of the Workplace Profile Values aspect and select the WorkplaceStartObject then the Local circle.

) ) )

Use the ObjectName: browse button to select Sxx_Reactor then Apply. Open Sxx_Workplace to test. Reset the filter and startup display to original values.

4/4

System 800xA training

Solution 19.2 Configuring Workplace Startup Settings

19.2.1.1 Create an Aspect Filter

) )

Open the Engineering Workplace then select the Filter Configuration button toolbar.

in the

In the Filter Configuration dialog box, use the New button to create an aspect filter named Operator Sxx.

Use the Add button to move the following aspects into the Available aspect categories window then Apply. ActiveX Wrapper Alarm and Event List Faceplate Graphic Display Graphic Element Group Display Operator Note Operator Trend Trend Display Web Page Windows Application

1/5

T314-19 Solution 19.2 - RevB

Select Operator Sxx from the Select a Filter pull down menu in the toolbar of the Engineering Workplace.

Navigate to different structures and observe the list of aspects as various objects are selected. Alternate the filters Operator Sxx and No Filter. Observe the differences. With No Filter active, the context menu of any object will contain the entire list of its aspects. The Operator Sxx filter will only allow the eleven aspect types chosen in the previous steps to be displayed in the menu.

2/5

System 800xA training

19.2.1.2 Assign the Aspect Filter to a User

) )

Open Sxx_Workplace then navigate to the Reactor Display (Sxx Process Display). Right click on Sxx_V1, note the entries in the context menu then close the workplace.

) )

Use the Select a Filter pull down menu in the Engineering Workplace to choose No Filter then navigate to the User Structure. Expand the objects and select the Engineer object under the User Group Operators.

3/5

T314-19 Solution 19.2 - RevB

) )

Open the Config View of the Workplace Profile Values aspect.

Select Plant Explorer Settings in the Names: column, then select the Local circle.

) )

Choose Operator Sxx from the pull down menu of the Default Filter tab then Apply. Reopen the Reactor Display in Sxx_Workplace and look at the context menu of Sxx_V1. Explain the difference from the list seen previously.

With the Operator Sxx filter active for the user engineer, only the selected aspect types will appear in the context menu.

4/5

System 800xA training

19.2.1.3 Define a Startup Display

) )

Close the Sxx_Workplace, navigate to the User Structure in the Engineering Workplace and select the Engineer object again. Open the Config View of the Workplace Profile Values aspect and select the WorkplaceStartObject then the Local circle.

Use the ObjectName: browse button to select Sxx_Reactor then Apply.

Open Sxx_Workplace to test.

Reset the filter and startup display to original values.

5/5

System 800xA training

Chapter 20 Import and Export

TABLE OF CONTENTS
Chapter 20 Import and Export ....................................................................................................................................................... 1 20.1 General Information........................................................................................................................................................... 2 20.1.1 Objectives ................................................................................................................................................................... 2 20.1.2 Legend ........................................................................................................................................................................ 2 20.2 Backup Methods ................................................................................................................................................................ 3 20.2.1 Cloning / Imaging ....................................................................................................................................................... 3 20.2.2 Full Backup / Restore ................................................................................................................................................. 3 20.2.3 Import / Export ........................................................................................................................................................... 4 20.3 Import / Export .................................................................................................................................................................. 5 20.3.1 User Interface.............................................................................................................................................................. 6 20.3.2 Precautions and Limitations........................................................................................................................................ 7 20.3.3 How to Export Data .................................................................................................................................................... 7 20.3.4 How to Import Data .................................................................................................................................................... 9 20.3.5 How to Create a Difference Report........................................................................................................................... 11 20.3.6 Hints for Selecting the Structures ............................................................................................................................. 12 20.3.7 Dependencies............................................................................................................................................................ 13 20.3.8 Resolving Errors ....................................................................................................................................................... 14

1 / 14

T314-20 Import and Export - RevB

20.1 General Information 20.1.1 Objectives


On completion of this chapter you will be able to: Describe the different Backup and Restore methods Use the Import / Export Tool

20.1.2 Legend
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 14

System 800xA training

20.2 Backup Methods


The backup and restore procedure consists of two different parts Backup of standard Windows system Backup of the System application data

20.2.1 Cloning / Imaging


There are several software packages available for backing up a complete disk or partition. For example, Norton Ghost is a cloning software that is often used. The result will be a compressed file that then could be copied to a CD disk or other computers disk. It is recommended that cloning/imaging software be used to save (and restore if necessary) an image of workstation hard drives after installation of third party software and/or after installing all software. However, it is important to understand the limitations and ramifications associated with these utilities. In some cases, such as corrupted data, corrupted software, or hard disk failures, these utilities can be useful. While in other cases, such as replacing a workstation these utilities may be of limited use.

20.2.2 Full Backup / Restore


Full Backup must be performed in order to save and restore the Aspect Directory of an 800xA system. Backups are always made on a running system, but you have to stop the system to perform a restore. Note that some information specific to certain functional areas is not saved during an 800xA system backup. The information that must be saved manually, such as Foundation Fieldbus, Asset Optimization, PC Network, 800xA for Advant Master, Control IT for AC800M, PLC Connect, 800xA for Harmony and etc. NOTE! Please refer to the manual for more information.

When a backup is used to restore a system, the following restrictions apply: The backup can only be restored to an 800xA system that is equivalent to the800xA system from which the backup was taken All 800xA software must be installed and of the same level (version, service pack, rollup, etc.) as when the backup was taken The same system extension must be installed as when the backup was taken The Domain server must contain the same configuration as when the backup was taken

3 / 14

T314-20 Import and Export - RevB

20.2.3 Import / Export


The Import/Export tool can be used to save 800xA system objects and aspects information one portion at a time. It stores the information in files outside of the running Aspect Directory. This tool can be used to transport applications between different aspect systems. For example: Import data from scratch. Save user defined objects and aspects off line. Use the Find Tool in Plant Explorer and export the results.

The Import/Export Tool should NEVER be used for the purposes of performing backups of your system as there are limitations on the number of total objects that the tool can handle and it is difficult to restore from Export files and maintain the necessary dependencies between objects and aspects that are threaded through a system. The main difference to the backup tool is that individually exported portions of 800xA information can be imported back into the original system or into a completely different system while backed up 800xA information can only be used to restore a specific system on specific workstations.

4 / 14

System 800xA training

20.3 Import / Export


The Import/Export tool allows objects to be stored and restored with their aspects. Objects are stored in structured afw-files. It is also possible to view the contents of an archived file. The Import/Export tool should be used to transport small applications in the form of object types and/or object instances between configurations.

The three common ways of using the Import/Export Tool are: Use the tool to import data from scratch. Save user defined objects and aspects off line. Use the Find Tool in Plant Explorer and export the results.

The Import/Export tool is a good tool for safe keeping of configurations. In a scenario where an upgrade of the system software is required then the Import/Export tool can be used. Use the tool to backup all project specific objects and aspects in an afw file. If for any reason these objects become corrupt or lost during the upgrade then the tool can be used to import them back into the system again.

5 / 14

T314-20 Import and Export - RevB

20.3.1 User Interface


You can call the Import/Export tool in two ways: Click on the icon in the Engineering Workplace

Select Start | Programs | ABB Industrial IT 800xA | System | Import Export

The user interface is designed to resemble the Plant Explorer as much as possible. It consists of two main areas; the object browser and the aspect list.
Object Browser Aspect List

The figure above shows the Import/Export tool with a file opened and an object selected. The aspects of the selected object are shown in the aspect list.

An action or option can be available from more than one place in the User Interface, like the toolbar or the context menu. NOTE! Please refer to the Online Help for more information.

6 / 14

System 800xA training

20.3.2 Precautions and Limitations


Do not export or import very large amounts of aspect objects at one and the same time. It is very time consuming and as the Import/Export tool loads the system significantly, you should avoid doing this for longer time periods. Drag and drop is only used for exporting data. Dragging an object or aspect from the Import/Export Tool to Plant Explorer is not the same as doing an Import/Export. NOTE! It will only make a copy of the object or aspect. Creating new GUIDs

20.3.3 How to Export Data


Objects and aspects can be added to an export archive by dragging from the Engineering Workplace into the Import/Export tool. 1. Drag an item and a new Add window appears which consists of three parts.

Include dependencies means objects and aspects from other structures will be included in the archive as well. For example, the Alarm List is dependent on the Alarm List Configuration aspect. When an alarm list is exported, it is important that the Alarm List Configuration is included. Otherwise the Alarm List aspect will not work correctly when imported later on. Include children includes the children of the object you have dragged into the import/export tool. The Overwrite existing data frame sets how the tools should react when data already exists when performing an import or export.

7 / 14

T314-20 Import and Export - RevB

2. With the advanced selection type aspects can be filtered.

3. When the settings are complete press Finish and the following progress window appears.

4. Click Save as to save the file with a new name.

8 / 14

System 800xA training

20.3.4 How to Import Data


Be extremely careful when importing objects and aspects into a running system. Overwriting running objects with incorrect versions could cause unexpected results. 1. Click Open to open an archive file with the extension .afw.

2. You can import single objects or aspects.

You can as well import the complete archive by selecting Import All.

9 / 14

T314-20 Import and Export - RevB

3. Select the system to which the import will be made.

4. Define the Import Settings.

If the Include Dependencies box is checked, the tool will import the selected items in dependency order. If the Include Children box is checked the application will import the selected objects children. These boxes are enabled only if an object is selected when making an import. If Import All is selected at the import, the items will always be imported in dependency order.

10 / 14

System 800xA training

5. Press Finish to start the import.

20.3.5 How to Create a Difference Report


Before import the file, we could check the difference between the file that is going to be imported and the current system. The dialog compares the current archive with other archives or the current system.

1. The dialog is launched from the View Menu. The Differences dialog is also available from the context menu of both aspects and objects.

2. Select the target system/archive and the source system/archive.

11 / 14

T314-20 Import and Export - RevB

3. The difference report is shown in a separate window.

20.3.6 Hints for Selecting the Structures


It is important that the full path is exported when exporting objects on a lower level in the hierarchy. Suggested items per structure are shown below: Aspect System Structure Only own defined Objects and Aspects Library Structure Only own defined Objects and Aspects Object Type Structure Only own defined Objects and Aspects (one file per library) Control Structure Control Network Object with no children Control Project with no children Each Application (one file per application / export all) Functional Structure One file per functional area Location Structure Workplace Structure Own defined workplaces

12 / 14

System 800xA training

20.3.7 Dependencies
The Import/Export function is dependency aware. This means that aspects which require another object to exist will be exported together in the export file with the objects upon which it is dependent. For example, if your Control Structure contains a user-defined custom object (lets say youve created an object type OPC Analog in the Object Type Structure) and you export the object, the object type will be exported automatically as well (unless this feature has been turned off in the tool options).

To view dependencies for an aspect, select the aspect and choose the dependent aspects by a simple right-mouse click. Alternatively click the Dependencies button in the tool bar.

Note that if the dependency is related to a system extension, then the dependency is noted in the export file, but the dependency object is not exported since it is assumed that it already exists as part of loading the extension into the system. During an import, the imported file might be dependent on a specific version of the System, a System Extension or a Library. In this case, it is necessary to resolve the dependencies by installing them - before continuing the import.

13 / 14

T314-20 Import and Export - RevB

20.3.8 Resolving Errors


While importing, there might be situations where a decision has to be made for the import to be able to continue. One common situation is when the parent of the object thats being imported, does not exist in the system. In such a case the following dialog will be presented.

In the example above an object named B has been marked for an import, but the parent of B (named A) does not exist in the system.

Another example below may be if an object already exists in the system, and the same object has been marked for an import. In this case it needs to be resolved with a decision to replace the object or aspect, skip the import for that object or aspect and then continue with the rest of the import.

NOTE!

Every decision made is logged and visible in the message window.

14 / 14

System 800xA training

Exercise 20.1 Exchanging Data Using Import/Export

20.1.1 Goals
The Import/Export tool is a mechanism for saving and retrieving objects and aspects in an active 800xA system. Export different parts of the Sxx_Project and save them to files. These files will be used to restore (import) certain objects and aspects after they have been deleted from the system.

20.1.2 Legend
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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-20 Exercise 20.1 - RevB

20.1.3 Exercise Steps 20.1.3.1 Export the Workplace

) ) )

Navigate to the Workplace Structure in the Engineering Workplace then select the Import/Export button from the toolbar.

Resize and reposition the two windows to fit onto the screen. Drag the Sxx_Workplace object into the left panel of the Import/Export dialog box then select Finish in the Add dialog box to accept dependencies.

In the Import/Export window, use the structure browser pull down menu to navigate to other structure dependencies and examine the objects and aspects in each.

) )

Use the File menu to save the contents of the Import/Export tool to a file named Workplace.afw on the desktop. Clear the Import/Export tool by selecting File | New.

2/4

System 800xA training

20.1.3.2 Export the Project


In the previous step, one object along with its dependent structures was exported and saved. If other non-dependent objects are desired to be a part of the same export, simply drag the appropriate objects into the left panel of the Import/Export tool. The entire contents of the Import/Export will be included in the same file when the export is saved. In the following example, the control project will be exported and then the Sxx_Plant object will be added. Therefore, the displays associated with the project can also be included in the saved file.

Drag the Sxx_Control_Network object from the Control Structure into the left panel of the Import/Export window.

) )

Examine all of the structure dependencies, especially the Functional Structure. Now drag Sxx_Plant from the Functional Structure into the Import/Export window then reexamine the objects in the Import/Exports functional structure. Explain.

Save as a desktop file named Project.afw then close the Import/Export window.

3/4

T314-20 Exercise 20.1 - RevB

20.1.3.3 Import Objects and Aspects

In the Engineering Workplace delete the following aspects in the Functional Structure. Sxx Alarm Overview Display on the Sxx_Plant object Sxx Process Display on the Sxx_Reactor object Graphic Display on the Sxx_Storage object Graphic Display on the Sxx_Tankfarm object

) )

Delete the Sxx_Workplace object from the Workplace Structure then try to open Sxx_Workplace from My ePlant. Explain. Open the Workplace.afw file into the Import/Export tool then use the menu Action | Import All.

) ) ) )

Observe the results in the Engineering Workplace then open Sxx_Workplace from My ePlant. Navigate through the displays in Sxx_Workplace using the links on the Overview and the Reactor displays. Explain the results. Open Project.afw into the Import/Export tool and navigate to its Functional Structure. Select the Graphic Display aspect of Sxx_Storage and use Import to recover just this one aspect.

) )

Repeat this process to import the Graphic Display aspect of Sxx_Tankfarm. Retry the links and the displays in Sxx_Workplace.

4/4

System 800xA training

Solution 20.1 Exchanging Data Using Import/Export

20.1.1.1 Export the Workplace

) )

Navigate to the Workplace Structure in the Engineering Workplace then select the Import/Export button from the toolbar.

Resize and reposition the two windows to fit onto the screen.

Drag the Sxx_Workplace object into the left panel of the Import/Export dialog box then select Finish in the Add dialog box to accept dependencies.

1/6

T314-20 Solution 20.1 - RevB

In the Import/Export window, use the structure browser pull down menu to navigate to other structure dependencies and examine the objects and aspects in each.

Use the File menu to save the contents of the Import/Export tool to a file named Workplace.afw on the desktop.

2/6

System 800xA training

Clear the Import/Export tool by selecting File | New.

20.1.1.2 Export the Project

Drag the Sxx_Control_Network object from the Control Structure into the left panel of the Import/Export window.

Examine all of the structure dependencies, especially the Functional Structure.

3/6

T314-20 Solution 20.1 - RevB

Now drag Sxx_Plant from the Functional Structure into the Import/Export window then reexamine the objects in the Import/Exports functional structure. Explain.

The control project required some objects in the Functional Structure but not all. By dragging Sxx_Plant into the export window, its objects and aspects were added.

) )

Save as a desktop file named Project.afw then close the Import/Export window.

20.1.1.3 Import Objects and Aspects


In the Engineering Workplace delete the following aspects in the Functional Structure. Sxx Alarm Overview Display on the Sxx_Plant object Sxx Process Display on the Sxx_Reactor object Graphic Display on the Sxx_Storage object Graphic Display on the Sxx_Tankfarm object

Delete the Sxx_Workplace object from the Workplace Structure then try to open Sxx_Workplace from My ePlant. Explain. Deleting Sxx_Workplace removes it from My ePlants context menu and makes it impossible to open.

4/6

System 800xA training

Open the Workplace.afw file into the Import/Export tool then use the menu Action | Import All.

Observe the results in the Engineering Workplace then open Sxx_Workplace from My ePlant. The workplace can now be opened because the object Sxx_Workplace and all of its aspects have been restored into the Workplace Structure.

Navigate through the displays in Sxx_Workplace using the links on the Overview and the Reactor displays. Explain the results.

The links and displays work except for those associated with Sxx_Storage and Sxx_Tankfarm. These displays were deleted previously, but were not restored from the Workplace.afw import.

5/6

T314-20 Solution 20.1 - RevB

Open Project.afw into the Import/Export tool and navigate to its Functional Structure.

Select the Graphic Display aspect of Sxx_Storage and use Import to recover just this one aspect.

Repeat this process to import the Graphic Display aspect of Sxx_Tankfarm.

Retry the links and the displays in Sxx_Workplace. All links and displays should now work because the missing aspects have been restored.

6/6

System 800xA training

Chapter 21 Function Designer

TABLE OF CONTENTS
Chapter 21 Function Designer ....................................................................................................................................................... 1 21.1 General Information........................................................................................................................................................... 2 21.1.1 Objectives ................................................................................................................................................................... 2 21.1.2 Legend ........................................................................................................................................................................ 2 21.2 Function Designer.............................................................................................................................................................. 3 21.2.1 General........................................................................................................................................................................ 3 21.2.2 Advantages ................................................................................................................................................................. 3 21.2.3 Restrictions ................................................................................................................................................................. 5 21.2.4 Workflow.................................................................................................................................................................... 6 21.3 Function Diagram .............................................................................................................................................................. 7 21.3.1 Naming Concept ......................................................................................................................................................... 7 21.3.2 Data Flow Order ......................................................................................................................................................... 8 21.3.3 Navigation................................................................................................................................................................... 9 21.3.4 Variable Objects ......................................................................................................................................................... 9 21.3.5 Hide/Unhide ports..................................................................................................................................................... 10 21.3.6 Page References........................................................................................................................................................ 11 21.3.7 Diagram References.................................................................................................................................................. 11 21.4 Generate Code and Download ......................................................................................................................................... 13 21.4.1 Allocate a Function Diagram .................................................................................................................................... 13 21.4.2 Generate Code .......................................................................................................................................................... 14 21.4.3 Generate Cross Communication ............................................................................................................................... 14 21.4.4 Download the controller ........................................................................................................................................... 14 21.5 Diagram States................................................................................................................................................................. 15 21.5.1 System Status Viewer ............................................................................................................................................... 16 21.6 Monitoring Tools ............................................................................................................................................................. 17 21.6.1 Display List............................................................................................................................................................... 17 21.6.2 Subscribe for Live Data ............................................................................................................................................ 17 21.6.3 Watch Window ......................................................................................................................................................... 18 21.7 Signal Objects.................................................................................................................................................................. 19 21.7.1 Workflow.................................................................................................................................................................. 19 21.7.2 Signal Object Types.................................................................................................................................................. 20 21.7.3 Parameterize Signal Objects ..................................................................................................................................... 20 21.7.4 IO Allocation ............................................................................................................................................................ 21 21.7.5 Read/Write Allocation .............................................................................................................................................. 21

1 / 21

T314-21 Function Designer - RevB

21.1 General Information 21.1.1 Objectives


On completion of this chapter you will be able to: Describe advantages and disadvantages State the main configuration steps Display and set values in online mode Describe the use of Signal objects

21.1.2 Legend
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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

2 / 21

System 800xA training

21.2 Function Designer 21.2.1 General


Function Designer is the engineering editor for function oriented planning in the 800xA system. The code is designed on a Function Diagram located in the Functional Structure. The shape of this diagram is a bit similar to the IEC-61131 Function Block Diagram language. The Function Diagram layout is extended with some special objects like Signal Objects and Fieldbus Builder Profibus/HART device objects. Based on the Function Diagrams, the Function Designer generates the code for the Control Builder M. There is the possibility to create user defined Control Modules Types with the Function Designer as well.

21.2.2 Advantages
Function Designer provides a number of advantages compared to engineering done in the Control Builder: Any kind of MMS cross communication is automatically generated. Combinations between Control Modules and Function Blocks on a Function Diagram are possible. Navigation between references to different pages within one Function Diagram, or between different Function Diagram. The objects names within a Function Diagram can start with a number and the use of a dash is allowed, e.g. 123FIC345-FD. Documentation of your plant according international standards. Generation of function oriented documentation in one step.

3 / 21

T314-21 Function Designer - RevB

From Sensor to Valve loop

Intuitive Navigation

Reference to other function

Reference to other sheet

Reference to nested function

4 / 21

System 800xA training

Instant Access / Monitoring

21.2.3 Restrictions
This version of the Function Designer does not support: Sequential Function Chart language Foundation Fieldbus

There are still some general procedures that have to be done in the Control Builder or Engineering Workplace: Create a control project Create the controller hardware objects and assign IP address Create the control applications and assign to the controllers Create the control tasks and assign to the applications

5 / 21

T314-21 Function Designer - RevB

21.2.4 Workflow
Working with Functional Designer is based on a workflow because there are still some steps need to be executed in the Control Builder M. Create function diagrams in the Functional Structure. Open a new project in Control Builder. The code generated by the function designer will initially be held in an unassigned application until the I/O has been allocated and the appropriate application selected and assigned. The code is then moved to that application. After allocation the application is downloaded to the controller. This has to be done with the Control Builder. NOTE! All the code which was generated by the Function Designer is read only in the Control Builder.

6 / 21

System 800xA training

21.3 Function Diagram


To instantiate your modules you have to create a Function Diagram (Function aspect). Function Designer offers three different views for the Function Diagram: Component view Diagram view Parent Diagram view

Use the Component view to create symbols or templates for function components. It is opened in the Object Type Structure. Use the Diagram view to create function diagrams and to insert function components. It is opened in the Functional Structure on the selected diagram object. Use the Parent Diagram view as an alternative to Diagram view to quickly find and navigate to a component. It is opened in the Functional Structure on the selected component object, and it displays and automatically navigates to the component in its parent diagram. The Function Designer offers the possibility to open simultaneously several diagram /component documents. Each diagram/component document is opened in a separate window, such that you can have several windows open at the same time. The Function Designer also offers the possibility to open the same diagram in several windows. That can be useful, for example, to display different parts or pages of a diagram/component simultaneously in different windows.

21.3.1 Naming Concept


Each Aspect Object in the Engineering Workplace has a Name aspect. For control objects there is an additional Control Builder Name aspect which gets synchronized with the name in the Project Explorer, and therefore always follow the IEC 61131-3 naming concept (no number in front, like 123FIC456). NOTE! If a name is entered in a Function Diagram that does not fit the IEC 61131-3 conventions, then the Function Designer changes the Control Builder Name so that this fits. Example: The name 123FIC456 in the Engineering Workplace will set to x123FIC456 in the Control Builder Name. Use the Name aspect for changing a name. Function Designer will take care about the Control Builder Name aspect.

7 / 21

T314-21 Function Designer - RevB

21.3.2 Data Flow Order


The Data Flow Order is the order how the modules are executed (in previous version of the Function Designer this was called Execution Order) in the Control Builder. All symbols have a Data Flow Order number, because the Function Designer needs to generate Move blocks between some connections in the Control Builder code for different situations, e.g. for a diagram reference. A default Data Flow Order number is determined automatically by the Function Designer, when instantiating a new component.
Data Flow Order: 7

To define a new Data Flow Order, use the Allocation | Define Data Flow Order.

8 / 21

System 800xA training

21.3.3 Navigation
The Function Designer is integrated into the Aspect Object system and provides powerful navigation functionalities. All navigation is based on the usual way aspects are handled (right click onto the object).

21.3.4 Variable Objects


If you want to set some constants or initial values to a structured variable you need a variable object in the Functional Diagram.
Variable object

NOTE!

Place the cursor above the port you want to connect the variable to and the tool tip will display the data type.

If there is a black triangle displayed in the left bottom corner of the variable object, then some ports of this object are hidden. To unhide this ports open the Show hidden port(s) dialog from the Context Menu of the variable object.

9 / 21

T314-21 Function Designer - RevB

21.3.5 Hide/Unhide ports


Ports of a module that are not needed could be set into hidden mode. This is indicated with a back triangle in the left bottom corner of the module.
Some ports are hidden

Open the Context Menu of the module and select Show hidden ports to unhide ports.

To hide some ports click onto the port, open the Context Menu for the port and select Hide Port(s). Multiple selection of ports is possible with the use of the <Shift> key or <CTRL> key.

10 / 21

System 800xA training

21.3.6 Page References


In order to make configurations easier to understand, diagrams may be spread over 2 or more pages.
Page Connections

To navigate between the page references select a reference with a left click and press the key or key to jump to the next reference.

21.3.7 Diagram References


Another possibility to split function diagrams is the use of (off-) diagram references. You can navigate through a group of function diagrams that are connected via diagram references. This is also referred to as horizontal navigation. There is no restriction in connecting / referencing diagrams located anywhere in the Functional Structure. Each Diagram Reference has a name and a global variable where it is connected to. If the connected diagrams are allocated to different applications, then a cross communication (MMS communication) is needed. This is indicated with a blue box in the Diagram Reference sign.

SetAuto Reference Name _778LD789_Out1 Global variable name 456FIC789 Name of the referenced diagram MMS Cross communication is needed

To navigate between diagram references, right click on the reference block and left click on Goto Reference.

11 / 21

T314-21 Function Designer - RevB

12 / 21

System 800xA training

21.4 Generate Code and Download


Before the code in the Control Builder is ready to download into the controller, the code of the Function Diagrams has to be generated. First of all the Function Diagram has to be allocated to a control application. So far the diagram is located in a temp application for the Function Designer, called Unallocated_Inst_App. All unallocated Function Diagrams are located at this place.

21.4.1 Allocate a Function Diagram


Allocating a Function Diagram will move it from the unallocated temporary application to the desired application. The Allocatable Group aspect provides the allocation information for the Function Diagram as well as the possibility of code generation. The aspect is located at the Function Diagram object.

The Allocate button opens an application selecting dialog. Selecting one application will move the Function Diagram from the unallocated application.

13 / 21

T314-21 Function Designer - RevB

21.4.2 Generate Code


After allocating the Function Diagram to an application it is necessary to generate the code for this diagram in the Control Builder. The Function Designer provides two kinds of code generations: Generate Configuration Data (Full Build) All code will be generated. Generate Configuration Data Only the changed code will be generated. You can save some time by using this option.

When the code is generated in an open Function Diagram and an error occurs, then the generation will stop.

21.4.3 Generate Cross Communication


The cross communication (MMS communication) for the control applications is generated by the FD. Generating the cross communication is the final step before download the code into the controller. Because of that some preconditions exist: All the applications have to be assigned to the controllers. The IP addresses have to be assigned to the controllers. The code generation for the diagrams was executed.

21.4.4 Download the controller


Downloading to the controller has to be done via Control Builder and is done in the usual way. It is then possible to dynamically monitor the process from the Function Designer.

14 / 21

System 800xA training

21.5 Diagram States


Diagram states answer the following questions: Which diagrams are not yet been allocated to any application? Which diagrams are actually loaded into the controller? Which diagrams have been altered since loading them into the controller?

The diagram state is indicated in Function Designers status bar.

The basic indicators are: Unallocated (white indicator) The diagram has not been assigned to any application in the Control Builder. Modified (red indicator) The diagram has been altered (compared to what is in the Control Builder) Generated (yellow indicator) Code generation was successful, but the diagram is not loaded into the controller so far. Loaded (green indicator) The diagram is loaded into the controller. In this state you can perform online operations Unknown due to bad OPC quality (yellow indicator with red line) The state cannot be determined because no data is received from OPC server.

15 / 21

T314-21 Function Designer - RevB

21.5.1 System Status Viewer


The status of all diagrams in a (sub) tree of a structure can also be checked using the System Status Viewer.

You can create your own System Status Viewer aspect in the Functional Structure by creating a new aspect.

Open the Main View of the System Status Viewer aspect to get info about the status of the diagrams.

NOTE!

The aspect lists all the diagrams that exist below this object.

16 / 21

System 800xA training

21.6 Monitoring Tools 21.6.1 Display List


The Display List is a method of displaying live data on the diagram. For example a direct connection between 2 modules would not necessarily display a value. This can be carried out either on or off line. To get the connection values visible on the diagram a functionality called Add All Links to Display List exist. If you want to see the live value for a port of a module you have to select this port and left click onto Online | Add to Display List. This is also possible if you select the complete module (left click onto the module).

If the action is carried out off line an asterisk (*) will be displayed in the box until live data is subscribed.

21.6.2 Subscribe for Live Data


Subscribe for live data will display the OPC live values in the Function Diagram. Left click onto Online | Subscribe for Live Data will enable this functionality. From now on it is possible to deal with the Watch Window as well.

The OPC value is visible

17 / 21

T314-21 Function Designer - RevB

21.6.3 Watch Window


The Watch window allows listing/editing of variables and properties on the diagram. Open the Watch window by right clicking on the toolbar as previously done for Structure Browser etc.

Click the Add button to open the Watch Window dialogue box. Browse for the required variables and properties. Multi selection is possible by using the <Shift> or <CTRL> keys.

When Subscribe for Live Data is selected the current state or value is displayed. Enter a new value and press the Send Change button to write the new value.

18 / 21

System 800xA training

21.7 Signal Objects


The Signal Object functionality provides a way to get an Aspect Object for each signal. Without Signal Objects there is only a variable available in the Control Builder assigned to the channel of a board and no visual presentation in the Engineering Workplace. Signal Objects can be used in the Function Designer. They are displayed with a graphical symbol and can be connected graphically as well.

When using Signal Objects the system will create the needed variables in the Control Builder automatically and will assign it to the channels as well.

21.7.1 Workflow
Working with the Signal Objects is based on a kind of workflow. Creation of Signal Objects Create the Signals in the Functional Structure. Edit Signal Properties Fill in the values for various properties like Min and Max value. Allocate Signals to IO Boards Use the IO Allocation Assistant to allocate the signals to the IO boards or do it manually with the Insert Object functionality of the Engineering Workplace. Write allocation data to Control Builder Execute the Write Allocation into CBM functionality to generate the signal variables, to assign the variables to the boards and to write the parameter to the Control Builder project.

19 / 21

T314-21 Function Designer - RevB

21.7.2 Signal Object Types


There are five Object Types available. They are located in the Object Type Structure in the folder Object Types | Control System | AC800m/C Connect | CBM_Signals. Object Type CBM_AIS CBM_AOS CBM_DIS CBM_DOS CBM_PulseS To be used for Analog in boards, like AI810 Analog out boards, like AO810 Digital in boards, like DI810 Digital out boards, like DO810 Pulse boards, like DP820

21.7.3 Parameterize Signal Objects


Each Signal Object contains a set of parameters. This allows entering signal data at an early stage without the necessity to create the specific I/O boards at that time. The allocation of signals to boards can be done in a later step.

20 / 21

System 800xA training

21.7.4 IO Allocation
IO Allocation is the process of allocating signal objects to free channels of compatible I/O boards. Each signal of the Functional Structure has to be allocated to an IO board of the Control Structure. An allocated signal can be seen in the Functional Structure and in the Control Structure as well. The location in the Functional Structure is flexible; whereas the location in the Control Structure is fixed (child object below the board object).

21.7.5 Read/Write Allocation


The signal data as well as the allocation information needs to be written into the Control Builder M in order to update the properties of the IO boards, set the connection strings, etc. Select an object in the Control Structure, click the right mouse button and select the menu item Advanced | Write Allocation into CBM. Depending on the selection either data of an individual signal, a complete IO board or a controller with all IO boards is written into the Control Builder.

21 / 21

System 800xA training

Exercise 21.1 Monitoring a Function Diagram

21.1.1 Goals
Area_1, Area_2, and Area_3 are child objects of Sxx_FD_Plant in the Functional Structure. They are Single Control Modules that have been created using the Function Designer. The diagram contains the logic within the three modules and indicates that a Boolean output of Area_1 is being used as an input for each of the other two control modules. The tools within Function Designer will be used to change values and follow the logic through these control modules.

Bool 2 Bool 6

O R O R

Area 1 OUT Bool 3

A N D AREA 2

Bool 5

Bool 4 Bool 1

A N D

Bool 8

AREA 1

Real 3 Real 1 Real 2

A D D

S E L

Real 4

AREA 3

21.1.2 Legend
<> | Bold Indicates a key name. Indicates when you go from one menu to a sub-menu. 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-21 Exercise 21.1 - RevB

21.1.3 Exercise Steps


The Engineering Workplace is required to open the Function Designer.

21.1.3.1 Subscribe for Live Data

) )

Navigate to the Functional Structure; select the Area_1 object then select Diagram from the context menu of the Function aspect. In the lower right corner of the diagram, verify that the status indicator is green (loaded into the controller and capable of online operations).

) ) ) )

Choose to Add all Links to Display List from the Online menu. In the diagram, click on the BoolVar2 object (top left gray box) then press <F7> or select Add to Display List from the Online menu. Repeat for the other two Boolean variable inputs. After selecting Watch Window from the Online menu, press the Add button in the lower left of the window to open another dialog box. With Area_1 selected in the left panel, select BoolVar2 then Apply. Repeat the select and apply for BoolVar6 and BoolVar4 then press Close.

)
2/4

Verify that all three items are in the Watch Window then select Subscribe for Live Data from the Online menu.

System 800xA training

Verify that values appear within the logic and in the Watch Window.

21.1.3.2 Change Values Online

Select BoolVar4 in the Watch Window, type <1> in the entry field at the bottom of the window then press Send Change. Observe the values in the logic.

21.1.3.3 Reference another Function Diagram

) )

Right click on the Area_1_Output block in the diagram then select Goto Reference from the list. Choose Root/Sxx_FD_Plant/Area_2/Input1 then OK to open the diagram for Area_2.

In the Area_2 diagram add all the input blocks and internal links to the display list, add the input BoolVar3 to the Watch Window and subscribe for live data.

3/4

T314-21 Exercise 21.1 - RevB

Since the object Area_1_Output is also used as an input for Area_3, go back to it in the Area_1 tab and select the reference line pointing to Area_3 from its Goto Reference dialog box.

) )

In the Area_3 diagram add the input blocks and internal links to the display list, insert the three inputs into the Watch Window then subscribe for live data.

Change the real values for the inputs to monitor the logic.

) )

Go back to the diagram for Area_1, change the value of BoolVar2 or BoolVar6 to 1 then follow the logic through the other two areas.

Close the function windows.

4/4

System 800xA training

Solution 21.1 Monitoring a Function Diagram

21.1.1.1 Subscribe for Live Data

Navigate to the Functional Structure; select the Area_1 object then select Diagram from the context menu of the Function aspect.

In the lower right corner of the diagram, verify that the status indicator is green (loaded into the controller and capable of online operations).

Choose to Add all Links to Display List from the Online menu.

Red boxes used to display the live values are added for all of the internal connections.

1/7

T314-21 Solution 21.1 - RevB

In the diagram, click on the BoolVar2 object (top left gray box) then press <F7> or select Add to Display List from the Online menu. Repeat for the other two Boolean variable inputs.

Red value boxes are added to the input blocks.

After selecting Watch Window from the Online menu, press the Add button in the lower left of the window to open another dialog box.

2/7

System 800xA training

With Area_1 selected in the left panel, select BoolVar2 then Apply. Repeat the select and apply for BoolVar6 and BoolVar4 then press Close.

Verify that all three items are in the Watch Window then select Subscribe for Live Data from the Online menu.

Verify that values appear within the logic and in the Watch Window.

3/7

T314-21 Solution 21.1 - RevB

21.1.1.2 Change Values Online

Select BoolVar4 in the Watch Window, type <1> in the entry field at the bottom of the window then press Send Change. Observe the values in the logic.

21.1.1.3 Reference another Function Diagram

Right click on the Area_1_Output block in the diagram then select Goto Reference from the list.

Choose Root/Sxx_FD_Plant/Area_2/Input1 then OK to open the diagram for Area_2.

4/7

System 800xA training

In the Area_2 diagram add all the input blocks and internal links to the display list, add the input BoolVar3 to the Watch Window and subscribe for live data.

Since the object Area_1_Output is also used as an input for Area_3, go back to it in the Area_1 tab and select the reference line pointing to Area_3 from its Goto Reference dialog box.

5/7

T314-21 Solution 21.1 - RevB

In the Area_3 diagram add the input blocks and internal links to the display list, insert the three inputs into the Watch Window then subscribe for live data.

Change the real values for the inputs to monitor the logic.

Select one of the variables in the Watch Window, type a new value in the entry box (lower left) then Send Change. New value will appear in the Watch Window and in the red value boxes in the logic.

6/7

System 800xA training

Go back to the diagram for Area_1, change the value of BoolVar2 or BoolVar6 to 1 then follow the logic through the other two areas.

With BoolVar2 or BoolVar6 set to True, the output of Area_1 will be True. In Area_2 this becomes an input for an AND gate. In Area_3, it triggers the selector switch and causes its output to change from the value on IN0 to the value on IN1.

7/7

Potrebbero piacerti anche