users guide - kep3. you may copy the software onto your hard disk and hold the original for archival...

324
Infilink HMI Software for Windows™ Users Guide Copyright © 2003 KEP, Inc. All rights reserved. 99755REV04/08/03

Upload: others

Post on 18-Dec-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Infilink HMI Software for Windows™

Users Guide

Copyright © 2003 KEP, Inc. All rights reserved.99755REV04/08/03

Page 2: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,
Page 3: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Infilink License and Warranty

The software accompanying this license agreement (the Software) is the property of KEP, Inc. and is protectedby copyright law. Your rights and obligations in its use are described as follows:

1. You may use and display the Software on a single computer.

2. You may make one copy of the Software for archival purposes.

3. You may copy the Software onto your hard disk and hold the original for archival purposes.

4. You may not make copies of materials that accompany the software, including instruction manuals,promotion materials, and labels.

5. You may not modify or attempt to reverse engineer the software, or make any attempt to change oreven examine the source code of the software.

6. The Software can be unlocked on only a single computer at one time.

7. You may not give or distribute copies of the Software or written materials associated with theSoftware to others.

8. You may not sub-license, sell, or lease the Software to any person or business.

Return PolicyThe original licensee of the Software can return it within thirty (30) days of purchase. Please call us for a ReturnGoods Authorization Number.

WarrantyKEP does not guarantee that the Software will satisfy your application needs, nor that the Software will be errorfree. Though the software is tested thoroughly there may be minor defects that may have been missed. As in allsoftware, not every useable application can be performed due to the complexity of the software itself.

Disclaimer of DamagesEven if the Software does not satisfy the customer’s needs, or is viewed as failing to perform, in no event willKEP be liable to you for any direct or indirect damages, including lost profits or lost data. KEP’s liability shallnever exceed the purchase price for the Software.

TrademarksMicrosoft® and Microsoft Excel® are registered trademarks, Windows™ is a trademark of Microsoft Corporation.

Users GuideRevision 4.01

(c) 2003 Kessler-Ellis Products, Inc10 Industrial Way EastEatontown, NJ 077241-800-631-2165 (Voice)(732) 935-9344 (FAX)http://[email protected]

Copyright © 2003, KEP, Inc., All rights reserved.

Page 4: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,
Page 5: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • i

Table of ContentsINFILINK HMI SOFTWARE FOR WINDOWS™ ............................................................................................... ITABLE OF CONTENTS ............................................................................................................................... I

INTRODUCTION.....................................................................................................................................1

WELCOME .............................................................................................................................................1SYSTEM REQUIREMENTS .........................................................................................................................1SETTING UP...........................................................................................................................................2DIRECTORIES INSTALLED BY THE SETUP PROGRAM ....................................................................................2ICONS INSTALLED BY THE SETUP PROGRAM...............................................................................................3SETTING UP A SERVER ............................................................................................................................3INSTALLING DAO....................................................................................................................................4REGISTERING YOUR SOFTWARE ..............................................................................................................5MOVING A LICENSE .................................................................................................................................6UPGRADING A LICENSE............................................................................................................................7

OVERVIEW.............................................................................................................................................9

DESIGN MODE........................................................................................................................................9SHORT CUT MENUS..............................................................................................................................10THE INFILINK DOCKABLE TOOLBARS........................................................................................................12DESIGN MODE KEYBOARD MAPPING .......................................................................................................14

Function Keys.................................................................................................................................14Alphanumeric Keys.........................................................................................................................14Numeric Keypad .............................................................................................................................14Arrow Keys.....................................................................................................................................14Other Keys .....................................................................................................................................14

DESIGN MODE MOUSE FUNCTIONS.........................................................................................................14Buttons ...........................................................................................................................................14Combinations..................................................................................................................................15

RUN MODE ..........................................................................................................................................15

LESSON 1: LEARNING TO USE INFILINK ..........................................................................................16

OVERVIEW ...........................................................................................................................................16LESSON OBJECTIVES ............................................................................................................................17CREATING A PROJECT...........................................................................................................................18THE IMPORTANCE OF OBJECT PROPERTIES .............................................................................................21

About Object Properties..................................................................................................................21The Object Name............................................................................................................................21

A CHANCE TO PRACTICE .......................................................................................................................22Draw and Place a Rounded Rectangle............................................................................................22Draw and Place a Text Object ........................................................................................................24Draw and Place a Triangle..............................................................................................................27Grouping the Objects ......................................................................................................................29

SAVE THE PROJECT AND EXIT ................................................................................................................32

TAG GROUPS AND TAGS ...................................................................................................................34

OVERVIEW ...........................................................................................................................................34ABOUT TAG GROUPS ............................................................................................................................34ADDING/EDITING TAG GROUPS ..............................................................................................................35

Creating Tag Groups ......................................................................................................................35Creating a Memory Tag Group........................................................................................................36Creating a DDE Tag Group.............................................................................................................36Creating an OPC Tag Group...........................................................................................................39Creating a Virtual Tag Group ..........................................................................................................40

ABOUT TAGS .......................................................................................................................................41Predefined System Tags.................................................................................................................41

ADDING/EDITING USER DEFINED TAGS ...................................................................................................43

Page 6: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • ii

Tag Edit Tools ................................................................................................................................43Creating a Memory Tag ..................................................................................................................43Creating a DDE Tag........................................................................................................................45Creating an OPC Tag .....................................................................................................................46Creating a Virtual Tag .....................................................................................................................47Tag Edit Advanced Tab ..................................................................................................................48

Deadband.................................................................................................................................. 48Value clamps / Scaling .............................................................................................................. 48

Tag Edit Scripts Tab .......................................................................................................................49Scripts Tab ................................................................................................................................ 49

Tag Edit Discrete, Level and Deviation Alarm Tabs.........................................................................49Alarm Tabs................................................................................................................................ 49

EXPORTING THE TAG DATABASE ............................................................................................................49Tag Database Field Definitions .......................................................................................................50

IMPORTING THE TAG DATABASE .............................................................................................................53

ANIMATIONS: YOUR PROCESS IN ACTION.......................................................................................55

OVERVIEW ...........................................................................................................................................55ABOUT ANIMATIONS..............................................................................................................................55ANIMATING AN OBJECT..........................................................................................................................56

Making an Object Blink ...................................................................................................................56Showing and Hiding Objects ...........................................................................................................57Moving Objects Left and Right (Horizontally) or Up and Down (Vertically) .......................................58Stretching Objects Left and Right (Horizontally) or Up and Down (Vertically)...................................59Rotating a Line................................................................................................................................60Enter Data Into a Tag......................................................................................................................62Using Sliders to Input Data..............................................................................................................63Changing the Color of an Object .....................................................................................................64Showing the Value of a Tag ............................................................................................................66Executing a Script With a Button Click ............................................................................................67

LIBRARIES: THE QUICK PATH TO GREAT LOOKING APPS ............................................................69

OVERVIEW ...........................................................................................................................................69LIBRARY MANAGER TOOLS.....................................................................................................................69

Create a New Library ......................................................................................................................70Create a New Object Group............................................................................................................70Open a library .................................................................................................................................70Save a library..................................................................................................................................71The Library Manager Treebar .........................................................................................................71

SAVING OBJECTS TO A LIBRARY .............................................................................................................72Placing an Object or Group from a Library ......................................................................................72Reassigning Tags ...........................................................................................................................73

SCRIPTS: THE FINAL WORD IN FLEXIBILITY ...................................................................................75

OVERVIEW ...........................................................................................................................................75INTRODUCTION.....................................................................................................................................76PROJECT SCRIPT .................................................................................................................................77WINDOW SCRIPTS................................................................................................................................78TAKE ACTION SCRIPTS..........................................................................................................................80TAG DATA CHANGE SCRIPTS .................................................................................................................81ALARM SCRIPTS ...................................................................................................................................82SCRIPT REFERENCE .............................................................................................................................84

General...........................................................................................................................................84Comments ......................................................................................................................................84Logical Constants ...........................................................................................................................84Conditional Operators .....................................................................................................................85Logical Operators ...........................................................................................................................85Assignment Operator ......................................................................................................................86

Virtual Tag assignment...................................................................................................................... 86Arithmetic Operators.......................................................................................................................87

Page 7: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • iii

Flow Control ...................................................................................................................................88Math Functions ...............................................................................................................................89String Functions..............................................................................................................................90File Functions .................................................................................................................................91Sound Functions.............................................................................................................................96Window Functions ..........................................................................................................................96System Functions ...........................................................................................................................97Miscellaneous Functions.................................................................................................................98Color Constants ..............................................................................................................................99Object Properties ..........................................................................................................................100

General Object Properties ....................................................................................................................... 100Arc, Pie and Chord Properties ................................................................................................................. 101Rounded Rectangle Properties ................................................................................................................ 101Alarm Viewer Properties.......................................................................................................................... 101Alarm History Viewer Properties.............................................................................................................. 102Trend Properties ..................................................................................................................................... 102

LESSON 2: USING INFILINK TO MIMIC A PROCESS .......................................................................105

OVERVIEW .........................................................................................................................................105LESSON OBJECTIVES ..........................................................................................................................106CREATING A PROJECT.........................................................................................................................107COPYING LIBRARY OBJECTS ................................................................................................................108

Place a Pump from the Library......................................................................................................108EDIT/ARRANGE THE OBJECTS IN THE WINDOW ......................................................................................112

Rotate, Enlarge, and Place the Tank.............................................................................................112Copy, Size, and Place a Section of Horizontal Pipe .......................................................................113Resize and Place the Pump ..........................................................................................................114Place and Resize the Horizontal Pipe............................................................................................115Copy, Place and Size a Section of Vertical Pipe............................................................................116Place and Resize the Control Valve ..............................................................................................117Place and Resize the Vertical Pipe................................................................................................118Add a Fill Meter to the Tank..........................................................................................................119

DEFINE A TAG TO ASSIGN TO THE FILL LEVEL ANIMATION ........................................................................122ANIMATE THE OBJECT T1_LEVEL..........................................................................................................123CREATE A SCRIPT TO SIMULATE AN INCREASING FILL LEVEL....................................................................125SAVE THE PROJECT ............................................................................................................................127RUN THE PROJECT .............................................................................................................................127EXIT RUN MODE.................................................................................................................................127

LESSON 3: CONTROLLING A PROCESS .........................................................................................129

OVERVIEW .........................................................................................................................................129LESSON 3 OBJECTIVES .......................................................................................................................130CONTINUING FROM LESSON 2 ..............................................................................................................130

Opening Lesson 2.........................................................................................................................130ADDING SOME NEW TAGS ...................................................................................................................131

Adding Tags .................................................................................................................................131ADD AND ANIMATE THE NEW OBJECTS .................................................................................................134

Add a Button to Turn the Pump On and Off...................................................................................134Add a Text Object to Enter and Display the Pump Fill Rate...........................................................139Build a Slider to Control the Tank Drain Rate ................................................................................141Duplicate the Slider Text Object and Modify It to Display the Tank Level.......................................144Duplicate the Pump Control Button and Modify to use as a Valve Control .....................................145Modify the Existing Project Script ..................................................................................................146

SAVE AND RUN THE PROJECT ..............................................................................................................148

LOGGING: DATA AND ALARMS.......................................................................................................151

OVERVIEW .........................................................................................................................................151THE ALARM LOGGER...........................................................................................................................152

Basic Settings...............................................................................................................................153Log File Timings ...........................................................................................................................153Preferences ..................................................................................................................................154

Page 8: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • iv

DEFINING ALARMS ..............................................................................................................................155ALARM VIEWER PROPERTIES ...............................................................................................................158ALARM HISTORY VIEWER PROPERTIES .................................................................................................162SETUP ALARM PRINTER ......................................................................................................................164

Send Output To ............................................................................................................................164Sample Format .............................................................................................................................164

THE DATA LOGGER.............................................................................................................................165Basic Settings...............................................................................................................................166Log File Timings ...........................................................................................................................166Preferences ..................................................................................................................................167

LESSON 4: ALARMS AND ALARM LOGGING..................................................................................169

OVERVIEW .........................................................................................................................................169LESSON OBJECTIVES ..........................................................................................................................170CREATING A NEW PROJECT.................................................................................................................171DRAWING THE ALARM VIEWER .............................................................................................................171CREATING ALARM VIEWER CONTROL BUTTONS .....................................................................................172DRAWING THE ALARM HISTORY VIEWER ...............................................................................................173CREATING ALARM HISTORY VIEWER CONTROL BUTTONS........................................................................174ENABLING THE ALARM LOGGER ............................................................................................................175DEFINING TAGS WITH ALARMS .............................................................................................................176CREATING ANIMATIONS TO GENERATE ALARMS .....................................................................................180DISPLAYING THE ACTIVE ALARM COUNT ................................................................................................181SAVE AND RUN THE PROJECT ..............................................................................................................182EXIT RUN MODE.................................................................................................................................184

LESSON 5: REAL-TIME AND HISTORICAL TRENDS .......................................................................185

OVERVIEW .........................................................................................................................................185LESSON OBJECTIVES ..........................................................................................................................186CREATING A NEW PROJECT.................................................................................................................187DEFINING TAGS ..................................................................................................................................187DRAWING THE TREND AND EDITING TREND PROPERTIES ........................................................................188CREATING TREND CONTROL BUTTONS .................................................................................................190CREATE AND ANIMATE A HISTORICAL CURSOR.......................................................................................191ANIMATING TREND CONTROL BUTTONS ................................................................................................193

Create an On button down Script for the Mode Button ..................................................................193Create an On button down Script for the YRangeInc Button..........................................................194Create an On button down Script for the YRangeDec Button ........................................................194Create an On button down Script for the Smooth Button ...............................................................194Create an On button down Script for the Discrete Button ..............................................................195Create an On button down Script for the Scatter Button ................................................................195Create an On button down Script for the SkipInc Button................................................................195Create an On button down Script for the SkipDec Button ..............................................................195

CREATE A CURRENT VALUE DISPLAY ....................................................................................................196WRITING A PROJECT SCRIPT ...............................................................................................................197SAVE AND RUN THE PROJECT ..............................................................................................................198EXIT RUN MODE.................................................................................................................................200

SCHEDULER ......................................................................................................................................201

OVERVIEW .........................................................................................................................................203INTRODUCTION...................................................................................................................................204

Using the Calendar Tool .................................................................................................................. 204HOLIDAYS ..........................................................................................................................................205ACTION GROUPS ................................................................................................................................206

Creating an Action Group ................................................................................................................ 206EVENTS.............................................................................................................................................210

Creating a Single Event ................................................................................................................... 210Creating a Double Event.................................................................................................................. 211Creating a Weekly Schedule............................................................................................................ 212

PREFERENCES ...................................................................................................................................214

Page 9: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • v

USING OPC AND DDE .......................................................................................................................215

OVERVIEW .........................................................................................................................................215ABOUT OPC (OLE FOR PROCESS CONTROL) AND DDE (DYNAMIC DATA EXCHANGE) ..............................215

OPC Link Specifications................................................................................................................215DDE Link Specifications................................................................................................................215

INFILINK AS A DDE CLIENT ..................................................................................................................217Supported DDE Formats...............................................................................................................217Using Infilink as a Local Client......................................................................................................217Using Infilink as a Remote Client...................................................................................................217

INFILINK AS A DDE SERVER .................................................................................................................218A Note About Discrete Tags..........................................................................................................218Using Infilink as a Local Server .....................................................................................................218

MS EXCEL AS A DDE SERVER.............................................................................................................219Tag Group setup...........................................................................................................................219Tag Addresses .............................................................................................................................219

SECURITY..........................................................................................................................................220

OVERVIEW .........................................................................................................................................220DESIGN MODE SECURITY ....................................................................................................................220RUN MODE SECURITY.........................................................................................................................222

Logging in to a Project ..................................................................................................................222Logging Out as a User ..................................................................................................................222Adding/Editing a User List.............................................................................................................223User List Tools..............................................................................................................................224

Creating a New User................................................................................................................ 224

IVIEWER UTILITY...............................................................................................................................225

OVERVIEW .........................................................................................................................................225CONNECTING TO A REMOTE PC............................................................................................................226

Getting Started .............................................................................................................................226Connecting ...................................................................................................................................226Disconnect....................................................................................................................................226iViewer Setup ...............................................................................................................................228IViewer Setup Dialog ....................................................................................................................228Adding/Editing a Server ................................................................................................................229Screen Shots ................................................................................................................................229iViewer Tag Display ......................................................................................................................230Modifying the Tag list display ........................................................................................................231iViewer Status Bar ........................................................................................................................231

AUTOMATICALLY RUNNING A PROJECT .......................................................................................232

OVERVIEW .........................................................................................................................................232WINDOWS 95/98................................................................................................................................233

Making Infilink Auto Start in Win 95/98 ..........................................................................................233Making KEPServerEX Auto Start in Win 95/98..............................................................................235

WINDOWS NT....................................................................................................................................237Making Infilink Auto Start in Win NT ..............................................................................................237Making KEPServer Auto Start in Win NT.......................................................................................239

APPENDIX A: LIBRARY OBJECTS........................................................................................................1

LIBRARY FILE: 2D_ISA_1 ...................................................................................................................... 1LIBRARY FILE: 2D_ISA_2 ...................................................................................................................... 2LIBRARY FILE: 2D_ISA_3 ...................................................................................................................... 3LIBRARY FILE: 3D_ISA_1 ...................................................................................................................... 4LIBRARY FILE: 3D_ISA_2 ...................................................................................................................... 5LIBRARY FILE: 3D_ISA_3 ...................................................................................................................... 6LIBRARY FILE: AIRCOND1 .................................................................................................................... 7LIBRARY FILE: AIRCOND2 .................................................................................................................... 8LIBRARY FILE: AIRCOND3 .................................................................................................................... 9LIBRARY FILE: ALARMHST ................................................................................................................. 10

Page 10: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • vi

LIBRARY FILE: ARROWS .................................................................................................................... 11LIBRARY FILE: BITMAPS1 ................................................................................................................... 12LIBRARY FILE: BITMAPS2 ................................................................................................................... 13LIBRARY FILE: BITMAPS3 ................................................................................................................... 14LIBRARY FILE: BUTTONS1.................................................................................................................. 15LIBRARY FILE: BUTTONS2.................................................................................................................. 16LIBRARY FILE: BUTTONS3.................................................................................................................. 17LIBRARY FILE: BUTTONS4.................................................................................................................. 18LIBRARY FILE: BUTTONS5.................................................................................................................. 19LIBRARY FILE: BUTTONS6.................................................................................................................. 20LIBRARY FILE: COMPUTER ................................................................................................................ 21LIBRARY FILE: CONTROLR................................................................................................................. 22LIBRARY FILE: DATADISP................................................................................................................... 23LIBRARY FILE: DIALS1 ........................................................................................................................ 24LIBRARY FILE: DIALS2 ........................................................................................................................ 25LIBRARY FILE: DUCTS ........................................................................................................................ 26LIBRARY FILE: ELECTRC1 .................................................................................................................. 27LIBRARY FILE: ELECTRC2 .................................................................................................................. 28LIBRARY FILE: FACILITY..................................................................................................................... 29LIBRARY FILE: FLEXTUBE .................................................................................................................. 30LIBRARY FILE: FLOWMTRS ................................................................................................................ 31LIBRARY FILE: GENERMFG ................................................................................................................ 32LIBRARY FILE: HEATING1................................................................................................................... 33LIBRARY FILE: HEATING2................................................................................................................... 34LIBRARY FILE: INDICATR.................................................................................................................... 35LIBRARY FILE: INTLSYMS................................................................................................................... 36LIBRARY FILE: MAPSFLAG ................................................................................................................. 37LIBRARY FILE: MATHANDL ................................................................................................................. 38LIBRARY FILE: METERS1.................................................................................................................... 39LIBRARY FILE: METERS2.................................................................................................................... 40LIBRARY FILE: METERS3.................................................................................................................... 41LIBRARY FILE: METERS4.................................................................................................................... 42LIBRARY FILE: MISCSYM1 .................................................................................................................. 43LIBRARY FILE: MISCSYM2 .................................................................................................................. 44LIBRARY FILE: MISCSYM3 .................................................................................................................. 45LIBRARY FILE: MISCSYM4 .................................................................................................................. 46LIBRARY FILE: MIXERS....................................................................................................................... 47LIBRARY FILE: MOTORS..................................................................................................................... 48LIBRARY FILE: NATURE...................................................................................................................... 49LIBRARY FILE: OP_INTFC................................................................................................................... 50LIBRARY FILE: PIPES1........................................................................................................................ 51LIBRARY FILE: PIPES2........................................................................................................................ 52LIBRARY FILE: PIPES3........................................................................................................................ 53LIBRARY FILE: POWER....................................................................................................................... 54LIBRARY FILE: PROCESS ................................................................................................................... 55LIBRARY FILE: PUMPS........................................................................................................................ 56LIBRARY FILE: SAFETY....................................................................................................................... 57LIBRARY FILE: SENSORS ................................................................................................................... 58LIBRARY FILE: SHAPES1 .................................................................................................................... 59LIBRARY FILE: SHAPES2 .................................................................................................................... 60LIBRARY FILE: SLIDERS1 ................................................................................................................... 61LIBRARY FILE: SLIDERS2 ................................................................................................................... 62LIBRARY FILE: SLIDERS3 ................................................................................................................... 63LIBRARY FILE: SLIDERS4 ................................................................................................................... 64LIBRARY FILE: SYSCMDS ................................................................................................................... 65LIBRARY FILE: TANKCUTS.................................................................................................................. 66LIBRARY FILE: TANKS1....................................................................................................................... 67LIBRARY FILE: TANKS2....................................................................................................................... 68LIBRARY FILE: TIMEDATE................................................................................................................... 69LIBRARY FILE: TRENDHST ................................................................................................................. 70LIBRARY FILE: VALVES....................................................................................................................... 71LIBRARY FILE: VEHICLES ................................................................................................................... 72

TTRROOUUBBLLEE//FFEEEEDDBBAACCKK RREEPPOORRTT.......................................................................................................1

Page 11: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • 1

Introduction

WelcomeWelcome to Infilink HMI, an easy-to-use tool for any size HMI application. InfilinkHMI provides you with the tools to design and implement a custom interface forany process. Infilink offers interface solutions for PLCs, transmitters, sensors,remote I/O, and other process devices.Infilink HMI runs on Windows 95/98, Windows NT 4.0 and Windows 2000.This chapter shows you how to set up Infilink HMI on your computer andintroduces the documentation set. The main body of this manual describes theWindows 98 interface.

System RequirementsTo run Infilink HMI, you must have certain hardware and software installed on yourcomputer. The minimum system requirements include the following:• An IBM PC or compatible with a 66 MHz 486DX/2 microprocessor.• 8MB of RAM.• 30MB of free hard disk space.• At least one free serial port with a 16550 UART if you will be communicating

with serial devices.• VGA card and color monitor capable of at least 640x480-pixel resolution using

16 colors.

The recommended system configuration is the following:• An IBM PC or compatible with a 233 MHz Intel Pentium microprocessor.• 32MB of RAM• 100MB of free hard disk space• Accelerator enabled PCI Super VGA card and color monitor capable of at least

1024 x 768 pixel resolution using 256 colors.• Microsoft Windows 98, 2000 or NT V4.0.

Page 12: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • 2

Setting UpIf you have a previous version of Infilink installed on the target computer you shouldperform a backup of all project files created using that version in the event that youdecide to return to that version in the future.

The program SETUP.EXE on disk #1 (or CD) performs the installation, installing theInfilink HMI executable files, license file, help file, and other components. If youare a Windows NT user you will need to ask your system administrator to performthe Setup.

1. Place disk #1 in drive a: (or insert CD into CD drive) and invoke the programSETUP.EXE in the manner most convenient for you.

2. When prompted, enter a User name and Company. The setup cannot proceeduntil both fields contain at least one character.

3. Choose the components you wish to install.

4. Click the Browse… button to choose a destination directory.

5. Choose a Program Folder/Program Group for the icons that invoke theexecutable files and help.

6. Verify your choices. If you want to make a change click on the < Back button.

7. At this point, the file copy process begins. You will be prompted for disks asneeded.

8. Upon completion of the file copy process, you will be given the opportunity toview the README.TXT file. This file contains release information specific tothis version of Infilink HMI. You can find this file in the \DOC directory if youwant to read it later.

Directories Installed by the Setup ProgramYou specify the target directory for installation during the setup process. Bydefault, this directory is called INFILINK. The Setup program creates additionaldirectories for the components that have been installed.

• \LESSONS contains one subdirectory for each lesson supplied with thesoftware. The lessons are covered later in this manual.

• \LIBRARY contains object library files for use with the Design Mode program.

• \IVIEWER contains the iViewer Internet utility

• \PROJECTS contains the INFILINKDEMO project designed to illustrate InfilinkHMI’s functionality.

Page 13: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • 3

Icons Installed by the Setup ProgramInfilink Design ModeDesign tool for creating and editing an Infilink project.

Infilink Run ModeRuns a compiled Infilink project.

iViewer Internet UtilityApplet that allows the user to view Infilink data over the Internet

Help FolderOn-line information accessible from Design Mode by pressing the F1 key.

Event Log ViewerThe event log viewer captures and displays status output generated by run modecomponents.

ReadmeREADME.TXT includes the following major topics:

1) System Requirements2) New features for V4.03) INFILINK Demo Description

Setting up a Server

Servers are used to get DDE data from applications or externally linked devicesthrough drivers. Infilink uses a Server to get data from external applications viaOPC or DDE.

If you will be using a third party Server with Infilink, you can install it now or waituntil you have developed your application and are ready to run it on the PC.KEPware’s OPC Server, KEPServerEX, comes with Infilink. You will be able tounlock one driver for use with Infilink.

Page 14: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • 4

Installing DAO

If you will be logging data in MDB format your PC will need DAO support. If youhave Microsoft Access installed on your PC there is no need to install DAO support.

If you do not have Microsoft Access installed on your PC you will need to install thefiles needed to support Data Access Objects (DAO). You can select to install DAOsupport during Infilink installation by selecting the Full Installation option orselecting the Custom Installation option and then selecting it as one of thecomponents from the install list. There are 2 files included in the \DAO folder of theInfilink CD.

1. Run the Mdac_typ.exe utility to install support for OBDC and DAO on yourPC.2. Additionally, run Dcom98.exe if your PC is running Windows95 or 98.

You can also download the latest versions of these files from the Universal DataAccess Web site at www.microsoft.com/data/. Select the proper downloadversions for your operating system.

Page 15: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • 5

Registering Your Software

Unlike other HMI products on the market, Infilink does not require a hardware lock.Furthermore, the design portion of the package can be run anywhere, anytime, withan unlimited tag count, for as long as you want, However, the run time portion ofthe package must be registered.

While a project is in the Run Mode use the Help menu, Purchase a license...menu to see this dialog...

Send an E-Mail that includes the KEP Sales Order number and a request to unlockthe software to [email protected]. Instructions will be included in the reply toreceive a Internet Unlock Password. Use it to access the Serial number and unlockcodes over the internet at www.kep.com’s unlock page. A serial number unlocks theRun Mode for 10 days. Once a Serial number is obtained the Help|Unlock menuitem is enabled.

Note: You have up to 10 days from the time you entered the serial number in whichto unlock the software. If the software is not unlocked within that time, it will ceaseto operate

Use your Internet Unlock Password to access the unlock webpage again and enterthe Computer ID. A Password that unlocks Infilink will be generated.

Note: The software unlock password is dependent on the number of user tags. 128,256, 512, 1024 and Unlimited tag unlock passwords are available.

Enter the password in the Password field and click OK.

Once a PC is unlocked no further codes are needed for unlimited and continuousoperation time. The password you receive is only valid for a single PC. If you wantto move the software to another PC you will have to obtain another password forthat PC.

Page 16: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • 6

Moving a License

