Prévia do material em texto
ControlIT Control Software and Control Builder M Version 3.2 Product Guide Product Guide ControlIT Control Software and Control Builder M Version 3.2 NOTICE 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 hard- ware described in this document. This document and parts thereof must not be reproduced or copied without written per- mission from ABB, and the contents thereof must not be imparted to a third party nor used for any unauthorized purpose. The software or hardware described in this document is furnished under a license and may be used, copied, or disclosed only in accordance with the terms of such license. Copyright © 1999−2001 ABB All rights reserved. Release: May 2002 Document number: 3BSE 026 333 R101 Rev A TRADEMARKS Registrations and trademarks used in this document include: Acrobat® Reader® Registered trademark of Adobe Systems, Inc. Adobe Registered trademark of Adobe Systems, Inc. Control IT Trademark of ABB Automation Inc. Engineer IT Trademark of ABB Automation Inc. Ethernet Trademark of Xerox Corporation. FOUNDATION Fieldbus Trademark of Fieldbus Foundation, USA. HART Registered trademark of HART Communication Foundation. INSUM Trademark of ABB Schaltanlagentechnik GmbH, Germany. Industrial IT Solutions Trademark of ABB Automation Inc. Microsoft Registered trademark of Microsoft Corporation. ModBus Registered trademark of Modicon, Inc. OPC Trademark of OPC Foundation. Operate IT Trademark of ABB Automation Inc. PROFIBUS Registered trademark of PROFIBUS International. Windows Registered trademark of Microsoft Corporation. Windows® 2000 Registered trademark of Microsoft Corporation. TABLE OF CONTENTS About This Book Intended Use of This Book..............................................................................................11 Target Group.........................................................................................................11 Purpose, Scope and Intended Use ........................................................................11 Use of Information, and Tip Icons...................................................................................12 Document Conventions ...................................................................................................12 Terminology.....................................................................................................................14 Related Product Guides ...................................................................................................18 Section 1 - Key Benefits Introduction .....................................................................................................................19 Supported Controller Platforms ...........................................................................19 Control Software ..................................................................................................19 Control Builder M ................................................................................................20 Market Segments, Licenses and Control Builder Variants...................................21 New This Version ............................................................................................................22 Control Software ..................................................................................................22 Control Builder M ................................................................................................24 OPC Server for AC 800M/C ................................................................................25 Key Benefits−SCADA and PLC Solutions......................................................................25 Control Software−Binary and Basic Licenses .....................................................25 Control Builder M Basic and Standard ................................................................27 3BSE 026 333 R101 Rev A 5 Table of Contents Key Benefits−Integrated Automation.............................................................................. 29 Control Software−Advanced Process Control License........................................ 29 Control Builder M Professional ........................................................................... 30 Professional, Standard and Basic......................................................................... 31 Integration with Other IndustrialIT Products................................................................... 32 Section 2 - Product Description Overview ......................................................................................................................... 33 Control Software.................................................................................................. 33 Control Builder M................................................................................................ 33 Control Software ............................................................................................................. 36 Download ............................................................................................................ 36 I/O and Fieldbus Communication........................................................................ 37 Control Network .................................................................................................. 40 Other Communication Protocols ......................................................................... 42 Time Synchronization .......................................................................................... 44 Redundancy.......................................................................................................... 45 Alarm and Events Handling................................................................................. 46 Execution of Control Software ............................................................................ 47 Control Builder M ........................................................................................................... 48 Project Explorer ................................................................................................... 48 Programming Environment.................................................................................. 50 Online Help and Manuals .................................................................................... 53 Additional Software ............................................................................................. 54 OPC Server for AC 800M/C ........................................................................................... 56 OPC Server for AC 800M/C−Data Access (DA) Part ......................................... 57 OPC Server−Alarm and Event (AE) Part ............................................................ 58 AC 800M/C Connect....................................................................................................... 58 6 3BSE 026 333 R101 Rev A Table of Contents Section 3 - Technical Data and Performance General ............................................................................................................................59 Prerequisites and Requirements ......................................................................................59 Software Requirements ........................................................................................59 Hardware Requirements.......................................................................................60 OPC Server Requirements ...................................................................................61Hardware Requirements When Running Several Products on Same PC.............62 Technical Data and Performance.....................................................................................63 Memory Consumption and Execution Times.......................................................63 Compilation and Download .................................................................................75 Hardware and I/O .................................................................................................76 MMS Communication..........................................................................................88 Control Network Clock Synchronization.............................................................92 OPC Server for AC 800M/C ................................................................................92 Section 4 - Ordering Ordering Procedure .........................................................................................................95 Price Lists.............................................................................................................95 Ordering Example ...........................................................................................................98 Original Order ......................................................................................................98 Expansion of an Existing Installation ..................................................................99 Appendix A - Licenses License Concept ............................................................................................................101 Control Builder M Licenses ..........................................................................................102 Expansion Licenses ............................................................................................102 Control Software Licenses.............................................................................................102 Base Licenses .....................................................................................................103 I/O Points ...........................................................................................................104 Examples of Control Software Licenses ............................................................105 OPC Server for AC 800M/C Licenses...........................................................................105 3BSE 026 333 R101 Rev A 73BSE 026 333 R101 Rev A 7 Table of Contents AC 800M/C Connect Licenses...................................................................................... 105 AC 800M/C Connect License Concept.............................................................. 105 AC 800M/C Connect Tags ................................................................................. 106 Tag Counting Example ...................................................................................... 107 Example of Simple AC 800M/C System Configuration ............................................... 108 Example of Integrated AC 800M/C System Configuration .......................................... 109 Appendix B - Supported Hardware and I/O Systems Controllers..................................................................................................................... 111 AC 800M .......................................................................................................... 111 AC 800C .......................................................................................................... 113 Advant Controller 250 ....................................................................................... 114 Adapters ........................................................................................................................ 117 I/O Families................................................................................................................... 120 S100 I/O .......................................................................................................... 121 S200 I/O .......................................................................................................... 122 200L I/O .......................................................................................................... 123 S800 I/O .......................................................................................................... 123 S900 I/O .......................................................................................................... 125 ABB Standard Drives......................................................................................... 126 ABB Engineered Drives..................................................................................... 126 I/O for Updating................................................................................................. 127 Appendix C - Library Objects Overview System Library .............................................................................................................. 130 Data Types in SystemLib ................................................................................... 131 Functions in SystemLib ..................................................................................... 134 Function Block Types in SystemLib.................................................................. 143 Supervision Signals Library .......................................................................................... 150 Function Block Types in SignalLib ................................................................... 150 Basic Library for Process Objects................................................................................. 152 Function Block Types in ProcessObjBasicLib .................................................. 152 8 3BSE 026 333 R101 Rev A Table of Contents Extended Library for Process Objects ...........................................................................154 Function Block Types in ProcessObjExtLib ......................................................155 Control Module Types in ProcessObjExtLib .....................................................156 Support Control Library ................................................................................................157 Basic Control Library ....................................................................................................158 Data Types in ControlBasicLib ..........................................................................158 Function Block Types in ControlBasicLib.........................................................158 Simple Control Functions Library.................................................................................160 Standard Control Library...............................................................................................163 Control Module Types in ControlStandardLib...................................................164 Extended Control Library..............................................................................................171 Control Modules in ControlExtendedLib...........................................................172 Advanced Control Library.............................................................................................175 Control Module Types in ControlAdvancedLib.................................................176 Fuzzy Control Library ...................................................................................................177 Control Module Types in FuzzyLib ...................................................................178 Alarm and Event Library...............................................................................................182 Function Block Types in AlarmEventLib ..........................................................182 Control Module Types in AlarmEventLib..........................................................184 Batch Library.................................................................................................................185Equipment Procedure Element Control Module Types......................................185 Communication Library ................................................................................................186 Data Types in CommunicationLib .....................................................................186 MODBUS...........................................................................................................186 FOUNDATION Fieldbus ...................................................................................187 COMLI ...........................................................................................................189 MMS ...........................................................................................................189 SattBus ...........................................................................................................191 Siemens 3964R...................................................................................................192 Other Function Blocks .......................................................................................192 3BSE 026 333 R101 Rev A 93BSE 026 333 R101 Rev A 9 Table of Contents Serial Communication Library...................................................................................... 193 Data Types ......................................................................................................... 193 Function Block Types ........................................................................................ 193 INSUM Library ............................................................................................................. 194 Introduction........................................................................................................ 194 Provided Services............................................................................................... 194 Data Types ......................................................................................................... 195 Function Block Types ........................................................................................ 196 MB300 Library.............................................................................................................. 197 Introduction........................................................................................................ 197 Function Block Types ........................................................................................ 198 INDEX 10 3BSE 026 333 R101 Rev A About This Book Intended Use of This Book Target Group The prime target group of this product guide is ABB sales representatives. Other target groups are marketing and additional ABB personnel wishing to acquaint themselves with the Control Software and the Control Builder M tool. Purpose, Scope and Intended Use This Control Software and Control Builder M product guide describes the following items from a sales perspective: • AC 800M/C Control Software functions • The Control Builder M programming tool • Stand-alone tools associated with Control Builder M (GSD Import Tool, IP Configuration tool, Serial Firmware Upgrade tool) • OPC Server for AC 800M/C The guide does not describe AC 800M/C Connect. This product is described in a separate product guide. See Related Product Guides on page 18. The guide is intended for use as an introduction to the new Control Software and Control Builder M versions, as well as a reference for discussion of technical solutions with customers. This Product guide does not contain last-minute product information and updates which might affect functionality and/or performance. For information on late changes and restrictions, please refer to the Release Notes. 3BSE 026 333 R101 Rev A 11 Use of Information, and Tip Icons About This Book The product guide provides: • Information on key benefits • An overview of functions offered by Control Software and Control Builder M • Technical and performance data • Instructions on how to order Three appendices describe the licensing system, the Control Builder libraries, and Supported hardware and I/O, respectively. Use of Information, and Tip Icons This publication includes Information items, where appropriate to point out important information. It also includes Tip to point out useful hints to the reader. The corresponding symbols should be interpreted as follows: Document Conventions The following conventions are used for the presentation of material: • The words in names of screen elements (for example, the title in the title bar of a window, the label for a field of a dialog box) are initially capitalized • Capital letters are used for the name of a keyboard key if it is labeled on the keyboard. For example, press the ESC key • Lowercase letters are used for the name of a keyboard key that is not labeled on the keyboard. For example, the space bar, comma key, and so on • Press CTRL+C indicates that you must hold down the CTRL key while pressing the C key (to copy a selected object in this case) Information icon alerts the reader to pertinent facts and conditions. Tip icon indicates advice on, for example, how to configure the product or how to use a certain function. 12 3BSE 026 333 R101 Rev A About This Book Document Conventions • Press ESC E C indicates that you press and release each key in sequence (to copy a selected object in this case) • The names of push and toggle buttons are boldfaced. For example, click OK • The names of menus and menu items are boldfaced. For example, the File menu – The following convention is used for menu operations: MenuName > MenuItem > CascadedMenuItem. For example: select File > New > Type – The Start menu name always refers to the Start menu on the Windows Task Bar • System prompts/messages are shown in the Courier font, and user responses/input are in the boldfaced Courier font. For example, if you enter a value out of range, the following message is displayed: Entered value is not valid. The value must be 0 to 30. You may be told to enter the string TIC132 in a field. The string is shown as follows in the procedure: TIC132 Variables are shown using lowercase letters. MaxLimit 3BSE 026 333 R101 Rev A 13 Terminology About This Book Terminology The following is a list of terms associated with Control Software and Control Builder M. The reader should familiarize himself with these terms before going further in this product guide. The list contains only those terms and abbreviations that are unique to ABB or have a usage or definition different from standard industry usage. Term Description AC 800M/C Connect A software package used to integrate Control Software for AC 800M/C with the Aspect Integrator Platform (AIP). AC 800M/C Connect can be installed from the ControlIT for AC 800M/C Products CD-ROM Access variables Variables that can be accessed remotely, for example from another controller AIP Aspect Integrator Platform, the common software platform used to integrate Industrial IT software Applications Applications contain the program code to be compiled and downloaded for execution in the controller. Applications are displayed in the Project Explorer CNCP Control Network Clock Protocol, an ABB protocol for time synchronization in Control Network Cold retain Cold retain variable values are maintained after a warm or cold restart. The Cold Retain attribute overrides the retain attributes in a structured data type Control Builder M The programming tool described in this product guide, referred to as Control Builder throughout this document Control module Control modules are program units that support object- oriented data flow programming with code sorting, free- layout graphical programming and static parameter connections. Instances of control modules are created from control module types Control Software ABB control software offering, including controller firmware,libraries and executable control applications 14 3BSE 026 333 R101 Rev A About This Book Terminology Data type A variable’s data type defines its characteristics, set of values and set of permitted operations. Data types are simple or structured, either predefined or user defined DTM Device Type Manager, software module used to manage devices via HART using Fieldbus Builder P, via the Tool Routing Service (TRS) FBD Function Block Diagram, one of the five languages defined in the IEC-61131 standard FF FOUNDATION Fieldbus, a fieldbus system of US origin Global variable A variable that can be used by all programs GSD file Geräte Stamm Datei, a hardware description file for a PROFIBUS-DP or PROFIBUS-DP/V1 slave type HART Highway Addressable Remote Transducer, a protocol for communication with and configuration of remote devices with HART support I/O point count A method used for calculating licensing costs, see Appendix A, Licenses IEC 61131-3 An IEC standard for control languages; includes Structured Text (ST), Ladder Diagram (LD), Instruction List (IL), Function Block Diagram (FBD), and Sequential Function Chart (SFC) IL Instruction List, one of the five languages defined in the IEC-61131 standard Instance An instance is an individual object that behaves in accordance with the rules of the corresponding type INSUM INtegrated System for User-optimized Motor control, an ABB system for motor control LD Ladder Diagram, one of the five languages defined in the IEC-61131 standard Term Description 3BSE 026 333 R101 Rev A 15 Terminology About This Book LON Local Operating Network, a protocol used for INSUM fieldbus communication MMI Man-Machine Interface MMS Manufacturing Message Specification. a standard for messages used for industrial communication MMS Server for AC 800M/C The server provides services to the MMS Client. Examples of services provided are transfer of variable content and start of programs OPC OLE for Process Control, a standard for exchange of process control information PROFIBUS A fieldbus system of German origin Program A program contains written execution code. Programs are connected to tasks with the same name Project A source code representation of the configuration data entered by an engineer to build a control solution Project Explorer The part of the Control Builder user interface used to create, modify and navigate a project. All objects such as data types, functions and function block types can be selected and displayed in an editor. All software and hardware is configured in the Project Explorer RNRP Redundant Network Routing Protocol, an ABB protocol for redundancy handling and routing in Control Network RS-232C Standard No. 232 for PC communication, established by EIA (Electronics Industries Association, USA) RS-485 A communication interface standard from EIA (Electronics Industries Association, USA), operating on voltages between 0V and +5V. RS-485 is more noise- resistant than RS-232C, handles data transmission over longer distances, and can drive more receivers SFC Sequence Functional Chart, one of the five languages defined in the IEC-61131 standard Term Description 16 3BSE 026 333 R101 Rev A About This Book Terminology SNTP Simple Network Time Protocol, a protocol used for time synchronization in Control Network SOE Sequence-Of-Events, a logging method involving time- stamping at digital inputs ST Structured Text, one of the five languages defined in the IEC-61131 standard Task A task is a ‘work schedule’ for a program.Three default tasks are available; Fast, Normal and Slow. At run time, tasks are executed according to interval time, priority and offset Tool Routing Service for AC 800M/C See TRS TRS Tool Routing Service, a part of AC 800M/C Connect. The TRS lets users use Fieldbus Builder P to configure HART devices,via AC 800M Type The type is a general description of a unit that defines the behavior of an instance of the type Term Description 3BSE 026 333 R101 Rev A 17 Related Product Guides About This Book Related Product Guides The following product guides contain information on related products and concepts. Category Title Description Hardware, Product Guides AC 800M Controller Hardware 2.1, Product Guide Description of the AC 800M controller AC 800C Controller Hardware, Version 2.0, Product Guide Description of the AC 800C controller S800 I/O, Product Guide Description of the S800 I/O family Software, Product Guides System Guide, System Baseline 2, May 2002 Description of the total IndustrialIT product offering Process Portal A, Product Guide Description of the Process Portal A product AC 800M/C Connect, Product Guide Description of the AC 800M/C Connect product (integration with Process Portal A and other IndustrialIT suites) SCADA Portal, version 1.1, Product Guide Description of the SCADA Portal product Fieldbus Builder PROFIBUS/HART Description of the Fieldbus Builder P product Engineering Studio, Product Guide Description of the Engineering Studio product family 18 3BSE 026 333 R101 Rev A Section 1 Key Benefits Introduction Supported Controller Platforms AC 800M/C Control Software, created with the Control Builder M programming tool, can be downloaded to and executed on the following hardware platforms. • AC 800M • AC 800C • Advant Controller 250 Control Software AC 800M/C Control Software consists of firmware and control software that can be run on the supported control platforms. Control Software is not controller platform specific. A control system can be designed without considering controller platform specific issues such as the execution model, as long as supported ABB controllers are used. Control Software is also scalable. If an application becomes too big or too complex for the selected controller type, a more powerful controller can be used without changing the application. For information on supported combinations of hardware, protocol and software, see Section 2, Product Description, and Appendix B, Supported Hardware and I/O Systems. 3BSE 026 333 R101 Rev A 19 Control Builder M Section 1 Key Benefits Licenses There are three levels of Control Software license: • Binary Control (access to system library only) • Basic Control (access to binary control, batch handling library and basic libraries) • Advanced Process Control (full access to all Control Builder libraries) Control Builder M Control Builder M (Control Builder in this document) is a Windows 2000-based programming tool for control logic. The tool is used to program control applications for AC 800M/C controllers. See Supported Controller Platforms on page 19. Control Builder Variants There are three variants of Control Builder M: • Control Builder Professional (same as Standard, plus access to all libraries functions and control modules; higher number of applications, more applications per controller and integration with Industrial IT products) • Control Builder Standard (same as Basic, plus create and change libraries, code distribution and sharing of source code) • Control Builder Basic (basic functionality only) License costs also depend on the number of I/O points in the customer’s control system. Licensing issues are described in detail in Appendix A, Licenses. Control Builder variants are upward compatible. This means that applications created with Basic can be used in Basic, Standard and Professional, and that applications created in Standard can be used in Standard and Professional. 20 3BSE 026 333 R101 Rev A Section 1 Key Benefits Market Segments, Licenses and Control Builder Variants Market Segments, Licenses and Control Builder Variants AC 800M/C Control Software is aimed primarily at two market segments: • SCADA and PLC Solutions • Integrated Automation The product line is different for these two market segments. It is important that the products and licenses best suitedto the current segment are offered on each occasion. SCADA and PLC Solutions SCADA and PLC solutions are those where the operator interface communicates with controllers using signals, without any object integration, and where controllers do not handle alarms and events. The following products and licenses are suitable for SCADA and PLC solutions. • SCADA Portal • Process Panel • AC 800M and AC 800C controllers • Control Software: Binary and Basic licences • OPC Server for AC 800M/C • Control Builder: Basic and Standard variants Libraries made with a higher level Control Builder M license can be used in a Control Builder variant of a lower level, as long as they do not violate any restriction set by the lower license level. For example, it is possible to build libraries using Control Builder Standard, for use in Control Builder Basic. It is important that the customer selects the right Control Builder Variant. For a complete comparison between the three variants, please refer to Professional, Standard and Basic on page 31. 3BSE 026 333 R101 Rev A 21 New This Version Section 1 Key Benefits Integrated Automation Integrated Automation solutions involve integrating faceplates with controllers handling objects from the operator interface. Integrated Automation also takes in handling of alarms and events in controllers. The following products and licenses are suitable for Integrated Automation. • Process Portal A • AC 800M/C Connect • AC 800M and AC 800C controllers • Control Software: Advanced Process Control licenses • Control Builder: Professional variant • Other integrated Aspect System products (FieldBus Builder P, Engineering Studio, etc.) ABB Controllers ABB AC 800M and AC 800C controllers handle control system within both the above market segments. For detailed information on ABB controller performance, see Section 3, Technical Data and Performance and the hardware product guides listed in Related Product Guides on page 18. New This Version The subsection below gives an overview of new functions in Control IT for AC 800M/C, version 3.1. New functions and features are divided into Control Software, Control Builder M, and OPC Server for AC 800M/C. Control Software • Increased language support: – Case statements in Structured Text (ST) – Execution of control modules inside function blocks 22 3BSE 026 333 R101 Rev A Section 1 Key Benefits Control Software • New and expanded libraries (see Appendix C, Library Objects Overview): – A number of low-level function blocks have been added to System Library – New library, named Signal Library, has been added, containing function blocks used to monitor signals (internal and between applications) – Increased support for building control loops using Control Library (function blocks, control modules and data types added) • Time synchronization and logging: – 1 millisecond time synchronization accuracy between AC 800M nodes in Control Network – 50 millisecond time synchronization accuracy for AC 800C and AC 250 controllers, using an AC 800M master in Control Network – Sequence-Of-Events (SOE) logging using time stamps for digital I/O with high accuracy – System alarm and system event functions • Improved redundancy functions: – Redundant Control Network on MMS and TCP/IP, using Redundant Network Routing Protocol (RNRP) – Line redundancy (PROFIBUS-DP/V1) for AC 800M (CI854 interface module) – AC 800M CPU redundancy (using PM861) • Added CPU support: – PM861 (AC 800M) • Added communication support: – MasterBus300 (new master CI855) – PPP for Advant Controller 250 (PM253 and PM254) 3BSE 026 333 R101 Rev A 23 Control Builder M Section 1 Key Benefits • Added I/O support: – PROFIBUS-DP/V1 (new master CI854) – S100 I/O (new master CI856) – INSUM support (new master CI857) – S800 I/O HART modules (AI895 and AO895) – S800 I/O Sequence-Of-Events (SOE) modules (DI830, DI831 and DI885) – S900 I/O – OSP on S200 I/O modules connected to 200-APB12 – ABB Standard and Application Drives: ACS 300, ACS 400, ACS 600, ACS 1000, DCS 300, DCS 400, DCS 600 • Configuration of HART devices, via AC 800M and PROFIBUS-DP/V1 • Integration with other IndustrialIT products: – Mirroring from Plant Explorer/Process Portal A to Control Builder M Control Builder M • FBD/LD editor enhancements: – Improved connection of functions/function blocks – Improved insertion dialog for functions/function blocks – Enable (EN) parameter in function blocks – Improved declaration feature when inserting/connecting function blocks • Printing from editors: – Printing of complete editor content (not only what fits on the screen, but the complete editor window) • Documentation can be created in online mode, allowing users to document parameter values and settings • New user help function allows users to add custom online help for communication protocols, I/O protocols, libraries and applications (added online help can then be accessed from within Control Builder) 24 3BSE 026 333 R101 Rev A Section 1 Key Benefits OPC Server for AC 800M/C • GSD Import Tool updated to support conversion of PROFIBUS-DP/V1 GSD files • Improved integration with other IndustrialIT products through Aspect Integration Platform (AIP) (for details, see AC 800M/C Connect product guide) OPC Server for AC 800M/C • Attribute “hidden” added to variables, allows control over OPC server display of variables • Saving of cold retain data in OPC server • Multiple read and write operations Key Benefits−SCADA and PLC Solutions The following Control Software licenses and products are suitable for SCADA and PLC solutions. • Control Software licenses: – Binary and Basic • Control Builder variants: – Basic and Standard • OPC Server for AC 800M/C Control Software−Binary and Basic Licenses Control Software Binary and Basic licenses offer the following key benefits for SCADA and PLC Solutions: • Controller scalability: – Applications can be moved from one supported controller to another. This simplifies expanding existing applications and control systems by adding applications and/or controllers 3BSE 026 333 R101 Rev A 25 Control Software−Binary and Basic Licenses Section 1 Key Benefits • Software portability: – Applications can be created before selecting controller hardware • One time data entry: – Once entered, data is automatically accessible for all functions and units. Adding an OPC server will allow OPC clients to share data from up to 12 controllers. Variable communication allows communication between parts of the application located on different controllers • Code distribution: – Applications can be distributed on several controllers. Variable communication allows communication between applications located in different controllers • Execution control: – Control of priorities and execution times through task management. Power fail handling • Supervision, fault-finding and log functions: – Synchronization of controller time (1 ms accuracy) throughout the control network (using AC 800M master) – Logging of alarms and events – Logging of system alarms and events – System diagnostics tool • Redundancy support: – Redundant Control Network on MMS and TCP/IP, using Redundant Network Routing Protocol (RNRP) – Line redundancy for PROFIBUS-DP/V1 – AC 800M CPU redundancy (PM861 only) 26 3BSE 026 333 R101 Rev A Section 1 Key Benefits Control Builder M Basic and Standard • Communication support (hardware dependent): – MMS, SattBus, COMLI, Siemens 3964R, MODBUS, MasterBus 300, PPP on RS-485 and RS-232C – Control Network – Controller communication by means of MMS and named access variables • I/O support: – Integrated fieldbus support: PROFIBUS DP, PROFIBUS DP/V1, FOUNDATION Fieldbus (FF) – Import and conversion of PROFIBUS-DP and PROFIBUS-DP/V1 GSD files using GSD Import Tool – S800 I/O and S900 I/O common controller I/O systems – S100 I/O and S200 I/O systems • ABB Drives support:– ABB Standard Drives – ABB Application Drives Control Builder M Basic and Standard Control Builder M Basic and Standard variants offer the following key benefits for SCADA and PLC Solutions: • One time data entry: – All data entered via the Control Builder interface is automatically accessible to all functions and units • Multi-user development (Control Builder Standard only): – Source code can be distributed on several programming stations. User access can be controlled through user privileges and different parts of the source can be reserved or have access/updating dates restricted to certain users For a complete list of functions included in a particular Control Builder version, see Professional, Standard and Basic on page 31. 3BSE 026 333 R101 Rev A 27 Control Builder M Basic and Standard Section 1 Key Benefits • Graphic editor support for all five IEC 61131-3 languages: – Structured Text (ST), Instruction List (IL), Function Block Diagram (FBD), Ladder Diagram (LD), and Sequential Function Chart (SFC) • Built-in hardware and I/O configuration editor for configuring supported controllers, I/O systems and I/O units. • Support for code re-use and object-oriented programming: – System Library containing function, data and function block types that can be instantiated and will inherit properties from their parents – Users can create custom types (not in Basic) • Programming environment: – Offline simulation and debug of applications – Download to controllers via serial communication or Ethernet – Online change of control applications – Cold retain of data (kept at cold start) – Backup/restore of projects – Functions for creating and handling custom libraries (Control Builder Standard only) • Access to user information from within the product: – Extensive context-sensitive help (accessible through F1 key) – Manuals in pdf format can be opened from Help menu – Documentation function allows printing complete documentation for a library or for a number of objects • Addition of external user help: – Users can add online help for new communication or I/O protocols, as well as custom libraries and applications. This online help is then accessible from within the Control Builder interface 28 3BSE 026 333 R101 Rev A Section 1 Key Benefits Key Benefits−Integrated Automation Key Benefits−Integrated Automation The following Control Software licenses and products are suitable for solutions within Integrated Automation. • Control Software licenses: – Advanced Process Control • Control Builder variants: – Professional • AC 800M/C Connect (integration with other IndustrialIT products via Aspect Integration Platform) Control Software−Advanced Process Control License Upgrading Control Software to an Advanced Process Control license adds the following key benefits for Integrated Automation: • Support for code re-use and object-oriented programming: – Object-oriented programming by means of control modules. – Re-use of programs and single control modules. • Alarm and events handling: – I/O time stamps and Sequence-Of-Events (SOE) logging – Alarm and Events library with standard types • I/O support: – INSUM support (hardware dependent) • Integration with other IndustrialIT products, for example Process Portal A: – For more information on integration, refer to the AC 800M/C Connect product guide. See Related Product Guides on page 18 For more information regarding integration with other IndustrialIT products, please refer to the Industrial IT and AC 800M/C Connect product guides. See Related Product Guides on page 18. 3BSE 026 333 R101 Rev A 29 Control Builder M Professional Section 1 Key Benefits Control Builder M Professional Upgrading to Control Builder M Professional adds the following key benefits of interest to Integrated Automation solutions: • Support for large networks: – Maximum number of configured controllers is 32 (8 in Standard and 1 in Basic) – Maximum number of applications is 256 (8 in Standard and 1 in Basic) – Maximum number of applications per controller is 8 (1 in Standard and 1 in Basic) • Programming environment: – User privileges at login increases control over source code in large development projects – Control Module Diagram (CMD) editor for working with control modules (not in Basic) – Code sorting in order to avoid sorting loops • Integration with other IndustrialIT products, for example Process Portal A: – For more information on integration functions, refer to the AC 800M/C Connect product guide. See Related Product Guides on page 18. For a complete list of functions available in a particular Control Builder version, see Professional, Standard and Basic on page 31. 30 3BSE 026 333 R101 Rev A Section 1 Key Benefits Professional, Standard and Basic Professional, Standard and Basic Table 1. Differences between Control Builder Professional, Standard and Basic Function Professional Standard Basic Create/Change libraries Yes Yes No Create/Change/Use control modules Yes No No Maximum No of controllers 32(1) (1) The maximum number of controllers also depends on the Control Network and other factors. This means that the actual maximum number of controllers can be much lower than 32. 8 1 Maximum No of applications 256 8 1 Maximum No of appl./controller 8 1 1 Maximum No of progr./application 64 64 3 Maximum number of tasks/controller 16 16 3 Distr. code to several controllers Yes Yes No Share code between progr. stations Yes Yes No Source code control (multi-user) Yes Yes No Integr. with other Industrial IT prod. Yes No No Logging in and user privileges Yes No No 3BSE 026 333 R101 Rev A 31 Integration with Other IndustrialIT Products Section 1 Key Benefits Integration with Other IndustrialIT Products Control Builder M software can be integrated with other IndustrialIT products via Aspect Integration Platform (AIP). Integration with AIP requires Control Builder Professional and installation of AC 800M/C Connect. The most important products for integration purposes are: • Process Portal A 2.1 • Engineering Studio (Bulk Data Manager and other tools) • Fieldbus Builder P for HART device configuration (via AC 800M and the Tool Routing Service, which is installed with AC 800M/C Connect) This requires installation of the AC 800M/C Connect product, as well as a license for this product. AC 800M/C Connect is included on the ControlIT for AC 800M/C Products CD-ROM. For more information regarding integration with other IndustrialIT products, please refer to the IndustrialIT and AC 800M/C Connect product guides. See Related Product Guides on page 18. 32 3BSE 026 333 R101 Rev A Section 2 Product Description Overview Control Software Control Software comprises two types of software: • Firmware that is downloaded to controllers and interface modules • Control applications that are downloaded to, and executed in, controllers In most cases, firmware is delivered with hardware components. However, some hardware is delivered without firmware, which means that firmware has to be downloaded. Download of firmware to controllers can be done from Control Builder M. Control applications have to be created using Control Builder, and then downloaded to controllers. Control applications can be distributed and executed on several controllers and communicate with each other using named variable communication. Control Software licenses are described in Appendix A, Licenses and in Control Software on page 19. Control Builder M Control Builder M is a programming tool used to create control applications and download software to controllers. Control Builder is also used to configure I/O and controller communication. 3BSE 026 333 R101 Rev A 33 Control Builder M Section 2 Product Description Programming Station Control Builder is Windows 2000-based and can be run on most Windows 2000 platforms. However, to secure acceptable performance, a number of hardwareand software requirements must be met. See Prerequisites and Requirements on page 59. Figure 1. Control Builder and supporting software Download from Programming Station Control Software (firmware and control applications) can be downloaded to controllers using Ethernet or via a direct serial link. The controller IP address must be known by Control Builder, communication must be set up and physical connections established. Figure 2. Downloading firmware and/or applications OPC Server for AC 800M/C is included in AC 800M/C Connect licenses and, if run in an integrated configuration, does not have to be ordered separately. . However, if OPC Server for AC 800M/C is used without an AC 800M/C Connect license, then a separate OPC Server for AC 800M/C license is required. See Appendix A, Licenses. Standard PC Control Builder M (OPC Server for AC 800M/C) MMS Server for AC 800M/C (AC 800M/C Connect) Standard PC Control Builder M Control Network Ethernet or direct serial link Controller 34 3BSE 026 333 R101 Rev A Section 2 Product Description Control Builder M Controller Communication There is also a need for controllers to communicate with one another and with other devices. This of course requires a control network. However, design and configuration of control networks is outside the scope of this product guide. Figure 3. Controller communication in control network Controllers, programming stations and operator stations communicate with each other through the Control Network. The Network can be used for synchronizing controller time and to send alarms and events to operator stations. Control Network also supports redundancy. If AC 800M/C Connect is installed, then AC800 M can also be used for configuring remote devices using Fieldbus Builder P and the HART protocol. Controller communication using variable communication is described under MMS Communication on page 40. Control Network Programming Station Controllers 3BSE 026 333 R101 Rev A 35 Control Software Section 2 Product Description Control Software Control Software consists of firmware and applications running in controllers. Control Software supports a number of functions: • Download of firmware/applications to controllers • Fieldbus communication • I/O communication • Control Network communication • Other communication protocols • Redundancy functions • Time synchronization • Alarm and events handling • Execution of control software (applications) Download Firmware and applications are downloaded to the controller from the programming station using Control Builder M, see Figure 2. If Ethernet is used, the controller's IP address must be set before download. This is carried out with the the IP Configuration tool. Firmware Firmware can be downloaded to both CPUs and CEX modules via Ethernet or direct serial communication. Once firmware is installed in the controller, the firmware takes care of downloaded applications and ensures they run correctly. If download fails, the Serial Upgrade tool can be used to solve the problem. Applications Applications can be downloaded to the controller either via Ethernet, or direct serial communication. An application can be distributed between several controllers. Parts of the application are then downloaded to different controllers. 36 3BSE 026 333 R101 Rev A Section 2 Product Description I/O and Fieldbus Communication I/O and Fieldbus Communication Control Software supports a number of fieldbuses and I/O systems. Controllers can be connected to fieldbuses and other I/O systems using adapters and I/O units belonging to a number of ABB I/O families. In some cases third party products can be used. Fieldbus Communication Control Software supports two fieldbus systems (plus an extra version of one of these): • FOUNDATION Fieldbus (FF), the most common fieldbus system in the US, can be connected to AC 800M controllers via the CI852 interface module • PROFIBUS-DP, the most common fieldbus system in Europe, can be connected to all supported controllers (AC 800M, AC 800C and AC 250), AC 800M controllers via the CI851 interface module • PROFIBUS-DP/V1, an enhanced version of PROFIBUS-DP, can be connected to AC 800M controllers via the CI854 interface module, offering built-in line redundancy Control applications access built-in fieldbus functions through protocol-specific function blocks and I/O modules. Function blocks for fieldbus communication are found in the Communication library. Function blocks are described in detail in the Control Builder online help. See also Appendix C, Library Objects Overview. SattBus SattBus is a network standard for controller communication. SattBus can be used as a low-cost fieldbus for collection of small amounts of data under harsh conditions. SattBus can also be used on Ethernet (Advant Controller 250 only on copper wire). ControlNet ControlNet is a high-speed network standard for industrial applications. It is intended for fast communication between control applications and distributed I/O units. 3BSE 026 333 R101 Rev A 37 I/O and Fieldbus Communication Section 2 Product Description INSUM INSUM (INtegrated System for User-optimized Motor control) is an ABB system for motor and switch gear control and protection. AC 800M controllers can be integrated with INSUM by means of a TCP/IP gateway and a CI857 interface module. Figure 4. INSUM integration with AC 800M controllers ControlNet can only be used with Advant Controller 250. For information on supported I/O modules, see Appendix B, Supported Hardware and I/O Systems. Note that INSUM and Control Network must use separate physical networks. TCP/IP Ethernet AC 800M controllers INSUM TCP/IP gateway Router RouterRouter Router Subnet 1 Subnet 2 MCU 1/32 MCU 1/01 LonWorks Control Network CI857 CI857 MMI 38 3BSE 026 333 R101 Rev A Section 2 Product Description I/O and Fieldbus Communication The TCP/IP gateway connects controllers to the Local Operating Network (LON) fieldbus. Motor Control Units (MCUs) are grouped into subnets accessed through a number of routers. INSUM applications handle motor and switch gear control. They can also be set to send alarm and event information to AC 800M through the TCP/IP gateway. The INSUM operator station gives direct access to INSUM functions. AC 800M controllers also have access to INSUM functions through the function blocks in the INSUM library. See Appendix C, Library Objects Overview. MasterBus 300 (MB 300) The MasterBus 300 (MB 300) network protocol can be used with both AC 400 and AC 800M controllers. AC 800M controllers may be connected to both Control Network and MB 300, simultaneously. The MB 300 network supports both network redundancy and time synchronization (with the accuracy offered by MB 300). Other I/O Systems and Families Control Software supports the following common ABB I/O systems and families. • S800 I/O, a distributed modular I/O system for communication via PROFIBUS-DP, PROFIBUS-DP/V1, or directly • S900 I/O, a remote I/O system for use in hazardous areas that can be connected to controllers via PROFIBUS-DP or PROFIBUS-DP/V1 • S200 I/O and S200L I/O, two compatible, modular I/O systems where S200L I/O is the “light” version; S200 I/O modules can be connected directly to AC 800C and AC 250, and via PROFIBUS-DP to all supported controllers • S100 I/O, a rack-based I/O system, can be connected to AC 800M using the CI856 interface module For a complete list of supported I/O modules, see Appendix B, Supported Hardware and I/O Systems. Note that MasterBus 300 and Control Network must use separate physical networks. 3BSE 026 333 R101 Rev A 39 Control Network Section 2 Product Description Control Network The recommended alternative for communication with controllers and other devices, is Control Network, a private IP domain designed for industrial applications. Control Network is based on MMS via either Ethernetor PPP on RS-232C. Routing and redundancy functions are handled by the Redundant Network Routing Protocol (RNRP), an ABB protocol for handling redundancy and for routing between nodes in a control network. MMS Communication Control Network is based on Manufacturing Message Specification (MMS) protocol via Ethernet or via PPP on RS-232C. MMS is an ISO-9506 standard for sending information between industrial applications. MMS provides a number of functions, the most important for control applications are: • Downloading executable code, for example from a programming station to a controller • Creating, deleting, starting and stopping applications over the network • Reading and writing variables over the network • Obtaining information on the status of remote applications • Reading and writing files over the network • Alarm handling • Obtaining information on the capability of remote applications • Obtaining information on the revision and version of remote applications In previous Control Software versions, there was a requirement for separating the control network from the client/server area of the network. This is no longer a must. However, the control network must remain protected by servers and/or firewalls and the risk of overloading the network with other traffic must be taken into account 40 3BSE 026 333 R101 Rev A Section 2 Product Description Control Network MMS can be used on several standard network protocols, but TCP/IP should be used for MMS communication. MMS messages are handled by the MMS Server for AC 800M/C, which is installed with Control Builder M and runs as a Windows 2000 service. The MMS server works as a multiplexer between the OPC server, controllers and Control Builder M. Figure 5. The MMS server as a multiplexer between controllers, OPC server and Control Builder M RNRP Redundant Network Routing Protocol (RNRP) is an ABB protocol for handling redundancy functions and routing between nodes in a control network. The protocol is designed for rapid detection of network failure and instant switching to alternative paths. Controllers OPC server and Control Builder M Ethernet MMS server 3BSE 026 333 R101 Rev A 41 Other Communication Protocols Section 2 Product Description Other Communication Protocols Control Software supports a number of additional communication protocols. These protocols can be used for communication between controllers, as well as with other devices ModBus RTU ModBus is a wide-spread communication protocol that can be used on a variety of media, such as wire, fiber optics, radio and telephony. ModBus is an asynchronous serial master/slave protocol that is executed in half-duplex. COMLI COMLI is an ABB protocol for data transmission between controllers. It is designed for asynchronous master/slave communication in half-duplex. COMLI can be used for serial communication (RS-232C or RS-485) or for SattBus, or SattBus on TCP/IP. Siemens 3964R Siemens 3964R is a standard serial, point-to-point master/slave protocol. It can be used on any RS-232C or RS-485 channel. It is suitable for communicating with controllers and devices with Siemens 3964R support. Communication requires installation of the RK512 interpreter in the slave system. Control Software only supports ModBus RTU master functionality. Control Software for AC 800M/C supports only the Siemens 3964R master protocol (no support for slave protocol). 42 3BSE 026 333 R101 Rev A Section 2 Product Description Other Communication Protocols Modem Communication There are two types of modem that can be used with Control Software: • Short-distance modems using PPP, COMLI, Siemens 3964R, ModBus RTU or PROFIBUS-DP • Dial-up modems using public telecommunications, COMLI is the only protocol for which dial-up modem communication is supported There are two main reasons for using modem communication: • A need for increasing the maximum length of RS-232C, RS-485 and Ethernet twisted-pair connections • A need for using fiber-optic communication, to eliminate either electromagnetic interference or the risk of intrusion Note that it is still possible to set up serial modem communication using a phone line between, for example, Control Builder M and a controller, or between an external system and a controller (using AutoConnect). 3BSE 026 333 R101 Rev A 43 Time Synchronization Section 2 Product Description Time Synchronization Figure 6. Time synchronization in Control Network, with an AC 800M as master Time synchronization uses Coordinated Universal Time (UTC), with an AC 800M controller as Clock Master. Time is retrieved from a time server or from some other high precision source. A high-precision version of the Simple Network Time Protocol (SNTP) is available for communication, for example with a time server that receives its time reference from a GPS time receiver. Only one controller can function as Clock Master, but several controllers can have Clock Master capability. Such a controller will attempt to take over as Clock Master if it does not receive time from the current Clock Master within a certain interval. Time is forwarded to all non-master AC 800M controllers using the Control Network Clock Protocol (CNCP), and to other controllers using SNTP or a light version of CNCP. Control Network MB 300 TS AC 800MAC 800M On-time switch CNCPCNCP*) CNCP w. medium accuraccy AC 800C Process Portal A CNCP w. medium accuraccy MasterBus 300 *) The direction depends on which controller is the master. High-precision SNTP AC 400 44 3BSE 026 333 R101 Rev A Section 2 Product Description Redundancy The accuracy of time synchronization differs, depending on protocol and device. CNCP synchronization is accurate to 1 ms, while CNCP light is accurate to 50 ms. Time synchronization can be configured using the Control Builder M tool. Redundancy Control Software supports the following redundancy functions: • CPU redundancy for AC 800M (PM861) • Network redundancy (RNRP) • Line redundancy (CI854) CPU Redundancy AC 800M controllers with PM861 processor can be configured for CPU redundancy. Two PM861 CPU modules are then run in parallel, one as primary and one as secondary. If the primary CPU fails, the secondary CPU automatically takes over. Figure 7. Example of redundant CPU configuration Controllers running an older version of Control Software that does not support time synchronization via CNCP/SNTP must be synchronized using some other method, for example via an OPC server using MMS. It is also possible to run an AC 800M controller with PM861 in single CPU mode. CEX bus Redundant network Dual AC 800M PM861PM861 RCU link 3BSE 026 333 R101 Rev A 45 Alarm and Events Handling Section 2 Product Description Network Redundancy Network redundancy is based on the Redundant Network Routing Protocol (RNRP). This protocol is designed for rapid detection of network failure and instant switching to alternative paths. Figure 8. Redundant Control Network Network redundancy requires two independent IP networks, one primary and one secondary. Whenever the maximum number of lost messages is exceeded, then traffic is switched to the secondary network. Network redundancy can be implemented in part of the network. Nodes with one connection only must be connected to the primary network. Line Redundancy Line redundancy support is built into PROFIBUS-DP/V1 communication, through dual ports on the CI854 interface module. Line redundancy may be achieved for other communication by adding extra equipment Alarm and Events Handling Alarm and event handling supports the following. • Disabling and enabling of alarms • Acknowledgement and cancellation of alarms • Filtering of alarms and events • Printing of alarm and event lists on local printer • System events and alarms All devices with network redundancy must be connected to both networks. The node number must be identical in both networks46 3BSE 026 333 R101 Rev A Section 2 Product Description Execution of Control Software The Alarm and Event library contains function blocks for handling alarms and events, for example detection, notification or definition of alarm conditions. The Signal library contains function blocks for monitoring of signals, both internally and between applications System events and alarms are created in a particular controller, but can be read and acted upon by operators in other systems. The event or alarm has its origin attached to it. Alarms and events are collected and forwarded by the Alarm and Event (AE) part of the OPC server. Controllers then gain access to alarms and events from other controllers by reading data from the OPC server. Alarm and event information can also be read by other OPC clients, such as Process Portal A. See OPC Server−Alarm and Event (AE) Part on page 58. Execution of Control Software Execution of applications is supported by a number of functions: • Task management gives programmers control over the execution order of different parts of the code, as well as priorities between different programs and modules. It is also possible to set an offset for a task • Code distribution makes possible the simultaneous execution of different parts of an application on several controllers • Access variables allow for named communication between applications running on different controllers OPC Server for AC 800M/C is included in AC 800M/C Connect licenses and, if run in an integrated configuration, does not have to be ordered separately. However, if OPC Server for AC 800M/C is used without an AC 800M/C Connect license, then a separate OPC Server for AC 800M/C license is required. See Appendix A, Licenses. 3BSE 026 333 R101 Rev A 47 Control Builder M Section 2 Product Description Control Builder M Control Builder consists of the following main parts: • Project Explorer • Programming environment • Online help and manuals Project Explorer The Project Explorer is the main work area of Control Builder M. Figure 9. Control Builder M Project Explorer The Project Explorer resembles the Windows Explorer and the tree structure contains three main branches: • Libraries • Applications • Controllers The content of Project Explorer menus varies slightly with the Control Builder M variant (Professional, Standard, or Basic). This overview describes the Control Builder Professional Project Explorer. 48 3BSE 026 333 R101 Rev A Section 2 Product Description Project Explorer Libraries The Libraries branch contains all libraries, (see Figure 9). The user can insert or remove standard libraries, as well as create and add custom libraries. Applications The Applications branch lists all applications that are handled in that particular Control Builder M installation. Each application contains data types, function block types, control module types, control modules, and programs (called Program Organization Units, POUs, in the IEC-61131-3 standard). An application can be copied to a specific controller, if required. Controllers The Controllers branch displays the hardware tree. The tree shows all connected controllers and the hardware units that have been associated with them. For a hardware unit to be added, the hardware definition file for that unit must be supported by Control Builder. Figure 10. The Controllers branch in the Control Builder Project Explorer tree 3BSE 026 333 R101 Rev A 49 Programming Environment Section 2 Product Description For each controller in the hardware tree, the following items can be added and changed: • Access variables that can be used for variable communication with other controllers are listed under a separate entry. Double-clicking this icon starts the access variable editor • A controller hardware definition is added when the controller is created in the tree. When creating the controller, the user must select the controller type, for example AC 800M. Double-clicking on this icon starts the hardware editor, where hardware can be configured • Tasks that can be associated with different applications in order to control priorities and execution order. See Execution of Control Software on page 47 • Applications that should be downloaded to and executed in the controller Programming Environment Editors Using control modules, Control Builder M handles all five IEC-61131-3 languages, as well as program-oriented programming. There are six different language editors: • Ladder Diagram Editor (LD Editor) • Instruction List Editor (IL Editor) • Structured Text Editor (ST Editor) • Function Block Diagram Editor (FBD Editor) • Sequence Functional Chart Editor (SFC Editor) • Control Module Diagram Editor (CMD Editor) (Control Builder Professional only) 50 3BSE 026 333 R101 Rev A Section 2 Product Description Programming Environment Figure 11. Example of a language editor (Function Block Diagram Editor) All editors support graphic programming and contain a number of functions for creating, changing, moving, grouping and connecting graphic elements and variables. In addition to language editors, there is a Connection Editor that is used to connect input and output parameters to function blocks and functions. Supporting Functions The programming environment also offers a number of supporting functions: • Firmware and applications can be downloaded either via Ethernet or a direct serial link • Both projects and parts of the code can be access-restricted. Source code distribution is supported • Code can be re-used through instantiation of types 3BSE 026 333 R101 Rev A 51 Programming Environment Section 2 Product Description • Users can create custom libraries containing function blocks or control modules. Access to these libraries can be limited to certain users or user groups. (Not possible in Control Builder Basic.) • Code (types, libraries) can be set to protected, to protect intellectual capital • Applications can be simulated and debugged offline, without connecting to any I/O units or external units • Cold retain attributes can be set so that variables and parameter values are stored on the hard disk, and restored at cold restart • Applications can be changed online • Projects can be documented in a Word file, using the documentation function. This function can also be used to document libraries, or even individual function blocks or control modules (both online and offline) • The complete contents of any editor can be printed at any time • A Backup/Restore function • A system diagnostics tool is available for fault-finding and/or optimizing an application • The user has access to extensive alarm and event logs Additional Control Builder Professional Functions Control Builder Professional offers a number of additional functions: • Object-oriented programming using control modules • User login function • The Control Module Diagram (CMD) editor allows for object-oriented programming using control modules • Code sorting function that analyzes the execution of different parts of the control modules and finds the optimum order of execution. If a sorting loop is discovered, the user is alerted and prompted to resolve the loop. The code sorting function also points out the place in the code where the sorting loop occurred 52 3BSE 026 333 R101 Rev A Section 2 Product Description Online Help and Manuals • A larger number of connected controllers (32), a larger total number of applications (256), and more applications per controller (8) Online Help and Manuals Online Help Control Builder M has an extensive online help system with context-sensitive (F1) help for objects displayed in the Project Explorer. Online help is displayed for the selected object when F1 is tapped. Online help can also be displayed by clicking Help in dialog boxes or selecting it under the Help menu. Figure 12. Context-sensitive (F1) help If a library or hardware definitionis added, online help can be added using the User Help function. Added files are displayed under User Help on the Help menu. Manuals ControlIT user manuals in pdf format are available from within Control Builder M. The documentation overview can be selected from the Help menu and a manual opened by clicking the title in the overview. If integration with the Aspect Integration Platform (AIP) through AC 800M/C Connect is installed, it is necessary to use Control Builder Professional. F1 3BSE 026 333 R101 Rev A 53 Additional Software Section 2 Product Description Additional Software Control Builder is aided by a number of additional tools and products: • Control Builder Setup Wizard • GSD Import tool • IP Configuration tool • Serial Firmware Upgrade tool • MMS Server for AC 800M/C Control Builder Setup Wizard The Setup Wizard is used to configure Control Builder M and OPC Server for AC 800M/C, as well as RNRP. GSD Import Tool The GSD Import tool is used to convert PROFIBUS GSD files to a format that can be read by Control Builder M. GSD Import supports conversion of both PROFIBUS-DP and PROFIBUS-DP/V1. IP Configuration Tool The IP Configuration tool is used to set controller IP addresses via a direct serial channel. The initial IP address must be set before downloading firmware and applications to the controller. Serial Firmware Upgrade Tool The Serial Firmware Upgrade tool is used to upgrade controller CPU firmware via a direct serial channel. This tool is used as a last resort, if for some reason the normal firmware upgrade procedure fails. 54 3BSE 026 333 R101 Rev A Section 2 Product Description Additional Software MMS Server for AC 800M/C Figure 13. MMS Server for AC 800M/C The MMS server handles MMS communication. It serves as a multiplexer between Control Builder M, OPC servers, and controllers. Control Network MMS Server for AC 800M/C Control Builder M and OPC Server for AC 800M/C 3BSE 026 333 R101 Rev A 55 OPC Server for AC 800M/C Section 2 Product Description OPC Server for AC 800M/C OPC Server for AC 800M/C gives OPC clients access to controller data they subscribe to. The OPC server can also be used to transfer alarm and event information. It consists of two parts: • Data Access (DA) part • Alarm and Event (AE) part The OPC server exposes data to the clients (DA part) and supports the transfer of alarm and event information from attached controllers to subscribing OPC clients (AE part). For information regarding OPC server performance, possible configurations or OPC server restrictions, see Section 3, Technical Data and Performance. OPC Server for AC 800M/C is included in AC 800M/C Connect licenses and, if run in an integrated configuration, does not have to be ordered separately. However, if OPC Server for AC 800M/C is used without an AC 800M/C Connect license, then a separate OPC Server for AC 800M/C license is required. See Appendix A, Licenses. This product guide focuses on the stand-alone use of the OPC server. When integrating Control Builder M with Process Portal A, the OPC server is included in this license. For information on OPC Server for AC 800M/C as part of AC 800M/C Connect, refer to the corresponding product guide. See Related Product Guides on page 18. 56 3BSE 026 333 R101 Rev A Section 2 Product Description OPC Server for AC 800M/C−Data Access (DA) Part OPC Server for AC 800M/C−Data Access (DA) Part The Data Access (DA) part of the OPC server gives all OPC clients access to data stored in controllers programmed with Control Builder M. The OPC server exposes the following data to OPC clients. • Variables and parameters used in applications, programs, modules, function blocks, data structures, etc. (variables can be hidden by setting a “hidden” attribute) • Hardware configurations • Access variables It can also be used to store cold retain data. The OPC server detects the following events and updates data on each. • A new version of an application and/or a controller configuration is downloaded. • A new application (an application that did not previously exist) is downloaded • An application is deleted from a controller • One application or several new ones and a controller configuration are downloaded to a previously empty controller The DA part of OPC Server for AC 800M/C supports the OPC Data Access 1.0a and OPC Data Access 2.05 standards. When integrating Control Builder M with Process Portal A, the OPC server can be used for time syncronization, based on a time stamp that is created by Process Portal A. 3BSE 026 333 R101 Rev A 57 OPC Server−Alarm and Event (AE) Part Section 2 Product Description OPC Server−Alarm and Event (AE) Part The Alarm and Event (AE) part of the OPC server subscribes to alarms and events generated by controllers and other devices in the control network. All these alarms and events are then stored and made accessible to OPC clients. The AE part of the OPC server also collects acknowledgements and cancellations of alarms from OPC clients and forwards them to the controller or device in question. Clients may also disable or enable alarm conditions in controllers or devices through the OPC server. The AE part of OPC Server for AC 800M/C supports the OPC Alarm and Events 1.02 standard. AC 800M/C Connect The AC 800M/C Connect product is an option that can be installed from the ControlIT for AC 800M/C Products CD-ROM. AC 800M/C Connect must be installed in order to run Control Builder M in integration with Process Portal A. AC 800M/C Connect also gives the user access to the AC 800M/C Tool Routing function, which allows use of the Fieldbus Builder P tool to change the setup of various HART devices via AC 800M. For information about AC 800M/C Connect product, please refer to the corresponding product guide (see Related Product Guides on page 18). 58 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance General This section presents performance and technical data for Control Software and Control Builder M key functions, configuration and items. For this data to be valid, the following prerequisites and requirements must be fulfilled. Prerequisites and Requirements Software Requirements Late changes might affect performance and/or functionality. For information on late changes and restrictions in the use of the product, please refer to the Release Notes. Table 2. Control Builder M software requirements Software Requirement Operating system Windows 2000 with Service Pack 2 Browser Internet Explorer 5.5 plus SP2 or higher Printing project documentation Microsoft Word Reading online manuals Acrobat Reader 5.0 The following software recommendations must be met in order for Control Builder M to function properly. Using other software than recommended might affect performance. 3BSE 026 333 R101 Rev A 59 Hardware Requirements Section 3 Technical Data and Performance Hardware Requirements The following hardware requirements must be met in order for Control Builder M to function correctly. Using hardware other than that recommended can affect performance. Table 3. Control Builder M hardware requirements Hardware Minimum requirement Recommended for medium and large configurations CPU Pentium 166 MHz Pentium II 350 MHz, or better Internal memory 64 MB RAM 128 MB RAM Hard disk 50 MB free (200 MB for full installation) 50 MB free (200 MB for full installation) Screen 800x600, 32768 colors 1280x1024, 32768 colors Drives CD-ROM, local or network CD-ROM, local network Communication ports Ethernet or RS-232C for controller communication Ethernet or RS-232C for controller communication Mouse Standard, 3-button mouse if Control Module Editor is used Standard with scroll wheel, 3- button mouse if Control Module Editor is used 60 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance OPC Server Requirements OPC Server Requirements Table 4. OPC server software requirementsSoftware Requirement Operating system Windows 2000 with Service Pack 2 Browser Internet Explorer 5.5 plus SP2 or higher Table 5. OPC server hardware requirements Hardware Requirement CPU Pentium 166 MHz Internal memory 64 MB RAM Hard disk 25 MB free (200 MB for full installation) Screen Color or monochrome Drives CD-ROM, local or network Communication ports Ethernet for controller communication For a complete list of which feature is included in which Control Builder version, please refer to Professional, Standard and Basic on page 31. 3BSE 026 333 R101 Rev A 61 Hardware Requirements When Running Several Products on Same PC Section 3 Technical Data Hardware Requirements When Running Several Products on Same PC Table 6. Hardware requirements when running Control Builder M and OPC Server for AC 800M/C on the same PC Hardware Recommended CPU Pentium II, 350 MHz or better Internal memory 128 MB RAM Hard disk 50 MB free (200 MB for full installation) Screen 1280x1024, 32768 colors Drives CD-ROM, local network Communication ports Ethernet or RS-232C for controller communication Mouse Standard with scroll wheel, 3-button mouse if Control Module Editor is used This recommendation is taken without consideration on the OPC client installed in the same PC. Normally the OPC client, for example Process Portal A, has higher requirement, where the recommendation should be adjusted. 62 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Technical Data and Performance Technical Data and Performance Memory Consumption and Execution Times Available RAM Memory Available RAM memory is measured after loading firmware and an "empty" project, that is to say a project that has had nothing added to it after being created. Figure 14. Available memory The memory occupied by an empty project is subtracted since this space is required regardless of the size and complexity of the application, and will be the same for all controllers. As a general rule, an application should never exceed half the size of the available memory. The reason for this is the manner in which applications are updated online: 1. The increment (the difference between the old and the updated application) is downloaded to controller memory. 2. A new version of the application is built in controller memory, based on the old application and the increment. 3. The controller switches from the old to the new application. 4. The old application is deleted. This technique handles all updates in a very controlled and efficient way. What is required is for free memory to equal the size of the largest application. If an application comes close to the limit, it should be split in two so the two parts can be updated separately. . Firmware Empty project Available memory Maximum application size = 50% of Available memory 3BSE 026 333 R101 Rev A 63 Memory Consumption and Execution Times Section 3 Technical Data and Performance Memory Consumption and Execution Times for Function Blocks and Control Modules Memory is reserved for each defined function block type. When another instance is created, the amount of memory reserved for the instance is very small in relation to the type. This means that the memory consumed by the type itself is of great importance. The following tables show memory consumption and execution time per controller and CPU, for a number of common function blocks and control modules, as well as for a number of common control loops. Table 7. Available RAM memory Controller CPU Total RAM Firmware + Empty Project Available Memory AC 800M PM861 16 MB 6 507 kB 9 493 kB AC 800M PM856/860 8 MB 4 500 kB 3 500 kB AC 800C PM210 2 MB 625 kB 1 315 kB AC 250 PM253 2 MB TBD TBD AC 250 PM254 8 MB TBD TBD AC 250 PM255 8 MB TBD TBD 64 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Memory Consumption and Execution Times Table 8. AC 800M memory consumption and execution time for function blocks and control modules Object First Instance (bytes) Next Instance (bytes) PM856 (ms) PM860 (ms) PM861 (ms) Function Blocks UniCore 15 716 2 680 TBD 0.076 TBD UniHSI 5 560 648 TBD 0.0072 TBD BiCore 18 260 4 644 TBD 0.105 TBD BiHSI 5 924 792 TBD 0.01 TBD DriveCore 8 004 2 038 TBD 0.126 TBD Uni 34 696 6 072 TBD 0.185 TBD Bi 36 656 5 212 TBD 0.2595 TBD MotorUni 38 764 9 396 TBD 0.234 TBD MotorBi 51 452 2 068 TBD 0.321 TBD ValveUni 33 944 4 344 TBD 0.139 TBD PidSimpleReal 8 544 1 468 TBD 0.0885 TBD PidLoop 51 928 6 336 TBD 0.453 TBD PidLoop3P 56 368 7 344 TBD 0.481 TBD PidCascadeLoop 60 344 14 684 TBD 0.8235 TBD PidCascadeLoop3P 66 788 12 544 TBD 0.807 TBD SignalBool 17 008 1 616 TBD 0.03375 TBD SignalInBool 17 576 2 452 TBD 0.02925 TBD SignalOutBool 17 716 2 420 TBD 0.0289 TBD SignalReal 37 132 10 844 TBD 0.143 TBD SignalInReal 38 576 9 508 TBD 0.115 TBD SignalOutReal 35 512 9 520 TBD 0.105 TBD 3BSE 026 333 R101 Rev A 65 Memory Consumption and Execution Times Section 3 Technical Data and Performance Control Modules UniM 30 364 4 880 TBD 0.067 TBD BiM 35 524 5 856 TBD 0.079 TBD MotorUniM 35 912 8 716 TBD 0.077 TBD MotorBiM 40 132 7 488 TBD 0.098 TBD ValveUniM 29 740 4 344 TBD 0.107 TBD AnalogInCC 14 364 3 324 TBD 0.0977 TBD AnalogOutCC 15 612 3 444 TBD 0.104 TBD Level6CC 47 652 16 304 TBD 0.173 TBD ThreePosCC 19 204 4 050 TBD 0.221 TBD PidSimpleCC 10 812 2 340 TBD 0.134 TBD PidCC 75 512 13 460 TBD 0.453 TBD PidAdvancedCC 171 652 25 156 TBD 1.163 TBD Table 9. AC 800C memory consumption and execution time for function blocks and control modules Object First Instance (bytes) Next Instance (bytes) PM210 (ms) Function Blocks Bi TBD TBD TBD BiCore TBD TBD TBD BiHSI TBD TBD TBD Table 8. AC 800M memory consumption and execution time for function blocks and control modules Object First Instance (bytes) Next Instance (bytes) PM856 (ms) PM860 (ms) PM861 (ms) 66 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Memory Consumption and Execution Times DriveCore TBD TBD TBD MotorBi TBD TBD TBD MotorUni TBD TBD TBD PidCascadeLoop TBD TBD TBD PidCascadeLoop3P TBD TBD TBD PidLoop TBD TBD TBD PidLoop3P TBD TBD TBD Uni TBD TBD TBD UniCore TBD TBD TBD UniHSI TBD TBD TBD ValveUni TBD TBD TBD Table 9. AC 800C memory consumption and execution time for function blocks and control modules Object First Instance (bytes) Next Instance (bytes) PM210 (ms) 3BSE 026 333 R101 Rev A 67 Memory Consumption and Execution Times Section 3 Technical Data and Performance Control Modules BiM TBD TBD TBD MotorBiM TBD TBD TBD MotorUniM TBD TBD TBD UniM TBD TBD TBD ValveUniM TBD TBD TBD AnalogInCC TBD TBD TBD PidAdvancedCC TBD TBD TBD AnalogOutCC TBD TBD TBD Level6CC TBD TBD TBD ThreePosCC TBD TBD TBD PidCC TBD TBD TBD PidSimpleCC TBD TBD TBD Table 9. AC 800C memory consumption and execution time for function blocks and control modules Object First Instance (bytes) Next Instance (bytes) PM210 (ms) 68 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Memory Consumption and Execution Times Table 10. Advant Controller 250 memory consumption and execution time for function blocks and control modules Object First Instance (bytes) Next Instance (bytes) PM253 (ms) PM254 (ms) PM255 (ms) Function Blocks Bi TBD TBD TBD TBD TBD BiCore TBD TBD TBD TBD TBD BiHSI TBD TBD TBD TBD TBD DriveCore TBD TBD TBD TBD TBD MotorBi TBD TBD TBD TBD TBD MotorUn TBD TBD TBD TBD TBD PidCascadeLoop TBD TBD TBD TBD TBD PidCascadeLoop3P TBD TBD TBD TBD TBD PidLoop TBD TBD TBD TBD TBD PidLoop3P TBD TBD TBD TBD TBD Uni TBD TBD TBD TBD TBD UniCore TBD TBD TBD TBD TBD UniHSI TBD TBD TBD TBD TBD ValveUni TBD TBD TBD TBD TBD 3BSE 026 333 R101 Rev A 69 Memory Consumption and Execution Times Section 3 Technical Data and Performance Control Modules BiM TBD TBD TBD TBD TBD MotorBM TBD TBD TBD TBD TBD MotorUniM TBD TBD TBD TBD TBD UniM TBD TBD TBD TBD TBD ValveUniMTBD TBD TBD TBD TBD AnalogInCC TBD TBD TBD TBD TBD PidAdvancedCC TBD TBD TBD TBD TBD AnalogOutCC TBD TBD TBD TBD TBD Level6CC TBD TBD TBD TBD TBD ThreePosCC TBD TBD TBD TBD TBD PidCC TBD TBD TBD TBD TBD PidSimpleCC TBD TBD TBD TBD TBD Table 10. Advant Controller 250 memory consumption and execution time for function blocks and control modules Object First Instance (bytes) Next Instance (bytes) PM253 (ms) PM254 (ms) PM255 (ms) 70 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Memory Consumption and Execution Times Execution Times for Function Block Calls Table 11. CPU execution time per CPU for a number of standard function block calls Function Block Type AC 800M PM856/860(*) (µs) AC 800M PM861 (µs) AC 800C PM210 (µs) AC 250 PM253 (µs) AC 250 PM254 (µs) AC 250 PM255 (µs) ACOFActivate (disabled) 33.6 TBD TBD TBD TBD TBD ACOFActivate (enabled) 39.1 TBD TBD TBD TBD TBD ACOFActivate (timer on) 90.9 TBD TBD TBD TBD TBD CTUD 12.5 TBD TBD TBD TBD TBD Empty FB call 4.5 TBD TBD TBD TBD TBD LevelHigh (Active) 12.8 TBD TBD TBD TBD TBD LevelHigh (not Active) 12.9 TBD TBD TBD TBD TBD PulseGenerator (1 sec. High / 1 sec. Low) 51.5 TBD TBD TBD TBD TBD PulseGenerator (disabled) 10.6 TBD TBD TBD TBD TBD PulseGenerator (High out) 51.5 TBD TBD TBD TBD TBD PulseGenerator (Low out) 51.5 TBD TBD TBD TBD TBD RTC (read) 17.0 TBD TBD TBD TBD TBD RTC (set) 52.8 TBD TBD TBD TBD TBD 3BSE 026 333 R101 Rev A 71 Memory Consumption and Execution Times Section 3 Technical Data and Performance (*) The execution time should be doubled for PM856. SR 8.16 TBD TBD TBD TBD TBD TOn (after stopping timer) 10.1 TBD TBD TBD TBD TBD TOn (before starting timer) 37.9 TBD TBD TBD TBD TBD TOn (timer active) 11.3 TBD TBD TBD TBD TBD TP (after stopping timer) 11.5 TBD TBD TBD TBD TBD TP (before starting timer) 32.8 TBD TBD TBD TBD TBD TP (timer active) 11.3 TBD TBD TBD TBD TBD Table 11. CPU execution time per CPU for a number of standard function block calls Function Block Type AC 800M PM856/860(*) (µs) AC 800M PM861 (µs) AC 800C PM210 (µs) AC 250 PM253 (µs) AC 250 PM254 (µs) AC 250 PM255 (µs) 72 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Memory Consumption and Execution Times Execution Times for Operations and Function Calls Table 12. CPU execution time for a number of standard operations and function calls Operation/ Function AC 800M PM856 (µs) AC 800M PM860 (µs) AC 800M PM861 (µs) AC 800C PM210 (µs) AC 250 PM253 (µs) AC 250 PM254 (µs) AC 250 PM255 (µs) a:= b - c (dint) 2.14 1.07 TBD TBD TBD TBD TBD a:= b - c (int) 2.46 1.23 TBD TBD TBD TBD TBD a:= b - c (real) 7.84 3.92 TBD TBD TBD TBD TBD a:= b * c (dint) 2.24 1.12 TBD TBD TBD TBD TBD a:= b * c (int) 2.48 1.24 TBD TBD TBD TBD TBD a:= b * c (real) 6.28 3.14 TBD TBD TBD TBD TBD a:= b / c (dint) 3.92 1.96 TBD TBD TBD TBD TBD a:= b / c (int) 3.78 1.89 TBD TBD TBD TBD TBD a:= b / c (real) 17.5 8.75 TBD TBD TBD TBD TBD a:= b + c (dint) 2.16 1.08 TBD TBD TBD TBD TBD a:= b + c (int) 2.46 1.23 TBD TBD TBD TBD TBD a:= b + c (real) 8.52 4.26 TBD TBD TBD TBD TBD a:= b <> c (dint) 3.08 1.54 TBD TBD TBD TBD TBD a:= b <> c (real) 7.92 3.96 TBD TBD TBD TBD TBD a:= b and c (Boolean) 2.18 1.09 TBD TBD TBD TBD TBD a:= b and c (word) 2.44 1.22 TBD TBD TBD TBD TBD a:= b or c (Boolean) 2.12 1.06 TBD TBD TBD TBD TBD a:= b or c (word) 2.46 1.23 TBD TBD TBD TBD TBD 3BSE 026 333 R101 Rev A 73 Memory Consumption and Execution Times Section 3 Technical Data and Performance a:= b xor c (Boolean) 2.18 1.09 TBD TBD TBD TBD TBD a:= b xor c (word) 2.44 1.22 TBD TBD TBD TBD TBD a:= shl(b, c) (word) 3.70 1.85 TBD TBD TBD TBD TBD a:= shr(b, c) (word) 3.68 1.84 TBD TBD TBD TBD TBD dint := real (real_to_dint) 79 39.5 TBD TBD TBD TBD TBD real := dint 8.20 4.10 TBD TBD TBD TBD TBD Real_to_time 111.6 55.8 TBD TBD TBD TBD TBD Sqrt (real) 23.0 11.5 TBD TBD TBD TBD TBD Str1 := Str2 (string) 23.6 11.8 TBD TBD TBD TBD TBD Str1 := Str2 + Str3 (string) 234 117 TBD TBD TBD TBD TBD Time_to_real 40.8 20.4 TBD TBD TBD TBD TBD Time_to_string (0d0h0m) 342 171 TBD TBD TBD TBD TBD Time_to_string (34d10h23m 45s678ms) 330 165 TBD TBD TBD TBD TBD Time1 >= Time2 36.4 18.2 TBD TBD TBD TBD TBD TimeElapsed 13.8 6.90 TBD TBD TBD TBD TBD Table 12. CPU execution time for a number of standard operations and function calls Operation/ Function AC 800M PM856 (µs) AC 800M PM860 (µs) AC 800M PM861 (µs) AC 800C PM210 (µs) AC 250 PM253 (µs) AC 250 PM254 (µs) AC 250 PM255 (µs) 74 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Compilation and Download Compilation and DownloadIt takes 1 until 1.5 minutes to compile and download a 3.5 MB complex application, from a Pentium III 1 GHz 512 MB PC, to a controller. CPU load is calculated as a percentage using the following formula. CPU load (%) = 100*(Total execution time / Total interval time) Note that applications can never use more than 70% of CPU capacity. If an application demands more than 70%, the controller will reschedule its tasks until the demand is back at 70%. Running a controller at close to 70% CPU load will result in poor performance and longer response times for peer-to-peer and OPC communication. Under all conditions peak cyclic load should be held at 65% and "static" cyclic load at 60%. If high communication throughput is important, cyclic load should be kept at 30-40%. CPU load is also influenced by other factors, such as Modulebus scan interval and the number of modules on Modulebus (AC 800M), or the scanning of ABB Drives. TimerHold (after stopping timer) 5.96 2.98 TBD TBD TBD TBD TBD TimerHold (before starting timer) 6.04 3.02 TBD TBD TBD TBD TBD TimerHold (timer on hold) 6.50 3.25 TBD TBD TBD TBD TBD TimerHold (timer started) 9.26 4.63 TBD TBD TBD TBD TBD Table 12. CPU execution time for a number of standard operations and function calls Operation/ Function AC 800M PM856 (µs) AC 800M PM860 (µs) AC 800M PM861 (µs) AC 800C PM210 (µs) AC 250 PM253 (µs) AC 250 PM254 (µs) AC 250 PM255 (µs) 3BSE 026 333 R101 Rev A 75 Hardware and I/O Section 3 Technical Data and Performance Hardware and I/O Modulebus Scanning of Digital/Analog Modules (AC 800M) The Modulebus scanning (AC 800M) has great influence on CPU load, since I/O copying on Modulebus is handled by the controller CPU. The scan time increases as modules are added, and at a certain point Modulebus scanning will start to seriously influence CPU load. The Modulebus scan interval can be set in Control Builder. The interval must be set to fit the module requiring the shortest scan interval. A solution to this problem is to connect I/O variables requiring shorter scan times via the PROFIBUS adapters (CI851+CI854). In AC 800M, Modulebus scanning has the highest priority. The cyclic load presented for IEC-61131-3 applications includes extra load caused by Modulebus interrupts. 76 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Hardware and I/O The following table shows CPU load and scan times for three different configurations. The desired scan time is 100 ms. The numbers in the above table can be calculated as follows. where NDigital = No. of digital modules NAnalog = No. of analog modules T Digital = Processing time for a digital module = 70 µs, TAnalog = Processing time for an analog module = 120 µs, Table 13. Scanning of digital/analog modules on AC 800M Modulebus, three different configurations Item/Measured Data Configuration 1 Configuration 2 Configuration 3 Digital modules No. of modules 72 8 8 Modulebus scan interval for modules 100 ms 20 ms 10 ms CPU load (%) 5.0 2.8 5.6 Analog modules No. of modules 24 2 5 Modulebus scan interval(1) (1) Analog modules are scanned every fourth cycle; temperaturemodules every eighth cycle. 100 (4*400) ms 20 (4*80) ms 10 (4*40) ms CPU load (%) 2.9 1.2 6.0 Total CPU load (%) in this case 7.9 4.0 11.6 Shortest possible scan interval for all above modules (ms) 33 4 5 CPU load at shortest scan interval (%) 23 20 23 Scan time in ms 3BSE 026 333 R101 Rev A 77 Hardware and I/O Section 3 Technical Data and Performance and where TSlave = Slave frame time-out time = 256 µs. The CPU load formula is only valid if TSlave >= “Minimum Scan Interval”. Modulebus Scanning of ABB Drives (AC 800M)−General Scanning of ABB Drives on Modulebus also influences CPU load (for AC 800M). The CPU load should be calculated separately and added to the CPU load generated by I/O modules on the Modulebus. Modulebus Scanning of ABB Engineered Drives (AC 800M) Scanning of an Engineered Drive is distributed over 3*12 scan cycles. Three channels (DDS Pairs) are scanned in each scan cycle. The first two are always channels 1 and 2 (i.e. DDS Pair 10/11 and 12/13); the third will be different for each scan cycle. Table 14. Scan cycles for ABB Application Drives Scan Cycle DDS Pair 1 DDS Pair 2 DDS Pair 3 1 10/11 12/13 14/15 2 10/11 12/13 16/17 3 10/11 12/13 18/19 4 10/11 12/13 20/21 5 10/11 12/13 14/15 6 10/11 12/13 16/17 7 10/11 12/13 18/19 8 10/11 12/13 22/23 Minimum Scan Interval 78 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Hardware and I/O To scan the three DDS pairs each cycle takes approximately 1.5 ms. Therefore in a system that only contains Application drives, the scan time will be approximately 1.5 ms * number of drives. It is not possible to have a scan interval less then 2 ms for the Modulebus scanner. Thus, for one drive the scan time will be 2 ms. Example For four drives, the scan time will be 1.5 ms * 4 = 6 ms for the DDS pairs 10/11 and 12/13, and the scan interval for the remaining of the DDS pairs will be 1.5 ms * 4 * 12 = 72 ms. Modulebus Scanning of ABB Standard Drives (AC 800M) For ABB Standard Drives, all data sets (DDS 1/2 and DDS 3/4) are scanned in each scan cycle. It takes approximately 1 ms to scan a single Standard Drive. Example For four ABB Standard Drives the scan time will be 1 ms * 4 = 4 ms. 9 10/11 12/13 14/15 10 10/11 12/13 16/17 11 10/11 12/13 18/19 12 10/11 12/13 24/25 Table 14. Scan cycles for ABB Application Drives Scan Cycle DDS Pair 1 DDS Pair 2 DDS Pair 3 3BSE 026 333 R101 Rev A 79 Hardware and I/O Section 3 Technical Data and Performance S800 I/O Memory Consumption Table 15. Memory consumption for S800 I/O digital input modules Module First Module bytes Next Module (bytes) DI801 2780 3509.6 DI802 1756 2616 DI803 1756 2670.4 DI810 2796 3506.4 DI811 2668 3664 DI814 2668 3568 DI820 1820 2580.8 DI821 1756 2616 DI830 3676 4504 DI831 3676 4504 DI885 2264 3228 DI890 2012 2748 DP820 7336 7836 80 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Hardware and I/O Table 16. Memory consumption for S800 I/O digital output modules Module First Module (bytes) Next Module (bytes) DO801 3052 4052 DO802 1900 2788 DO810 3176 3884 DO814 3196 3873.6 DO815 2020 2804 DO820 2040 2768 DO821 2024 2784 DO890 1396 2234.4 Table 17. Memory consumption for S800 I/O analog input modules Module First Module (bytes) Next Module (bytes) AI801 4696 5442.4 AI810 4688 5592 AI820 2672 3461.6 AI830 4572 5460.8 AI835 4656 5531.2 AI890 4708 5700 AI895 4704 5456 3BSE 026 333 R101 Rev A 81 Hardware and I/O Section 3 Technical Data and Performance Table 18. Memory consumption for S800 I/O analog output modules Module First Module (bytes) Next Module (bytes) AO801 4724 5463.2 AO810 4580 5666 AO820 2652 3517.6 AO890 4728 5744 AO895 4728 5463.2 82 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Hardware and I/O S900 I/O Memory Consumption Table 19. Memory consumption for S900 I/O digital combined modules Module First Module (bytes) Next Module (bytes) DP910 (F12P) 5435 2716.8 DP910S (F12F) 4544 1828 DX910 (DIO8) 5792 3004 DX910 (DIO8S) 6672 3851.2 DX910 (DIO8 8I) 4740 2064 DX910 (DIO8 8I S) 5652 2893.6 Table 20. Memory consumption for S900 I/O digital output modules Module First Module (bytes) Next Module (kbytes)) DO910 (DO4) 4152 1485.6 Table 21. Memory consumption for S900 I/O analog input modules Module First Module (bytes) Next Module (bytes) AI910 (AI4) 5500 2904.8 AI920 (AI4I) 5500 2856 AI921 (AI4IU) 5500 2856 AI930 (AI4HA) 5500 2856 AI930 (AI4HA1H) 5988 3185.6 3BSE 026 333 R101 Rev A 83 Hardware and I/O Section 3 Technical Data and Performance AI930 (AI4HA4H) 7196 4361.6 AI930 (AI4HA8H) 8580 5980 AI931 (AI4HP) 5460 2832 AI931 (AI4HP1H) 5960 3272 AI931 (AI4HP4H) 7080 4396 AI931 (AI4HP8H) 8548 5788 AI950 (TI4R) 5384 2796 AI950 (TI4T) 5352 2880.8 Table 22. Memory consumption for S900 I/O analog output modules Module First Module (bytes) Next Module (bytes) AO910 (AO) 5424 2827.2 AO920 (AO4I) 5424 2828.4 AO930 (AO4H) 5344 2756 AO930 (AO4H1H) 5844 3094.4 AO930 (AO4H4H) 6944 4226.4 AO930 (AO4H8H) 8320 5840 Table 21. Memory consumption for S900 I/O analog input modules Module First Module (bytes) Next Module (bytes) 84 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Hardware and I/O S200 I/O Memory Consumption This section lists memory consumption for S200L I/O and S200 I/O modules. Table 23. Memory consumption for S200L I/O modules Module First Module (bytes) Next Module (bytes) DI210 3 256 2 831 DO210 2 974 2 580 DX210 3 206 2 748 AI210 4 718 4 629 AO210 3 072 2 846 AX210 4 020 3 610 Table 24. Memory consumption for S200 I/O digital input modules Module First Module (bytes) Next Module (bytes) 200-IB16 3 108 2 904 200-IB32 4 740 4 448 Table 25. Memory consumption for S200 I/O digital combined modules Module First Module (bytes) Next Module (bytes) 200-IB10xOB6 4 646 2 856 200-IB16xOB16P 4 726 4 606 3BSE 026 333 R101 Rev A 85 Hardware and I/O Section 3 Technical Data and Performance Table 26. Memory consumption for S200 I/O digital output modules Module First Module (bytes) Next Module (bytes) 200-OB8EP 3 034 2 746 200-OB16 4 334 2 598 200-OB16P 2 944 2 546 200-OB32P 4 560 4 460 Table 27. Memory consumption for S200 I/O analog input modules Module) First Module (bytes) Next Module (bytes) 200-IE8 4 332 4 774 Table 28. Memory consumption for S200 I/O analog combined modules Module First Module (bytes) Next Module (bytes) 200-IE4xOE2 3 402 3 115 Table 29. Memory consumption for S200 I/O analog output modules Module First Module (bytes) Next Module (bytes) 200-OE4 2 828 2 632 86 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance Hardware and I/O Table 30. Memory consumption for S200 I/O special modules Module First Module (bytes) Next Module (bytes) 200-IT8 4 768 4 488 200-IR8 4 504 4 581 200-IR8R 3 802 4 060 200-IF4I 2 428 2 224 200-OF4I 2 456 2 271 200-IA8 2 080 1 840 200-OA8 3 510 1 736 200-IM8 1 272 1 806 200-OM8 3 486 1 752 200-OW8 3 502 1 738 200-IP2 4 062 2 098 200-IP4 4 360 2 486 3BSE 026 333 R101 Rev A 87 MMS Communication Section 3 Technical Data and Performance S100 I/O Memory Consumption The performance data for S100 I/O modules is not available, because that the implementation is not ready yet. MMS Communication Serial communication performance is affected by transmission speed, message length and application load. MMS communication takes place serially and asynchronously, according to the master/slave (or client/server) principle. The master channel of a system initiates the message transmission sequence, while a system acting as a slave simply responds to the calls from the master via a slave channel. The following table shows the performance of a master system in terms of messages per second for MMSWrite and MMSRead commands respectively. . 88 3BSE 026 333 R101 Rev A Section 3 Technical Dataand Performance MMS Communication The two tables on the following pages show the influence of application load in slave systems (new measurements must be taken to deliver up-to-date values). Table 31. Performance of MMS master system Application load in master (%) Data type Messages/sec. AC 800M, AC 250 Write Messages/sec. AC 800M, AC 250 Read Messages/sec. AC 800C Write Messages/sec. AC 800C Read 0 1 dint or 1 bool 190 188 20.0 20.2 0 159 dint 65 84 4.3 10.7 0 319 bool 45 71 2.7 7.9 0 136 real 71 75 5.1 11.6 0 190 string [1] 42 81 3.0 9.8 0 6 string [140] 185 184 17.3 19.4 50 1 dint or 1 bool 95 94 8.4 8.6 50 159 dint 32 51 1.8 4.6 50 319 bool 21 46 1.2 3.4 50 136 real 34 51 2.2 4.9 50 190 string [1] 21 52 1.3 4.2 50 6 string [140] 86 93 7.0 8.4 3BSE 026 333 R101 Rev A 89 MMS Communication Section 3 Technical Data and Performance Table 32. Performance of a slave system, AC 800M and Advant Controller 250. Application load in slave (%) Messages/sec. 1 dint or 1 bool 319 bool 159 dint 136 real W ri te c o m m an d fr o m m as te r 0 208 90 118 130 10 206 - - - 40 136 64 110 111 50 112 72 102 87 69 67 50 64 62 R ea d c o m m an d fr o m m as te r 0 202 41 62 74 10 208 38 60 73 40 135 25 39 48 50 110 21 32 39 69 66 12 19 23 90 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance MMS Communication Table 33. Performance of a slave system, AC 800C Application load in slave (%) Messages/sec. 1 dint or 1 bool 319 bool 159 dint 136 real W ri te c o m m an d fr o m m as te r 0 20.4 - - - 10 16.5 - - - 40 11.7 - - - 50 8.6 - - - 70 4.3 - - - R ea d c o m m an d fr o m m as te r 0 17.2 2.4 3.8 4.5 10 16.8 2.3 3.7 4.4 40 10.9 1.5 2.4 2.7 50 8.0 1.5 1.9 2.1 70 3.7 0.7 1.0 1.2 Note that the performance values presented here were obtained under optimized conditions. Several function blocks have been triggered in parallel at a short interval time (10 ms) to get the maximum communication rate. Please consider these facts when you use the figures for your communication design. Note also that extensive use of named access variables deteriorates performance. The application internal communication load can be monitored from Control Builder M. The Ethernet standard allows bandwidth transmission at 10 Mb/s, 100 Mb/s (fast Ethernet), and 1000 Mb/s (gigabit Ethernet), but ControlIT for AC 800M/C currently supports only 10 Mb/s. 3BSE 026 333 R101 Rev A 91 Control Network Clock Synchronization Section 3 Technical Data and Performance Control Network Clock Synchronization Clock Synchronization SNTP : 1 ms CNCP (between AC 800M): 1 ms CNCP (AC 800M to AC 800C/250): 200 ms MB300: Transmission speed: 200 packet/sec Time synchronization: 3 ms OPC Server for AC 800M/C The OPC Server for AC 800M/C collects data from controllers via MMS, and makes it available to OPC clients. Performance depends on the amount of MMS traffic between the OPC server and controllers. This, in turn, depends on the number of items and the rate at which the items are updated in the OPC Server. The following information is based on an OPC Server for AC 800M/C running on a PC with a Pentium III, 1 GHz processor and 512 Mbyte RAM. OPC Server for AC 800M/C can handle more than 25000 different variables in total. This means that, at this update rate, one OPC client can subscribe to 30000 items or 4 OPC clients can subscribe to 7500 items each. Performance also depends on the controller's ability to provide the OPC server with data. This ability is controller-dependent and shown in the table below. Values are based on an update rate of 1.0 s. 92 3BSE 026 333 R101 Rev A Section 3 Technical Data and Performance OPC Server for AC 800M/C This data is tested on a Pentium III, 800 MHz processor and 512 Mbyte RAM. Table 34. Number of variables read per second at 1.0 s update rate Controller/CPU Total Items CPU Load (%) Transmission Speed (telegram/s) AC 800M / PM861 TBD AC 800M / PM860 31500 40 94 AC 800C / PM210 1600 27 6 AC 250 / PM253 TBD AC 250 / PM254 TBD AC 250 / PM255 18000 25 54 3BSE 026 333 R101 Rev A 93 OPC Server for AC 800M/C Section 3 Technical Data and Performance 94 3BSE 026 333 R101 Rev A Section 4 Ordering Ordering Procedure The product guide is aimed to assist ABB sales representatives in ordering Control Software and Control Builder M licenses and products. This section describes the price lists required when ordering and provides an example of an order. However, it is outside the scope of this product guide to give a complete description of all ordering procedures and tools. It is assumed that each ABB sales representative is familiar with price lists, CAST and other tools to order. Price Lists Counting I/O Points The licensing system for Control Software licenses is based on counting I/O points. The I/O point count is calculated based on the number of variables used on local and remote I/O channels, and on variables used in communication with third party systems. Each Boolean variable counts as one I/O point, while each non-Boolean variable counts as two points. See Appendix A, Licenses. Control Software Base Licenses, version 3.1 Document no: 3BSE 025 497 Use this price list to order the following Control Software licenses. • Binary Control License for AC 800M/C, with or without I/O point support • Basic Control License for AC 800M/C, with or without I/O point support 3BSE 026 333 R101 Rev A 95 Price Lists Section 4 Ordering • Advanced Process Control License for AC 800M/C, with or without I/O point support • Optional Advanced Control License for Fuzzy Control Library (this option might be removed) Control Software Expansion Licenses, version 3.1 Document no: 3BSE 025 498 Use this price list to order the following Control Software licenses. • Binary Control I/O Expansion License for AC 800M/C, from x to y I/O Points (for a number of x and y values) • Basic Control I/O Expansion License for AC 800M/C, from x to y I/O Points (for a number of x and y values) • Advanced Process Control I/O Expansion License for AC 800M/C, from x to y I/O Points (for a number of x and y values) • Optional Advanced Control License for Fuzzy Control Library (this option might be removed) • Expansion to a higher license level from – Binary Control to Basic Control, with or without I/O Point support – Basic Control to Advanced Control, with or without I/O Point support – Binary Control to Advanced Control, with or without I/O Point support Note that it might be necessary to obtain several I/O point expansion licenses should the I/O point count increase notably. Should the need for I/O point support increase from x to z, then two licenses are required: one for expansion from x to y I/O points, and one for expansion from y to z I/O points. 96 3BSE 026 333 R101 Rev A Section 4 Ordering Price Lists Control Builder M Base Licenses, version 3.1 Document no: 3BSE 028 325 Use this price list to order the following Control Builder M licenses • Control Builder M Basic • Control Builder M Standard • Control Builder M Professional Control Builder M Expansion Licenses, version 3.1 Document no: 3BSE 028 326 • Expansion to a higher Control Builder M license level from – Basic to Standard – Basic to Professional – Standard to Professional OPC Server for AC 800M/C Licenses, version 3.1 Document no: 3BSE 025 500 Use this price list to order the following OPC Server for AC 800M/C licenses. • License for OPC Server, version 3.1, Support for Data Access and Alarm/Event AC 800M/C, Product Box (sw ver. 3.1) and Manuals Document no: 3BSE 025 501 This price list is used for ordering the following ControlIT products. • ControlIT for AC 800M/C, Product Box, version 3.1 • ControlIT for AC 800M/C, CD only, version 3.1 • ControlIT for AC 800M/C, version 3.1, individual manuals 3BSE 026 333 R101 Rev A 97 Ordering ExampleSection 4 Ordering Ordering Example The first part of this example shows how to use price lists to order a "normal" Control Software and Control Builder M constellation. The second part shows how to use the price lists to expand the original order. Original Order The following is to be ordered: • A Control Builder M Standard License • A Control Software Basic Control License, with support for up to 50 I/O points Step-by-step Example: 1. Find the correct price list for the Control Builder Standard license: The Control Builder M license price list has the number 3BSE 028 325 2. Find the correct heading and item number: 1.4 Control Builder Standard, A205 3. Find the correct price list for Control Software Base licenses: The Control Software Base license price list has the number 3BSE 025 497 4. Find the correct heading and item number: 3.1 Basic License, C008 5. Find the correct heading for I/O support and the I/O Point level immediately above 50 I/O points: 3.2 I/O Point Support, C015 corresponds to a maximum of 64 I/O points Order A205 from list number 3BSE 028 325. Order C008 and C015 from price list number 3BSE 025 497. For information on how to calculate I/O points, refer to Appendix A, Licenses. To create a working margin, it is recommended that a 20 percent margin be used when calculating the number of I/O points. The above 50 I/O points are assumed to include such a margin. 98 3BSE 026 333 R101 Rev A Section 4 Ordering Expansion of an Existing Installation Expansion of an Existing Installation The license ordered in the first part of the example is to be expanded. The following should be included on the expansion order: • An expansion license from Basic Control to Advanced Process Control • The license should support 180 I/O points, instead of the 64 I/O points supported by the current license Step-by-step example: 1. Find the correct price list for expansion of Control Software licenses: The Control Software Expansion Licenses price list has the number 3BSE 025 498. 2. Find the correct heading for expanding the license: 7.1 Base License (no I/O Support), F008 is used for expansion from Basic Control to Advanced Process Control, and F015 is required for support of up to 64 I/O points. 3. Find the correct heading for expanding the number of I/O points for an Advanced Process Control license: 4.1 Incremental licenses for expansion of I/O support are used to expand the number of I/O points for an Advanced Process Control license. 4. Find the items corresponding to expansion from 64 to 180 I/O points: 4.1 Incremental licenses for expansion of I/O support, C020 expands I/O point support from 64 to 128 I/O points, and C025 expands I/O point support from 128 to 200 I/O points Order F008, F015, C020 and C025 from price list number 3BSE 025 498. Note that expanding I/O point support from 64 to 200 points requires two I/O point expansion licenses, C020 and C025. 3BSE 026 333 R101 Rev A 99 Expansion of an Existing Installation Section 4 Ordering 100 3BSE 026 333 R101 Rev A Appendix A Licenses License Concept The license concept for AC 800M/C controllers is as follows. • A license is required for the Control Builder M engineering and programming tool. There are three Control Builder variants, each with its own license (Basic, Standard, and Professional) • A runtime license is required for each controller, for running and executing applications. It is called a Control Software license, and is based on two independent factors: – the libraries used – the number of used I/O points (see definition below) • A license is required for integration between Control Software and other IndustrialIT products, either through OPC Server for AC 800M/C (in which case integration can include third party products) or through AC 800M/C Connect. If OPC Server for AC 800M/C is used without AC 800M/C Connect, then a specific OPC Server for AC 800M/C license is required. If AC 800M/C Connect is installed, the license cost is based on the tag count, see AC 800M/C Connect Tags on page 106. The OPC Server for AC 800M/C license is then included in the AC 800M/C Connect license. 3BSE 026 333 R101 Rev A 101 Control Builder M Licenses Appendix A Licenses Control Builder M Licenses A license is required for each Control Builder M variant: • Control Builder M Basic • Control Builder M Standard • Control Builder M Professional Control Builder M Professional is required when using AC 800M/C Connect. Expansion Licenses Special licenses are required for moving from one Control Builder M variant to another: • Control Builder M Basic to Control Builder M Standard • Control Builder M Basic to Control Builder M Professional • Control Builder M Standard to Control Builder M Professional Control Software Licenses Control Software licenses consist of a Base License (see below), with support for a number of I/O points. Figure 15. Control Software licenses are based on the libraries used in applications and on the I/O point count To find out which Control Software license to use, look up the relevant Base license (see Base Licenses on page 103) count the I/O point (see I/O Points on page 104), and find the right combination in the price list. In controller Large numbers of I/O points Small numbers of I/O points Several and more advanced libraries A few libraries 102 3BSE 026 333 R101 Rev A Appendix A Licenses Base Licenses Base Licenses There are three Control Software Base licenses. • Binary Control • Basic Control • Advanced Process Control The fuzzy control library, FuzzyLib, can be ordered as an option. The following table shows the libraries included in each Base license type. Libraries containing supporting functions only (such as ControlSupportLib and IconLib) are not included. Table 35. Libraries included in different Base license types License Level Libraries Binary Control SystemLib Basic Control SystemLib CommunicationLib(1) ProcessObjBasicLib ControlBasicLib (1) This library contains control modules, the use of which requires Control Builder M Professional. ControlSimpleLib SerialLib SignalObjLib BatchLib Advanced Process Control SystemLib CommunicationLib(1) AlarmEventLib(1) ProcessObjBasicLib ProcessObjExtLib(1) ControlBasicLib ControlSimpleLib ControlStandardLib(2) ControlExtendedLib(2) ControlAdvancedLib(2) SerialLib SignalObjLib BatchLib(1) INSUMLib (2) This library consists of control modules which require Control Builder M Professional. FuzzyLib Option FuzzyLib(2) 3BSE 026 333 R101 Rev A 103 I/O Points Appendix A Licenses Expansion Licenses Base licenses can be expanded through the following three expansion licenses: • Binary Control to Basic Control • Basic Control to Advanced Process Control • Binary Control to Advanced Process Control I/O Points The I/O point count is based on all variables connected to local and remote I/O channels. Variables are either connected via the I/O buses, such as Modulebus, FOUNDATION Fieldbus (FF) and Profibus-DP. • Each variable of Boolean data type counts as one I/O point • Each variable of non-Boolean data type counts as two I/O points Counting I/O Points To calculate the total number of I/O points: • Identify all objects to be controlled by each controller • Count all Boolean connected variables • Count all non-Boolean connected variables • For each Boolean variable, add one (1) I/O point to the I/O count • For each non-Boolean variable, add two I/O points to the I/O count • Add 20% to the I/O point count, to create a margin for growth I/O Point Expansion Licenses If the I/O point count exceeds the supported level, an expansion license can be used to move to a higher I/O point level. If the I/O point count increases notably, several expansion licenses might be required. See ControlIT for AC 800M/C price lists. 104 3BSE 026 333 R101 Rev A Appendix A Licenses Examples of Control Software Licenses Examplesof Control Software Licenses Examples of combinations of Base licenses and I/O point support: • Binary Control license, with support for up to 64 I/O points • Basic Control license, with support for up 1200 I/O points • Advanced Process Control, with support for more than 1600 I/O points OPC Server for AC 800M/C Licenses The OPC Server for AC 800M/C license includes support for OPC Data Access 2.05, as well as OPC Alarms and Events 1.02. This license is not required if an AC 800M/C Connect license is purchased, since an OPC server license is included in the Connect license. AC 800M/C Connect Licenses AC 800M/C Connect License Concept An AC 800M/C Connect license consists of a base license, with support for a number of tags (see below). • The base license for the first AC 800M/C Connect workplace should support the number of tags used in the integrated configuration. Tag support can be selected in stages up to a maximum number. The OPC Server for AC 800M/C license is included free of charge. • Additional Connect licenses must be purchased for each additional workplace. These licenses, with reference to the base license, are also based on the number of tags used in that particular workplace. • Expansion licenses can be used to expand the number of tags supported by an AC 800M/C Connect license. The number of tags is calculated in the integrated system, and is a measure of the size and complexity of the system. For a description of how to calculate tags, see AC 800M/C Connect Tags on page 106. 3BSE 026 333 R101 Rev A 105 AC 800M/C Connect Tags Appendix A Licenses AC 800M/C Connect Tags An AC 800M/C Connect tag is equivalent to an instance of a function block or control module type that is set to be an aspect object. Only instances of types set to be aspect objects are mirrored to or from Process Portal A. All such mirrored instances are counted, the result being the number of tags for the AC 800M/C Connect license. All instances of aspect objects are treated equally, regardless of whether their types reside in a standard library or in a custom-made library or application. Programs are always mirrored, but are not counted as tags. However, any instance of an aspect object within them is counted as a tag. Hardware instances are always mirrored, but are not counted as tags. Using deep structures in an application may produce more tags than the use of flat structures. However, deep structures are normally the result of object- oriented programming, which typically requires fewer engineering and testing hours than traditional programming methods. Do not jeopardize the benefits of object-oriented programming just to lower the number of tags. 106 3BSE 026 333 R101 Rev A Appendix A Licenses Tag Counting Example Tag Counting Example In the example, all instances of the ConveyorProcessLib:Conveyor control module type Figure 16 are set to be aspect objects. One conveyor will then be equivalent to eight tags, and all eight conveyors will then generate 64 tags. Figure 16. Eight conveyors with eight tags each generate 64 tags Eight tags 3BSE 026 333 R101 Rev A 107 Example of Simple AC 800M/C System Configuration Appendix A Licenses Example of Simple AC 800M/C System Configuration The following licenses are required to build, download and run applications for a simple AC 800M/C controller system configuration (Figure 17). 1. A Control Builder M license 2. A Control Software license based on the I/O point count 3. An OPC Server for AC 800M/C license for connection to 3rd party OPC clients Figure 17. Simple AC 800M/C system configuration Controller Control Software license (2) OPC Server for AC 800M/C (3) fieldbuses Control Builder M (1) local I/O points 3rd party OPC clients remote I/O points 108 3BSE 026 333 R101 Rev A Appendix A Licenses Example of Integrated AC 800M/C System Configuration Example of Integrated AC 800M/C System Configuration This example configuration shows AC 800M/C Connect being used to integrate Control Builder M with the Process Portal A environment via Aspect Integration Platform, AIP (Figure 18). The following licenses are required for the example configuration. • Two Control Builder M Professional licenses (1) • Three Control Software licenses, one for each controller A, B, and C, based on libraries used and the I/O point count of each controller (2) • An AC 800M/C Connect license (this license includes an OPC Server for AC 800M/C) for the Process Portal A server (3) • Two AC 800M/C Connect licenses, one for each additional Process Portal A client that is part of the integrated AC 800M/C configuration (4) • Process Portal A licenses (5) are also required. These are described in the Process Portal A product guide (see Related Product Guides on page 18) Figure 18. Example of an integrated AC 800M/C system configuration Controller A Process Portal A (5) Server AC 800M/C Connect (3) OPC Server for AC 800M/C included Control Builder M Professional (1) Control Software licenses (2) Controller B Controller C 3rd party system remote I/O points fieldbuses local I/O points local I/O points Process Portal A (5) Client 1 AC 800M/C Connect (4) Control Builder M Professional* (1) Process Portal A (5) Client 2 AC 800M/C Connect (4) * Control Builder M Professional is required if using mirroring to a Process Portal A client. local I/O points 3BSE 026 333 R101 Rev A 109 Example of Integrated AC 800M/C System Configuration Appendix A Licenses 110 3BSE 026 333 R101 Rev A Appendix B Supported Hardware and I/O Systems Controllers AC 800M The following AC 800M modules are supported. • PM856 PM856 is a high-performance, 32-bit, Single Board Computer, which directly connects to the S800 I/O system via Modulebus. Unit Description PM856 CPU PM860 CPU PM861 CPU CI851 Communication Interface PROFIBUS-DP/V0 CI852 Communication Interface Foundation Fieldbus H1 CI853 Communication Interface RS-232C CI854 Communication Interface PROFIBUS-DP/V1 CI855 Communication Interface MasterBus 300 CI856 Communication Interface S100 I/O CI857 Communication Interface INSUM 3BSE 026 333 R101 Rev A 111 AC 800M Appendix B Supported Hardware and I/O Systems • PM860 PM860 is a high-performance, 32-bit, Single Board Computer, which directly connects to the S800 I/O system via Modulebus. PM860 is twice as fast as PM856 in executing an application program. • PM861 (Redundant and Singular) PM861 is a high-performance, 32-bit, Single Board Computer, which directly connects to the S800 I/O system via Modulebus. PM861 has one optional Redundancy Control Link for redundant configuration. Communication Interface Modules • CI851 The CI851 unit is the communication interface for PROFIBUS-DP/V0 for the AC 800M. It is a master unit and you can connect up to 125 slaves to it. However, you cannot connect more than 32 units in one segment. • CI852 CI852 is the communication interface for the Fieldbus Foundation H1 bus for the AC 800M. The unit acts as a Link Active Scheduler (LAS) on the H1 bus. • CI853 CI853 is the RS-232C serial communication interface unit for the AC 800M. • CI854 The CI854 unit is the communication interface for PROFIBUS DP for the AC 800M with redundant PROFIBUS lines and DP/V1 communication. It is a master unit and you can connect up to 125 slaves to the master. However, you cannot connect more than 32 units in one segement. Two possible settings of the serial ports on the CI853 unit are not valid and must not be used. These are: 1) 7 data bits, no parity, 1 stop bit 2) 8 data bits, parity, 2 stop bits 112 3BSE 026 333 R101 Rev A Appendix B Supported Hardware and I/O Systems AC 800C • CI855 The CI855 unit is the communication interface for MasterBus 300 for the AC 800M. CI855 houses two Ethernet ports to support MasterBus 300 Network redundancy. • CI856 The CI856 is a communication interface for the S100 I/O system for the AC 800M.Up to five S100 I/O racks can be connected to one CI856 where each I/O rack can hold up to 20 I/O boards. • CI857 The CI857 unit is the communication interface for INSUM for the AC 800M. AC 800C The following AC 800C modules are supported. • PM210 The PM210 is a high-performance, 32-bit, Single Board Computer with digital inputs and outputs directly on-board. The controller is connected to the S200L I/O system. It is also possible to connect different communication and fieldbus boards using two inbuilt expansion slots. Unit Description PM210 CPU CI271 Communication Interface RS-232C CI272 Communication Interface Ethernet CI274 Communication Interface PROFIBUS-DP/V0 3BSE 026 333 R101 Rev A 113 Advant Controller 250 Appendix B Supported Hardware and I/O Systems Communication Interface Modules • CI271 The CI271 unit is the RS-232C serial communication interface unit for AC 800C. • CI272 The CI272 unit is the Ethernet communication interface unit for AC 800C. • CI274 The CI274 unit is the PROFIBUS-DP communication interface unit for the AC 800C. It is a master unit and you can connect up to 125 slaves to it. However, you cannot connect more than 32 units in one segment. Advant Controller 250 The following Advant Controller 250 modules are supported. Unit Description PM253 CPU PM254 CPU PM255 CPU 200-PSMG Master power supply 200-PSSG Slave power supply 200-CICN Communication Interface ControlNet 200-CIPB/DP Communication Interface PROFIBUS-DP/V0 200-CISB Communication Interface SattBus 200-CIE Communication Interface Ethernet 200-CI232 Communication Interface RS-232C 200-CI485 Communication Interface RS-485 200-DU Blank unit for protection of the bus 114 3BSE 026 333 R101 Rev A Appendix B Supported Hardware and I/O Systems Advant Controller 250 • PM253 PM253 is a high-performance, 32-bit, Single Board Computer available in different configurations. It is a CPU with 2 Mbyte memory. The unit has two serial (COM) ports and one SattBus interface. • PM254 PM254 a high-performance, 32-bit, Single Board Computer available in different configurations. It is a CPU with 8 Mbyte memory. The unit has two serial (COM) ports and one SattBus interface. • PM255 PM255 is a high-performance, 32-bit, Single Board Computer available in different configurations. It has a floating point processor (FPU). It is a CPU with 8 Mbyte memory. The unit has one serial (COM) port. Power Supplies • 200-PSMG 200-PSMG is the master power supply unit for the Advant Controller 250 system. Only one 200-PSMG can be used in a system. For higher capacity, one or more 200-PSSGs can be added. • 200-PSSG 200-PSSG is a complementary power supply to 200-PSMG when an additional power supply is needed in a system. Communication Interface Modules • 200-CICN 200-CICN is a communication interface unit for remote I/O for ControlNet I/O. • 200-CIPB/DP The 200-CIPB/DP is the PROFIBUS-DP/V0 communication interface unit for the Advant Controller 250. It is a master unit and you can connect up to 125 slaves to the master. However, you cannot connect more than 32 units in one segment. 3BSE 026 333 R101 Rev A 115 Advant Controller 250 Appendix B Supported Hardware and I/O Systems • 200-CISB 200-CISB is a SattBus communication interface unit with two SattBus supervisor channels, which may be configured individually. • 200-CIE 200-CIE is the Ethernet communication interface unit. • 200-CI232 200-CI232 is a communication interface unit with two RS-232C asynchronous serial channels, which may be configured individually. • 200-CI485 200-CI485 is a communication interface unit with two RS-485 asynchronous serial channels (with galvanic isolation), which may be configured individually. • 200-DU 200-DU is a blank unit used to protect an empty slot in the backplane from external mechanical and electrical damage. Earlier versions of 200-DU were called 200-DMOD. 116 3BSE 026 333 R101 Rev A Appendix B Supported Hardware and I/O Systems Adapters Adapters Adapter Can be connected to HART SOE TB820 PM856 PM860 PM861 (single CPU only) Yes(1) Yes(1) Yes(1) (1) HART and SOE are also available for modules placed on the electrical modulebus (12 slots) for PM856, PM860, and PM861 (single CPU only). Yes(1) Yes(1) Yes(1) TB840 PM856 PM860 PM861 Yes Yes Yes Yes Yes Yes DSBC 173A CI856 No Yes DSBC 174 CI856 No Yes DSBC1 76 CI856 No Yes CI830 CI274 CI851 CI854 200-CIPB/DP No No No No No No No No CI840 CI854 Yes No CI920 CI851 CI854 200-CIPB/DP CI274 No Yes No No No No No No 200-RACN 200-CICN No No 200-ACN 200-CICN No No 200-ANN PM253 PM254 PM255 No No No No No No 200-APB12 CI274 CI851 200-CIPB/DP No No No No No No 200-AIO PM210 No No 3BSE 026 333 R101 Rev A 117 Adapters Appendix B Supported Hardware and I/O Systems • TB820 Modulebus Modem • TB840 Modulebus Modem, primarily for redundant modulebus. • DSBC 173A The DSBC 173A unit is the bus extender slave inserted in the last position of a S100 I/O rack. • DSBC 174 The DSBC 174 unit is the bus extender slave inserted in the last position of a S100 I/O rack. • DSBC 176 The DSBC 176 unit is the bus extender slave inserted in the last position of a S100 I/O rack. • CI830 The unit CI830 is a remote PROFIBUS-DP I/O adapter for units. CI830 is connected to a controller via a PROFIBUS-DP master unit on the controller system bus. The CI830 can handle up to 24 S800 I/O-units. 12 I/O-units can be directly connected to the ModuleBus on the CI830, while the remaining I/O-units have to be connected via I/O-clusters. Up to 7 I/O-clusters can be connected to one CI830, and the numbering of I/O-units connected to a cluster will start with 101 for cluster 1, 201 for cluster 2 and so on. • CI840 The CI840 is a remote PROFIBUS-DP/V1 adapter for S800 I/O units. The CI840 can handle up to 24 S800 I/O-units. 12 I/O-units can be directly connected to the ModuleBus on the CI840, while the remaining I/O-units have to be connected via I/O-clusters. Up to 7 I/O-clusters can be connected to one CI840, and the numbering of I/O-units connected to a cluster will start with 101 for cluster 1, 201 for cluster 2 and so on. 118 3BSE 026 333 R101 Rev A Appendix B Supported Hardware and I/O Systems Adapters • CI920 The CI920 is a communication interface which connects the S900 Station to the external fieldbus. The data received via the fieldbus are distributed accordingly to the respective I/O modules. The parameters are submitted to a plausibility check. The incoming data are buffered and are available even in case of a fieldbus failure. When an I/O module needs to be replaced, the new module can be parameterized immediately. • 200-RACN An Advant Controller 250 configured with a ControlNet communication interface (200-CICN) may connect to a remote rack-based I/O system. The 200-RACN unit is a remote ControlNet I/O adapter for rack based I/O units. 200-RACN is connected to the controller via a 200-CICN unit on the controller system bus. In the Project Explorer, below the 200-CICN unit, one or several adapter 200-RACN units are used as nodes on the ControlNet fieldbus. A 200- RACN unit can have up to sixteen I/O boards. Limitations – On each ControlNet fieldbus, maximun eight (8) I/O-racks are supported, if 200-CICN Firmware version = 1.3 – Expansion I/O-racks are not supported, i.e. it is necessary to install a 200- RACN board in every I/O-rack – Expansion racks, with board adresses starting with 20, 60, etc., are not supported • 200-ACN The 200-ACN unit is a remote ControlNet I/O adapter for I/O units. 200-ACN is connected to the controller via a 200-CICN unit on the controller system bus. In the Project Explorer, below the 200-CICN unit, one or several adapter 200- ACN units are used as nodes on the ControlNet fieldbus. A 200-ACN unit can have up to eight I/O units. • 200-ANN The 200-ANN unit is a central I/O adapter for I/O units. One or several 200- ANN units can be connected to the Advant Controller250 system bus. Up to eight I/O units can be connected to each 200-ANN unit. • 200-APB12 The 200-APB12 unit is a remote PROFIBUS-DP I/O adapter for I/O units. 200-APB12 is connected to the controller via a PROFIBUS DP master unit on the controller system bus. A 200-APB12 unit can have up to eight I/O units. 3BSE 026 333 R101 Rev A 119 I/O Families Appendix B Supported Hardware and I/O Systems • PM210, 200-AIO In the Project Explorer, for an AC 800C, the two Ext I/O adapters can have up to eight I/O units. On the AC800C CPU unit the Ext I/O adapters are built-in. Locate the I/O units to the right of the first Ext I/O in position 11. For the second Ext I/O, in position 12, you must have a 200-AIO cable connector with a housing to which the I/O units are located on another rail. I/O Families I/O Family Connects To S100 I/O CI856 S200 I/O PM210 200-AIO 200-ANN 200-ACN 200-APB12 S200L I/O PM210 200-AIO 200-ANN 200-ACN 200-APB12 S800 I/O PM856, PM860, PM861 TB820, TB840 CI830, CI840 S900 I/O CI920 Rack I/O 200-RACN ABB Standard Drives PM856, PM860, PM861 TB820, TB840 CI830 ABB Engineered Drives PM856, PM860, PM861 TB820, TB840 120 3BSE 026 333 R101 Rev A Appendix B Supported Hardware and I/O Systems S100 I/O S100 I/O The following selection of S100 I/O modules are supported. Name Description DSAI 130 DSAI 130A Analog input board, 16 channels DSAI 130D Analog input board, 16 channels with 4 sets of filter times DSAI 133 DSAI 133A Analog input board, 32 channels DSAI 146 Analog input board, 31 channels for Pt100 elements DSAI 155 DSAI 155A Analog input board, 16 channels for thermocouples DSDI 110 DSDI 110A DSDI110AV1 Digital input board, 14 channels, 24V DSDI 120 DSDI 120A DSDI 120AV1 Digital input board, 32 channels, 48 V DSDO 110 Digital output board, 32 channels DSDO 115 Digital output board, 32 channels DSDO 115A Digital output board, 32 channels, OSP control DSAO 110 Analog output board, 4 channels DSAO 120 Analog output board, 8 channels DSAO 120A Analog output board, 8 channels, OSP control DSAO 130 Analog output board, 16 channels DSAO 130A Analog output board, 16 channels, OSP control DSAX 110 DSAX 110A Analog input/output board, 8+8 channels DSDP 010 Absolute binary decoder with hardware strobe, 2 channels 3BSE 026 333 R101 Rev A 121 S200 I/O Appendix B Supported Hardware and I/O Systems S200 I/O DSDP 140B Positioning controller board DSDP 161 Loop transducer interface, 4 channels DSDP 170 Pulse counter board, 4 channels Name Description 200-DUTB Dummy I/O unit 200-IA8 Digital input unit, 8 inputs 200-IB10xOB6 Digital combined unit, 10 inputs and 6 outputs 200-IB16 Digital input unit, 16 inputs 200-IB16xOB16P Digitally combined unit, 16 inputs and 16 outputs 200-IB32 Digital input unit, 32 inputs 200-IE4xOE2 Analog combined unit, 4 inputs and 2 outputs 200-IE8 Analog input unit, 8 inputs 200-IF4I Analog input unit, 4 inputs 200-IM8 Digital input unit, 8 inputs 200-IP2 Pulse counter board, 2 x 4 inputs 200-IP4 Pulse counter board, 4 x 2 inputs 200-IR8 Analog input unit, 8 inputs 200-IR8R Analog input unit, 8 inputs 200-IT8 Analog input unit, 8 inputs 200-OA8 Digital output unit, 8 outputs 200-OB16 Digital output unit, 16 outputs 200-OB16P Digital output unit, 16 outputs Name Description 122 3BSE 026 333 R101 Rev A Appendix B Supported Hardware and I/O Systems 200L I/O 200L I/O S800 I/O 200-OB32P Digital output unit, 2 x 16 outputs 200-OB8EP Digital output unit, 8 outputs 200-OE4 Analog output unit, 4 outputs 200-OF4I Analog output unit, 4 outputs 200-OM8 Digital output unit, 8 outputs 200-OW8 Digital output unit, 8 outputs Name Description AI210 Analog input unit, 8 inputs AO210 Analog output unit, 4 outputs AX210 Analog combined unit, 4 inputs and 2 outputs DI210 Digital input unit, 16 inputs DO210 Digital output unit, 16 outputs DX210 Digital combined unit, 10 inputs and 6 outputs See also, S200C I/O on page 127. Name Description AI801 Analog input unit, 8 inputs AI810 Analog input unit, 8 inputs AI820 Differential analog input unit, 4 inputs Name Description 3BSE 026 333 R101 Rev A 123 S800 I/O Appendix B Supported Hardware and I/O Systems AI830 Analog input unit, 8 inputs AI835 Analog input unit, 8 inputs AI890 Analog input unit, 8 inputs AI895 Analog input unit, 8 inputs(1) AO801 Analog output unit, 8 outputs AO810 Analog output unit, 8 outputs AO820 Analog output unit, 4 outputs AO890 Analog output unit, 8 outputs AO895 Analog output unit, 8 outputs(1) DI801 Digital input unit, 16 inputs DI802 Digital input unit, 8 inputs DI803 Digital input unit, 8 inputs DI810 Digital input unit, 16 inputs DI811 Digital input unit, 16 inputs DI814 Digital input unit, 16 inputs DI820 Digital input unit, 8 inputs DI821 Digital input unit, 8 inputs DI830 Digital input unit, 16 inputs(1, 2) DI831 Digital input unit, 16 inputs(1, 2) DI885 Digital input unit, 8 inputs(1, 2) DI890 Digital input unit, 8 inputs DO801 Digital output unit, 16 outputs DO802 Digital output unit, 8 outputs DO810 Digital output unit, 16 outputs Name Description 124 3BSE 026 333 R101 Rev A Appendix B Supported Hardware and I/O Systems S900 I/O S900 I/O DO814 Digital output unit, 16 outputs DO815 Digital output unit, 8 outputs DO820 Digital output unit, 8 outputs DO821 Digital output unit, 8 outputs DO890 Digital output unit, 8 outputs DP820 Digital pulse counter(2) (1) Not in CI830 (2) Not in CI840 Name Description AI910N/S Analog input unit, 4 inputs AI920N/S Analog input unit, 4 inputs AI921N/S Analog input unit, 4 inputs AI930N/S Analog input unit, 4 inputs AI931N/S Analog input unit, 4 inputs AI950N/S Analog input unit, 4 inputs AO910N/S Analog output unit, 4 outputs AO920N/S Analog output unit, 4 outputs AO930N/S Analog output unit, 4 outputs DO910N/S Digital output unit, 4 outputs DP910N/S Frequency input and pulse counter DX910N/S Bidirectional unit, 8 channels Name Description 3BSE 026 333 R101 Rev A 125 ABB Standard Drives Appendix B Supported Hardware and I/O Systems ABB Standard Drives ABB Engineered Drives Name Application ACS400 Standard drive ACS600 Crane application ACS600 Pump and fan application ACS600 Standard application ACS800 Crane application ACS800 Pump and fan application ACS800 Standard application DCS400 Standard drive DCS500 Standard drive Name Application ACS600 IGBT supply (ISU) application ACS600 System application ACS600AD Asynchronous drive ACS600C Cyclo converter drive ACS600SD Synchronous drive ACS800 IGBT supply (ISU) application ACS800 System application ACS1000 Standard drive DCS600 System application 126 3BSE 026 333 R101 Rev A Appendix B Supported Hardware and I/O Systems I/O for Updating I/O for Updating S200C I/O Rack I/O The boards are only supported for Advant Controller 250 on ControlNet. Name Description 200C-IB10xOB6P Digital combined unit, 10 inputs and 6 outputs 200C-IB16 Digital input unit, 16 inputs 200C-IE4xOE2 Analog combined unit, 4 inputs and 2 outputs 200C-IE8 Analog input unit, 8 inputs 200C-OB16P Digital output unit, 16 outputs 200C-OE4 Analog output unit, 4 outputs Name Description RAID16 Used for IAPG, IDLD (16-bit digital input) RAID32 Used for IDP, IDPG, IDN, IDI, PTC, IPA4 (32-bit digital input) RAOD16 Used for ORG, ORGH, OATG, ODP2, ODPG2, ORM (16-bit digital output) RAOD32 Used for ODP.5, ODP.8, ODPG.8, ODPL.5, ODPLD, ODN.2, ODLD.5, ODSG (32-bit digital output) RAIA8 Used for IBA, IRA, ICA, IVA, IVAPOT (8 channel analog input) RAOA2 Used for OCVA (2 channel analog output) RAOA4 Used for OCAHG, ACAH (4 channel analog output) RAOAH4 Used for OCAH with hand-station ( 4 channel output / manual) RAIPA4 Used for IPA4 (32-bit digital input (counter)) 3BSE 026 333 R101 Rev A 127 I/O for Updating Appendix B Supported Hardware and I/O Systems 128 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview This appendix gives an overview of alllibrary objects, such as data types, functions, function block types and control module types that can be used in applications created using the Control Builder engineering tool. Refer to manuals and Control Builder online help describing the libraries in detail for further information.. Some tables have a display column headed ED and/or OD indicating that the function includes a faceplate with associated display elements. ED denotes Engineer Display (Control Builder M) and OD denotes Operator Display (HSI). All Library function types are protected, apart from a few. This means that the types cannot be copied to your own library and then modified. You can check whether the library function is protected by selecting the function in the Project Explorer and then trying to copy it. A dimmed function means it is protected. 3BSE 026 333 R101 Rev A 129 System Library Appendix C Library Objects Overview System Library This System Library (SystemLib) is the basic library for the Control Builder M. It contains IEC 61131-3 data types, functions and function block types, together with data types, functions and function block types with extended functionality, designed by ABB. About 130 functions are contained in this library. 130 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Data Types in SystemLib Data Types in SystemLib IEC 61131-3 Standard Data Types I/O-Related Data Types Table 36. IEC 61131-3 Standard data types. Data type Description Bool Boolean Date_and_time Date and time of day (Year, Month, Day, Hour, Minute, Second, Millisecond) Dint Signed double integer (32 bits). Range –2,147,483,648 to 2,147,483, 647 Dword Double word (32-bit) bit string. Int Signed integer (16-bit). Range –32,768 to 32,767 Real Floating point values in the range +/– 10+/–38 String String data type for character strings. Maximum string length 140 characters Time Duration (Day, Hour, Minute, Second, Millisecond) Uint Unsigned integer (16-bit) with the range 0…65535 Word Word (16-bit) bit string Table 37. I/O Related data types. Data type Description BoolIO Represents a discrete I/O point (input or output). This structure contains: Value (Bool) Value in the application IOValue (Bool) Value from I/O before forcing Forced (Bool) True if the input or output is forced 3BSE 026 333 R101 Rev A 131 Data Types in SystemLib Appendix C Library Objects Overview RealIO Represents an analog I/O point (input or output). This structure contains: Value (real) Value used by the application IOValue (real) Value of the I/O channel.Forced (Bool) True if the channel is forced Status (dint) Status of the channel Parameters (SignalPar) I/O settings and scaling DintIO Represents an integer I/O point (input or output). This structure contains: Value (dint) Value in the application IOValue (dint) Value from I/O before forcing Forced (bool) True if the input or output is forced DwordIO Represents a bitstring I/O point (input or output). This structure contains: Value (dword) Value in the application IOValue (dword) Value from I/O before forcing Forced (bool) True if the input or output is forced SignalPar The SignalPar data type is used for Max, Min, Inverted, Fraction and Unit values of analog signals. The structure contains: Max (real): Max value Min (real): Min value Inverted (bool): Indicates if input is inverted Fraction (dint): Signal fraction Unit (string): Engineering Unit of the signal Table 37. I/O Related data types. (Continued) 132 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Data Types in SystemLib Control-Related Data Types The data type ControlConnection is abbreviated “CC” in some contexts. Other Data Types There are a number of data types which are used by specific functions, e.g.: • HWStatus • RandomGenerator • Timer, CalendarStruct • SetDTPar, TimeZoneInfo • ArrayObject, QueueObject • Boolean8, 16, 32 • Comm_Channel • Range • ControlConnection • ControlConnectionBackward • ControlConnectionForward Table 38. Control-related data types. Data type Description ControlConnection Represents the data flow between control modules for continuous control applications. Level6Connection Used for intermediate communication of level detection within the control libraries. 3BSE 026 333 R101 Rev A 133 Functions in SystemLib Appendix C Library Objects Overview Functions in SystemLib IEC 61131-3 Standard Functions Table 39. IEC 61131-3 standard functions. Function type Description Type conversion functions *_TO_** Type conversion from * to ** The following type conversions are implicit (i.e. a call to a type conversion function is not needed): BOOL -> WORD, BOOL -> DWORD, WORD -> DWORD INT -> DINT, INT -> REAL UINT -> DINT, UINT -> REAL DINT -> REAL Explicit conversion functions: <BOOL, INT, DINT, UINT, TIME, STRING>_TO_REAL <BOOL, INT, DINT, UINT, WORD, DWORD, REAL, TIME, DATE_AND_TIME>_TO_STRING <DINT, REAL, STRING>_TO_TIME <STRING>_TO_DATE_AND_TIME <INT, DINT, UINT, WORD, DWORD, REAL, STRING>_TO_BOOL <BOOL, UINT, DINT, WORD, DWORD, REAL, STRING>_TO_INT <BOOL, INT, UINT, WORD, DWORD, REAL, TIME, STRING>_TO_DINT <BOOL, INT, DINT, WORD, DWORD, REAL, STRING>_TO_UINT <BOOL, INT, DINT, UINT, DWORD, STRING>_TO_WORD <BOOL, INT, DINT, UINT, WORD, STRING>_TO_DWORD 134 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Functions in SystemLib General functions ABS Absolute value SQRT Square root Logarithmic functions LN Natural logarithm LOG Logarithm to base 10 EXP Natural exponential Trigonometric functions SIN Sine of input in radians COS Cosine in radians TAN Tangent in radians ASIN Principal arc sine ACOS Principal arc cosine ATAN Principal arc tangent Extensible arithmetic functions ADD Addition (OUT:= IN1 + IN2 + … + Inn) MUL Multiplication (OUT:= IN1 * IN2 * … * INn) Non-extensible arithmetic functions SUB Subtraction (OUT := IN1 – IN12) DIV Division (OUT := IN1 / IN2) MOD Modulus (OUT := IN1 modulo IN2) EXPT Exponentiation (OUT := IN1 raised to IN2) MOVE Move (OUT := IN) Table 39. IEC 61131-3 standard functions. (Continued) Function type Description 3BSE 026 333 R101 Rev A 135 Functions in SystemLib Appendix C Library Objects Overview Standard bit shift functions SHL Shift bits left (OUT := IN left-shifted by N bits, zero-filled on right) SHR Shift bits right (OUT := IN right-shifted by N bits, zero-filled on left) ROR Rotate bits right (OUT := IN right-rotated by N bits, circular) ROL Rotate bits left (OUT := IN left-rotated by N bits, circular) Standard bitwise Boolean functions AND Boolean AND (OUT := IN1 & IN2 & … & INn) OR Boolean OR (OUT := IN1 OR IN2 OR … OR INn) XOR Boolean Exclusive OR (OUT := IN1 XOR IN2 XOR … XOR INn) NOT Boolean negation (OUT := NOT IN1) Standard selection function SEL Binary selection (non extensible) MIN Select the smallest of the input variables (extensible) MAX Select the largest of the input variables (extensible) LIMIT Delimiter between a minimum, min, variable value and a maximum, max, variable value. (non extensible) MUX Multiplexer which selects the variable pointed out by the input variable (extensible) Standard comparison functions GT (>) Decreasing sequence GE (>=) Monotonic decreasing sequence EQ (=) Equality Table 39. IEC 61131-3 standard functions. (Continued) Function type Description 136 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Functions in SystemLib LE (<=) Monotonic increasing sequence LT (<) Increasing sequence NE (<>) Inequality (non-extensible) Standard character string functions LEN String length function LEFT Left-most L characters of IN RIGHT Right-most L characters of IN MID L characters of IN beginning at the Pth character position CONCAT Extensible concatenation INSERT Insert IN2 into IN1 after the Pth character position DELETE Delete L characters of IN, beginning at the Pth character position REPLACE Replace L charactersof IN1 by IN2, starting at the Pth character position FIND Find the character position of the beginning of the first occurrence of IN2 in IN1. If no occurrence of IN2 is found, then OUT := 0. Functions of time data types ADD Add time variables SUB Subtract time variables Table 39. IEC 61131-3 standard functions. (Continued) Function type Description 3BSE 026 333 R101 Rev A 137 Functions in SystemLib Appendix C Library Objects Overview Non-IEC 61131-3 Conversion Functions Table 40. Non IEC 61131-3 conversion functions. Function type Description Type conversion functions ASCIIStructToString The ASCIIStructToString function takes a struct of dints, which contains the codes for an ASCII string, and reconstructs the string from the values in the components of the struct. The component values of the integer, DintStruct are read and translated to the value of the destination string, String. BCDToDint BCDToDint converts a BCD value BCD into a dint type integer. Bool16ToDint Bool16ToDint converts a Boolean struct BoolStruct with 16 items into a dint. Bool32ToDint Bool32ToDint converts a Boolean struct BoolStruct with 32 items into a dint. CalendarStructTo Date_and_Time This function converts a CalendarStruct to a date_and_time value. Date_and_TimeTo CalendarStruct This function converts a date_and_time value to a CalendarStruct. DintToBCD DintToBCD converts an integer value into a BCD value. DIntToBool16 and DIntToBool32 The DIntToBool16 and DIntToBool32 functions convert a dint into a Boolean struct BoolStruct with 16 or 32 items, respectively. DintToGraycode This function converts a dint value to a Graycoded value. GraycodeToDint This function converts a Graycoded value to a dint value. MaxStringLength The MaxStringLength function returns the maximum length of a string, i.e. the allocated size of the string variable, as an integer value. StringToASCIIStruct This function converts a string to an ASCIIStruct. 138 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Functions in SystemLib Other Functions Table 41. Other functions. Function type Description CheckSum The CheckSum function calculates checksums used for ASCII protocols written in the programming language. ExecuteControl Modules This function is used in function blocks that contain control modules. When the function is called from the function block, all control modules in that function block are executed. GetDTQuality Returns the quality of the system time. It may be GOOD, UNCERTAIN or BAD. GetStructComponent This procedure reads (copies) values from a struct component. GetSystemDT Returns the system time when current task was started. LocalDTToSystemDT Returns the system time for the specified local time. Match The Match function returns the position of a string within another string. Unlike the Find function a wildcard pattern can be used. Modp The Modp function returns the remainder after a number is divided by a divisor. The Modp function corresponds to the ST "mod" operator. The Modp function works differently for negative values (compatible with SattLine version 2.2 or earlier). NationalLowerCase The NationalLowerCase function sets uppercase letters to lowercase letters. NationalUpperCase The NationalUpperCase function sets lowercase letters to uppercase letters. PutStructComponent This procedure writes (copies) values into a struct component. RandomNorm The RandomNorm function returns a normally distributed random number. 3BSE 026 333 R101 Rev A 139 Functions in SystemLib Appendix C Library Objects Overview RandomRect The RandomRect function returns a random number uniformly distributed between 0.0 and 1.0. RandomSeed The RandomSeed function initializes the RandomGenerator to a random value. ReadStatusZeroDivInt The ReadStatusZeroDivInt function checks for zero division exceptions for integer values. ReadStatusZeroDiv Real The ReadStatusZeroDivReal function checks for zero division exceptions for real values. Round The Round function rounds a real value up to the nearest integer. SetFalse The Boolean operator will be set to false. SetSeed The SetSeed function initializes a random generator using a specific start value. SetTrue The Boolean operator will be set to true. SystemDTToLocalDT Returns the local time for the specified system time. Timer The Timer function controls a timer. TimerElapsed The TimerElapsed function returns the elapsed time of a timer as a time value. TimerElapsedMS The TimerElapsedMS function returns the elapsed time of a timer in milliseconds as a dint value. TimerHold The TimerHold function stops a timer. TimerReset The TimerReset function stops and resets a timer. TimerStart The TimerStart function starts a timer. Trunc The Trunc function truncates a real value to an integer. WriteVar Enables a system to write to a variable in a controller, or transfer variables between controllers, without owning the variable. Table 41. Other functions. (Continued) 140 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Functions in SystemLib Array and Queue Functions Table 42. Array and queue functions. Function type Description Arrays CreateArray Creates an array Array of elements of the same type as ArrayElement. PutArray Puts the contents of ArrayElement into the data type at position Index in the array Array. GetArray Gets the contents of the data type at position Index in the array Array into ArrayElement. DeleteArray Deletes the array Array and deletes the whole tree structure of arrays. Queues CreateQueue Creates a queue Queue of elements of the same type as QueueElement. PutFirstQueue Puts the contents of QueueElement into the first element of the queue Queue. GetFirstQueue Puts the contents of the first element from the queue Queue into QueueElement. PutLastQueue Puts the contents of QueueElement into the last record element of the queue Queue. GetLastQueue Puts the contents of the last element from the queue Queue into QueueElement. ReadQueue Reads the contents of the specified element number from the queue Queue and puts it into QueueElement. ClearQueue This procedure clears the queue Queue. CurrentQueueSize This integer function returns the current number of elements in the queue Queue. DeleteQueue This procedure deletes the queue Queue. 3BSE 026 333 R101 Rev A 141 Functions in SystemLib Appendix C Library Objects Overview Task Control Functions Table 43. Task control functions. Function type Description FirstScanAfter ApplicationStart The FirstScanAfterApplicationStart function checks if the current scan/execution is the first one performed by the current task. FirstScanAfter PowerUp The FirstScanAfterPowerUp function checks if the controller has been warm started. GetPriority Use the GetPriority function to obtain the priority of the current task SetPriority Use the SetPriority function to set the priority of the current task. GetIntervalTime Use the GetIntervalTime function to get the requested interval time of the current task. GetActualIntervalTime Use the GetActualIntervalTime function to get the actual interval time of the current task. SetIntervalTime Use the SetIntervalTime function to set the requested interval time of the current task. 142 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Function Block Types in SystemLib Function Block Types in SystemLib IEC 61131-3 Function Block Types Table 44. IEC 61131-3 function block types. Function type Description Standard bistable function blocks SR Bistable function block (set dominant) RS Bistable function block (reset dominant) Standard edge detection function blocks R_TRIG Rising edge detector F_TRIG Falling edge detector Standard counter function blocks CTU Up-counter CTD Down-counter CTUD Up-down counter Standard timer function blocks TP Pulse timer TON On-delay timer TOF Off-delay timer RTC The RTC (Real-Time-Clock)function block performs display and date and time setting. SEMA Sema, the semaphore function block, is designed to allow competing tasks to share a particular resource. 3BSE 026 333 R101 Rev A 143 Function Block Types in SystemLib Appendix C Library Objects Overview Process Object Function Block Types Use the ACOF (Automatic Check Of Feedback) functions primarily for supervision of process objects. ACOF function blocks can monitor up to three output signals and up to three feedback signals. Use ACOF when a feedback signal is expected within a certain time after an output to the process object has been activated or deactivated. If the feedback signal is not detected, an alarm signal is given. Other Function Block Types Table 45. Process object function block types. Function type Description ACOFAct Object control with two limit switches and automatic return. This object has one stable position. ACOFAct Deact Object control with two limit switches. This object has two stable positions. ACOFAct 3P Object control with three limit switches and automatic return. This object has one stable position. ACOFAct Deact 3P Object control with three limit switches. This object has three stable positions. Table 46. Other function block types. Function block type Description Display GetDT GetDT retrieves the system time from the controller at which the current task was started. The function block converts the system time to local time so that both are available as parameters. GetTimeZoneInfo GetTimeZoneInfo retrieves the currently used time-zone settings. 144 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Function Block Types in SystemLib IntegerToRealIO IntegerToRealIO converts a raw integer value to a scaled RealIO value with a measuring range, units and decimals. It can be treated as a physical RealIO value in the application. LevelHigh A high-level detector is a trip for supervising an analog signal. A high-level trip indicates when the input signal exceeds the selected high detect level. The detector has hysteresis on the input signal, which prevents the level detector output signal from repeatedly changing state when the supervised input signal varies near the detect level. LevelLow A lo- level detector is a trip for supervising an analog signal. A low level trip indicates when the input signal drops below the preset low-detect level. The detector has a hysteresis on the input signal, which prevents the level detector output signal from repeatedly changing state when the supervised input signal varies near the detect level. PowerFailureInfos PowerFailureInfos provides information on power failure status, such as number and duration. In addition, the total number of power failures since the last reset and the duration of these can also be presented. PrintLines PrintLines prints text lines on a printer. PulseGenerator PulseGenerator is a pulse generator to create a continuous pulse signal. RealIOToInteger The RealIOToInteger function block converts a scaled RealIO value to a raw integer value. Table 46. Other function block types. (Continued) 3BSE 026 333 R101 Rev A 145 Function Block Types in SystemLib Appendix C Library Objects Overview SetDT SetDT sets the system time on the controller. It is possible to set the time directly as system time or indirectly as local time and the function block will perform the conversion to system time. The time can be set as relative or as absolute time. This functionality is available through parameters and an interaction window. The interaction window also shows the current system time and local time. ED SetTimeZoneInfo SetTimeZoneInfo sets the time-zone information. StandardDT and DaylightDT can be specified with the absolute or the day-in-month format. This functionality is available through parameters and an interaction window. This function overwrites the time-zone information downloaded by the ACB. ED SystemDiagnostics SystemDiagnostics can be used to measure and display the following: Stop time and memory usage during a controller download. Current memory in use Maximum memory used since the last cold start Fragmentation of the memory. ED TimePulses The pulse generator creates a pulse on the outputs every new hour on the Hour output and every new day on the Day output, synchronized to the real-time clock TimerOffHold TimerOffHold is an Off-delay timer function block with a hold input function. TimerOnHold TimerOnHold is an On-delay timer, with a hold input function. TimerPulseHold(1) TimerPulseHold is a pulse timer with a hold function. Table 46. Other function block types. (Continued) 146 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Function Block Types in SystemLib TimerPulseHoldDel TimerPulseHoldDel is a the pulse timer with a hold input function and a delayed start to generate Q output pulses. Trigger Trigger provides a combined time and event trigger functionality. Threshold Threshold is used to determine when more than, or equal to, a given number of Boolean values are true. TimerD TimerD measures the elapsed time in negative direction and gives indication when a specified level is past. TimerU TimerU measures the elapsed time in positive direction and gives indication when a specified level is past. SinGen SinGen is used to generate a sinus signal. The frequency and amplitude are controlled by inputs. SqGen SqGen is used to generate a square wave with an optional number of amplitudes. Each amplitude is determined by an input and for each amplitude a time during which it is to be maintained is specified. BcToDint BcToDint converts data from an optional number of binary coded bool inputs and a sign input into a dint. DintToBc DintToBc converts data from dint to an optional number of bool outputs, using binary coded conversion, and a sign output. FirstOfNToDint FirstOfNToDint converts data from 1-of-N format with an optional number of bool inputs and a sign input into a dint. Table 46. Other function block types. (Continued) 3BSE 026 333 R101 Rev A 147 Function Block Types in SystemLib Appendix C Library Objects Overview DintToFirstOfN DintToFirstOfN converts data from dint to an optional number of bool outputs using 1-of-N conversion, and a sign output. BcdToDint BcdToDint converts data from an optional number of bool inputs (in groups of four coded as BCD) and a sign input into a dint. DintToNBcd DintToBcd converts from dint to an optional number of bool (in groups of four coded as BCD) and a sign output. GrayToDint GrayToDint converts data from gray code with an optional number of bool inputs and a sign input into a dint. LevelHigh(1) LevelHigh is used to compare a real value with an optional number of high limits with the possibility to specify hysteresis. LevelLow(1) LevelLow is used to compare a real value with an optional number of low limits with the possibility to specify hysteresis. Max Max is used to select the largest value of an optional number of inputs. The Max function block exists for real and dint: MaxReal and MaxDint. Min Min is used to select the lowest value of an optional number of inputs. The function block exists for real and dint: MinReal and MinDint. Median Median is used to calculate the median value of an optional number of input values. The function block supports real and dint: MedianReal and MedianDint. RSD RSD is used as a memory for bool variables. Besides the RS function, it can also override this function with a write function. Table 46. Other function block types. (Continued) 148 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Function Block Types in SystemLib DeMux DeMux can handle the data types real, dint and bool: DeMuxReal, DeMuxDint and DeMuxBool. Register Register is used as a memory function block with an optional number of positions. The function block exists for data typesreal, dint and bool: RegisterReal, RegisterDint and RegisterBool. Shift Shift is used as a shift register of optional length. The function block exist for data types real, dint and bool: ShiftReal, ShiftDint and ShiftBool. ShiftL ShiftL is used as a shift register of optional length. All positions can be written and read. The function block exist for data type real, dint and bool: ShiftLReal, ShiftLDint and ShiftLBool. Fifo Fifo is a queue register of First-In-First-Out type. FifoRW FifoRW is a queue register of First-In-First-Out type. In addition, data can be changed and deleted at any queue place. The FifoRW can handle the data types real, dint and bool: FifoRWReal, FifoRWDint and FifoRWBool. MajorityReal Used to calculate the mean value of a number of real numbers. (1) Extended functionality in new versions Table 46. Other function block types. (Continued) 3BSE 026 333 R101 Rev A 149 Supervision Signals Library Appendix C Library Objects Overview Supervision Signals Library This library (SignalLib) contains a number of function blocks for analog and digital inputs and outputs. They extend the functionality of I/O signals and application variables with alarm and event handling. The function blocks also provide filtering and error handling. In the faceplates it is possible to force the objects, view trim curves, configure and enable/disable alarms and events and view/modify parameters. Function Block Types in SignalLib Table 47. SignalLib function block types. Function block type Description Display SignalInReal SignalInReal extends the functionality of an Analog Input signal of data type RealIO with alarm/event handling for three high levels, three low levels and error handling. OD, ED SignalOutReal SignalOutReal extends the functionality of an Analog Output signal of data type RealIO with alarm/event handling for three high levels, three low levels and error handling. OD, ED SignalReal SignalReal is used to achieve alarm/event handling of an application variable of data type real with up to three high and three low levels. OD, ED SignalInBool SignalInBool extends the functionality of a Digital Input signal of data type BoolIO with alarm/event handling when the input value is different than Normal value. In corresponding faceplates it is possible to force the object, view trim curves, configure and enable/disable alarms and events. OD, ED 150 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Function Block Types in SignalLib SignalOutBool SignalOutBool extends the functionality of a Digital Output signal of data type BoolIO with alarm/event handling when the input value is different than Normal value. In corresponding faceplates it is possible to force the object, view trim curves, configure and enable/disable alarms and events. OD, ED SignalBool SignalBool extends the functionality of an application variable of data type Bool with alarm/event handling when the input value is different than Normal value. In corresponding faceplates it is possible to force the object, view trim curves, configure and enable/disable alarms and events. OD, ED Table 47. SignalLib function block types. (Continued) Function block type Description Display 3BSE 026 333 R101 Rev A 151 Basic Library for Process Objects Appendix C Library Objects Overview Basic Library for Process Objects This library (ProcessObjBasicLib) contains basic core function block types for valve and motor control functions. They are to be used when designing your own function block types. The core function block types should be encapsulated in your own function block type. These core function block types are protected and cannot be changed. Function Block Types in ProcessObjBasicLib Table 48. ProcessObjBasicLib function block types. Function block type Description Display UniCore Uni-directional object: Basic function block with one or two outputs and 0, 1 or 2 feedback signals. This function block can be used to represent e.g. a valve. Parameters are available for the connection of an external panel for manual operation of the object, and interlock and force signals for connection of different safety interlocking. It is also possible to connect an external fault signal. BiCore Bi-directional object: Basic function block with two or three outputs and 0, 2 or 3 feedback signals. This function block can be used to represent e.g. a two-speed motor or a forward-backward motor. Parameters are available for the connection of an external panel for manual operation of the object, and interlock and force signals for connection of different safety interlocking. It is also possible to connect an external fault signal. 152 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Function Block Types in ProcessObjBasicLib UniHSI Uni-directional object: Basic function block for support of the HSI in OperateIT A graphical environment as faceplates and display elements. This function block is used in control modules or function blocks using the process object library function block UniCore when an operator display element is to be used. BiHSI Bi-directional object. Basic function block for support of the HSI in OperateIT A graphical environment as faceplates and display elements. This function block is used in control modules or function blocks using the process object library function block BiCore when an operator display element is to be used. DriveCore The function block can be used as a base for control of ABB Drive, ACS600 and ACS400 and their corresponding DC drives. The function block can easily be used together with other function blocks s to create more complex objects that handle functionality such as modes and HSI. This function block provides the user with the possibility to start and stop a drive with a chosen setpoint according to the local state matching in drive. Table 48. ProcessObjBasicLib function block types. (Continued) Function block type Description Display 3BSE 026 333 R101 Rev A 153 Extended Library for Process Objects Appendix C Library Objects Overview Extended Library for Process Objects This library contains 5 different types with 2 variants each. All types are based on the protected core functions available in the Basic Library for Process Objects (on page 152). Unprotected code is then added to the core. The 10 types in this library are not protected, which means that you can copy the type to your library, and then modify the unprotected code in the type and use instances of it, see Figure 19. There are five different library types for unidirectional (Uni in the type name) and five for bidirectional (Bi in the type name) objects, such as valves and motors. They all have alarm handling and support graphics. Figure 19. The function blocks and the control modules in this library are unprotected, i.e., they can be used and modified in your own library. Core function Added function Protected code Function block or Control module Unprotected code Unprotected function block or control module 154 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Function Block Types in ProcessObjExtLib Function Block Types in ProcessObjExtLib Table 49. ProcessObjExtLib function block types. Function block type Description Display Uni Uni-directional object with alarm and graphics: This function block is based on UniCore and is extended with alarm handling and a faceplate. ED, OD Bi Bi-directional object with alarm and graphics: This function block is based on BiCore, and is extended with alarm handling and a faceplate. ED, OD ValveUni Valve uni-directional with alarm and graphics: This function block is based on the UniCore, and is extended with alarm handling and a faceplate. Some parameters from UniCore are not used, and this block serves as a more basic example for a normal valve. ED, OD MotorUni Motor uni-directional with alarmand graphics: This function block is based on UniCore, and is extended with alarm handling and a faceplate. This function block has additional interlocks, safety commands, and output delay timers. ED, OD MotorBi Motor bi-directional with alarm and graphics: This function block is based on BiCore, and is extended with alarm handling and a faceplate. This function block has additional interlocks, safety commands, and output delay timers. ED, OD 3BSE 026 333 R101 Rev A 155 Control Module Types in ProcessObjExtLib Appendix C Library Objects Overview Control Module Types in ProcessObjExtLib Table 50. ProcessObjExtLib control module types. Control module type Description Display UniM Uni-directional object with alarm and graphics: This control module type is based on UniCore, and is extended with alarm handling and a faceplate. ED, OD BiM Bi-directional object with alarm and graphics: This control module type is based on BiCore, and is extended with alarm handling and a faceplate. ED, OD ValveUniM Valve uni-directional with alarm and graphics: This control module type is based on UniCore, and is extended with alarm handling and a faceplate. ED, OD MotorUniM Motor uni-directional with alarm and graphics: This control module is based on UniCore, and is extended with alarm handling and a faceplate. This control module has additional interlocks, safety commands, and output delay timers. ED, OD MotorBiM Motor bi-directional with alarm and graphics: This control module is based on BiCore, and is extended with alarm handling and a faceplate. This control module has additional interlocks, safety commands, and output delay timers. ED, OD 156 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Support Control Library Support Control Library This library (ControlSupportLib) contains invisible objects which cannot be used by you. The code of the objects is used by the objects in other Control libraries. 3BSE 026 333 R101 Rev A 157 Basic Control Library Appendix C Library Objects Overview Basic Control Library This library (ControlBasicLib) contains predefined function block types. These are complete working modules that can be used as is. Hence, you should not use these modules to create new ones. The PID functions have Feedforward, Tracking, 3-position output and Autotuner control functions. Function blocks have been used to construct this library. Data Types in ControlBasicLib Function Block Types in ControlBasicLib PID type of Function Blocks Table 51. Data types. Data type Description ControlConnection See SystemLib. Table 52. PID type of function blocks. Function block type Description Display PidLoop This function block type defines a simple control loop with a PID controller and a filter. The function block is to be connected directly to I/O via structured variables of the predefined data type RealIO. The PID controller of the control loop has feedforward and tracking functions and an Autotuner. The Autotuner calculates the controller gain, integration time and derivation time based on a simple relay experiment. The PID controller has integrator wind-up prevention and bumpless transfer between modes. It also has built in deviation alarm limits. ED, OD 158 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Function Block Types in ControlBasicLib PidLoop3P This function block type defines a simple control loop with a three-position controller. It is identical to PidLoop except that the analog output is replaced by two binary outputs to increase or decrease the actuator position, or to keep it constant. ED, OD PidCascadeLoop This function block type defines a cascade control loop with two PID controllers. The function block is to be connected directly to I/O via structured variables of the predefined data type RealIO. The PID controller is identical to that in PidLoop. The integrator wind-up prevention is extended to also prevent wind-up in the master controller when the output of the slave controller is limited. ED, OD PidCascadeLoop3P This function block type defines a cascade control loop with a three-position controller as slave controller. It is identical to PidCascadeLoop except that the analog output from the slave controller is replaced by two binary outputs to increase or decrease the actuator position, or to keep it constant. ED, OD Table 52. PID type of function blocks. (Continued) 3BSE 026 333 R101 Rev A 159 Simple Control Functions Library Appendix C Library Objects Overview Simple Control Functions Library This library (ControlSimpleLib) contains a number of function blocks, that are intended to be used for designing simple control loops. All function blocks in this library can be used in time-critical tasks. Table 53. Simple Control function blocks. Function block type Description Display PidSimpleReal This function block is a simple PID-controller with less functionality than the PidLoop function blocks and the PidCC-module. The PidSimpleReal is however less time and memory consuming. This controller supports backtracking, tracking, manual control and output limiting. All transitions from limiting, tracking and manual mode are bumpless. There is also interaction graphics that makes set-up and maintenance of the controller easier. OD, ED LeadLagReal This function block is used either as a Lead or Lag function, i.e. derivative or integrating limiter. The actual function (Lead/Lag) is determined by the relation between the two input time constants, LeadT and LagT. The function block can be forced to track an external signal. Transition from tracking is bumpless. FilterReal This function block is a single pole low-pass filter. The functionality obtained is mainly the same as with the control module FilterCC. The output can be forced to track an external signal. Transition from tracking is bumpless. This function block can be used in a time-critical task. 160 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Simple Control Functions Library Filter2PReal This function block is a low pass filter with one zero and two complex poles. The output can be forced to track an external signal. Transition from tracking is bumpless. PiecewiseLinearReal This function block is a ‘look-up table’ with a number of predefined input-output pairs. Values between these pairs are calculated by linear interpolation. The function block can be used to define a non-linear function y=f(x). The maximum number of data points is 21 and there is an interaction window that makes data input easier. The only restriction on the data points is that the x-values must be increasing. There is also a possibility to calculate the pseudo inverse of the defined function for a given input, InInverse. The functionality of this function block is the same as of the control module PiecewiseLinearCC. ED PiecewiseLinear2DReal This function block is an extension of the PiecewiseLinearReal function block. It takes two inputs, which means that a non-linear surface, z=f(x,y) can be specified. The restriction to the x-, and the y-values is that they must be increasing. Maximum 21 x-values and 11 y-values can be specified, i.e., 231 data points. There is an interaction window that can be used to edit the data. ED VelocityLimiterReal This function block is a ‘ramp’ function that is used to limit the velocity of change for a signal. The output can be forced to track an external signal. Transition from tracking is bumpless. Table 53. Simple Control function blocks. (Continued) 3BSE 026 333 R101 Rev A 161 Simple Control Functions Library Appendix C Library Objects Overview AccelerationLimitReal This function block is a ‘ramp’ function that is used to limit the velocity of change for a signal. The output can be forced to track an external signal. Transition from tracking is bumpless. It limits both the speed and acceleration.IntegratorReal This function block is a regular integrator with the same functionality as the control module IntegratorCC. The output is limited and may be forced to track an external signal. All transitions from tracking and limiting are bumpless. DerivativeReal This function block is a combined first order low-pass filter and a differentiator. The filter is used to smoothing the derivative action. The functionality is similar to the existing control module DerivativeCC. The output may be forced to track an external signal. Transition from tracking is bumpless. ThreePosReal This function block is a three-position converter from a real input to two Boolean outputs (increase/decrease). It can be used with or without feedback from the actual actuator. It is similar to the existing control module ThreePosCC. Table 53. Simple Control function blocks. (Continued) 162 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Standard Control Library Standard Control Library This library (ControlStandardLib) contains control module types that can be used when designing your own standard control loops. They are to be used for continuous control; e.g. PID loops. They can be used for stand-alone or cascade control in master–slave configurations. The PID functions have Feedforward, Tracking, Backtracking, 3-position output, Hand/Auto and Autotuner control functions. Control modules have been used to create this library, and they have associated engineering and operator graphics. The control functions also have associated engineering and operator graphics. The control modules can be connected to other control modules in ControlExtendedLib, ControlAdvancedLib or ControlFuzzyLib in order to construct simple or advanced control loops. The control modules are connected via graphical connections of the data type Control Connection. Information is sent forwards as well as backwards in the control loop. The automatic sorting of code blocks in control modules is used to obtain signal flow without delay in both directions. This, in turn, is used to obtain good performance concerning bumpless transfer and integrator wind-up in the entire control loop. With the control modules in ControlStandardLib it is possible to create “standard” control loops suitable for many applications. 3BSE 026 333 R101 Rev A 163 Control Module Types in ControlStandardLib Appendix C Library Objects Overview Control Module Types in ControlStandardLib PID Control Modules Table 54. PID control modules. Control module type Description Display PidCC This is a standard PID controller. It has all the functions of the PID controllers of the function blocks described above. But since it is a control module it may be connected to other control modules in order to create more advanced control loops than those that can be obtained with the function blocks described above. ED, OD PidSimpleCC This control module is a low-functionality Pid- controller compared to the already existing Pid- modules, PidCC and PidAdvancedCC. The PidSimpleCC is however less time and memory consuming. There are interaction graphics that make set-up and maintenance of the controller easier. The main inputs and the output are of ControlConnection type, which means that backtracking and limiting is handled automatically. OD, ED 164 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Control Module Types in ControlStandardLib Process I/O Control Modules Most of the process I/O modules, used for continuous control operate with the data type Control Connection (“CC”). Table 55. Process I/O control modules. Control module type Description Display AnalogInCC Analog Input ED, OD AnalogOutCC Analog Output ED, OD ThreePosCC This control module is used as the end of a three- point control loop with digital outputs. The control module input is an analog signal that is compared with a feedback signal from the valve position or internally generated. ED, OD PulseWidthCC This control module is used as the graphical end of a control loop with pulse modulated digital output. The control module input is an analog signal that generates the duty cycle of the output signal. The cycle time is defined via the parameter interface. ED, OD 3BSE 026 333 R101 Rev A 165 Control Module Types in ControlStandardLib Appendix C Library Objects Overview Manual Control Modules Conversion Control Modules Table 56. Manual control modules. Control module type Description Display ManualAutoCC With this control module it is possible to enter values into a control loop manually, and supervise the control values graphically in bar graphs and histograms. ED, OD Table 57. Conversion control modules. Control module type Description Display RealToCC This control module is designed to collect each component to form a data type ControlConnection. ED CCToReal This control module functions as an adapter from a signal of data type ControlConnection. It splits the ControlConnection into its components to give a signal of data type real. ED CCToInteger The control module is an adapter from a signal of data type “ControlConnection”. It split up ControlConnection into each components, to a signal of data type “integer”. The real value of the parameter In is converted to the integer parameter Out. At conversion the hysteresis specified by the parameter Hysteresis is used. ED 166 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Control Module Types in ControlStandardLib Branch Control Modules Table 58. Branch control modules. Control module type Description Display BranchCC This control module divides the control loop connection structure into two equal branches. ED Branch4CC This control module divides the control loop connection structure into four equal branches. ED SplitRangeCC This control module divides the control loop connection structure into two branches in relation to their ranges. ED MidRangeCC This control module is a ControlConnection with two branches, one ‘fast’ and one ‘slower’ branch. The ‘fast’ branch is acting faster on changes in the signal, and then it is forced to work around the mid point of its operating range as the ‘slower’ branch takes over the control. This control module can be used in cases where, for example, two valves are acting on the same flow. One of the valves is a smaller, but faster valve, that is used to control small perturbations in the flow. The other valve is a bigger valve that cannot work that fast, but has a larger operating range. ED CommonRangeCC This control module divides the control loop connection structure into two branches with a specified ratio between the signal levels. ED TapCC This control module divides the control loop connection structure into two branches one where backtracking is possible and the other where it is not. ED TapRealCC This control module extracts the value component from the control loop connection structure to produce a real value. ED 3BSE 026 333 R101 Rev A 167 Control Module Types in ControlStandardLib Appendix C Library Objects Overview Supervisory Control Modules Table 59. Supervisory control modules. Control module type Description Display Level6CC This control module is used for level detection purposes. It has six detection levels (LLL, LL, L, H, HH, HHH). L=Low, H=High ED, OD SignalSupervisionCC This control module is used to take care of erroneous signal status collected from the transmitters or from the interface system. Three different modes are available – let the signal pass through without any interference, freeze the output or linearly switch over to a predetermined value. Both these latter selections cause an alarm condition to be sent if configured. ED, OD 168 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Control Module Types in ControlStandardLib Selector Control Modules Table 60. Selectorcontrol modules. Control module type Description Display SelectorCC This control module selects one of two inputs of data type ControlConnection. Selection is made based on a Boolean signal. ED, OD Selector4CC This control module selects one out of four inputs of data type ControlConnection. Selection is based on an integer signal. ED, OD SelectGoodCC The first detected valid signal of type ControlConnection is selected. If no valid signal is detected, Out is a copy of In1 structure. ED, OD SelectGood4CC The first detected valid signal of type ControlConnection is selected. If no valid signal is detected, Out is a copy of In1 structure. ED, OD MaxCC The control module MaxCC computes the larger (maximum) value of two input signals of data type ControlConnection and writes it to the output signal. ED, OD Max4CC The control module Max4CC computes the larger (maximum) value of four input signals of data type ControlConnection and writes it to the output signal. ED, OD MinCC The control module MinCC computes the smaller (minimum) value of two input signals of data type ControlConnection and writes it to the output signal. ED, OD Min4CC The control module Min4CC computes the smaller (minimum) value of four input signals of data type ControlConnection and writes it to the output signal. ED, OD 3BSE 026 333 R101 Rev A 169 Control Module Types in ControlStandardLib Appendix C Library Objects Overview Limiter Control Modules Table 61. Limiter control modules. Control module type Description Display LimiterCC LimiterCC limits the signal so that it does not increase above the upper limit, or decrease below the lower limit. ED LimiterHighCC LimiterHighCC limits the signal so that it does not increase above the upper limit. ED LimiterLowCC LimiterLowCC limits the signal so that it does not decrease below the lower limit. ED VelocityLimiterCC VelocityLimiterCC limits the velocity of the signal. It can be used, for example, to create a linear movement function between a starting point and a target. This will slow down changes in the output signal to avoid rapid steps. ED AccelerationLimitReal AccelerationLimitReal limits the velocity of the signal. It can be used, for example, to create a linear movement function between a starting point and a target. This will slow down changes in the output signal to avoid rapid steps. It limits both the speed and acceleration. 170 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Extended Control Library Extended Control Library This library (ControlExtendedLib) contains control modules for arithmetic and signal processing for continuous control, e.g. PID loops. The control functions are available as control modules, and they also have associated engineering and operator graphics. These control modules can be connected to other control modules in ControlStandardLib, ControlAdvancedLib or ControlFuzzyLib in order to create simple or advanced control loops. The control modules are connected via graphical connections of the data type Control Connection. Information is sent forwards as well as backwards in the control loop. The automatic sorting of code blocks in control modules is used to obtain signal flow without delay in both directions. This, in turn, is used to obtain good performance concerning bumpless transfer and integrator wind-up in the entire control loop. Using the control modules in ControlExtendedLib together with those in ControlStandardLib and ControlAdvancedLib it is possible to construct control loops with higher functionality. Arithmetic operations can be performed on the control signals. The control signals can also be processed in several ways, e.g. filtered or integrated. 3BSE 026 333 R101 Rev A 171 Control Modules in ControlExtendedLib Appendix C Library Objects Overview Control Modules in ControlExtendedLib Arithmetic Control Modules Signal Handling Control Modules Table 62. Arithmetic control modules. Control module type Description Display AddCC Addition, two inputs ED SubCC Subtraction, two inputs ED MultCC Multiplication, two inputs ED DivCC Division, two inputs ED SqrtCC Square root, one input ED Table 63. Signal handling control modules. Control module type Description Display DerivativeCC Derivation ED IntegratorCC Integration with reset and hold function ED FlowCC This control module calculates the mass flow from a differential pressure (orifice plate) compensated by actual temperature and pressure. ED Mean4ExcludeBadCC This control module calculates the mean value of the inputs where extreme values are excluded. ED Mean8ExcludeBadCC This control module has the same functionality as Mean4ExcludeBadCC above. The only difference is the number of inputs. ED 172 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Control Modules in ControlExtendedLib Mean12ExcludeBadCC This control module has the same functionality as Mean4ExcludeBadCC above. The only difference is the number of inputs. ED FilterCC This is a first-order, low-pass filter. ED Filter2PCC This control module is a low pass filter with one zero and two complex poles. ED LeadLagCC This control module is used either as a Lead or Lag function, i.e. derivative or integrating limiter. The actual function (Lead/Lag) is determined by the relation between two input time constants. ED DelayCC This is a delay control module for the ControlConnection structure. ED StateCC This control module delays the forward and backward components by one cycle to avoid program loops. ED XRaisedToYCC Takes the value In1 raised to In2. Table 63. Signal handling control modules. (Continued) 3BSE 026 333 R101 Rev A 173 Control Modules in ControlExtendedLib Appendix C Library Objects Overview Signal Conditioning Control Module Table 64. Signal conditioning control module. Control module type Description Display PiecewiseLinearCC Piece wise linear transformation of the input signal. ED PiecewiseLinear2DCC This control module is a ‘look-up table’ with a number of predefined input-output data points. It takes two inputs, which means that a non-linear surface, z=f(x,y) can be specified. Maximum 21 x-values and 11 y-values can be specified, i.e. 231 data points. There is an interaction window that can be used to edit the data. ED PiecewiseLinear-Extension This control module is to be used as an add-in-module together with the PiecewiseLinearCC module. The latter is only able to handle 21 data points. The control module makes it possible to add another 20 points of data. It is also possible to connect a control module to an existing control module of the same type. Thus, the number of possible points is unlimited. ED 174 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Advanced Control Library Advanced Control Library This library (ControlAdvancedLib) contains control modules for advanced, continuous control, e.g. PID loops. The control functions are available as control modules, and they also have associated engineering and operator graphics. The control modules can be connected to other control modules in ControlStandardLib, ControlExtendedLib or ControlFuzzyLib in order to create simple or advanced control loops. The control modules are connected via graphical connections of the datatype Control Connection. Information is sent forwards as well as backwards in the control loop. The automatic sorting of code blocks in control modules is used to obtain signal flow without delay in both directions. This, in turn, is used to obtain good performance concerning bumpless transfer and integrator wind-up in the entire control loop. Using the control modules in ControlAdvancedLib together with those in ControlStandardLib and ControlExtendedLib it is possible to construct advanced control loops. The advanced PID controller has all the functionality of the previously described PID controllers. Inaddition, it may be configured for continuous adaptation of the controller parameters. It may also be configured as a predictive PI, i.e. a PPI, controller and it has a gain scheduler (also called a parameter scheduler). 3BSE 026 333 R101 Rev A 175 Control Module Types in ControlAdvancedLib Appendix C Library Objects Overview Control Module Types in ControlAdvancedLib PID Control Modules Additional Control Modules Table 65. PID control modules. Control module type Description Display PidAdvancedCC In addition to the standard functions this control module type contains a gain scheduler and an adaptive controller. It has a PPI (predictive PI) controller for processes with long dead times. The loop assessment tools can detect oscillatory or sluggish behavior of the control loop. The Autotuner is more advanced than that in the other PID controllers. ED, OD Table 66. Additional control modules. Control module type Description Display StictionCompensator An optional extension to the AnalogOutCC control module to add pulses to the output of the AO and to avoid the effects of sticky pneumatic valves. Add-on to the AnalogOnCC. The faceplate (OD) for StictionCompensator, is a tab in the extended faceplate of AnalogOutCC. ED, OD 176 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Fuzzy Control Library Fuzzy Control Library This library (ControlFuzzyLib) contains control modules, which are building blocks for fuzzy controllers. A fuzzy controller is constructed by connecting control modules from ControlFuzzyLib. No programming is necessary. ControlFuzzyLib also has three templates (not protected), which consists of three different fuzzy controllers. The control module types can be copied to your own library and then modified. A fuzzy controller can handle the case of one input and one output as well as many inputs and many outputs. It has most of the functions of a PID controller together with the possibility to define fuzzy logic rules for process control. A fuzzy controller consists of a linear part and a fuzzy logic part. The linear part has many of the functions of a PID controller, e.g.: • Computation of the control deviation = Setpoint – ProcessValue and its derivative (also the second derivative) • Computation of the derivative of the process value • A low-pass filter for the derivative of the process value and the control deviation • Internal and external set point • Handling of absolute and deviation alarms • An integrator with anti-reset-wind-up function • Manual and automatic output • Tracking function for the output • A feedforward function The fuzzy logic part of the controller contains the functions used to define the rules for control of the process, e.g.: • Computation of the degrees of membership of a number of signals to a number of fuzzy sets • Computation of fuzzy conditions • Computation of fuzzy rules 3BSE 026 333 R101 Rev A 177 Control Module Types in FuzzyLib Appendix C Library Objects Overview • Computation of output membership functions for a number of controller outputs • Defuzzification of the output membership functions. Control Module Types in FuzzyLib Table 67. Control module types in FuzzyLib. Control module type Description Display FuzzyController1CC This control module contains a very small configuration of a fuzzy controller. ED, OD FuzzyController2CC This control module has the same structure, but contains a much larger configuration. ED, OD FuzzyController3CC This control module is the same as FuzzyController1CC, but with no setpoint. ED, OD FuzzySpPvIn This control module computes the control deviation EOut (setpoint-Process value) and its first and second derivatives. These signals are inputs to the InputMembership control modules. This control module can switch between an external and an internal setpoint. The process value may be filtered in a low-pass filter. Three Pv alarm levels and one deviation alarm may be displayed in the history and bar graphs. The control module also has an optional facility for process value tracking. The outputs from the control module, the control deviation and its two first derivatives may be simulated by the operator. This facility may be used to test the fuzzy logic part of the controller. ED, OD 178 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Control Module Types in FuzzyLib FuzzyPvIn This control module makes the process value and its derivative available to the InputMembership control modules. The process value may be filtered in a low-pass filter. Three absolute alarm levels may be displayed in the history and bar graphs. The outputs from the control module, the process value, and its derivative, may be simulated by the operator. This facility may be used to test the fuzzy logic part of the controller. ED, OD FuzzyOut This control module takes a defuzzyfied output from the fuzzy logic part of the controller and computes the output to the process. The signal may be integrated or not. It may also be put in Manual or Automatic mode or it may track an external value. A feedforward signal may be added, and an anti-reset wind-up function is provided. ED, OD InputMembership The control module defines an input membership function for the fuzzy logic part of the controller. For every value of the input it computes the degree of membership to the corresponding fuzzy set. The control module is also used, together with the FuzzyCondition control module, to define the fuzzy conditions. ED Table 67. Control module types in FuzzyLib. (Continued) 3BSE 026 333 R101 Rev A 179 Control Module Types in FuzzyLib Appendix C Library Objects Overview OutputMembership The control module defines an output membership function for a fuzzy rule. It computes the current membership function, which is equal to the defined membership function, multiplied by the degree of satisfaction of the rule. The current membership functions for a number of rules may then be combined into a membership function for the output of the controller. This is done by computing the envelope, i.e. the maximum of all the current membership functions at every point. This is done in the Defuzzyfication control module. ED Defuzzyfication The control module computes the envelope of all the connected output membership functions. It also computes the center of gravity of the envelope curve. The center of gravity is regarded as the defuzzyfied output from the fuzzy logic part of the controller. ED FuzzyCondition6, -12 and -18 The control modules FuzzyCondition6, FuzzyCondition12 and FuzzyCondition18 define and evaluate a fuzzy condition. The condition is defined as a fuzzy AND condition between a number of selected input membership functions. The input membership functions may, or may not, be inverted before the condition is formed. Together with other fuzzy conditions, the defined fuzzy condition is used in one or more fuzzy rules. The fuzzy AND condition is defined as the minimum value of the included fuzzy variables. ED Table 67. Control module types in FuzzyLib. (Continued) 180 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Control Module Types in FuzzyLib FuzzyRule5, -10, -15, -20, -25 and -30 The control modules FuzzyRule5, FuzzyRule10, FuzzyRule15, FuzzyRule20, FuzzyRule25, and FuzzyRule30 define and evaluate a fuzzy rule. The condition of the rule is defined as a fuzzy OR expression between a number of fuzzy conditions defined in FuzzyCondition control modules. The conditions from the FuzzyCondition control modules may, or may not, be inverted before the condition of the FuzzyRule control module is formed. The result of the rule is the degree of satisfaction of the rule. The degree of satisfaction is used to compute the output membership function for the rule. The fuzzy OR condition is defined as the maximum value of the included fuzzyvariables. ED FuzzyProgramControl This control module is used to toggle the “Edit” mode of the fuzzy logic part of the controller on and off. The fuzzy controller is fully operational in both modes. ED FuzzyPres This control module is an icon for the controller. It is intended to be built into the controller and displayed in the control module Diagram via a control module selector. ED Table 67. Control module types in FuzzyLib. (Continued) 3BSE 026 333 R101 Rev A 181 Alarm and Event Library Appendix C Library Objects Overview Alarm and Event Library This library (AlarmEventLib) contains functions for alarm and event handling, which include detection and notification. Alarm state handling and alarm acknowledgement are also included. An alarm data model according to OPC Alarms and Events is used. Function Block Types in AlarmEventLib Table 68. Function block types in AlarmEventLib. Function block type Description Display AlarmCond Defines an alarm condition that follows a condition state diagram. It monitors the changes in an input parameter (boolean type) to detect an abnormal condition. Other inputs include acknowledge, disable and enable. A condition state output parameter presents the state of the alarm. The parameter AckRule (integer) defines the properties for acknowledgement handling. The source name SrcName identifies the name of the object where the alarm occurred. Class and Severity are inputs, which can be used to categorize the event that occurs when the alarm changes state. It is possible to supervise a signal on an I/O device, which reads the time stamp of the I/O changes on the device ED AttachSystemAlarm Makes it possible to present the current condition state of a specified system alarm. 182 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Function Block Types in AlarmEventLib PrintAlarms Prints alarm conditions. On request, this function block prints a list of the alarms currently defined in the control system where the block executes. The printer should be connected directly to a serial port on the control system. The printer should be connected to the port corresponding to the Channel parameter, and should support the 8-bit character set. PrintEvents Prints events continuously. This function block prints both simple events and condition related events to a printer locally connected to the control system. This means that as soon as an AlarmCond changes state (e.g. from inactive to active) this information can be sent to the printer. However, only events generated in the system where the printer is connected, can be printed. The printer should be connected to the port corresponding to the Channel parameter, and should support the 8-bit character set. SimpleEventDetector Generates a simple event on a Boolean type condition. This function block supervises a Boolean type signal. When the signal changes value, a simple event is generated. You can use this function block to detect for example the start and stop of process objects. There is no acknowledgement handling; otherwise the function block resembles the AlarmCond. Severity and Class are inputs that can be used for sorting the events. It is possible to supervise a signal on an I/O device, which reads the time stamp of the I/O changes on the device. Table 68. Function block types in AlarmEventLib. 3BSE 026 333 R101 Rev A 183 Control Module Types in AlarmEventLib Appendix C Library Objects Overview Control Module Types in AlarmEventLib Table 69. Control module types in AlarmEventLib. Control module type Description Display AlarmCondM Defines an alarm condition that follows a condition state diagram. This is the control module equivalent of the function block type AlarmCond described above. ED 184 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Batch Library Batch Library This library (BatchLib) contains functions for batch control and for control of other discontinuous processes. Equipment Procedure Element Control Module Types The control modules described here are used for the interaction between the control application for an Equipment Procedure Element (e.g. a phase or an operation) and the Batch Manager. Table 70. Equipment procedure element control module types. Control module type Description Display EquipProcedureTemplate A template control module for designing Equipment Procedure Elements, i.e. the control logic for phases, operations, etc. It handles the interaction with the Batch Manager. ED, OD EquipProcedureCore Handles the standard ISA/S88-based states and modes of an Equipment Procedure Element. ED 3BSE 026 333 R101 Rev A 185 Communication Library Appendix C Library Objects Overview Communication Library This library (CommunicationLib) contains a number of IEC 61131 function block types that provide external variable communication with protocols such as MMS, MODBUS, FOUNDATION Fieldbus, SattBus, COMLI, and Siemens 3964R. There are also function blocks for modem connection. Some control modules are also included in this library, supporting the MMS and FF protocols used in connection with control loop handling. Data Types in CommunicationLib MODBUS These control functions are used for communication using MODBUS. Table 71. Communication library data types. Data type Description Comm_Channel_MMS Reference to an MMS network connection. Comm_Channel_COMLI Reference to a COMLI network connection. Comm_Channel_SB Reference to a SattBus network connection. Comm_Channel_S3964R Reference to a Siemens 3964R network connection. Comm_Channel_FF(1) (1) A number of FOUNDATION Fieldbus data types are also supplied to support the user in a FOUNDATION Fieldbus communication network, for example, DS65. Reference to a FOUNDATION Fieldbus network connection. Comm_Channel_MB Reference to ModBus network connection. Table 72. MODBUS functions. Function block type Description Display MBConnect Initiates a communication channel and establishes a connection with a remote system. 186 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview FOUNDATION Fieldbus FOUNDATION Fieldbus A number of IEC 61131 function blocks are provided for communication with FOUNDATION Fieldbus devices. These function blocks are used to access data belonging to function blocks in FF device(s) on the (FF) H1 bus (including the “custom function blocks” on the FF communication interface). All function block types, except those with the extension Cyc, follow the IEC 61131-5 standard. Some control module types are also supplied for accessing FF devices. MBRead Reads one or several variables. MBWrite Writes to one or several variables. MBException Reads the ModBus exception coils. Table 72. MODBUS functions. (Continued) 3BSE 026 333 R101 Rev A 187 FOUNDATION Fieldbus Appendix C Library Objects Overview Foundation Fieldbus Function Block Types Foundation Fieldbus Control Module Types Table 73. FOUNDATION Fieldbus function block types. Function block type Description Display FFConnect Connects to a defined FF device. FFRead Reads one parameter from an FF function block. FFWrite Writes one parameter to an FF function block. FFReadCyc Reads one parameter from an FF function block cyclically. FFWriteCyc Writes one parameter to an FF function block cyclically. Table 74. FOUNDATION Fieldbus control module types. Control module type Description Display FFToCC This control module is intended to be used when continuously reading an FF- value of a floating point structure, i.e. value & status (the scaling is not included in the read operation). The read value is converted to a (OUT) parameter of the data type ControlConnection. ED, OD CCToFF This control module is intended to be used when converting a (IN) parameter of the data type ControlConnection to a value of a floating point structure and continuously writing it to an FF device. ED, OD) 188 3BSE026 333 R101 Rev A Appendix C Library Objects Overview COMLI COMLI Use the COMLI function block types to establish communication with a system supporting the COMLI protocol. Function block types with the COMLI prefix support both the address-oriented COMLI and SattBus protocols. When a SattBus channel is used, the COMLI telegrams are packed within SattBus telegrams. The protocol to be used (COMLI or SattBus) is defined by the Channel parameter of the COMLIConnect function block. Communication via a TCP/IP network is also supported. MMS Use the MMS function block types and control modules to establish communication with a system supporting the MMS protocol. Table 75. COMLI function block types. Function block type Description Display COMLIConnect Connects to a defined communication channel. COMLIRead Reads one or several variables. COMLIReadCyc Reads variable data cyclically. COMLIReadPhys Requests physical values from a legacy (SattCon) system. COMLIWrite Writes to one or several variables. COMLIWriteDT Transmits date and time of master to the slave. Table 76. MMS function block types. Function block type Description Display MMSConnect Initiates a communication channel and establishes a connection with a remote system. MMSRead Reads one or several variables. MMSReadCyc Reads one or several variables cyclically. 3BSE 026 333 R101 Rev A 189 MMS Appendix C Library Objects Overview MMSWrite Writes to one or several variables. MMSWriteDT Transmits date and time. MMSDefAccVar This function block is used to create an access variable, which is connected to a defined variable in the executing system. The defined variable is then accessible for both reading and writing from a remote system and also within its own system Table 77. MMS control module types. Control module Type Description Display MMSToCC This control module is used when continuously reading a signal of a ControlConnection type from another system. The communication protocol is MMS. The forward and the backward structure of ControlConnection is handled in MMS variable groups separately. ED, OD CCToMMS This control module is used when writing a signal of type ControlConnection to another system. The communication protocol is MMS. The forward and the backward structure of ControlConnection is handled in MMS variable groups separately. ED, OD Table 76. MMS function block types. (Continued) 190 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview SattBus Transfer of Variables via MMS When transferring variables it is important to use data types with the same range on the client as on the server. It is, however, possible to connect variables with different ranges, such as a dint variable on the server and an Int variable on the client. This will only work as long as the variable values are within the range of the Int variable, but if the value of the dint is outside this range it will not work. SattBus Use these function block types, supporting SattBus, to communicate through a SattBus channel using the SattBus name-oriented model. To communicate through a SattBus channel using the address-oriented model, use COMLI function block types. Communication via a TCP/IP network is also supported. Table 78. SattBus function block types. Function block type Description Display SBConnect Connects to a defined communication channel. SBRead Reads one variable data SBReadCyc Reads variable data cyclically. SBWrite Writes one variable data. 3BSE 026 333 R101 Rev A 191 Siemens 3964R Appendix C Library Objects Overview Siemens 3964R Use the Siemens 3964R function block types to establish communication with a system using the Siemens 3964R protocol. Other Function Blocks Use these function block types to establish communication with a modem. Table 79. Siemens 3964R function block types. Function block type Description Display S3964RConnect Connects to a defined communication channel. S3964RRead Reads one or several variables. S3964RReadCyc Reads variable data cyclically. S3964RWrite Writes to one or several variables. Table 80. Other function blocks. Function block type Description Display ModemConnStat ModemConnStat is used to obtain the current status of a modem connected to a selected channel. The current status is given by the Status parameter. ModemDialUp ModemDialUp is used to connect a modem via a defined communication channel. ModemHangUp ModemHangUpis used to disconnect a modem via a defined communication channel. 192 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Serial Communication Library Serial Communication Library This library (SerialLib) contains function blocks for communication with external devices via serial channels with user-defined protocols, for example, printers, terminals, or scanner pens. Data Types Function Block Types Table 81. Serial communication library data types. Data type Description Comm_Channel_Serial Reference to a serial network connection. Table 82. Serial channel function block types. Function block type Description Display SerialConnect Opens and closes a defined serial communication channel. SerialSetup Changes serial communication settings. SerialWriteWait Writes a string and waits for a reply. SerialListenReply Listens for a string and sends a reply. SerialWrite Writes a string. SerialListen Listens for a string. 3BSE 026 333 R101 Rev A 193 INSUM Library Appendix C Library Objects Overview INSUM Library Introduction INSUM (INtegrated System for User-optimized Motor control) utilizes microprocessor-based technology for protection and control of motors and switchgear, and for the transmission of messages and measured values. Each motor has a motor control unit (MCU) located in the motor starter module. The 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 the subnet units via routers. An INSUM MMI (man-machine interface) and one or more AC 800M controllers, equipped with INSUM TCP/IP interface modules CI857 can be connected to the LonWorks network. The Process Portal A and the SCADA Portal can be accessed from the AC 800M. Provided Services • Up to 128 motors (MCU), circuit breakers (CB) and intelligent tier switches (ITS) can be supervised per INSUM TCP/IP gateway. • Multiple controllers can access the same MCU in an INSUM system. • Three IEC 61131-3 function blocks are available for initialization and exchanging data with the INSUM system, namely INSUMConnect (establishes connection), INSUMReceive (reads a process data value from an INSUM device), and INSUMWrite (writes a value to an INSUM device). • The INSUM system can operate completely independently from other systems belonging to ControlIT or OperateIT. • A number of different motor types are supported, such as reversing motors, two-speed drives, actuators, and solenoid valves. • Protection is provided against thermal overload, underload, phase loss, earth fault, high motor temperature, locked rotor, etc. • Protection functions can be parameterized to specify pre-warnings before a motor is tripped. The reset can be automatic, remote, local or remote and local. 194 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview Data Types Data Types Table 83. INSUM library data types. Data type Description NVDesState Forces a MCU (Motor Control Command) up to a desired state. NVCurrentReport Output Network Variable used to report motor phase current. NVMotorStateExt A variable used for reception of the information about the actual motor state from a MCU (Motor Control Command). NVMotorStateExtStruct Can be used if a bitfield representation of the motor state information is to be used. NVCumRunT Obtains information about cumulated run hours. NVVoltageReport Network Variable of motor power report. NVAmpsCurrRep NetworkVariable used to report current values. NVNodeCommand Forces CommandState of a CB (Circuit Breaker) to a desired state. NVNodeStatusRep A variable to be used for reception of the information about the actual status from a CB (Circuit Breaker). NVNodeStatusRepStruct Can be used if a bitfield representation of the information about the actual status from CB is to be used. 3BSE 026 333 R101 Rev A 195 Function Block Types Appendix C Library Objects Overview Function Block Types Table 84. INSUM function block types. Function block type Description Display INSUMConnect The INCUMConnect function block establishes a connection to a concerned INSUM Gateway, which is used as a base for other INSUM specific IEC 61131-5 function blocks to access the proper INSUM data. The function block allows to establish a connection between teh calling communication partner and remote communication partner. It also gives a status information about the connected device, which may be used for supervision of the device. INSUMReceive The INSUMReceive function block is used to read one network varibale cyclically from an INSUM device to an 61131 variable, which could be for example • input of network varibale used in a control lopp where the controller is part of the loop. INSUMReceive is intended to be the standard method to get data from an INSUM device to the controller. • to update the presentation of signals in a set interval viewed in OperateIT, suitably when involved variables are in view. INSUMWrite The INSUMWrite function block writes from an IEC 61131 variable to a network variable on request, i.e. triggered from an OperateIT, which is used for sending command (start/stop/reset) and handling Pass Control Access. 196 3BSE 026 333 R101 Rev A Appendix C Library Objects Overview MB300 Library MB300 Library Introduction Masterbus 300 (MB 300) can be used with AC 400 and AC 800M. A CI855 communication unit for AC 800M provides connectivity to AC 400 via MB 300. Refer to the relevant user’s guides and reference manuals regarding the process interface that can be used with AC 400. CI855 is configured by means of Control Builder in the hardware configuration tree, but has no subordinated devices represented in the tree. This means that other controllers on the MB 300 network are not represented in the tree. The CI855 module has two Ethernet channels to provide network redundancy. Provided Services • DataSet communication with other controllers on MasterBus 300. • Function blocks in the AC 800M are used to cyclically send and receive datasets on MasterBus 300. • Time synchronization on MB 300 is supported in the AC 800M with the accuracy provided on MB 300. • The CI855 device status, watchdog supervision and logged system messages are reported to the AC 800M for display in the Control Builder M and the Process Portal A status system. • Support of MB 300 network redundancy. 3BSE 026 333 R101 Rev A 197 Function Block Types Appendix C Library Objects Overview Function Block Types Table 85. MB300 function block types. Function block type Description Display MB300Connect The MB300Connect is used to establish connection between the calling communication partner and the remote communication partner. MB300Send MB300Send function block is used to send a DataSet to a node on MB300 MB300Receive The MB300Receive function block is used for reception of a DataSet sent by a note on MB300 198 3BSE 026 333 R101 Rev A INDEX A ABB Drives 27, 78 ABB Engineered Drives 78 ABB Standard Drives 79 AC 250 19 AC 800C 19 AC 800M 19 single CPU mode 45 AC 800M/C Connect 32 Access variable editor 50 Access variables 50 Advanced Process Control 20, 29 Advant Controller 250 19 alarm and event library 182 AlarmEventLib 182 Applications 36 arithmetic control modules, see control modules arithmetic functions (extensible), see functions arithmetic functions (non-extensible), see functions array and queue functions 141 array and queue functions, see functions arrays 141 B Base licenses 103 libraries 103 Basic Control 20 BatchLib 185 Binary Control 20 bi-stable function blocks (standard), see function blocks bit shift functions (standard), see functions bitwise Boolean functions (standard), see functions branch control modules 167 Bulk Data Manager 32 C CAST 95 CD-ROM 32 character string functions (standard), see functions CI851 37 CI852 37 CI854 37, 76 CI856 39 CI857 38 Clock Master 44 CMD editor 30, 52 CNCP light 44 Code distribution 26 COMLI 42, 189 Communication MMS 88 CommunicationLib 186 comparison functions (standard), see functions Compilation 75 Control Builder Basic 20, 31 Professional 20, 31 Standard 20, 31 variants 31 Control Builder M 20, 33 Control Connection 165 control library 163 3BSE 026 333 R101 Rev A 199 Index control modules additional 176 arithmetic 172 branch 167 conversion 166 limiter 170 manual 166 PID 164, 176 process I/O 165 selector 169 signal conditioning 174 signal handling 172 supervisory 168 types in FuzzyLib 178 Control Network 35, 40 Control Software 19, 33, 36 licenses 102 ControlAdvancedLib 175 ControlBasicLib 158 ControlExtendedLib 171 ControlFuzzyLib 177 Controller platforms 19 ControlNet 37 control-related data types 133 ControlStandardLib 163 conversion control modules 166 Count I/O points 104 counter function blocks (standard), see function blocks CPU load 78 CPU redundancy 45 D Data access 56 Dial-up modems 43 Download 34, 36, 75 E Engineered Drives 78 Engineering Studio 32 Execution times 63 to 64 control modules 64 function block calls 71 function blocks 64 functions 73 operations 73 Expansion 99 Expansion licenses 96, 102, 104 External user help 28 F F1 help 53 Fieldbus Builder P 32, 35 Fieldbus communication 37 Firmware 36 FOUNDATION Fieldbus 37, 187 function blocks bi-stable (standard) 143 counter (standard) 143 timer (standard) 143 functions arithmetic (extensible) 135 arithmetic (non-extensible) 135 array and queue 141 bit shift (standard) 136 bitwise Boolean (standard) 136 character string (standard) 137 comparison (standard) 136 general 135 logarithmic 135 selection (standard) 136 task control 142 trigonometric 135 type conversion 134, 138 Fuzzy controller 177 FuzzyLib 103 200 3BSE 026 333 R101 Rev A Index G GSD Import Tool 25 H Hardware requirements 60 HART 24, 32, 35 I I/O communication 37 I/O points 95 counting 95 I/O support 27, 29 I/O-related data types 131 IEC 61131-3 function block types 143 standard functions 134 IEC 61131-3 languages 28 INSUM 38 Integrated Automation 22, 29 Integration 32 IP Configuration 36 K Key benefits 19 L libraries AlarmEventLib 182 ControlStandardLib 163 License concept 101 Licenses 20, 101 limiter control modules 170 Local Operating Network 39 Log functions 26, 29 logarithmic functions, see functions LON 39 M manual control modules 166 Market segments 21 MasterBus 300 39 MB 300 39 Memory consumption 63 control modules 64 function blocks 64 S100 I/O 88 S200 I/O 85 S200L I/O 85 S800 I/O 80 S900 I/O 83 Mirroring 24 MMS 88, 189 master system 89 slave system 90 to 91 MODBUS 186 ModBus RTU master 42 Modem 43 Modulebus 76, 78 scan cycle 78 scan interval 76, 78 scan time 76 Multi-user development 27 N Network redundancy 45 to 46 New This Version 22 O Object-oriented programming 28 Online help context-sensitive 53 F1 53 OPC Server performance data 92 requirements 61 3BSE 026 333 R101 Rev A 201 Index Ordering 95 example 98 procedure 95 P Performance OPC Server 92 Performance data 61 PID control modules 164, 176 PM861 45 Portability 26 POU 49 Prerequisites 59 Price lists 95 process I/O control modules 165 process object function block types 144 Process object Function Block types 144 Process Portal A 32 ProcessObjBasicLib 152 ProcessObjExtLib 154 Professional 31 PROFIBUS-DP 37 PROFIBUS-DP/V1 37 Programming environment 28 Programming station 34 Project Explorer 48 Q queues 141 R RAM memory 63 Redundancy 26 CPU 45 line 46 network 46 Requirements59 hardware 60, 62 OPC Server 61 Re-use code 51 RNRP 40 to 41 Runtime license 101 S S100 I/O 39 memory consumption 88 S200 I/O 39, 85 memory consumption 85 S200L I/O 39 memory consumption 85 S800 I/O 39 memory consumption 80 S900 I/O 39 memory consumption 83 SattBus 37, 191 SCADA and PLC Solutions 21, 25 Scalability 25 Scan cycle ABB Drives 78 Modulebus 78 Scan interval 76 Modulebus 76 Scanning ABB Drives 76 selection functions (standard), see functions selector control modules 169 SerialLib 193 Short-distance modems 43 Siemens 3964R 42, 192 signal conditioning control module 174 signal handling control modules 172 Standard Drives 79 supervisory control modules 168 System events and alarms 47 SystemLib data types 131 function block types 143 function types 134 202 3BSE 026 333 R101 Rev A Index T Tags 105 task control functions, see functions Task management 26 Technical data 61 Terminology 14 time functions 137 Time synchronization 23 timer function blocks (standard), see function blocks Tool Routing 32 trigonometric functions, see functions type conversion functions, see functions U Update rate 92 User information 28 V Variants comparison 31 3BSE 026 333 R101 Rev A 203 Index 204 3BSE 026 333 R101 Rev A 3BSE 026 333 R101 Rev A. Printed in Sweden May 2002 Copyright © 1999−2001 by ABB. All Rights Reserved ® Registered Trademark of ABB. ™ Trademark of ABB. Automation Technology Products Mannheim, Germany www.abb.de/processautomation email: marketing.control-products@de.abb.com Automation Technology Products Västerås, Sweden www.abb.com/processautomation email: processautomation@se.abb.com Automation Technology Products Wickliffe, Ohio, USA www.abb.com/processautomation email: industrialitsolutions@us.abb.com http://www.abb.com/control Product Guide TABLE OF CONTENTS About This Book Intended Use of This Book Target Group Purpose, Scope and Intended Use Use of Information, and Tip Icons Document Conventions Terminology Related Product Guides Section 1 Key Benefits Introduction Supported Controller Platforms Control Software Control Builder M Market Segments, Licenses and Control Builder Variants New This Version Control Software Control Builder M OPC Server for AC 800M/C Key Benefits-SCADA and PLC Solutions Control Software-Binary and Basic Licenses Control Builder M Basic and Standard Key Benefits-Integrated Automation Control Software-Advanced Process Control License Control Builder M Professional Professional, Standard and Basic Integration with Other IndustrialIT Products Section 2 Product Description Overview Control Software Control Builder M Control Software Download I/O and Fieldbus Communication Control Network Other Communication Protocols Time Synchronization Redundancy Alarm and Events Handling Execution of Control Software Control Builder M Project Explorer Programming Environment Online Help and Manuals Additional Software OPC Server for AC 800M/C OPC Server for AC 800M/C-Data Access (DA) Part OPC Server-Alarm and Event (AE) Part AC 800M/C Connect Section 3 Technical Data and Performance General Prerequisites and Requirements Software Requirements Hardware Requirements OPC Server Requirements Hardware Requirements When Running Several Products on Same PC Technical Data and Performance Memory Consumption and Execution Times Compilation and Download Hardware and I/O MMS Communication Control Network Clock Synchronization OPC Server for AC�800M/C Section 4 Ordering Ordering Procedure Price Lists Ordering Example Original Order Expansion of an Existing Installation Appendix A Licenses License Concept Control Builder M Licenses Expansion Licenses Control Software Licenses Base Licenses I/O Points Examples of Control Software Licenses OPC Server for AC 800M/C Licenses AC 800M/C Connect Licenses AC 800M/C Connect License Concept AC 800M/C Connect Tags Tag Counting Example Example of Simple AC 800M/C System Configuration Example of Integrated AC�800M/C System Configuration Appendix B Supported Hardware and I/O Systems Controllers AC 800M AC 800C Advant Controller 250 Adapters I/O Families S100 I/O S200 I/O 200L I/O S800 I/O S900 I/O ABB Standard Drives ABB Engineered Drives I/O for Updating Appendix C Library Objects Overview System Library Data Types in SystemLib Functions in SystemLib Function Block Types in SystemLib Supervision Signals Library Function Block Types in SignalLib Basic Library for Process Objects Function Block Types in ProcessObjBasicLib Extended Library for Process Objects Function Block Types in ProcessObjExtLib Control Module Types in ProcessObjExtLib Support Control Library Basic Control Library Data Types in ControlBasicLib Function Block Types in ControlBasicLib Simple Control Functions Library Standard Control Library Control Module Types in ControlStandardLib Extended Control Library Control Modules in ControlExtendedLib Advanced Control Library Control Module Types in ControlAdvancedLib Fuzzy Control Library Control Module Types in FuzzyLib Alarm and Event Library Function Block Types in AlarmEventLib Control Module Types in AlarmEventLib Batch Library Equipment Procedure Element Control Module Types Communication Library Data Types in CommunicationLib MODBUS FOUNDATION Fieldbus COMLI MMS SattBus Siemens 3964R Other Function Blocks Serial Communication Library Data Types Function Block Types INSUM Library Introduction Provided Services Data Types Function Block Types MB300 Library Introduction Function Block Types INDEX A B C D E F G H I K L M N O P Q R S T U V