monitor pro

148
Monitor Pro Version 7.6            Fundamentals Gu ide

Upload: danipgc88

Post on 02-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 1/148

Monitor ProVersion 7.6

• • • • • • • • • • • • • • • • • • • • • • • • • • •

Fundamentals Guide

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 2/148

© Copyright Schneider Automation SAS 2005.

All rights reserved. This document may not be reproduced or copied in whole or in

part, in any form or by any means, either graphic, electronic, or mechanical, includingphotocopying, recording, or storage in a retrieval system.

This document and related media constitutes documentation relating to a softwareproduct and is being provided solely for use with such software product. The softwareproduct was provided pursuant to a separate license or other agreement and suchinformation is subject to the restrictions and other terms and conditions of suchlicense or other agreement. Except for warranties, if any, set forth in the separatelicense or other agreement relating to the applicable software product, SchneiderAutomation SAS makes no warranty, express or implied, with respect to suchinformation or such software product.

All examples in this manual are given for information only. Before being used in anindustrial application, they must be suitably adapted to the specific functions andsafety requirements of the application concerned.

Monitor Pro Software © Schneider Automation SAS 2005. This software is theproperty of Schneider Automation SAS or its third party providers. Each sale of astored unit of this software grants the purchaser a nonexclusive licence that is strictlylimited to the use of the specific unit in a compatible Telemecanique/Square Dprogramming terminal.

Apart from the creation of a back-up copy for the exclusive use of the purchaser, thissoftware may not be duplicated, reproduced, or copied in any form or by any meanswhatsoever. Modification or adaptation of the software is forbidden.

Schneider Automation SAS's warranty is limited to the conformity of the products ofModicon, Square D, and Telemecanique with their functional characteristics.Schneider Automation SAS assumes no liability for the use that is made of itsproducts, nor for any damages or other consequences that may result from their use.The software products are designed for use in a wide variety of applications. Althoughthoroughly tested, it is impossible for the tests to cover all the various applications forwhich the software could be used.

Monitor Pro is a registered trademark of Schneider Automation SAS. Windows is aregistered trademark of Microsoft Corporation. Tecnomatix and FactoryLink areregistered trademarks of UGS Corp.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 3/148

Monitor Pro Fundamentals Guide

Contents

Chapter 1 Introducing Monitor Pro .............................................................................. 1How Monitor Pro Can Help You .......................................................................................... 2How Monitor Pro Works ...................................................................................................... 2

Object-Oriented Development ..................................................................................... 3 Redundancy .................................................................................................................. 3Graphics Development ................................................................................................. 3

Chapter 2 Distributed Architecture ............................................................................... 5Three-Tier Model .................................................................................................................. 5Development and Run-Time Systems .................................................................................. 7Scalable System Sizes .......................................................................................................... 8

Developer-Defined Maximum Tags (Total Tags) ........................................................ 8 Input/Output Maximum Tag (I/O Tags) ....................................................................... 8

Chapter 3 Features, Tasks, and Tools .......................................................................... 9Monitor Pro Tasks ................................................................................................................ 9

Graphical User Interface ............................................................................................. 9 Device Interfaces ....................................................................................................... 10 Dynamic Data Exchange ........................................................................................... 11OPC Data eXchange (ODX) ...................................................................................... 11

Enhanced Communication Interface (ECI) ............................................................... 11 XML Adapter .............................................................................................................. 11General Tasks ............................................................................................................ 12Utilities ....................................................................................................................... 13

Logging and Retrieving Data ..................................................................................... 14Communicating Across a Network ............................................................................. 17

Monitor Pro Add-Ons ......................................................................................................... 18

Multilingual Systems .......................................................................................................... 19Configuration Tools ............................................................................................................ 20

Configuration Explorer .............................................................................................. 20Client Builder ............................................................................................................. 25

Custom Development Tools ............................................................................................... 27

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 4/148

iv / Monitor Pro Fundamentals Guide

Chapter 4 Historical Reports .......................................................................................Overview ............................................................................................................................ 29Generating Reports ............................................................................................................. 30

Chapter 5 Internal Architecture ..................................................................................Open Software Bus ............................................................................................................. 36Real-Time Database ........................................................................................................... 38Monitor Pro Tags ................................................................................................................ 40

Tag Naming Guidelines .............................................................................................Tag Naming Recommendations .................................................................................

Defining Tags in Configuration Explorer ..................................................................Triggers ............................................................................................................................... 43

Predefined System Tags ..................................................................................................... 44Tag Arrays .......................................................................................................................... 48

Defining One-Dimensional Arrays ............................................................................ Defining Multi-Dimensional Arrays ..........................................................................

Branching ........................................................................................................................... 50 Designing Tag Names for Branching ........................................................................ Branching Views in Client Builder ............................................................................ Reusing Graphics with Branching ............................................................................. Branching Shortcuts ..................................................................................................Tag Arrays Used with Branching ..............................................................................

Redundant Licensing .......................................................................................................... 63Client Operation ........................................................................................................

License Server Operation .......................................................................................... Licensing Scenarios ...................................................................................................Operating Guidelines .................................................................................................

Data Logging ...................................................................................................................... 70Database Browsing ............................................................................................................. 72

Database Browser Control ........................................................................................PowerSQL ..................................................................................................................

Database Browser Task ............................................................................................. Browser Differences ..................................................................................................

Environment Variables ....................................................................................................... 79Run-Time Manager ............................................................................................................ 80Multiuser Architecture ....................................................................................................... 81

Shared and User Domains .........................................................................................

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 5/148

Monitor Pro Fundamentals Guide

Domain Structure ....................................................................................................... 8 Domain Tables ........................................................................................................... 8 Domain Associations ................................................................................................. 8 Domains for Run-time Tasks ..................................................................................... 8

Monitor Pro Kernel ............................................................................................................ 86Kernel Multi-User Capabilities ................................................................................. 8

Application Instances and Identification ................................................................... 8

Chapter 6 Planning Your Application ....................................................................... 87Planning Your Application Process .................................................................................... 87Minimum Hardware and Software Requirements .............................................................. 89Guidelines for System Design and Maintenance ............................................................... 89Tag Naming Recommendations ......................................................................................... 90Message Types .................................................................................................................... 91Application Objects and Symbols ...................................................................................... 91Standard Interface ............................................................................................................... 91

Chapter 7 Examples Application ................................................................................ 93Examples Application Installation ..................................................................................... 93Running the Examples Application .................................................................................... 94Server Application Overview ............................................................................................. 94

Starting a Server Application .................................................................................... 9

Saving a Server Application ...................................................................................... 9 Restoring a Server Application .................................................................................. 9FLREST Domain Considerations .............................................................................. 9

Client Project Overview ................................................................................................... 100Opening a Client Project ......................................................................................... 10Saving a Client Project ............................................................................................ 10

Restoring a Client Project ....................................................................................... 10Client Builder Client Project ............................................................................................ 103

Animation Real-Time Display .................................................................................. 10 ActiveX Controls ...................................................................................................... 10Standard Animation Features .................................................................................. 10

Advanced Animation Features ................................................................................. 10Server Application Components ...................................................................................... 107

Viewing Tag Descriptions ........................................................................................ 10 Application Objects ................................................................................................. 10

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 6/148

vi / Monitor Pro Fundamentals Guide

Examples of Application Objects ............................................................................. Application Object Overview Diagram ...................................................................

Changing Computer Location .......................................................................................... 112

Chapter 8 Application Setup Wizard .........................................................................Application Setup Wizard Templates ............................................................................... 116Application Objects in Server Templates ......................................................................... 117

General Objects .......................................................................................................VRN Setup Object ....................................................................................................

Driver Objects .........................................................................................................

Chapter 9 Getting Help ..............................................................................................Monitor Pro Documentation ............................................................................................. 121Customer Support ............................................................................................................. 123

Appendix A Monitor Pro Directory Organization .......................................................

Appendix B Real-Time Database and Tag Structure ..................................................Real-Time Database Structure .......................................................................................... 129

Tag Structure ...........................................................................................................Change-Status Bits ...................................................................................................

Real-Time Database Access – Reads and Writes ............................................................. 134 Normal (Conditional) Write ....................................................................................Forced (Unconditional) Write .................................................................................Change (Conditional) Read .....................................................................................

Normal (Unconditional) Read .................................................................................Tag Structure .................................................................................................................... 138

Basic Tag Structure .................................................................................................Change-Status Bits ...................................................................................................

Digital Tag Structure ............................................................................................... Analog Tag Structure ...............................................................................................

Longana Tag Structure ............................................................................................Float Tag Structure ..................................................................................................

Message Tag Structure ............................................................................................ Mailbox Tag Structure .............................................................................................

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 7/148

• • • •

Monitor Pro Fundamentals Guide

Chapter 1

Introducing Monitor Pro

Schneider Electric is pleased to announce the release of Monitor Pro 7.6, the latestversion of its multi-user, real-time Supervisory Control and Data Acquisition(SCADA) software product. The Monitor Pro software provides the processknowledge and control needed to perfect the products companies make and theprocesses they manage.

Monitor Pro monitors, supervises, and controls processes in a variety of industriesaround the world. Monitor Pro is highly scalable and can be used to build from thesimplest Human-Machine Interface (HMI) systems to the most complex and

demanding SCADA systems. Monitor Pro allows data to be collected from a widevariety of plant floor devices and valuable information to be distributed easilythroughout the entire organization.

Schneider Electric has offered a SCADA solution and the Monitor Pro family ofproducts for over 10 years, providing customers with the latest in technology to meetthe ever-changing demand in the automation arena.

To continue providing cutting edge technology to our customers, Schneider Electricformed a long-term partnership with UGS Tecnomatix of Richardson, Texas, USA, toprovide the Monitor Pro product, the core of which is based on the FactoryLinkproduct. This partnership offers a proven SCADA solution with a team of dedicatedengineers focused solely on automation technologies associated with supervisorycontrol and data acquisition applications.

As you work with and use the product, you will see references to the core FactoryLinkproduct in both the documentation and Help files. This is not to be considered an erroror misprint. Monitor Pro is distinctly different from the core FactoryLink product inthe Add-On modules provided. The add-on modules provide a tight integration withthe Schneider Electric family of controllers as well as added benefits to users whenconfiguring applications.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 8/148

1 | INTRODUCING MONITOR PROHow Monitor Pro Can Help You

2 / Monitor Pro Fundamentals Guide

HOW MONITOR P RO C AN H ELP YOU

Monitor Pro can help you in the following ways:Monitor Pro provides visibility into the entire process, giving the right informationto the right people when they need it.

• A graphical user interface lets operators monitor and control pumps, tanks, valves,motors, switches, and other key process equipment.

• An alarm system alerts operators to problems and keeps a history for later analysis.• Real-time and historical trend charts help operators and managers improve

efficiency and resolve problems.• Reports and historical data help satisfy management and regulatory requirements.• Monitor Pro supports both local and remote monitoring to provide secure access to

critical information at the plant or even at a manager’s home.• Monitor Pro provides unparalleled connectivity by connecting remote terminal

units (RTUs), programmable logic controllers (PLCs), production and testequipment, business systems, and other supporting systems using OLE for ProcessControl (OPC), Extensible Markup Language (XML), proprietary, or customprotocols.

• A rich set of artwork, developed specifically for industrial automation systems andequipment, is included to ease the configuration process.

HOW MONITOR P RO W ORKS

Based on open industry standards, the Monitor Pro system is designed to take fulladvantage of the Microsoft Windows operating system, enabling users to leverageother software products available on the market and to lower training and maintenancecosts.

Monitor Pro 7.6 runs on Microsoft Windows 2003, XP, and 2000. Other standardsinclude:• Windows Terminal Services support for remote access by thin clients• OPC (client and server)

• ActiveX• ODBC• Microsoft Visual Studio .NET or Visual C++

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 9/148

Monitor Pro Fundamentals Guide

INTRODUCING MONITOR PRO | 1How Monitor Pro Works

• Microsoft Visual Basic for Applications• Microsoft SQL Server 2000

Licenses for Microsoft SQL Server 2000 and Microsoft VBA are included in theproduct at no additional charge. Telemecanique is a Microsoft Certified Partner.

Object-Oriented Development

Monitor Pro has object-oriented development tools that you can use to create“application objects” to represent real-world devices, such as pumps, valves, switches,tanks, or other equipment. Application objects are reusable and have inheritance, so ifone is modified, all “instances” of the object are modified accordingly, without theneed to find and update each instance individually. Application objects save valuabletime and reduce risks during system configuration or maintenance efforts.

Redundancy

Monitor Pro’s virtual real-time networking capability facilitates the creation ofredundant Monitor Pro applications. It allows two identical Monitor Pro applicationsto operate in a master/slave configuration and supports master/slave arbitration,real-time data synchronization, and alarm system redundancy. Monitor Pro alsosupports several methods of handling redundancy of historical data.

Graphics Development

Each Monitor Pro client contains two types of graphics technology: multiplatformgraphics (Monitor Pro ECS) and Windows technology (Client Builder graphics) forMonitor Pro 7.x or later. Both types can be used in the same application.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 10/148

1 | INTRODUCING MONITOR PROHow Monitor Pro Works

4 / Monitor Pro Fundamentals Guide

Client Builder, Monitor Pro’s graphical development tool, provides a rich set ofartwork for use in building graphical displays. Included are standard user interfacesfor alarm viewing, trending, and historical data browsing. These interfaces requireminimal configuration and allow you to present the right information to the right

person in an easy-to-understand format.

Multiplatform graphics Monitor Pro ECS (Pre 7.0)

Windows Technology Client BuilderGraphics (7.x and later)

Two Types of Graphics Technology

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 11/148

• • • •

Monitor Pro Fundamentals Guide

Chapter 2

Distributed Architecture

The fundamental architecture of Monitor Pro is based on the latest MicrosoftWindows technology and three-tier model of distributed client/server processing. Inthis model, a clear separation exists among client services, business services, and dataservices, which facilitate the efficient design of applications.

The Monitor Pro applications are stored on the Monitor Pro server, but can bedeveloped and maintained from any client in the system with a development license.Any application modifications are immediately available to all clients, significantlyreducing the cost and effort associated with developing and maintaining Monitor Pro

applications.Connectivity between clients and servers is provided using LAN, WAN, dial-upconnection, or through the Internet. Systems can be set up to allow remote users toaccess the system on their pocket PCs through Windows Terminal Services, so theyare always aware of the latest information. Application servers are responsible for alldata processing.

THREE -TIER MODEL

The three-tier model of distributed client/server processing includes a client services

tier, business services tier, and data services tier.

Tier Description In Monitor Pro

ClientServices

Also known as theuser interface, thistier is positionedclosest to the user.

Consists of the graphical user interface foroperators and/or developers. If a client connects tomultiple servers, information is displayed as if itwere coming from a single server.

BusinessServices

Processes data andprovides information

to the client servicestier.

Consists of the Monitor Pro server that supportsthe collection, processing, and logging of data. The

Monitor Pro server includes applicationconfiguration data, run-time tasks, and a real-timedatabase.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 12/148

2 | DISTRIBUTED ARCHITECTUREThree-Tier Model

6 / Monitor Pro Fundamentals Guide

Due to its architecture, Monitor Pro is inherently scalable. The client, business, anddata services tiers can be distributed among computers in any manner, which provideincredible flexibility to the organization. Small applications can exist with all threetiers residing on a single computer. Larger applications can be distributed to separatecomputing resources.

Typical topologies for Monitor Pro include:• Single-station architecture for small applications• Multi-station architecture for medium and large-sized applications• Distributed architecture for communication between separate applications• Redundant architecture for high availability and fault-tolerant applications

Data

Services

Stores and manages

an organization’shistorical data.

Consists of a Standard Edition Microsoft SQL

Server 2000 database (shipped with Monitor Pro),which provides advanced storage functionality andmanagement of historical data. Monitor Prosupports ODBC-compliant databases as well asprovides native interfaces to Oracle and Sybase.

Tier Description In Monitor Pro

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 13/148

Monitor Pro Fundamentals Guide

DISTRIBUTED ARCHITECTURE | 2Development and Run-Time Systems

DEVELOPMENT AND R UN -T IME S YSTEMS

Monitor Pro Client Access Licenses (CALs) are required for any user who configuresor accesses run-time data (using OPC or any other means) from a server. Clients havethe capability to access one or multiple servers over the network, or clients may beinstalled on the same computer as the server that holds their license.

Monitor Pro development/run-time systems are used to develop applications locally orremotely. They can be used to run a Monitor Pro application. Additional CALs may bepurchased for distributed applications. Development CALs and Run-time CALs areavailable. Development systems come bundled with one development CAL.Development CALs and Run-time CALS may be added to development/run-timesystems.

Development CALs contain configuration tools to develop server applications andclient projects and can be used for concurrent development. Each Monitor Prodevelopment CAL includes the Configuration Explorer for building the serverapplication and Client Builder for building the client project. The Application Editoris included for backward compatibility with pre-7.0 Monitor Pro systems (with ECSGraphics) and only supports development on the local system.

Run-time CALS can be used to access server applications locally, but do not haveconfiguration capability. Monitor Pro run-time only systems are used to run acompleted application and cannot be used for development purposes. Run-time onlysystems come bundled with one run-time CAL. Additional CALs may be purchasedfor distributed applications, but only run-time CALS can be added to run-timesystems.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 14/148

2 | DISTRIBUTED ARCHITECTUREScalable System Sizes

8 / Monitor Pro Fundamentals Guide

S CALABLE S YSTEM S IZES

Monitor Pro is designed to run Monitor Pro applications of various sizes, with limitsdefined for the number of external inputs and outputs (I/O Tags) to the system andtotal number of tags defined in the system (Total Tags). Versions with smaller tagcounts offer all of the same features as the unlimited version, as long as the sameoptions are purchased. Check with your Monitor Pro for available sizes.

Developer-Defined Maximum Tags (Total Tags)

Except for the unlimited version, Monitor Pro is designed to process a limited numberof developer-defined, real-time database tags per application. A licensing agreementdetermines the total number of tags available. This total is in addition to thepredefined tags provided with a new, blank application.

All tags of tag arrays are counted towards this total. Each time you configure a tagduring configuration, Monitor Pro adds it to the total count of tags defined for thatapplication. At run time, Monitor Pro checks the application to determine the numberof developer-defined tags. If the application has more than the licensed number of tagsdefined, the application will not run. With a conversion fee, the Monitor Pro systemcan be converted to a larger size Monitor Pro system.

Input/Output Maximum Tag (I/O Tags)

Monitor Pro contains tasks for connecting to external devices. An I/O tag is any tag

that is the source or target of any Monitor Pro I/O task. An I/O task is any task thatcommunicates directly with an external device, such as a computer, a PLC, or nodeson a network. These I/O tasks and their associated tags are a subset of the maximumnumber of tags you can configure for an application. Monitor Pro is designed toprocess up to the maximum number of I/O tags in any of the I/O tasks provided or soldas options.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 15/148

• • • •

Monitor Pro Fundamentals Guide

Chapter 3

Features, Tasks, and Tools

MONITOR P RO TASKS

Monitor Pro is a set of programs that perform specific activities in the automationprocess. Some activities are:• Reading and writing data to or from external devices, such as programmable logic

controllers (PLCs) and remote terminal units (RTUs)• Collecting, manipulating, and storing data• Alarming• Generating reports

These programs are referred to as tasks because they are independent programs that doonly one specific job or task alone, but together make an application fully functional.

At run time, Monitor Pro tasks gather, process, communicate, and present datathrough the real-time database using a group of user-selectable options. Most tasks areincluded in the base Monitor Pro system at no additional charge. Some important tasksare described in this section.

Graphical User Interface

Client Builder

Client Builder, Monitor Pro’s graphical user interface, is an OPC client thatcommunicates with the Monitor Pro Server and other OPC servers. For supervisorycontrol, instructions can be sent from Client Builder to the Monitor Pro Server’sreal-time database and from there to the plant floor.

Client Builder supports alarming, trending, and historical data browsing functionalityusing ActiveX controls. Each of these functions has an ActiveX control that requiresminimal configuration to achieve a fully functional system. Prior to Monitor Pro 7.0,the graphical user interface for Monitor Pro was called ECS graphics. Screens in thisformat are compatible with Monitor Pro 7.2 and later and may be used inside of ClientBuilder graphics. Client Builder is discussed in more detail later in this chapter.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 16/148

3 | FEATURES, TASKS, AND TOOLSMonitor Pro Tasks

10 / Monitor Pro Fundamentals Guide

Application Editor

Application Editor, a pre-7.0 Monitor Pro tool, is used to draw and animate graphicalscreens for the Monitor Pro application. Application Editor is used to build and editECS graphics only and is included for support of pre-existing applications. Typically,Application Editor is not used for a new application.

Device Interfaces

Monitor Pro uses device interfaces to gather data from devices such as PLCs andRTUs. In addition to vendor-specific interfaces (for equipment from companies suchas Schneider Electric, Omron, Rockwell, Siemens, and GE Fanuc), Monitor Pro

provides an OPC interface that can be used to collect information without requiringdevice-specific drivers. Additional interfaces are available, if desired. Consult yourauthorized reseller or representative for the most recent list of available interfaces.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 17/148

Monitor Pro Fundamentals Guide /

FEATURES, TASKS, AND TOOLS | 3Monitor Pro Tasks

Dynamic Data Exchange

Dynamic Data Exchange (DDE) updates data automatically and regulates how and

when data is passed between programs such as Microsoft Word or Excel.

OPC Data eXchange (ODX)

ODX is an enhanced OPC Client used to communicate with PLCs and otherOPC-compliant devices. ODX eliminates the need to purchase a proprietary deviceinterface in many systems. Not only does this reduce the cost of the software, itensures the use of a standard protocol, making the system easier to maintain andupgrade. ODX is included as a standard part of each Monitor Pro system.