Accept a License.../Move a License...This menu item is used to move the license from on PC to another. Once the Movea License procedure is finished, the PC where the license originated will be lockedin Demo Mode and the PC that received the license will be unlocked for unlimitedtime use. A blank floppy diskette is needed for this process. Infilink must also beinstalled on the PC that will accept the license (target computer).

@ Use a formatted floppy disk. The disk must not have any files on it whenstarting step 1.

1. Insert blank floppy disk into target computer. Initiate license activation fromtarget computer by clicking on Help|Accept a License, select a floppy drive, clickStep 1, this prepares the floppy disk. Remove the floppy disk. @ Do NOT turn off the target computer or exit Infilink 2. Insert the floppy disk from Step 1 into the licensed computer. Continue byselecting Help|Move a License menu and selecting the floppy drive. Click Step 2,this causes the Infilink to exit Run Mode. Remove the floppy disk. 3. Insert the floppy disk into the target computer. Click Step 3, this takes thelicense from the floppy disk and puts it into the target computer. Notes: DO NOT EXIT TARGET PCs INFILINK OR LICENSE MENU AFTER THISPROCESS IS STARTED, OR THE LICENSE WILL BE LOST. Set the User Access Level required to perform license transfers by going toProject|Properties, Users tab and making the appropriate entries. If you want tomove the software to another PC, you can use the transfer a license procedure.This procedure will erase the license from the source PC and install it on the targetPC.

Page 17: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Introduction • 7

Upgrading a License

The Upgrade License feature is provided for users that wish to upgrade a Licenseto a higher tag count or add Internet access with the iViewer utility.

Send your request via e-mail with the Serial Number and Computer ID [email protected]. A new Serial Number and Password that will unlock the RunMode for the higher tag count will be e-mailed back to you. Alternately, you can Faxthe information to KEP. Enter the serial number and password in the appropriatefields and click OK.

@ Use the Copy numbers to clipboard button then paste it into your e-mail requestto insure accurate data.

Page 18: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,
Page 19: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Overview • 9

Overview

Design ModeInfilink Design Mode is used to create a project that will execute in Infilink RunMode. A project is a collection of objects that graphically depicts a process oroperation. A valid project contains at least one window to display the output forthe project. Output is generated by drawing one or more objects in the windowand then assigning animations to those objects. Animations are driven by datathat is stored in internal memory locations called tags.

In addition to object animations, Infilink provides a scripting language tomanipulate project components and tag data. Scripts may be assigned at theproject level, window level and object level. A script may also be assigned toexecute when the value of a tag changes or reaches an Alarm condition.

Tags can reference data from external devices such as PLCs, user definedmemory variables, or other Windows applications through DDE. Tags areassigned to external devices using a node identifier or alias for each device. Thisalias identifies the device driver and protocol used to communicate with thedevice and its network ID.

The steps involved in creating a Infilink project are as follows:

1. Identify the hardware that will be accessed and draw up a map to identifyeach device. This step will help you determine which DDE or OPCserver application you need to provide device data. It will also simplifythe process of identifying these devices to Infilink.

2. Launch Infilink Design Mode and click cancel on the Open Project dialogthat automatically pops up. Use the New... item on the File menu tocreate an empty Infilink project. A default window will be displayedbefore moving on.

3. Open the Window Properties dialog box to choose the options that youwish to apply to the window at run time.

