Professional Documents
Culture Documents
T314 Manual Pages PDF
T314 Manual Pages PDF
Course T314
Release 04-2006
3BDS013442 / Rev B
Course T314
Release 04-2006
3BDS013442 / Rev B
Course T314
Release 04-2006
3BDS013442 / Rev B
Course T314
Release 04-2006
3BDS013442 / Rev B
Course T314
Release 04-2006
3BDS013442 / Rev B
Contents
Course T314
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
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.
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
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
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
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
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
2/4
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
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.
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
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
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
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
Control Network
2/9
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
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
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
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
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
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
Hardware model
Software Simulation
7/9
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
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
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
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
9/9
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
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
Information Management
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
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
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
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)
Windows 2000 / XP Internet Explorer Visual Basic ActiveX Controls OPC - OLE for Process Control Microsoft Component Object Model (COM) Profibus Fieldbus Foundation
5 / 22
6 / 22
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
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
9 / 22
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
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
12 / 22
Domain Server(s)
Application Server(s)
Aspect Server(s)
Connectivity Server(s)
- Single - 1oo2
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
14 / 22
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
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
16 / 22
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
The recommended solution to implement remote clients is Microsoft Terminal Server (available as option to Windows 2003 Server).
17 / 22
18 / 22
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
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
21 / 22
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
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
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
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
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
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
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
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.
It is always visible and allows the user fast access to information. It can be configured just like the Application Bar.
4 / 29
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.
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
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
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
Aspect Menu
Display Shortcuts
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
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
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.
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.
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
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
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.
12 / 29
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
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
This is the most familiar presentation, alarms end events are presented in a list format with one line for each alarm:
Object Description
Object Name
15/ 29
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
3.4.3 Faceplate
Faceplates have by default an alarm indication and the alarm can be acknowledged.
Alarm indication
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
18 / 29
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
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
Select a group of individual alarms and then, - select Acknowledge Selected in the context menu or
Right click on an object in, for example, a process display or process graphic, then click on the Acknowledge verb in the context menu.
21/ 29
! !
22 / 29
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
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
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.
25/ 29
Data collection status: Green everything OK Blinking yellow - fetching data Red Data is missing Current value
Ruler time
Object name
Logged property
Low/High Range
26 / 29
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
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
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
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
Identify the three main regions of the screen: 1. Application Bar 2. Panel Area 3. Status Bar
2/8
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.
3/8
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>:
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.
Go to the Reactor Display and hover the mouse over the various objects. Note how the highlighting is shown in the system.
4/8
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.
) ) )
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
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.
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.
) )
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
Open the Reactor Display and set Auto mode for V1, V2, V5, V6, and the Mixer through the faceplates.
Select any of the valves V1, V5, V2, or V6. The objects faceplate will pop-up.
7/8
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
3.1.1 Solutions
Identify the three main regions of the screen: 1. Application Bar 2. Panel Area 3. Status Bar
1 / 10
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
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.
3 / 10
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
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.
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
) )
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.
6 / 10
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
Process Operation
7 / 10
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.
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
Open the Reactor Display and set Auto mode for V1, V2, V5, V6, and the Mixer through the faceplates.
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.
) )
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
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
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
) )
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.
Click on the Sxx_Reactor alarm band and check the alarms in the list.
2/5
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
) ) )
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.
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
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.
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
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
) )
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).
Acknowledge the Tank Overflow alarm by clicking on the acknowledgement box on the extreme left of the alarm line. An entry in an alarm list may also be acknowledged by selecting the individual alarm line, then either select the green check mark above the heading line or select Acknowledge from the context menu.
2/5
Generate a temperature alarm (either high or low), then acknowledge it by selecting the alarm button on the faceplate.
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
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 Class
) ) )
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
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.
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
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
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.
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
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
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.
) )
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
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.
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
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
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.
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
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
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
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
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
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
T = 67 C
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).
ASPECT PREVIEW
5 / 24
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!
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
7 / 24
8 / 24
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
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
NOTE!
11 / 24
12 / 24
13 / 24
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.
14 / 24
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
16 / 24
Select the Object type, give it a unique name and select Create.
17 / 24
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.
18 / 24
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
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.
20 / 24
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.
21 / 24
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.
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
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!
23 / 24
NOTE!
24 / 24
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
) )
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
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
) )
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
) )
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
) )
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
1/6
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
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.
) )
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
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
) )
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
6/6
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
) )
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?
Select the Root, Domain object, right click and choose New Object from the context menu.
2/7
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
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
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
) )
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
) )
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
) )
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
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.
) ) )
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
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.
3/7
) )
Right click on the Sxx_Exercises object and select Insert Object Select the Control Structure, expand the object tree, select Sxx_V1 then push the Insert button.
In the same dialog box, select Sxx_V2, push Insert then Close.
4/7
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. 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
) )
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
Instead of selecting Main View, select Go to object from the context menu. What is the result?
) )
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
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
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
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
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
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 / 16
800xA Clients
Client/Server Network
Afw OPC Service Service Group Service Provider Service Provider Service Group Service Provider Service Provider
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
800xA Clients
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
8 / 16
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
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
11 / 16
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.
You have to connect to an OPC Alarm Server (collector) before you can get any alarms and events.
12 / 16
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
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
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
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
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
) )
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.
) )
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
Select the OpcDA_Connector service object and then the Service Definition aspect. The Status tab indicates the state and the node providing this service.
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.
3/6
) )
Explore the Configuration tab taking note of the Enabled flag and the contents of the Service Node field. Expand the Event Collector service and note that there are two service groups and service providers. The AC800M HW Service Group and associated provider are being used for the hardware controller.
) )
Repeat the steps above in exploring configuration details and the status of both the AC800M service group and the AC800M service provider. Select the AC800M HW service group object again, then the Service Group Definition aspect. Now, select the Special Configuration tab to reveal the type of alarm and event server that will be providing the data.
4/6
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.
5/6
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.
Select the Main View from the context menu of the System Status Viewer.
6/6
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
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
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
4 / 24
Right mouse click on the Project_XX, Control Project of the Control Structure and select Open Project from the context menu.
5 / 24
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
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
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
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
CTRL-D
9 / 24
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
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
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
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
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
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
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.
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
NOTE!
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
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
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
NOTE!
Code blocks may be rearranged by clicking right on the tab and selecting Arrange from the Context menu.
19 / 24
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
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
22 / 24
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
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
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
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
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
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.
4/5
) ) ) )
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
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
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
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.
3/3
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
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
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
Redundant PM865
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
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
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
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
NOTE!
A Compact Flash card can be used for non-volatile storage of application and data.
6 / 38
Ethernet ports
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
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
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
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.
No No No No
9 / 38
TB850
or
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
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
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
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
I/O cluster 2
I/O cluster 3
I/O cluster 4
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
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
NOTE!
CI830 is going to be replaced by CI801 in the future to support the HART protocol.
15 / 38
Note that the position number for the CI851 is the physical location on the CEX-bus, while the position for the CI830 is the ProfiBus node number.
NOTE!
16 / 38
17 / 38
Compact
NOTE!
Extended
Mechanical key protection prevents wrong I/O module type from being inserted.
18 / 38
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
CEX -bus splitter BC810 Redundant PROFIBUS CI CI854A Redundancy Link Cable Redundant S800 I/O as direct I/O
20 / 38
21 / 38
TU846 or TU847
22 / 38
As you can see above, there are 4 IO modules connected to Module bus and 5 IO modules connected to Profibus.
23 / 38
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.
24 / 38
25 / 38
Be careful to check the CI830s position value is consistent with the address settings of the two switches on CI830 board.
26 / 38
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
Signal Range This setting specifies the electrical signal range; 0-20 mA, 0-10 V etc.
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
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
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.
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
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.
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
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
You may disable the difference report function in CBM by click Tools, then click Difference Report Settings.
33 / 38
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.
34 / 38
To enter online mode, go to the tool bar menu of the Control Builder, click on Tools and then click on Online.
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
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
37 / 38
3. Start the SoftController by double-click the icon on the desktop or choose the path below:
4. Click Start.
38 / 38
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
) )
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
) ) )
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.
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
) ) ) )
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.
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
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.
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
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
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
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
) )
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.
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
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.
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
) )
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
) ) ) ) ) ) ) )
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.
) ) )
Take the Control Builder offline by using the Offline icon in the toolbar.
Proceed through any dialog boxes with Continue until the message Test mode started appears in the message pane.
5/6
) ) )
Open Program2 then test the logic by right clicking on the signal gSw4.value and selecting ON from the context menu. Continue to test the logic as you wish, then close the editor. Put the Control Builder in the offline mode.
6/6
) )
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
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
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.
) )
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
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
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.
Turn OFF the switch, deselect the forced bit then observe the values again.
5/7
) )
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.
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
) ) )
Take the Control Builder offline by using the Offline icon in 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
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
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
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
Note that in the control builder Project Tree, types have bright green icons and instances have cyan icons.
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
The data types are used by variables declared within the application. A variable may be considered as an instance of a data type.
5 / 22
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.
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
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.
7 / 22
8 / 22
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
As can be seen the functions provide arithmetic, comparison, logical operations, data type conversion, timers, date and time handling amongst others.
10 / 22
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
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
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
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
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
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.
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
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
18 / 22
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
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
3. Select the library that is required in the dialogue and click the Insert button.
21 / 22
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
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
) ) ) ) )
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.
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
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?
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
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
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
Find the ControlStandardLib in the Object Type Structure then compare its list of control modules with ControlStandardLib in Control Builder.
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
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?
4/5
Select Libraries in the Project Explorer of Control Builder, open its context menu, then select Insert Library.
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
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
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
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).
Two sorts of variable may be declared within an application (by selecting the appropriate tab at the bottom of the editor).
3 / 24
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.
Variables declared inside a program are known only within that program. They are local to the program itself.
4 / 24
Variables declared inside a function block are local to the function block.
Variables declared inside a control module are local to the control module.
5 / 24
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.
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
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
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.
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
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
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
10 / 24
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
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
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
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
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
Data types defined in libraries become available to all applications (and libraries) that have that library connected to them.
After selecting New Data Type enter the components in the editor, you can define the components.
16 / 24
The example below shows the definition of the TankType example above.
If you want to set the Full component of the Tank variable to 1 (i.e. "True"), write:
Tank1_Data.full := true ;
17 / 24
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
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
20 / 24
1. Select the library in which the data type is to be defined 2. Select Data Types, right click and select New Data Type
4. Define the components of the data type by selecting the editor for the data type
21 / 24
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
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.
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
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
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
) ) ) ) ) )
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
) ) )
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.
3/3
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
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
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!
3/5
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
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.
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
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
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
Structure Pane
FBD Pane
3 / 20
Description
Assigns the value (number, logical or string) of the input parameter to the output parameter.
Description
Negates the Boolean value (1/0, on/off or True/False).
Description
Exponential, i.e. raising to the power.
Description
4 / 20
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
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.
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.
6 / 20
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
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
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
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
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
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.
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
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
14 / 20
Controller_1.0.11.3.1
Channel 1
15 / 20
Always use a RealIO type when you connect to an Analogue Input or Analogue Output channel.
16 / 20
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
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
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
The FBD editor inserts the page break above this function block or function and repaginates the Function Block Diagram code block.
20 / 20
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
) ) ) ) ) ) )
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
2/5
) )
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.
) )
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
) )
Save and close the program then verify the program logic in Test Mode. Return to Offline mode.
) )
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
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.
) ) )
) )
Further test by forcing selected I/O. Reset any forced bits then return to the Offline mode.
5/5
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
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
Select the Insert Function / Function Block button AND and an OR gate into the code pane.
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.
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
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.
4/7
) )
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.
) )
5/7
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.
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
Save and close the program then verify the program logic in Test Mode.
7/7
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
) ) ) ) )
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
) ) )
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
) )
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
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.
) ) )
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
) )
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
) ) )
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
Make the following connections, then save and close the program.
2/7
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
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
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
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.
) )
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
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.
) )
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
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
) ) ) ) ) ) ) ) ) )
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.
) ) )
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
) )
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.
) ) ) ) ) ) )
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
) ) )
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
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
) ) ) )
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
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.
3/6
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.
Return Control Builder to Offline and declare the following global variables.
4/6
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
Connect the input of the Move to the gMaster_Reset.value variable and the output to the gMixer_Ctr_Reset.value variable.
gMixer_Ctr_Reset.Value
Also connect the gMaster_Reset.value variable to the Reset terminal of the CTU.
Save and close the editor. Download and test as before then use switch14 on the operator panel to reset the counters.
The first figure shows the CTU with a count value of 14. The second figure shows the result of switch14 being set -- the count value and tank counter both get reset to 0.
6/6
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
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
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
4 / 20
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.
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.
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 *)
This is useful for commenting out large blocks of code containing comments.
5 / 20
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)
Description
Exponential, i.e. raising to the power
Description
6 / 20
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
Lowest
If you are unsure of the evaluation order then use parenthesis to force evaluation of sub-expressions.
7 / 20
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!
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
Operator
FOR i := 0 to 15 DO Statement(s); END_FOR;
EXIT
9 / 20
11.3.8 Functions
Functions are called inside expressions with the following syntax: Var := FunctionName(Parameter(s)) e.g.
Height := Distance * Tan(Angle)
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
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 / 20
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
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:
13 / 20
14 / 20
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
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
Double clicking on the error message line places the cursor at the end of the statement with the problem:
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
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
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:
19 / 20
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
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
) ) ) ) ) ) )
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
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.
) )
Type the following into the code pane. (* Converts DegC to DegK *) Temp_K := gTemp.Value + 273.15;
1/2
From the Reactor Display, run the batch process or manually adjust temperature to test the calculation. Open the online program editor to monitor the results.
2/2
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
) ) ) ) ) ) )
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
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.
) ) ) )
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
) ) )
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
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.
Save and close the parameter list editor, then observe the code that was created in the code pane.
2/4
Right click anywhere in the text of the Sxx_V2 function block call and select Edit Parameter List from the context menu.
3/4
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
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
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.
2/2
) ) )
Open the Sxx_Additions program and create a new ST code pane named Overflow_AlarmFlash.
1/3
In the code pane, type the name of the function block instance followed by the open parenthesis so that the parameter list dialog box appears.
Use the parameter list dialog box to connect: - Enable to gOverflow.Value - PulseTime to AlarmPulseTime - PeriodTime to AlarmPeriodTime - Out to gAlarm_Ord.Value
Save and close the dialog box and note the code that was generated.
2/3
) )
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
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
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
Execute Code
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!
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
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
5 / 15
2. The New Task dialog box is displayed. Type in the task name and click onto the OK button. 3. After the task has been created, it is time to configure the task with new properties (see Task Settings later on in this chapter).
NOTE!
6 / 15
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
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
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
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
You can command a task that is in halt to execute one scan each time you click the One Scan button.
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
12 / 15
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).
NOTE!
The numbers in the interaction window are not valid in Simulate mode.
13 / 15
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
15 / 15
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
) ) ) ) )
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.
) )
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
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)
3/3
) )
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
** When a unit does not have a specified connection, it will assume the task assignment of the application to which it belongs. In this case, Sxx_ReactorApp.
2/5
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.
) )
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
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
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)
5/5
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
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
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.
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
Control module 1
aVar1
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
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
Control Module
Graphics
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
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
Note that types are shown with green icons, whereas instances are shown with blue icons.
7 / 24
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
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
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
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
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
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
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.
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).
14 / 24
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
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.
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
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
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.
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
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.
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
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
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.
21 / 24
22 / 24
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
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
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
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
The Level2CC will be inserted between the AICC and the Tap (the first two on the left).
) ) )
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
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
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
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.
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
Double click on the error line and it will navigate directly to the dialog box where the error was detected.
) )
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
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.
) ) )
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
) ) )
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
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
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
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.
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
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
After downloading, right click on the Sxx_FT1_Alarms control module in the project tree and select the Interaction Window.
6/8
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)
7/8
This also shows the values of the AlState variables. Faceplate (Engineering Workplace)
) )
8/8
Change the limits using one or more of the windows listed above. Return to the Offline mode.
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
) ) ) )
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
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
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
) )
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.
) )
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
) ) )
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
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
Graphically make these two connections. AnalogInCC Out PIDCC PV PIDCC Out ThreePosC In
3/8
Open the editor for the Sxx_Extensions SCM and declare these three parameters.
4/8
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
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
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
6/8
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
7/8
) )
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
The three conditions (No output, Decrease, Increase) are shown in the interaction windows of Sxx_PID and Sxx_Out.
8/8
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
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
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
Theoretically, there are two types of logic which are required to solve all process control problems. These are described in the following sections.
Input n
Output n
4 / 23
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.
5 / 23
NOTE!
To delete a step, you must select the step AND the corresponding transition.
6 / 23
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
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.
View > Step into Subsequence View > Step out of Subsequence
8 / 23
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
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!
10 / 23
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:
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
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
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
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
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
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
NOTE!
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
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
The transition display can be switched between a display from a function plan perspective and a display in list form.
19 / 23
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!
Deactivate Tools | SFC Viewer Aspect on the SFC code block and activate it again.
20 / 23
You can find some more information in the on-line help of the Control Builder.
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
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
23 / 23
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
) )
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
Declare SP_Preheating as a local variable. - Data Type = Real - Attribute = Retain - Initial Value = 22.0
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
3/4
) ) ) ) ) ) ) )
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
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.
1/7
Using the context menu of each, rename the new step Preheating and the new transition Preheating_OK.
2/7
Declare SP_Preheating as a local variable. - Data Type = Real - Attribute = Retain - Initial Value = 22.0
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
Select the Preheating_OK transition and type the following into the code pane. gTemp.Value >= SP_Preheating
4/7
) )
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
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
Select a step or transition and test the various states of the buttons that are available.
7/7
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
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
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
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.
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
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.
5/7
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
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
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
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
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
Beep!
Aspect Server
Beep!
Workplaces (clients) Client/server Network
3
Connectivity Server
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
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
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
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!
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
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.
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
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
10 / 12
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
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
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
) ) ) )
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?
) ) ) )
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
) ) ) )
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
) )
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
Determine which tab (Sort, Priorities, Column, Date/Time, Filter) is used to define the following. Type of messages: Events or alarms? Filter
2/7
3/7
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
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
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.
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
Use one of the two methods (Insert Object or change Alarm Filter) to have Sxx_LSL1 events appear in this list.
7/7
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
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
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
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
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
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
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
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.
Deploy the graphic display by selecting File | Deploy or clicking on the Deploy button. Save the graphic display by selecting File | Save or clicking on the Save button.
NOTE!
8 / 28
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
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
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.
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.
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
Click on the Apply or OK button. The selected libraries are presented under their respective button in the toolbox.
12 / 28
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
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.
14 / 28
3. Format the text by selecting the text box. Open the Font dialog in the Properties Window.
15 / 28
3. When an object has been selected. The Element Browser will list all reusable graphic elements in a list.
16 / 28
Drag and drop the aspect (graphic element) into the drawing area.
17 / 28
Functional Structure
Valve1
Control Module Graphic Elements
OPC Properties:
Value Blocked Alarm etc
By selecting the correct property and deploy the display you can get a dynamic value in the display.
18 / 28
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
20 / 28
3. To open the property pages please open the Context Menu for the SFStandard graphic and select Properties.
21 / 28
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
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
Use the Expression Builder to assign expressions to properties of elements in the configured graphic aspect.
NOTE!
24 / 28
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
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.
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
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
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
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
) )
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.
) ) )
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.
) ) )
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.
) ) ) )
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
) ) )
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
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
) ) )
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
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.
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
Press the Browse button in the Element Browser then navigate to the Control Structure and locate Sxx_LSH1. Select it and press OK.
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
) )
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
) )
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.
) )
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
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
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
6 / 13
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
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
) )
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
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
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
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.
NOTE!
This cannot be typed into the statement. It must be selected from the Object Property tabs!
12 / 13
) )
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
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
) ) ) ) )
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].
) ) )
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
) )
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.
) ) ) ) )
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
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
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].
) )
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
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.
) )
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
The property Caption should read Counter Reset and property PropertyRef should be assigned to gMixer_Reset.Value.
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
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
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
) ) ) )
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
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
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.
1/4
Reassign the Aspect property of the AspectLink to point to the Maintenance display.
) )
Save and deploy the Sxx Alarm Overview Display. Open the graphics editor for the Sxx Maintenance Display.
Select the AspectLink from the Special category toolbar and insert it into the lower right part of the display.
2/4
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
4/4
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
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
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.
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
Trend displays
Aspect Server
Workplaces (Clients)
Client/Server Network
Historical data
Connectivity Server
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
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
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).
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
7 / 17
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
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
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
Logging is working
Bad news Good news
11 / 17
12 / 17
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
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.
14 / 17
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
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
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
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
) ) )
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?
) )
2/4
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. 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.
) ) )
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
Verify that the name in the Service Group field matches the service group name in the Service Structure.
) ) ) )
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
) )
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?
1/6
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
) )
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
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
) )
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
) ) ) )
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
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
) ) )
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
) )
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.
Open the Main View of Sxx Trend 1 then select the first column of an empty line.
3/4
) ) )
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.
) )
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
) ) )
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
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
Open the Main View of Sxx Trend 1 then select the first column of an empty line.
) )
Save the configuration, start the Batch process and verify that the level is being trended.
3/5
Repeat the above steps to insert the following signals. gInflow.Value gFIC1_Par.Faceplate.SpManValue gFIC1_Par.Faceplate.OutManValue Temp_K Temp_K is a property of Sxx_Additions and the Log Name of TRIM should be used.
4/5
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.
5/5
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
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
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
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
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
Tool Collections 7. Add or Remove one or more tools. Each time testing the workplace to see the effect of the changes.
6 / 20
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.
7 / 20
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
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
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!
10 / 20
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
12 / 20
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
14 / 20
15 / 20
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.
16 / 20
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.
17 / 20
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
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.
19 / 20
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
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
) )
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.
) ) )
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
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.
) )
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.
3/5
) ) )
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.
) ) ) )
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
) )
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
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
) )
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
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.
Open the Config View of the Application Bar Shortcuts aspect on the Sxx_Workplace object in the Workplace Structure.
3/8
Use Add to insert Sxx Maintenance Display and Sxx Trend 1 at the end of the list.
4/8
) )
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.
5/8
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
) )
7/8
Deselect the Show Fixed Displays item on the Main tab then Apply.
8/8
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
) ) )
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
) ) ) )
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
) )
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
) )
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
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
) )
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
) )
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
) )
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.
5/5
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
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
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
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
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
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
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
3. When the settings are complete press Finish and the following progress window appears.
8 / 14
You can as well import the complete archive by selecting Import All.
9 / 14
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
1. The dialog is launched from the View Menu. The Differences dialog is also available from the context menu of both aspects and objects.
11 / 14
12 / 14
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
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!
14 / 14
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
) ) )
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
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
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
) )
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
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
Drag the Sxx_Control_Network object from the Control Structure into the left panel of the Import/Export window.
3/6
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.
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
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
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.
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
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
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
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
Intuitive Navigation
4 / 21
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
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
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.
7 / 21
To define a new Data Flow Order, use the Allocation | Define Data Flow Order.
8 / 21
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).
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
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
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.
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
12 / 21
The Allocate button opens an application selecting dialog. Selecting one application will move the Function Diagram from the unallocated application.
13 / 21
When the code is generated in an open Function Diagram and an error occurs, then the generation will stop.
14 / 21
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
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
If the action is carried out off line an asterisk (*) will be displayed in the box until live data is subscribed.
17 / 21
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
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
20 / 21
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 / 21
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
A N D AREA 2
Bool 5
Bool 4 Bool 1
A N D
Bool 8
AREA 1
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
) )
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.
Verify that values appear within the logic and in the Watch Window.
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.
) )
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
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.
4/4
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
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.
2/7
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
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.
Right click on the Area_1_Output block in the diagram then select Goto Reference from the list.
4/7
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
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
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