Enhanced Communication Interface (ECI)

An Enhanced Communications Interface (ECI) supports scaling, data conversion, anda variety of statistical calculations. ECI is essentially an I/O translator that provides aninterface between various device interfaces and the Monitor Pro real-time database.The ECI task supports various types of Monitor Pro device interfaces, including OPC,RAPD, and EDI. ECI is included as a standard part of each Monitor Pro system.

XML Adapter

The XML Adapter enables web-based applications to read and write Monitor Proreal-time data using an XML document. This option is a separate program that can be

installed on the Monitor Pro server machine. The XMLAdapterInstall.exe program islocated in the C:\Program Files\Telemecanique\FactoryLink\Installs directory.

This program installs a new COM component that can be used from applications thatsupport COM, including ASP pages on an IIS web server, VB/VBA applications,Active Scripting hosts, and C/C++ applications. It also installs example web pages. Torun the demonstration, you must start the Examples Application, open an InternetExplorer window, and navigate to the examples at http://localhost/XMLAdapter.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 18/148

3 | FEATURES, TASKS, AND TOOLSMonitor Pro Tasks

12 / Monitor Pro Fundamentals Guide

General Tasks

Timed Events and Intervals

The Event and Interval Timer task defines timed events and time intervals that can beused to initiate and control any system function. Timed events occur at a specific timenot more than once every 24 hours, whereas time intervals occur at least once every 24hours at regular intervals. Timed events and intervals link to real-time database tagsthat are used as triggers to other Monitor Pro processes.

Programmable Counters

The Programmable Counters task provides totalizers and event delays. Outputs fromcounters can be used to provide inputs to other Monitor Pro processes or to triggerevents.

Real-time Database Browser and Debugger Tool

The Database Terminal (DBT) is an on-line real-time browser that supports read/writeaccess to a Monitor Pro application to provide enhanced debugging capabilities.Advanced functionality is provided for viewing data including filters, wildcards,spreadsheet style display, change counters, and data format selection (ASCII, binary,hex, octal, decimal, exponential). Remote browsing is also supported.

Batch Recipe

The Batch Recipe task stores recipes on disk for manufacturing a product. Theserecipes can be sent to an external device at a given time to control the productmanufactured.

Persistence

The Persistence task saves the values of an active Monitor Pro application atpredetermined times so if Monitor Pro shuts down unexpectedly, useful data is notlost.

Print Spooler

The Print Spooler task directs data to printers or other devices with parallel interfacesand also to disk files.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 19/148

Monitor Pro Fundamentals Guide /

FEATURES, TASKS, AND TOOLS | 3Monitor Pro Tasks

Scaling and Deadbanding

The Scaling and Deadbanding task converts or scales incoming raw data to a different

value range and indicates a dead or non-recalculating band around a scaled value.(New applications use IOXlater or ECI.)

Interpreted Math and Logic Operations

The Interpreted Math and Logic task uses a programming language to performoperations of a mathematical or logical nature on combinations of tags in the real-timedatabase. Each math and logic operation, controlled by a procedure resemblingBASIC, is based on user-defined variables, and is triggered by events in the real-timedatabase.

Compiled Math and Logic Operations (Optional)

The Compiled Math and Logic task is used for applications that have a large numberof calculations in the server application. It is used in conjunction with a C compilerand provides more flexibility and performance than Interpreted Math and Logic.

Event Time Manager

The Event Time Manager (ETM) task allows the configuration of objects, functions,and parameters for a specific schedule. Users simply build an event list and schedulethe actions based on selected criteria for the objects. Event information is stored andretrieved from any formatted flat file allowing for rapid event scheduling of multiple

points.Utilities

Monitor Pro provides utilities for general maintenance and troubleshooting. Allutilities can be started from a Command Prompt window and many can be startedfrom the Configuration Explorer.

In Configuration Explorer, the utilities are accessed from a menu that appears whenyou right-click your “server computer name” or your “application name”. The outputwindow in the Configuration Explorer displays the system processing messages whenutilities are started. The Utilities Guide provides detailed information about each ofthe Monitor Pro utilities.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 20/148

3 | FEATURES, TASKS, AND TOOLSMonitor Pro Tasks

14 / Monitor Pro Fundamentals Guide

Logging and Retrieving Data

Alarms and Events

System-wide event logging capability is supported to ensure the logging of threeprimary event types:• Events from within the Monitor Pro system, such as a network problem or a

software task error• Events from the PLC or other control system, such as a circuit breaker tripping, a

pump stopping, or a cycle finishing• Operator interactions, such as when an operator logs in, starts a pump, or

acknowledges an alarm

Distributed Alarm Logger

The Distributed Alarm Logger checks real-time data for permitted limits, generatesalarms if limits are exceeded, and copies the alarms to a historical disk-basedrelational database. Alarms represent a subset of events and are configured based onany event within the system. Alarms are specifically intended to alert operators tosituations that may require their action.

Client Builder includes an Alarm Viewer that provides for viewing andacknowledging alarms or events in the system. It has filtering and sorting capabilitiesto make the information more useful to the operator. Events and states of variousobjects can also be viewed from the alarm viewer.

Alarm E-mail Notification

An alarm or event defined in the alarm logger can be configured to use the e-mailnotification agent to acknowledge an alarm by using an e-mail reply from contactrecipients in a notification group. If a contact fails to be notified within a specifiedamount of time, the alarm notification can be escalated to an alternate contact. Othercontacts who are not required to acknowledge the alarm can be designated to receivean alarm notification.

Operator Event Logging

Operator Event Logging allows Monitor Pro to track and users to analyze all operatoractions and client events to provide the information necessary to comply withcompany requirements or industry and government standards.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 21/148

Monitor Pro Fundamentals Guide /

FEATURES, TASKS, AND TOOLS | 3Monitor Pro Tasks

Logged events include tag value changes from the client, operator login/logout, andclient connection/disconnection.

Operator Logbook

The operator logbook allows operators or other users to enter notes about alarms orevents. The information is saved in a relational database for later reporting andanalysis. The logbook is useful for applications that must comply with regulatoryrequirements.

Report Generator

The Report Generator task can create reports based on data in the real-time database.Reports are flexible in format and can be generated as files or printed reports. TheReport Generator can also generate reports in XML format. These reports can be usedto interchange information over the Internet with other applications that understandXML or can be formatted as HTML-viewable web pages.

Note: Reports can be also be created using third-party software such asMicrosoft Access and Crystal Reports to access historical data logged to anexternal database, such as SQL Server, Oracle, or Sybase.

Historical Reports

The Monitor Pro Historical Reports are pre-configured reports that provide secureaccess to electronic data through standard reports to match the most stringentrequirements of regulatory applications. The included reports cover the basicrequirements of 21 CFR Part 11, the FDA guidelines for trustworthy electronicrecords. The reports are developed in Microsoft Access and the source is provided forcustomization if desired. For more information, see “Historical Reports” on page 29 .

Historian

The Historian task communicates with external databases to create, write to, readfrom, and update database tables. It processes data requests from other Monitor Protasks and sends them to the external database. The Historian acts like an interfacebetween Monitor Pro and the database. The Historian is specific for a particulardatabase product. The supported databases are:• SQL Server 2000• Oracle 10• Sybase System 12

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 22/148

3 | FEATURES, TASKS, AND TOOLSMonitor Pro Tasks

16 / Monitor Pro Fundamentals Guide

• Other relational databases with ODBC support, such as Informix and DB2/2• dBASE IV (for support of pre-7.x applications)

Native Oracle Historian Interface

The Oracle Historian task provides a native interface to an Oracle 10 relationaldatabase. It processes data requests from other Monitor Pro tasks to write data to orretrieve data from the relational database.

Native Sybase Historian

The Sybase Historian task provides a native interface to a Sybase System 12 relationaldatabase. It processes data requests from other Monitor Pro tasks to write data to orretrieve data from the relational database.

Data Point and Database Logging

Data Point Logging simplifies the task of logging data using preconfigured tables.Multiple shared numeric-value tags can be stored in the same database and sorted laterif necessary. Data Point Logging captures the time, the tag name, and the tag value forthe tags specified.

Database Logging allows users to create a table and specify which tags to capture inthat table. When the value of any tag in the table changes, the values of all tags in thetable are logged. Database Logging provides the ability to group tags in a databasetable.

Real-Time and Historical Trend Controls

The Trend controls provided in Client Builder allow users to view the real-time orhistorical evolution of any tags previously configured for logging. Tag values aredisplayed graphically using either a line graph or a bar graph. Trending handlesmultiple points (up to 8 trends per viewer) and supports panning and zooming. A widevariety of pen styles and colors can be configured easily and property changes can becustomized on-line.

Database Browser Control

The Database Browser control provided in Client Builder connects to a relationaldatabase, such as SQL Server, and allows operators to view, sort, and filter data in atabular fashion from the database.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 23/148

Monitor Pro Fundamentals Guide /

FEATURES, TASKS, AND TOOLS | 3Monitor Pro Tasks

PowerSQL

The PowerSQL (Structured Query Language) task works in conjunction with the

Historian tasks to allow an application to access data in an external relational databasethrough a result window. In addition, PowerSQL processes SQL statements that areentered in a Monitor Pro message tag.

PowerSPC (Optional)

The PowerSPC (Statistical Process Control) task contains many standard statisticalcalculations and charts. It works in conjunction with the Monitor Pro Historian task toallow an application to store and access real-time statistical data in an externalrelational database. The PowerSPC task is supported for ECS graphics only.

Communicating Across a Network

VRN and Redundancy

The Virtual Real-time Network and Redundancy (VRN) task provides networking andredundancy functionality for Monitor Pro.

VRN facilitates the creation of redundant Monitor Pro applications. It does this bymirroring a selectable portion of the Monitor Pro real-time database. It allows twoidentical Monitor Pro applications to operate in a master/slave configuration. In thiscapacity VRN supports master/slave arbitration, real-time data synchronization, andalarm system redundancy. VRN requires virtually no configuration work. Tag

selection is done by a simple list that allows for the use of wildcards. A typical setup isshown below.

FLOCX

FLOCX is an ActiveX control designed to interface with the OLE Server task to allowa connection to non-Monitor Pro programs that also support OLE communication.

File Manager

The File Manager task manages files on local drives or remote servers and transfersfiles from one station to the next.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 24/148

3 | FEATURES, TASKS, AND TOOLSMonitor Pro Add-Ons

18 / Monitor Pro Fundamentals Guide

MONITOR P RO ADD -O NS

The Monitor Pro Add-On modules provide a tight integration with the SchneiderElectric family of controllers as well as added benefits to users when configuringapplications. The base Monitor Pro system includes the following add-on modules.

PLC Diagnostic Viewer

This module adds the ability to retrieve, view, and acknowledge PLC diagnosticmessages in a Monitor Pro system. PLC diagnostics are integrated into the system justlike any other Monitor Pro alarm, and therefore can use the standard alarm logger,viewer, and archival tools. The Diagnostic Viewer supports Premium TSX57 PLCsusing XWAY protocols (via the TECOM driver). The Diagnostic Viewer can also obtainPLC diagnostic data by interfacing with the OFS Server (v3.20 or later)

Unity Pro Browser

This configuration tool gives the user an easy way of configuring Monitor Pro tagsbased on Unity Pro variables. This is done by directly connecting to a Unity Proproject or by importing a Data Exchange export file.

Starter Application Customizer

This module allows the user to easily and quickly add support into an application forany of the XWAY, S1000, or Modicon PLC types. Pre-defined sets of tags and otherconfiguration information can be added to any user application, including the starter

application.The customizer adds tags and populates tables with most of the information requiredto begin communicating with the selected PLCs almost immediately. Some additionalsettings are usually required to define the specific PLC addresses and communicationchannels to be used.

Symbol Databases Linker

This module allows the user to automatically configure the communicationconfiguration tables of an application using the symbol definitions provided in a PLCapplication. The Symbol Databases Linker also checks and maintains the consistencyof the Monitor Pro configuration with the variable definition in the PLC.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 25/148

Monitor Pro Fundamentals Guide /

FEATURES, TASKS, AND TOOLS | 3Multilingual Systems

OFSLinker

This module allows users to set up the OPC Factory Server using connectivity to a

concept database.Telemecanique File Transfer

This tool allows users to transfer an application program or data in the form of Wiwords from a TSX Series 7 PLC or a TSX 37/57 PLC to a logical device accessible byMonitor Pro and vice-versa (hard disk, diskette, server disk). This tool can alsocompare the contents of two accessible devices (programs or Wi data) and start/stop aTSX Series 7 PLC. The Telemecanique File Transfer function does not allow the userto display or modify the program or the data transferred.

MULTILINGUAL S YSTEMS

Monitor Pro was built with global companies in mind. Monitor Pro can be installed inEnglish, French, or German. Client Builder supports other languages as well, withsystem menus and dialog boxes in English, French, German, and Spanish. Clientproject screens can be built to display any language desired.

Monitor Pro provides the ability to display the same application data on one client inone language and on another client or clients in a second or third language. Forexample, an application for the Channel Tunnel might display data in French at theFrench side of the tunnel and in English at the other side.

Client Builder provides a default file with several languages and roles predefined. Fordetailed information about how Monitor Pro manages languages and roles and howyou can add additional languages and roles to a Monitor Pro system, see the Client

Builder Help .

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 26/148

3 | FEATURES, TASKS, AND TOOLSConfiguration Tools

20 / Monitor Pro Fundamentals Guide

C ONFIGURATION TOOLS

Monitor Pro provides both development and operational functionality. You configureand maintain the system using two application development tools: ConfigurationExplorer for configuring the server component and Client Builder for configuring thegraphical user interface on the client tier.

Configuration Explorer

Configuration Explorer supports a multi-user, client/server configuration environmentwhere multiple users can configure multiple servers concurrently from any machineon the network. Configuration Explorer presents an environment that is highlyintuitive to those with experience using Microsoft products. It provides access to theMonitor Pro tasks in a tree view, much like Windows Explorer.

The tree-view navigation window on the left-hand side of the Configuration Explorermain window is the key navigation window that provides a hierarchical view ofMonitor Pro system servers and OPC servers. Users can navigate to these servers toconfigure them. Beneath the Monitor Pro servers, the tree view shows the associatedserver applications and their related tasks in a hierarchical fashion.

Menu Bar

Toolbar

Namespaceentries in theNavigationwindow

Workspacearea

Output Window

Status Bar

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 27/148

Monitor Pro Fundamentals Guide /

FEATURES, TASKS, AND TOOLS | 3Configuration Tools

A task must be configured to make it part of the application. Every task has at leastone configuration table, depending on the job the task performs in an application. Atask is configured by completing its associated configuration tables.

Double-clicking a task item in the tree will open the appropriate editor for that item.

Grid Editor

When a table icon is double-clicked, the Grid Editor opens. The Grid Editor is usedto edit the configuration tables as well as provide a traditional grid view of the task(records listed down the page in a table).

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 28/148

3 | FEATURES, TASKS, AND TOOLSConfiguration Tools

22 / Monitor Pro Fundamentals Guide

Form Editor

When a record icon is double-clicked, the Form Editor opens. The Form Editor

displays the fields for one single configuration record. Navigation buttons at thebottom of the form allow the viewing of previous and next records.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 29/148

Monitor Pro Fundamentals Guide /

FEATURES, TASKS, AND TOOLS | 3Configuration Tools

Math and Logic Editor

Double-clicking a Math and Logic procedure from the tree opens the Math and Logic

Editor, which provides an intuitive and user-friendly method for creating Math andLogic procedures. The Math and Logic Editor includes features such as chromacoding(text colored based on syntax) and automatic update of the trigger and variable tablesdirectly from the editor.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 30/148

3 | FEATURES, TASKS, AND TOOLSConfiguration Tools

24 / Monitor Pro Fundamentals Guide

Application Objects

Application objects automate the configuration of Monitor Pro tables. Application

objects replace the need to manually enter information into multiple configurationtables. Configuration Explorer provides the capability to define “models” or “classes”called application objects. Application objects have the following features:• They are used to represent real-world items or devices found in the process.• They are reusable and have inheritance.• Each replication of an application object class is called an “instantiated” object.• If an application object class is modified, all instances derived from that class

would be modified automatically. Additionally, a class can be configured to obtainits parameters from a variety of places including an Excel spreadsheet, text file, anyODBC data source, or manual input.

Application objects permit preconfigured system configuration for specific types ofapplications. While software developers concentrate on software objects, and domainexperts configure application-oriented classes (domain layer), an application teamuses application objects to quickly construct and tailor the system for a specificapplication.

An application object is constructed by aggregating built-in objects and other existingapplication objects into a new class. The subobjects and their connections define thefunctionality of the application object. Using application objects in development cangreatly reduce the total cost of ownership of the system, especially for large projects.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 31/148

Monitor Pro Fundamentals Guide /

FEATURES, TASKS, AND TOOLS | 3Configuration Tools

Client Builder

Client Builder is the tool to create and configure the graphical user interface for

Monitor Pro applications. Client Builder allows the development of graphical screens(called mimics) that display when the application is run. The following graphic showsa sample application mimic in design mode.

The Examples Application (discussed on page 93 ) provides many sample screens thatdemonstrate the features in Client Builder, as well as many libraries of images that canbe used in applications.

Client Builder exchanges data with the server through its OPC connection. Animationis possible during run time using links between graphical objects and real-time tags onthe Monitor Pro server. In addition to mimics, Client Builder allows standard viewerssuch as the Alarm, Trend, and Database Browser controls to be embedded withindisplays. These controls are configured in the Client Builder environment. It is alsopossible to embed third-party ActiveX controls within Client Builder mimics.

Monitor Pro ECS graphics screens (in Monitor Pro 2.1 or earlier) can be used insideClient Builder, so it is easy to upgrade from an older version of Monitor Pro. Both ofthese graphical interfaces are provided with Monitor Pro development systems.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 32/148

3 | FEATURES, TASKS, AND TOOLSConfiguration Tools

26 / Monitor Pro Fundamentals Guide

Customization is supported in Client Builder through Microsoft VBA scripting. Allanimations and functions available at run time are accessible programmatically.

Client Builder supports online configuration by providing the capability to developand test graphics within the same environment.

Client Builder’s main characteristics include:• Client Builder elements can be edited, combined, and stored in libraries for reuse in

multiple projects. This applies to graphical symbols, configured mimics, controlpanels, templates, and scripts.

• Client Builder includes a comprehensive library of graphical images that can beused to create symbols to represent anything from a simple button to a complexpiece of equipment that includes numerous animations.

• Drawings and symbols can be rotated, mirrored, aligned, grouped, ungrouped,locked, unlocked, dragged and dropped, and animated.Access to undesiredkeystrokes can be locked to prevent access to the underlying operating system.

• Symbols are class-based and object-oriented. Each time a symbol is modified, allreplications or instances are automatically updated graphically as well as in database links. Symbols and libraries can be predefined or user-defined.

• Client Builder supports Java Bean functionality.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 33/148

Monitor Pro Fundamentals Guide /

FEATURES, TASKS, AND TOOLS | 3Custom Development Tools

C USTOM D EVELOPMENT TOOLS

The optional Programmer’s Access Kit (PAK) is a collection of Monitor Pro softwaretools and related documentation that allows developers to design and constructMonitor Pro-compatible tasks. Tasks developed with the PAK are completelyintegrated into the Monitor Pro system and are configured the same asTelemecanique-developed Monitor Pro tasks.

Unlike any other open architecture system, Monitor Pro fully integrates acustomer-written task into the Monitor Pro environment. The Configuration Explorerfully supports new tasks with full-screen editing, context-sensitive help, anddocumentation utilities.

The PAK option contains a Configuration PAK (CFGPAK) that allows users to access

configuration data. The CFGPAK is a collection of software libraries, C-languagesource tasks, and related documentation used to design and construct tasks thatdirectly manipulate the configuration databases of a Monitor Pro application.

Tasks created with CFGPAK can automate many of the operations found inConfiguration Explorer, saving users from manually importing and exportingconfiguration data. For example, a PLC software package can scan the active PLCaddresses and enter corresponding read/write records into that driver’s configurationdatabases.

This option is particularly useful for companies that use Monitor Pro as a platform tointegrate with other products that they sell.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 34/148

3 | FEATURES, TASKS, AND TOOLSCustom Development Tools

28 / Monitor Pro Fundamentals Guide

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 35/148

• • • •

Monitor Pro Fundamentals Guide /

Chapter 4

Historical Reports

O VERVIEW

The Historical Reports tool produces reports about the activities requiring electronicsignatures that occurred during a process cycle. A manager or regulations auditor cangenerate reports for specific users, computers, IO points, and start/end dates.

Monitor Pro has four data sources for electronic records:• Operator Audit Trail• Alarm History and Associated Logbook Entries• Process Data Logged by the Database Logger• Process Data Logged by the Data Point Logger

Each of these data sources produces various preconfigured reports. Some reportscombine information from two or more of the data sources to present a full picture ofthe process for a given time period. Figure 4-1 shows the historical reports window.

Figure 4-1 Historical Reports Window

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 36/148

4 | HISTORICAL REPORTSGenerating Reports

30 / Monitor Pro Fundamentals Guide

The Historical Reports were developed using Microsoft Access and are designed towork with the Examples Application. Having Microsoft Access is not a requirementfor running the reports. A Microsoft Access Runtime application is provided as part ofyour Monitor Pro Server installation. This application allows you to only run thereports.