4. Use the Tag Groups item on the Project menu to setup OPC and DDEtag groups referring to the device map created in step 1. (If you don'thave the appropriate device driver yet you may skip this step for nowand assign the tags you will define in the next step to a memory group.)

5. Use the Tag Groups item on the Project menu to assign tags to thegroups entered in step 4. This step maps device locations that will bemonitored with assigned tags in Infilink that will be referred to whendefining scripts and animations.

Page 20: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Overview • 10

6. Use the drawing tools to create objects on the project window.

7. Use the Animations... item on the Edit menu to assign animations to thecreated objects.

8. Use the Scheduler Utility to program timing for events to occur on a realtime basis.

9. Save the project.

Short Cut MenusWhen using the Design Mode application to create a project you will find thatInfilink makes it easy to select the most common commands that may be appliedto an object or window. When you select an object or window with the rightmouse button, you will be presented with a small pop-up menu called a Short CutMenu. The menu's content changes based on the object or area clicked. Hereare some of the functions that are available from the Short Cut menus:

Short Cuts on Objects

For objects, short cut menu functions provide quick access to common activitiessuch as Cut, Copy, Duplicate, and Delete. The short cut menus also provide theeasiest means of accessing an object's properties and animations. Depending onthe object selected additional functions such as Reshape, Font, and Reassigntags may be available.

Page 21: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Overview • 11

Short Cuts on Windows

The short cut menu functions for a window allow you to quickly turn the Gridfeature on and off. You can also quickly Save the selected window or Close italtogether. The Last Drawing Tool selection allows you to easily draw multipleobjects of the same type without having to reselect the drawing tool from thetoolbox.

Short Cuts on Tag Groups and Tags

All of the tag management tools are included in the shortcut menus. The only wayaccess Tag Import and Export commands is through the short cut menu.

Page 22: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Overview • 12

The Infilink Dockable ToolbarsThe Infilink Toolbars provide convenient access to the most commonly useddesign tools. Each of the buttons on the Toolbars has a pop-up identifier called atool tip to tell you what function it performs. Pausing the mouse cursor over aToolbar button causes the tool tip to appear. The Toolbars can be dragged to anyscreen location or “docked” along the edge of the design mode window.

Project Tools

- Save project

- Open project

- Run Project

- Tag Groups

- Project Properties

- Library Manager

- Event Viewer

Window Tools

- New - Duplicate

- Open - Properties

- Close - Color

- Save - Grid On/Off

- Delete

Drawing Tools

- Select objects - Draw chord

- Draw line - Draw text

- Draw polyline - Draw button

- Draw polygon - Import bitmap

- Draw rectangle - Import metafile

- Draw rounded rectangle - Draw alarm viewer

- Draw ellipse/circle - Draw alarm history viewer

- Draw arc - Draw trend view

- Draw pie

Line Tools Fill Tools

Page 23: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Overview • 13

- Line Color - Solid

- Select single line - Dash

- Select double line - Dot

- Select triple line - Dash dot

- Select thick line - Dash dot dot

- None

- Fill Color

- Unfilled - Solid Fill

- Horizontal Hatch

- Vertical Hatch

- Cross Hatch

- Downward Diagonal Hatch

- Upward Diagonal Hatch

- Diagonal Cross Hatch

Text Tools

- Bold text

- Italic text

- Underline text

- Select font

- Increment font size

- Decrement font size

- Text Color

Layout Tools

- Move Forward one level

- Move Back one level

- Rotate Clockwise

- Rotate Counter Clockwise

- Flip Horizontal

- Flip Vertical

Editing Tools

- Undo - Make Group

- Cut - Break Group

- Copy - Remove from Group

- Paste - Shape Properties

- Duplicate - Reassign Tag

- Delete - Reshape

*To create a group, use the selector tool, , to lassothe objects you wish to group.

Alignment Tools

- Align Left - Align Right

- Align Top - AlignBottom

- Center Vertical

- Center Horizontal

- Space Equally Horizontal

- Space Equally Vertical

- Make same Width

- Make same Height

Page 24: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Overview • 14

Design Mode Keyboard MappingFunction Keys

F4 Displays the Properties dialog box for the selected object.F5 Displays the Animations dialog box for the selected object.F6 Displays the Tag Database dialog box.F7 Saves the current project.F8 Closes the current project.F9 Runs the current project.

Alphanumeric KeysCTL-X Cuts the selected object to the clipboard.CTL-V Pastes an object from the clipboard into the active window.CTL-C Copies the selected object to the clipboard.CTL-D Duplicates the selected object.CTL-Z Undoes the most recent edit. Up to 32 operations can be undone.

Numeric Keypad+ Brings the selected object forward in the z-order.- Sends the selected object backward in the z-order.

Arrow KeysLeft Moves the selected object to the left by one grid line (or one pixel if

the grid is not enabled).Right Moves the selected object to the right by one grid line (or one pixel if

the grid is not enabled).Up Moves the selected object up by one grid line (or one pixel if the grid

is not enabled).Down Moves the selected object down by one grid line (or one pixel if the

grid is not enabled).

Other KeysTab Moves the selection to the next object on the window as

determined by the z-order.Shift-Tab Moves the selection to the previous object on the window as

determined by the z-order.Esc Ends reshape mode or interactive animation definition.Del Deletes the selected object.

Design Mode Mouse FunctionsButtonsLeft Click Object/window selection.Right Click Context sensitive short cut menu.Double Click Ends reshape mode or interactive animation definition.

Page 25: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Overview • 15

CombinationsShift-Drag Defines a square boundary rectangle when drawing an object.

Defines a diagonal line when drawing a line.

Ctrl-Drag Defines a vertical or horizontal line when drawing a line.

Ctrl-Click Adds/Deletes a node when reshaping a polyline or polygon.

Ctrl-Shift-Double Click Opens grouped objects for editing without breakingapart the group.

Run ModeThe Run Mode application executes an Infilink project created in Design Mode.Run mode consists of six basic components: run time animator, database server,data logger, alarm logger, OPC/DDE server and event logger.

Run Time AnimatorThis is the main window that you see when you start Run Mode. The run timeanimator handles any operator interaction with a running Infilink project.

Database ServerThis is the data management component of Infilink Run Mode. You may see itreferred to as the "Data Manager". It handles the exchange of data between therun time animator and the device drivers. It is also responsible for managingactive OPC and DDE links, updating the scheduler, animator and data loggerwhen a piece of data changes, and notifying the animator of alarm conditions.

Data LoggerThe data logger processes data changes and records information about thechange to a log file.

Alarm LoggerThe alarm logger processes alarm notifications from the database server andrecords the alarms to a log file.

OPC/DDE ServerA server provides the interface between Infilink and a specific piece of hardware.Each server knows only how to communicate with a specific device or set ofdevices. You will need to choose the appropriate server for your application andinstall this component separately.

If Infilink does not provide a native driver for the device that you will be using, youcan use any third party OPC or Advanced DDE server in place of the devicedriver.KEPware's OPC Server application, KEPServerEX, has been provided for you onthe Infilink CD. Please refer to the documentation provided with KEPServerEX todetermine if an appropriate device driver is available for your application.

Event Log ViewerThe event log viewer captures and displays status output generated by the otherrun mode components. Each status message is time stamped and displayed inthe Event Logger window. The contents of this window may then be printed orsaved to a text file for later review.

Page 26: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 16

Lesson 1: Learning to Use Infilink

OverviewIf you need help, thecompleted lessons maybe found in the Infilink\lessons directory.

These lessons areprovided to give you areference of what aproject should look likewhen completed.

Thank you for making Infilink your choice in HMI Software. Infilink has beendesigned to allow you, the user, to get maximum performance with a minimalamount of effort.

This lesson and the lessons that follow are designed to guide you through theprocess of creating an Infilink project. The lessons will get more complex as theyprogress. Some lessons, like this one, are designed to teach you about the partsof Infilink. At any time you may jump forward to another lesson or skip lessonsentirely.

Page 27: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 17

Lesson ObjectivesThis lesson is designed to give you a basic understanding of how to navigatewithin Infilink. When completed you should be able to:

• Create a new project.• Add/Draw objects in a project window using the Toolbars or Main

Menu.• Edit objects using the Main Menu, Short Cut Menus, or Toolbars.• Save a Project

If you feel that you know how to navigate in Infilink, please feel free to go toLesson 2.

This is what your projectwill look like at the end ofthe lesson.

Page 28: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 18

Creating a Project1. Open the Infilink Design Mode application.

2. Click Cancel in the Open Project dialog box

Show at startup, whenthis box is checked theOpen Project window willautomatically come upwhen Infilink Design isstarted.

3. Click the File menu and select New ...

Page 29: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 19

4. The New Project dialog box will open. Type a name in the Create Directoryfield as a project name, we suggest using “Lesson1”. Click Create to acceptthe settings and create the project.

5. When the system asks you to verify the name and path of your project, clickYes if it is correct. If not, click No and repeat 3.

6. The design Mode will start with a default window created. Open the WindowProperties dialog box by clicking on Properties… in the Window menu.Leave “Win001” for a window Name and type “Drawing and Editing” for a Title.

Page 30: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 20

Win001 is thesystem generatedobject Name forthe first window ina project. You canchange this nameat any time.Generally we willgive a name to awindow thatindicates its usei.e." Main" or"Pump_room1".

The Title text willappear in the titlebar of the projectwindow.

Show when projectstarts in run mode,when checked,makes the windowopen whenever theproject is opened inrun mode.

7. Click on Show when project starts in run mode, then click OK to create the window.

8. A grid is available to assist in the layout and alignment of objects in thewindow. If it is not activated, click on the Layout menu and select Enable grid

or click the button on the Window Toolbar. When objects are drawn orresized, they will “snap” to the points on the grid.

9. To make document images clearer we have chosen the color of our window

to be white. If you wish to change your window color, click the button onthe Window Toolbar and select the desired color from the displayed palette.

Page 31: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 21

The Importance of Object Properties

Unnamed objects will bereferred to as "unnamed"on the status bar, and incompile error messages.

An Infilink project will notrun if it contains errors.

About Object Properties

Every object has properties that can be modified both at design and run time.The differences in dialog boxes for each object are too numerous to explain inone lesson. You can investigate these differences on your own when you havelearned how to create each of the objects and modify their properties.

Properties common to every object are name, size and position. Generally youwill use the mouse to change an object’s size or position. You must however usean object’s property dialog to change its name.

The Object Name

When creating objects it is very important that you consider giving a uniquename to any object that will be animated. You might have ten to twenty objectsgrouped together to simulate a panel and have one object that is animated.Naming that object will allow you to immediately know when you have selectedthat object by seeing its name appear in the status bar.

To reference the properties of an object at run time using a script, you must beable to specify that object by name.

When you save a project if there are errors in scripts or animations, messageswill appear in the event logger. These messages will indicate objects by nameand indicate what kind of error has occurred.

Page 32: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 22

A Chance to PracticeYou will now take the opportunity to add some objects to our project and learnhow to manipulate them. Feel free to deviate from the lesson, its goal is to helpyou feel comfortable using Infilink

If you make a mistakewhen drawing an object,you can choose Undofrom the Edit menu orselect the object andpress the DEL key toremove it.

Draw and Place a Rounded Rectangle.First, you will place a Rounded Rectangle in the upper left corner of our projectwindow.

1. Click the button on the Toolbar.

2. Place the pencil cursor in the upper left corner of the project window.

3. Holding the left mouse button down, drag the cursor down and to the rightcreating a box. Release the mouse button when done.

4. While the object is still selected press the right mouse button and clickProperties... from the popup.

Page 33: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 23

5. Type “Round_rect” in the Name field of the Properties dialog box.

Notice the name of theobject changed from“Unnamed” to“Round_rect” on thestatus bar.

6. The Geometry tab allows you to change the shape of the corners. Changingboth numbers to 0 will make the rounded rectangle a perfect square.Changing those numbers to 100 will make it a perfect circle. As you will see,these attributes can also be changed visually by invoking a special modecalled Reshape.

7. Click OK to exit the dialog.

Page 34: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 24

8. While the object is still selected, press the right mouse button and clickReshape from the short cut menu.

9. Move the cursor over the reshape dot until it becomes a hand.

10. Holding down the left mouse button, move the dot around and see how itsdifferent locations effect the corners of the rectangle.

11. When you are through, drag the reshape dot to the center of the bottom lineand release the left mouse button as shown below

Draw and Place a Text ObjectYou are now going to draw a text object in the approximate center of the projectwindow.

1. Click the button on the Edit Toolbar.

2. Place the pencil cursor below the rectangle in the center of the projectwindow.

3. Holding the left mouse button down, drag the cursor down and to the rightcreating a box. Release the mouse button when done.

Page 35: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 25

4. While the object is still selected press the right mouse button and select theProperties... item from the short cut menu.

5. Select the Text tab and type the following text in the Text field: “Text can beuseful”.

Page 36: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 26

6. Click on the General Tab and type “My_text” in the Name field.

Notice the name of theobject changed from“none” to “My_text”on thestatus bar.

7. Click OK to accept the changes and exit the dialog.

8. If the text is too close to the rectangle or is not close enough to the center,place the cursor over the text until it becomes a hand.

9. Holding the left mouse button down, drag the text object so that it is centeredin the project window.

Page 37: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 27

Draw and Place a TriangleYou are now going to draw a polygon in the shape of a triangle in the lower rightcorner of the project window.

1. Click the button on the Toolbar.

2. Place the pencil cursor below the text object in the lower right portion of theproject window.

3. Click the left mouse button to set the first corner of your triangle. Drag thecursor to the next point and release. Move the cursor to the last position anddouble click to finish creating the triangle.

4. While the object is still selected, use the short cut menu as you did above todisplay the properties dialog or press F4 to do the same thing.

Page 38: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 28

5. Assign the name “Triangle” to the object and click OK.

See the help file forinformation on how toreshape a polygon.

6. Change the fill color of the triangle to bright green by clicking the , solid

fill and the , fill color tools on the Fill Toolbar.

Page 39: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 29

Grouping the ObjectsYou are now going to group all three objects and manipulate them together.

1. Click the button in the Edit Toolbar to set the Selection Tool.

2. Click somewhere on a blank area of the window to deselect any selectedobjects.

3. Position the cursor above and to the left of the Rounded rectangle.

4. Holding the left mouse button down, drag the cursor down and to the rightcreating a bounding box or “lasso” large enough to enclose all of theobjects in the project window and release the mouse button.

5. Click the button on the Toolbar to align all of the grouped objects totheir horizontal centers.

Notice how the objectsaligned to the right.Alignment always keys offof the object with theblack handles.

Page 40: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 30

6. Click the button on the Toolbar to space all of the grouped objectsequally from the top of the group to the bottom.

7. Click on the Group tool in the Edit Toolbar to group the objects.

8. Use one of the methods described earlier in the lesson to display theproperties of the group and name it “grpLesson1”.

Page 41: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 31

9. Drag the left side of the group to the left to resize the group and the objectscontained within it.

10. Double Click while holding the Shift and Ctrl keys down on one of thegrouped objects. This selects the group and allows you to edit individualobjects in the group.

Note: Variable size is automatically assigned to text objects in a group when thegroup is resized by dragging a handle.

Page 42: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 32

11. Click on the button in the Alignment Toolbar to align all of the groupedobjects to their Horizontal center points.

12. Click the button to undo the last changes until your window returns to theimage below.

Save the Project and Exit1. Select the Save item from the Project menu2. Select the Exit item from the Project menu to exit the program.

Page 43: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 1: Learning to Use Infilink • 33

Page 44: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 34

Tag Groups and Tags

OverviewThis section describes the Tag Database Editor. You will use this editor to definegroups that represent PLC devices and tags that represent locations on thesedevices.

About Tag GroupsA Tag Group is used by Infilink to identify a source of data. A Tag Group canrefer to a piece of physical hardware, an OPC or DDE link or internal memorylocations within Infilink. What follows is a description of each of the possible TagGroup types.

SystemThese are internal memory locations maintained by Infilink that contain systeminformation. Such as the current date and time, the name of the current user,etc. Tags cannot be defined for this Tag Group and are read only.

MemoryUser defined memory locations within the context of the running project. A tagthat is used to hold the intermediate results of a calculation would be assigned tothis node.

DDE (User Defined)A type of PLC hardware device, program or DDE server application that willprovide data to Infilink. For DDE servers, the Server Name will identify a serverapplication and topic a node in that server.

OPC (User Defined)An OPC server application that will provide data to Infilink. For OPC servers, theProg ID will identify an OPC application.

VirtualA Virtual Tag serves as a pointer to another tag's information. These tags canthen be dynamically reassigned to another tag's values during Run mode with ascript. Virtual tags can hold data of any type.

Page 45: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 35

Adding/Editing Tag GroupsThe Tag Editor is called up by selecting Tag Groups… from the Project menu orby pressing F6.

Creating Tag GroupsThe Tag Groups dialog box is used to add user defined Tag Groups to a project.Click on Tag Groups… in the Infilink Project menu or press F6.

Clicking on Tag Group icon allows you to add a new Tag Group of that type,double clicking on a defined and highlighted tag group allows you to edit thegroup’s properties.

Edit Tag Group Properties ToolUse this tool to bring up the properties window of a Tag Group.

Delete Tag Group ToolUse this tool to delete a Tag Group. A Tag Group can only be deleted if it isempty.

Page 46: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 36

Creating a Memory Tag Group

1. Click on the tool.

2. Name: Enter a name that will identify this Tag Group. The name you enterhere will appear in scripts that use Tags from this group.

3. Click OK to add the group.

Creating a DDE Tag Group

1. Click on the tool.

2. Name: Enter a name that will identify this Tag Group as a link to a DDEserver. The name you enter here will appear in scripts that use Tags from thisgroup.

Page 47: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 37

See Using DDEAlthough KEPware's OPCserver is referred to asKEPServerEX, its applicationname is still KEPDDE.

3. Server name: Enter the name of the program or DDE server application thatthis Tag Group will use to get to a DDE information source.

4. For a DDE Tag Group, you would enter the name of the server applicationthat will be providing data to your project. If you will be using KEPware'sOPC server, you would enter KEPDDE if the server and Infilink will reside onthe same PC. Otherwise, you would enter a string of the form \\<computername>\ndde$ to specify a NETDDE connection to KEPServerEX on the PCidentified by <computer name>.

5. Server topic: Enter the name of the server device or program handle that is aDDE information source.

6. If the Tag Group you are defining uses an Infilink device driver then this fieldidentifies the device on the device network. You must enter a number hereeven if only one device will be used.

7. For a DDE Tag Group you would enter the name of the server topic that theTag Group will represent. Note: If you will be using KEPware's OPC serverthen the topic would be "_ddedata" or an Alias name created in the server.When specifying a topic for a remote server you will need to append a $ toidentify the topic as a registered NETDDE share.

8. Data format: You may specify the format of a DDE connection for a givennode by assigning a format to that node. Available formats are Advancedand CF_TEXT. If you know that a specific server supports both Advancedand CF_TEXT connections (such as KEPServerEX), you can force Infilink toonly connect using the format that you choose by assigning the desiredconnection type. When the format is set to Advanced, Infilink will alternatelytry Advanced followed by CF_TEXT when attempting to connect with aserver.

Advanced Tab

9. Initially disabled at run mode start: Allows you to manually start looking forDDE information when you need it. In some cases, the DDE information isnot available until the Server Application is started (sometimes this is afterInfilink is already running).

Page 48: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 38

10. Wait: Puts a delay in before attempting to reconnect to a broken DDE link.This gives the Server a chance to reestablish a link with its Topic.

11. CF_TEXT DDEThese settings apply only when CF_TEXT is the data format.

Enable Block data start requestsOn startup, DDE tag information must be sent to the server so that theserver knows what information to give Infilink. When checked, DDE taginformation is sent in a high efficiency fashion to the server. Otherwise,each DDE tag's information is sent normally. Check this box toaccommodate servers without high efficiency request capabilities.

Initialization delay in milliseconds (0-2000)This value causes a communication delay to the DDE server shortly afterInfilink starts. This allows servers with a long response after startup torespond properly to Infilink initialization commands. This delay occursonly once when Infilink is started.

Data start request delay in milliseconds (0-1000)Use this value to put an additional delay after DDE communications areinitialized. Once this delay is over requests for DDE data begin. Thisallows servers with a long response after initialization to respond properlyto Infilink data requests. This delay occurs only once when Infilink isstarted.

Notes:1. The above two delays can add up to 3 seconds to the startup time ofan Infilink project. Making the delay times shorter reduces thisadditional delay. The delay can be fine-tuned by a trial and errorprocess. The delay is dependent on the server you are using.2. KEPServerEX will accept high efficiency data requests and requiresno delays on startup.

12. Click OK to add the group.

Page 49: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 39

Creating an OPC Tag Group

1. Click on the tool.

2. Name: Enter a name that will identify this Tag Group as a link to an OPCserver. The name you enter here will appear in scripts that use Tags from thisgroup.

3. Description: Enter a brief description. This will help you to identify thepurpose of the tags in this group later on.

4. Prog ID: Enter the name of the OPC server or source. Use the tool tobrowse for OPC applications that are running at design time. If you will beusing KEPware's OPC server, you would enter KEPware.KEPServerEX.V4 ifthe server and Infilink will reside on the same PC. Otherwise, you enter aremote machine name to specify a remote connection toKEPware.KEPServerEX.V4.

5. Remote machine: Enter a remote machine name <computer name> tospecify a remote connection to the server, named in the Prog ID field.

6. Update Rate: The update rate specifies how often the Tag Group shouldrequest data from the Server.

7. Click OK to add the group.

Page 50: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 40

Creating a Virtual Tag Group

1. Click on the tool.

2. Name: Enter a name that will identify this as a Virtual Tag Group. The nameyou enter here will appear in scripts that use Tags from this group.

3. Description: Enter a brief but meaningful description. This will help you toidentify the purpose of the tags in this group later.

4. Click OK to add the group.

Page 51: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 41

About TagsA tag is a named object that is used to reference a piece of data. The TagGroup to which the tag is assigned determines the source of the data.

The Tag Groups dialog box is used to define new tags and edit the properties ofexisting tags. You can access this dialog box by pressing F6 or selecting the TagGroups… item from the Project menu while in Design Mode. Any changes thatyou make to the tags are not saved until you save your project.

Predefined System TagsThere are sixteen predefined, read-only memory tags called System tags thatInfilink Run Mode automatically assigns and updates. You cannot delete thesetags or change their properties. System tags are not included in the tag count ofyour application.

_AccessLevel ShortIdentifies the access level of the current user (0-255).

_ActiveAlarmCnt LongIdentifies the number of currently active alarms in the running project.

_AlarmLogStatus ShortIdentifies the state of the Alarm Logger where: 0 = Off, 1 = On and -1 = Disabled.

_DataLogStatus ShortIdentifies the state of the Data Logger where: 0 = Off, 1 = On and -1 = Disabled.

_Date ShortIdentifies the day of the month.

_Day ShortIdentifies the day of the week where: 0 = Sunday, 1 = Monday,..., 6 = Saturday.

See File Functions inScripting.

_FileOpStatus ShortHolds the result of the most recent file operation. Result codes are defined asfollows:

0 Function success-1 File not found-2 Maximum open file count of 8 has been exceeded-3 Unable to create the target file-4 An error occurred during a file read operation-5 An error occurred during a file write operation-6 A memory allocation failure occurred during a read operation-7 The maximum CSV field length of 256 characters has been exceeded.-8 A specified read offset was past the end of the file.-9 An invalid length parameter was specified.

_Hour ShortIdentifies the current hour in 24 hour format where 0 = 12:00 am, 13 = 1:00 pm,etc.

Page 52: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 42

See System Functions inScripting

_MenusVisible DiscreteIdentifies the visible state of the main program menus at run time where 0 = Off,1 = On.

_Minute ShortIdentifies the current minute from 0 to 59.

_Month ShortIdentifies the current month from 1 to 12.

_Msecond ShortIdentifies the current millisecond from 0 to 999.

_ProjectPath StringIdentifies the current project path formatted with a trailing backslash character (\)as in C:\Infilink\Projects\test\

_Second ShortIdentifies the current second from 0 to 59.

_User StringIdentifies currently logged in user. If no user is logged in, this tag will assume thevalue NOUSER

_Year ShortIdentifies the current year in 4 digit format.

Page 53: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 43

Adding/Editing User Defined Tags

Tag Edit Tools

Create new Tag ToolUse this tool to create a new Tag in the active group. Right clicking in the Tagwindow will bring up a shortcut menu to do the same thing.

Edit Tag Properties ToolUse this tool to bring up the Tag Properties window.

Delete Tag ToolUse this tool to delete a Tag. Make sure the tag is not used in any animation orerrors will occur when trying to save the project.

Creating a Memory Tag

Click on a Memory Tag Group in the Tag Group list. Then click on the toolabove the Tag list or right click in the tag list box and select New Tag…

Tag names are not casesensitive and as such"Tag1" is the same as"tag1". You should try touse as descriptive andunique a name aspossible for each tag thatyou define. Doing so willavoid confusion. The tagname can be up to 32characters in length andmust start with a letter.

Tag Name FieldDisplays the name of the currently selected tag. When defining a new tag youwill enter the name for that tag in this field.

DescriptionEnter a brief but meaningful description. This will help you to identify the purposeof the tag later.

Initial value (Memory Tags only)Enter the value that you would like this tag to assume when the project is firststarted.

Page 54: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 44

Data Type applies to allTag group types exceptVirtual.

Data TypeUse this list to select a data type for the value that will be assigned to the tag.

Discrete: Boolean value, False = 0, True = 1

Char: An 8 bit signed value with a range from -128 to 127 that represents onecharacter.

Byte: An 8 bit value with a range from 0 to 255.

Short: A 16 bit signed value with range -32768 to 32767

Word: A 16 bit unsigned value with range 0 to 65535

Long: A 32 bit signed value with range -2,147,483,648 to 2,147,483,647

DWord: A 32 bit unsigned value with range 0 to 4,294,967,295

Real: Single precision (4 byte) floating point value with range -3.37 E38 to +3.37E38

Double: Double precision (8 byte) floating point value with range –1.7976931E308 to +1.7976931 E308

String: A character array of varying length from 1 to 256 bytes

SecuritySecurity is used to restrict the user from changing a tag's value. A tag's valuemay be changed by a variety of ways. Conditional access can also beimplemented by using Access Levels.

Internal AccessSelect Read Only to prevent the value of this tag from being altered. If atag value is to be modified under project control from either a script or enterdata animation then it must be given Read/Write privileges.

DDE client accessSelect No Access to prevent OPC/DDE client applications from viewing thevalue of this tag.Select Read Only to allow OPC/DDE client applications to read it's value butprevent the value from being altered.Select Read/Write to allow any OPC/DDE client application to modify thevalue of the tag.

Internet client accessSelect No Access to prevent Internet client applications from viewing thevalue of this tag.Select Read Only to allow Internet client applications to read it's value butprevent the value from being altered.Select Read/Write to allow any Internet client application to modify the valueof the tag.

See Lesson 5 for moreinformation on loggingdata.

Log on data changeUse the Log on data change check box to have value changes for this tagrecorded in a log file.

Click OK to add the group.

Page 55: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 45

Creating a DDE Tag

Click on a DDE Tag Group in the Tag Group list. Then click on the toolabove the Tag list. Alternatively, right click in the tag list area and select NewTag... from the shortcut window.

The Data type shouldmatch the value you areretrieving.

Most Settings are the same as a Memory tag. Additional settings are listed below.

Server itemThe address* of the information in the device or tag name in the server. For acontroller this might be a register number (ie. R0012) or in a spreadsheet program acell location (c3).

*AddressThe address of a Server item is a string of 1 to 30 characters that specifies anitem name supported by the topic identified in the DDE Tag group properties.Note: If you will be using KEPServerEX without an Alias as the topic, you mustspecify the Channel and Device as well as the address for the item name.<Channel Name>.<Device Name>.<Address>

You can specify an optional scan rate and/or data type for the item using theformat:

<item name>@<scan rate>

Where:<item name> is the path to the device address or just an address if an alias isused.<scan rate> is the scan rate of the address in milliseconds. Infilink will requestthe information from the DDE server at this interval. The scan rate specifieshow often the device driver should request this piece of data from the device.

Page 56: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 46

Creating an OPC Tag

Click on an OPC Tag Group in the Tag Group list. Then click on the toolabove the Tag list. Or right click in the tag list area and select New Tag... fromthe shortcut window.

The Data type should matchthe value you are retrieving.

Most Settings are the same as a DDE tag. Additional setting listed below.

Design Tip

When more than oneaddress in the server isselected, Infilink will maketags for all of the selectedaddresses. This powerfulfeature eases the task ofcreating tags separatelyin Infilink after they havealready been created inthe server.

Server itemThe address* of the information in the device or tag name in the server.

*AddressThe address of a Server item is a string of 1 to 32 characters that specifies anitem name supported by the Prog ID identified in the OPC Tag group properties.If you will be using KEPServerEX, specify the item using the format:

<channel name>.<device name>.<item name>

Where:<channel name> is the name of the Channel in the OPC server<device name> is the name of the device in the OPC server<item name> is the device address in the controller or a tag name that wascreated in the OPC server

Use the tool to browse for OPC Server items. This will generate theaddress for you automatically and put it in the Server item text box.

Note: Once a tag name is entered, the browse button will prompt you ifyou want to change the tag name. Select NO to continue with thebrowsing.

Page 57: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 47

Access path (optional)If the Server accesses two tags or addresses with the same name, a specific pathis necessary to determine which value will be returned to Infilink. If you will beusing KEPServerEX, specify the item using the format:

<channel name>.<device name>

Where:<channel name> is the name of the Channel in the OPC server<device name> is the name of the device in the OPC server

Engineering TypeThe Tag will hold the value as scaled by the OPC server.

Raw TypeThe Tag will hold the device’s un-scaled value from the OPC server.

Creating a Virtual Tag

Click on an OPC Tag Group in the Tag Group list. Then click on the toolabove the Tag list. Or right click in the tag list area and select New Tag... fromthe shortcut window.

Only a Name is needed.

Page 58: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 48

Tag Edit Advanced Tab

DeadbandSelect the Enable check box to set the minimum raw value change the tag canundergo before Infilink will see the value as changed.

Example: If a deadband of 10 is entered, the tag’s raw value must change by±10 units from that last recorded value before a new value for the tag will berecognized and logged.

If the initial value of thetag is set to a lesser valuethan the Minimum clamp,an error message will bereported to the EventLogger.

Value clamps / ScalingClampingSelect the Minimum check box to set the minimum raw value the tag can accept.If the value goes below this value the minimum value is returned.

Select the Maximum check box to set the maximum raw value the tag canaccept. If the value goes above this value, the maximum value is returned.

For example, if the clamp values are set to 10 minimum and 40 maximum Infilinkwill never allow the tag to assume a value less than 10 or greater than 40.

ScalingDDE and OPC tags can be scaled. Scaling is a simple linear interpolationbetween the raw values and the engineering values entered. EngineeringMinimum and Maximum are the scaled value range that Infilink will use forscripts and animations. Raw Minimum and Maximum are the data range receivedfrom the server. When Infilink writes data back to the server the scaling is“backed out” or reversed so that the server gets relevant data.

For example: The value of a word from the server is a 10-bit A/D converter valuewith the range of 0 to 1024. You would like to see it displayed as values rangingfrom 4 to 20. Set the Raw minimum as 0 and the maximum as 1024. Set theEngineering minimum as 4 and the maximum as 20. (Shown above).

Page 59: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 49

Tag Edit Scripts Tab

Scripts TabDisplays a Script Editor dialog box to view or edit the data change script for theselected tag.

Tag Edit Discrete, Level and Deviation Alarm TabsSee Lesson 4 for moreinformation on alarms andalarm logging.

Alarm TabsDisplays the alarm definitions. If you have added a tag that has an assigned datatype other than string, you may use these tabs to assign alarms to it.

Exporting the Tag DatabaseRight click in the Tag Groups list. You can use the Export Tags to CSV File… itemon the Tag Group shortcut menu to generate a .CSV (comma separated variable)text file containing the selected group’s tag data for the current project. The fileis composed of a Field Identification Record that identifies the order and contentof the fields (columns) in each record (row) and the tag information thatcorresponds to those fields.

Page 60: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 50

Special Note: This is thebest way to create a CSVfile. Let Infilink create atemplate using the ExportTag Database function.Then add to the templateand read it back with theImport Tag Databasefunction..

Quick TipIf you intend to use the CSV function to create your tag database in another product suchas Microsoft Excel, create a couple of tags using Infilink's normal group and tag editors.Once you have a small tag database established, use the export tag database function togenerate a template CSV file. You can then import this file into Excel and add to it asneeded.

Tag Database Field Definitions

Tag NameThe name of the tag.

DescriptionThe user supplied description of this tag.

Eng. Data TypeThe data type to use from within Infilink. Discrete, Short, Word, Long, etc.

Raw Data Type (OPC tags only)The data type to expect from the server. Discrete, Byte, Char, Short, Word, Long,DWord, Real, Double, String.

Server Item (OPC and DDE tags only)The device location/DDE item the tag references.

Access Path (OPC tags only)The path to the device location of the OPC item the tag references.

Initial value (Memory tags only)Initial value assigned if a memory tag.

Local AccessR/W if the tag may be written to, RO otherwise.

Client Access“None” if the tag cannot be accessed from DDE client application, RO if read onlyaccess is provided, R/W if full read/write access is provided.

Internet Access"None" if the tag cannot be accessed from Infilink Viewer application, RO if readonly access is provided, R/W if full read/write access is provided.

Log On Change“Y” if the data for the tag is to be logged, “N” if not.

DeadbandThe deadband value for the tag if defined.

Min. Value ClampThe minimum engineering value if clamping or scaling is enabled.

Max. Value ClampThe maximum engineering value if clamping or scaling is enabled.

Min. Value Clamp_RawThe minimum raw input value if scaling is enabled.

Page 61: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 51

Max. Value Clamp_RawThe maximum raw input value if scaling is enabled.

DeadbandThe deadband value for the tag if defined.

Discrete Alarm TriggerIf a discrete alarm is defined, the state that triggers that alarm. 0 = False, 1 =True.

Discrete Alarm CommentIf a discrete alarm is defined, the text that is assigned to that alarm. 0 to 64characters.

Discrete Alarm SeverityIf a discrete alarm is defined, the severity that is assigned to that alarm. 0 to 16.

Discrete Alarm Access LevelIf a discrete alarm is defined, the Access level that is assigned to that alarm. 0 to255.

Discrete Alarm ActionIf a discrete alarm is defined, the actions that are assigned to the alarm. “L” =Log, “P” = Print, “D” = Display "E" = E Mail.

Deviation Alarm TargetIf a deviation alarm is defined, the target value that is assigned to that alarm.

Deviation Alarm Min. %%The minor deviation percentage if a deviation alarm is defined.

Deviation Alarm Min. CommentIf a deviation alarm is defined, the text that is assigned to that alarm.

Deviation Alarm Max. %%The major deviation percentage if a deviation alarm is defined.

Deviation Alarm Max. CommentIf a deviation alarm is defined, the text that is assigned to that alarm.

Deviation Alarm SeverityIf a deviation alarm is defined, the severity that is assigned to that alarm. 0 to 16.

Deviation Alarm Access LevelIf a deviation alarm is defined, the Access level that is assigned to that alarm. 0to 255.

Deviation Alarm ActionIf a deviation alarm is defined, the actions that are assigned to the alarm. “L” =Log, “P” = Print, “D” = Display "E" = E Mail.

High High Alarm TriggerHigh high alarm activation value if high/low alarm is defined.

High High Alarm CommentIf a High High alarm is defined, the text that is assigned to that alarm.

Page 62: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Tag Groups and Tags • 52

High Alarm TriggerHigh alarm activation value if high/low alarm is defined.

High Alarm CommentIf a High alarm is defined, the text that is assigned to that alarm.

Low Alarm TriggerLow alarm activation value if high/low alarm is defined.

Low Alarm CommentIf a Low alarm is defined, the text that is assigned to that alarm.

Low Low Alarm TriggerLow Low alarm activation value if high/low alarm is defined.

Low Low Alarm CommentIf a Low alarm is defined, the text that is assigned to that alarm.

Level Alarm SeverityIf a Level alarm is defined, the severity that is assigned to that alarm. 0 to 16.

Level Alarm Access LevelIf a Level alarm is defined, the Access level that is assigned to that alarm. 0 to255.

Level Alarm ActionIf a Level alarm is defined, the actions that are assigned to the alarm. “L” = Log,“P” = Print, “D” = Display "E" = E Mail.

TargetThe target value if a deviation alarm is defined.

Major DevThe major deviation percentage if a deviation alarm is defined.

Minor DevThe minor deviation percentage if a deviation alarm is defined.

Notes

1. System tags are not included in the CSV output.

2. Data change and Alarm scripts are not included in the CSV output

3. If a tag database that contains scripts is exported, modified and thenimported back into the same project, the scripts will remain intact.

4. When importing a tag database, the fields of an identification record are notrequired to be in any specific order.

5. When importing a tag database, only required fields need be included buteach included field must have a matching field in the identification record.

Page 63: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. • 53

Importing the Tag Database

You can use the Import Tag Database… item on the Tools menu to merge thecontents of a .CSV (comma separated variable) text file consisting of node andtag data with the existing node and tag data for the current project. You can usethe Export Tag Database function to create a template that can then beexpanded in a spreadsheet application that supports CSV files. The result canthen be saved to disk and imported back into Infilink using this tool.

Page 64: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 54

Page 65: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 55

Animations: Your Process in Action

OverviewNow that you have learned a little about Infilink, we will take the opportunity todiscuss animations. In Infilink, every object can be animated in some fashion torespond either to mouse clicks or changes in the data of an associated controltag. This section discusses all of the Animations available from the AnimationsDialog Box.

About AnimationsThe following types of animation are defined in Infilink:

1. Show/Hide2. Blink3. Stretch Horizontally4. Stretch Vertically5. Move Horizontally6. Move Vertically

7. Change Color8. Rotate9. Enter Data10. Show Value11. Slider12. Take Action

Not all forms of animation are available for all objects. For example, a Textobject can have a Show Value animation whereas a Rectangle object cannot, yetboth objects can have a Take Action animation. Objects can have severalanimations defined at once.Animations are defined using the Animations dialog box accessed from theAnimations… menu item on the Edit menu, by selecting Animations… from theshort cut menu or by pressing the F5 key. An object or group must be selectedbefore you can use the Animations dialog box. Once you are in the Animationsdialog box, only those animations that are appropriate to the object or group aremade available.

You will not be able to assign conflicting animations to the same objects or to thegroups that contain those objects. For example, you cannot place an Enter Dataand Slider animation on the same object.

Page 66: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 56

Animating an Object

The Blink animationcannot be assigned to agroup

Making an Object BlinkThe Blink Animation is used for Blinking an object; either alternately making itvisible, then invisible, or alternately making it one color, then another color.Three blinking speeds are provided.

. 1. Press the tool or press the Blink button in the Animations dialog box.

2. Press the Tags... button in order to view the Tag List. An Analogtag must be attached to this animation. Select a tag to create a tag name orexpression.

3. Check the Substitute zero for input value if tag data is not valid if desired.Checked: Whenever the Tag value is outside of the specified range the moveanimation puts the object in the zero position.Unchecked: Whenever the Tag value is outside of the specified range themove animation leaves the object in the last valid position.

Page 67: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 57

4. If a Discrete tag is selected, then choose whether to blink the object when thevalue of the tag is Logical TRUE (ON) or Logical FALSE (OFF).

5. If an Analog tag is selected then choose whether to blink when the value iseither Within the Range (Inclusive) or Outside the Range of assigned valuesyou enter under Input value range. If Within the Range is selected, the objectwill blink when the tag value falls within the given Low to High range.

6. Select a Blink type. Show/hide will alternately show and hide the object whenthe blink condition is TRUE. Change colors will alternately change the colorof the border, interior or text of an object when the blink condition is TRUE.You set the colors by clicking on the colored rectangles and choosing thedesired color in the Color Selection Dialog.

7. Select the desired Blink rate Slow, Medium or Fast. The Fast cycle time isapproximately 400 ms, Medium is approximately 800 ms and Slow isapproximately 1.2 seconds.

8. Choose OK to accept the animation definition.

Showing and Hiding ObjectsThe Show/Hide Animation is used to provide conditional visibility or invisibility ofan object. It can be used with overlapping images to show multiple states of anobject.

The Show/Hide animationmay be assigned to anyobject.

1. Press the button in the Animations Toolbar. Or, right click on the objectand select animations. Then select the Show/Hide animation button.

2. Press the Tags... button in order to view the Tag List. An Analogtag must be attached to this animation. Select a tag to create a tag name orexpression.

3. Check the Substitute zero for input value if tag data is not valid if desired.Checked: Whenever the Tag value is outside of the specified range the moveanimation puts the object in the zero position.Unchecked: Whenever the Tag value is outside of the specified range themove animation leaves the object in the last valid position.

Page 68: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 58

The Show/Hide Animationcan be used withoverlapping images toshow multiple states of anobject.

4. If a Discrete tag is selected then choose whether to make the object visiblewhen the value of the tag is Logical TRUE (ON) or Logical FALSE (OFF).

5. If an Analog tag is selected, use the Show when input value is dropdown tochoose Within the Range or Outside the Range. Enter the desired valuerange under Input value range. If the value of the tag is chosen Within theRange, then the object will only be shown when the tag value falls within thatLow - High range.

6. Choose OK to accept the animation definition.

Moving Objects Left and Right (Horizontally) or Up and Down(Vertically)

The Move animation maybe assigned to any objectexcept Alarm viewers andTrends.

Move Left/Right incombination with MoveUp/Down, using equalsteps, displays a diagonalpath of movement.

1. The Move Left/Right Animation is used to move an object in the x-direction.The Move Up/Down Animation is used to move an object in the y-direction.

2. Press the Move Horizontal or Move Vertical button in the Animationsdialog box

3. Press the Tags... button in order to view the Tag List. An Analogtag must be attached to this animation. Select a tag to create a tag name orexpression.

4. Check the Substitute zero for input value if tag data is not valid if desired.Checked: Whenever the Tag value is outside of the specified range the moveanimation puts the object in the zero position.Unchecked: Whenever the Tag value is outside of the specified range themove animation leaves the object in the last valid position.

Page 69: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 59

5. Enter the Input Value Range for Low and High that corresponds to the analogranges. High limit should always be greater than the low limit.

6. The related position of the object for each tag value can be set either by the

keyboard or by clicking the Low or High Related position button .Clicking one of these buttons takes you to the object where you cangraphically set the desired initial and final object positions using the mouse.

7. Choose OK to accept the animation definition.

The Stretch animationcannot be assigned toobjects of type line ortext.

Stretching Objects Left and Right (Horizontally) or Upand Down (Vertically)

The Stretch Left/Right Animation is used for re-sizing an object by changing itswidth.The Stretch Up/Down Animation is used for re-sizing an object by changing itsheight.

Left/Right stretch andUp/Down stretch usedtogether gives an object azoom in/out effect.

The Stretch animation isused to create Bargraphobjects.

1. Press the or buttons in the Animations Toolbar. Alternatively, rightclick on the object and select animations. Then select the Slider animationbutton.

2. Press the Tags... button in order to view the Tag List. An Analogtag must be attached to this animation. Select a tag to create a tag name orexpression.

3. An Analog tag must be attached to this animation. Enter the value that thetag has at the end points of motion in the Input value range Low and Highedit fields. The high limit should always be greater than the low limit.

Page 70: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 60

4. Choose the Direction in which to stretch the object.Left/top edge - Vertical Stretch from the top down; Horizontal Stretch fromleft to right.Center - Vertical Stretch from the center up and down; Horizontal Stretchfrom the center left and right.Right/bottom edge - Vertical Stretch from the bottom up; Horizontal Stretchfrom right to left.User Defined - allows the user to set and anchor graphically using the relatedposition button in the Stretch from frame and the mouse. The top and bottomlimits of stretch are set graphically using the other related position buttons.

5. The related position of the object can be set for each tag value either by the

keyboard or by clicking the Low or High Related position button .Clicking one of these buttons takes you to the object where you cangraphically set the desired initial and final size using the mouse.

6. Choose OK to accept the animation definition.

The Rotate animation canonly be assigned to lineobjects.

Rotating a LineThe Rotate Animation can be attached to a line object. The center of rotation canbe defined anywhere within the window. Typical use is as an indicator needle ofa meter or to show the rotation of a wheel.

1. Press the tool or Rotate button in the Animations dialog box

2. Press the Tags... button in order to view the Tag List. An Analogtag must be attached to this animation. Select a tag to create a tag name orexpression.

3. Check the Substitute zero for input value if tag data is not valid if desired.Checked: Whenever the Tag value is outside of the specified range the moveanimation puts the object in the zero position.Unchecked: Whenever the Tag value is outside of the specified range themove animation leaves the object in the last valid position.

Page 71: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 61

4. Enter the Input Value Range for Low and High values that correspond to thetag ranges. High should always be greater than the low value.

5. The Angle of rotation in degrees of the object for each tag value can be set

either by the keyboard or by clicking the relative position buttons.Clicking one of these buttons takes you to the object where you cangraphically set the desired initial and final object rotations using the mouse.Angles of rotation are measured in degrees as shown in the followingdiagram:

6. Select the Center of rotation (the pivot point). This can be:

Start point - The beginning of where the object was drawn.Center point - The center of the object.End point - The end of where the object was drawn.

User defined - If selected, the relative position button is used tographically set the center of rotation using the mouse.

7. Choose OK to accept the animation definition.

Page 72: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 62

Enter Data Into a TagThe Enter Data Animation allows the operator to assign a value to a tag in RunMode.

The Enter Data animationcannot be assigned toobjects of type line, arc,pie or chord.

The Enter Data animationcan be assigned to agroup even if one or moreof the objects in the groupcannot accept the EnterData animation.

1. Press the tool or press the Enter Data button in the Animations dialogbox.

2. Press the Tags... button in order to view the Tag List. Select atag.

3. Once the tag is selected, then select the Entry Method you want to use.There are 6 different methods to choose from:

Popup - Displays a popup dialog box that allows the operator to make anon/off selection or keypad if the tag is numerical or keyboard if the tag is astring. A plain data entry field is shown if the Keyboard attached option isselected in Project Properties. All data entry is done in signed decimalformat.Toggle TRUE/FALSE - The value of the assigned tag will be toggled fromTRUE to FALSE or from FALSE to TRUE when the mouse button orassigned key is depressed.Force SET/TRUE (1) - A one will be written to the tag whenever theanimation is invoked.Force RESET/FALSE (0) - A zero will be written to the tag whenever theanimation is invoked.Momentary - NO - The value of the assigned tag will change to TRUE whenthe mouse button or assigned key is depressed and back to FALSE whenreleased.Momentary - NC - The value of the assigned tag will change to FALSE whenthe mouse button or assigned key is depressed and back to TRUE whenreleased.

4. If the tag is a numerical value, select the Significant figures to display (1-12).

Page 73: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 63

5. Check Invoke using a keyboard shortcut if you want to supply a keyboardshortcut to activate the animation. Fill out the shortcut controls as desired.

6. If a Numeric tag is selected, Select to limit the range of entry in one of twoways.Default for data type: Limits entry to the range for that Data type.User defined: Limits the range to the settings entered in the High and Lowtext fields.

7. If your project supports multi-user security, enter the Access level that theoperator must have to activate the animation.

8. Choose OK to accept the animation definition.

Using Sliders to Input DataSlider Animation is used to vary an analog tag value within a given range. Thenew value depends on the position of the Slider. It acts like a “volume control”.

The Slider animationcannot be assigned toobjects of type line, arc,pie or chord.

Slider animations may beassigned to any group.

1. Press the button in the Animations Toolbar. Alternatively, right click onthe object and select animations. Then select the Show/Hide animation button.

2. Press the Tags... button in order to view the Tag List. An Analogtag must be attached to this animation. Select a tag.

3. Enter the value that the tag should assume at the end points of motion in theOutput value range Low and High edit fields.

Page 74: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 64

4. Choose the Direction in which to slide the object, Horizontal (Left/Right) orVertical (Up/Down).

5. The related position of the object can be set for each tag value either by thekeyboard or by clicking the @low value or @high value Related position

buttons . Clicking one of these buttons takes you to the object where youcan graphically set the desired initial and final location using the mouse.

6. Select While sliding to update the value of the tag while the slider is in motionor On release to update the value of the tag following release of the mousebutton.

7. If your project supports multi-user security, enter the Access level that theoperator must have to activate the animation.

8. Choose OK to accept the animation definition.

The Change Coloranimation cannot beassigned to objects oftype bitmap, metafile orgroup.

Changing the Color of an ObjectThe Change Color Animation is used for changing the color of an object based onthe value of a tag. With a Discrete tag, two colors may be chosen - one for eachpossible state. With an Analog tag, up to seven colors may be chosen.

1. Press the tool or press the Change color button in the Animations dialogbox.

2. Press the Tags... button in order to view the Tag List. An Analogtag must be attached to this animation. Select a tag to create a tag name orexpression.

3. Check the Substitute zero for input value if tag data is not valid if desired.Checked: Whenever the Tag value is outside of the specified range the moveanimation puts the object in the zero position.Unchecked: Whenever the Tag value is outside of the specified range themove animation leaves the object in the last valid position.

4. If the object to which you are assigning the animation has a border then youmay choose whether to change the border color by selecting the appropriatechoice in the Border Ranges dropdown selection list.

5. If the object to which you are assigning the animation has an interior then youmay choose whether to change the fill color by selecting the appropriatechoice in the Interior Ranges dropdown selection list.

6. Selecting None disables the color change for the corresponding feature,Border or Interior.

7. If a Discrete tag is selected, choose a color for each of the two states, Offand On using the Color Selection Dialog.

Page 75: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 65

If an Analog tag is selected, choose the Range number 2 - 7 and the Color foreach range. The first color is assigned when the tag value is below the first valuein the range, the next when the tag value is between the first and second values,etc. The last color is assigned when the tag value is greater than the last valuegiven.

Page 76: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 66

8. Choose OK to accept the animation definition.

Showing the Value of a TagThe Show Value Animation shows the dynamic value of a Tag. It works with bothDiscrete tags and Analog tags. It can be used to monitor a value while a processis running.

The Show Valueanimation can only beassigned to button andtext objects.

1. Press the button on the Toolbar. Or, right click on the object and selectanimations. Select the Show Value button in the Animations dialog box.

2. Press the Tags... button in order to view the Tag List. Select atag to create a tag name or expression.

3. Select the Data type that matches the Tag in the Treat value as frame and fillin its format settings.

String - Char, String tags. If a String tag is selected then no formatting isrequired. The string will be displayed as it appears in the tag. Char isdisplayed as the ASCII character designated by its numeric value.

Discrete - Discrete tags. If a Discrete tag is selected then enter the text toshow when the tag value is ON and when the tag value is OFF.

Integer – Byte, Short, Word, Long, DWord. Choose the desired IntegerFormat from the list. Available formats are Decimal (Signed), Decimal(Unsigned), Hexadecimal, Octal and Binary. Specify the field width and if youwant to show leading zeros.

Real - Real, Double. Set the Real Format fields. Select to display the valuewith a given number of significant numbers (a fixed field width with floatingDP (decimal point)). Or, select to display the value in a fixed format with aspecified number of digits to the Left of the DP and a specified number ofdigits to the Right of the DP.

4. Choose OK to accept the animation definition.

Page 77: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 67

Formatting examplesValue Format Tag Value Displayed TextString "Running" RunningDiscrete (On, Off) 0 - False OffShort, Decimal (Signed) -54 -54Word, Decimal (Unsigned) with leading zeros 54 00054Real, 3 significant figures 12.34 12.3 Real, Fixed field, 3 Left, 3 Right 12.34 12.340

The Take Actionanimation cannot beassigned to objects oftype line, arc, pie orchord.

Executing a Script With a Button ClickIn Run Mode, positioning the mouse cursor over an object with a Take Actionanimation causes the cursor to change to a pointing finger. Clicking with the leftmouse button executes the associated At Key Down Take Action script.

Take Action Scripts are for those functions and operations that should occur as adirect result of pressing/clicking on a button or other object. Typically, thesescripts would be used for reading and writing files, opening windows, settingpresets, or acknowledging an event.

There are three types of window scripts: On button down, While button pressed,and On button up. One Script may be written for each type. While the left buttonremains down the assigned While Key Pressed script will execute at the specifiedinterval. After the mouse button is released, the assigned After Key Up script willexecute.

You may assign these scripts in any combination using the following steps.

Page 78: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Animations: Your Process in Action • 68

1. Press the Take Action button on the Animations toolbar.

2. Select when the script will occur.

3. If your project will support multi-user security, enter the Access level that theoperator must have to activate the animation.

See Scripting for moreinformation.

4. If desired, check Invoke using keyboard shortcut and choose an optionalShort Cut Key equivalent to the mouse button.

5. Enter the script and Verify that the syntax is correct.

6. Choose OK to accept the animation definition.

Page 79: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Libraries: The Quick Path to Great Looking Apps • 69

Libraries: The Quick Path to Great Looking Apps

OverviewLibraries are files containing previously drawn objects and groups. Infilink has aLibrary Manager to help you organize objects used in a project. The LibraryManager has some tools to help you accomplish this.

Library Manager tools

Create a New Library

Create a New Object Group

Open a library

Save a library

Cut an object

Copy an object

Paste an object

Delete an object or object group

Rename an object or object group

Library Manager Treebar

Page 80: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Libraries: The Quick Path to Great Looking Apps • 70

Create a New Library

1. To create your own libraries, select the New Library item from the File menu or

click on the tool. Enter a logical name for the library, e.g..,"PumpProject", "CanningMachine", etc. then click OK. A new empty Librarywill be created with an empty object group called Untitled.

2. Click on the Rename tool to give the new untitled group an appropriatename. Object group names should reflect the type of objects that are in them.

You are now ready to begin saving objects to the Object group.

Create a New Object Group

All objects must be placed in a group.

To create a new group simply click on the tool.

Then, rename the group using the tool.

The new group is ready to accept objects.

Open a library

Click on . All Infilink libraries have an extension of *.kol or *.lib. SystemLibrary is the default library that comes with Infilink.

Scroll to the library you want to open, click on it, and then press Open.

Page 81: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Libraries: The Quick Path to Great Looking Apps • 71

Save a library

Click on to save an existing library or enter a filename in the popup dialog ifthis is a new file and click Save to save the current library.

The Library Manager Treebar

A Treebar is a tool that displays the Object Groups and their Objects in ahierarchical fashion. It is located to the left of the object field as shown.

The selected object has its name highlighted in the Treebar. To Rename an

object or object group, click on its name then click on the Rename tool. AnObject name may be up to 64 characters long.

Page 82: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Libraries: The Quick Path to Great Looking Apps • 72

Saving Objects to a Library

Any drawn object placedor drawn on a windowincluding groups ofobjects can be saved to alibrary. All of theanimations and scripts willbe saved along with theobject or group. Thismakes objects andgroups in libraries a usefulresource for futureprojects. Entire windowscan be lassoed, groupedand then saved to alibrary if desired.

1. Click on the object or group to save. Right click to the shortcut menu andselect Copy.

2. Open the library and object group where you want to save the selectedobject or group.

3. Right click in the object field of the library and select Paste from theshortcut menu. A new Untitled object will be added to the treebar to the left ofthe object field. Use Rename to assign an appropriate name, up to 64characters long, to the object or group.

Be sure to save the library so that the new object or group is not lost!

Design TipNote: The object to be saved must be copied from an Infilink window. Objectscopied from other programs such as Word or Paint cannot be pasted directly to alibrary. Paste them to an Infilink window first then copy them from the windowand paste them to the library.

Placing an Object or Group from a LibrarySee Appendix A for a listof Infilink libraries.

Using predefined libraryobjects speedsdevelopment of a project.Objects from a library canbe placed in any Infilinkwindow.

1. To place an object or group from a library in a project window, simply click onand drag it on to the project window. Once an object has been placed, it maybe moved, edited, or animated.

2. Resize and adjust the object as desired. Objects that have been animatedand copied to a library retain these animations and the tags associated withthem.

If these objects are copied from the library into a project window you will have tosupply valid tag names to support the animations. Infilink allows you to reassignthe tags in your library objects when you paste them onto your project window. Ifthe object has an animation assigned to it the Reassign Tag dialog pops up.

Page 83: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Libraries: The Quick Path to Great Looking Apps • 73

Reassigning TagsThe Reassign Tagfunction can be invokedat any time on anywindow by simply rightclicking on an object. Ifthe object contains tags,the Reassign Tagsselection will be availablefrom the shortcut menu.

Design TipIf you duplicate objectswhich contain taginformation such as adisplay, you can quicklychange the tags in thenewly duplicated objectsusing the reassign tagsfunction. Thecombination of these twofunctions allows you tocreate an object oncethen quickly populateyour window withduplicates each attachedto their proper tags by thereassign tags function.

The Reassign Tag dialog is used to replace one or more tag names assigned tothe selected object. Each animation and script assigned to the object will bescanned for tag usage. You will be shown a dialog box for each different tag thatis assigned to the object.

The dialog appears as follows:

The text to the right of Old name: indicates the name of a tag found in the scan.This tag may be assigned to more than one animation or script. To reassign this

tag you can either type in a valid tag name or press the New name: buttonand select a tag from the Tag List dialog. When you press the OK button alloccurrences of Old name will be replaced with the tag name shown in the editcontrol.

You can skip reassignment of a tag by pressing OK without making any changesto the name.

Press Cancel at any time to stop the reassignment process.

Page 84: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 74

Page 85: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 75

Scripts: The Final Word in Flexibility

OverviewScripts provide the additional functionality your application may need. Infilinkscripts allow you to perform tasks such as complex scaling operations, filemanipulation, string handling, and user interactions with your process. Thissection is provided as a reference for the script functions.

Page 86: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 76

IntroductionScripts are automated sequences of commands that are executed by Infilink atrun-time. There are five types of scripts:

1. Project Scripts - Assigned at the project level.2. Window Scripts - Assigned at the window level.3. Take Action Scripts - Assigned as an animation at the object level.4. Tag Scripts - Assigned to individual tags.5. Alarm Scripts - Assigned to individual Alarms

This editor is used to editeach type of script.

The following buttons are common to all the editors:

Opens the Tag Group dialog box. You can select a tag from the taglist and its name will automatically be inserted into the script at the cursorlocation.

Searches the script for errors. If an error is found, a description ofthe error will appear in the status bar at the bottom of the dialog and the cursorwill be placed at the approximate location of the error.

Launches help for the type of script you are editing.

Quits the current edit.

Validates and assigns the script.

Page 87: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 77

Project ScriptAccess to the project script editor is granted by selecting the Scripts tab in theProject Options dialog box. There are three types of project scripts: On projectopen, While project running, and On project close. One Script may be written foreach type.

Project Scripts will containthose functions andoperations that you needto have performindependently to what theoperator is doingsomewhere else in theproject.

You should not attempt toaccess tags assigned touser defined nodes froman On project open or Onproject close scriptbecause external datamay not be availablewhen the script isexecuted.

On project openInitialization steps that you want to perform when your project starts could betaken care of with a On project open script. This type of script executes oncewhen the project is initially loaded. You might use an On project open script toset the state of some internal memory tags or launch an external application.

While project runningPeriodic operations at the project level can be performed in a While projectrunning script. While project running scripts execute on a user defined Intervalanywhere between 100 and 99999 ms. While project running scripts are executedbefore any On window open scripts if such scripts are defined.

On project closeAny project level cleanup that you need to perform can be done in an On projectclose script.

Entering a Project Script1. Press the Scripts tab and select when the script will occur.

2. Enter the script and Verify that the syntax is correct.

3. Choose OK to accept the script definition.

Page 88: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 78

Example: While running script @ 5000 MS scan rate# If the acknowledge bit for the chlorine alarm# is on. Show the Hazard window and beep the speaker# 5 times.If (chlorine_ack == ON) then Show "Hazard"; Beep(5); Chlorine_ack = OFF;Endif;

Window ScriptsAccess to the window script editor is granted from the Window Properties dialog.You can display the Window Properties dialog for the selected window byselecting properties from the window's shortcut menu. There are three types ofwindow scripts: On project open, While project running, and On project close.One Script may be written for each type. The types of script that you may definefor a window are defined below.

Window Scripts are usedfor those functions andoperations that are onlyimportant while thewindow is opened. Forexample you may want toshow or hide certainobjects, or you may wishto perform somecalculation that onlydisplays on the window.

On window showInitialization steps that you want to perform prior to showing a window could betaken care of with an On window show. You might use an On window showscript to initialize the properties of one or more objects on the window.

While window showingPeriodic operations at the window level can be performed in a While windowshowing script. While window showing scripts execute on a user defined Intervalanywhere between 100 and 99999 ms. You might use this type of script to cyclethe value of a memory tag that is used on the window.

Page 89: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 79

On window hideAny window level cleanup that you need to perform when a window is removedfrom view can be done with an On window hide script. You might use this type ofscript to show a different window.Entering a Window Script1. Press the Scripts tab and select when the script will occur.

2. Enter the script and Verify that the syntax is correct.

3. Choose OK to accept the script definition.

Example: While showing script# Calculate the percentage of capacity used in the brewing vat.# The vat is 27 feet deep. Each foot equals 4800 gallons or 400# GPI. Capacity is initialized at 129,600. Level is recorded in# inches and GPI is initialized at 400.

percap = (level * GPI) / capacity;

Page 90: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 80

Take Action ScriptsAccess to the Take Action script editor is granted from the Animations dialog box.You can display the Animations dialog for the selected object or group bypressing F5. There are three types of window scripts: On button down, Whilebutton pressed, and On button up. One Script may be written for each type.

Take Action Scripts arefor those functions andoperations that shouldoccur as a direct result ofpressing/clicking on abutton or other object.Typically, these scriptswould be used for readingand writing files, openingwindows, setting presets,or acknowledging anevent.

On button downThe script assigned to this phase of the button or key press will execute as soonas the mouse button or assigned short cut key is pressed.

While button pressedThis script executes at the specified Interval from 100 to 99999 ms while themouse button or assigned short cut key remains pressed. You might use this typeof script to change the value of a memory tag at a slightly faster rate than couldbe attained from repeatedly pressing the key.

On button upThis script executes when the mouse button or assigned short cut key is released.To emulate a Windows style button that initiates a single action you would usethis type of script.

Page 91: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 81

Executing a Script With a Button ClickYou may assign these scripts in any combination using the following steps.

1. Press the Take Action button on the Animations toolbar. Select when thescript will occur.

2. If your project will support multi-user security, enter the Access Level that theoperator must have to activate the animation.

3. If desired, check Invoke using keyboard shortcut and choose an optionalShort Cut Key equivalent to the mouse button.

4. Enter the script and Verify that the syntax is correct.

5. Choose OK to accept the animation definition.

Example: On button up script

# When the button is pressed and released,# the Chlorine Gas Alarm is acknowledged.

Chlorine_ack = TRUE;PostMsg ("Acknowledge Chlorine Gas Alarm by operator" +_User);

Tag Data Change ScriptsData Change Scripts arefor those functions andoperations that you wantto perform when datachanges. You might usea Data Change Script tomodify a process when atag exceeds a certainvalue.

Access to the data change script editor is granted by selecting the Scripts tab in aTag's Properties dialog box. You can display the Tag Groups dialog box bypressing F6.

Page 92: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 82

When defining numericaltags, you can assign aDeadband. TheDeadband specifies theminimum amount bywhich the tag value mustchange before a changeevent will be triggered.

On data changeAn On data change script assigned to a tag in the tag database will executewhenever the tag value changes. If the tag has an assigned deadband, the valuemust change by at least that value before the script will execute.

Entering a Tag Script1. Select a tag by clicking the Tag Group tool button to display the defined tags

and then choose one by double-clicking it with the mouse or use the shortcutmenu and select Properties. From the Tag’s Properties dialog box, click onthe Scripts Tab.

2. Enter the script and Verify that the syntax is correct.

3. Choose OK to accept the script definition.

Example:# If the chlorine sensor detects chlorine the chlorine# acknowledge bit is set on.

If (chlorine_detect == 1) then Chlorine_act = 1;Endif;

Alarm ScriptsAccess to the alarm script editor is through a Tag’s properties dialog when youassign an alarm to a tag.

Alarm Scripts are forthose functions andoperations that you wantto perform when an alarmcondition is active. Youmight use an Alarm Scriptto sound an alarm when atag exceeds a certainvalue. The script maytake place at any to all ofthe possible times.

Page 93: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 83

On active transitionActions that you want to perform when the alarm occurs could be taken care ofwith a On active transition script. This type of script executes once when thealarm initially occurs. You might use a On active transition script to trigger anannunciator or show a diagnostic window.

While activePeriodic operations while an alarm condition exists can be performed with aWhile active script. While active scripts execute on a user defined Intervalanywhere between 100 and 99999 ms.

On acknowledgePeriodic operations after an alarm is acknowledged can be performed with an Onacknowledge script. On acknowledge scripts execute once when the alarm isacknowledged. Acknowledging an alarm does not stop any While active scriptsfrom executing.

On inactive transitionAny alarm housekeeping that you need to perform can be done in an On inactivetransition script.

Entering an Alarm Script1. Select a tag by clicking the Tag Group tool button to display the defined tags

and then choose one by double-clicking it with the mouse or use the shortcutmenu and select Properties. From the Tag’s Properties dialog box, click onthe appropriate Alarm Tab then click on the Script button.

2. Enter the script and Verify that the syntax is correct.

3. Choose OK to accept the script definition.

Page 94: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 84

Script ReferenceGeneralThe remainder of this chapter deals with the commands and constructs that maybe used when writing a script. Here are some basics:

• A valid script contains at least one statement.• Each statement must end with a semicolon (;)• Keywords such as IF, THEN, While and _SysCmd are not case sensitive.• Window names, tag names and object names are not case sensitive.

Comments

In order to continue acomment on the next lineyou must place a # at thebeginning.

You will find it helpful to include comments in your scripts so that when othersreview your work (or even you at a later date) the intended operation of the scriptwill be clear. A comment is defined by preceding the comment text with a pound sign (#) as in:

# This is a sample comment # # Show the value of a numeric expression by assigning it # to a text object. #

Logical Constants

The following constants are provided for use in expressions involving the discretedata type. They can be used anywhere a logical TRUE or FALSE is required.

ON or TRUE may be used to indicate a logical TRUE (1) OFF or FALSE may be used to indicate a logical FALSE (0)

Example: # Sound a beep from the PC speaker if the value of # DiscreteTag1 is TRUE If DiscreteTag1 == ON Then Beep; EndIf;

Page 95: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 85

Conditional Operators Conditional operators are used when creating relational expressions for use in IF-THEN-ELSE or WHILE statements. The following operators are available:

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

Parentheses may beused to set the desiredorder of execution oflogical operations.Operations written inparentheses areevaluated first from theinside out.

Example:

If (tag1 > tag2) then tag3 = 1; elseif (tag1 == tag2) then tag3 = 0; else tag3 = -1; endif;

Logical Operators Logical operators are used when combining conditional expressions.

AND Logical AND Logical expressions involving AND evaluate to TRUE if both sides of theexpression are TRUE. OR Logical OR Logical expressions involving OR evaluate to TRUE if either side of theexpression is TRUE. NOT Logical Inversion Inverts the result of a logical expression.

Infilink assumes that anynon-zero value is TRUE.

Examples: If (tag1 > tag2) OR (tag1 > tag3) then tag4 = tag1; endif; DiscreteTag1 = DiscreteTag2 AND DiscreteTag3; DiscreteTag1 = NOT (DiscreteTag2 AND DiscreteTag3);

Page 96: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 86

Assignment Operator To make an assignment to a tag or object property you would use the equals sign(=) as in: <tag name> = <expression> <window name>.<object name>.<object property> = <expression> When working with the assignment operator, <expression> can be a literal value,tag name, object property, or any combination of these that have compatible datatypes. Compatible simply means that all components of the expression must beeither string or numeric. The target of the assignment determines the appropriatetype. Virtual Tag assignmentVirtual tags can be used to hold other tag's values. No matter what type of valuethat may be. This is done by using the assignment operator. The virtual tag'sname property is assigned to a string that is actually another tag's name. Thesyntax for this assignment operation is:

<virtual tag name>.name="<tag name>";

Examples:

# Assign the result of a numeric expression to a tag tag1 = tag2 + tag3; # Assign a numeric constant to a tag tag1 = 5; # Assign a logical constant to a discrete tag DiscreteTag1 = ON; # Assign a string literal to a string tag StringTag1 = “This is a string”;

# Assign another tag’s value to a virtual tag virTags\virTag1.name="memTags\boolTag";

Page 97: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 87

Arithmetic Operators Arithmetic operators are used when constructing numeric expressions. Thefollowing operators are available:

The addition operatormay also be used toconcatenate strings.

Division by zeroevaluates to zero.

% may be used withinteger data types only.

+ Addition - Subtraction * Multiplication / Division % Modulo division. Returns the remainder from the division of two numbers.

Operators that act on tags or object properties: Toggle <discrete tag/object property>

Toggles the value of a discrete tag or object property from 1 to 0 or 0 to 1. Decr <numeric tag/object property> Decrements the value of a numeric tag or object property by one. Incr <numeric tag/object property> Increments the value of a numeric tag or object property by one.

Examples: # Modulo counter nAngleTag = (nAngleTag + 1) % 360; # Toggle the visibility of an object Toggle _ThisWin.Rect1.Show; # Increment the value of a tag Incr tag1;

Page 98: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 88

Flow Control IF-THEN-ELSE conditional construct.

Syntax: If <relational expression> Then Statement 1; Statement 2; . Statement n; ElseIf <relational expression> Then Statement 1; Statement 2; . Statement n; Else Statement 1; Statement 2; . Statement n; EndIf;

If a <relational expression> resolves to a logical TRUE the statements followingthe Then keyword are executed followed by a jump to the first statementfollowing the EndIf keyword. If a <relational expression> resolves to a logicalFALSE each successive ElseIf condition will be evaluated until a logical TRUE<relational expression> is found. If all ElseIf conditions are found to beFALSE, the Else section will execute if present otherwise execution will jump tothe first statement following the EndIf keyword. You may include as many or as few ElseIf sections as are necessary to qualifythe set of conditions you are scripting. You may omit the Else section if no default processing is required.

While Loop

Syntax: While <relational expression> Statement 1; Statement 2; . Statement n; EndWhile;

A While Loop can only be used in a While Showing Window Script, WhileRunning Project Script, or While Key Pressed Take Action Script. If the <relational expression> resolves to a logical FALSE, execution jumps to thefirst statement following the EndWhile keyword. If the <relational expression>resolves to a logical TRUE, the body of the loop will execute up to the EndWhilekeyword and the script will be suspended until the next interval as specified in theInterval setting. When execution resumes, the <relational expression> isevaluated again and the process repeated.

Page 99: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 89

Math Functions Each of the following functions returns and expects arguments of the real datatype.

Sin (<angle in degrees>) Returns the trigonometric sine of <angle in degrees>

Cos (<angle in degrees>) Returns the trigonometric cosine of <angle in degrees>

Tan (<angle in degrees>) Returns the trigonometric tangent of <angle in degrees>

Asin (<real>) Returns the inverse sine of <real>

Acos (<real>) Returns the inverse cosine of <real>

Atan (<real>) Returns the inverse tangent of <real>

Sqrt (<real>) Returns the square root of <real> (returns zero if <real> is negative)

Pow (<number>, <exponent>) Returns <number> raised to the power <exponent>

Abs (<real>) Returns the absolute value of <real>

Examples:

# Calc the hypotenuse of a right triangle from the lengths# of its other two sides. Hyp = sqrt ((s1 * s1) + (s2 * s2)); # Calc the angle between Hyp and S2 Angle = atan (s1 / s2);

Page 100: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 90

String Functions String functions operate on string expressions. You can specify a stringexpression by using a string literal or string tag or by concatenating string literalsand string tags in any combination using the + operator.

A string literal can be upto 127 characters inlength.

You create a string literal by enclosing the characters you wish to use in doublequotation marks as in "This is a string." If you need to include thedouble quotation character (“) in the string you can precede it with a backslashcharacter (\). If the literal must end with the backslash character because thestring will represent a path name then you should add one additional backslash toprevent the closing quote from being included as part of the string.

LTrim (<string expression>) Returns <string expression> with leading spaces removed.

RTrim (<string expression>) Returns <string expression> with trailing spaces removed.

Trim (<string expression>) Returns <string expression> with leading and trailing spaces removed.

Str (<numeric expression>) Returns the string representation of <numeric expression>

Val (<string expression>) Returns the numeric value of <string expression>.

UCase (<string expression>) Returns <string expression> with all characters converted to upper case.

LCase (<string expression>) Returns <string expression> with all characters converted to lower case.

Chr (<numeric expression>) Returns a single character string consisting of the ASCII character indicated by<numeric expression>.

Len (<string expression>) Returns the number of characters in <string expression>.

Equal (<string expression1>, <string expression2>) Returns 1 if <string expression1> is equal to <string expression2>, 0 if not.

Left (<string expression>, <num chars>) Returns the leftmost <num chars> characters from <string expression>.

Right (<string expression>, <num chars>) Returns the rightmost <num chars> characters from <string expression>.

Mid (<string expression>, <first char>, <num chars>) Returns the middle <num chars> characters from <string expression> starting at<first char>.

Page 101: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 91

StrPathName (<string expression>) Returns the path portion of a file specification identified by <string expression>. If <string expression> were given as c:\path\file.ext the return would bec:\path\

StrFileName (<string expression>) Returns the file name portion of a file specification identified by <stringexpression>. If <string expression> were given as c:\path\file.ext the return would befile.ext

Examples: # Simple string assignment StringTag = "My String"; # Assignment of a string containing embedded quotes QuotedStringTag = "This string needs \"quotes\""; # Assignment of a path to string tag (note the extra # backslash) PathStringTag = "c:\dir1\dir2\\"; # Convert a string to a number NumTag = Val (StringTag);

File Functions The <tag name> passed to the following two functions may be used as <filename> when calling the file read/write functions described below. The tag namesupplied must be a string type.

FileGetWriteName (<tag name>)

Displays a dialog box that allows the operator to select/enter a file specificationand assign it to the string tag identified by <tag name>. The string tag willcontain a complete file specification including drive, path and filename.

When a selection is madefrom this dialog, the pathis “remembered” betweenuses.

Page 102: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 92

FileGetReadName (<tag name>)

Displays a dialog box that allows the operator to select/enter a file specificationand assign it to the string tag identified by <tag name>. The string tag willcontain a complete file specification including drive, path and filename. The difference between this function and FileGetWriteName() is that for thisfunction the operator must choose an existing file.

When a selection is madefrom this dialog, the pathis “remembered” betweenuses.

Notes:1. The file name functions should only be called from a Take Action script (On

button down or On button up).2. The dialog box that is displayed by calling either of these functions will not be

displayed until after the function returns. You should not include anystatements following FileGetReadName() or FileGetWriteName() thatdepend on the file name that is to be selected.

3. You should only call these functions from an On button down or On button upTake Action script.

Page 103: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 93

Each of the following functions returns a Large Integer value indicating the byteoffset into the file where the operation completed. This return value may be usedas the <offset> argument in subsequent calls to the file functions. If an erroroccurs, the function will return -1 and the system tag _FileOpStatus will containa value indicating the type of error.

FileWriteText (<file name>, <offset>, <string expression>, <length>)

• Writes <length> characters from <string expression> to the file specified by<file name> starting at byte offset <offset>.e.g. FileWriteText(PathTag, 5, StringTag, LengthTag); Writes StringTag dataover existing file data beginning after character 5.

• If <offset> is given as -1, the characters will be appended to the file.e.g. FileWriteText(PathTag, -1, StringTag, LengthTag); Writes StringTagdata to end of existing file data.

• If <offset> is given as -2, the specified file is completely erased prior toperforming the write operation.e.g. FileWriteText(PathTag, -2, StringTag, LengthTag); File will contain onlycharacters from StringTag

• If an <offset> is given that is past the end of the file, the space between thecurrent file endpoint and the new characters will be padded with spaces.

• If <length> is given as -1, all characters in <string expression> will be written.• No carriage return line feed is appended to the output text. If the text should

be terminated with a CR-LF pair you can append +Chr(13)+Chr(10) to<string expression>.

Example:# The string parameters used within the FileWriteText# function can also be entered as literals such as: # FileWriteText #("C:\testfile.txt", -1, "String", Len("String”)); PathTag = "C:\temp\testfile.txt"; StringTag = "New Message: " + plc_string + Chr(13) + Chr(10); LengthTag = Len (StringTag); FileWriteText (PathTag, -1, StringTag, LengthTag); if _FileOpStatus <> 0 Then Show "MyErrorWindow"; endif;

Page 104: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 94

FileReadText (<file name>, <offset>, <string tag/object property>, <length>)

• Reads <length> characters from the file specified by <file name> starting atbyte offset <offset> into <string tag/object property>

• If a read past end of file is attempted, the function will read as much data asit can and return -1. _FileOpStatus will be set to -4.

• If an <offset> is given that is negative or past the end of the file no action willoccur.

• The tag or object property specified must have write permission and be a stringtype.

Example:# The string parameters used within the FileReadText# function can also be entered as literals such as:# FileReadText("C:\temp\testfile.txt", 0, StringTag, 100);

PathTag = "C:\temp\testfile.txt"; FileReadText(PathTag, 0, StringTag, 2000); if _FileOpStatus <> 0 And _FileOpStatus <> -4 Then Show "MyErrorWindow"; endif;

FileWriteCSV (<file name>, <offset>, <tag name>, <number of tags>)

• Generates a record which consists of comma separated data fields from<number of tags> tags starting with <tag name>.

• <tag name> must be of the form "base name+numeric suffix" i.e. Tag43,DataVal20.

• <tag name> and <number of tags> must be literals.• CSV data fields are limited to 250 characters each.• The <offset> is the starting record where new data fields are written to the

specified file.• If <offset> is given as -1, output is appended to the specified file.• If <offset> is given as -2, the specified file is erased prior to performing the

write operation.

Example:# The file name parameter used within the FileWriteCSV# function can also be entered as a literal such as: # FileWriteCSV ("C:\temp\testrec.csv", -1, UserTag1, 10); # In order for this script to compile properly, your tag# database would need to contain tags UserTag1,# UserTag2,...,UserTag10.# The values of these ten tags would then be written to# the CSV output file. PathTag = "C:\temp\testrec.csv"; FileWriteCSV(PathTag, -1, UserTag1, 10); if _FileOpStatus <> 0 Then Show "MyErrorWindow"; endif;

Page 105: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 95

FileReadCSV (<file name>, <offset>, <tag name>, <number of tags>)

• Reads comma separated data from <file name> starting at <offset> record.• The data is read into tags starting with <tag name> and progressing until

<number of tags> fields are read.• <tag name> must be of the form "base name+numeric suffix" i.e. Tag43,

DataVal20.• <tag name> and <number of tags> must be literals.• The <offset> is the number of records into the file, each record may any

number of data fields.

Example:# The file name parameter used within the FileReadCSV# function can also be entered a literal such as:# FileReadCSV ("C:\temp\testrec.csv", 0, UserTag1, 10); # In order for this script to compile properly, your tag# database would need to contain tags UserTag1,# UserTag2,...,UserTag10.# These ten tags would then be loaded with the data read# from the CSV input file. PathTag = "C:\temp\testrec.csv"; FileReadCSV(PathTag, 0, UserTag1, 10); if _FileOpStatus <> 0 Then Show "MyErrorWindow"; endif;

Page 106: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 96

Sound Functions The function that you will use to generate sound from a Infilink project dependson whether or not the target PC will have an installed sound card and speakers.

Beep (<numeric expression>) Issues one or more beep to the PC speaker. If <numeric expression> is given then the result of that expression will determinethe beep count, otherwise a single beep will be issued. No special audio hardware is required to use this function.

PlaySound (<string expression>) Plays the sound specified by <string expression>. <string expression> can be a .WAV file specification or the name of a systemsound as defined in WIN.INI. The size of a .WAV file specified to this function should be < 100 KB in length. This function requires a sound card.

Example:# Sound an alarm when the fluid level exceeds our limitif (TankLevel > TankLimit) then TankInlet = OFF; PlaySound (WaveFilePath + "tanklim.wav");endif;

Window FunctionsThe argument to each of the following functions is the name of a window (not thewindow title). In all cases <window name> must be quoted as in "Win001".

Hide <window name>Makes a window invisible, but does not unload it from memory.

Load <window name>Loads a window into memory, but does not make it visible.

Move <window name> To <new left>, <new top>Changes the location of a window. Coordinates are relative to the upper leftcorner of the main application window.

Move <window name> By <horizontal change>, <vertical change>Changes location of a window relative to its current location.

Resize <window name> To <new width>, <new height>Changes the size of a window.

Resize <window name> By <change in width>, <change in height>Changes size of a window relative to its current size.

Show <window name>Makes a window visible. If the window is not already in memory, it will be loaded.

Page 107: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 97

Unload <window name>Removes a window from memory.

Examples:# Move this window to the right by 10 pixels (Because we# are operating from Take Action script assigned to a# button on the window we want to move we can use _ThisWin.)# Move _ThisWin by 10, 0;

# Hide a window and show a different oneHide “MainMenu”;Show “TrendView”;

System FunctionsAll system functions have the following syntax: _SysCmd.<identifier>Supported identifiers are described below. If a command corresponds to a menuitem, the item is given as <Menu>/<Item>.

AboutBox Help/About...Displays the Run Mode About Box.

AlarmLogStart Logger/Start alarm loggerTurns on the Alarm Logger.

AlarmLogStop Logger/Stop alarm loggerTurns off the Alarm Logger.

CloseWin File/Close windows...Displays a list of open windows that may be selectively closed.

DataLogStart Logger/Start data loggerTurns on the Data Logger.

DataLogStop Logger/Stop data loggerTurns off the Data Logger.

DataLogPulse Logger/Pulse data loggerPulses the Data Logger, causing it to take a “snap-shot” of all tags that have theLog Data attribute set.

DesignMode Project/Design modeReturns the project to Design Mode for editing.

EventLog Windows/Show eventsBrings the Event Logger to the foreground.

Exit Project/ExitExits Infilink Run Mode.

HideMenusCauses the menu bar at the top of the main window to be hidden, restrictingaccess to the menu commands.

Page 108: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 98

LogIn Users/Login...Displays the login dialog box.

LogOut Users/Log outLogs the current user out of the system. A user must be logged in for thiscommand to succeed.

OpenWin Project/Open windows...Displays a list of unopened windows that may be selectively opened.

ShowMenusCauses the menu bar at the top of the main window to be shown, allowing accessto the menu commands.

GroupConnect (<"group name">) Causes the specified OPC tag group to attempt to establish a connection with

the server.

GroupDisconnect (<"group name">) Causes the specified OPC tag group to break a connection with the server.

GroupDisable (<"group name">) Causes the specified DDE tag group to stop communicating with the server.

GroupEnable (<"group name">) Causes the specified DDE tag group to resume communications with the

server.

GroupReset (<"group name">)Causes the specified DDE tag group to break then re-establish a link with theserver.

Examples:# Initialize the display on start_SysCmd.HideMenus;_SysCmd.Login;

Miscellaneous Functions

Run (<string expression>)Evaluates <string expression> and attempts to launch a Windows application ofthat name. The return value will be TRUE if the application is launched andFALSE if not.

PostMsg (<string expression>)Posts the result of string expression to the Event Logger window. This functioncan be used when debugging a script or to post messages about the result of anoperation.

ExitStops executing the current script.

Exit Application andPulseDataLogger areprovided for compatibilitywith previous versions ofInfilink.

Exit Application (same as _SysCommand.Exit () )Closes the project and exits Infilink Run Mode.

PulseDataLogger (same as _SysCommand.DataLogPulse () )Causes the data logger to take a snapshot of all tags that are being logged.

Page 109: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 99

Examples:# This example loads Microsoft Excel with a specific# spreadsheet and if successful, sends the values of tags# PlcTagPressure and PlcTagTemp to the spreadsheet by# assigning those values to tags that reference cells R1C1# and R1C2if Run ("excel.exe calc.xls") then ExcelTagR1C1 = PlcTagPressure; ExcelTagR1C2 = PlcTagTemp;endif;

# Post a message to the event loggerPostMsg (“Tank filled by operator ” + _User);

Color ConstantsAll color constants have the following syntax : _SysColor.<identifier>

Color Identifier Red Value Green Value Blue ValueAqua 0 255 255Black 0 0 0Blue 0 0 255Fuchsia 255 0 255Green 0 128 0Gray or Grey 128 128 128Lime 0 255 0Maroon 128 0 0Navy 0 0 128Olive 128 128 0Purple 128 0 128Red 255 0 0Silver 192 192 192Teal 0 128 128White 255 255 255Yellow 255 255 0

Example# Change fill color;_ThisWin.MyRectangle.FillColor = _SysColor.Maroon;

Page 110: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 100

Object PropertiesAccess to the properties of an object requires the following syntax:

<window name>.<object name>.<property name>

When accessing an object from within a Window Script or Take Action Script andthat object is on the same window that the script is being assigned to, <windowname> may be substituted with the keyword _ThisWin.

Example:# Change the fill color of an object to RED_ThisWin.Rect1.FillColor = _SysColor.RED;

General Object PropertiesShow DiscreteSets/returns the visible state of the object. TRUE = Visible, FALSE = Hidden.

Name StringReturns the name of the object assigned in Design Mode.

LineColor LongSets/returns the color used to draw the object border.

LineStyle IntegerSets/returns the style of lines used to draw the object border. Values are asfollows: 0 = solid, 1 = dashed, 2 = dotted, 3 = dash dot, 4 = dash dot dot. Non-solid line styles are only applied if the LineWidth property is set to 0 or 1.

LineWidth IntegerSets/returns the thickness of lines used to draw the object border. Values rangefrom 0 to 7 where 7 is the thickest.

FillColor LongSets/returns the color used to draw the interior of filled objects.

FillStyle WordSets/returns the pattern style used to fill the interior of filled objects.

Text StringSets/returns the text assigned to the object

TextColor LongSets/returns the color used to draw text.

Page 111: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 101

The following table shows the accessible properties of each objectObject

LineRectangleRounded RectangleEllipseGroupButtonPolylinePolygonArcPieChordBitmapTextTrendAlarm HistoryViewerAlarm

Name

RORORORORORORORORORORORORORORORO

Show

R/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/WR/W

LineStyleR/WR/WR/WR/WN/AN/AR/WR/WR/WR/WR/WN/AN/AN/AN/AN/A

LineWidthR/WR/WR/WR/WN/AN/AR/WR/WR/WR/WR/WN/AN/AN/AN/AN/A

LineColor*R/WR/WR/WR/WN/AN/AR/WR/WR/WR/WR/WN/AN/AN/AN/AN/A

FillColor*N/AR/WR/WR/WN/AR/WN/AR/WN/AR/WR/WN/AR/WN/AN/AN/A

Text

N/AN/AN/AN/AN/AR/WN/AN/AN/AN/AN/AN/AR/WN/AN/AN/A

TextColorN/AN/AN/AN/AN/AR/WN/AN/AN/AN/AN/AN/AR/WN/AN/AN/A

RO = Read Only, R/W = Read/Write, N/A = Not available* Note: Colors are formed by combining 8 bit Red, Green and Blue intensity values into a 24 bit integer of theform: (Blue * 65536) + (Green * 256) + Red. You can also use one of the predefined color constants whenassigning colors at run time.

Arc, Pie and Chord PropertiesStartAngle IntegerSets/returns the angle in degrees between the horizontal centerline of the objectand a line drawn from the center point to the point on the border at which drawingbegins.

EndAngle IntegerSets/returns the angle in degrees between the horizontal centerline of the objectand a line drawn from the center point to the point on the border at which drawingends.

Clockwise DiscreteSets/returns the direction in which the object is drawn. TRUE = Clockwise fromStartAngle, FALSE = Counterclockwise from StartAngle.

Rounded Rectangle PropertiesCornerWidth IntegerSets/returns the width of the ellipse used to create the rounded corners.

CornerHeight IntegerSets/returns the height of the ellipse used to create the rounded corners.

Alarm Viewer PropertiesSeverity IntegerSets/returns the severity of alarms that can be displayed in the alarm window.This property has a valid range of 0 to 9. Alarms of severity greater than or equalto this value will be displayed.

AckAll ServiceAcknowledges all current alarms.

Page 112: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 102

ScrollUp, ScrollDown Service Scrolls the alarm display up/down by one line.

ScrollLeft, ScrollRight ServiceScrolls the alarm display left/right by one column.

AlarmCount IntegerRead only property that identifies the number of alarms displayed in the viewer.

Alarm History Viewer PropertiesFilter ServiceDisplays a dialog box that allows the operator to select filter settings for theviewer.

ScrollLeft, ScrollRight ServiceScrolls the alarm display left/right by one column.

ScrollUp, ScrollDown ServiceScrolls the alarm display up/down by one line.

PageUp, PageDown ServiceScrolls the alarm display up/down by the number of lines that may be viewed atone time.

Home ServicePositions the first available alarm at the top of the view.

End ServicePositions the last available alarm at the bottom of the view.

AlarmCount Large IntegerRead only property that identifies the number of alarms displayed in the window.

StartDate, StartTime StringSets/returns the date/time used to determine the first alarm that will be shown bythe viewer. The format used when reading input or generating output will be thatdefined under the [intl] section of the WIN.INI file. Refer to your Windowsoperating documentation for more information on how to change the format ofthese items.

Print ServiceSends the alarm history to the default Windows printer.

Trend PropertiesMode DiscreteSets/returns the operating mode of the trend where 0 = Real-time and 1 =Historical.

TimeSpan LongSets/returns the time span of a historical trend in seconds. The valid range ofthis property is from 0 to 2147483.

Page 113: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 103

DrawMode IntegerSets/returns the drawing mode for historical data where 0 = Scatter, 1 = Discreteand 2 = Smooth.

Scatter plots data points only along the line of the graph.

Discrete joins data points assuming the value is constant until the next datapoint (i.e. a stair step pattern).

Smooth joins data points directly, this is the default mode used for trends.Even with this mode set, the graph can appear to be squared if data changesare abrupt.

Redraw ServiceRefreshes the historical trend using the current trend properties.

StartDate, StartTime StringSets/returns the start date/time used when displaying historical data. The formatused when reading input or generating output will be that defined under the [intl]section of the WIN.INI file. Refer to your Windows operating documentation tochange the format if these items.

See also: Logging Data Path StringSets/returns the DOS path name used when obtaining historical data. It isinitialized to the default data logger path when the object is created.

MinRange, MaxRange RealSets/returns the vertical range of data values displayed on a historical trend.

Skip Long (Write only)Scrolls a historical trend forward or backward by the specified number ofmilliseconds. Assigning a positive value scrolls the trend forward in time, anegative value scrolls it backward. Typically you would use this property in aTake Action script assigned to a button. One button would use a script to assigna negative value when pressed and another would assign a positive value.

The following four properties work together:CurrentPen IntegerSets/returns the current history pen used with the next three properties. Validvalues range from 1 to 10.

PenTag StringSets/returns the name of the tag assigned to the current pen. Changing thisproperty changes the source of data for the pen.

Cursor LongSets/returns the current cursor position in milliseconds relative to the start time ofthe trend. The cursor value is subtracted from the StartTime and used withCurrentPen to determine PenValue. The cursor value cannot exceed the timespan of the trend.

PenValue RealReturns the value of the CurrentPen at the current Cursor position. If the cursoris between samples, the value returned is for the previous sample.

Page 114: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scripts: The Final Word in Flexibility • 104

Page 115: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 105

Lesson 2: Using Infilink to Mimic A Process

OverviewIf you need help, thecompleted lessons maybe found in the Infilinklessons directory.

These lessons areprovided to give you areference of what aproject should look likewhen completed.

In the last lesson, you learned some of the capabilities of Infilink as a graphicaltool. You should now be familiar with:

• How to draw objects in a window.• How to access and edit object properties.• How to use the Short Cuts and Toolbars.• How to create groups.• How to reshape objects.

In this lesson, you will create a simple process and animate it. As the previouslesson acquainted you with how to navigate in Infilink this lesson will provide anadditional foundation for the lessons that follow.

Page 116: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 106

Lesson Objectives All lesson projects,although written to workwith memory tags, willwork with PLC's withminimal modification.

This lesson is designed to provide you with the basics needed to create a simpleInfilink project that can be applied to a real-world situation. In this project you willlearn:

• How to copy objects from the supplied Libraries.• How to enter tags.• How to create a Project Script.• How to animate an object by associating a tag with it.• You will reinforce editing skills learned in Lesson 1.

When this lesson iscompleted, it will simulatethe filling of a tank.

Page 117: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 107

Creating a ProjectYou will start by creating a new project as you did in Lesson 1. For this lessonyou will need to create a project called “Lesson2”.Assign properties to the default window as shown. (Name, Title, Type,Background Color)

Although in this lessonyou are going to resizethe window by the Clickand Drag method, youcan position and size awindow using thedimension settings in theWindow PropertiesDialog.

Page 118: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 108

Copying Library Objects

Place a Pump from the LibraryTo help reduce the development time of your project, Infilink provides anextensive object library. All you need to do is find the objects that you want anddrag them into your project windows. A complete preview of all library objectscan be found in Appendix A. For more information on libraries see Libraries: AQuick Path to Great Looking Apps., later in this document.

If you make a mistakewhen drawing an object,you can choose Undofrom the Edit menu orpress CTRL-Z to back upa step.

1. From the Infilink Main Menu, select the Library Manager item from the View

menu or click on the Project tools toolbar. In the Library Manager SelectOpen from the File menu.

Find and open the “System Library.kol” Infilink library file.

2. Scroll down through the list of library groups until you find the library groupnamed Pumps. Click on “Pumps” to display the pump objects.

Page 119: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 109

You can use the Library ManagerTreebar to expand Library Grouptrees and find objects as well.

3. Move the mouse over each of the objects on the library window. You willnotice that momentarily holding the mouse cursor over an object will displaya description of that object. Use this method to find and select the objectidentified as Horizontal Pump - left shown below.

4. Once your have selected the object, drag and drop the pump to the upperhalf of the window and about one third of the way.

If the Library Manager is on top ofthe Window, you may have tomove Library Manager out of theway.

Unchecking Always On Top in theLibrary Manager’s View menu willsend the Library Manager to thebackground once the mouseleaves the Library Manger windowduring drag and drop.

Page 120: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 110

5. Use the procedure from above to drag and drop object Tank 28 from librarygroup Tanks1 into the project window as shown below.

6. Drag and drop object Control Valve - vertical from library group Valves intothe project window.

Page 121: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 111

7. Drag and drop object Long horizontal pipe from library group Pipes1 into theproject window.

8. Drag and drop object Long vertical pipe from library group Pipes1 into theproject window.

9. Close the Library Manager.

Page 122: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 112

Edit/Arrange the Objects in the WindowNow that you have all of the objects you need it’s time to start placing themtogether on the window. Our goal is to have a tank that will be filled using apump. The inlet to the pump comes from an off screen source via a pipe. Acontrol valve will be employed to empty the tank to an off screen location. Youwill place a level indicator on the tank to display its fill level. The tank fill levelwill be the only animation assigned in this lesson.

Turn off the grid if it is on byunchecking the Grid item in theView menu.

Rotate, Enlarge, and Place the TankBecause the focal point of the lesson is the tank you will place and size it first.

1. Select the Tank by placing the cursor over it and pressing the left mousebutton.

2. Once selected, click the Rotate Counterclockwise button on the Toolbar torotate the tank 90 Degrees in the counterclockwise direction.

3. You will now resize the tank vertically by placing the cursor over the objecthandle at top center of the object until it becomes a double arrow. Click andhold the left mouse button, and slowly drag the top edge of the tank up. Ourgoal is to stretch the flange on the inlet so that it is slightly larger then thehorizontal pipe. You can check this by dragging the pipe over next to theflange and comparing the ends.

Page 123: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 113

4. You will now resize the tank horizontally. Our goal is to stretch the flange onthe outlet so that it is slightly larger than the vertical pipe. You can check thisby dragging the pipe over next to the flange and comparing the ends. First,resize the Window larger so that it can hold the resized objects.

5. Next place the tank in the upper right corner of the window.

As an alternative to duplicating thesection of pipe, you could make acopy of it and paste the copy intothe project window.

Copy, Size, and Place a Section of Horizontal PipeNow you are going to place a section of pipe at the inlet flange of the tank so thatyou can connect the pump to the tank.

1. Select the Horizontal Pipe.

2. Click the Duplicate Button on the toolbar. A second section of horizontalpipe should appear below and to the right of the original. (Ctrl-D does thesame thing.)

Page 124: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 114

3. Drag the duplicated pipe to the tank and place it as close to the flange as youcan. If the pipe is not aligned properly use the arrow keys on the keyboard tomove the object while it is still selected. When the grid is disabled the objectwill move one pixel width for each key click, otherwise it will move one gridwidth.

Resize and Place the PumpYou will now place the pump so that it is connected to the inlet pipe.

1. Select the Pump.

2. Drag the pump so that its flange is aligned as close to the pipe as you can getit.

Page 125: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 115

3. Resize the pump until its flanges and pipes are the proper size for thehorizontal pipe.

4. Use the keyboard arrow keys to position the pump flanges against thehorizontal pipe.

Place and Resize the Horizontal PipeNow you are going to place the remaining section of horizontal pipe. Resize it togive the appearance that it is coming from an off screen source connected to thepump.

1. Select the Horizontal Pipe.

2. Drag the pipe and place it as close as you can to the inlet flange on thepump.

3. Use the cursor keys to align the pipe properly with the pump inlet flange.

Page 126: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 116

4. Resize the pipe by dragging its left side to the edge of the screen.

Copy, Place and Size a Section of Vertical PipeYou are now going to create and place a section of vertical pipe at the outlet tothe tank.

1. Select the Vertical Pipe and duplicate it.

Page 127: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 117

2. Drag the duplicated pipe to the tank and place it as close to the outlet flangeas you can.

3. Use the keyboard arrow keys to align the pipe to the outlet flange and pipe.

Place and Resize the Control ValveNow you will place the outlet control valve for the tank. You’ll assume that thereis a gravity drain on the tank.

1. Select the Control Valve and place it as close as you can to the bottom endof the vertical pipe.

Page 128: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 118

3. Resize the valve until the pipe ends are close to the same size.

4. Use the keyboard cursor keys to align the valve to the bottom of the verticalpipe.

Place and Resize the Vertical PipeYou are now going to place the last section of vertical pipe. This will simulatethe tank draining to a location somewhere off screen.

1. Select the Vertical Pipe. Align it as close to the outlet flange of the valve asyou can.

Page 129: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 119

2. Use the keyboard arrow keys to align the pipe with the outlet flange of thevalve.

3. Resize the pipe so that it goes to the bottom edge of the window.

You will be writing a script tosimulate a level sensor in the tank.If this were a live project youwould simply assign a PLC tag tothe animation.

Add a Fill Meter to the TankFinally you are going to place two rectangles on the tank to show the level of fill.The first will be a black rectangle that will act as the background for the second,which will be animated to indicate the fluid level inside the tank.

1. Click the Draw Rectangle button on the Toolbar.

2. Draw a black filled rectangle above the outlet flange of the tank as shownbelow.

3. If the Rectangle is not black then click the Fill Color button on theToolbar and choose black from the color palette.

4. Click the Duplicate button on the Toolbar. A second rectangle shouldappear below and to the right of the first.

5. Click the Fill Color button on the Toolbar and choose a light blue fromthe color palette.

Page 130: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 120

6. Resize the rectangle until it is half the size of the black one.

Page 131: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 121

7. Use the keyboard arrow keys to align the rectangle so that it covers thebottom half of the black rectangle.

8. While you have the rectangle selected, you are going to identify it as animportant object. Press F4 to display the Rectangle Properties dialog box.

9. Enter "T1_level" in the Name field and click OK to close the dialog box.

It is a good idea to assign a nameto an object that will be animated.The name will help you locate theobject if you must edit theanimation at a later time.

Page 132: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 122

Define a Tag to Assign to the Fill Level AnimationTag names are not casesensitive.

You are now going to create a tag that will be used to drive the animation for thefill level on the tank. You will only go over the steps necessary to build this tag.For details on creating tags see the chapter on Groups and Tags.In a live application that accesses data from a PLC, the tag that you create wouldbe associated with a PLC register connected to a level sensor in the tank. As thetank level increases or decreases, the value in the PLC register would changeand the indicator in Infilink would change in proportion.

1. Select the Tag Groups… item from the Project menu or click the tool todisplay the Tag Groups dialog box.

2. Click the tool to create a new Memory tag group. Name the tag group“Memory”.

3. In the Tag Name field right click and select New Tag…enter "Tank_level" for the tag name.

4. Choose a Data Type of Word and Security for Internal as Read/write.

5. Click the OK button to add the tag to the database.

6. Click the Olose button to exit.

Page 133: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 123

Animate the Object T1_levelNow you are going to create the animation, with the aid of the tag you just added,which will give the rectangle named T1-level the appearance that it is indicatingthe exact level of fluid in the tank.

1. Make sure that you still have the rectangle T1_level selected. You can verifythis by checking the object name in the status bar at the bottom of the Infilinkwindow.

2. With the cursor positioned over the light blue rectangle, press the rightmouse button to activate the short cut menu and select Animations….

3. From the Animations dialog, click the Stretch Vertically button .

Page 134: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 124

4. Click on the button and select the "Tank_level" tag you createdearlier.

5. Click the Stretch from dropdown and select Right/bottom edge.

6. Click the Offset from initial size, Low position button and align the cursorline with the bottom edge of the rectangles.

7. Click the Offset from initial size, High position button and align the cursorline with the top of the black rectangle.

8. Change the Input value range High value to 1000.9. Click OK to accept the animation and exit the Stretch Vertically dialog box.10. Click Close to exit the Animations dialog box.

Page 135: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 125

Create a Script to Simulate an Increasing Fill LevelBecause you are only using a memory tag, you need to write a script to allow usto simulate a rising fluid level in the tank. Normally you would be using a sensorattached to a PLC or smart device to measure the exact fluid level in the tank.

1. Select Properties… from the Project menu.

For a completeunderstanding of scriptsand how to use them,See Scripting.

2. Select the Scripts tab.3. There are 3 possible types of scripts at the project level: On project open, While

project running and On project close. If the Script Editor did not open by defaultto While project running then select it now.

Page 136: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 126

4. Type in the following Script:

If Tank_Level < 1001 then Tank_Level = Tank_Level + 1;Endif;

5. In the Scan rate field change the number to 100 msec.

6. Click the button to verify that the script is correct. If it is, themessage No errors. will appear at the bottom of the window.

This script will executeevery 100 milliseconds. Ifthe value of "Tank_level"is less than 1001 then itwill be incremented by 1.If it is greater than orequal to 1001, the scriptwill do nothing.

7. Click OK to close the Project Properties dialog box and accept the changes.

Page 137: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 127

Save the ProjectIf a project is modified youwill be prompted to savechanges when youchoose Exit or Run.

Now you need to save the project.

1. Select the Save item from the Project menu.

Run the Project1. Select the Run item from the Project menu or click on the tool.2. When the Run Mode starts, you should start to see the blue fill indicator

moving slowly toward the top of the tank.

Exit Run ModeIf you want to keep theRun Mode open for thenext lesson then clickDesign Mode in theProject menu.

1. Click on the Project menu and select Exit.2. The Run Mode is now closed.

Page 138: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 2: Using Infilink to Mimic A Process • 128

Page 139: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 129

Lesson 3: Controlling a Process

OverviewIf you need help, thecompleted lessons maybe found in the Infilinklessons directory.

You have now learned:• How to create a simple animation to monitor a process.• How to copy objects from the object libraries.• How to add a tag.• How to write a simple script.

In later lessons you will select and use some library objects that have animationsalready assigned to them. In this lesson, you will learn:• How to create and animate buttons and text.• How to create scripts that are more complex.• How to control a process from Infilink.

You will see that controlling a process is as easy as monitoring it was in the lastlesson.

Page 140: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 130

Lesson 3 ObjectivesAll lesson projects,although written to workwith memory tags, willwork with PLC's withminimal modification.

Lesson 3 is designed to advance your basic knowledge of creating Infilinkapplications by building upon Lesson 2. You will build upon the previous lessonby adding button controls for the valve and pump, text objects to display the fillrate, drain rate and tank level, and a slider control to vary the drain rate of thetank.

In this lesson you will learn:

• How to draw and animate buttons for use in a control environment.• How to draw and animate text for use as data output and input.• How to create your own slider controls.• How to write a script that controls a process and performs some error

checking..

Continuing from Lesson 2

Opening Lesson 2If you did not close Lesson 2 then skip to the "Adding Some New Tags" section ofthis lesson.

1. Start Infilink Design Mode.2. The Open Project dialog box will be displayed with lesson2 highlighted by

default. If lesson2 is not highlighted you can browse the directory tree untilyou find it.

3. Click OK to open the project.

Page 141: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 131

Adding Some New TagsAdding TagsYou will start by adding tags for the new animations. Adding tags first will allowyou to immediately animate an object when you create it. You will be adding 4new tags named Pump_on, Valve_on, Fill_rate, and Drain_rate.

1. Select the Tag Groups… item from the Project menu or click the tool todisplay the Tag Groups dialog box. (or press F6).

2. Click on the Memory tag group. Click on to create a new tag.

3. Type “Pump_on” in the tag name field located to the left of the button.4. Select Discrete from the Data type drop-down list.5. Select Read/Write from the Security Internal drop-down list.6. Click the OK button to add the tag to the database.

Page 142: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 132

7. Click on to create a new tag.8. Type “Valve_on” in the tag name field.9. Select Discrete from the Data type drop-down list.10. Click the OK button to add the tag to the database.

As long as you click Addafter making a changeyou can add new tags bymodifying the previousone.

11. Click on to create a new tag.12. Type “Fill_rate” in the tag name field.13. Select Word from the Data type drop-down list.14. Click the OK button.

Page 143: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 133

15. Click on to create a new tag.16. Type “Drain_rate” in the tag name field.17. Select Word from the Data type drop-down list.18. Click the OK button.

19. Click the Close button.

Page 144: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 134

Add and Animate the New Objects

Object names are limitedto 32 characters.

Add a Button to Turn the Pump On and OffYou are now going to add a button to the project that will turn the pump on andoff. You are going to assign three animations to it. The first will be an Enter Dataanimation that will allow us to turn the control bit on and off. The second will be aShow Value animation that will indicate the status of the control bit using thebutton text. The third and final animation will be a change color animation which,will allow us to visually verify the status of the control bit by turning the button redwhen it is off and green when it is on. First you will draw the button.

1. Click the button on the Toolbar and draw a button in the project windownext to the pump.

2. Display the properties dialog for the button and name it “ctrlPump”.3. Click OK.

Text will be added to thebutton using a ShowValue animation.

4. Press F5 to display the Animations dialog box for the button you just created.

Page 145: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 135

You may double click atag name to highlight andselect it immediately.

5. Click the Enter Data button in the Animations dialog box.

6. In the Enter Data animation dialog box, click the button to openthe tag list.

7. Click on the tag Pump_on to highlight it then click the Select button.

You may have noticed the drop down box for Entry Method. Discrete tags offeryou 6 ways to enter or change their data.

• Popup - Displays a popup dialog box that allows the operator to make anon/off selection.

• Toggle TRUE/FALSE- The value of the assigned tag will be toggled fromTRUE to FALSE or from FALSE to TRUE when the mouse button orassigned key is depressed.

• Force SET/TRUE - A one will be written to the tag whenever the animationis invoked.

• Force RESET/FALSE - A zero will be written to the tag whenever theanimation is invoked.

• Momentary-NO - The value of the assigned tag will change to TRUE whenthe mouse button or assigned key is depressed and back to FALSE whenreleased.

• Momentary-NC - The value of the assigned tag will change to FALSEwhen the mouse button or assigned key is depressed and back to TRUEwhen released.

Page 146: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 136

10. Select Toggle from the Entry Method drop-down list.11. Click OK to accept the animation.

Notice that you canassign short cut keys tothis animation. Anyanimation that requiresthe operator to performan action can beassigned a shortcut.

Access level can be usedto control which operatorshave access to thisanimation.

12. Click the Show Value button on the Animations dialog box.

Page 147: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 137

13. In the Show Value animation dialog box, click the Tags… button and selectPump_on.

14. Click on the Discrete radio button.15. Notice that the Discrete format fields become active: one field to enter the

text that should be displayed when the tag’s value is ON, and one for whenthe value is OFF.

16. Type "Pump On" in the ON text field and type “Pump Off” in the OFF textfield.

17. Click OK to accept the animation.

18. Click the Change Color button on the Animations dialog box.

Page 148: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 138

19. Select or type in the name of the Pump_on tag.20. You will notice that there are two Ranges fields and color selection arrays,

Border and Interior. Each has two dropdown lists boxes that allow you toselect the number of colors for the object. Change both dropdowns toDiscrete.

21. You will notice that the labels for the color selection boxes change to Off andOn. These color selections will represent the objects color when the tag is ONor OFF.

22. Click on the Interior rectangle labeled ON and select a bright green.23. Click on the Interior rectangle labeled OFF and select a bright red.24. Click OK to accept the animation.

25. Click Close at the main Animations dialog to accept all the animations andexit.

Page 149: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 139

Add a Text Object to Enter and Display the Pump Fill RateNext, you are going to add a text object that you will interface with the Fill_rate tagto show its value and provide a click point for data entry.

1. Click the button on the Toolbar and draw a text object immediatelybeneath the pump.

2. Display the properties dialog for the object and name it “dspFillrt”. Thecontent of the Text field is not important because you will be assigning aShow Value animation to the object.

3. Click OK.

Page 150: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 140

4. Click the Enter Data button in the Animations toolbar or use the Short Cutmenu to display the Animations dialog for dspFillrt and click the Enter Databutton there.

5. Assign the tag Fill_rate by selecting it from the tag list or typing in the namemanually.

6. Click on the Output value range dropdown and select User defined.7. Type "0" in the Low field and “10” in the High field. These values limit the

range of numbers the operator can enter into the assigned tag.8. Click OK to accept the animation.

9. Click the Show Value button in the Animation toolbar.10. Assign the tag Fill_rate by either selecting it from the tag list or typing the

name manually.11. Check Field width and type "2" in the Field width text field. This format

specifies that the output will have a maximum of two digits. Leaving Leadingzeroes unchecked indicates that leading zeroes will not be displayed.

12. Click OK to accept the animation.

Page 151: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 141

13. Click OK to accept all the animations and exit the Animations dialog box.

14. If the text object is no longer centered under the pump then either drag theobject with the mouse or align it with the cursor keys until it is.

Many sliders are availablefor your use in theLibraries. This lesson isdesigned to show youhow easy it is to createyour own object andanimate it.

You may want to enablethe grid so you canmeasure distances usinggrid lines.

Build a Slider to Control the Tank Drain RateYou are now going to build a slider that you will use to control the drain rate of thetank through the drain valve. You will create a Slider animation to set the valueof tag Drain_rate. You will also create a Show Value animation to display thesetting assigned to Drain_rate.

1. Click the button on the Toolbar and draw a rectangle in the lower leftcorner of the project window.

2. Use the button on the Fill Tools Toolbar to set the fill color to light gray.

3. Click the button on the Toolbar and draw a line on top of the rectangleabout a third of the height from the top. Place the line ends so that they areapproximately a cursor width from either end of the rectangle.

4. Use the button on the Line Tolls Toolbar to set the line color to black.

5. Click the button to select a triple thick line.

Page 152: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 142

6. Click the button on the Toolbar and draw a button centered over the leftend point of the line.

7. Display the properties dialog for the button and name it “sldDrain”.

8. With the button still selected click the Slider button on the AnimationsToolbar.

9. Assign the tag Drain_rate by either selecting it from the tag list or typing thename manually.

10. Set the slide direction to Horizontal (This should be the default setting.)

11. Type "0" in the Low Tag value field and “10” in the High Tag value field.

12. Click the Related position selector buttons to graphically position the endpoints of the slider. You will want the low end to be at the left end of the line,and the high end to be at the right end of the line.

13. Click While sliding to allow the Slider to update the tag as you move it.

14. Click OK to accept the animation.

Page 153: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 143

15. Click the button and draw a text object on the rectangle centered belowthe line. This object will be used to display the setting Drain_rate assigned bythe slider.

16. Display the properties dialog for the button and name it “dspDrain”.

17. Assign a Show Value animation to the object that will display the Integervalue of tag Drain_rate using Field width, 2.

18. If the text object is no longer centered below the line then drag it so that it is.

Page 154: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 144

Duplicate the Slider Text Object and Modify It to Display theTank LevelYou are now going to make a duplicate of the text object on the slider and modifyit so that you can display the value of tag Tank_level.1. Select text object dspDrain and right click to Duplicate on the shortcut menu to

make a copy of it.2. Place the duplicated text object just above the tank over the fill indicator.3. Click on the object with right mouse button to display the Short Cut menu and

select Reassign Tags….

Reassign tags allows youto selectively replace onetag name for another ineach animation and scriptassigned to an object.

4. When the Replace Tag dialog appears, change Drain_rate to Tank_level.5. Click OK to complete the replacement.

6. Display the properties dialog for the object and change the name fromdpsDrain1 to dspTnklvl.

7. Click the Show Value button in the Animation toolbar to edit the ShowValue animation.

8. Type "4" in the Field width to replace the old width of "2".9. If the text object is out of position, drag it so that it is in position.10. Click OK to accept the animation.

Page 155: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 145

Duplicate the Pump Control Button and Modify to use as aValve ControlYou are now going to perform the same process on the button that controls thepump to make a button to control the drain valve.

1. Select the pump control button, ctrlPump and duplicate it.2. Display the Reassign Tag dialog and change the tag name from Pump_on to

Valve_on.

3. Use the properties dialog to change the name of the object from ctrlPump1 toctrlValve.

4. Edit the Show Value animation assigned to ctrlValve to display “Unlocked”when Valve_on is ON and “Locked” when Valve_on is OFF.

5. Your completed project window should appear as shown below.

Page 156: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 146

The pound sign (#) isused in Infilink scripting toallow you to commentyour scripts.

Modify the Existing Project ScriptYou are now going to modify your existing project script so that it will work withthe new objects in simulating a tank control. If you were using an actual PLC,you would have flow sensors monitoring the rate of flow at the inlet and outlet, aswell as the tank level. The pump control button would then turn on an actualpump. The slider would then control the butterfly in the valve.

1. Display the Project Options dialog by selecting Properties… from the Projectmenu.

2. Click the Scripts tab to display the Script Editor.3. Replace the existing While project running script with the following:

# If the pump is turned on and the tank is not# full then fill the tank at the specified rate.If Pump_on AND (Tank_Level < 1001) Then Tank_Level = Tank_Level + Fill_rate;Endif;

# If the tank is full then turn the pump off.If Tank_Level = 1000 Then Pump_on = OFF;Endif;

# If the valve is unlocked and the tank is not# empty the tank at the specified rate.If Valve_on AND (Tank_Level > 0) Then Tank_Level = Tank_Level - Drain_rate;Endif;

# If the pump is on then the valve cannot be# unlocked.If Pump_on Then Valve_on = OFF;endif;

# If the Valve is Unlocked then the Pump cannot be#turned on.If Valve_on Then Pump_on = OFF;endif;

Page 157: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 147

1. Click the Check button to verify that there were no typing errors. Fix anyerrors that may be indicated.

2. Click General tab and click the Use popup keypad for data entry startup optionand the Create a project summary compile option.

3. Click OK to accept the script and new project options.

The popup keypad allowsyou to enter data usingthe mouse if the projectwill be run on a systemthat doesn’t support astandard keyboard.

Create project summarycauses Infilink to generatea report whenever yousave the project. Thisreport contains a detailedlisting of every tag,window, and object. Thereport is stored in a filecalled COMPILE.TXTlocated in the projectdirectory. You can useNotepad to view thecontents of this file.

Page 158: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 148

Save and Run the Project

1. Click the Project menu and select Run or press F9.2. You will be prompted to save changes. You should select Yes.

3. Once the project window has opened in run mode, click on the Fill Rate textbeneath the pump.

4. On the popup keypad, click or type "5".5. Click OK to accept the new value for Fill_rate.

Page 159: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 149

6. The text object will now display “5”.7. Click on the pump control button above the pump. The button should turn

green and the text should change from “Pump Off” to “Pump On”.

8. Once the tank level reaches 1000, the color of the pump control buttonshould change to red.

9. Click on the slider button and drag it to the right until the text beneath itdisplays “8”.

10. Click on the valve control button to unlock the valve.11. The valve should drain the tank in increments of “8”. Move the slider and

watch this value change.12. When you are done, select Exit from the Project menu. If you want to make

changes select Design Mode.

Page 160: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 3: Controlling a Process • 150

Page 161: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 151

Logging: Data and Alarms

OverviewThis section covers alarm and data logger setup, assigning alarm information to atag, alarm viewer properties and setup of the alarm printer.

Page 162: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 152

The Alarm LoggerInfilink logs alarm data to disk using a proprietary binary format. Infilink RunMode uses data in this form when working with an alarm history viewer. To alsogenerate data files that may be viewed in other applications such as MicrosoftExcel you must check the Generate DBF output files option. This option causes aDBF (Data Base Format) file to be created and updated in parallel with each ofInfilink's proprietary data files. Because DBF files are about twice the size ofstandard Infilink alarm log files you should only check this option if you truly needto generate portable alarm data.

An alarm log entry is generated when one of the following events is detected:• A tag is entering an alarm state.• A tag is leaving an alarm state.• The operator acknowledges an alarm.

Each entry contains the following information:• A time stamp indicating when the event occurred.• The name of the operator who was logged in at the time of the event.• The event type.• The value of the tag at the time the event was detected.• The user defined comment associated with the alarm.

The Project Properties Alarm Logger tab allows you to specify the destination andcontrol the scheduling of alarm log file activity.

Page 163: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 153

Basic Settings

See Lesson4 LoggingOnly alarms with the Log attribute enabled will be recorded. You can controlwhether or not the alarm logger should start automatically when the project startsby using the Start logger when project starts option.

DirectoryThe Default option saves alarm log files to a directory called ALARMLOG that isappended to the project directory. For example, if your project directory isc:\Infilink\projects\process1 then Infilink will store the alarm log files toc:\Infilink\projects\process1\alarmlog. Infilink will create this directory if it doesnot already exist.

The User specified option allows you to control where logged data will be recorded.You must enter a fully qualified DOS path name consisting of 256 characters orless. Whatever you type here will then have the name ALARMLOG appended toit. If the directory you specify doesn't exist Infilink will create it. To specify anetwork directory, you must first map the network resource to a logical drive.

The naming convention of each log file stored in the chosen directory isYYMMDDHH.ALF. Where YY is the year, MM is the month, DD is the day andHH is the hour when the data in the file begins. If you choose to also generateDBF files you will see files of the same base name but with a .LOG extension.

Log File Timings

Change files every n hoursThis value specifies how long after the start time to record alarms before creatinga new log file.

Start at hour nThis value specifies the hour of the day that will be used to determine the start ofthe first log file for that day.

Keep log files for n daysThis value specifies how long after completion of the last update a log file shouldbe preserved before being deleted.

Example:Assume the following:1. Alarm logging is enabled and at least one alarm in the project will be

logged.2. Start logging immediately is enabled for the project.3. Start at Hour = 9:00 am.4. Change Files After = 3 hours.

These settings would yield a cycle of log files created at 9:00 AM, 12:00 PM, 3:00PM, 6:00 PM, 9:00 PM, 12:00 AM, 3:00 AM and finally 6:00 AM before repeating.

If you start your project running at 7:00 AM with these settings, your first log filewill be named in accordance with the 6:00 AM interval in the cycle. Data will belogged to this file until the next scheduled log file change at 9:00 AM.

Page 164: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 154

Preferences

Generate DBF output filesCheck this option to generate a copy of your logged alarms in DBF format. ManyWindows applications recognize this portable format.

Generate MDB output filesCheck this option to generate a copy of your logged alarm data in MDB format.This is the Data Object format used by Microsoft Access and similar programs.Note: Support for Data Objects must be installed on the PC to use the MDBoption. See: Installing DAO

Buffer sizeThe number you specify here will determine how many records the alarm loggerwill buffer before performing a disk write.

Max holding periodThe number you specify here will determine how long the alarm logger shouldhold on to unwritten data waiting for the buffer size number of records to beavailable.

Req. disk spaceThe number you specify here will determine how much disk space must beavailable for the alarm logger to run. If the amount of free disk space falls belowthis value while the alarm logger is running, it will stop and post a message to theEvent Logger. If the disk space is below this value when Infilink Run Mode islaunched, the alarm logger simply will not start.

Each alarm log record consumes approximately 100 bytes of disk space. If youare also generating DBF output then this number increases to approximately 300bytes.

Page 165: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 155

Defining AlarmsOne or more alarms can be assigned to a tag from the Tag Group Propertiesdialog. Select the desired tag and click on one of the Alarm tabs to display thealarm parameters.

Level AlarmsLevel alarms are used to trigger an event when the value of a tag exceeds orgoes below an assigned limit.

Comment TextEnter text to describe the alarm. This text will be displayed in the commentcolumn when the alarm is shown in an alarm viewer or an Alarm History Viewerwindow object.

High/Low AlarmsLo, LoLoAn alarm is triggered for this tag when the value falls below these values. Aseparate alarm is issued for each case.

Hi, HiHiAn alarm is triggered for this tag when the value rises above these values. Aseparate alarm is issued for each case.

Page 166: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 156

Deviation AlarmsAllows two alarms, minor and major to be defined using percentages of thespecified target value to trigger the alarms.

Discrete AlarmsFor tags defined with the discrete (Boolean) data type, you can specify whetheryou want an alarm condition to occur when the value is TRUE (1) or FALSE (0)by checking the appropriate box.

SeverityAll Alarms can be assigned a severity level in the range 0 to 15. The severitylevel of an alarm determines which alarm window(s) in your project will displaythe alarm. The default severity is 5.

Page 167: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 157

Access LevelAssign an Access level 0 to 255. Only users who are logged in with access levelsgreater than or equal to the alarm access level can acknowledge the alarm inRun Mode. The default Access level is 0.

ActionsDisplayAlarm events will be displayed in any active alarm viewer that has a severitylevel set equal to the severity of this alarm. Events that will cause the display toupdate are transition from inactive to active, change in value while active, andtransition from active to inactive. Acknowledged alarms are deleted from allviews upon transition from active to inactive.

LogAlarm events will be logged to disk and accessible to any active alarm historyviewer. Events that will be logged are transition from inactive to active, useracknowledge, and transition from active to inactive.

PrintAlarm events will be sent to the local alarms printer on each transition frominactive to active, user acknowledge and transition from active to inactive. SeeSetup Alarm Printer later in this section for more information.

E MailWhen Internet access is enabled, alarm notification is sent via E Mail to theaddress specified in the Project Properties Internet Tab.

ScriptsAlarm Scripts are for those functions and operations that you want to performwhen an alarm condition is active. You might use an Alarm Script to sound analarm when a tag exceeds a certain value. The script may take place at any to allof the possible times.

On active transitionActions that you want to perform when the alarm occurs could be taken care ofwith a On active transition script. This type of script executes once when thealarm initially occurs. You might use a On active transition script to trigger anannunciator or show a diagnostic window.

While activePeriodic operations while an alarm condition exists can be performed with aWhile active script. While active scripts execute on a user defined Intervalanywhere between 100 and 99999 ms.

On acknowledgePeriodic operations after an alarm is acknowledged can be performed with an Onacknowledge script. On acknowledge scripts execute once when the alarm isacknowledged. Acknowledging an alarm does not stop any While active scriptsfrom executing.

On inactive transitionAny alarm housekeeping that you need to perform can be done in an On inactivetransition script.

Page 168: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 158

Alarm Viewer PropertiesGeneral Tab

See Lesson4 fordirections on how to usethe Alarm Viewer.

NameThe name that you will use to refer to this viewer when using script commands.

X, Y PosSets the location of the upper left corner of the object to the specifiedcoordinates. These coordinates are relative to the upper left corner of thewindow where the object resides.

WidthAdjusts the horizontal size of the bounding rectangle.

HeightAdjusts the vertical size of the bounding rectangle.

Page 169: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 159

Text TabAlarm Text ColorsText colors may be used to select the color of the column headings and toindicate individual alarm status. When an alarm is triggered, it will appear in thealarm viewer with the text color chosen as Active alarm. Double-clicking thealarm will cause it to change to the Active and acknowledged color. If it is notacknowledged and the tag state that caused the alarm no longer exists, the alarmwill change to the Inactive alarm color. Acknowledged alarms disappear when nolonger active.

Severities TabMinimum Severity LevelA number between 0 and 15. The viewer will display alarms with severity greaterthan or equal to the value specified here. The default is 0.

Page 170: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 160

Page 171: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 161

Other TabSort on:Select from the dropdown: Date/Time, Tag Name, Event type, Alarm type, orSeverity heading to sort the listed alarms based on that column. Additionallyselect to sort in Ascending or Descending order.

Allow acknowledge on double clickCheck this item to allow alarms to be acknowledged at run time by doubleclicking on the displayed alarm text.

See Scripting for moreinformation.

Minimum Access Level for AcknowledgmentA number between 0 and 255. Users with access level greater than or equal tothis number may acknowledge alarms displayed by this window. Alarms may beacknowledged by either clicking, as described above, or invoking the AckAllviewer property from a script.

Page 172: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 162

Alarm History Viewer PropertiesGeneral Tab

See Lesson4 fordirections on how to usethe Alarm History Viewer.

NameThe name that you will use to refer to this viewer when using script commands.

X, Y PosSets the location of the upper left corner of the object to the specifiedcoordinates. These coordinates are relative to the upper left corner of thewindow where the object resides.

WidthAdjusts the horizontal size of the bounding rectangle.

HeightAdjusts the vertical size of the bounding rectangle.

Page 173: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 163

Text TabAlarm Text ColorsText colors may be used to select the color of the column headings and toindicate individual alarm status. When an alarm is triggered, it will appear in thealarm viewer with the text color chosen as Active alarm. Double-clicking thealarm will cause it to change to the Active and acknowledged color. If it is notacknowledged and the tag state that caused the alarm no longer exists, the alarmwill change to the Inactive alarm color. Acknowledged alarms disappear when nolonger active.

Page 174: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 164

Setup Alarm PrinterThe Project Properties Alarm Printer tab is used to choose a target device and/orfile for the alarm printer as well as the format that will be applied to the output.

Send Output To

Local PrinterCheck this box to direct alarm output to a local printer specified by the drop-downlist. Valid selections are LPT1 through LPT3.

Lines per pageSpecify the number of alarms you would like printed on each page. Once thenumber of lines is reached, a form feed is sent to the printer.

Text fileCheck this box to direct alarm output to a text file. You specify the file by typingthe name into the supplied edit control. When this option is selected, thecontents of the file will be reset at project start up.

Event LoggerCheck this box to direct alarm output to the Event Logger window.

See Lesson4 fordirections on using thereshape method. Sample Format

Configure the output format using the reshape method described for an alarmviewer. Available columns are:Date, Time, User, Type, Severity, Event, Tag Name, Value at Event, Comment.

Page 175: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 165

The Data LoggerInfilink logs tag data to disk using a proprietary binary format. Infilink Run Modeuses data in this form when working with a historical trend object. To alsogenerate data files that may by viewed in other applications such as MicrosoftExcel you must check the Generate DBF output files option. This option causes aDBF (Data Base Format) file to be created and updated in parallel with each ofInfilink's proprietary data files. Because DBF files are about 50% larger thanstandard Infilink log files you should only check this option if you truly need togenerate portable log data.

Tag values are logged once when the initial value of the tag is determined andthen once every time the value of the tag changes. Each entry in a log file isstamped with the date and time the data was determined to have changed so anaccurate history of its activity can be presented.

Infilink also provides a script command called _SysCmd.DataLogPulse that you canuse to generate log entries on demand or at timed intervals instead of or inaddition to the standard log on data change method described above.

The Setup Data Logger dialog box allows you to specify the destination andcontrol the scheduling of data log file activity.

Page 176: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 166

Basic Settings

DefaultThis option saves log files to a directory called DATALOG that is appended to theproject directory. For example, if your project directory isc:\Infilink\projects\process1 then Infilink will store the database files toc:\Infilink\projects\process1\datalog. Infilink will create this directory if it does notalready exist.

See Nodes and Tags.

See Lesson5 for directionon viewing logged data ina historical trend.

User specifiedThis option allows you to control where logged data will be recorded. You mustenter a fully qualified path name consisting of 256 characters or less. Whateveryou type here will then have the name DATALOG appended to it. If the directoryyou specify doesn't exist, Infilink will create it. To specify a network directory,you must first map the network resource to a logical drive.

The naming convention of each log file stored in the chosen directory isYYMMDDHH.DLF. Where YY is the year, MM is the month, DD is the day andHH is the hour when the data in the file begins. If you choose to also generateDBF files you will see files of the same base name but with a .LOG extension.

Log File Timings

Start logger when project startsChecking this item enables the recording of tag data and automatically starts thedata logger when the project is executed in Run mode. Only tags with the LogData attribute enabled will be recorded. Data logging can still be invoked later onusing the _SysCmd.DataLogStart script command.

#Start the Data Logger ;_SysCmd.DataLogStart ;

Change files every n hoursThis value specifies how long after the start time to record data before creating anew log file. The range is 1 to 24 hours.

Start at hour nThis value specifies the hour of the day that will be used to determine the start ofthe first log file for that day. The range is 0 to 23.

Keep log files for n daysThis value specifies how long after completion of the last data update a log fileshould be preserved before being deleted.

Example:Assume the following:

Data logging is enabled and at least one tag in the project will be logged. Start logging immediately is enabled for the project. (See Project Options.) Start at Hour = 9:00 am. Change Files After = 3 hours.

These settings would yield a cycle of log files created at 9:00 AM, 12:00 PM, 3:00PM, 6:00 PM, 9:00 PM, 12:00 AM, 3:00 AM and finally 6:00 AM before repeating.

If you start your project running at 7:00 AM with these settings, your first log filewill be named in accordance with the 6:00 AM interval in the cycle. Data will belogged to this file until the next scheduled log file change at 9:00 AM.

Page 177: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Logging: Data and Alarms • 167

Preferences

Generate DBF output filesCheck this option to generate a copy of your logged data in DBF format. ManyWindows applications recognize this portable format.

Generate MDB output filesCheck this option to generate a copy of your logged data in MDB format. This isthe Data Object format used by Microsoft Access and similar programs.Note: Support for Data Objects must be installed on the PC to use the MDBoption. See: Installing DAO

Buffer sizeThe number you specify here will determine how many records the data loggerwill buffer before performing a disk write.

Max holding periodThe number you specify here will determine how long the data logger should holdon to unwritten data waiting for the Buffer size number of records to be available.

Req. disk spaceThe number you specify here will determine how much disk space must beavailable for the data logger to run. If the amount of free disk space falls belowthis value while the data logger is running, it will stop and post a message to theEvent Logger. If the disk space is below this value when Infilink Run Mode islaunched, the data logger simply will not start.

Each log record consumes approximately 40 bytes of disk space. If you are alsogenerating DBF output then this number increases to approximately 130 bytes.

Page 178: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,
Page 179: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 169

Lesson 4: Alarms and Alarm Logging

OverviewIf you need help, thecompleted Infilink lesson4 may be found in theInfilink lessons directory.

These lessons aredesigned to run withoutthe use of a PLC.

Alarms are used to inform the operator that something important has happened ina process that Infilink is monitoring. You can define High/Low and Deviation typealarms for analog values and On/Off alarms for discrete values. When an alarmevent is detected for a particular tag, the details of the event can be displayed inan alarm viewer, sent to a local printer, and logged to disk. In this Lesson you willsee how to define and view alarm events using Infilink.In Lesson 4, you will learn how to:1. Draw an Alarm Viewer and add control buttons.2. Draw an Alarm History Viewer, add control buttons, and enable alarm

logging.3. Define alarms for analog and discrete tags.4. Create sliders and a button to generate alarms.5. Display the active alarm count using a Show Value animation.6. Run a project and manipulate real time and historical alarms.

Page 180: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 170

Lesson Objectives

This lesson will guide you through the utilization of Alarms and Alarm Logging ina Infilink project. In this lesson you will learn:1. How to design Alarm and Alarm History Displays.

2. How to add control buttons to interface with Alarm and Alarm HistoryDisplays.

3. How to enable alarm logging.

4. How to define High/Low, Deviation, and Discrete alarms.

5. How to add previously drawn objects from Infilink libraries to your project.

6. How to manipulate alarms at Runtime.

This lesson is intended for intermediate users of Infilink.

Page 181: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 171

Creating a New Project1. Open Infilink's Design Mode.

2. Click Cancel in the Open Project dialog box.

3. Click the File menu, then click on New…

4. Type in a name for your project, such as lesson4, and click Create.

5. Click Yes to verify the name and path of your project.

6. Right click and open the Windows Properties dialog box. Type“Alarm_Lesson” for a window Name and type “Alarm Lesson Panel” for aTitle. Click Show at Startup, then click OK. Size the window so that it fillsthe screen.

Drawing the Alarm ViewerAn alarm viewer displays alarm events as they occur in real time.

1. From the Infilink Main Menu, select Draw, then select Alarm viewer or click the

button on the Toolbar.

2. Move the Pencil cursor to the window and draw an alarm viewer, leavingroom to the left and above for text and buttons.

3. If all of the alarm viewer column titles are not visible, resize the object suchthat it appears like the figure below.

4. To modify column widths select Reshape from the Short Cut Menu. Reshapemode can also be invoked from the Infilink Main Menu by selecting Edit then

Reshape, or from the Toolbox by selecting the Reshape tool .5.

6. When in Reshape mode the alarm viewer will appear in a black and whiteformat as seen above. To make changes to column widths, use the mouse todrag the appropriate column divider lines to the left or right. Other columnediting options are available from the Short Cut Menu. To view these optionsplace the cursor in the column that you would like to edit, right click, thenchoose the appropriate option from the menu as shown below.

7. To return from Reshape mode you can double click the mouse or press theEsc key.

Page 182: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 172

Creating Alarm Viewer Control Buttons

In order to scroll the contents on an alarm view you need to utilize the Servicetype properties of the Alarm view object. For simplicity, you will use libraryobjects that have been predefined for this purpose.

1. From the Infilink View Menu, select Library Manager, then Open SystemLibrary.kol

2. Select and expand the library group named ALARMCTR.

3. Drag and drop the buttons shown below from the ALARMCTR library groupand place them into the Main Window above the Alarm Viewer. Leave spaceabove the Alarm Viewer and Control Buttons because later you will add twoSliders and a Button to generate alarms.

4. After you have finished placing in all of the control buttons, minimize theLibrary Manager window.

Page 183: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 173

Drawing the Alarm History Viewer

An Alarm History Viewer displays alarms that have been logged to disk.1. From the Infilink Main Menu, select Draw, then select Alarm History Viewer or

click the button on the Toolbar.

2. Draw an alarm history viewer leaving room to the left and above for buttons.Make the alarm history viewer object the same width as the alarm viewerobject.

The colors used by theAlarm Viewer object canbe set by right clicking onthe object and selectingProperties... from theShort Cut Menu. Bordercolor and font can be setusing the Toolbars. 3. Next use the Reshape mode to adjust the column format of the Alarm History

Viewer. Delete the User and Severity columns and move other columns suchthat the Alarm History Viewer is formatted as shown below.

4. Exit from Reshape mode.

Page 184: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 174

Creating Alarm History Viewer Control Buttons

Again you will use library objects to provide control functions.1. Restore the Library Manager.

2. Select and expand the library group named ALARMHST.

3. Drag and drop the buttons shown below from the ALARMHST library groupand place them into the Main Window to the left and above the Alarm HistoryViewer. Resize the window and the buttons as necessary.

4. After you have finished placing in all of the control buttons, minimize theLibrary Manager.

Page 185: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 175

Enabling the Alarm Logger

Now that you have an Alarm history viewer, you need to enable alarm logging.1. From the Infilink Project Menu, select Properties, then select Alarm Logger tab.

2. In the Buffer size: text field enter 5, and in the Max holding period: text fieldenter 1. Accept the defaults for the remaining alarm logger setup propertiesand click OK.

Page 186: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 176

Defining Tags with Alarms

In this section you will add three tags and for each tag you will define an alarm.

1. Click on the from the Toolbar.

2. In the Tag Groups dialog box click on to create a memory tag group

named “Memory”.

3. Click to enter a new tag. Set the tag properties of the first tag as shown

below.

4. Click the Level Alarm tab. Set the alarm properties as shown below.

7. Click OK

Page 187: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 177

8. The HighLowTag Attributes column now includes an “A” indicating that analarm is assigned to the tag.

9. Now add a second tag with the properties shown below.

Page 188: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 178

11. Click the Deviation Alarms tab.

12. Set the alarm properties of the second tag as shown below.

13. Click OK

14. Add the third tag with the properties shown below.

Page 189: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 179

15. Click the Discrete Alarm tab.

16. Set the alarm properties of the third tag as shown below.

17. Click OK then click Close to close the Tag Groups dialog.

Page 190: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 180

Creating Animations to Generate Alarms

In this section, you will add two sliders and a button from Infilink libraries. Whenyou run the project, you will use these objects to change the values of our threetags, and generate alarms. The alarm data will appear in the views that you haveconfigured.

1. Drag Slider19(Range 0-100)Horizontal from the SLIDERS3 library group anddrop it into the Main Window above the Alarm Viewer. When you place inthis Slider, you will be prompted to “Replace assigned tag names?”. ClickYes and replace the old name with a new name of "HighLowTag". Resizethe slider to fit in the window as shown below.

2. Duplicate the slider that you just pasted into the Main Window, and use theReassign tags… option from the Short Cut Menu to assign the tag"DeviationTag" to the new slider.

3. Drag Button Style 3 from the BUTTONS4 library group and drop it into theMain Window above the Alarm Viewer. When you place in this ToggleButton you will be prompted to “Replace assigned tag names?”. Click Yesand replace the old name with a new name of "DiscreteTag".

4. Close the Library Manager.

Page 191: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 181

Displaying the Active Alarm Count

You will use a Show Value animation on a Text object, to show the Active AlarmCount.

1. Draw a couple of Text objects over to the left of the Alarm Viewer.

2. For the upper Text object edit its properties and in the text field type “ActiveAlarms”.

3. For the lower Text object, edit its animations and add a Show Valueanimation with the System Tag "_ActiveAlarmCnt" assigned to it.

Page 192: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 182

Save and Run the Project1. Click the Project menu, then click Save.

2. Click the Project menu, then click Run.

3. At startup the Sliders will display initial values of 50, and the Button will beRed(OFF). Both the Alarm Viewer and Alarm History Viewer should beblank.

4. Move the first Slider to its outer limits, this will trigger the Low and Highalarms defined for tag "HighLowTag".

5. Move the second Slider to its outer limits, this will trigger the Major Deviationalarm defined for tag "DeviationTag".

6. Click on the Button between the Sliders to trigger the alarm defined for tag"DiscreteTag".

7. Alarms displayed in the Alarm Viewer can be sorted according to Date, Time,Alarm Type, and Tag Name. To sort alarms, position the cursor on one ofthese Column Headings and click the left mouse once. To reverse the sortorder, click again.

Page 193: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 183

8. Alarms displayed in the Alarm Viewer can be Acknowledged one at a time byusing the left mouse to double click on individual alarm rows. Or, they can beAcknowledged all at once using the Alarm Viewer object's AckAll service thatcan be attached to a button or used in a script.

9. Alarms will be logged to disk and viewable in the Alarm History Viewer,according to the Buffer Size and Max Holding Period that were assignedwhen you enabled the Alarm Logger in the design portion of this lesson. Inour example, the alarm log is updated after every five alarm events, or afterone minute has elapsed, whichever comes first. For more information onsetting up the alarm logger, consult the Infilink help file.

10. The Scrolling, Paging, Home, and End buttons use At Key Down and WhileKey Pressed animations to invoke Service type object properties of theassociated Alarm Viewer or Alarm History Viewer object. See ObjectProperties in the Infilink help file.

11. The History Filter button allows you to filter out logged alarms that you do notwish to see in the Alarm History Viewer window. Only alarms that meetcriteria checked in the Alarm Log Filtering dialog box will be shown.

Page 194: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 4: Alarms and Alarm Logging • 184

Exit Run Mode. 1. Click on the Project menu, then click Exit.

2. The project is now closed. The Event Logger window is still open.3. To close the Event Logger, select the Event Logger’s File menu and click Exit.

Page 195: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 185

Lesson 5: Real-Time and Historical Trends

OverviewIf you need help, thecompleted Infilink lesson5 may be found in theInfilink lessons directory.

These lessons areprovided to give you areference of what aproject should look likewhen completed.

When monitoring process values it is often important to log a history of thosevalues over a period as well as display a portion of the logged data on the screen.Infilink allows you to store the logged data to a file contained in the projectdirectory as well as display real-time and historical data on the screen.In this lesson, you will:

• Draw a trend object and edit its properties.• Toggle a trend between real-time and historical mode.• View historical data in scatter, discrete and smooth modes.• Scroll through historical data.• Increase or decrease the range of the value scale.• Create a sliding cursor that will display values chosen graphically from a

trend.

Page 196: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 186

Lesson Objectives Lesson 5 will guide you through the design and utilization of Real Time and

Historical trends. In this lesson you will learn:• Some basic properties of trends.• How to toggle between Real Time and Historical trend data.• How to scroll historical data.• How to change between historical data modes.• How to modify trend value scales.• How to determine a pen value at any point on a historical trend.

This lesson is intended for intermediate users of Infilink.

Page 197: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 187

Creating a New Project1. Open Infilink's Design Mode.2. Click Cancel in the Open Project dialog box.3. Click the File menu, then click on New…4. Type in a name for your project, such as “lesson5”, and click OK.5. Click Yes to verify the name and path of your project.6. Right click and open the Windows Properties dialog box. Type

“Trend_Lesson” for a window Name and type “Trend Lesson Panel” for aTitle. Click Show at Startup, then click OK.

Defining TagsYou will need to define four tags for this lesson. These tags will allow you toproduce data for a real-time and a historical trend. They will also allow you todisplay data values as the historical trend is scrolled.

1. Click on the from the Toolbar.

2. In the Tag Groups dialog box click on the Memory Group tool to createa memory tag group named “Memory”.

3. Click to enter a new tag. In the Name field enter “PenData” for a tagname. Using the provided drop down list, choose a Data type of “Real” andan Internal Security of “Read/Write”. Since you will want to view historicaldata on this tag, click on the Log on data change selection for this tag.Accept the default values for the other fields.

4. Click OK to add the tag to the Memory tag group.

5. Click . Enter “Cursor” for a tag name, “Long” for the Data Type and“Read/write” for the Internal Security. Click OK.

6. Click . Enter “Increment” for a tag name, “Discrete” for the Data Typeand “Read/write” for the Internal Security. Click OK.

7. Click . Enter “Value” for a tag name, “Real” for the Data Type and“Read/write” for the Internal Security. Click OK.

8. Press Close to exit the Tag Groups dialog.

Page 198: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 188

Drawing the Trend and Editing Trend PropertiesThe first thing you need to do is create a trend object and edit its properties.

1. From the Infilink Main Menu, select Draw, then select Trends or click the button on the Toolbar.

2. Draw a trend window leaving room to the left and below for buttons. Resizethe window if necessary.

3. Right click on the trend and select properties, the Trend Viewer Propertiesdialog box will appear.

4. In the Trend Name editbox type “Trend1”,this is the name usedto refer to this object.

While in Design Modeyou can return to the“Trend Property” dialog atany time by right clickingyour mouse on the trendobject and selectingProperties.

5. Click on the Time Axistab. Change the Timespan to 8 Seconds.

6. Change the RefreshRate to 250Milliseconds.

7. Change the Major gridlines to 3.

Page 199: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 189

If the Enable HistoricalDisplay box is notchecked, you will not beable to switch to HistoricalMode when running theproject.

8. Click on the ValueAxis tab. Change theMinimum and Maximumvalue to range from -25to 25.

9. Change the Major gridlines to 3.

10. Click on the Pens tab.

Click , the new

pen tool. Click and select "PenData".

11. Click the OK button toexit the Pen Propertiesdialog box.

12. Click OK to exit theTrend ViewerProperties dialog box.

Page 200: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 190

Creating Trend Control ButtonsThere are library objectsprovided that will performmost of the functions youare about to create. Youmay use them rather thancreate all of theseanimations. The libraryobjects found in theTRENDHST libraryassume a Trend objectname of "Trend". Thetrend in this lesson uses aname of "Trend1".

Following this lesson willgive you a betterunderstanding of howobject properties can beused.

Here you will create buttons to toggle between Real Time and Historical TrendModes, increment and decrement the Trend Value Scale, change the HistoricalDraw Mode, and Scroll through historical data.

1. From the Infilink Main Menu, select Draw, then select Button or click the button on the Toolbar.

2. Draw a Button.3. Right click on the button and select Properties….4. In the Button Properties dialog type “Mode” for the Name and “Historical” for

the button Text. The button text may not be displayed if the button is tonarrow. If this occurs, simply widen the button.

5. Either repeat the above steps for the remaining buttons or use the duplicate

function to make copies of this button. Change the names and text ofthe copies to match those below.

A description of the use ofthese buttons will beexplained in the animationprocess.

Name: “YRangeInc”Name: “YRangeDec”Name: “Smooth”Name: “Scatter”Name: “Discrete”Name: “SkipInc”Name: “SkipDec”

Text “+Y Range”Text: “-Y Range”Text: “Smooth”Text: “Scatter”Text: “Discrete”Text: “+10 Sec”Text: “-10 Sec.”

6. Arrange the buttons by dragging each one to a new location. Place thebuttons as shown below.

Page 201: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 191

Create and Animate a Historical Cursor

You can also click on the“Fill” button on the Filltools toolbar.

You will now build a historical cursor animation to graphically determine historicaldata values at runtime. The value at which the cursor intersects the data will bedisplayed.

1. From the Infilink Main Menu, select Draw, then select Polygon or click the button on the Toolbar.

2. Draw a polygon as shown below just above the trend object. This will be ourCursor. Place the polygon as shown.

3. Right click on the polygon and select Properties…. Enter “Marker” for thepolygon object’s name and press OK.

4. From the Interior tab, then select Color. A Fill Color Palette will appear.Select a color for the Marker.

5. Click OK to close the Polygon Properties dialog.

Page 202: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 192

The Cursor positionrepresents the time inmilliseconds relative tothe start time of the trend.

The starting position for atrend is the right handside. It scrolls from theright to the left.

1. Select the “Marker” and click . The Slider animation dialog box willappear.

2. Click . For the Tag select “Memory\Cursor”.3. Set the Low value to 0. Set the High value to 7999. This is the range in

milliseconds that will be available on the trend at all times. Recall that youset the Trend Time Span to 8 seconds (8000 msec.).

4. Now you need to set the Related positions. Click the Low Related Position cursor

. A cursor will appear on the screen. Center this cursor over the rightedge of the trend window and click the mouse button.

5. Now click the High Related Position cursor and center the cursor over theleft edge of the trend. Again click the mouse button to return to theanimations dialog box.

6. Click OK to accept the slider animation.

Page 203: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 193

Animating Trend Control ButtonsNow you will add some functionality to the buttons that have been created. Youaccomplish this by adding animations to each button.

The Mode Button is theone we assigned a text of“Historical” to earlier.

In place of the windowname you can use“_ThisWin” to refer to anobject on the currentwindow.

If you are viewing thisdocument online, simplycut this script out andpaste it into the scriptwindow.

This script also showshow the text on a buttoncan be changed on thefly.

Create an On button down Script for the Mode ButtonThe Mode button will allow us to toggle between real-time and historical mode atruntime.1. Click on the “Mode” button.

2. From the Animation toolbar, select . The Take Action animation dialogwill appear.

3. Select the On button down option, if it does not open there by default.4. Enter the following script:

If (_ThisWin.Trend1.Mode = 0) Then _ThisWin.Trend1.Mode = 1; # Change to Historical _ThisWin.Mode.Text = "Real Time"; # Update Button _ThisWin.Marker.Show = 1; # Show Marker Else _ThisWin.Trend1.Mode = 0; # Change to Real Time _ThisWin.Mode.Text = "Historical"; # Update Button _ThisWin.Marker.Show = 0; # Hide Marker Endif;

5. Click the Verify button to make sure there are no errors in the script.6. Click OK to accept the animation.

Page 204: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 194

The YRangeInc Button isthe one we assigned thetext “+Y Range” to earlier.

Create an On button down Script for the YRangeInc ButtonThe "YRangeInc" button will allow us to increment the value span of the trend1. Click on the “YRangeInc” button and create an On button down, Take Action

Animation for "YRangeInc".2. Enter the following script for the action. The # symbol is used to indicate

comments within the script.

# ALLOW THE TRENDS VALUE RANGE TO # SPAN TO A MAXIMUM OF –50 TO 50. If (_ThisWin.Trend1.MaxRange - _ThisWin.Trend1.MinRange < 100)Then _ThisWin.Trend1.MaxRange = _ThisWin.Trend1.MaxRange + 5; _ThisWin.Trend1.MinRange = _ThisWin.Trend1.MinRange - 5; Endif;

3. Click the Verify button to make sure there are no errors in the script.4. Click OK to accept the animation.

The YRangeDec Buttonis the one we assignedthe text “-Y Range” toearlier.

Create an On button down Script for the YRangeDecButtonThe "YRangeDec" button will allow us to decrement the value span of the trend.1. Click on the “YRangeDec” button and create an On button down, Take

Action Animation for "YRangeDec".2. Enter the following script for the action. The # symbol is used to indicate

comments within the script.

# ALLOW THE TRENDS VALUE RANGE TO # SPAN TO A MINIMUM OF –10 TO 10. If (_ThisWin.Trend1.MaxRange - _ThisWin.Trend1.MinRange > 20)Then _ThisWin.Trend1.MaxRange = _ThisWin.Trend1.MaxRange - 5; _ThisWin.Trend1.MinRange = _ThisWin.Trend1.MinRange + 5; Endif;

3. Click the Verify button to make sure there are no errors in the script.4. Click OK to accept the animation.

Create an On button down Script for the Smooth ButtonThe "Smooth" button will redraw the trend by joining data points as lines.1. Click on the “Smooth” button and create an On button down, Take Action

Animation for "Smooth".2. Enter the following script for the action. The # symbol is used to indicate

comments within the script.

# SET THE TREND DRAWMODE TO SMOOTH # HISTORICAL MODE _ThisWin.Trend1.DrawMode = 2;

3. Click the Verify button to make sure there are no errors in the script.4. Click OK to accept the animation.

Page 205: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 195

Create an On button down Script for the Discrete ButtonThe "Discrete" button will redraw the trend by assuming data is constant until thenext data change. The result is a square wave.1. Click on the “Discrete” button and create an On button down, Take Action

Animation for "Discrete".2. Enter the following script for the action. The # symbol is used to indicate

comments within the script.

# SET THE TREND DRAWMODE TO DISCRETE # HISTORICAL MODE (SQUARE LINES) _ThisWin.Trend1.DrawMode = 1;

3. Click the Verify button to make sure there are no errors in the script.4. Click OK to accept the animation.

Create an On button down Script for the Scatter ButtonThe "Scatter" button will redraw the trend as data points.1. Click on the “Scatter” button and create an On button down, Take Action

Animation for "Scatter".2. Enter the following script for the action. The # symbol is used to indicate

comments within the script.

# SET THE TREND DRAWMODE TO SCATTER # HISTORICAL MODE (POINTS ONLY, NO LINES) _ThisWin.Trend1.DrawMode = 0;

3. Click the Verify button to make sure there are no errors in the script.4. Click OK to accept the animation.

Create an On button down Script for the SkipInc ButtonThe "SkipInc" button will allow us to scroll forward in time while in historicalmode.1. Click on the “SkipInc” button and create an On button down, Take Action

Animation for "SkipInc".2. Enter the following script for the action. The # symbol is used to indicate

comments within the script.

# SKIP THE TREND WINDOW FORWARD BY # 10000 MSEC. OR 10 SECONDS _ThisWin.Trend1.Skip = 10000;

3. Click the Verify button to make sure there are no errors in the script.4. Click OK to accept the animation.

Create an On button down Script for the SkipDec ButtonThe "SkipDec" button will allow us to scroll backward in time while in historicalmode.1. Click on the “SkipDec” button and create an On button down, Take Action

Animation for "SkipDec".2. Enter the following script for the action. The # symbol is used to indicate

comments within the script.

# SKIP THE TREND WINDOW BACKWARD BY # 10000 MSEC. OR 10 SECONDS _ThisWin.Trend1.Skip = -10000;

3. Click the Verify button to make sure there are no errors in the script.4. Click OK to accept the animation.

Page 206: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 196

Create a Current Value DisplayIn order to view the value associated with the Marker position, you need to createa display. This can be accomplished with a text object and the “show value”animation.

1. From the Infilink Main Menu, select Draw, then select Text or click the button on the Toolbar.

2. Move the pencil cursor and Draw a Text object below the lower right edge ofthe trend.

3. Right click on the Text object and select Properties…. The Properties dialogwill appear.

4. Type "dspValue" in the object name field.5. Click OK to exit the dialog box.

6. Press the Show Value button . For the Tag name Enter “Memory\Value”.7. Because “Value” represents a Real number, select Treat value as Real.

Change the Real format to Fixed field with Left of DP set to 6 and Right of DPset to 2.

8. Click OK to accept the Show Value animation.9. Draw a second text object above the "dspValue". This will be used as a

label.10. Right click on the Text object and select Properties…. The Properties dialog

will appear.11. Type "Marker Value" in the text field.

12. From the Infilink Toolbar, click the Bold button to make the text field bold.Select the dspValue bold as well.

Page 207: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 197

Writing a Project ScriptBecause you are only using memory tags you need to write a script to simulate achange in data. Normally you would be collecting data from an external deviceand displaying it in a real-time trend.1. From the Infilink Main Menu, select Project, then select Properties. The

Project Properties dialog will appear.2. Press the Scripts tab.3. Select While project running because you want the script to execute

continuously when in run mode.4. Set the Interval to 250 msec.5. Type in the following script:

This script will beevaluated every 250milliseconds. The “Pen”value will always stay inthe range of ±30 and willincrement or decrementby 2.5 units.

If (PenData >= 30) Then Increment = 0; ElseIf (PenData <= -30) Then Increment = 1; Endif; If (Increment) Then PenData = PenData + 2.5; Else PenData = PenData – 2.5; Endif; # When in Historical mode, load the historical trend's # cursor position with the position of the marker and # retrieve the value of the data at that position. If (Trend_Lesson.Trend1.Mode) Then Trend_Lesson.Trend1.Cursor = Cursor; Value = Trend_Lesson.Trend1.PenValue; Endif;

6. Click the Verify button to make sure there are no errors in the script. If it is,“No errors” will appear at the bottom of the window.

7. Press OK to exit the Project Properties dialog box.

Page 208: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 198

Save and Run the Project1. Click the Project menu, then Click Save.2. Click the Project menu, then click Run.3. The Trend will appear on the screen. Data from “PenData” will be displayed

on the trend.

4. Because the default value span was set to –25 to 25, some data will be out ofrange and will not displayed on the trend. You can correct this by pressingthe “+Y Range” button that you created. Click the “+Y Range” button andnotice the value span increases to –35 to 35. The “PenData” waveformshould now be in complete view on the trend.

Changing the Y valuerange in the Real Timetrend does not change itin the Historical Mode.When you switch toHistorical Mode you willhave to increase therange again to be able tosee all of the data.

Page 209: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 199

5. Wait for a minute to pass, then click the "Historical" button. The historicaldata will load to the trend window.

6. Click the “+10 Sec.” Button to scroll 10 seconds forward. The historical datawill now come in to view. You can continue to scroll forward in time. At anytime you wish to return click “-10 Sec.” to scroll backward in time.

Trend is in Discrete drawmode. Notice thatdspValue is displayingthe value of the databeneath the marker.

The draw mode functions(Scatter, Discrete, andSmooth) are onlyavailable while a trendobject is in historicalmode.

7. You can click on the "Scatter", "Discrete", or "Smooth" buttons to change thedraw mode of the trend. Scatter will plot individual points only. Discreteplots the points in a squared line, assuming that data is constant until the nextdata change. Smooth moves the pen in a straight line between points. Thefigure above and the two that follow show identical data in scatter, discrete,and smooth draw modes.

8. Drag the “Marker Cursor” that you created. Notice that the value displaychanges as the marker intersects a data change.

9. You can return to real-time mode by pressing the "Real Time" button.

Trend in smooth drawmode.

Page 210: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Lesson 5: Real-Time and Historical Trends • 200

Trend in scatter drawmode.

Exit Run Mode1. Click on the Project menu, then click Exit.2. The project is now closed. The Event Log Viewer window is still open.3. To close the Event Log Viewer, select the Event Log Viewer’s Project menu

and click Exit.

Page 211: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. ActiveX Controls • 201

ActiveX Controls

OverviewMost ActiveX controls arenot compatible with

Infilink.

Infilink is an ActiveX container. ActiveX controls are independent objects that canbe placed into an Infilink Project. These controls come in many varieties. Infilinkis designed to handle ActiveX controls with OPC connectivity. In particular, wehave tested for compatibility ioCompTM ActiveX controls. These controls areincluded in the Infilink setup software. ActiveX controls from other vendors havenot been verified for operation.

Page 212: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. ActiveX Controls • 202

Inserting ActiveX Controls into a Project

Use the Tools|Load ActiveX controls… menu command to call up the ActiveXSelect controls dialog. A list of the Active X controls installed on the PC isdisplayed.

Select the controls to include in yourproject by checking the box in front of thecontrol’s name.

Note: Up to 24 ActiveX components maybe assigned to a project.

Once all the desired controls are selectedclick OK. The selected controls appear onthe tool bar as an icon.

Place a control by clicking on its icon anddragging a rectangle in the projectwindow.

Access the control’s properties by rightclicking on the shaded border andselecting Properties from the pop-upshortcut menu.

Refer to the help provided with theActiveX control for further informationabout the control’s properties.

Page 213: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 203

Scheduler

OverviewThis section describes how to use the Scheduler to manage tag operations bytime and date.

The Scheduler allows you to specify a particular time and date a tag is to bemodified. There are also features to set tags to be changed on a weekly basis atspecified times. Such events are useful for daily or weekly startup and shutdownof equipment, building controls and regularly scheduled maintenance.

Page 214: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 204

IntroductionUse the Scheduler to program in actions to occur at desired datesand times or on a regular basis. Use Action groups to make severalactions occur at the same time. As actions and times areprogrammed, they are displayed in list boxes throughout Scheduler.

• Use Single and Double events to make actions occur on a givendate and time.

• Use Weekly Schedule to make actions occur on a daily basisevery week.

• Use the Holiday settings to override the weekly schedule.

Using the Calendar Tool

Use the and buttons to scroll through months.Click on a day to select that day.Days that have events assigned to them are shown in Bold.Week numbers are shown in the leftmost column.

Page 215: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 205

HolidaysUse the Holidays dialog box to specify holidays. Holidays cause the WeeklySchedule events to be ignored.

Yearly AddUse this to add a holiday that occurs every year to the list of holidays.For example: January 1st is always a holiday.

Holiday Others AddUse this command to enter Holidays that may vary from year to year.For example: Thanksgiving (USA) changes with each passing year.

How to define a Holiday1. Use the calendar scrolling features to get to the dates you need to specify as

holidays.

2. As you click on dates, a popup dialog prompts you for a label for the holiday.

3. Enter the label and click OK. The holiday will automatically be listed in theappropriate holiday list box.

4. Continue clicking on dates and assigning labels.

5. Click Done after all desired dates are selected.

Page 216: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 206

Action GroupsUse the Action groups dialog box to create groups of actions. This way, instead ofspecifying a tag to be changed at a particular time and date you can specify thegroup of actions to occur at that time. The dates and times that these actionsoccur are specified in the Single Event, Double Event and Weekly Scheduledialog boxes.

Creating an Action Group

1. Select the type of action to occur.New Single Action A single action is a command that occurs when theaction is called.New Double ActionA Double Action is a command that changes state at a start time and thenchanges the state back to its previous condition at an end time.

Page 217: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 207

2. When the Action Group Dialog pops up enter a name for the group. Groupnames may be up to 20 characters long.

3. Click on to enter a new Single or Double Action. See followingpages entering these actions.

4. Continue to click on New to add more actions, Edit to modify actionshighlighted in the list box or Delete to remove the highlighted action from thelist box.

5. Click OK when you are done creating the group.

Page 218: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 208

Entering a New Single Action

1. Enter the Tag to modify. If you do not know the tag name, click on the

button to browse for the Tag to modify.2. Select the type of action to perform on this tag.

• On/Off forces a 1 or 0 into a tag.• Force Value forces a constant into a tag.• Modify Value to changes the tag’s value by a percentage. The

percentage is always a positive whole number.3. Click OK when done

Page 219: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 209

Entering a New Double ActionThis dialog box is used to define what an action does. Because a doubleaction is a duration, two actions need to be specified, a start action andan end action

1. Enter the Tag to modify. If you do not know the tag name, click on the

button to browse for the Tag to modify.2. Select the type of action to perform on this tag when the action is called.

• On/Off forces a 1 or 0 into a tag.• Force Value forces a constant into a tag.• Modify Value to changes the tag’s value by a percentage. Thepercentage is always a positive whole number.

3. Select the type of action to perform on this tag when the action period isended.• Check the Restore value box to put the tag’s previous value (before

the start action) back into the tag.• On/Off forces a 1 or 0 into the tag.• Force Value forces another constant into the tag.• Modify Value to changes the tag’s value by another percentage.

4. Click OK when done

Page 220: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 210

EventsUse Events to specify when a tag or action group is to be changed. The datesand times that these actions occur are specified in the Single Event, DoubleEvent and Weekly Schedule dialog boxes.

Creating a Single EventA Single Event is used to execute a data change, once, when it is called. Use thisto change values at some designated time and date.

1. Click on to begin programming this type of Event.

2. When the Single Event Dialog box pops up enter a name for the Event.Event names may be up to 20 characters long

3. Check the Disable execution if you want to suspend this event fromhappening. Typically this is used in Run Mode to stop an event fromhappening because it could cause a problem or is no longer necessary.

Page 221: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 211

4. Specify the Date and Time that the action is to take place.

5. Select the Action to perform.• New Single Tag A single action is defined to occur at the Date and Time

specified.• New Action Group An Action group is selected. This means that all

actions specified in the group will happen at the Date and Time.

6. Use the Edit and Delete buttons to modify the list.

7. Click OK when done creating the single event.

Creating a Double EventA Double Event is used to execute an action at a given time and anothercomplimentary action at an end time.

3. Click on to begin programming this type of Event.

4. When the Double Event Dialog box pops up enter a name for the Event.Event names may be up to 20 characters long

5. Check the Disable execution if you want to suspend this event fromhappening. Typically, this is used in Run Mode to stop an event fromhappening because it could cause a problem or is no longer necessary.

Page 222: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 212

4. Specify the Date and Time that the action is to take place (Start) and whenthe action is to cease (End).

5. Select the Action to perform.• New Single Tag A double action is defined to occur for the duration

specified.• New Action Group An Action group is selected. This means that all

single actions specified in the group will happen at the Start time anddouble actions in the group will continue to the End time.Use the Edit andDelete buttons to modify the list.

6. Click OK when done creating the single event.

Creating a Weekly ScheduleUse this command to set up a series of events to occur on a weekly basis. Eachday can have various events assigned to it. Events assigned to a day are ignoredif that day is specified as a holiday.

1. Click on to begin programming thistype of Event.

2. When the Weekly Schedule Dialog box pops up enter a name for the Event.Event names may be up to 20 characters long.

3. Check the Disable execution if you want to suspend this event fromhappening. Typically, this is used in Run Mode to stop an event fromhappening because it could cause a problem or is no longer necessary.

Page 223: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 213

4. Specify the Dates that this weekly schedule is to be in effect. Check theForever box to always have this weekly schedule active.

5. Click the Add button to bring up the Schedule dialog box. Select the days ofthe week and times for actions to occur. Repeat this action until all days andtimes are entered.

6. Select the Actions to perform during the times in the Schedule list.• New Single Tag A single action is defined to occur at the scheduled Days

and Times specified.• New Action Group An Action group is selected. This means that all

actions in the group will happen on the Days and Times of the weeklyschedule.Use the Edit and Delete buttons to modify the list.

7. Click OK when done creating the single event.

Page 224: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Scheduler • 214

PreferencesUse preferences to change overall operation of the Scheduler.

Because the scheduler is available at run time for review Access can berestricted to prevent unauthorized access and changes.

Minimum user level to access scheduler at run timeEnter the user level required to access Scheduler once in the Run Mode.

Allow run mode editing.Select to allow editing of Scheduler settings.

Execute events and schedules on defined second.Scheduler tracks events accurately up to the minute. The scheduler can be madeto operate on a per second track if desired.

Minimum and Maximum DatesDisplays the minimum and maximum dates allowed for use with Scheduler.These dates are fixed and cannot be changed.

Page 225: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Using OPC and DDE • 215

Using OPC and DDE

OverviewThis section describes how to use Infilink in a client/server configuration withDDE.

About OPC (OLE for Process Control) and DDE (DynamicData Exchange)

Object Linking and Embedding (OLE) for Process Control (OPC)and Dynamic Data Exchange (DDE) allows Infilink to operate in aclient/server relationship with other Windows applications. Anyapplication that supports OPC or DDE can be a client to Infilink, inthat it can access data from Infilink's tag database, and a serverthat provides data to Infilink through a link that has been defined byan OPC or DDE tag group.

OPC Link Specifications

The general format of a local OPC link specification is:<Application>|<Channel Name>.<Device Name>!<Item>

<Application> is the name used to identify the server application.<Channel Name>.<Device Name> is the path to the data set that will bereferenced.<Item> is the individual piece of data that is requested.

Access to Networked machine data is similar to DDE Link Specifications givenbelow.

DDE Link Specifications

The general format of a local DDE link specification is:<Application>|<Topic>!<Item>

<Application> is the name used to identify the server application.<Topic> is the data set that will be referenced.<Item> is the individual piece of data that is requested.

This format is used when the client and the server reside on the same PC.

Page 226: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Using OPC and DDE • 216

A Network DDE link specification takes the form:\\<Computer Name>\ndde$|<Share Name>!<Item>

<Computer Name> is the name of the network PC where the DDE serverapplication is located.<Share Name> is a registered DDE share name identifying the application andtopic.

<Item> is the individual piece of data that is requested.

This format is used when the client and the server reside on different PCsconnected to the same network.

Page 227: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Using OPC and DDE • 217

Infilink as a DDE ClientThe client in a DDE conversation is the recipient of data from another application.

Supported DDE FormatsInfilink supports two DDE formats when used as a client: AdvancedDDE andCF_TEXT. By default Infilink will try to connect using the AdvancedDDE formatand upon failure, fall back to CF_TEXT. You can override the default behaviorby specifying a format for each DDE tag group in your project by modifying theData format section of the DDE Tag group's properties.

See Tag Groups.

Using Infilink as a Local ClientTo use Infilink as a client to a local server (one on the same PC) you will firstneed to:

1. Create a DDE Tag Group2. Identify the server3. Specify the topic4. Define one or more tags that will be assigned to that tag group.

Each tag will identify the item portion of the DDE link in its address field. Theitem refers to the data that the server should provide.

Although KEPware's DDEserver is now calledKEPServerEX, theapplication name is stillKEPDDE.EXE andshould be used as theapplication name in DDElinks.

Although any DDE enabled Windows application can be a server to Infilink, let'suse KEPServerEX as an example (formerly KEPDDE). Assume you need to getthe data from address 40001 of a Modbus device and assign it to a tag called"RegData". You would first create a project in KEPServerEX that identifies thechannel as COM1 and device as something like "Modbus1". (Refer to theKEPServerEX online documentation for details.) Next you will define a InfilinkDDE Tag Group with KEPDDE as the Server name and_ddedata.COM1.Modbus1 as the topic. Finally, create a tag called RegDatawith address 40001.

Now when you place the server on line and run your Infilink project, the value of"RegData" will be updated every time register 40001 of the Modbus devicechanges.

Using Infilink as a Remote ClientTo use Infilink as a client to a remote server you will perform the same steps as ifyou were using a local server except the application name that you assign to thenode will be of the form \\<computer name>\ndde$ and the topic will have a $appended to it.

The Network DDE services must be started on the PC that Infilink is running onbefore a connection attempt can be made. Under Windows 95/98 you would dothis by running the application NETDDE.EXE. Once you start the Network DDEservices they remain active until you restart the computer.

The server PC that you specify may require you to log in before a connection canbe established. If this is the case, you will be presented with a log in dialog fromthe NETDDE agent on the client PC. You will need to specify an appropriate username and password when this dialog is displayed in order to complete the DDElink.

If a connection attempt fails, Infilink will only attempt to connect one more timebefore assuming the server is unavailable. You can tell Infilink to retry by usingthe Reinitialize Links item on the Run Mode DDE menu. You can also performthis function using the script command _SysCommand.DDEReset.

Page 228: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Using OPC and DDE • 218

Using the same example from above let's assume that the KEPServerEX will berunning on a computer named NETPC. You will define an Infilink node with\\NETPC\ndde$ as the application and _ddedata.COM1.Modbus1$ as the topic.Finally, create a tag called RegData with address 40001 and assign it to thisnode.

Notes1. KEPServerEX is a 32-bit application. It must be run on either Windows

95/98, Windows NT or Windows 2000.2. A link to a DDE server item will be started and remain active only as long as some

demand is made on the data provided by that link. See The PROJECT.INI File[tuning] section in the Infilink help file for further information.

Infilink as a DDE ServerThe server in a DDE conversation is the application that is providing data.

A Note About Discrete TagsWhen using Infilink as a DDE server it is important to understand how the clientwill write Boolean values to discrete tags. By default Infilink assumes that if aclient writes a non-zero value to a discrete tag then that tag will be assigned avalue of TRUE. Some clients do not observe this convention but rather onlyconsider the least significant bit of the value they are writing to be what should beassigned.

Using Infilink as a Local ServerTo use Infilink as a server to a local client, you need to tell the client applicationhow to reference the data in Infilink's tag database. To do this, you will need tofind the DDE link setup area of the application that you intend to use as a client,specify Infilink as the application, the name of a Tag Group as the topic and thename of a tag in the Tag group as the item.

Let's use Microsoft Excel as an example. Assume you want to get the data for aTag group called "FlowInfo" and a tag called "FlowRate" and store it in celllocation A5. You would place the cursor in cell A5 and enter the formula: =Infilink|FlowInfo!FlowRateNow whenever the value of FlowRate changes, the text in cell A5 will be updated.

If FlowRate is defined as a Read/Write tag, you could write an Excel macro to"Poke" a new value to FlowRate. This macro might appear as follows:

Sub PokeFlowRate()Dim rangetopokeDim channelchannel = Application.DDEInitiate("Infilink", "FlowInfo")Set rangetopoke = Worksheets("Sheet1").Cells(1, 5)Application.DDEPoke channel, "FlowRate", rangetopokeApplication.DDETerminate channel

End Sub

Page 229: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Using OPC and DDE • 219

MS Excel as a DDE Server

Tag Group setupTo identify Microsoft Excel as a local DDE server you will define a DDE TagGroup that identifies Excel as the Server name and sheet1 as the Server topic.

If the copy of Excel that you want to use is on another PC connected to yournetwork the application would be \\<computer name>\ndde$ and the topicsheet1$. You will need to create a DDE share for sheet1$ so that it will berecognized by the NETDDE agent.

Tag AddressesTo address spreadsheet locations on sheet1 assign addresses of the form r#c#where the #'s would be replaced by the row and column of the cell you areinterested in. Be sure to enter your addresses using only lower case characters.

Page 230: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Security • 220

Security

OverviewThe purpose of this section is to explain Design and Run Mode Security optionsavailable with Infilink HMI.

Design Mode SecurityInfilink projects can be protected from unauthorized editing by assigning apassword. By default a project is not password protected.

To assign a password to a project that is not protected, the Current Password fieldshould be left blank. Otherwise, you will need to enter the password that iscurrently assigned prior to making any changes.

Note: There is no way toaccess a passwordprotected project withoutthe password. If youforget your password,you will not be able toopen the project.

1. From the Project menu, select Properties... then click on the Password tab.

When entering a password for a project that is currently protected,

enter the Current Password then click OK.

2. When entering a new password for a project that is not currently protected,simply leave the Current Password empty. Enter up to six characters in theNew Password field.

Page 231: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Security • 221

If you are a systemsintegrator and areresponsible for installationof Infilink and a completedInfilink project at acustomer site you shouldpassword protect theproject to preventunauthorized editing. Youwill not be able to preventdesign time access to theproject any other waybecause Infilink DesignMode is available free ofcharge to anyone whovisits our web site.

3. Enter the same characters in the Confirm field.

4. Click OK. The new password will be assigned when the project is saved.

To remove the password from a project leave the New Password and Confirmfields blank. Click OK for both selections and the password will be removed whenthe project is saved.

Page 232: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Security • 222

Run Mode SecurityInfilink provides 256 user access levels. When Run Mode is initially started, theuser is set to NOUSER. This default name has an access level of 0. This defaultuser can only access windows and user triggered animations that have beenassigned an access level of 0.

To define a user with a higher access level you must log in with an access levelat least one level higher than the level you wish to assign.

When a user logs in, the system tags _User and _AccessLevel are updated toidentify the user name and assigned access level respectively.

If no users exist, the loginmenu is disabled. Logging in to a Project

Access to windows and user triggered animations is based on theaccess level of the logged in user. The system administratorassigns login names and access levels for an Infilink project. Thelogin dialog allows the operator to enter one of these names thusgaining access to the features of the current project. When theUser, Log In menu is selected the Log In dialog appears.

User NameType the name of a user that has been defined for the current project.

PasswordEnter the password that is assigned for the user name.

Click Ok to perform the login or Cancel to return with no further action.

Note:

- These buttons are used to call up a popup touchscreen or mouseaccessible keyboard when a physical keyboard is not attached to the unit.

Logging Out as a UserThe user can log out of the project by selecting Log Out from the User menu. Thisremoves the current user from the system access list and sets the access level to0.

Page 233: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Security • 223

Adding/Editing a User ListA project programmer may create or modify the list of users. User names andpasswords are not case sensitive and limited to sixteen characters.

The Project Properties dialog User List tab allows you to create and edit a list ofusers for your project.

Page 234: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Security • 224

User List Tools

Add a new User to the list. This tool calls up the User Properties dialog foryou to enter user information.

Creating a New User1. Type the Name of a user that has been defined for the current project.

2. Enter a brief but meaningful Description of this user.

3. Enter the Password (up to 16 characters) that is assigned for the user name.

4. Confirm the password by entering it again.

5. Set the Access level. This is the maximum level that this user will be allowedto access.

6. Check if you want the user to have access to this project's run-time tag datavia the Internet using the iViewer utility.

Note: Infilink software must be licensed for iViewer access before this featurecan be used. If this box is checked without the software being licensed, a windowdisplaying an error message will appear when entering Run mode.

Edit an existing user's properties using the User Properties dialog.

Delete a User from the list.

Minimum user level to allow move licenseAssigns an Access level that will allow the user to transfer the Infilink license fromone computer to another. We recommend setting this level high.

Page 235: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. iViewer Utility • 225

iViewer Utility

OverviewThe iViewer utility is available through KEP's website. (www.kep.com). It is usedto display screen captures and tag data at a remote location via the Internet.Tags assigned Internet Read/Write permission can be changed; provided theuser has an appropriate Access level.

Note: The Infilink package must be licensed to allow Internet access. Use theUpgrade License procedure to add Internet capability.

Page 236: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. iViewer Utility • 226

Connecting to a remote PC

Getting Started

Before using iViewer there are some things that need to be done:• Make sure the copy of Infilink on the remote PC is licensed for remote

iViewer access.

• Make sure the Project Properties Internet tab has "Enable tag value accessover internet" enabled.

• Make sure the Project Properties, User List tab, has a user defined and thatthe user has "Allow access using iViewer" enabled.

• Make sure that both computers have internet connections.

• Find out the URL (or IP) address of the remote PC that you are trying toaccess.

@ Design Tip: The IP address of a PC can be determined by running "ipconfig"from the command line or DOS prompt.

ConnectingStart up iViewer and select Connect from the Action Menu.• Enter the Remote PC's URL (or IP) address.

• Enter A valid User Name and password.

• Click on the "Connect to server button"

iViewer should connect to the Remote PC and display all of the tags designatedfor internet viewing.

DisconnectSelect Disconnect from the Action menu to end the communications link to theremote Server.

Page 237: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. iViewer Utility • 227

ServerThe Server is the remote PC that is running Infilink. Enter the URL (or IP)address of the remote PC in this field.

PortThe port address of the PC that is running iViewer. 9000 is the default for mostPC's. if your PC has more than one Port address put the appropriate number ofthe port in this field.

User name and PasswordEnter the name of a User from the project User List that has Internet accessenabled. Enter the corresponding password for that user in the Password field.

Enable the check box to remember this User and Password the next time youattempt to connect to the Server.

Page 238: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. iViewer Utility • 228

iViewer SetupUse the Setup menu to modify how iViewer displays screen shots and taginformation. You can also set up a list of frequently accessed URL's.

iViewer Setup Dialog

Page 239: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. iViewer Utility • 229

Adding/Editing a Server

Server nameEnter a familiar name for the remote PC acting as a Server.

DescriptionEnter a brief and meaningful description of the Server.

URLEnter the URL (or IP) address of the Server. The URL is typically given as<Computer name>.<company name> com.

PortThe port address of the PC that is running iViewer. 9000 is the default for mostPC's. if your PC has more than one Port address put the appropriate number ofthe port in this field.

Screen ShotsiViewer can get a screen shot of the remote PC’s display. Use the Action menuGet Screen shot menu item to get a one-time screen shot. Infilink must not beminimized on the remote PC. Sheen shots can be done automatically by makingthe proper settings in the iViewer Setup Dialog.

Check the box to enable automatic retrieval of screen shots from theServer. If the box is not checked, screen shots can still be done manuallyusing the Get Screen shot menu item from the Action Menu.

Set the interval at which screen shots are to be taken. Internet connectionspeed should be taken into consideration when making this selection. Thetime to the next screen shot is displayed in the Status Bar.

@ Design Tip: Do a screen shot manually first and time how long it takesthe screen shot to arrive. Make sure that the minutes setting is longerthan the time it takes to actually get a screen shot.

Page 240: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. iViewer Utility • 230

iViewer Tag DisplayThe tags in the project that have Internet read or write capabilities are availablefor viewing with iViewer. From this list the user can select the tags to bedisplayed in the Tag values dialog by using the Setup|Tag List menu item.

Tags that are in an alarm condition are highlighted with the alarm type displayedin the Alarm column.

To hide or show the Tag list, make select the Tags menu item from the Viewmenu.

If write ability has been assigned to the tag and the user access level for the tagis less than the user level of the iViewer user, the tag's value can be changed.Double click on the tag name in the Tag values dialog. The dialog shown below

pops up. Enter the new value for the tag and click the button. If the value entered is valid, the new value will be displayed in the Tagvalues dialog.

Page 241: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. iViewer Utility • 231

Modifying the Tag list displaySelect the Setup|Tag List menu item to call up the Select tags to view dialog.Check the boxes of the Tag groups and Tags you would like to be displayed in

the Tag Values window. Click when you are done.

iViewer Status BarThe status bar can be enabled (View menu item is checked) or disabled byselection.

The status bar shows the state of iViewer (Ready), the time until the next ScreenShot (NSS) and the URL (or IP) address of the Server (Connected to:).

Page 242: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Automatically Running a Project • 232

Automatically Running a Project

OverviewThe KEPServerEX is a32 bit product and cannotrun on Windows 3.x.

In this section we will show you how to setup Infilink and the KEPServerEX tostart running a project automatically when your PC is started, or when selecting ashortcut or program item.

Page 243: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Automatically Running a Project • 233

Windows 95/98Making Infilink Auto Start in Win 95/98

1. Locate the Startup folder and create a new shortcut. The Startup folder isaccessed by right clicking the Windows Start button and selecting Open fromthe popup menu. You then double click the Programs folder icon from thedisplayed Start Menu folder to display the Programs folder. You then doubleclick the Startup folder icon to display the Startup folder contents. You thenselect the File menu and choose New and Shortcut to start the Shortcutwizard.

2. Use the Browse button on the displayed Create Shortcut dialog to findRunMode.exe. Your command line should look something like“c:\Infilink\RunMode.exe”.

3. Click Next and give your new Shortcut a name.

4. Right click on the new Shortcut and select properties from the popup shortcutmenu.

5. Now append a space, quotation marks, the path to the project you wish toload, the words 'project.hmi', and close the quotes. (ie."c:\Infilink\proj1\project.hmi"). All together it should look something like:

"c:\Infilink\RunMode.exe" "c:\Infilink\proj1\project.hmi".

Page 244: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Automatically Running a Project • 234

Infilink requires you toprovide the full path to thedirectory where theproject is located. It alsorequires the Working orStart in directory wherethe Infilink executablesare located.

6. Click OK to complete the shortcut. The Infilink Runtime icon should appearin the StartUp folder with the name that you chose in step 4.

7. Restart Windows to test your shortcut.

Page 245: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Automatically Running a Project • 235

Making KEPServerEX Auto Start in Win 95/98Now we'll setup the KEPServerEX to start automatically.1. Use Windows Explorer to find the ServerMain.exe application in the

KEPServerEX folder.2. Open the startup folder as described above. Drag ServerMain.exe to the

Startup folder. This creates a new shortcut in the startup folder toServerMain.exe. You can rename the shortcut as you would any otherwindows file.

3. Right click on the new Shortcut and select Properties… from the shortcutmenu.

4. Select the Shortcut tab.

Quotes (") are neededbecause of the spacebetween Program andFiles in the path.

5. The Target will be as follows:"C:\Program Files\KEPServerEX\ServerMain.exe” /run myproject.kdp

6. The Start in directory will be the directory in which the server project issaved:

"C:\Program Files\KEPServerEX\Projects "

7. In the Run list box select Minimized.

Page 246: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Automatically Running a Project • 236

8. Click Apply to accept the shortcut and click OK to exit the dialog.

Page 247: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Automatically Running a Project • 237

Windows NTMaking Infilink Auto Start in Win NTThe only difference between setting up shortcuts in Windows NT and Windows95/98 is that Windows NT has an extra tab for share permissions. The default isfor everyone to have access.

1. Drag the Infilink RunMode from the Infilink Products folder to the Startupfolder. This creates a shortcut to RunMode.exe.

2. Right mouse click on the new shortcut and select Properties… from theshortcut menu.

3. By default, the dialog will default to general properties. Select the Shortcuttab.

4. In shortcuts, the Target will be the same the Command Line we used in theWindows 95/98 example. You will have the full path to the Infilink executablefollowed by a space and the full path to the project directory. For example:D:\INFILINK\RunMode.EXE c:\project1\.

5. The Start in directory will be the path to the folder where RunMode.exe islocated. For example: D:\Infilink.

Page 248: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Automatically Running a Project • 238

6. Click Apply to accept the shortcut and click OK to exit the dialog.

Page 249: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Automatically Running a Project • 239

Making KEPServer Auto Start in Win NTNow we'll setup the KEPServerEX to start automatically.7. Drag ServerMain.exe from the KEPware Product folder to the Startup folder.

This creates a shortcut to ServerMain.exe.

8. Select Properties… from the shortcut menu.

9. Select the Shortcut tab.

Quotes (") are neededbecause of the spacebetween Program andFiles in the path.

10. For example the Target will be as follows: "D:\Program Files\KEPware\ServerMain.exe" /run myproject.kdp

11. The Start in directory will be the directory in which the server project issaved:

"D:\Program Files\KEPware\Projects"

12. In the Run list box select Minimized.

Page 250: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Automatically Running a Project • 240

13. Click Apply to accept the shortcut and click OK to exit the dialog.

Page 251: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-1

Appendix A: Library Objects

LIBRARY FILE: 2D_ISA_1

Page 252: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-2

LIBRARY FILE: 2D_ISA_2

Page 253: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-3

LIBRARY FILE: 2D_ISA_3

Page 254: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-4

LIBRARY FILE: 3D_ISA_1

Page 255: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-5

LIBRARY FILE: 3D_ISA_2

Page 256: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-6

LIBRARY FILE: 3D_ISA_3

Page 257: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-7

LIBRARY FILE: AIRCOND1

Page 258: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-8

LIBRARY FILE: AIRCOND2

Page 259: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-9

LIBRARY FILE: AIRCOND3

Page 260: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-10

LIBRARY FILE: ALARMHST

Page 261: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-11

LIBRARY FILE: ARROWS

Page 262: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-12

LIBRARY FILE: BITMAPS1

Page 263: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-13

LIBRARY FILE: BITMAPS2

Page 264: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-14

LIBRARY FILE: BITMAPS3

Page 265: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-15

LIBRARY FILE: BUTTONS1

Page 266: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-16

LIBRARY FILE: BUTTONS2

Page 267: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-17

LIBRARY FILE: BUTTONS3

Page 268: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-18

LIBRARY FILE: BUTTONS4

Page 269: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-19

LIBRARY FILE: BUTTONS5

Page 270: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-20

LIBRARY FILE: BUTTONS6

Page 271: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-21

LIBRARY FILE: COMPUTER

Page 272: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-22

LIBRARY FILE: CONTROLR

Page 273: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-23

LIBRARY FILE: DATADISP

Page 274: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-24

LIBRARY FILE: DIALS1

Page 275: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-25

LIBRARY FILE: DIALS2

Page 276: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-26

LIBRARY FILE: DUCTS

Page 277: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-27

LIBRARY FILE: ELECTRC1

Page 278: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-28

LIBRARY FILE: ELECTRC2

Page 279: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-29

LIBRARY FILE: FACILITY

Page 280: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-30

LIBRARY FILE: FLEXTUBE

Page 281: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-31

LIBRARY FILE: FLOWMTRS

Page 282: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-32

LIBRARY FILE: GENERMFG

Page 283: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-33

LIBRARY FILE: HEATING1

Page 284: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-34

LIBRARY FILE: HEATING2

Page 285: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-35

LIBRARY FILE: INDICATR

Page 286: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-36

LIBRARY FILE: INTLSYMS

Page 287: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-37

LIBRARY FILE: MAPSFLAG

Page 288: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-38

LIBRARY FILE: MATHANDL

Page 289: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-39

LIBRARY FILE: METERS1

Page 290: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-40

LIBRARY FILE: METERS2

Page 291: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-41

LIBRARY FILE: METERS3

Page 292: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-42

LIBRARY FILE: METERS4

Page 293: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-43

LIBRARY FILE: MISCSYM1

Page 294: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-44

LIBRARY FILE: MISCSYM2

Page 295: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-45

LIBRARY FILE: MISCSYM3

Page 296: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-46

LIBRARY FILE: MISCSYM4

Page 297: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-47

LIBRARY FILE: MIXERS

Page 298: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-48

LIBRARY FILE: MOTORS

Page 299: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-49

LIBRARY FILE: NATURE

Page 300: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-50

LIBRARY FILE: OP_INTFC

Page 301: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-51

LIBRARY FILE: PIPES1

Page 302: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-52

LIBRARY FILE: PIPES2

Page 303: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-53

LIBRARY FILE: PIPES3

Page 304: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-54

LIBRARY FILE: POWER

Page 305: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-55

LIBRARY FILE: PROCESS

Page 306: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-56

LIBRARY FILE: PUMPS

Page 307: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-57

LIBRARY FILE: SAFETY

Page 308: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-58

LIBRARY FILE: SENSORS

Page 309: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-59

LIBRARY FILE: SHAPES1

Page 310: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-60

LIBRARY FILE: SHAPES2

Page 311: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-61

LIBRARY FILE: SLIDERS1

Page 312: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-62

LIBRARY FILE: SLIDERS2

Page 313: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-63

LIBRARY FILE: SLIDERS3

Page 314: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-64

LIBRARY FILE: SLIDERS4

Page 315: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-65

LIBRARY FILE: SYSCMDS

Page 316: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-66

LIBRARY FILE: TANKCUTS

Page 317: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-67

LIBRARY FILE: TANKS1

Page 318: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-68

LIBRARY FILE: TANKS2

Page 319: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-69

LIBRARY FILE: TIMEDATE

Page 320: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-70

LIBRARY FILE: TRENDHST

Page 321: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-71

LIBRARY FILE: VALVES

Page 322: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Copyright © 2003 KEP, Inc. Appendix A: Library Objects • A-72

LIBRARY FILE: VEHICLES

Page 323: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Infilink Form S135.3

Copyright © 2000 KEP, Inc. Trouble/Feedback Report • B-1

TTrroouubbllee//FFeeeeddbbaacckk RReeppoorrttEmail : [email protected] Fax: +1 (732) 935-9344

Product Serial Number/s: __________________________________________________________________

Company Name: __________________________________________________________________________

Contact Name: ____________________________________________________________________________

Address: ____________________________________ Phone : __________________________

____________________________________ Fax: _________________________

____________________________________ E-mail: _________________________

____________________________________

____________________________________

If Infilink ( ) If the KEPServerEX ( )

Version NO. ___________________________ Server Version NO. _______________________

Driver Version NO. _______________________

Driver Name: ____________________________

If you are using Modbus is your device a Modicon PLC ( ) or Other ( )?

Operating Platform:486 ( ) Pentium ( ) Pentium II ( ) Pentium III ( ) Other ( ) __________________________

CPU Speed ________________________

Win 98 ( ) Win 98SE ( ) Win NT 3.51 ( ) Win NT 4.0 ( ) Win 2000 ( ) Win ME ( )

Network Present ( ) Type: _______________________________________________________

Network OS (Microsoft, Novel, Etc.) _______________________________________________

Are you attempting to connect to the server of another application over the network? (Yes/No)

Cable Connections:Serial RS-232( ) Off the Shelf ( ) or Custom Made ( )

Non-Serial RS-232 ( ) Make and Model of Converter: ______________________________________

RS_422/485 card ( ) Make and Model of Converter: _______________________________________

Other ( ) _____________________________________________________________________________

Page 324: Users Guide - KEP3. You may copy the Software onto your hard disk and hold the original for archival purposes. 4. You may not make copies of materials that accompany the software,

Infilink Form S135.3

Copyright © 2000 KEP, Inc. Trouble/Feedback Report • B-2

Project Description: (include number of tags, plcs, and explanation of what you are attempting to do) ifpossible send your project.

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

Problem Description: (completely describe what your problem is and what you were doing when youencountered it)

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________