Although the reports were designed for SQL Server, the source code is provided so thereports can be customized for either a different database or unique database and tablenames. You can view the historical reports using Microsoft Access or the AccessRunTime Viewer, or you can create custom reports using Microsoft Access. You musthave a full version of Microsoft Access to customize the reports. If you want to use thereports in a Web-based system, Microsoft has tools you can use to migrate Accessprojects to Reporting Services and to single Web pages.

Historical reports can be run from any location on your LAN or WAN, providing thatthe location has network access to the database server that stores your Monitor Prohistorical data.

The Historical Reports reside in the Applications shared folder on the Monitor Proserver so that all people in the plant have access to the reports.

G ENERATING R EPORTS

1 If Microsoft Access or the Access RunTime Viewer is not installed, see the Installation Guide to install the viewer. For proper reporting, the user language needs

to match the language of the operating system, as explained in the Installation Guide 2 Choose one of these methods to start the Historical Reports:

• If running the historical reports on a Monitor Pro system, click Start > Programs >Monitor Pro > Historical Reports.

• If running the historical reports on a system where a Monitor Pro Client is notinstalled, use Windows Explorer to browse to the Applications shared folder on thmachine where Monitor Pro is installed. Open the Historical Reports folder anddouble-click Historical Reports.adp.

3 When the Security Warning appears, click Open. (This security warning appears eac

time you run the Historical Reports.)

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 37/148

Monitor Pro Fundamentals Guide /

HISTORICAL REPORTS | 4Generating Reports

4 At the Logon screen, type the username and password for a SQL Server user that hasread access to your historical data and then click OK.

The Reports Data Linking dialog box appears and automatically starts to connect theproject to the FLINK database at the (local) SQL Server.

5 When the connection status is successful, click Continue to connect to the defaultFLINK database. The Historical Reports window appears (see Figure 4-1 ).

You can connect to a different database by clicking Advanced Data Source Configuration and entering the desired database name and associated login information. Click OK and then click Continue to connect to this database.

6 Click a report to open a dialog box similar to the one in Figure 4-2 . Select the criteriayou want to use to query the electronic document for user activity for a specified timeperiod. (You can type the start/end dates, click the arrow and select a date from acalendar, or click a time period quick button.)

Figure 4-2 Operator Audit Trail Report Query

The process data reports have an option on the query screen that allows you to addstatistics to the bottom of the report. If the Show Max/Min/Avg Values check box is

selected, the column for the specified time period displays the minimum, maximum,and average values reports as well as the logged data.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 38/148

4 | HISTORICAL REPORTSGenerating Reports

32 / Monitor Pro Fundamentals Guide

7 To select the columns to display and change the width and order of the data in theselected report, click Advanced. A dialog box similar to the example in Figure 4-3 opens.

Note: The number of columns you select to display along with the width of thecolumns specified may exceed the available space for the report. If thiscondition occurs, a message appears instructing you to adjust the field widths.

Figure 4-3 Customizing Reports

8 After setting the criteria for the report, either click Preview to view the reportimmediately or click Print to send the report to a configured default printer.

Note: To select a printer different from the default printer or to specify a rangeof pages in the report to print, click File > Print in preview mode.

Figure 4-4 shows a sample report for the activities done by the MyAdministrator user.

Either select to have the itemappear in the report or clear tonot display the item in the report

Use arrows to set the orderthe items are to display

Specify yourown SQLWHERE claus

Specify the columnwidth for the item

Select to have the itemappear on a separate line

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 39/148

Monitor Pro Fundamentals Guide /

HISTORICAL REPORTS | 4Generating Reports

Figure 4-4 Operator Action Sample Report

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 40/148

4 | HISTORICAL REPORTSGenerating Reports

34 / Monitor Pro Fundamentals Guide

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 41/148

• • • •

Monitor Pro Fundamentals Guide /

Chapter 5

Internal Architecture

Monitor Pro is a modular system of individual tasks that perform separate functions.These tasks communicate and share data with one another through the real-timedatabase.

The Monitor Pro system provides the following advantages over systems that rely onreal-time Inter-Process Communications (IPC) through passing buffers or sharingfiles:• Tasks maintain their independence and inherent compatibility with one another.• Data formats for interfaces will not change unpredictably• Tasks can hand off the inter-process communication to the database function, which

acts as an intermediary, meaning less time is spent waiting for another task toacknowledge error-free receipt of data.

• Functions, conditions, or events that can be related through the use of a common tagallow you to create custom applications without programming. Instead, you select,configure, and link different programs to exchange information freely in real time.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 42/148

5 | INTERNAL ARCHITECTUREOpen Software Bus

36 / Monitor Pro Fundamentals Guide

O PEN S OFTWARE B US

Monitor Pro’s internal architecture is based on Telemecanique’s Open Software Busarchitecture. The patented design of industry’s only Open Software Bus (U.S. Patent #4,908,746) is a key factor in the success of the Monitor Pro product line.

The Open Software Bus architecture permits commonly used system functions to bemodularized into independent tasks (programs) that run concurrently in a multitaskingoperating system environment. The tasks interact with each other by communicatingwith and sharing a global, real-time database in which all programs have access to allreal-time data.

The architecture provides a flexible development platform. It is extensible and

completely open. Tasks can be added or removed without affecting other tasks orexisting applications. The application program interface (API) to the global, real-timedatabase is standardized and published along with utilities in a Programmers AccessKit (PAK), enabling users to add their own tasks that operate like standard Monitor

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 43/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Open Software Bus

Pro tasks. Custom tasks developed with the PAK can be plugged in just likeTelemecanique-developed tasks.

The Open Software Bus architecture provides superior speed and performance:• The real-time database is resident in high-speed random access memory.• Exception processing is performed by the real-time database. Tasks only access and

process changes when needed. This eliminates unnecessary activity by thecomputer and on networks.

• CPU resources are dynamically allocated between Monitor Pro tasks that havechanges to process.

• High-speed, bidirectional block transfers between tasks and the real-time database,triggered either by changes or events, assure maximum performance andcommunication.

• Block transfers of data to and from PLCs and other equipment can be triggered byany system event, calculation, previous reading, operator command, or time.

Monitor Pro tasks communicate through the software bus in real time using tags. Forexample, a bar graph in the client interface can be linked to a value read from a PLCby referencing the name of the tag containing the value.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 44/148

5 | INTERNAL ARCHITECTUREReal-Time Database

38 / Monitor Pro Fundamentals Guide

R EAL -T IME D ATABASE

Monitor Pro tasks communicate and share data with one another through the real-timedatabase. Tasks share information by reading from or writing to the real-timedatabase. Data is never passed directly between two tasks.

The real-time database contains all the data values to be shared between theapplication tasks. When configuring the Monitor Pro application, the developerdefines which values are to be held within the real-time database. These values aregiven a unique tag name and a unique location within the real-time database.

The database contains data that is:

• Collected from a remote device• Computed by a Monitor Pro task • Manually entered by a user

When data is collected and updated in the database, other tasks can access andmanipulate the data. A task can write information to a tag in the real-time databaseusing one of two types of writes: a normal write or a forced write.

Normal writes only write to a tag in the real-time database if the new value is differentfrom the existing value. In this way, system resources are not used unnecessarily.

Forced writes write to a tag whether or not it has changed. You use this type of write tomake a tag appear to have changed value even if the data has not changed.

A task gets the value of a tag in the real-time database using a read operation. Once thetask has this value, it can perform functions on the value, such as displaying the value

pump1_tmp

(Logically representsa tag in database)

Real-time database

Tags

Tag Names

pump2_tmppump3_tmp

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 45/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Real-Time Database

on a mimic, transmitting the value to an external device, or sending the value to arelational database for archiving.

Read or write operations can be triggered by an event (such as when a product passesan electronic eye) or can occur only if the tag changes. A read or write operation thatoccurs only when the data changes is referred to as exception processing. Becauselarge blocks of data can be transferred between tasks, and because only the changedvalues are processed, exception processing significantly optimizes performance.

Exception processing is possible because of the structure of the Monitor Pro real-timedatabase tags. A real-time database tag consists of two parts, the tag’s value and thetag’s change status. When a tag in the database is written, its change status isautomatically set by Monitor Pro and each Monitor Pro task has a mechanism todetermine the tag’s change status.

For more details about the structure of the real-time database and how Monitor Prodoes exception processing, see “Real-Time Database and Tag Structure” on page 129It is especially important to understand these concepts if you plan to developapplications that include Interpreted or Compiled Math and Logic programs.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 46/148

5 | INTERNAL ARCHITECTUREMonitor Pro Tags

40 / Monitor Pro Fundamentals Guide

MONITOR P RO TAGS

Tags contained in the real-time database are assigned a logical tag name. This tagname is used by Monitor Pro tasks to reference the tag in the real-time database duringconfiguration. Once a tag is defined, you can make unlimited references to it. AnyMonitor Pro task containing a reference to a tag can read and write data to and fromthe tag at run time.

During development, Monitor Pro stores tag names in the FLAPP directory in theobject database table. This information is updated in the Configuration Table (.CT)files when the run-time application is started.

Tag Naming Guidelines

Valid tag names conform to the following syntax:[<node >:]<name >[<dims >][.<ext >]

Legal characters for the <node >, <name >, and <ext > strings are:

These strings cannot begin with a number or contain spaces.

<node> Optional node name used by PowerNet, which can be a variable.Maximum 8 characters.

<name> Name of tag. Maximum 32 characters, including node, dimensions, andextensions, and separators ( : and .).If using Scaling and Deadbanding, the character count is reduced to 25.If using PowerNet, the character count is reduced to 23.

If using Scaling and Deadbanding with PowerNet, the character count isreduced to 16.If you are not sure if you will use PowerNet or Scaling and Deadbanding,it is recommended you define tag names using only 16 characters.

<dims> Array dimensions. Maximum16 characters. See “Tag Arrays” on page 4<ext> Monitor Pro-created extension added when Scaling and Deadbanding is

applied to a tag. Maximum 6 characters. Additional characters reduce themaximum length of the tag name by up to 7, because of the perioddelimiter.

{A-Z} {a-z} {0-9} {@$_}

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 47/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Monitor Pro Tags

Tag Naming Recommendations

When naming your tags, follow these general recommendations:• Use a consistent naming system throughout the plant.• Have a hierarchical structure so that you can support branching. For more

information on branching, see page 50 .• Begin related tags with the same first-level branch name (the name before the first

“ _ ” delimiter) if you want the tags grouped together for listing and linking purposes.This makes testing and troubleshooting much easier.

• Incorporate the type of process, unit, and location in the name, but not in addressesor references that may change during the lifetime of an item.

• Have a way to distinguish user-defined tags from internal system tags.

• Distinguish between process-related and system-related objects; for example, amotor including all of its I/O signals may be part of the process, whereas the I/Ocard that takes the signals may be part of a PLC system.

• Define virtual objects including all I/O signals and interface borders.• Plant-related hardware inputs/outputs (such as push buttons and feedback signals)

should use the same tag-naming concept to indicate the devices (such as machine,switch, or source within the plant) to which it belongs.

• Do not start the name with a number.• Try to name each tag in a way that describes its purpose.

Defining Tags in Configuration Explorer

To create a tag, enter a new tag name into any Tag Name field in ConfigurationExplorer. When you save the configuration, the Tag Editor will appear for you tocomplete the tag definition.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 48/148

5 | INTERNAL ARCHITECTUREMonitor Pro Tags

42 / Monitor Pro Fundamentals Guide

The type of data that can be stored in the tag depends on where the tag is specified.Monitor Pro uses the following data types:

The Tag Editor has an area that defines tag persistence. With tag persistence activated,the value of the tag is periodically saved to a disk file. If a value exists in this file for atag, it is written to the tag when the task is restarted. This way, you do not loseimportant information by exiting the task. After a tag is defined, any object in a ClientBuilder screen or any task can reference the tag. See the Configuration Explorer Helpfor detailed information.

Data Type Description

Analog A 16-bit, signed integer between –32,768 and +32,767Digital A one-bit binary number that can be a value of 0 (off) or 1 (on)Float An IEEE double-precision number with 31 places to the right of the

decimal, with a value range from +/– 10 raised to the power of +/– 308Longana A 32-bit, signed integer between –2,147,483,648 and +2,147,483,647Message Any combination of alphanumeric characters (the length limit is set in

the tag definition Message Length field)Mailbox A unique data type that specific tasks use to communicate with each

other (The only data type that can queue data rather than overwrite theprevious value. The contents of this data type varies in length.)

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 49/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Trigger

TRIGGERS

A trigger refers to a tag whose change in value causes another event to occur in theapplication. Many Monitor Pro tasks use tags to trigger certain actions. Events, suchas read or write operations, can be configured to occur as the result of a trigger. A tagcan be used as a trigger by more than one task.

When a task reads a trigger tag, the reading task resets its change status and begins theoperation designated by the trigger.

Force writing a 1 to a digital tag causes its change status to appear changed even if itdoes not change the actual value of the tag. This causes the events tied to that triggerto be triggered during the next read operation. If multiple tasks are to use the same tagas a trigger, using the forced-write technique simplifies inter-task handshaking

requirements, since each task keeps track of changes individually and automatically.See Appendix B, “Real-Time Database and Tag Structure” for more details on howMonitor Pro handles triggers and exception processing.

You can use trigger tags in many ways:• Use the complete status tag in a logger operation to initiate a different logging

operation.• Use the same tag to trigger multiple operations. For example, you can define a

single tag that triggers multiple operations at the start of each hour.• Define Interval Timer and Event Timer digital tags in the real-time database for use

as triggers.• Configure function keys as triggers.• Read and write recipes.• Execute another program.• Initiate a network transfer.• You can cause a new setpoint to be downloaded to a programmable controller.• Trigger separate polled read functions used by a programmable controller task.• Use the Math and Logic task to set triggers to start an operation.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 50/148

5 | INTERNAL ARCHITECTUREPredefined System Tags

44 / Monitor Pro Fundamentals Guide

P REDEFINED S YSTEM TAG S

Some tags are already defined in Monitor Pro when it is shipped. Many of them aretime-related system tags that provide system-wide time information to all Monitor Protasks. For example, there are tags for date, time, number of minutes past the hour, andcurrent month. These tags are updated at Monitor Pro startup and are continuouslyupdated as the system runs.

The following predefined system tags are available in all Monitor Pro applications.

Tag Name Type Domain DescriptionALARMSRV_POLL DIGITAL SHARED Alarm Server poll triggerALARMSRV_RCVMBX MAILBOX SHARED Alarm Server receive mailboxALARMSRV_SNDMBX MAILBOX SHARED Alarm Server send mailboxALLOG_ACTIVE_COUNT ANALOG SHARED Alarm Logger active alarm countALLOG_AUDIBLE_COUNT ANALOG SHARED Alarm Logger audible alarm countALLOG_HIST_MBX MAILBOX SHARED Alarm Logger historian mailboxALLOG_PRINT_TRIGGER DIGITAL SHARED Alarm Logger print active alarms triggerALLOG_RCVMBX MAILBOX SHARED Alarm Logger receive mailboxALLOG_SNDMBX MAILBOX SHARED Alarm Logger send mailboxALLOG_UNACK_COUNT ANALOG SHARED Alarm Logger unacknowledged alarm countALVIEW_AREA MESSAGE USER Alarm Viewer area filter (default = ALL)ALVIEW_BANNER MESSAGE USER Alarm Viewer banner messageALVIEW_BANNER_ACK DIGITAL USER Alarm Viewer banner acknowledgeALVIEW_BANNER_BG ANALOG USER Alarm Viewer banner background attributeALVIEW_BANNER_BL ANALOG USER Alarm Viewer banner blink attributeALVIEW_BANNER_FG ANALOG USER Alarm Viewer banner foreground attributeALVIEW_GROUP MESSAGE USER Alarm Viewer group filter (default = ALL)ALVIEW_GROUP_ACK DIGITAL USER Alarm Viewer current group acknowledgeALVIEW_LOGBOOK MESSAGE USER Alarm Viewer logbook entryALVIEW_LOGBOOK_TRIGGER DIGITAL USER Alarm Viewer logbook archive triggerALVIEW_ROW_SELECT ANALOG USER Alarm Viewer selected row numberALVIEW_SCROLL ANALOG USER Alarm Viewer scroll valueALVIEW_SELECT_ACK DIGITAL USER Alarm Viewer selection acknowledgeALVIEW_SORT MESSAGE USER Alarm Viewer sort method (default = ITIME)ALVIEW_TEXT MESSAGE USER Alarm Viewer textALVIEW_TEXT_BG ANALOG USER Alarm Viewer text background attributeALVIEW_TEXT_BL ANALOG USER Alarm Viewer text blink attributeALVIEW_TEXT_FG ANALOG USER Alarm Viewer text foreground attributeAPPLICATION_DRW MESSAGE USER Application window current loaded drawingA_DAY ANALOG SHARED Day of the monthA_DOW ANALOG SHARED Day of the weekA_DOY ANALOG SHARED Day of the year

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 51/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Predefined System Tags

A_HOUR ANALOG SHARED Number of hours past midnightA_MIN ANALOG SHARED Number of minutes past the hour

A_MONTH ANALOG SHARED Month of the yearA_SEC ANALOG SHARED Number of seconds past the minuteA_YEAR ANALOG SHARED Current yearBROWSEHISTMBX MAILBOX SHARED Mailbox for BROWSER processBROWSEHISTMBX_U MAILBOX USER Mailbox for BROWSER processCONNSRVACTIVE ANALOG SHARED Number of brokered services that are activeCONNSRVINIT DIGITAL SHARED Connection server initialization flareCONNSRVMBX MAILBOX SHARED Connection server receive mailboxCONNSRVTOTAL ANALOG SHARED Total number of services being brokeredDALOGACKMBX MAILBOX SHARED Distributed AL_LOG mailbox for acknowledged

alarmsDALOGRCVMBX MAILBOX SHARED Distributed AL_LOG receive mailbox for Historian

communicationsDALOGRCVMBX_U MAILBOX USER Distributed AL_LOG receive mailbox for Historian

communicationsDALOGVIEWMBX MAILBOX SHARED Distributed AL_VIEW mailbox for alarm

communicationsDALOGVIEWMBX_U MAILBOX USER Distributed AL_VIEW mailbox for alarm

communicationsDATASRVMBX MAILBOX USER Data server receive mailboxDATE MESSAGE SHARED Date (day MM/DD/YYYY)DATE0 MESSAGE SHARED Date (day MM/DD/YYYY)DATETIME MESSAGE SHARED Date and Time (day MM/DD/YYYY HH:MM:SS)DB4HISTMBX MAILBOX SHARED dBASE IV Historian mailboxDBLCHISTMBX MAILBOX SHARED DBLog task historian mailboxDBLOGHISTMBX MAILBOX SHARED Database Logger receive mailbox for Historian

communicationsDBLOGHISTMBX_U MAILBOX USER Database Logger receive mailbox for Historian

communicationDPLCHISTMBX MAILBOX SHARED Datapoint Logger historian mailboxDPLOGHISTMBX MAILBOX SHARED Data Point Logger receive mailbox for Historian

communicationsDYNLOGCOMMAND MESSAGE SHARED Dynamic Logging command message tag for Data

Point LoggerDYNLOGFILE MESSAGE SHARED Dynamic Logging save point file for Data Point

LoggerDYNLOGFILEREAD DIGITAL SHARED Read trigger to load a data point save file for Data

Point LoggerDYNLOGFILEWRITE DIGITAL SHARED Write trigger to generate a Data Point Save File for

Data Point LoggerDYNLOGSTATUS ANALOG SHARED Dynamic Logging status tag for Data Point LoggerENDOFDAY DIGITAL SHARED End of Day (23:59:50)FLAPP_S MESSAGE SHARED Application directoryFLAPP_U MESSAGE USER Application directory

Tag Name Type Domain Description

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 52/148

5 | INTERNAL ARCHITECTUREPredefined System Tags

46 / Monitor Pro Fundamentals Guide

FLDOMAIN_S MESSAGE SHARED Domain nameFLDOMAIN_U MESSAGE USER Domain name

FLHOST MESSAGE SHARED Monitor Pro Host NameFLINK_S MESSAGE SHARED Directory for application programsFLINK_U MESSAGE USER Directory for application programsFLLANSIG DIGITAL SHARED FLLANSND system interval triggerFLLANSNDMBX MAILBOX SHARED Mailbox for FLLANSND processFLNAME_S MESSAGE SHARED Application nameFLNAME_U MESSAGE USER Application nameFLOPERATOR_S MESSAGE SHARED Application operatorFLOPERATOR_U MESSAGE USER Application operatorFLSECEVENTUSER_S MESSAGE SHARED User name for application security eventFLSECEVENTUSER_U MESSAGE USER User name for application security eventFLSECEVENT_S MESSAGE SHARED Application security event

FLSECEVENT_U MESSAGE USER Application security eventFLUSER_S MESSAGE SHARED Application userFLUSER_U MESSAGE USER Application userGRAPHCONNTYPE ANALOG USER Graph connection and security typeGRAPHMBX MAILBOX SHARED Graphics input mailboxGRAPHMBX_U MAILBOX USER Graphics input mailboxOPCSRVMBX MAILBOX SHARED OPC Server MailboxRTMARG ANALOG SHARED Run-Time Manager argumentRTMARG_U ANALOG USER Run-Time Manager argumentRTMCMD ANALOG SHARED Run-Time Manager system commandRTMCMD_U ANALOG USER Run-Time Manager system CommandRTMPWD MESSAGE SHARED Run-Time Manger password

RTMPWD_U MESSAGE USER Run-Time Manger passwordSECDAY LONGANA SHARED Number of seconds past midnightSECTIME LONGANA SHARED Number of seconds since “Start of Time”SECURITYMBX MAILBOX SHARED Mailbox tag to log information collected by securitySECYEAR LONGANA SHARED Number of seconds past January 1, 00:00:00SHUTDOWN DIGITAL SHARED Run-Time Manager shutdown flagSHUTDOWN_U DIGITAL USER Run-Time Manager shutdown flagSPCDATAMBX_S MAILBOX SHARED PowerSPC Data task receive mailboxSPCDATATRIG_S DIGITAL SHARED PowerSPC Data task initialization indicatorSPCGMBX MAILBOX SHARED SPC Graphics input mailboxSPCGMBX_U MAILBOX USER SPC Graphics input mailboxSPCGRPHMBX_S MAILBOX SHARED PowerSPC Graphics task receive mailbox

SPCGRPHMBX_U MAILBOX USER PowerSPC Graphics task receive mailboxSPCRCVMBX MAILBOX SHARED SPC receive mailbox for database accessSPCRCVMBX_U MAILBOX USER SPC receive mailbox for database accessSPOOLREQ MESSAGE SHARED Print Spooler requestSPOOLRPLY MESSAGE SHARED Print Spooler reply

Tag Name Type Domain Description

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 53/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Predefined System Tags

SPRGMBX MAILBOX SHARED SPR graphics input mailboxSPRGMBX_U MAILBOX USER SPR graphics input mailbox

SPRRCVMBX MAILBOX SHARED SPR receive mailbox for database accessSPRRCVMBX_U MAILBOX USER SPR receive mailbox for database accessSPVRCVMBX MAILBOX SHARED SPC View mailbox for database accessSPVRCVMBX_U MAILBOX USER SPC View mailbox for database accessSTARTUP DIGITAL SHARED Run-Time Manager startup flagSTARTUP_U DIGITAL USER Run-Time Manager startup flagTASKDESC_S MESSAGE SHARED Shared Task DescriptionTASKDESC_U MESSAGE USER User Task DescriptionTASKDSTATUS_S MESSAGE SHARED Shared Task Status WordTASKDSTATUS_U MESSAGE USER User Task Display Status MessageTASKMESSAGE_S MESSAGE SHARED Shared Task Display MessageTASKMESSAGE_U MESSAGE USER User Task Message

TASKNAME_S MESSAGE SHARED Shared Task NameTASKNAME_U MESSAGE USER User Task NameTASKSTART_S DIGITAL SHARED Shared Task Start Trigger (default = 0)TASKSTART_U DIGITAL USER User Task Start Trigger (default = 0)TASKSTATUS_S ANALOG SHARED Shared Task Status ValueTASKSTATUS_U ANALOG USER User Task Status ValueTIME MESSAGE SHARED Time (HH:MM:SS)TIME0 MESSAGE SHARED Time (HH:MM:SS)TOPWINDOW_U MESSAGE USER Current top window nameTRENDHISTMBX MAILBOX SHARED TREND receive mailbox for historian

communicationsTRENDHISTMBX_U MAILBOX USER TREND receive mailbox for historian

communicationTRENDMBX MAILBOX SHARED Trend input mailboxTRENDMBX_U MAILBOX USER Trend input mailboxVBLOGDISABLE_S DIGITAL SHARED PowerVB debug logging disableVBLOGDISABLE_U DIGITAL USER PowerVB debug logging disableYYMMDD MESSAGE SHARED Date (YYMMDD)hour1 DIGITAL SHARED One hour interval timer triggers1process_button_action DIGITAL USER Style 1 process button tag used for VB eventssec1 DIGITAL SHARED One second interval timer triggersec10 DIGITAL SHARED Ten second interval timer trigger

Tag Name Type Domain Description

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 54/148

5 | INTERNAL ARCHITECTURETag Arrays

48 / Monitor Pro Fundamentals Guide

TAG A RRAYS

A tag name can be assigned to a single tag or a group of tags (called an array). Thisassignment creates multiple tags with a single operation. All the tags receive the sametag definition.

One advantage of using arrays is that certain Monitor Pro tasks, such as Math andLogic and Database Browser, can perform operations on an entire tag array using onlyone reference to the array, rather than using separate references to each tag in thearray.

You specify an array by entering a value in the Array Dimensions field of the TagEditor. This value defines the number of tags to include in the array. Each array canhave up to 65,534 tags.

If a value is specified, multiple tags are created in the real-time database. Oncecreated, each tag can be referenced individually. The specified value determineswhether the array is single-dimensional or multi-dimensional.

Defining One-Dimensional Arrays

In the Array Dimensions field, specify a single number in the following format:

tagname[n]

where

tagname is the name defined in the Tag field of the Tag Editor.[n] is a unique number assigned to each tag in the array starting with 0. Each

number is surrounded with brackets [ ].

one-dimensionalarray

a list of tags indexed in sequence

multi-dimensionalarray

a matrix or table containing a fixed number of rows andcolumns, with more than one index.Each tag in a two-dimensional array has a pair of indices. The

first index indicates the row and the second indicates thecolumn of the array where the tag is located. Athree-dimensional array has three indices.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 55/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Tag Arrays

For example, if you specify 4 in the Array Dimensions field for a tag named Fuel , fourtags are created in the real-time database. The array numbering starts counting at 0.

Defining Multi-Dimensional Arrays

In the Array Dimensions field, specify multiple numbers separated by a comma in thefollowing format:

tagname[n1][n2]...

where

tagname is the name defined in the Tag field of the Tag Editor.

[n1] is a number representing the first dimension in the array, assigned to eachtag starting with 0. Each number is surrounded by brackets [ ].

[n2] is a number representing the second dimension in the array assigned to each

tag starting with 0. Each number is surrounded by brackets [ ].For example, if you specify 7,3 in the Array Dimensions field when you create a tag inthe Tag Dictionary named Super_93 , 21 tags are created in the real-time database. (Ifyou enter Super_93[6][2] in a Tag Name field in a configuration table, the same 21tags are created.) The array numbering starts counting at 0.

Super_93

Extra_89

Regular_93

Diesel

Fuel[0]

Fuel[1]

Fuel[3]

Fuel[2]

Single-Dimensional Array

Super_93[3][1]

Super_93[4][2]Super_93[6][0]

Multi-Dimensional Array

1.451.561.631.671.791.821.73

Region 1

1.801.771.741.691.641.701.76

Region 2

1.231.251.271.331.381.311.28

Region 3

Jan

Feb

Mar

Apr

May

June

July

Super_93[0][0]

Super_93[6][2]

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 56/148

5 | INTERNAL ARCHITECTUREBranching

50 / Monitor Pro Fundamentals Guide

B RANCHING

A branch is a group of tags in a hierarchical data structure. With branching, theVariable Browser does not access and display all tags in the Monitor Pro database.Instead, only the tags that belong to the branch are accessed and displayed. Thisfeature significantly improves system performance and lowers development time,because it is much easier to find tags that are organized in this fashion.

A simple example of a hierarchical data structure is shown in the following graphic.

The branches in this example are Area1, Pump1, Pump2, and Pump3. The actual tags

in this system are the Upstream Pressure, Downstream Pressure, and Speed. Torepresent this hierarchy in a database, the following naming convention is used, witheach of the following names representing a single tag:

Area1_Pump1_UpstreamPressureArea1_Pump1_DownstreamPressureArea1_Pump1_Speed

Area1_Pump2_UpstreamPressureArea1_Pump2_DownstreamPressureArea1_Pump2_Speed

Area1_Pump3_UpstreamPressureArea1_Pump3_DownstreamPressureArea1_Pump3_Speed

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 57/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Branching

To configure the first symbol in the example, you create the graphical representationof the object and then animate the graphical representation by referencing tagscontained in a single branch. The symbol may not reference tags from multiplebranches.

For subsequent instances of this symbol, you are only required to specify the name ofthe branch to identify which set of tags are used for the animation. The symbolautomatically provides the references to the tags beneath this branch.

For symbols with large amounts of animation, this is a large productivity gain. Withthis functionality, you can quickly create the mimic shown in the following graphic.All the work is put into the first symbol. You cut and paste this symbol multiple timesand then change the name of the branch to identify a different set of tags for thesymbol to reference.

The number of hierarchy levels that can be defined is limited only by the maximumlength of the Monitor Pro tag name (32 alphanumeric characters).

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 58/148

5 | INTERNAL ARCHITECTUREBranching

52 / Monitor Pro Fundamentals Guide

The mimic shown in Figure 5-1 can be built quickly using branching functionality.

Figure 5-1 Branched Mimic.

With scripting, you can change the name of the branch at run time. For example, thepump symbol and buttons can be combined and can be used to show the data forvarious pumps on one mimic. The difference is that the operator must press thePrevious and Next buttons to view the data from the other sets (branches) of pumptags. The name of the branch can be specified on a mimic open action so the samemimic can be opened from different buttons and the data displayed would be from thebranch specified in the mimic open action.

Combining the above functionality with application objects provides a powerfulconfiguration environment. Application objects provide the ability to define a set oftags as a class (class and branch are synonymous) and instantiate this set of tags manytimes.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 59/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Branching

To maintain the system, the user changes the class definition, and all instances areupdated automatically. The same is done for symbols. Any change made to the symbolautomatically takes effect the next time the user opens the mimic.

Designing Tag Names for Branching

Branching starts with a good tag naming convention. Tag names are driven by theserver configuration, but are actually used by Client Builder. You can create a symbolin Client Builder using several tags that represent a frequently repeating part of theprocess. Subsequent instances of the symbol can then be configured by changing onlythe name of the branch. You can open this same symbol using a specific branch; theattributes of that branch display without having to manually copy and modify separateinstances.

The best structure is for symbols and associated tag names to have the grouping firstand the function last. The function being last is the key to making reusable symbols.

Here are some useful examples of a branched tag structure:• Process example: Area_Device_Function_SubFunction (Line optional)• Discrete example: Line_Device_Function_SubFunction (Area optional)

The key to branching is the underscore character "_" which is the default branchseparator. Even when you use scaling, .eumin becomes _eumin in Client Builder.(Arrays are handled differently.)

Here are some examples of tag names that are ready for branching:

One of the most powerful functions of this feature is for applications that useapplication objects to generate their tags. The application objects can be configured togenerate tag names that reflect the object hierarchy, which can then be seen easilyfrom the Variable Browser.

You can group all the symbols on a mimic into a complex symbol that also supportsthis functionality.

PmpStation1_Pump_Speed PmpStation1_Pump_Speed_SP PmpStation1_Pump_Fault

Swiss5_Cutter3_Pressure Swiss5_Cutter3_CyclePerSec Swiss5_Cutter3_ErrorNo

Pressure[5][3] CyclePerSec[5][3] ErrorNo[5][3]

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 60/148

5 | INTERNAL ARCHITECTUREBranching

54 / Monitor Pro Fundamentals Guide

Branching Views in Client Builder

Client Builder understands branching. You can see this in the way that it displays tags

in the Variable Browser. Figure 5-2 shows a branched, hierarchical view. The left panshows branches, while the right pane shows any “leaves” on the selected branch.When you click a specific leaf, the full item string displays in the Selection field.Note, the underscores in the tag name designate branches in the tree.

Figure 5-2 Branched View One Level

In this view, notice that the tag selected is PmpStation1_Pump_Speed, as shown in theSelection field. As you open each branch, you see the next level. In Figure 5-3 , thebranch is expanded so that you can also see PmpStation1_Pump_Speed_SP.

Figure 5-3 Branched View Next Level

Branching makes finding tag names much faster because they are organized your way.You are presented with a structured view rather than a large flat list of all tags in thesystem.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 61/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Branching

The hierarchical feature can be turned off in the Client Builder Servers Editor, bysetting the Force Flat Browsing flag for the OPCCluster. (It is necessary to reconnectto the OPC Server for the change to take effect.)

Figure 5-4 shows the flat namespace view in the Variable Browser in Client Builder.

Figure 5-4 Flat View

As you can see, it would take much longer to scroll through the list to find a specifictag, especially in a large system.

Reusing Graphics with Branching

Another reason for branching tag names is the capability to reuse graphics at thesymbol and/or mimic level. First, consider the symbol level. The idea is to build apump object (most symbols are branched at the device level) that contains 3 or moreparts, for example:

When you design the pump object, you can assume that the system will include the"_" when it puts the tag together. Branching concatenates the branch with theanimation by adding the default branch specifier between them. To animate the speed,

just specify Speed in the animation. When you specify the branch, PmpStation1_Pump, the final tag name will be: PmpStation1_Pump_Speed for the animation. In this case, thedevice name is part of the branch, so you can reuse the same symbol for pumps,motors, or anything else that has these three functions.

_Speed _Speed_SP _Fault

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 62/148

5 | INTERNAL ARCHITECTUREBranching

56 / Monitor Pro Fundamentals Guide

Figure 5-5 Object with Multiple Animations

Figure 5-6 shows a simple text object with multiple animations. It displays the currentspeed. If you click on the object, you can enter a new set point. If a fault occurs, thebackground turns yellow.

After animation, combine the objects, create a symbol, and give it a name. When youpaste this symbol, the dialog shown in Figure 5-6 appears.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 63/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Branching

Figure 5-6 Using a Branched Symbol

The previous animations display. To attach the symbol to the branch, just select abranch in the Local list.

Figure 5-7 Branch Browser

The Branch Browser is shown in Figure 5-7 . Notice that there is no leaf pane in theBranch Browser. Just select the branch to complete the animation. After the branchsubstitution, re-open the symbol and you will see that the concatenation is finishedand the object is finished.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 64/148

5 | INTERNAL ARCHITECTUREBranching

58 / Monitor Pro Fundamentals Guide

You can now reuse this symbol everywhere in your application without animating thedetails each time. This provides a method to ensure a common look-and-feel for yourgraphics. Also remember that if you change the symbol, every reference to thatsymbol will change throughout your application. For example, if later you find outthat yellow for fault is a bad choice and you want to change it to red, everywhere thissymbol is used the issue is corrected automatically.

The Examples Application contains a good example of branching on a mimic. Look atthe Area2 > Link mimic. You will see 3 branch buttons. The branching is in the mimicopen animation. Figure 5-8 shows the branch name specified in the branch field.

Figure 5-8 Branching in Examples Application

In this case, all of the animations on the pop-up mimic have the Branch1 branchspecified. If you have animations that you do not want to use this branch, specify theentire Cluster:@TagName. The @ character tells Client Builder to not branch thisanimation.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 65/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Branching

Figure 5-9 Branched and Non-Branched Animation

Remember that each branched mimic is a unique copy, so when you close the mimic,you must specify the branch. If you want the system to use the current branch, you canuse the * character to use the current branch for this operation. You can also use the *to specify branches when passing the mimic branch to a symbol in a branched mimic.

Figure 5-10 Using Shortcuts in Branching

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 66/148

5 | INTERNAL ARCHITECTUREBranching

60 / Monitor Pro Fundamentals Guide

Branching Shortcuts

The table below contains some useful shortcuts for branching.

Tag Arrays Used with BranchingArray branching is different from branching with just tags. First, you need to specify aswitch on the OPCServer so that Client Builder is presented with the array tags inproper order, as shown in Figure 5-11 .

Figure 5-11 Setting Program Arguments for Array Branching

Using array tags in the OPC Client makes it easier for new Monitor Pro applications touse Monitor Pro array tags with OPC Servers that contain OPC array items. Thecommand line option controls how the OPC Server handles array tags for use withbranching.

/ArrayBranch=<options> or -ArrayBranch=<options>

<options> is a comma-separated list of one or more of the following:

Std: Allows browsing of array tags in standard Monitor Pro format.

Positive number: Presents array tags with array indexes after the Nth underscore countingfrom the front of the tag name.

Shortcut Description Where Used

* Name of the current window or branch(depending on the context)

link-open, link-close

#W Name of the current window link-open, link-close#WB the current window branch symbols#B1 to #B6 Elements of the current window symbols, label format#S1 to #S6 Elements of the object branch symbols, label format

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 67/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Branching

Negative number: Presents array tags with array indexes after the Nth underscore countingfrom the end of the tag name.

Zero: Presents array notations in front of the tag names with underscores inbetween.

You can present the OPC_Server task with two options to get both formats by using acomma between the options. Most applications would benefit from the followingcommand: /ArrayBranch=Std,0

Traditional Monitor Pro Tag Name: Area1_Pump2_Flow[4][3][2 ]

Monitor Pro auto-generates a second OPC name for each array tag by moving thearray index before the last branch in the tag name or to the front of a non-branched tag.Branch separators are inserted before and after each dimension. Since array braces areonly allowed at the end of valid tag names when they are being defined, there is norisk of this second auto-generated OPC item name conflicting with another tag.

The examples in the following table show how various array tag naming conventionsare presented in Client Builder’s OPC browser. In non-branched tag names likePumpSpeed[x] and ValveState[x], properties are grouped in the same leaf.

<Option> OPC Browsing Alias

Std Area1_Pump2_Flow[4][3][2]0 [4]_[3]_[2]_Area1_Pump2_Flow

1 Area1_[4]_[3]_[2]_Pump2_Flow2 Area1_Pump2_[4]_[3]_[2]_Flow3 Area1_Pump2_Flow_[4]_[3]_[2]4 or more Area1_Pump2_Flow_[4]_[3]_[2]

-1 Area1_Pump2_[4]_[3]_[2]_Flow-2 Area1_[4]_[3]_[2]_Pump2_Flow-3 [4]_[3]_[2]_Area1_Pump2_Flow-4 or more [4]_[3]_[2]_Area1_Pump2_Flow

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 68/148

5 | INTERNAL ARCHITECTUREBranching

62 / Monitor Pro Fundamentals Guide

Switch Current Name Second Name View in OPC Browser

/ArrayBranch=Std,1(default)

Pump_Speed[x] Pump_[x]_Speed SpeedPressuPump_Pressure[x] Pump_[x]_Pressure

Valve_FlowRate[x] Valve_[x]_FlowRate

Valve_State[x] Valve_[x]_State

/ArrayBranch=Std,0 PumpSpeed[x] [x]_PumpSpeed

PumpPressure[x] [x]_PumpPressure

ValveFlowRate[x] [x]_ValveFlowRate

ValveState[x] [x]_ValveState /ArrayBranch=Std,1 Pump_Speed[x][y] Pump_[x]_[y]_Speed

Pump_Pressure[x][y] Pump_[x]_[y]_Pressure

Valve_FlowRate[x] Valve_[x]_FlowRate

Valve_State[x] Valve_[x]_State

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 69/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Redundant Licensing

R EDUNDANT L ICENSING

Redundant Licensing provides an automatic means for clients to fail over to backuplicense servers if the primary license server fails. This feature also provides thesynchronization of Client Access Licenses (CALs) between a pair of redundantlicense servers. Users can purchase various systems and consolidate their licenses toobtain a more effective client-server use of their systems.

Redundant licensing is not related to the VRN task. Both are independent of eachother and configured separately. The redundant license server is intended to be usedonly with another license server installed from the same Monitor Pro version.Likewise, clients using the license server must have the same Monitor Pro version asthe server.

Redundant licensing can be configured for client operation and license serveroperation. The License Utility defines the client license server(s) and designates thelicense server to use redundancy. This utility initially appears the first time the client isstarted after Monitor Pro is installed. Thereafter, a user can start the utility any timefrom the Start menu.

Client Operation

For a Monitor Pro client to run, it must either obtain a license from a Monitor Prolicense server or consume a valid stored license. You can define multiple licenseservers. Having multiple license servers ensures against the possibility that a licenseserver may:• Not be operational (not installed or started)• Deny a client a license• Lose communications with a client after granting a license

Users can configure all Monitor Pro clients on a common PC to automatically obtain alicense from a list of Monitor Pro license servers. Under this configuration, if a licenseis not granted because no CALs are available or a communications problem exists, thenext server in the list is used. This process repeats itself until a license is obtained. Ifall license servers are in use and no license was granted, the client resorts to using astored license. If the stored license is unavailable or expired, the client will not run.

Whenever a client starts, it always attempts to obtain a license from the top of thelicense server list. The license servers in the list must not be redundant partners. If theservers have a redundant partner, the list will reflect the appropriate pairings inconsecutive order.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 70/148

5 | INTERNAL ARCHITECTURERedundant Licensing

64 / Monitor Pro Fundamentals Guide

Once a license is obtained, it is stored in the client’s local registry. The clientperiodically sends a heartbeat message to the license server. If the heartbeat fails dueto the loss of contact with the license server, the client will attempt to get a licensefrom the next license server in the list. See the Utilities Guide for instructions toconfigure redundant licensing for client operation.

License Server Operation

The Monitor Pro license server operates in two possible modes:

See the Utilities Guide for instructions to configure redundant licensing for licenseserver operation.

Non-RedundantMode

A license server grants licenses based solely on the number ofCALs authorized for that Monitor Pro server. No modifications tothe original authorized CAL counts (run time or design time) areperformed. A license server operates as it always has prior to anyredundancy modifications.A non-redundant license server ignores any messages from anotherlicense server that attempts to send any synchronization messages.For example, one license server configured for redundancy refers toa partner that is not configured for redundancy.

RedundantMode

A license server can compute CALs and grant CALs based onredundancy guidelines. The license server can also performcheck-out and check-in operations and inform its partner of achange in its license inventory.Each partner in a redundant pair will compute a new maximumamount of CALs for both run time and design time. Thecomputation is made when both license servers start up and beginto communicate with one another for the first time and whensynchronized messages are exchanged. The CALs on each serverare synchronized after each operation. After a successfulsynchronization is performed, a license server stores its partner’sCAL information in the local registry.The redundant operation is configured using the License Utility.Redundant licensing is limited to a pair (two servers) of licenseservers. Each of the servers must designate each other as a partner.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 71/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Redundant Licensing

Licensing Scenarios

Single System without Redundant Licensing

This scenario explains a single system operating in non-redundant mode. A singlesystem is the simplest system available. On a single PC, a user initiates a Monitor ProSystem install. One or more Monitor Pro clients can be attached to the server PC.Clients (local or remote) configure their licensing source to be the same PC as theMonitor Pro server. No redundant licensing is involved because only one licenseserver exists.

Multiple Application Servers without Redundant Licensing

This scenario explains multiple application servers operating in non-redundant mode.Two or more Monitor Pro application servers are on the network. The applications arestand-alone and not redundant (not using VRN). The license servers are also notredundant. Each server system was purchased individually and CALs were purchasedas needed.

The users began to create larger applications, where multiple users (remote clients)may need to access the data. Additional CALs may be purchased per server as theneed arises to allow the clients access.

FactoryLink Server with License Server

Local ClientBuilder

Remote ClientBuilder

Monitor Pro Server with License Server

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 72/148

5 | INTERNAL ARCHITECTURERedundant Licensing

66 / Monitor Pro Fundamentals Guide

In this scenario, redundant licensing is not applied but a subfeature of it applies. Thatsubfeature permits the client to maintain an ordered list of license servers. A clientwill contact each license server in the list until it can obtain a CAL. If no server in thelist can grant a CAL, the client will start using its stored license (provided one existsor is not expired).

Redundant System

Two redundant application servers and redundant license servers are on the network.A total of 10 CALs were purchased. The user has split the licenses on the two servers(for example, five CALs on each or a combination). Up to 10 (and no more) separateclients may attach themselves to one or both of the servers. Because the licenseservers are running in redundant mode, they share knowledge of the CALs each cansupport and each server will make sure that a maximum combined total of 10 CALswill be consumed.

FactoryLink Server1FactoryLink Server2

Client

Server1

Server2

ServerList

PrimaryLicenseServer

AlternateLicense Serverif Server1 fails

Monitor Pro Server1Monitor Pro Server2

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 73/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Redundant Licensing

If one of the Monitor Pro license servers fails, its redundant partner will still support amaximum total of 10 client connections.

Complex Servers

This scenario is a combination of the Multiple Application Servers without RedundantLicensing scenario and the Redundant System scenario. A plant has redundant pairsand stand-alone servers. Some clients are configured to connect to just a redundantpair. Other clients simply use a straight list of servers. The client automatically selectsalternate servers from a list if a license cannot be obtained from a previous server inthe same list.

FactoryLink Server1

FactoryLink Server2

CAL synchronization

Monitor Pro Server1

Monitor Pro Server2

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 74/148

5 | INTERNAL ARCHITECTURERedundant Licensing

68 / Monitor Pro Fundamentals Guide

Operating Guidelines

License ServerRunning inRedundant Mode

The maximum number of client licenses that can be granted isno more than the amount purchased for that specific server.For example, if a system was purchased with 3 CALs, nomore than 3 distinct clients (each from a separate PC or 3rdparty clients) can be running. Multiple clients from the samePC are counted as 1 consumed CAL .

RedundantLicense ServerConfigured forthe WrongPartner

A redundant license server may define a partner, but thepartner cannot refer to it in return. In this case, one licenseserver will attempt to send synchronization messages to itssupposed partner, but the supposed partner will ignore thesynchronization messages .

RedundantLicense ServerLoses its Partner

If a redundant license server loses the connection to its partner, theserver will continue to grant up to the combined CALs that the twoservers established during the last synchronization.For example, if the combined CALs equal 3, the surviving partnerwill grant no more than 3 CALs for the duration of its operationallifetime. This includes the fact that the surviving partner mayrestart repeatedly.After 10 days of server operation any attached clients will getan informational pop-up message indicating the situation. Theuser only needs to acknowledge the message. The user's clientapplication is not hindered in any way. The pop-up messagewill appear when a client first connects, and while connected,at 12 noon every day thereafter .

RedundantLicense ServerStarts With NoPartner

If a redundant license server starts and its partner is not operational,the license server will use the combined CALs that are stored in thelocal registry.After 10 days of server operation any attached clients will getan informational pop-up message indicating the situation. Theuser only needs to acknowledge the message. The user's clientapplication is not hindered in any way. The pop-up message

will appear when a client first connects, and while connected,at 12 noon every day thereafter .

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 75/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Redundant Licensing

RedundantLicense ServerPair Loses ThenRegainsCommunications

A situation may arise where both license servers, although stillconfigured as redundant, maintain licenses to clients but cannotcommunicate between themselves. In this case, each license serveris authorized to grant the total number of CALs.When the redundant pair finally communicates, each serverpossibly can be granted the maximum number of CALs possible.The total number of CALs granted could essentially be doubled.For example, S1 and S2 represent two redundant servers. S1 isauthorized with 3 run-time CALs and S2 is authorized with 2run-time CALs. Collectively, S1 and S2 may not grant more than 5CALs in total between the two while they are connected to oneanother. When the two license servers lose contact with oneanother, each server may possibly grant up to 5 CALs. This

situation results in a combined total of 10 CALs, which exceeds themaximum number of authorized CALs (5). The plan of action inthis case is to do nothing and let both servers run independent ofone another with each granting a maximum of up to 5 CALs each.When the two license servers regain communications, they willsynchronize their licenses and discover that the combined total ofgranted CALs equals 10 (5 each from S1 and S2). Nothing willhappen to the connected clients.Once a connected client releases its license (terminates), no newclients may come in to consume the license that was just returned,nor can any new client licenses be granted as long as the CALsconsumed is greater than 5.If clients are still connected after 10 days and the total CALsconsumed between the two servers is still more than 5, eachconnected client will get a pop-up message at 12 o'clock noon eachday when a heartbeat message is sent to the server. The pop-upmessage indicates the server administering the license has exceededits authorized CALs. The user can simply dismiss the message andnot be adversely affected by the condition.The 10-day count down starts when the servers first determine thatthe combined CALs that are consumed exceed 5. When the

combined CALs consumed equals 5 or less, the pop-up messageswill cease.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 76/148

5 | INTERNAL ARCHITECTUREData Logging

70 / Monitor Pro Fundamentals Guide

DATA LOGGING

As data is collected or computed by Monitor Pro, it is stored as a tag with a unique tagname in the real-time database. Each time data for a tag is collected or computed, thenew value is updated in the real-time database, overwriting the old data. This data canbe retained by logging it to a historical database so that it can be reviewed, compared,or analyzed.

The major aspects of the data logging function are described as follows:

Schema Relational databases are configured in a table format consisting of rowsand columns. The structure of a table (the number, size, and content ofthe rows and columns) is defined by its schema. When configuring adatabase you must specify which tags are to collect values and where to

place the values: which database, table, row, and column.Historian Serves as an interface between the Monitor Pro real-time database and

the external relational database to which information is sent or retrieved.Logger Monitor Pro has two logging tasks that can read data from the real-time

database and send it to the relational database using a historian.Data PointLogging

• Simplifies the task of logging data by providingpreconfigured tables. Multiple sharednumeric-value tags can be stored in the samedatabase and sorted later if necessary.

• Allows the addition or removal of tags from thelist of tags being logged during run time.

• Builds a database that will capture date/time, tagname, and tag value for the specified tag.

• Best suited for situations in which the tags that areto be logged do not need to be grouped together.

DatabaseLogging

• Allows you to create a table and specify whichtags to capture in that table. When the value of anytag changes, the values of all tags in the table arelogged.

• Provides the ability to group tags in a databasetable.

• Event-based data can be logged using a sequencekey rather than a time key.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 77/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Data Logging

Prior to configuring the logging function, use these guidelines to determine whichlogging task to use for a particular situation.

For example, if you had a tank in which you were monitoring the process temperatureand had a single probe in the tank, you would probably use Data Point Logging totrack the tag value. If you had six probes in the same tank, and you wanted to see the

value returned form each probe at a given point in time, you would probably use theDatabase Logging task.

Use Data Point Loggingwhen you want to

Use Database Loggingwhen you want to

• Log a tag only when its valuechanges

• Use preconfigured tables andeliminate the time spent setting uptables

• Be able to index on log time or tagname or both

• Sort all logs of a tag in order ofoccurrence

• Configure a tag to be a dynamic penon a trend chart

• Dynamically change the list of tagsbeing logged during run time

• Log all tags when any tag changesor is triggered

• Simultaneously log a group of like(logically associated) tags

• Group data logged based on somecriteria

• Configure a table column to be a

dynamic pen on a trend chart

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 78/148

5 | INTERNAL ARCHITECTUREDatabase Browsing

72 / Monitor Pro Fundamentals Guide

DATABASE B ROWSING

Monitor Pro provides several ways to browse relational databases at run time:• Database Browser Control in Client Builder• PowerSQL task running on the Monitor Pro server• Database Browser Task running on the Monitor Pro server

Database Browser Control

The Database Browser control in Client Builder allows you to create a browsewindow in a mimic that you can use to view and modify database records from anyODBC-compatible relational database or SQL Server. It is easy to configure and issuitable for most simple browsing needs.

With the Database Browser control, you can:• View relational database information logged by Monitor Pro and/or other programs• Refresh the browser to show updated values• Modify and save data values from database records (if allowed)• Search the database using modified SQL commands (requires additional

customizing)

For detailed information and procedures to use the Database Browser Control, see theClient Builder Help .

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 79/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Database Browsing

PowerSQL

The Monitor Pro PowerSQL (Structured Query Language) task works in conjunction

with the historian tasks to allow an application to access data in an external relationaldatabase through a result window. In addition, PowerSQL processes SQL statementsthat are entered in a Monitor Pro message tag. PowerSQL is the most powerful of thethree methods of browsing data. Some of the features of PowerSQL are:• Works with a variety of historians, such as SQL Server, Oracle, or Sybase• Allows data in an external relational database to be manipulated from within

Monitor Pro• Allows execution of SQL statements generated in Math & Logic• Allows an application to send and retrieve data to and from external database tables,

including those created outside Monitor Pro• Supports the execution of database-stored procedures for database servers with this

functionality• Allows you to define tags referenced by PowerSQL in arrays as well as individually

For detailed information and procedures to use PowerSQL, see the Task Configuration Reference Guide .

Database Browser Task

The Database Browser task works in conjunction with the historian tasks to allow a

server application to access data in a relational database through a browse window.This method of browsing is more flexible and powerful than using the DatabaseBrowser control, but requires more configuration effort.

Note: If you need more flexibility than the Database Browser control offersand you are starting a new application, it is better to use PowerSQL than theDatabase Browser task. PowerSQL has all the functionality of the DatabaseBrowser task and offers even more power and flexibility with the sameconfiguration effort.

Database Browser offers the following features:• Allows relational data in a relational database to be manipulated from within

Monitor Pro• Allows an application to send and retrieve data to and from all external database

tables, including those created outside of Monitor Pro

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 80/148

5 | INTERNAL ARCHITECTUREDatabase Browsing

74 / Monitor Pro Fundamentals Guide

• Allows you to define tags referenced by Browser in arrays as well as individually

For detailed information and procedures to configure and use the Database Browser

task, see the Task Configuration Reference Guide .

Browser Differences

The following three cases demonstrate the differences between using the DatabaseBrowser control and the Database Browser task.

Case 1: View and Scroll Through Data Only

The user looks only at data on the screen and scrolls through a data set. The data doesnot need to be returned in Monitor Pro tags for additional processing.

Method At Design Time At Run TimeDatabaseBrowserControl

Add a Database Browser control toa mimic and define the propertiesfor the control.The typical time required is a fewminutes.

You cannot do a precise selectionof a row by Absolute or RelativeMove; however, you can scroll upor down in the table. The data fromthe relational database is not passethrough Monitor Pro tags.

DatabaseBrowserTask

Use Configuration Explorer tocreate Database Browser control

and Database Browser informationtables. Associate tags to specificcolumns in the database. ConfigureMove and Position Triggers toscroll a specific row using arelative or absolute move. Create amimic to display the tags and linkthe animated objects to theassociated tags.The typical time required is severalhours.

You can do a precise selection of arow by Absolute or Relative Move

The data from the relationaldatabase is passed through MonitoPro tags.

PowerSQL Same as Database Browser task Same as Database Browser task

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 81/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Database Browsing

Case 2: Selection Criteria Are Entered

The user enters some parameters. A Select is processed and data is returned to the user in a

format suitable for further processing by Monitor Pro tasks. The example in Figure 5-1 and thecorresponding sample code helps to explain this process. This example shows selecting analarm by Alarm ID or getting a row in the Alarm Log. The Select and the Get Row buttonshave codes associated with them.

Method At Design Time At Run Time

DatabaseBrowserControl

Add a Database Browser control toa mimic and define the propertiesfor the control. Create and labeldata entry fields using the Date andUnitName boxes to enterparameters. Create an OK button.Associate the button to a script totell the Browser Control where toget the data.The typical time required is a fewminutes.

You can do select data based on theentered criteria. The data from therelational database is not passedthrough Monitor Pro tags.

DatabaseBrowserTask

Use Configuration Explorer tocreate Database Browser controland Database Browser informationtables. Associate tags to specific

columns in the database. Create amimic to display the tags andassociate the data entry fields tocolumns being used for Select.Associate a Select Trigger to ananimation object.The typical time required is severalhours.

You can select data based on theentered criteria. The data from therelational database is passedthrough Monitor Pro tags.

PowerSQL Same as Database Browser task Same as Database Browser task

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 82/148

5 | INTERNAL ARCHITECTUREDatabase Browsing

76 / Monitor Pro Fundamentals Guide

Figure 5-12 Example Mimic for Case 2

Sample VBA Script in Client Builder for Case 2:

Private Sub AIDQuery_Click() Dim SQLQuery As String SQLQuery = "SELECT * FROM ALARMS WHERE aid = "

DbBrowserCtl1.RecordSource = SQLQuery + CStr([aid%]) DbBrowserCtl1.RefreshEnd SubPrivate Sub GetRow_Click() AlarmName.Text = Trim(DbBrowserCtl1.GetCellText(DbBrowserCtl1. ActiveRow, 2)) Message.Text = Trim(DbBrowserCtl1.GetCellText(DbBrowserCtl1. ActiveRow, 10)) itime.Text = Trim(DbBrowserCtl1.GetCellText(DbBrowserCtl1. ActiveRow, 6))End Sub

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 83/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Database Browsing

Case 3: Selection Criteria By Group

The user enters the name of the field upon which to base the select query. The example in

Figure 5-13 browses the alarm history and shows information from a specific group of alarms.

Method At Design Time At Run Time

DatabaseBrowserControl

Add a Database Browser control to amimic and define the properties forthe control. Create and label dataentry fields using the Date andUnitName boxes to enterparameters. Create an OK button.Associate the button to a script totell the Browser Control where toget the data. Associate the text fieldsto PLC write tags. Move the selectedrow into a set of editable text fields.Typical time required is a fewminutes.

You can do a precise selection ofdata based on the entered criteria.The data from the relationaldatabase is passed throughMonitor Pro tags.

DatabaseBrowserTask

Use Configuration Explorer tocreate Database Browser control andDatabase Browser informationtables. Associate tags to specificcolumns in the database. Define

another set of data input tags to getthe selected row. Create a mimic todisplay the tags and associate thedata entry fields to columns beingused for Select. Associate a SelectTrigger to an animation object.Implement some logic to move thetags to a set of PLC write tags, andforce a write to the PLC. (Wherepossible, you can use the sameDatabase Browser tags as PLC write

tags.)The typical time required is severalhours.

You can select a row by theselection criteria and move thedata from the relational databaseinto a set of text fields, into theMonitor Pro real-time database,

and then write the tags to a PLC.

PowerSQL Same as Database Browser task Same as Database Browser task

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 84/148

5 | INTERNAL ARCHITECTUREDatabase Browsing

78 / Monitor Pro Fundamentals Guide

Figure 5-13 Example Screen for Case 3

Sample VBA Script in Client Builder for Case 3:

Private Sub SelectAll_Click() DbBrowserCtl1.RecordSource = SelectAll.Text DbBrowserCtl1.RefreshEnd SubPrivate Sub GrpNameQuery_Click()Dim SQLQuery As String SQLQuery = "SELECT aid, name, grp, msg, itime FROM ALARMS WHERE grp = " DbBrowserCtl1.RecordSource = SQLQuery + "'" +

[groupname%] + "'" DbBrowserCtl1.RefreshEnd Sub

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 85/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Environment Variables

E NVIRONMENT VARIABLES

Monitor Pro uniquely identifies an application by a combination of its applicationname, domain name, and user name. These names are defined as environmentvariables. You typically set these environment variables in a system configuration fileso they are automatically supplied when you start the application.

If you use the Application Setup Wizard with one of the FLNEW templates, theseenvironment variables will be set up for you automatically. When using environmentvariables in path names, you can enter the name of the environment variablesurrounded by braces { } and Monitor Pro extends the pathname using the defaultsetting. The environment variables you can set are listed in the following table.

Variable Description

FLINK = flink_dir Where flink_dir defines the full path of the directorycontaining the Monitor Pro program files.

FLAPP = flapp_dir Where flapp_dir defines the full path, including the drivename, of the directory containing your application files.

FLDOMAIN = domain Where domain defines the domain you are starting. Thiscan either be Shared or User.On single-user platforms, domain is User, which startsboth domains. On multiuser platforms, domain is thedomain you want started in the window. You must specifytwo windows, one for each domain.

FLNAME = app_name Where app_name defines the name of the application tostart, which points to the real-time database.

FLUSER = user_name Where user_name defines the logical user name.

FLOPT = opt_dir Where opt_dir defines the full path, including the drivename, of the directory containing the Monitor Pro’slicense information.

SELECT_TIME= xx Where xx is the number of seconds. Used with WebClientand FLLAN to set the time-out duration for thetransmission of a data packet.

RedundServer= name If using VRN, name specifies the redundant node name(remote node).

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 86/148

5 | INTERNAL ARCHITECTURERun-Time Manager

80 / Monitor Pro Fundamentals Guide

R UN-TIME MANAGER

The Run-Time Manager orchestrates the run-time environment. It is a Monitor Protask that runs concurrently with other tasks to start, monitor, control, and shut downthe concurrent execution of all Monitor Pro tasks.

The Run-Time Manager reads the System Configuration table to determine the startupcriteria for each task. The Run-Time Manager communicates with each task bysending commands to and reading status information from the real-time database.Each task must monitor the command objects so the task shuts down when instructedto by the Run-Time Manager.

The Run-Time Manager interacts with the other tasks within a specific domainthrough the Monitor Pro application program interface (API) and the real-time

database.

SYS.CT

Monitor ProApplication

Tasks

Run-Time

Monitor ProReal-timeDatabases

Read

Read

Write

Write

Run-Time Manager Data Flow Diagram

Manager

*.CT

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 87/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Multiuser Architecture

MULTIUSER A RCHITECTURE

Monitor Pro supports the concept of shared and private data areas by the separation ofdata access into domains. There are two run-time environments in Monitor Pro calledthe Shared domain and the User domain.

Note: If you are building a new application using Client Builder graphics, youshould configure all of your application in the Shared domain.

During configuration, you associate tasks, tables, and tags with a specific domain soyou can configure a Monitor Pro application to suit your needs. Monitor Pro’smultiuser architecture has the following benefits:• You can give a group of users independent access to the same Monitor Pro run-time

tasks such as Graphics, Math and Logic, and Statistical Process Control. This lets

users access the same data at the same time with different tasks.• You can create an application that lets multiple users of a single run-time system

use the tasks independently without the users sharing data; that is, users cansimultaneously run the same tasks, but each user’s data is unique. For example, oneuser can employ the Statistical Process Control task to evaluate the consistency ofan assembly sequence while another uses it to report anomalies in a packagingprocess elsewhere in the factory.

• You can set up multiple Monitor Pro applications to run on one operating system.For example, applications for development, testing, and production can all run onone machine.

Shared and User Domains

In a multiuser application, users execute in their own User domain. Each User domainhas its own copy of user data but shares data from the Shared domain.

The Shared domain is the shared portion of the real-time database and the collectionof shared processes that have access to that data. The User domain is an instance of theuser real-time database and the set of all the user processes having access to thatreal-time database. Multiple User domains each have their own set of user processes.Each can access both the Shared real-time database and the User instance of the

real-time database.When Monitor Pro runs, the entire real-time database is created, including the Sharedportion and all real-time database User instances. Next, the Shared Run-TimeManager initializes the Shared Run-Time Database and starts the Shared processes. As

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 88/148

5 | INTERNAL ARCHITECTUREMultiuser Architecture

82 / Monitor Pro Fundamentals Guide

User instances start, each User Run-Time Manager initializes its instance of the Userreal-time database and starts an instance of all User processes.

Monitor Pro tasks use real-time database tags to control tasks. User database tags areduplicated for each Monitor Pro user. The subset of the real-time database duplicatedon a per-user basis is known as the User domain.

The multi-user architecture allows duplicate User domains by allocating an array ofpointers to database segments for each user. This allows the tag numbers (indices intothe pointer array) themselves to remain the same for each user while referencing aprivate data area for each user.

Some Monitor Pro tasks monitor and control processes, such as a PLC driver task, thatrequire the process data values be the same for all users. The subset of the real-timedatabase shared by all users is known as the Shared domain.

Domain Characteristics

A Shared domain has the following characteristics:• Accessibility—All operators within a User domain can access data existing in a

Shared domain.• Frequent use—Frequently used items need only be defined once in the shared area.

This characteristic eliminates duplication of effort and reduces configuration time.• Automatic data changes—Data changes are passed immediately to all users who are

accessing the modified data in a User domain.

• Global data processing—Processing activities, such as computations, dataaccessing, and data logging are performed once and then are available to all usersaccessing the shared area.

A User domain has the following characteristics:• Private copies of data—You can configure a single application and then specify the

number of instances (copies) of that domain to be executed at run time. The numberof instances allowed is the number of users that can simultaneously interact with therun-time system.

• Task Independence—Each user has access to the same Monitor Pro run-time tasks

such as Graphics, Math and Logic, and Statistical Process Control, but is able to runthese tasks independently from the tasks other users are running. Users can sharedata to perform different real-time tasks within the same application.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 89/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Multiuser Architecture

In the following example, you have created an application that allows multipleoperators to run separate user instances of the same application in which each operatorhas his own User domain tasks and real-time database.

Domain Structure

Domains exist in a parent/child hierarchy. The following illustration shows that theShared domain is like a parent upon which a child domain (User) is based.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 90/148

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 91/148

Monitor Pro Fundamentals Guide /

INTERNAL ARCHITECTURE | 5Multiuser Architecture

The defaults that provide the best performance for most applications are listed in thefollowing table.

During application planning, review these domain defaults to verify compatibilitywith a specific application’s needs. When an application has special requirements, youcan run the task in a different domain, except for the EDI task which must be run inthe Shared domain.

If the domain chosen during configuration does not match the default set for the

domain at run time, the application will not run as intended. You must configuretrending in the User domain if it is going to run in the User domain.

Domain Type Run-Time Tasks

Shared • Timer• Report Generator• Batch Recipe• File Manager Server• External Device Interface (EDI)• LAN• Historian• Logger

• SPC LoggerUser • Graphics

• File Manager• Trending• Browser• SPC View• SPR

Both domains • Run Manager• Math and Logic• Counter• Persistence• RTMON• DALOG

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 92/148

5 | INTERNAL ARCHITECTUREMonitor Pro Kernel

86 / Monitor Pro Fundamentals Guide

MONITOR P RO KERNEL

The Monitor Pro Kernel is a program that creates the real-time database in memory sotasks can communicate with each other. When you start the Monitor Pro Run-Timesystem, the Run-Time Manager creates the shared memory using the Kernel Services.Other tasks also use the Kernel Services to access the shared memory as they start.

Kernel Multi-User Capabilities

The Monitor Pro Kernel allows multiple independent users of a Monitor Proapplication and provides private, per-user memory areas for real-time data (aninstance of the User domain). It allows up to 31 tasks for each user instances and alsoallows multiple applications to run simultaneously.

Application Instances and Identification

When a Monitor Pro application is started, the Run-Time Manager must be suppliedwith the invocation name, domain name, and user name on the command line orthrough environment variables. All subprocesses created by the Run-Time Managerinherit these environment variables. Because multiple copies of a Monitor Pro taskmay be running concurrently, a task must identify itself to the Kernel by specifying theapplication, domain, and user instance as well as the task name.

Each application instance is specified by its invocation name, which is a characterstring of up to 16 characters. The invocation identifies an instance of the real-timedatabase and is used to locate the memory segment the kernel is stored in. TheRun-Time Manager refers to the invocation name stored in the environment variable{FLNAME} and stores it in the tags FLNAME_U or FLNAME_S, depending uponthe domain.

The domain is specified by a character string of up to 16 characters and is used todetermine which portion of the real-time database the task has access to: either thetags in the Shared domain or tags in one of the duplicate User domains. The Run-TimeManager refers to the domain in the environment variable {FLDOMAIN} and stores itin the tag FLDOMAIN_U or FLDOMAIN_S.

The user instance is a character string of up to 16 characters and is used to determinewhich instance of the duplicate User portions of the real-time database the task hasaccess to. The Run-Time Manager refers to the environment variable FLUSER andstores it in the tag FLUSER_U or FLUSER_S. The FLUSER environment variablemust be unique for each user of the application.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 93/148

• • • •

Monitor Pro Fundamentals Guide /

Chapter 6

Planning Your Application

A well-planned application can make the task of building and maintaining yourMonitor Pro application much simpler. This chapter provides some of the basic thingsyou need to consider when planning your application.

P LANNING YOUR A PPLICATION P ROCESS

1 Analyze your processes and determine the requirements for your Monitor Proapplication based on the following areas:

• Architecture and topology• Redundancy• OPC or other proprietary drivers• Security and levels of users• Custom tasks• Tags and tag types• Tag naming conventions• Scripted procedures• Message types• Historical data requirements• Organization and navigation of mimics• Symbols needed for mimics• Application objects• Branching• VBA scripting• Alarming• Trending

2 Create a complete Monitor Pro application (both server application and client project)using the Application Setup Wizard, as discussed on page 115 .

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 94/148

6 | PLANNING YOUR APPLICATIONPlanning Your Application Process

88 / Monitor Pro Fundamentals Guide

3 Configure the server application component using Configuration Explorer.• Create and define necessary tags.

• Create and define necessary application objects classes. Instantiate the number ofapplication objects that you will need for your application.• Write Math and Logic procedures if needed.• Test to see that the tags are updated in the real-time database from external devices.• Configure tables to define the connections to external devices (such as OPC or

proprietary device protocols).

4 Configure the client project graphical user interface using Client Builder.• Make sure that the client is connected to the correct server.• Define roles and languages as required for multilingual applications. It is important

to assign the appropriate presentation, project, and role languages for each class ofuser.

• Create any symbols needed for the mimics.• Define mimic functionality and navigation.• Create mimics by drawing desired graphical representation of process.• Insert images and symbols into the mimic and create animations if needed.• Link symbols and animations to server tags or application objects on the server

side.• Test the application frequently as you build the mimics to quickly identify

problems.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 95/148

Monitor Pro Fundamentals Guide /

PLANNING YOUR APPLICATION | 6Minimum Hardware and Software Requirements

MINIMUM HARDWARE AND S OFTWARE R EQUIREMENTS

Minimum hardware and software requirements should be taken into considerationwhen planning your application. While the software will run on the minimumrequirements, they may not be adequate for satisfactory performance for somesystems, especially larger, complex systems with multiple clients.

It is impossible to define the exact requirements for each system due to the flexibilityand scalability of Monitor Pro and other layered software involved; however, theminimum hardware and software guidelines contained in the Installation Guide should help you select the best estimate of your system requirements. If your exactrequirements are somewhat more or less than what is stated in the guidelines, contactyour authorized Schneider Electric reseller or representative for additional hardwareand software recommendations.

G UIDELINES FOR S YSTEM D ESIGN AND MAINTENANCE

Although individual system resources vary, here are some general guidelines fordesigning and maintaining your Monitor Pro system:• Use branching and application objects wherever possible to reduce development

time.• Do not use VBA to do things that you can do with the standard functions and

animation in Client Builder. This saves time on maintenance, and Client Builderruns faster.

• Be conservative with the amount of VBA you use in the MimicOpen() event. Toomuch VBA slows down mimic loading.

• The more drawing files that you add to your mimics, the slower your screens willrender and read values.

• When you need drawing files in your mimics, even though bitmaps consume morememory, they draw much faster than metafiles. You can create bitmaps from themetafiles shipped with Monitor Pro.

• Do not put more than 500 animated fields on a single mimic unless you are willingto wait for the registration time required.

• Use event processing with trigger and complete trigger tags. Do not control eachtask with Math and Logic. (However, you may want Math and Logic to control thesequence of events.)

• Use gradient colors carefully, using the following considerations:

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 96/148

6 | PLANNING YOUR APPLICATIONTag Naming Recommendations

90 / Monitor Pro Fundamentals Guide

• The speed at which colors are rendered depends on the choice of graphic adapterand color configuration.

• Make the step parameter as large as possible. The drawing performance dependsdirectly on the size of the step. (A step of 4 will render twice as fast as a step of2.)

• The angles 0, 90, 180, and 270 are the most efficient when using a lineargradient.

• The radial gradient is more time consuming than linear, particularly if the X andY coordinates are not close to the object’s center (50 percent, 50 percent).

• The number of colors has no impact on the drawing performance.• Make backups often.• Test often while configuring. Make a few changes, test, and save. It is easier to find

problems if you use this approach.

TAG N AMING R ECOMMENDATIONS

One of the most important parts of planning an application is to define a tag namingconvention before you start developing. Perhaps your plant already has a well-definedstandard, but if not, following some general recommendations for tag names will helpyou save time and has the following advantages:• Configuration requires minimum work since an object or a group of objects

including all its properties can be specified by a single entry.

• Objects can be automatically generated. This applies especially to applicationobjects that create object properties and their configuration table entries. You canthen instantiate as many application objects as you wish for one or more objectsusing a single entry.

When you are naming your tags, follow the general tag naming recommendations andguidelines discussed on page 41 .

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 97/148

Monitor Pro Fundamentals Guide /

PLANNING YOUR APPLICATION | 6Message Types

MESSAGE TYPES

As part of developing your application, you should consider the types of messages thatwill be presented to users. For example, you may want to distinguish between twotypes of alarm messages:• Those that need immediate attention, such as failure and warning alarms• Those that can be taken care of later, such as diagnostics and status information

messages

APPLICATION O BJECTS AND S YMBOLS

An important part of building an application that is easy to expand and maintain is todefine application objects in Configuration Explorer (server side) and symbols inClient Builder (client side) to represent various classes of objects to be controlled.

An example is configuring a standard pumping station. In Configuration Explorer, youwould configure objects that represent a pumping station with all the componentsrequired to operate the pump. In Client Builder, you would configure the graphicalsymbols for a user interface that represents the pumping station.

If the server configuration is saved as an application object, then, each time you need anew pumping station, you could use the application object to create another instance.

Using application objects improves the quality of a Monitor Pro application byencouraging structured development, reducing errors, and improving maintainability.

S TANDARD INTERFACE

One standard that often is not considered when designing an application is the conceptof having a standard interface for operators. By taking the time to define a standardinterface you can improve system performance, minimize operator errors, and lowertraining and maintenance costs.

The Examples Application provided with Monitor Pro serves as a demonstration andpractice application to help users learn about Monitor Pro’s capabilities and features.

This application contains a suggested framework for an application, but is fullyconfigurable for those who want to practice customizing the application. It contains anumber of predefined application objects for standard OPC inputs and outputs.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 98/148

6 | PLANNING YOUR APPLICATIONStandard Interface

92 / Monitor Pro Fundamentals Guide

When you use the Application Setup Wizard to create your Monitor Pro application,you choose from three templates that are variations on the FLNEW template. TheFLNEW template is essentially the Examples Application without the sample mimics.When you use the Application Setup Wizard, your application will already have basicconfiguration, which will have a dramatic effect on the total cost of building andmaintaining the application. You can think of it as a jump start for applicationdevelopment.

The FLNEW templates are preconfigured with the following functionality:• Screen navigation• Redundancy• OPC Data eXchange• Application objects• Basic timers• Multilanguage support

You have a choice with Monitor Pro: you can start with a completely blank applicationor you can start developing on top of an FLNEW template. By using the FLNEWtemplate as the basis for your plant’s standard application, not only do you shortendevelopment time, but you make an application that is easy to maintain and build uponfor future plant expansions. It also has the advantage of having a standardized operatorinterface, so it is easier to move operators between systems and reduces trainingrequirements.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 99/148

• • • •

Monitor Pro Fundamentals Guide /

Chapter 7

Examples Application

The Examples Application is as a demonstration and practice application. It providessample mimics that demonstrate many of the animation types that you can configurein Client Builder. With the Examples Application, you can examine how the samplemimics were built and practice configuring the components of a Monitor Proapplication.

Because the Examples Application contains extra configuration for its sample mimics,it not recommended that you use it as the basis for building your Monitor Proapplication. Instead, it is recommended that you use the Application Setup Wizard to

create your Monitor Pro application. Using the Application Setup Wizard, you canselect from three versions of the FLNEW template to build your application. FLNEWis essentially the Examples Application with the sample mimics removed.

The Examples Application includes the following functionality:• Screen navigation• Application objects• Basic timers• Multilanguage support

E XAMPLES A PPLICATION INSTALLATION

The Examples Application is installed as part of the typical Monitor Pro systeminstallation and is an optional, selectable component in a custom installation. To openthe Examples Application client project, double-click the Examples ApplicationClient Project icon on your desktop.

If the Examples Application is not installed, it can be installed by rerunning theinstallation program and selecting only the Examples Application option. See the

Installation Guide for more information.

The Examples Application installs two components:• A Server Application with an application object database and source file examples

accessed with Configuration Explorer• A Client Project that is opened in Client Builder

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 100/148

7 | EXAMPLES APPLICATIONRunning the Examples Application

94 / Monitor Pro Fundamentals Guide

Server Application files are installed in this directory:Program Files\Telemecanique\FactoryLink\Applications\Examples App

Client Project files are installed in this directory:Program Files\Telemecanique\FactoryLink\Applications\Examples App\CBPROJ

R UNNING THE E XAMPLES A PPLICATION

To run the Examples Application, you must perform two main actions:

1 Start the Server Application ( MyExamplesApp ) in Configuration Explorer.

2 Open the Client Project ( Examples.fvp ) in Client Builder.

A text help file, named Starter.txt, found at C:\Program Files\Telemecanique\FactoryLinkApplications\Examples App\CBPROJ\Config Files, describes the basic requirements forconfiguring and running the Examples Application.

S ERVER A PPLICATION O VERVIEW

The Server Application runs the server tasks. The Server Application consists of a setof preconfigured tasks that are commonly used in industry, such as Alarm Logger,Database Logger, Historian, OPC Server, and Math and Logic. These tasks provideexamples of logging data for alarm, trend, and browse, as well as generate real-timdata for graphic animation display. This data is accessed by the Client Builder

graphics using the Alarm Server and the OPC Server running within the Monitor Proapplication, and the Trend Server and Database Browser Control running from ClientBuilder.

Starting a Server Application

1 In Configuration Explorer, under Enterprise View, expand FactoryLink Servers.

2 Expand the “ server computer name ” to display associated server applications.

“Server computer name” refers to the name of the computer where the Monitor Pro

server is installed; therefore, the name varies with each user. 3 Right-click the MyExamplesApp server application. Click Start/Stop and then click

Start .

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 101/148

Monitor Pro Fundamentals Guide /

EXAMPLES APPLICATION | 7Server Application Overview

Configuration Explorer starts the MyExamplesApp server application.

Note: The Run-Time Monitor (RTMON) is also started and can be used for

debugging using the tag input, the watch list, or the command input windows.

Saving a Server Application

It is recommended that you periodically save your server application with thefollowing considerations:• Do not save to a directory that contains working files to avoid accidently copying

over files.• Choose an independent directory for saves, preferably on a separate disk or

partition.

• You can save Monitor Pro applications by one of two methods: platform specific(native) and multiplatform (compressed). Compressed saves are recommended .

1 In Configuration Explorer, under Enterprise View, expand FactoryLink Servers.

2 Expand the “ server computer name ” to display the server application.

3 Right-click MyExamplesApp and click Save .

4 When the Backup Application dialog box opens, click the Compressed (Saved assingle file) file type to save the system files as a single compressed file with an .mps extension.

Note: The Native (Saved as multi-file image) file type is not recommended formost applications.

5 Select the Save application data files check box if you want to save miscellaneousfiles that were created, such as trending log files or log messages.

6 Click the Destination browse button and browse to the destination drive anddirectory where you want to save the server application.

7 Click OK to save the server application.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 102/148

7 | EXAMPLES APPLICATIONServer Application Overview

96 / Monitor Pro Fundamentals Guide

Restoring a Server Application

If you need to restore a server application that you saved, you can do it two ways:• A “compressed restore” is decompressing a single .mps file into a set of server

application files and placing those files in a selected directory.• A “native restore” is restoring a set of native server application files from one

directory to another directory.

You can restore a server application from Configuration Explorer or from WindowsExplorer.

Note: When restoring a server application in the same directory with an existingapplication of the same name, the restore deletes and replaces the existingapplication. Be sure to archive any server applications that you want to keep.

Types of Server Applications You Can Restore

You can restore any server application that you previously saved as an .mps file.

Monitor Pro also provides three sample server applications that you can restore. Theseapplications are in German, English, and French and can be found in the C:\ProgramFiles\Telemecanique\FactoryLink\Server\MPS directory.• The flnew.mps application is suitable for most users. It contains more configuration

than the flblank.mps application and is a typical starter application. It does notcontain demonstration mimics.

When running the Application Setup Wizard (discussed on page 115 ), you willchoose from three versions of the FLNEW template.

• The flblank.mps application contains minimal configuration, such as the MonitorPro global system tags. This file is appropriate for a user who does not want any ofthe configuration in the flnew.mps application.

• The fltest.mps application is useful for the purposes of testing most of MonitorPro’s common tasks.

The following procedures explain how to perform a compressed restore in threedifferent ways:

• Compressed Restore in Configuration Explorer• Compressed Restore in Windows Explorer• Compressed Restore Using FLREST.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 103/148

Monitor Pro Fundamentals Guide /

EXAMPLES APPLICATION | 7Server Application Overview

Compressed Restore in Configuration Explorer

Perform the following steps to perform a compressed restore of a server application in

Configuration Explorer. 1 Open Configuration Explorer and expand FactoryLink Servers.

2 Right-click “ server computer name ” and select Restore Application.

3 When the Restore Application dialog box opens, select Compressed (Saved as single file)

4 Click the Source browse button and browse to the drive and directory that contains theserver application .mps file that you want to restore.

5 Select the .mps file that you want to restore and click Open.

6 At the Restore Application dialog box, click the Application Directory field browsebutton.

7 When the Browse for Folder dialog box opens, browse to the drive and directorywhere you want to restore the server application. Click OK.

Note: You can place the application in a drive other than C drive.

8 At the Restore Application dialog box, click OK.

9 At the Add Monitor Pro Application dialog box, enter a name for the restored serverapplication in the Name field and click OK.

10 At the Confirm Action dialog box, click Yes.

The message states that your application directory is not a UNC path; therefore,Configuration Explorer will not be able to remotely configure the application. (UNCpath refers to a Window-based Universal Naming Convention standard that allows adistributed system to have remote access.)

The compressed server application is restored.

Note: If you plan to run a local ECS Graph task in addition to Client Builder,see “FLREST Domain Considerations” on page 99 .

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 104/148

7 | EXAMPLES APPLICATIONServer Application Overview

98 / Monitor Pro Fundamentals Guide

Compressed Restore from Windows Explorer

You can restore a server application .mps file from Windows Explorer; however, you

will still need to add the application to Configuration Explorer’s namespace so thatConfiguration Explorer recognizes the application.

1 Using Windows Explorer, browse to the .mps file that you want to restore.

2 Double-click the server application .mps file to open the Monitor Pro ApplicationRestore dialog box.

3 In the Destination field, enter the path of the directory where you want to restore theapplication.

4 Do not change the source file format. The Compressed (Saved as single file) option is

already selected. Click OK. 5 Next, to make Configuration Explorer aware of this file, open Configuration Explorer,

expand Servers, right-click the “ server computer name ,” and select Add ExistingApplication.

6 When the Add Monitor Pro Application dialog box opens, type the name that youwant to call the application in the Name field.

7 Browse to the directory where you restored the server application in Step 3 and clickOK.

8 At the Confirm Action dialog box, click Yes.The compressed server application files are restored.

Note: If you plan to run a local ECS Graph task in addition to Client Builder,refer to “FLREST Domain Considerations” on page 99 .

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 105/148

Monitor Pro Fundamentals Guide /

EXAMPLES APPLICATION | 7Server Application Overview

Compressed Restore Using FLREST

You can restore a compressed server application using FLREST. Be sure to write

down the complete drive and directory path of the source directory and the destinationdirectory before you begin.

1 From the Windows Start menu, click Run.

2 Type flrest in the Open field and click OK.

3 When the Monitor Pro Application Restore dialog box opens, type the complete driveand directory source path in the Source field.

4 Type the complete drive and directory destination path in the Destination field.

5 Select Compressed (Saved as single file) . Click OK. 6 Next, in Configuration Explorer, right-click the “ server computer name ” and select Add

Existing Application.

7 At the Add Monitor Pro Application dialog box, enter a name for the restored serverapplication in the Name field.

8 Click the Application Directory browse button and browse to the drive and directorywhere you restored the compressed server application files. Click OK.

9 At the Confirm Action dialog box, click Yes.

The server application is restored.

Note: If you plan to run a local ECS Graph task in addition to Client Builder,see “FLREST Domain Considerations” below.

FLREST Domain Considerations

1 After the restored application appears under your “ server computer name ” inConfiguration Explorer, right-click the new server application and select Properties .

2 On the Application Properties dialog box, remove -nshared from the FLRunArgs property

value. Click OK.The removal of -nshared allows the Run-Time Manager to run in the User domain.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 106/148

7 | EXAMPLES APPLICATIONClient Project Overview

100 / Monitor Pro Fundamentals Guide

C LIENT P ROJECT O VERVIEW

The Client Project includes several sets of sample mimic screens that demonstrate themajor functions available in the graphical development software.• The first set (Area 1) demonstrates real-time data display for alarming, trending,

and browsing, using the developed ActiveX components.• The second set (Area 2) demonstrates standard animation features commonly used

for color control, value input and output, and image display.• The third set (Area 3) demonstrates advanced features used to add movement,

visibility, scripting, and objects to the graphics.

Note: The Monitor Pro client installation installs a set of clip art images (if youselect them) in the Telemecanique\Common\Client Builder\Shared Libraries directo

To use these clip art graphics, you copy them into your new Client Builderproject.

When a client project is saved, it is automatically compressed into a single file with a.cba extension. When a client project is restored, it is uncompressed from the .cbaformat into a multiple files project. A client project must be restored from itscompressed .cba format before it can be opened.

Opening a Client Project

The Monitor Pro installation places two Client Builder icons on your desktop: Clie

Builder and Examples Application Client Project . The Examples ApplicationClient Project icon immediately opens the Examples Application’s client project. TheClient Builder icon allows you to select the project you want to open.

1 Double-click the Client Builder icon on the desktop.

The Open Project dialog box always opens with a default path to the last client projectthat you opened.

2 Browse to the C:\Program Files\Telemecanique\FactoryLink\Applications\Examples App\CBPROJ directory.

3 Double-click Examples.fvp.Client Builder opens the client project at the logo screen, which contains buttons thatallow you to start and stop the local server without having to go to Configuration

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 107/148

Monitor Pro Fundamentals Guide /

EXAMPLES APPLICATION | 7Client Project Overview

Explorer. If Client Builder is pointed to a server other than the local server, thesebuttons will not start and stop that server.

Saving a Client Project

It is recommended that you periodically save your client project. When you save aclient project, the project is compressed into a single file with a .cba extension.

1 In Client Builder, click Tools > Application > Save/Restore Project.

2 When the Client Builder Archive Utility dialog box opens, click the Project File browsebutton and select the source drive and directory that contains the project you want tosave.

3 Click the Archive File browse button and select the destination drive and directorywhere you want to save the project.

4 Click OK. (The client project is saved with a .cba extension.)

Restoring a Client Project

You can restore any client project that you previously saved or any of the compressedclient projects that come with Monitor Pro.

Types of Client Projects You Can Restore

Monitor Pro provides two sample client projects that you can restore. These projectscan be found in the C:\Program Files\Telemecanique\FactoryLink\ Applications\Compressed directory.• The ExamplesApp.cba application contains a fully configurable baseline

application with global tab functionality common to all Monitor Pro applications, aswell as additional system tags that support screen navigation, application objects,basic timers, and multilanguages. It also contains sample mimics. This file isappropriate for users who want to get started quickly, economically, and efficiently.

• The cbnew.cba application is suitable for most users and is a typical examplesapplication with Monitor Pro global system tags. It does not contain sample mimics.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 108/148

7 | EXAMPLES APPLICATIONClient Project Overview

102 / Monitor Pro Fundamentals Guide

Restoring a Client Project from Windows Explorer

1 From Windows Explorer, browse to the directory that contains the client project .cba

file that you want to restore. Double-click the .cba file.The Client Builder Archive Utility dialog box opens. Note that Restore Client BuildeProject is already selected, and the Archive File field already contains the path to the.cba file that you are restoring.

2 Click the Project Directory browse button and find the drive and directory where youwant to restore the archived project. Click OK.

3 At the Client Builder Archive Utility dialog box, click OK.

4 When the restoring process is complete, a message asks you to confirm the restore.

Click OK.Restoring a Client Project in Client Builder

1 Double-click the Client Builder icon on your desktop.

2 At the Open Project dialog box, click New.

3 At the New Project dialog box, enter the new project name in the Project Name field

4 Click the Location browse button and browse to the destination directory path wherethe new project will reside. Click OK.

5 In Client Builder, click Tools > Application > Save/Restore Project.

6 At the Client Builder Archive Utility dialog box, select Restore Client Builder Project

7 Click the Archive File browse button and find the drive and directory that contain thecompressed .cba project you want to restore. Select the .cba project.

8 Click the Project Directory browse button and find the drive and directory where youwant to restore the archived project. Click OK.

9 When the restoring process finishes, the Client Builder Archive Utility dialog boxopens. Click OK.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 109/148

Monitor Pro Fundamentals Guide /

EXAMPLES APPLICATION | 7Client Builder Client Project

C LIENT B UILDER C LIENT P ROJECT

The following graphic illustrates communication connections between the majorcomponents of the Client Builder client project, the Monitor Pro Server, and theDatabase Server.

Client Builder

Animation

TrendActiveX

BrowseActiveX

AlarmsActiveX

OPC Server

OPCComm Mgr

Trend ServerLocal or Remote

RTMON

Alarm Server

Alarm Logger

OPC Client

Historian Data Logger(ODBC or Native)

Monitor Pro ApplicationReal-Time Database

(RTDB)

Database onLocal or Remote

Computer

Client

Third-Party OPCServer on Local

Computer, RemoteComputer, or PLC

Computer

VB Script

Monitor ProServerComputer

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 110/148

7 | EXAMPLES APPLICATIONClient Builder Client Project

104 / Monitor Pro Fundamentals Guide

Animation Real-Time Display

In the client project, the mimic’s animated objects connect to the real-time database

using the OPC Communication Manager’s client connection to the Monitor Pro OPCServer. With the server application running, this communication allows the tag valuesto be read to and written from the animated objects. The animation features use thosetag values, as well as the graphics local register variables, for real-time display andcontrol of the Monitor Pro Server. In addition to the animation features and functions,the internal VBA script editor can be used to write custom code using a graphicobject’s exposed properties, methods, and events.

ActiveX Controls

The following ActiveX controls are available in Client Builder using the Insert menu:

• Real-Time Trend Control• Alarm Viewer Control• Database Browser Control• Historical and Real-time Trend Control• Cluster Monitor Control

For more information about the these ActiveX controls, see the Client Builder Help

Alarms

You can use the Alarm Viewer control to configure, display, sort, filter, andacknowledge the active alarms from the Monitor Pro Server as communicated throughthe Alarm Server. Alarm Viewer properties can be accessed for configuring theparameters for general control, colors and fonts, groups, and fields. The Alarm Loggeruses an ODBC Historian task to write the alarm data to a SQL Server or dBase IVdatabase selected during installation.

Below the Alarm Viewer is the Alarm Banner Viewer, which is configured from thesame ActiveX control. The Alarm Banner, which can display up to three alarms, isoften used to show the most critical or newest alarms. In the Examples Application,clicking the Alarm Banner takes you to the screen name in the Area Name field. You

can copy this configuration into your project and it works automatically.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 111/148

Monitor Pro Fundamentals Guide /

EXAMPLES APPLICATION | 7Client Builder Client Project

Trend

You can use the Real-time Trend control or the Historical and Real-time Trend control

to configure, display, and select data as communicated through the Trend Server fromvalues logged to a database using the Data Logger tasks. Using this database method,the trend controls can display the data in either a real-time or historical mode. Thetrend control properties can be accessed for configuring the parameters for graphs,pens, and fonts. Within the properties panel, a trend editor is accessed for penassignments to the database tables and columns.

The Trend Server is used so a single trend control can connect to multiple databases ortables simultaneously. The Trend Server makes a direct connection to the databasesusing an ODBC data source configuration.

Database Browser

You can use the Database Browser to configure, display, and select data from valueslogged to the database using the Data Logger tasks. The Browse Control propertiescan be accessed for configuring the parameters for general control, database sources,columns, select statement, and sort order. The Database Browser makes a directconnection to a database using an ODBC data source configuration.

Cluster Monitor

You can use the Cluster Monitor control to monitor the status of the servers withinserver clusters, determine which servers in a cluster are being used by the client, and

manually switch clients from one server to another.

Standard Animation Features

Many graphic functions use the animation types. Certain animation combinations canbe applied on a single object so that the object can serve multiple purposes.• Color animation color fills any drawn object, bargraph, or legend by using a bit or

numeric register value.• Text animation displays messages, labels, or numeric values.• Symbol animation selects predrawn objects from a library by using a bit or

numeric register value.• Send animation writes values to bit, numeric, or text registers.• Run animation launches an external program.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 112/148

7 | EXAMPLES APPLICATIONClient Builder Client Project

106 / Monitor Pro Fundamentals Guide

• Link animation opens or closes graphics, connects to an external document (like aWord file) or URL, and views or edits a text file as a note.

Advanced Animation Features

The following advanced animation features can be used to add movement, visibility,script, and symbols to the graphics:• Layers are different sheets on the same graphic used to group objects that can be

seen when the Layer Toolbar is used to select a layer number or the Layers value isset by script.

• Decluttering is a template that allows layer visibility based on zoom levels.• Visibility bound is an object property that defines object visibility based on zoom

range.• Rotation is an animation function that rotates an object through an angle range

relative to a register value range.• Scaling is an animation function that scales an object through a percentage range

relative to a register value range.• One-axis positioning is an animation function that moves an object relative to its

original position in X- and/or Y-weighted directions using one register value linkedto both axes.

• Two-axis positioning is an animation function that moves an object relative to itsoriginal position in X- and Y-weighted directions using a separate register value foreach axis.

• Free positioning is an animation function that moves an object to absolutecoordinates in X and Y directions using a separate register value for each axis.

• Path positioning is animation that moves an object along a path defined by a lineor polyline.

• VB script is a single object or a grouped object script file that executes event-basedsubroutines.

• Function objects are examples of library symbols that can be created with localregister variables for substitution with tags after inserting the symbol.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 113/148

Monitor Pro Fundamentals Guide /

EXAMPLES APPLICATION | 7Server Application Components

S ERVER A PPLICATION C OMPONENTS

Viewing Tag Descriptions

The following steps explain where to find descriptions of the tags in the ExamplesApplication or any other application.

1 In Configuration Explorer, expand FactoryLink Servers > “your server name” .

2 Right-click MyExamplesApp(or other application) and then click Browse Tags .

Tag name, description, and data type information appear in a table in the workspace onthe right. (You may need to adjust the table to view all columns.) This table containsthe tag descriptions, but does not indicate whether a tag is a global tag.

3 To see which tags are global tags, right-click MyExamplesApp, click View, and then clickView Xref Table. The CT Name/Anim Type column identifies whether a tag is a global tag.

4 Click Window > Close All to close all grid views.

Application Objects

Application object examples are part of the Examples Application or FLNEWtemplate applications in Configuration Explorer. An application object is a collectionof template variables, configuration objects, and file objects that is specificallyconfigured to populate one or more configuration tables in the Monitor Pro Server.There are two main advantages for using application objects:

Increaseddevelopmentproductivity

• Simultaneous development by users with different Monitor Proskill levels

• Reusability of common variables and objects

• Structured configuration methodologyEasierapplicationmaintenance

• Organized view of records grouped by function

• Ability to add, insert, and remove instances per changingspecifications

• Ability to recalculate all the instances of an application objectfrom revised data source files

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 114/148

7 | EXAMPLES APPLICATIONServer Application Components

108 / Monitor Pro Fundamentals Guide

Application objects use the example input source files located in the{FLAPP}\AppObj directory to dynamically populate one or more Monitor Pro taskconfiguration tables.

As an application object is copied to an application, each application object’s instanceis written to the Instances database file (AOInstance.mdb). After successfulcompletion of each instance, the configuration table’s database record is written to thattable’s database (*.cdb) file.

Examples of Application Objects

The application objects in the Application Object Classes directory are configured asexamples of typical functions that are required in a Monitor Pro development project.Table 7-1 explains the objects in the Examples Application.

Note: Several useful application objects are available in the FLNEW templates

Table 7-1 Objects in the Examples Application

Object Description

Analog2Analog4

Analog Input with Two/Four Alarm States – configures an analoginput from an Excel spreadsheet in these task functions:

• Read from an OPC server• Scale to engineering units• Log to a database

• Alarm on high and low limitsAnalogKB Analog Input with Scaling from Keyboard Entry – configures an

analog input from a keyboard manual entry in these task functions:• Read from an OPC server• Scale to engineering units

AnalogOut Analog Output for Write – configures an analog output from an Excelspreadsheet for a write to an OPC server.

Block Example for Instance and Offset – configures a block of related tagsfrom an Excel spreadsheet for Math and Logic variables.

Digital1 Digital Input with One Alarm State – configures a digital input froman Excel spreadsheet in these task functions

• Read from an OPC server• Alarm for an ON condition

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 115/148

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 116/148

7 | EXAMPLES APPLICATIONServer Application Components

110 / Monitor Pro Fundamentals Guide

Application Object Overview Diagram

The graphic at the end of this section illustrates how data flows from the developer’s

raw information to the configuration tables. This process has the following sections:

Where the Data ComesFrom

• Raw configuration data can be a user input or a sourcefile.

• User input can be entered by keyboard or by recordgenerator panel.

• Source file data types can be a text file, a spreadsheet,or a database.

How the Classes are

Defined

• Template variables define the input or source

parameters.• Template variables can be used in configuration

objects, file objects, and application objects.

• Configuration objects define the template variables orconstants used in the configuration forms.

• File objects define the template variables or text usedin the text forms.

• Application objects define the collection of templatevariables and objects used to represent a functionalequipment object.

How the ApplicationObjects are Instantiatedinto ConfigurationTables

• Application objects are instantiated using acopy-and-paste method from the Classes tables to theInstances tables within the application objectsdatabase.

• Tables of application object instances within thedatabase are used to record and maintain the locationof the instantiated objects within the Monitor Proapplication.

• Each successful instantiation is then written as a

record to the Monitor Pro application configurationtables and files.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 117/148

Monitor Pro Fundamentals Guide /

EXAMPLES APPLICATION | 7Server Application Components

.

Source(configuration raw data)

{FLAPP}\Appobj default directory- source files (gen,txt,csv,xls,mdb)

- property page files (htm)

Template Variables(input source definitions)

User Input or Source File- Keyboard

- Generated- Text File- Excel spreadsheet- ODBC Database

Application Objects(collection of variables and objects)

Application Object Instances Tables({FLAPP}\Appobj\AOInstances.mdb)

Configuration Tables({FLAPP}\*.cdb files)

Monitor ProApplication Directory

On instantiation, the objectsare written to the Instancestables and then to the

Configuration tables

Application Object Classes Tables- created in AOInstances.mdb

File Objects(configuration text forms)

Configuration Objects(configuration table forms)

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 118/148

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 119/148

Monitor Pro Fundamentals Guide /

EXAMPLES APPLICATION | 7Changing Computer Location

8 Repeat Steps 5 and 6 to select the OPC servers to be used for run time(Tecnomatix.Server) and design time ( Tecnomatix.DevServer).

9 Expand TrendServers and click Trend_a to display the Run Time and Design Timesetting fields.

10 Repeat Steps 5 and 6 to select the Trend servers to be used for run time(TrendDSServer.TrendServer.1 ) and design time ( TrendDSServer.TrendServer.1 ).

11 Click OK to close the Servers Editor dialog box.

Note: For a redundant system, set Alarm_b, OPC_b, and Trend_b to yoursecond machine.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 120/148

7 | EXAMPLES APPLICATIONChanging Computer Location

114 / Monitor Pro Fundamentals Guide

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 121/148

• • • •

Monitor Pro Fundamentals Guide /

Chapter 8

Application Setup Wizard

The Application Setup Wizard provides a quick and easy way to create a Monitor Proapplication that contains basic configuration. This wizard steps through choices suchas database setup, and allows the selection for one of three templates to create both theserver application and client project.

Available in Configuration Explorer, the Application Setup Wizard has the followingfunctionality:• The wizard prompts for the name and location of the combined project (server and

client), the type and location of the historical database, the template project to berestored, and the primary and secondary node servers.

• The wizard creates both the client project and the server application at the sametime using a template that can be modified. (The wizard lets you choose from threetemplates that are variations of the FLNEW template, each with a different interfaceformat.)

• The client project is restored to a subdirectory under the server applicationdirectory, thus more closely associating the client and server components of theMonitor Pro application as one project in a single directory.

• The client project automatically connects to the server created in the same project.• The wizard automatically sets up the run-time and design-time OPC servers

including update rate, sets up the Monitor Pro NameSpace database, adds theMonitor Pro application to the NameSpace database, and associates the clientproject with the server application.

• The feature is extensible so companies can use their own applications to createcustom templates that can be added to the wizard.

To access this wizard, right-click your Monitor Pro Server name and select theApplication Setup Wizard. The Configuration Explorer Help provides detailedinformation about using this wizard. The Monitor Pro Tutorial contains an exercisethat lets you practice using the wizard.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 122/148

8 | APPLICATION SETUP WIZARDApplication Setup Wizard Templates

116 / Monitor Pro Fundamentals Guide

APPLICATION S ETUP W IZARD TEMPLATES

The three templates that you can select from the Application Setup Wizard have thesame server application, but different client project presentation formats:• FLNEW_TopMenu.zip – contains a FLNEW server application and a FLNEW

client project that shows a menu at the top of the Client Builder screen and usesmenus for selecting different mimics drawings. (This template is the defaulttemplate.)

• FLNEW_SideMenu.zip – contains a FLNEW server application and a FLNEWclient project that show a menu at the left side of the Client Builder screen. Thedrawings are selected directly from the menu.

• FLNEW_CornerMenu.zip – contains a FLNEW server application and a FLNEWclient project that show a menu as a square in the upper left corner of the ClientBuilder screen. This project uses only icons with no text. Some other featuresappear in this template include a screen print button and animated alarm icon. Thesefeatures can be adapted to any project.

All three templates contain application objects for generating a few commonconfigurations as well as some Communications Drivers examples. All of thetemplates use a bitmap logo file that can be replaced by your company’s logo. This fileis in the Bitmap Files folder and is named logo.bmp .

The FLNEW template applications are fully configurable baseline applications withfunctionality common to most Monitor Pro applications. Using any of these template

applications as a foundation, you can modify the existing components to meet yourindustry-specific needs, therefore reducing the time and effort required to configure anew application.

They contain predefined application objects for standard OPC inputs and outputs.When used as the basis for an application, they can have a positive effect on the costof building and maintaining the application. The FLNEW templates provide a jumpstart for application development with the following functionality:• Screen navigation• Application objects• Basic timers• Multilanguage support

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 123/148

Monitor Pro Fundamentals Guide /

APPLICATION SETUP WIZARD | 8Application Objects in Server Templates

APPLICATION O BJECTS IN S ERVER TEMPLATES

The Server Application, which is used in all three templates, has minimalconfiguration so that you can add things without conflicting with existing tags orconfiguration.

Several application objects are included to assist new users on some of the commonconfigurations. The application objects can be found in the Application Object Classesfolder in Configuration Explorer.

These application objects can be used to configure a few of the common subsystems.The most common subsystem is probably the configuration for database logging thatis used for a trend chart. This configuration generates the Database Logger andDatabase Schema tables required for logging trend points to a database.

General Objects

To use one of the application objects, just drag the object from the Application Objectsfolder to the Application Object Instances folder. This generates the configurationtables included in that object.

For example, drag the FLDBLogSetup object to the Application Object Instancesfolder. The FLDBLogSetup object displays the following dialog box:

In this dialog box, you choose the log rate for the database points that you will log forthis table. Choose either seconds or minutes, but not both. This creates an instance ofthis object.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 124/148

8 | APPLICATION SETUP WIZARDApplication Objects in Server Templates

118 / Monitor Pro Fundamentals Guide

To log points at different rates, add instances to this object by right-clicking the objectin the Application Object Instances folder and selecting Add Instances .

You can add one or more instances and choose other log rates. Each instance displaysin the tree and in the Database Logger and Database Schema configuration. This willset up the general structure of the database indexed by time.

To add data points to the logger, use the FLDBLogAddPoint object. Dragging thisobject to the Application Object Instances folder displays the following dialog box:

Be sure to choose the same time interval as the logger setup.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 125/148

Monitor Pro Fundamentals Guide /

APPLICATION SETUP WIZARD | 8Application Objects in Server Templates

VRN Setup Object

Another very useful application object included in the FLNEW template applications

is the FLVRNSetup object. When you instantiate this object, you are prompted for thefollowing information:• What is the remote node name for redundancy?• Will you be using the ODX/ECI task for OPC communication?• Will you be using the IOXlator/RAPD tasks for driver communication?• Will you be transferring all tags between servers?

It is much easier to use this application object than to fill out all the tables manually.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 126/148

8 | APPLICATION SETUP WIZARDApplication Objects in Server Templates

120 / Monitor Pro Fundamentals Guide

Driver Objects

Some application objects provide example configurations for common

communication drivers. These include the following:• Allen-Bradley RAPD• Modbus Serial• Modbus Plus• Modbus TCP• ODX Client to RSLinx and OFS Servers• Siemens Sinec H1 RAPD

If you choose the ODX example, be sure to run the VRN setup and choose the

ODX/ECI choice for proper redundancy and mailbox setup. Make this choice even ifyou are not going to use redundancy.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 127/148

• • • •

Monitor Pro Fundamentals Guide /

Chapter 9

Getting Help

MONITOR P RO D OCUMENTATION

The Monitor Pro product has helpful information available in two formats: Help filesand PDF documents. You must have a PDF Reader installed to view the PDF files. Aversion of Adobe Reader is available on the Monitor Pro CD or from the Adobe website (http://www.adobe.com).

The Monitor Pro documentation is located in theTelemecanique\FactoryLink\Documentation directory. You can access the documents

quickly by double-clicking the Monitor Pro Documents icon on your desktop andclicking a link to the document you want to view. You can also click the View Index byTopics link to open an index that links to various topics in the PDF files.

Document Name Purpose

Add-On User Guide Provides information about the add-on modulesincluded with the base Monitor Pro system.

Client Builder Help Explains how to use the Client Builder, the tool usedto design user interfaces for a Monitor Pro applicationby creating a graphical representation of an industrialprocess and linking the graphics to real-time OPCdata.

Configuration Explorer Help

Explains how to use the Configuration Explorer, thetool used to create a Monitor Pro Server application.With Configuration Explorer, you can define andconfigure tags, logic, and reusable application objects.

Conversion Guide Provides information about converting from earlierversions of Monitor Pro to the current version.

Device Interfaces Using EDI Technology

Provides detailed information about configuringMonitor Pro to communicate with remote devices thatuse EDI technology.

Device Interfaces Using RAPD Technology

Provides detailed information about configuringMonitor Pro to communicate with remote devices thatuse RAPD technology.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 128/148

9 | GETTING HELPMonitor Pro Documentation

122 / Monitor Pro Fundamentals Guide

Device Interfaces Using

OPC and OtherTechnologies

Provides detailed information about configuring

Monitor Pro to communicate with remote devices thatuse OPC and other technologies.

ECS Graphics andWebClient Reference Guide

Provides information about the tools used to buildMonitor Pro applications prior to version 7.0. Thisdocument includes information about the ApplicationEditor, WebClient, PowerSPC, and PowerVBAnimation.

External ConnectivityGuide

Provides information about standards used to bridgedata between the Monitor Pro real-time database andother systems.

Fundamentals Guide Provides a getting started overview of Monitor Pro,including concepts and architecture, the planningprocess, restoring and using the ExamplesApplication, upgrade considerations, and referenceinformation.

Glossary List of terms used with the Monitor Pro product.

Installation Guide Provides hardware and software requirements andinstructions about how to install the Monitor Prosoftware. Also included are instructions for installingMicrosoft SQL Server.

Programmer’s Access Kit Provides a collection of software tools for use in thedesign and development of Monitor Pro-compatibletasks.

Task Configuration Reference Guide

Provides detailed information about configuringMonitor Pro tasks for your application.

Tutorial Guides you step-by-step through the process of usingMonitor Pro configuration tools to create a simpleMonitor Pro application.

Unity Pro Browser Help Explains how to use the Unity Pro Browser, aconfiguration tool that reads a project from Unity Proand adds the variables in the project to the MonitorPro application.

Utilities Guide Provides information about the Monitor Pro utilitiesused for general maintenance and troubleshooting.

Document Name Purpose

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 129/148

Monitor Pro Fundamentals Guide /

GETTING HELP | 9Customer Support

C USTOMER S UPPORT

If you have any questions about the use or application of the Monitor Pro product,contact your Schneider Electric local country representative.

Free Subscription Period

The free subscription period is provided at no charge with the purchase of eachMonitor Pro 7.6 software package. It is good for a period of ninety (90) days only.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 130/148

9 | GETTING HELPCustomer Support

124 / Monitor Pro Fundamentals Guide

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 131/148

• • • •

Monitor Pro Fundamentals Guide /

Appendix A

Monitor Pro DirectoryOrganization

Monitor Pro applications can be installed on any appropriate drive. However, for thepurposes of this document, installations are assumed to be on a C:\ drive.

When you install Monitor Pro, the installation program creates five directories underProgram Files\Telemecanique\FactoryLink. The five directories are Applications, Client,Documentation, Installs, and Server. The shared files common among Telemecaniqueproducts are installed in the Telemecanique\Common directory.

Directory Subdirectory Contents

Telemecanique\Common Client Builder Program Contains Client Builder application files

SharedLibraries

Contains clip art libraries

TemplateProject

Contains the template project that Client Builder copiesand renames to create new Client Builder projects

FactoryLink\Applications Compressed Contains compressed client (.cba) and server (.mps)applications. If the Examples Application is installed,this folder contains the dBASE IV and SQL versions ofthe Examples Application in German, English, andFrench.

Note: New applications can be stored in anylocation; however, if you find it convenient, you canstore them in this directory.

Examples App If the Examples Application is installed, this directorycontains the application files, which include the serverapplication files and the client project files.Server Application: The server application files andfolders are restored at the root of the Examples Appdirectory. The server application is configured inConfiguration Explorer.Client Project: The client project files are restored in theCBPROJ folder in the Examples App directory. Theclient project is configured in Client Builder.

admin Administration files for ECS graphics

appobj Source and build files for application objects

asc ASCII database tables that store information about theelements. Used to import/export configuration datafrom one application directory to another

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 132/148

A | MONITOR PRO DIRECTORY ORGANIZATION

126 / Monitor Pro Fundamentals Guide

FactoryLink\Applications(continued)

Examples App(continued)

CBPROJ Client project files. The client project is launched byopening the EXAMPLES.FVP file in Client Builder

cml Compiled Math and Logic files

ct Binary configuration tables. Each Monitor Pro programemploys one or more configuration files

dbt Files for the real-time database on-line browser

dct External device interface ct files

drw Graphics and PowerVB files used by run-time graphicsfiles

etm Files for the Event Time Manager (ETM) task

flapp1 Persistence and log files specific to the runningapplication

log Error files produced by Monitor Pro processes at runtime containing debug information

mmi Files for the MMI task, if MMI is used

msg Message files for all tasks for the running application

net Groups on this node

procs Math and Logic procedures

rcp Files created by the Batch Recipe task

rpt Report files generated by the Report Generator task

shared Shared domain-specific fi les

spool Subdirectory used by the Monitor Pro Print Spooler task

user User domain-specific files

Historical Reports Contains the Microsoft Office Access Project for theMonitor Pro Historical Reports (Historical Reports.adp)

NameSpace Contains the database that holds the locations ofremote Monitor Pro servers used by ConfigurationExplorer

Templates Templates containing Application Objects forgenerating common configurations used with theApplication Setup Wizard

FactoryLink\Client Configuration Explorer If Configuration Explorer is installed, this directorycontains the application files.

WebClient If the Monitor Pro WebClient ActiveX control isinstalled, this directory contains the application files.

Directory Subdirectory Contents

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 133/148

Monitor Pro Fundamentals Guide /

MONITOR PRO DIRECTORY ORGANIZATION | A

FactoryLink\Documentation ReleaseNotes.htm Provides installation t ips, updates, miscellaneousissues, and other important information

Deutsch Monitor Pro documentation in German for the installedcomponents

English Monitor Pro documentation in English for the installedcomponents

Francais Monitor Pro documentation in French for the installedcomponents

FactoryLink\Installs CBSetup.msi The program installer for the One-Click Client. If movedto a different location, this file must appear in the samedirectory as the OneClick.exe file.

OneClick.exe The installation for the One-Click Client used to install aclient on a remote system. If moved to a differentlocation, this file must appear in the same directory asthe CBSetup.msi file.

FLOCX.exe A backward-compatible installation for COM protocolaccess to Monitor Pro tags

Microsoft Access 2003 Runtime Contains the Microsoft Access RunTime Viewer(ACCESSRT.MSI) installer used to view the MonitorPro Historical Reports

IsoTsp2000 The installation for the OSI protocol stack used with theSiemens Sinec H1 driver

LicenseServerInstall.exe The installation for the License Utility that defines theclient license servers and designates a license serverfor redundancy

MECOM If MECOM is selected during installation, this directorycontains an installation for the MECOM driver.

S7D If S7D is selected during installation, this directorycontains an installation for the S7D driver.

WebClientInstall.exe A backward-compatible installation for the WebClientActiveX control. After installed, the files reside in theFactoryLink\Client\WebClient directory.

XMLAdapterInstal l.exe Instal lation for the XML Adapter that allows easyintegration of Monitor Pro with leading XML-basedproducts

Directory Subdirectory Contents

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 134/148

A | MONITOR PRO DIRECTORY ORGANIZATION

128 / Monitor Pro Fundamentals Guide

FactoryLink\Server FLBuild.Id A file that determines the Monitor Pro version.

AC Text files that function as attribute catalogs to informthe main menu of the format of the configuration tables.They also control entry criteria.

BIN Monitor Pro command files, executable program files,and related support files for each task, including thetask executables.

AddOns Files for the Monitor Pro add-ons

Blank Files used by Monitor Pro utilities that manageapplications, such as FLNEW, FLSAVE, FLREST, andFLCONV

CML Default make file for the Compiled Math & Logic task

CTGEN Configuration database conversion script files

DLL Monitor Pro multilingual system filesDRW System files used by the Graphics task and by Client

Builder

Edi Subdirectory for External Device Interface protocolmodules

HELP Text files for the field-level Help

INC C-language include files for options such as CompiledMath & Logic and the Programmer’s Access Kit (PAK)

Install Current language of the Monitor Pro installation

KEY Text files used to translate text table entries into binaryvalues to be placed in configuration tables

Legacy Backward-compatible files used with Monitor Pro. Touse a legacy file, you must copy it to the BIN directory.

LIB Library files and objects used with the PAK

MPS Demo application, new application, and test applicationfiles

MSG Status message and error message files for MonitorPro tasks

OBJ Library files for PAK

OPT Licensing files

Plc Sample program files for Siemens PLCs

src External Device Interface PAK C-source files, libraries,and sample protocol module and sample PAK sourceand make files

Telemecanique\ofs Installation, application, and documentation files for theOPC Factory Server (OPS) product

Directory Subdirectory Contents

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 135/148

• • • •

Monitor Pro Fundamentals Guide /

Appendix B

Real-Time Database and TagStructure

The real-time database is the area of the Kernel’s shared memory used to store thecurrent value of the application tags. It exists only in memory and does not persistbetween subsequent invocations of the Monitor Pro system.

R EAL -T IME D ATABASE S TRUCTURE

The real-time database is made up of arrays and pointers. Each array consists of up to65,534 tags of a single data type. When you define a tag, the system prompts you toidentify the tag data type by choosing one of Monitor Pro predefined data types. Thefollowing table shows the storage capacities, ranges, and accuracies of each data type.

Data Type Value Storage in UserArea

Storage inKernel Area

Value Rangeand Accuracy

Digital (Boolean) 1 bit 2 bytes 12 bytes 1 (ON) or 0(OFF)

Analog (Shortinteger)

2 bytes 2 bytes 14 bytes -32,768 to32,767 (signed)

Long Analog (Longinteger)4 bytes 4 bytes 16 bytes

-231

to 231

-1

Floating point (IEEEstandard/doubleprecision)

8 bytes 8 bytes 20 bytes +/-10 -308 to+/-10 308

Message (String) 0 to 65534bytes

0 to 65534 bytes 20 bytes permessage +storage of data

ASCII orarbitrary binarydata

Mailbox (Variablelength data organizedas a queue)

0 to 65534bytes

0 to 65534 bytes 20 bytes permessage +

storage of data

Arbitrary binarydata

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 136/148

B | REAL-TIME DATABASE AND TAG STRUCTUREReal-Time Database Structure

130 / Monitor Pro Fundamentals Guide

Use the following formulas to determine memory requirements:

Formula = storage requirement for a tag defined for the Shared domain:

(N - 4) + (4 x I)

where:

N Is the storage in Kernel area from the table above.

I Is the number of instances (shared + user).

Example :

A Shared domain long analog tag in a system with a maximum of two User instances:

[20 bytes (from table) - 8] + {8 x [1(shared) + 2 (user)]} = 40bytes

Formula = storage requirement for a tag in the User domain:

(N x I)

where:

N Is the storage in Kernel area from the table above.

I Is the number of instances (shared + user).

Example :A User domain float tag in a system with a maximum of two User instances:

24 bytes (from table) x [1 (shared) + 2(user)] = 72 bytes

The Monitor Pro Kernel uses data types and tag numbers to read from or write to tagsin the real-time database.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 137/148

Monitor Pro Fundamentals Guide /

REAL-TIME DATABASE AND TAG STRUCTURE | BReal-Time Database Structure

Tag Structure

A tag consists of the following items:• One or more bits containing the value• Set of change-status bits (change-status word)• Set of wait bits (wait-status word)• Set of reserved bits

Monitor Pro preallocates a single bit to each potential client task in each of thesestatus words. Each domain instance has potentially 31 possible processes. The 32ndbit is a digital tag value or unused.

Change-Status Bits

For each tag, one change-status bit exists for each potential client process. Theread-call and write-call functions use the change-status bits within the Monitor ProKernel to indicate changes in a tag value. The value of the change-status bit can beeither ON (1) or OFF (0).

Monitor Pro tasks write information to tags through either:• Write call• Forced-write call

Tasks use the Kernel Service’s write-call function to update a value of a tag. Thisfunction first determines whether the tag value changed. If the new value differs from

the old, the write-call function sets each of the tag change-status bits to 1 (ON) andstores the new value in the tag; however, if the comparison determines the new valuefor the tag is identical to the old, nothing changes. This method saves processing timebecause tasks watching the tag will not waken to process unchanged values.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 138/148

B | REAL-TIME DATABASE AND TAG STRUCTUREReal-Time Database Structure

132 / Monitor Pro Fundamentals Guide

Alternatively, the writing task can also use the Kernel service’s forced-write function.This function does not compare old and new values. Instead, the forced-write callfunction assumes the tag has changed and sets all of the tag change-status bits to ONas it stores the new value, even if the updated value being assigned to the tag is thesame as the old. Forced writes are useful when you need to trigger processes settingthe tag change bit but do not wish to change the actual content of the tag or when a tagneeds to be processed a second time, even if its value has not changed.

Use write calls except when the forced-write call is specifically needed.

Monitor Pro tasks read information from tags through:• Read calls• Change-read calls

• Change-wait callsThe read-call function always returns the current value of the tag to the calling processregardless of the value of the tag change-status bit assigned to that process.

When a task makes a change-read call, the reading task requests change-statusinformation about specific tags. If the function finds that the change-status bit of a taghas been set since it was last read, the function informs the calling task it has found achanged tag and returns the value of the first changed tag found. If the change-statusbits have not been set since the last read for any of the specified tags, the change-readcall function returns a code indicating this to the calling task. This method blocks thecalling routine’s processing for less time than reading and comparing the values of allthe tags.

When a task makes a change-wait call, the reading task uses the change-wait callfunction within the Kernel to request change-status information about specific tags.Once a task makes its call, the task then hibernates while waiting for a tag to change.When a task is asleep, it uses no CPU cycles. The task wakes when any one of thespecified tags have changed and/or have had their change-status bits set to 1 (ON)another task since the last reading. In other words, this call blocks the calling processuntil at least one of the specified tag’s change-status bits are toggled.

Regardless of the method used to read a tag, the act of reading a tag resets the tag

change-status bit associated with the reading task to OFF by writing a 0 to the taskchange-status bit in the tag. As successive tasks read a tag, they toggle thechange-status bits in the tag, one by one, to OFF.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 139/148

Monitor Pro Fundamentals Guide /

REAL-TIME DATABASE AND TAG STRUCTURE | BReal-Time Database Structure

The Kernel maintains the change-status bits in a manner transparent to the tasks;however, you can use these bits in the Math and Logic task.

For example, you can write a Math and Logic procedure that uses the operator todetermine whether the value of a tag has changed and then take an action.

Change-status bits optimize system performance in the multi-tasking environment.Monitor Pro tasks use change-status bits as exception flags and the Kernel acts as anexception processor.

Exception processor terminology is uniform across all Monitor Pro documentationand should not be confused with the traditional use within the industry of the termexception processing to mean error handling or CPU exception recovery.

This allows Monitor Pro tasks to perform functions on an exception-only basis or onlyon those tags whose values have changed rather than continuously reprocessingunchanged information. This method results in increased software performance.

Wait bits: For each tag, one wait bit exists for each possible client process. When theclient is currently waiting to read the specified tag, the value of the bit is 1 (ON);otherwise, the value is 0 (OFF).

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 140/148

B | REAL-TIME DATABASE AND TAG STRUCTUREReal-Time Database Access – Reads and Writes

134 / Monitor Pro Fundamentals Guide

R EAL -T IME D ATABASE ACCESS – R EADS AND W RITES

Although knowledge about how tasks access the real-time database is not required todevelop an application, this knowledge can help you understand what occurs as anapplication runs and can also help with troubleshooting.

Tasks access the real-time database to read values from tags and to write values totags. When a task accesses the database, that tag actually is making a call to theMonitor Pro Kernel. The Kernel is the part of the real-time database that manages thereads and writes. The Kernel’s function is transparent to you.

The following are the types of read and write calls:• Normal (conditional) write• Forced (unconditional) write• Change (conditional) read• Normal (unconditional) read

You do not have to configure which write or read call a task makes. The type of call atask makes to the real-time database is programmed into the task as part of its code.The task makes the appropriate calls, depending on its particular purpose.

Normal (Conditional) Write

A normal write occurs only if the new value being written to the tag is different from

its current value. Therefore, this type of write action is conditional . “Is the new valdifferent from the current value?” The Kernel checks this condition. If true, the Kernelperforms the write and sets the tag’s change-status bits to 1. If false, the Kernel doesnot perform the write, and the change-status bits remain 0.

For example, given the following information:• A tag is named Tank1.• Its current value is 10.• The Interpreted Math and Logic task (IML) is configured to perform a calculation

and assign the result to Tank1.

Example 1

IML performs its calculation and the result is 10. IML makes the normal write call tothe database and the Kernel compares the current value of Tank1 with the new value

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 141/148

Monitor Pro Fundamentals Guide /

REAL-TIME DATABASE AND TAG STRUCTURE | BReal-Time Database Access – Reads and Writes

from IML. The current value is 10 and the new value is also 10. Because the old andnew values are the same, the Kernel does not continue with the write, and the currentvalue remains in Tank1. Because the Kernel does not perform the write, thechange-status bits for Tank1 remain zero. Therefore, no tasks are notified to perform aread of Tank1.

Example 2

IML performs its calculation and the result is 20. IML makes the normal write call tothe database, and the Kernel compares the current value of Tank1 (10) with the newvalue from IML (20). Because the old and new values are different, the Kernel writes20 to Tank1. Because the Kernel performed the write, it sets the change-status bits forTank1 to 1. Therefore, the Kernel notifies any tasks waiting for a change on Tank1 thatthey should read the new value.

Forced (Unconditional) Write

Unlike the normal write, the forced write updates the value whether or not that valuediffers from the previous value. Therefore, this type of write action is unconditional .Regardless of the tag’s status, its change-status bits are forced to 1.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 142/148

B | REAL-TIME DATABASE AND TAG STRUCTUREReal-Time Database Access – Reads and Writes

136 / Monitor Pro Fundamentals Guide

Using the previous example:• A tag is named Tank1.

• Its current value is 10.• The Interpreted Math and Logic task (IML) is configured to perform a calculation

and assign the result to Tank1.

IML performs its calculation and the result is 10. IML makes the forced-write call tothe database. The Kernel writes the new value of 10 to Tank1. Because the Kernelperformed the write, it sets the change-status bits for Tank1 to 1. Therefore, the Kernelnotifies any tasks waiting for a change on Tank1 that they should read this new value.

Change (Conditional) Read

A change-read call returns the value only if the data has changed. The condition asks:“Are the change-status bits for the tag set to 1?” If the change-status bits are 1, thenthe value must differ from the last read, so the Kernel notifies waiting tasks to read thevalue again. This type of read significantly optimizes performance.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 143/148

Monitor Pro Fundamentals Guide /

REAL-TIME DATABASE AND TAG STRUCTURE | BReal-Time Database Access – Reads and Writes

Normal (Unconditional) Read

An unconditional-read call returns the value regardless of whether the value has

changed since the last read. This is a forced read.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 144/148

B | REAL-TIME DATABASE AND TAG STRUCTURETag Structure

138 / Monitor Pro Fundamentals Guide

TAG S TRUCTURE

If you could see a tag, you would see that it consists of a number of bits. Excluding thebits required for the tag’s value, each tag, regardless of its data type, has the samebasic bit structure.

Basic Tag Structure

All tags require 16 bytes just for the structure of the tag. The 16 bytes are designatedin the following way:• 4 bytes that function as change-status bits• 4 bytes that function as change-wait bits• 8 bytes that are reserved for future use.

This illustration shows the basic bit structure for each tag in the real-time database.

The change-status bits are very important to the Monitor Pro system.

Change-Status Bits

Change-status bits enable Monitor Pro to operate based on exception processing .Exception processing means that tasks do not access the database to read a tag’s valueunless the tag’s value has changed since the last time it was read.

Each Monitor Pro task is assigned to a change-status bit. The task looks at the same bitin each tag you define. (The diagram above is only an example. The order in which thetasks are assigned is irrelevant.) The value of the bit determines whether the tag’svalue has changed.

4 Bytes--Change-Status Bits

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 145/148

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 146/148

B | REAL-TIME DATABASE AND TAG STRUCTURETag Structure

140 / Monitor Pro Fundamentals Guide

Analog Tag Structure

An analog tag contains 18 bytes. The structure of an analog tag is the same as that of a

digital tag, but with two additional bytes to contain the tag value.

Longana Tag Structure

A longana tag contains 20 bytes. The structure of a longana tag is the same as that of adigital tag, but with four additional bytes to contain the value of the tag.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 147/148

Monitor Pro Fundamentals Guide /

REAL-TIME DATABASE AND TAG STRUCTURE | BTag Structure

Float Tag Structure

A float tag is 24 bytes. The structure of a float tag is the same as that of a digital tag,

but with eight additional bytes to contain the tag value.

Message Tag Structure

A message tag is 24 bytes plus the bytes needed to store the message.

The structure of a message tag is the same as that of a digital tag, but with 8 additionalbytes:• 4 bytes to point to the memory location where the actual message is stored• 2 bytes to specify the maximum message length• 2 bytes to specify the current length of the message with the additional bytes

required to store the message.

8/10/2019 monitor pro

http://slidepdf.com/reader/full/monitor-pro 148/148

B | REAL-TIME DATABASE AND TAG STRUCTURETag Structure

Mailbox Tag Structure

Mailbox tags are different from other data types. Their values do not get overwritten,

because new values are appended (queued) to current values already stored.A mailbox tag contains 24 bytes plus bytes for storing the length of the value and thenumber of values.

The 24 byte-structure of a mailbox tag is the same as the 24-byte structure of amessage tag:• The basic 16-byte tag structure• 4 bytes to point to the memory location where the actual message is stored• 2 bytes to specify the maximum message length

• 2 bytes to specify the current length of the messageAdditional bytes are required to store the mailbox messages and the number ofmessages.