LK4Ref View / The Manual Lkd Referencem

User Manual: View / the Manual LookoutDirect Object Reference - AutomationDirect

Open the PDF directly: View PDF PDF.
Page Count: 300 [warning: Documents this large are best viewed by clicking the View PDF Link!]

Lookout Direct
Object Reference Manual
Lookout Developer’s Manual
License Agreement
“Valued Technology”
This License Agreement is your proof of license. Please treat it as valuable property.This is a legal agreement between you (either
an individual or entity) the end-user of this product, and Automation Direct. If you do not agree to the terms of this Agreement,
promptly return the package and any accompanying items to Automation Direct for a full refund.
LookoutDirect SOFTWARE LICENSE
1. GRANT OF LICENSE — This LookoutDirect License Agreement (“License”) permits you to use one copy of the specified
version of the LookoutDirect software product (“Software”) on any single computer, provided the Software is in use on only
one computer at any time. If you have multiple Licenses for the Software, then at any time you may have as many copies of
the Software in use as you have Licenses. The Software is deemed “in use” on a computer when it is loaded into the temporary
memory (i.e. RAM) or installed into the permanent memory (i.e. hard disk, CD--ROM or other storage device) of that
computer, except that a copy may be installed on a network server for the sole purpose of distribution to other computers that
are not currently “in use”. If the anticipated number of Software users will exceed the number of applicable Licenses, then you
must have a reasonable mechanismor process in place to assure that the number of persons using the Software concurrently
does not exceed the number of Licenses. If the Software is permanently installed on the hard disk or other storage device of a
computer (other than a network server) and oneperson uses that computer more than80%of the timeit is in use, then that person
may also use the software on a single portable computer or a single computer at home.
2. COPYRIGHT —The Software is owned by Automation Direct or its suppliers and is protected by United States copyright
laws and international treaty provisions. Therefore, you must treat the Software like any other copyrighted material (e.g., a
book or musical recording) except that you may:
a. Make one backup copy of the Software solely for backup or archival purposes.
b. Transfer the Software to a single hard disk provided you keep the original and the backup solely for archival purposes. You
may not copy any written materials that may accompany the Software.
3. OTHER RESTRICTIONS—This LookoutDirect License Agreement is your proof of license toexercise therights
grantedherein andmust beretained by you. You may not rent or lease the Software, but you may transfer your rights under this
LookoutDirect License Agreement on a permanent basis provided that you transfer this License Agreement, the Software, and
all accompanying written materials and retain no copies. The recipient must also agree to unequivocally abide by the terms
contained in this License Agreement. You may not reverse engineer, decompile, or disassemble the Software. Any transfer of
the Software must include the most recent update and all prior versions. If the Software is acquired within the United States,
you may not export the Software outside of the United States without first complying with all applicable USexport laws and
regulations. You acknowledge that the Software will not function without a certain hardware key. This hardware key will be
furnished to you by Automation Direct and you agree that such hardware key is to be used solely with the Software provided.
DISTRIBUTION LIMITATIONS
If you have acquired the development/runtime package, you may distribute process files created with the Software, provided that:
1. each recipient of your process file has a valid license for a separate runtime copy of the Software;
2. you include the following copyright notice, either on--screen in your process file’s About Box or written documentation, with
each distributed copy of your
3. process file: “Copyright E [year] Automation Direct by Koyo, Inc. (Based on materials of National Instruments Corporation).
All Rights Reserved”;
4. you do not use Automation Direct’s or National Instruments’ (”NI”) names, logos, or trademarks to market your process file
without written permission; and
5. you agree to indemnify, hold harmless, and defend Automation Direct and NI (including their officers, directors, employees,
and agents) and their suppliers fromand against any claims.
LIMITED WARRANTY
1. Automation Direct warrants the Software will perform substantially in accordance with the written materials for a period of
ninety (90) days from the date of receipt.
2. Automation Direct warrants that any hardware accompanying the Software will be free fromdefects in materials and
workmanshipunder normal use andservice for a period of one (1) year from the date of receipt.
NO OTHER WARRANTIES. EXCEPT AS EXPRESSLY SET FORTHABOVE, THE SOFTWARE IS PROVIDED“AS IS”
WITHOUT WARRANTYOF ANYKIND, AND NO OTHER WARRANTIES, EITHER EXPRESSED OR IMPLIED ARE
MADE WITH RESPECT TO THE SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON--INFRINGEMENT, OR ANY OTHER
WARRANTIES THAT MAY ARISE FROM USAGE OR TRADE OR COURSE OF DEALING. Automation Direct AND ITS
SUPPLIERS DO NOT WARRANT, GUARANTEE, OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF OR
THE RESULTS OF THE USE OF THE SOFTWARE IN TERMS OF CORRECTNESS, ACCURACY, RELIABILITY, OR
OTHERWISE AND DO NOT WARRANT THAT THE OPERATION OF THE SOFTWARE WILL BE
UNINTERRUPTED OR ERROR FREE. Automation Direct AND ITS SUPPLIERS EXPRESSLY DISCLAIM ANY
WARRANTIES NOT STATED HEREIN.
Customer Remedies —Automation Direct’s entire liability and your exclusive remedy shall be at Automation Direct’s option.
Automation Direct will either refund the price paid, or repair or replace the Software or hardware that does not meet Automation
Direct’s Limited Warranty. You must return the product to Automation Direct with a copy of your purchase receipt. This Limited
Warranty is void if failure of the Software or hardware has resulted from accident, abuse, or misapplication. Any replacement
Software will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer.
No Other Warranties — Automation Direct DISCLAIMS ALL OTHER WARRANTIES, EITHER EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE, AND ANY ACCOMPANYING WRITTEN MATERIALS
OR HARDWARE. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS. YOU MAY HAVE OTHERS,
WHICH VARY FROM STATE TO STATE.
No Liability for Consequential Damages — In no event shall Automation Direct or its suppliers be liable for any damages
whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information,
or other pecuniary loss) arising out of the use of or inability to use this Automation Direct product, even if Automation Direct or
its suppliers have been advised of possibility of such damages.
U.S. GOVERNMENT RESTRICTED RIGHTS
The Software and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government
is subject to restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at
DFARS 252.227--7013 or subparagraphs (c) (1) (2) of the Commercial Computer Software -- Restricted Rights at 48 CFR
52.227--19 as applicable. Contractor/manufacturer is Automation Direct by Koyo, Inc. / 3505 Hutchinson Road, Cumming, GA
30040 (under license from National Instruments Corporation, 11500 N. Mopac Expressway, Austin, Texas 78759--3504).
This agreement is governed by the laws of the State of Georgia.
WARNING
(1) THE SOFTWARE IS NOT DESIGNED WITH COMPONENTS AND TESTING FOR A LEVEL OF RELIABILITY
SUITABLE FOR USE IN OR INCONNECTION WITH SURGICAL IMPLANTS OR AS CRITICAL COMPONENTS IN
ANY LIFE SUPPORT SYSTEMS WHOSE FAILURE TO PERFORM CAN REASONABLY BE EXPECTED TO CAUSE
SIGNIFICANT INJURY TO A HUMAN.
(2) IN ANY APPLICATION, INCLUDING THE ABOVE, RELIABILITY OF OPERATION OF THE SOFTWARE CAN BE
IMPAIRED BY ADVERSE FACTORS, INCLUDING BUT NOT LIMITED TO FLUCTUATIONS IN ELECTRICAL
POWER SUPPLY, COMPUTER HARDWARE MALFUNCTIONS, COMPUTEROPERATINGSYSTEMSOFTWARE
FITNESS, FITNESS OF COMPILERS ANDDEVELOPMENT SOFTWARE USED TO DEVELOP AN APPLICATION,
INSTALLATION ERRORS, SOFTWARE AND HARDWARE COMPATIBILITY PROBLEMS, MALFUNCTIONS OR
FAILURES OF ELECTRONIC MONITORING OR CONTROL DEVICES, TRANSIENT FAILURES OF ELECTRONIC
SYSTEMS (HARDWARE AND/OR SOFTWARE), UNANTICIPATED USES OR MISUSES, OR ERRORS ON THE PART
OF THE USER OR APPLICATIONS DESIGNER (ADVERSE FACTORS SUCH AS THESE ARE HEREAFTER
COLLECTIVELY TERMED ”SYSTEM FAILURES”). ANY APPLICATION WHERE A SYSTEM FAILURE WOULD
CREATE A RISK OF HARM TO PROPERTY OR PERSONS (INCLUDING THE RISK OF BODILY INJURY AND
DEATH) SHOULD NOT BE RELIANT SOLELY UPON ONE FORM OF ELECTRONIC SYSTEM DUE TO THE RISK
OF SYSTEM FAILURE. TO AVOID DAMAGE, INJURY, OR DEATH, THE USER OR APPLICATION DESIGNER MUST
TAKE REASONABLY PRUDENT STEPS TO PROTECT AGAINST SYSTEM FAILURES, INCLUDING BUT NOT
LIMITED TO BACK--UP OR SHUT DOWN MECHANISMS. BECAUSE EACH END--USER SYSTEM IS
CUSTOMIZED AND DIFFERS FROM UTILIZED TESTING PLATFORMS AND BECAUSE A USER OR
APPLICATION DESIGNER MAY USE THE SOFTWARE IN COMBINATION WITH OTHER PRODUCTS IN A
MANNER NOT EVALUATED OR CONTEMPLATED BY PLCDIRECT OR ITS SUPPLIERS, THE USER OR
APPLICATION DESIGNER IS ULTIMATELY RESPONSIBLE FOR VERIFYING AND VALIDATING THE
SUITABILITY OF THE SOFTWARE WHENEVER THE SOFTWARE IS INCORPORATED IN A SYSTEM OR
APPLICATION, INCLUDING, WITHOUT LIMITATION, THE APPROPRIATE DESIGN, PROCESS AND SAFETY
LEVEL OF SUCH SYSTEM OR APPLICATION.
Lookout is a registered trademark of National Instruments Corporation.
LookoutTMDirect
Getting Started Guide
Please include the Manual Name and the Manual Issue, both shown below, when
communicating with Technical Support regarding this publication.
Manual Name: LookoutDirect Object Reference
Issue: First Edition, Rev. A
Issue Date: 11/02
Publication History
Issue Date Description of Changes
First Edition 10/01 Orginal
Rev. A 11/02 Deleted information on Historgram
object
© Automationdirect.com i Developer’s Manual
Contents
About This Manual
Document Conventions..................................................................................................vii
Technical Support..........................................................................................................viii
Phone...............................................................................................................viii
World Wide Web.............................................................................................viii
Chapter 1
Introduction to the LookoutDirect Object Class Reference
Chapter 2
System Objects
Accumulator...................................................................................................................2-2
Accumulator Data Members............................................................................2-3
Alarm .............................................................................................................................2-4
Alarm Data Members ......................................................................................2-6
$Alarm ...........................................................................................................................2-7
$Alarm Data Members ....................................................................................2-8
Using $Alarm with Other Objects...................................................................2-9
Animator ........................................................................................................................2-10
Animations ......................................................................................................2-10
Color Animation..............................................................................................2-12
Animator Data Members.................................................................................2-14
Average..........................................................................................................................2-15
Average Data Members...................................................................................2-15
Counter...........................................................................................................................2-17
Counter Data Members....................................................................................2-17
DataTable.......................................................................................................................2-18
Multiplexing Displays and Graphics ..............................................................2-20
DataTable Example .........................................................................................2-22
Connecting Signals to DataTables....................................................2-23
The Display Panel.............................................................................2-27
Operating Your Multiplexed Panel .................................................................2-28
DataTable Cursors...........................................................................................2-28
Using Multiple Cursors.....................................................................2-30
DataTable Data Members................................................................................2-30
DdeLink .........................................................................................................................2-34
DdeLinks on Same Computer .........................................................................2-34
DdeLinks to Remote Computer.......................................................................2-34
Contents
Develper’s Manual ii © Automationdirect.com
DdeLink Data Members.................................................................................. 2-35
DdeTable ....................................................................................................................... 2-36
DdeTable on Same Computer......................................................................... 2-36
DdeTable to Remote Computer ...................................................................... 2-38
DDETable Data Members............................................................................... 2-39
DelayOff........................................................................................................................2-40
DelayOff Data Members................................................................................. 2-41
DelayOn.........................................................................................................................2-42
DelayOn Data Members.................................................................................. 2-43
Derivative ......................................................................................................................2-44
Derivative Data Members ............................................................................... 2-45
DialGauge...................................................................................................................... 2-46
DialGauge Data Members............................................................................... 2-48
ElapsedTime.................................................................................................................. 2-49
ElapsedTime Data Members........................................................................... 2-49
Event.............................................................................................................................. 2-50
Event Data Members....................................................................................... 2-50
(expression) ................................................................................................................... 2-51
Flipflop .......................................................................................................................... 2-53
Flipflop Data Member..................................................................................... 2-53
Gauge............................................................................................................................. 2-54
Gauge Data Members...................................................................................... 2-55
HyperTrend.................................................................................................................... 2-56
HyperTrend Data Members ............................................................................ 2-63
Converting LookoutDirect 3.xx HyperTrends to LookoutDirect 4................. 2-64
Integral........................................................................................................................... 2-65
Integral Data Members.................................................................................... 2-66
Interval........................................................................................................................... 2-67
Interval Data Members.................................................................................... 2-68
$Keyboard ..................................................................................................................... 2-69
$Keyboard Data Members .............................................................................. 2-70
L3Pot ............................................................................................................................. 2-72
L3Pot Data Members ...................................................................................... 2-74
L3Pushbutton................................................................................................................. 2-76
L3Pushbutton Data Members.......................................................................... 2-78
L3Switch........................................................................................................................2-79
L3Switch Data Members ................................................................................ 2-81
L3TextEntry .................................................................................................................. 2-82
L3TextEntry Data Members ........................................................................... 2-84
LatchGate ...................................................................................................................... 2-85
LatchGate Data Members ............................................................................... 2-85
Loader............................................................................................................................ 2-86
Loader Data Members..................................................................................... 2-88
Loader Error Messages ................................................................................... 2-89
Maximum.......................................................................................................................2-91
Maximum Data Members................................................................................2-91
Meter..............................................................................................................................2-92
Meter Data Members.......................................................................................2-93
Minimum .......................................................................................................................2-94
Minimum Data Members ................................................................................2-95
Monitor ..........................................................................................................................2-96
Monitor Data Members ...................................................................................2-96
Multistate .......................................................................................................................2-97
Multistate Data Members ................................................................................2-98
Neutralzone....................................................................................................................2-99
Neutralzone Data Members.............................................................................2-100
OneShot .........................................................................................................................2-101
OneShot Data Members ..................................................................................2-102
Pager ..............................................................................................................................2-103
Pager Data Members .......................................................................................2-104
Pager Object Modes ........................................................................................2-105
Numeric Only....................................................................................2-105
Alphanumeric Mode .........................................................................2-105
Pager Queueing ...............................................................................................2-106
Pager Status Messages.....................................................................................2-106
Panel ..............................................................................................................................2-107
Manipulating Panels........................................................................................2-110
Panel Switching...............................................................................................2-110
Special Considerations for “Home Panel” ......................................................2-112
Panel Print .......................................................................................................2-112
Screen Resolution and LookoutDirect Graphics.............................................2-113
Panel Data Members........................................................................................2-114
Pipe ................................................................................................................................2-117
Pipe Data Members .........................................................................................2-117
Playwave........................................................................................................................2-118
Playwave Data Members.................................................................................2-118
Pot ..................................................................................................................................2-119
Pot Data Members...........................................................................................2-121
Pulse...............................................................................................................................2-124
Pulse Data Members........................................................................................2-125
Pushbutton .....................................................................................................................2-126
Pushbutton Data Members ..............................................................................2-129
RadioButton...................................................................................................................2-131
RadioButton Data Members............................................................................2-134
Recipe ............................................................................................................................2-135
Contents
Develper’s Manual iv © Automationdirect.com
Recipe Data Members..................................................................................... 2-140
Run ................................................................................................................................ 2-142
Sample........................................................................................................................... 2-144
Sample Data Members.................................................................................... 2-144
SampleText.................................................................................................................... 2-146
SampleText Data Members............................................................................. 2-146
Scale .............................................................................................................................. 2-147
Scale Data Members .......................................................................................2-148
Sequencer ...................................................................................................................... 2-149
Programming the Sequencer........................................................................... 2-150
Sequencer Data Members ............................................................................... 2-151
Spinner........................................................................................................................... 2-152
Spreadsheet.................................................................................................................... 2-154
Spreadsheet Data Members............................................................................. 2-157
Switch............................................................................................................................ 2-158
Switch Data Members..................................................................................... 2-160
Symbolic Links.............................................................................................................. 2-162
$System ......................................................................................................................... 2-165
$System Data Members .................................................................................. 2-165
TextEntry....................................................................................................................... 2-166
TextEntry Data Members................................................................................ 2-168
TimeOfxxxx ................................................................................................................... 2-170
Timeofxxxx Data Members............................................................................. 2-171
Waveform...................................................................................................................... 2-172
Waveform Data Members............................................................................... 2-173
Waveform Comments ..................................................................................... 2-173
Chapter 3
Driver and Protocol Objects
AB_PLC5,
AB_SLC500 ............................................................................................................... 3-2
Allen-Bradley Serial Port Interface Parameters.............................................. 3-4
Allen-Bradley DH+ Interface Parameters....................................................... 3-5
Allen-Bradley Ethernet Interface Parameters ................................................. 3-8
Using the 5136-SD card from S-S Technologies, Inc..................................... 3-9
Allen-Bradley Register Addressing ................................................................ 3-10
Allen-Bradley Data Members ......................................................................... 3-10
Allen-Bradley Error Messages........................................................................ 3-18
ASCII............................................................................................................................. 3-24
ASCII Data Members...................................................................................... 3-25
Request and Response Format Strings............................................................ 3-26
ACSII Object Markers...................................................................... 3-28
Entering ASCII Object Format String.............................................. 3-31
Contents
© Automationdirect.com v Developer’s Manual
Request Frame Construction Examples............................................3-31
Response Format Examples..............................................................3-31
Using Sum Data Members...............................................................................3-32
ASCII Error Messages.....................................................................................3-33
DeltaTau.........................................................................................................................3-35
DeltaTau Data members..................................................................................3-35
DirectLogic ....................................................................................................................3-37
DirectLogic Protocol Status ............................................................................3-41
105/205/350/405 DirectLogic PLC Family Data Members............................3-41
305/305S Direct Logic PLC Family Data Members.......................................3-45
GE_Series90 ..................................................................................................................3-48
GE_Series90 Data Members ...........................................................................3-49
GE_Series90 Status Messages.........................................................................3-51
Modbus ..........................................................................................................................3-53
Advanced Modbus Parameters........................................................................3-56
Modbus Protocol Statistics..............................................................................3-58
Modbus Data Members ...................................................................................3-60
National Instruments FieldPoint....................................................................................3-65
FieldPoint Data Members................................................................................3-67
FieldPoint Multiple Discrete Data Members...................................................3-69
FieldPoint Error Messages ..............................................................................3-70
National Instruments LookoutDirect OPC Client .........................................................3-72
OPC Client Data Members..............................................................................3-75
Examples...........................................................................................3-77
Omron ............................................................................................................................3-79
Omron Data Members.....................................................................................3-80
Omron Status Messages ..................................................................................3-81
Omron Models Supported ...............................................................................3-82
Tiway .............................................................................................................................3-83
Update Write Settings......................................................................................3-84
Communication Techniques............................................................................3-84
Local Port..........................................................................................3-85
Unilink Host Adapter........................................................................3-85
Unilink PC Adapter...........................................................................3-86
CTI TCP/IP .......................................................................................3-87
Tiway Data Members ......................................................................................3-88
Importing APT Name Files .............................................................................3-91
Glossary
Index
Contents
Develper’s Manual vi © Automationdirect.com
© Automationdirect.comvii vii Object Reference Manual
About This Manual
This manual describes LookoutDirect object classes, listed in alphabetical
order, in two sections. The information contained in this manual can also
be viewed in online help.
Document Conventions
The following document conventions are used in this manual.
»Indicate the path for nested menu and command
selections. Example: Start » Programs » xxx
Indicates a tip that provides helpful information related
to the current procedure or topic.
Indicates a important supplementary information
pertinent to the current procedure or topic.
Denotes a caution statement. Failure to follow the
guidance provide in the caution statement could
result in a loss of data or an interruption to a critical
process being controlled or monitored by
LookoutDirect.
bold face text Denotes the name of dialog boxes, property sheet
items, application features, and menu commands that
you select as part of a procedure.
italic Denotes references to dialog boxes, property sheet
items, application features, and menu commands that
are not part of the current procedure, or key concepts.
monospace
Denotes characters that you enter from the keyboard,
code/syntax examples. The monospace font is also
used to express proper names of disk drives, paths,
directories, programs, subprograms, subroutines,
device names, functions, operations, variables,
filenames and extensions.
Chapter
Object Reference Manual viii www.Automationdirect.com
Technical Support
Phone
Contact Automation Direct’s technical support department toll free at
1-770-844-4200. Technical support is available weekdays from 9:00 a.m
through 6:00 p.m. EST.
World Wide Web
To access a wide variety of technical support assets including
print-on-demand documentation and software downloads, visit the
Automation Direct website at www.automationdirect.com and click on
Technical Support.
© Automationdirect.com 1-1 Object Reference Manual
1
Introduction to the LookoutDirect
Object Class Reference
This manual describes LookoutDirect object classes, listed in alphabetical
order, in two chapters.
Chapter 2, System Objects, covers the LookoutDirect System object
classes, native to Lookout. You use objects made from these classes as
controls and for data analysis and display.
Chapter 3, Driver and Protocol Objects, contains Lookout driver and
protocol objects that you use to connect to PLCs, RTUs, and other
hardware that is a part of your industrial automation and control system.
Input parameter syntax and data members are documented for each object
class, along with a description of the functionality of each object class.
Note Lookout assists you in building graphical screen displays when possible. When you
place a displayable object (like Pots or Switches) on a control panel, the appropriate
Display Parameter dialog box appears, prompting you to select a display type. If the
object is not displayable but supports an implicit signal (like Counters, LatchGates, and
OneShots), Lookout inserts an expression on the control panel.
You can elect not to display an object or its signal by clicking on the
Cancel button at any time. If you change your mind later, you can display
the object or its signal using the Insert»Displayable Object or
Insert»Expression commands, respectively.
Some object classes have neither a display member nor an implicit
signal—instead they have multiple data members. If you want to display
the result of a logical or numeric data member on a control panel, you can
use the Insert»Expression command and choose the appropriate name and
data member, or drag and drop the data member from the Lookout Object
Explorer.
See the Getting Started with Lookout manual for more information on
creating objects, modifying their databases, and linking them together.
Chapter 1 Introduction to the LookoutDirect Object Class Reference
Object Reference Manual 1-2 www.Automationdirect.com
© Automationdirect.com 2-1 Object Reference Manual
2
System Objects
This chapter describes LookoutDirect System object classes, listed in
alphabetical order. Input parameter syntax and data members are
documented for each object class, along with a description of the
functionality of each object class.
Chapter 2 System Objects
Object Reference Manual 2-2 www.Automationdirect.com
Accumulator
Accumulator is a numeric totalizer. It samples the numeric Input any time
the Sample value transitions from off to on, adding each new sample to the
previous running total. It resets the totalized value to zero when Reset
transitions from off to on.
Input is a numeric expression while Sample and Reset are logical
expressions.
The following HyperTrend demonstrates the relationship between Input,
Sample, and Reset.
Reset
Input
Output
Sample
Chapter 2 System Objects
© Automationdirect.com 2-3 Object Reference Manual
Accumulator Data Members
Comments Reset could be a regular pulse interval created by a Pulse timer, as shown
in the dialog box in Figure .
The Counter object class totalizes a number of logical events and the
Integral object class totalizes rates. Use Accumulator to totalize numeric
variables.
Related Objects Average, Minimum, Maximum, Sample
Table 2-1. Accumulator Data Members
Data Members Type Read Write Description
(implicit) numeric yes no Current totalized value, totalized since the
most recent Reset signal. Updated at the
defined Sample rate.
Chapter 2 System Objects
Object Reference Manual 2-4 www.Automationdirect.com
Alarm
Alarm is a flexible and powerful object class you use to create various
logical- and numeric-triggered alarms that are displayed in the alarm
window.
Note You should first read about the LookoutDirect alarm system in Chapter 9, Alarms,
in the LookoutDirect Developer’s Manual to aid you in designing the most efficient
alarming scheme for your application.
There are two basic alarm types: Logical and Numeric. When Logical
alarm is selected, LookoutDirect prompts you to enter a logical expression
in the Condition field. It then uses the logical Condition to trigger and
reset the alarm. If the alarm Condition is true, the alarm is active, and if the
condition is false, the alarm goes inactive. You can also connect an audio
Wave file to individual logical alarms. See Playwave for additional
information.
LookoutDirect queues alarm .wav files, with up to 100 files in the queue.
Each alarm .wav file plays completely before the next file plays. If more
than 100 alarms fill the queue, new alarms cancel the currently playing files
and begin playing instead.
When you pick the Numeric alarm selection, the name of the Condition
field changes to Signal. This prompts you to enter a numeric expression in
Chapter 2 System Objects
© Automationdirect.com 2-5 Object Reference Manual
the field against which your various alarm setpoints are measured. Hi-Hi,
Hi, Lo, and Lo-Lo are all numeric expressions. Rate of change generates
an alarm when the signal is actively changing by the set amount for the
period of time between any two Sample pulses. The Unit time setting
determines the time units for the rate of change.
Alarm area specifies the group name associated with the alarm object. All
previously defined groups appear in the list box and may be selected with
the mouse.
Priority ranges from 1 to 10 where 10 is the most important.
Message is a text expression whose result is displayed in the alarm window
when this object generates an alarm. If alarm style is numeric, the relevant
alarm trigger prefixes your message (for example, HiHi level: Alarm
message). See Chapter 9, Alarms, in the LookoutDirect Developer’s
Manual for additional information.
Chapter 2 System Objects
Object Reference Manual 2-6 www.Automationdirect.com
Alarm Data Members
.
Comments A common alarm condition is caused by a measured value going out of an
acceptable range. For example, a storage tank whose level is too low or too high can
generate several alarms:
Hihi: Tank level is out of range, or Lo: Tank level
is out of range. If you use a numeric style alarm to trigger the alarm and if the tank
level fluctuates or “jitters” around the alarm level settings, a new alarm record is
generated in the alarm window each time the tank level fluctuates above or below the
level settings. To alleviate this condition, you could use the Neutralzone object to filter
out minor tank fluctuations.
Note Alarms can also be defined through parameter settings on object data members.
Many times, this is the most efficient method of defining and creating alarm conditions.
See Database-Generated Alarms in Chapter 9, Alarms, in the LookoutDirect Developer’s
Manual, and Editing Object Databases in Chapter 4, Using LookoutDirect, in the Getting
Started with LookoutDirect manual.
Table 2-2. Alarm Data Members
Data Members Type Read Write Description
active logical yes no Result of logical alarm status. True if
alarm is active and false if alarm is
inactive.
hi logical yes no Result of numeric alarm hi data member
status.
hihi logical yes no Result of numeric alarm hihi data member
status.
lo logical yes no Result of numeric alarm lo data member
status.
lolo logical yes no Result of numeric alarm lolo data member
status.
rate logical yes no Result of numeric alarm rate data member
status.
Chapter 2 System Objects
© Automationdirect.com 2-7 Object Reference Manual
$Alarm
$Alarm is a global object. It makes available global alarm data such as the
number of currently active alarms.
You can use $Alarm data members just like other data members. By
inserting an expression you can display the number of active alarms in any
particular group. Or, by connecting a pushbutton to an acknowledge data
member, operators can acknowledge alarms through pushbutton selection.
Assume, for example, that you want to create a pushbutton that
acknowledges all alarms. First create a pushbutton object. Next, use the
Object»Edit Connections… command to connect the pushbutton (Pb1)
to the .ack data member of $Alarm. Such a connection is shown in the
following illustration.
The expression(Pb1)acknowledges all active alarms any time the
pushbutton is depressed. You could make similar connections to
acknowledge individual alarm areas.
Chapter 2 System Objects
Object Reference Manual 2-8 www.Automationdirect.com
You can define new alarm areas through Alarm objects and by modifying
object database parameters. As you create each new alarm area,
LookoutDirect adds new readable and writable data members to the
$Alarm object. $Alarm data members are described in the following table.
$Alarm Data Members
Table 2-3. $Alarm Data Members
Data Member Type Read Write Description
ack logical no yes Upon transition from FALSE to
TRUE, acknowledges all alarms.
Ackselected logical no yes Upon transition from FALSE to
TRUE, acknowledges all selected
alarms.
ActivatePanel logical no yes Calls Alarm Window upon transition
from FALSE to TRUE, making it
visible on the screen.
Active numeric yes no Total number of currently active
alarms (that is, alarm conditions that
still exist).
Groupname text yes no Alarm area name associated with the
most recent alarm.
Groupname.ack logical no yes Upon transition from FALSE to
TRUE, acknowledges all alarms
within the specified group.
Groupname.active numeric yes no Number of currently active alarms
within the specified group.
Groupname.unacked numeric yes no Number of unacknowledged alarms
within the specified group.
Message text yes no Text of the message of the most recent
alarm
MinimizePanel logical no yes Closes Alarm Window upon transition
from FALSE to TRUE, changing it to
an icon.
Priority numeric yes no Alarm priority associated with the
most recent alarm.
Chapter 2 System Objects
© Automationdirect.com 2-9 Object Reference Manual
Comments Groupname in the preceding table represents the name of any specified
alarm area. The $Alarm object contains an .active, .unacked, and .ack data
member for every alarm area.
Using $Alarm with Other Objects
Every time a new alarm appears in LookoutDirect, $Alarm.Message,
$Alarm.Name, $Alarm.Groupname, and $Alarm.Priority
are updated with the appropriate information for the new alarm. Then
$Alarm.Update pulses high to alert you that those four data members
contain fresh values.
These data members can serve many purposes, but they are specifically
designed to work with the Pager object class. In a typical application, you
could use $Alarm.Update to initiate a page, possibly including the other
four data members in the text of the page. With this system you can also
filter which alarms you want to page, and which alarms the pager ignores.
Priority01.active –
Priority10.active numeric yes no Number of currently active alarms of
the specified priority.
Priority01.unacked –
Priority10.unacked numeric yes no Number of unacknowledged alarms of
the specified priority.
Silence logical no yes Turns off alarm sounds when set to
TRUE.
Name text yes no Object name associated with the most
recent alarm.
Unacked numeric yes no Total number of unacknowledged
alarms (that is, alarm conditions that
have not yet been acknowledged).
Update logical yes no Pulses high every time there is a new
alarm.
Table 2-3. $Alarm Data Members (Continued)
Data Member Type Read Write Description
Chapter 2 System Objects
Object Reference Manual 2-10 www.Automationdirect.com
Animator
The Animator object class provides full graphical animation including
horizontal and vertical motion, dynamic resizing and visibility, dynamic
symbol sequencing and programmable color changes.
When you first create an animator object, the Select graphic dialog box
appears.
Select the graphic you want to animate. To animate colors, you must select
a Windows Metafile (.wmf). A moving animation must have the series of
images you want to animate arranged in a single bitmap so that each cell of
the animation can be defined by a grid of rows and columns.
Animations
To create a moving animation, select the Animation name.
Chapter 2 System Objects
© Automationdirect.com 2-11 Object Reference Manual
The graphic file you select determines what images appear on the screen.
You delineate the images in a bitmap graphic by dividing it into a grid of
Rows and Columns. In the preceding illustration, the single column is
48 pixels Wide and each row is 28 pixels High. Conceivably, the grid
could consist of 32,000 cells. 100 cells would be more practical.
Each grid cell is a filmstrip image. Internally, the Animator assigns a cell
number to each image. It normally plays the filmstrip by progressing from
left to right and top to bottom, from the lowest cell number to the highest
cell number.
The Rate (cells/sec) selection you use to specify a frequency at which the
Animator progresses from one cell image to the next. The rate value can be
positive or negative and can range from 0.0000005 (one frame every
23.148 days) to 100 frames per second.
If the rate value is negative, the Animator plays the filmstrip backwards,
starting at the last cell.
You can use the Cell selection in the definition dialog box to identify a
particular cell number to display. For example, you might use this selection
to display a specific image when a PLC register is equal to a particular
Chapter 2 System Objects
Object Reference Manual 2-12 www.Automationdirect.com
value. This is similar to the multistate object, but can provide many more
states, depending on the number of cells in the bitmap.
The X and Y parameters specify the horizontal and vertical position of the
image, respectively. These numeric parameters range from 0 to 100, and
together provide the X-Y position of the image as a percent of the Animator
dimension on a control panel.
Size is a numeric parameter that ranges from 0 to 100 percent, where
100 percent is the full size of a single cell as specified by W and H.
Visible is a logical parameter that causes to the image to appear when it
goes true and disappear when it goes false.
Color Animation
To create color changes programmatically, select the Color tab.
With this option, you can set the color map on a .wmf graphic using a series
of five logical conditions and a default state. If no condition is true, the
default state (or color map) is imposed.
You can choose a custom color map by clicking on the color sample
associated with each logical condition. You can then select any color from
the palette available on your computer.
Select the Show Original Colors box if you want the original color map of
the .wmf file to be imposed for that condition.
Chapter 2 System Objects
© Automationdirect.com 2-13 Object Reference Manual
Gray Proximity determines the color saturation point at which the selected
color replaces an original color. When this parameter is set to 0, most colors
change. When this parameter is set to 100, most colors will not change. You
can test the effects of this setting by putting your cursor over the color
button and observing the change in the graphic displayed in the dialog box
window.
Notice that the if and else if statements are evaluated in sequence. If several
conditional expressions are true at once, Multistate displays the graphic
associated with the first true expression.
For instance, if your If parameters use less-than comparisons, such as
PumpSpeed<50, the following Else if parameter must have a larger
comparison value, such as PumpSpeed<75. If you use a smaller
comparison value, such as PumpSpeed<25, the color change will not take
place. In other words, the comparison values must be used from smallest to
largest.
In the same way, if you are using greater-than comparisons, such as
PumpSpeed>50, you must list your comparison values from largest to
smallest, so that the next Else If parameter would have to be something like
PumpSpeed>25.
Chapter 2 System Objects
Object Reference Manual 2-14 www.Automationdirect.com
Put If parameters using equality, such as PumpSpeed=50, before
parameters using inequalities.
A few minutes experimentation should help you understand the
interactions of the color choice conditions.
Animator Data Members
Comments Consider using an Integral object instead of a Counter/Pulse combination
when trying to achieve smooth animation.
Related Objects DialGauge, Gauge, Multistate, Pipe, Spinner
Table 2-4. Animator Data Members
Data Member Type Read Write Description
none Animator objects do not have data
members
Chapter 2 System Objects
© Automationdirect.com 2-15 Object Reference Manual
Average
Average actively calculates the average value of Data over time. Average
is only active when the Enable expression is true and resets to zero when
the Reset expression transitions from off to on. Average also maintains an
array of up to 35 previous averaged values. If Enable is left blank, the
object always actively calculates the average.
Data is a numeric expression while Reset and Enable are logical
expressions.
Average Data Members
Table 2-5. Average Data Members
Data Members Type Read Write Description
(implicit) numeric yes no Current average calculated since the
most recent Reset signal. Updated
approximately once per second.
1 – 35 numeric yes no Previous average values. Signal 1 is
the most recent prior average since
the Reset signal went high.
DataReset logical no yes Upon transition from FALSE to
TRUE, resets to zero all data
members—including the current
average and all previous averages.
Chapter 2 System Objects
Object Reference Manual 2-16 www.Automationdirect.com
Comments The Reset expression could be a regular pulse interval created by a
TimeOfxxxx timer, so that the pulse is synchronized to the top of the hour or day. For
example, if you want to calculate the daily average flow rate, use the output signal
from a TimeOfDay timer or a daily Spreadsheet object to reset the average calculation
at the beginning of each day. If you want to calculate the average flow rate only when
a pump is running, use the input signal from the pump motor relay in the Enable
parameter.
Related Objects Minimum, Maximum
Chapter 2 System Objects
© Automationdirect.com 2-17 Object Reference Manual
Counter
Counter counts the number of times that the Count expression transitions
from off to on. The digital display shows the number of pulses counted so
far, and is updated approximately once per second—however, it can
receive and count multiple pulses within a given second. The counter can
count to just under 4,503,600,000,000,000 or 142,710 years worth of pulses
at one pulse per second. When the Reset expression transitions from off to
on, the counter resets to zero.
Both Count and Reset are logical expressions.
Counter Data Members
Comments You should not use Counters to count external pulse signals that cycle
more often than about once per second. For higher counting speeds, use the
accumulator capabilities built into your PLC.
Related Objects Accumulator, Integral
Table 2-6. Counter Data Members
Data Member Type Read Write Description
(implicit) numeric yes no numeric total of pulse count
Chapter 2 System Objects
Object Reference Manual 2-18 www.Automationdirect.com
DataTable
DataTables are used in the following applications:
Multiplexing various data sources into a single display template.
Importing or exporting large quantities of data to other applications
using DDE. (Unlike the DdeTable, the DataTable provides
bidirectional DDE communications. See DdeTable.)
Networking multiple LookoutDirect nodes (see Chapter 5,
Networking, in the LookoutDirect Developer’s Manual).
A DataTable contains a matrix of rows and columns, much like a
spreadsheet. Each column is represented by a letter (A – IV). Each row
is represented by a number (1 – 1,000). Letter-number combinations
represent intersections of rows and columns. Such intersections are called
cells. Any given cell contains a value. A cell value can be numeric, logical,
or textual.
Note DataTables are advanced tools that require a mastery of LookoutDirect object
databases. Make sure you understand editing, connecting to, and using object databases
and aliases before creating a DataTable object. See Chapter 4, Using LookoutDirect, and
Chapter 5, Developer Tour, in the Getting Started with LookoutDirect manual for more
information on object databases.
The following dialog box appears when you create a DataTable:
Specify DDE parameters if you want to use the DataTable to exchange
large quantities of data from an external source (such as Excel)
continuously, with both LookoutDirect and the other program running.
Chapter 2 System Objects
© Automationdirect.com 2-19 Object Reference Manual
See Chapter 6, Dynamic Data Exchange, of the LookoutDirect
Developer’s Manual for more information on DDE connections to other
programs.
Specify Local if you are using the DataTable to import or export data from
LookoutDirect into or out of a static file. Also specify Local if you are
using the DataTable to multiplex various signals into a single display or
graphic template.
To exchange data with another DataTable running in another
LookoutDirect process, you can use ordinary LookoutDirect connections.
The export and import data members control the transfer of data between
LookoutDirect and a Microsoft Excel spreadsheet. The spreadsheet
filename must be entered in the Import/Export section of the Create table
dialog box.
Note The data table import and export data members only work with Microsoft Excel
Version 4 at this time. This feature does not work with Excel Version 5 or greater.
Instead of entering a file name in the Import/Export dialog box, you can
enter a LookoutDirect expression in the Filename field. You can then
import and export different files using a switch setting, a text entry box, or
some other expression input. If something goes wrong with the transfer of
data, including data corruption, LookoutDirect reports an alarm.
Click on the Clear table if import error checkbox to clear the DataTable
before importing either from a spreadsheet or an ODBC database. This only
affects what happens if there is an error during the import. If there are no
errors during the import, the imported data always replaces the old data in
the table. However, if the checkbox is selected, the DataTable is always
cleared before starting an import, so that, if an error occurs, the DataTable
is left empty. If the checkbox is not checked and an error occurs, the old
data is left in the table.
Chapter 2 System Objects
Object Reference Manual 2-20 www.Automationdirect.com
The Connect String= field specifies the DataSource Name (DSN) as well
as any other parameters needed by the ODBC driver to make the
connection to your chosen data source.
The SQL command= field is where you enter the SQL string you want to
pass to the ODBC driver.
Use the Clear table if import error checkbox to clear the DataTable
before importing either from an ODBC database or a spreadsheet. This only
affects what happens if there is an error during the import. If there are no
errors during the import, the imported data always replaces the old data in
the table. However, if the checkbox is selected, the DataTable is always
cleared before starting an import, so that, if an error occurs, the DataTables
left empty. If the checkbox is not checked and an error occurs, the old data
is left in the table.
Multiplexing Displays and Graphics
You can use DataTables to multiplex signals into a single control panel,
used as a template. For instance, assume you have nine identical pump
stations. At each site you have a single PLC monitoring the pressure, flow
rate, and status of two pumps. You are also controlling an analog output
with an operator setpoint from LookoutDirect. Instead of developing nine
identical control panels in LookoutDirect, you can build just one panel and
multiplex the signals from the nine sites into a single set of graphics.
The following figure is a graphical representation of the connections for a
possible DataTable.
Chapter 2 System Objects
© Automationdirect.com 2-21 Object Reference Manual
Note At this time there is no actual view in LookoutDirect for you to see this table. It is
a representation, not a screen capture of a LookoutDirect dialog box or display element.
Each row of the table is connected to the site name, the data you want to
keep track of from the PLC at that site, and a place for the operator setpoint
data for that site.
Notice the names of the nine PLCs (PLC1, PLC2…). Each value has an alias
(press, flow, pmp1, pmp2). Each cell represents a connection made from
that PLC output to the that cell of the DataTable.
The open column D represents the connection of a single Pot object called
Setpoint to the column—not to individual cells. This way LookoutDirect
only changes the value of a cell in column D when that particular row has
been made active. You connect the individual cells in column D (D1
through D9) to the correct holding registers (outputs) on the respective
PLCs. For example, Table1.D1 would be connected to the appropriate
data member of PLC1 — Table1.D2 to the appropriate data member of
PLC2, and so on. In other words, when you intend to multiplex signals to a
panel through a data table connect inputs from a PLC or RTU to individual
cells. Connect operator setpoints (outputs) to columns.
Setpoint Value
Column
Chapter 2 System Objects
Object Reference Manual 2-22 www.Automationdirect.com
DataTable Example
To practice using a DataTable, you can create a PLC simulator as shown in
the following illustration. You can use a separate control panel for each
PLC output simulator, or place all the objects you make on one panel.
Use two slider pots as your pressure and flow outputs, and two switches as
the on/off indicators for pumps one and two. You can use the dial gauge at
the bottom to check the operator input, Setpoint. Instead of connecting
the cells of your data table to PLC outputs, you connect directly to the
LookoutDirect objects, named after the outputs for clarity.
You should create at least three sets of PLC input/output simulators. The
following example refers to the 9 PLCs mentioned in the Multiplexing
Displays and Graphics section, but you can explore using a data table
using 2 or 3 simulators.
Connect specific DataTable cells from the D column to the Setpoint
indicator for each PLC simulator.
Site1Pressure
Site1Flow
pump1_1 (simulates PLC1.pmp1)
pump1_2 (simulates PLC1.pmp2)
Setpoint indicator
(operator input)
(simulates
PLC1.flow)
(simulates
PLC1.press)
Chapter 2 System Objects
© Automationdirect.com 2-23 Object Reference Manual
After you have built your simulators, open a new Control Panel to use as
your display and create a DataTable. You will create the rest of the display
in a later step.
When it first appears, the DataTable contains the number 0. This indicates
the contents of cell A1. You can increase the size of the display window,
but you cannot show the entire array of data in the table. You can view the
contents of any cell in column A by clicking on the window when you are
in run mode. Selecting the contents of that cell activates that row of the
data table.
Enter text expressions into the cells of column A to act as your table index.
For example, enter the string "Site 1" as the connection to your
DataTable A1.txt data member. Connect the outputs of your PLC
simulators to the cells in the B, C, E, and F columns shown in the following
figure. You will connect an operator input to the entire column D, and than
later connect individual cells in the D column to your PLC simulators.
Connecting Signals to DataTables
To connect a value to a particular cell or column within a DataTable,
use the Object»Edit Connections… command. Select the specific data
member of the DataTable to be written, and identify the data member of
the source object.
Chapter 2 System Objects
Object Reference Manual 2-24 www.Automationdirect.com
Connecting to Cells
The value from Site1Pressure is numeric. To write the value of
Site1Pressure into cell B1, connect the simulated output to B1—not
B1.logical or B1.txt. The Edit connection dialog box is shown in the
following illustration.
After you establish a connection to a cell, the value within the cell changes
any time the expression changes. Any time the value of Site1Pressure
changes, the value within cell B1 changes.
Chapter 2 System Objects
© Automationdirect.com 2-25 Object Reference Manual
Connecting to Columns
To connect the value of the Setpoint potentiometer to column D,
select D—not D.logical or D.txt—as shown in the following
illustration. As with the previous value, you use D because you are using
a numerical value. There is no number following the D because you are
connecting to a column, not a cell.
Once a connection to a column is established, the value within the cell at
the currently selected row changes when the expression changes. So, if you
activate row 4 and change the value of Setpoint changes, the value within
cell D4 changes. No other cells are affected until you move the cursor to
activate another row and the operator adjusts the pot.
Chapter 2 System Objects
Object Reference Manual 2-26 www.Automationdirect.com
Reading a Cell Value Back to a LookoutDirect Object
When you connect the display panel potentiometer called Setpoint to
Table1.D, you should configure your pot with the appropriate Remote
parameter to ensure that it automatically adjusts to track the value in any
cell (within the specified column) when the cursor moves to a new row.
Chapter 2 System Objects
© Automationdirect.com 2-27 Object Reference Manual
The Display Panel
Now that your DataTable (called Table1) is complete, you can return to
your display panel (where you placed the DataTable object initially) and
begin to build a single control panel that allows you to multiplex the data
from your PLCs. A sample panel is shown in the following illustration.
Instead of using expressions that reference the actual values from your
driver objects to display values, use the column names from Table1. For
instance, the bar graph and numeric readout for Pressure both represent the
expression Table1.B. The actual value for Table1.B depends on the
what row is currently active in the DataTable. In the illustration row 1 is
active, so all the expressions return the value in their respective columns at
row 4. The callouts in the picture indicate how the control panel was
developed. All are LookoutDirect expressions except the Pot and the
DataTable, which are displayable objects.
Table1.B
Table1.B
Table1.C
Table1 display
Table1.E.logical
Table1.F.logical
(no connection
necessary)
Potentiometer connected to Table1.D
(Column D)
Chapter 2 System Objects
Object Reference Manual 2-28 www.Automationdirect.com
Operating Your Multiplexed Panel
The plate in bottom right corner of the control panel is the DataTable object
(Table1). To view a different site with the control panel (that is, to activate
a different row, thereby selecting a different PLC), click on Table1 and the
following dialog box should appear.
By selecting a site, you connect your control panel to the PLC at that site.
This is referred to as moving the cursor to that row.
DataTable Cursors
The cursor is a DataTable pointer that you can move from row to row to
activate the values in the cells of that row. There are several methods for
controlling the location of the cursor:
Connect a numeric expression to the cursor data member. A typical
example would be to connect a potentiometer (minimum = 1,
maximum = the number of rows in table, resolution = 1) to the cursor.
Connect logical expressions to appropriate row numbers. A typical
example would be to create a pushbutton for every row and then
connect them to their respective row numbers.
This list box gets the row
names from Column A
in the Data Table
Chapter 2 System Objects
© Automationdirect.com 2-29 Object Reference Manual
Use the display (list box) built into the DataTable object. A typical
example was described previously where you connected text values to
cells in column A and then displayed the table as a plate.
The following example provides a graphical representation of a DataTable
(called Table1) showing typical values within its many cells. You can
create a multiplex effect in LookoutDirect by referencing column names
and then selecting the row with the information you want to use. If you
reference column names (instead of individual cells), the DataTable outputs
only the values within the currently selected row. If you reference
individual cells, the DataTable outputs the current value within the
cell—no matter where the cursor is.
The value of cell B2 is currently 77.9. Therefore, the Table1.B data
member is also 77.9. If you move the cursor to row 9, the value of
Table1.B changes to 59.9, as shown.
Outputs = Site2 77.9 460 78 0 1
Outputs = Site9 59.9 550 62 0 1
Chapter 2 System Objects
Object Reference Manual 2-30 www.Automationdirect.com
Using Multiple Cursors
The previous description assumes you are using just one cursor. But a
DataTable can have up to 20 cursors. Multiple cursors allow you to select
multiple rows at the same time. When using multiple cursors, you also
use multiple names for each column. For a given column, each name is
associated with a given cursor. If you are using two cursors in the previous
example (cursor and cursor.2), you can reference the column name of
a given column as follows:
Earlier, when you were using just one cursor, you connected the value of a
potentiometer called Setpoint to column D. Subsequently the value of
Setpoint was written to the cell at the row selected by the cursor. But
when there are multiple cursors, you have to select which cursor you are
writing to. Thus, depending on how you want your table to work, you might
connect the potentiometer to both Table1.D and Table1.D.2.
DataTable Data Members
Table 2-7. Column Names
A B C D E F
cursor A.txt B C D E.logical F.logical
cursor.2 A.txt.2 B.2 C.2 D.2 E.logical.2 F.logical.2
Table 2-8. DataTable Data Members
Data Members Type Read Write Description
executeSQL logical no yes Imports data from an ODBC database
into the DataTable when value goes
high, using the connect string and
SQL command you enter in the
Create/modify DataTable dialog box.
(implicit) DdeTable no no Not displayable in LookoutDirect,
but it can be referenced by a DDE link
from another application.
Chapter 2 System Objects
© Automationdirect.com 2-31 Object Reference Manual
1.1–1000.20 logical no yes Specifies row (1, 2, 3, …1000) or
specifies row.cursor (for example,
24.2 is the selector for row 24,
cursor 2). Upon transition from false
to true, the specified cursor moves to
specified row.
A.1–IV.20 numeric yes yes Specifies column names (for
example, A, B, C…IV) or specifies
column names and associated cursor
numbers (such as, A.1, B.1, A.2, B.2,
and so on.)
Read—returns a numeric value from
the cell specified by the column and
currently selected row of the
indicated cursor.
Write—writes a numeric value into
the cell specified by the column and
currently selected row of the
indicated cursor.
A.logical.1 –
IV.logical.20 logical yes yes Specifies column names
(for example, A.logical, B.logical,
C.logical, …IV.logical) or specifies
column names and associated cursor
numbers (such as, A.logical.1,
B.logical.1, A.logical.2, B.logical.2,
and so on.)
Read—returns a logical value from
the cell specified by the column and
currently selected row of the
indicated cursor.
Write—writes a logical value into the
cell specified by the column and
currently selected row of the
indicated cursor.
Table 2-8. DataTable Data Members (Continued)
Data Members Type Read Write Description
Chapter 2 System Objects
Object Reference Manual 2-32 www.Automationdirect.com
A.txt.1 – IV.txt.20 text yes yes Specifies column names (for
example, A.txt, B. txt, C. txt, …IV.
txt) or specifies column names and
associated cursor numbers (such as,
A. txt.1, B. txt.1, A. txt.2, B. txt.2, and
so on.)
Read—returns a text value from the
cell specified by the column and
currently selected row of the
indicated cursor.
Write—writes a text value into the
cell specified by the column and
currently selected row of the
indicated cursor.
A1 – IV16384 numeric yes yes Specified cell interpreted as numeric
value
A1.logical
–IV16384.logical logical yes yes Specified cell interpreted as logical
value
A1.txt –IV16384.txt text yes yes Specified cell interpreted as text value
Cursor.1 – Cursor.20 numeric yes yes Specifies the currently selected row
of the indicated cursor.
enable logical yes yes If TRUE (the default), enables DDE.
If FALSE, disables DDE. The default
value is on. The input is ignored for
non-DDE TextEntry objects.
export logical no yes When this input transitions from false
to true, the LookoutDirect data table
is exported to the designated
spreadsheet file.
import logical no yes When this input transitions from false
to true, the LookoutDirect data table
imports data from the designated
spreadsheet.
Table 2-8. DataTable Data Members (Continued)
Data Members Type Read Write Description
Chapter 2 System Objects
© Automationdirect.com 2-33 Object Reference Manual
Related Objects DdeTable, DdeLink
Modified logical yes no Pulses TRUE when any cell value in
the DataTable changes.
Update logical yes no Pulses each time the cursor changes
rows. Often used to “call up” a control
panel.
Table 2-8. DataTable Data Members (Continued)
Data Members Type Read Write Description
Chapter 2 System Objects
Object Reference Manual 2-34 www.Automationdirect.com
DdeLink
DdeLink creates a unidirectional Dynamic Data Exchange (DDE) link to
another application. The other application could be running on the same
computer or on another computer over a network. DdeLink objects provide
an easy way to import remote values into LookoutDirect. See Chapter 5,
Dynamic Data Exchange, in the LookoutDirect Developer’s Manual for
more information on DDE. For each DdeLink object you define,
LookoutDirect creates a separate link to the other application. If you need
to import large quantities of data, you should use the DdeTable or
DataTable object. See DdeTable and DataTable for more information.
DdeLinks on Same Computer
If you are importing values from another application running on the same
computer, your DDE parameters will look similar to the ones in the
following illustration.
Service specifies the application name, Topic specifies the file, and Item
points to the individual value (r1c1 refers to the cell at row1, column1.
Unfortunately, Excel does not support the more convenient A1 cell
references with DDE).
DdeLinks to Remote Computer
If you are importing values from another application running on a remote
computer, your DDE parameters will look similar to the ones in the
following illustration.
Chapter 2 System Objects
© Automationdirect.com 2-35 Object Reference Manual
Notice the differences in the Service, Topic, and Item parameters.
The backslashes (\\) and dollar signs ($) are standard requirements for
making network connections in Microsoft Windows. ComputerName
specifies the network name of the computer you are connecting to. If you
are connecting to a value in another LookoutDirect application,
ProcessFile is the LookoutDirect file name running on the
remote computer, and Name refers to the name you are linking to.
DdeLink Data Members
Related Objects DdeTable, DataTable
Table 2-9. DdeLink Data Members
Data Members Type Read Write Description
(implicit) numeric yes no DDE link interpreted as numeric
value.
enable logical yes yes If TRUE (the default), enables DDE.
If FALSE, disables DDE. This input
is ignored for non-DDE TextEntry
objects.
hot logical yes no Status of DDE link.
logical logical yes no DDE link interpreted as logical value.
txt text yes no DDE link interpreted as text value.
Chapter 2 System Objects
Object Reference Manual 2-36 www.Automationdirect.com
DdeTable
DdeTable creates a unidirectional Dynamic Data Exchange (DDE) link to
another application. The other application could be running on the same
computer or on another computer over a network. See Chapter 5, Dynamic
Data Exchange, in the LookoutDirect Developer’s Manual for more
information on DDE. You can use DdeTable to import large quantities of
data from other applications. The table format is much more efficient at
transferring data than the Link format because a table can contain hundreds
or even thousands of data points that all share a single link. On the other
hand, the link format can only transfer a single value per link—and every
link requires a certain amount of CPU overhead. If you are only importing
a relatively small amount of data, you may find the DdeLink technique
easier to implement.
DdeTable on Same Computer
If you are importing values from another application running on the same
computer, your DDE parameters will look similar to the ones in the
following figure.
Service specifies the application name, Topic typically specifies the file,
and Item specifies the particular data item name.
The following example shows an Excel spreadsheet with the highlighted
range named Data.
Chapter 2 System Objects
© Automationdirect.com 2-37 Object Reference Manual
You can now display any value in the range Data with this LookoutDirect
DdeTable object.
Select Insert»Expression... and then choose the DdeTable data member
corresponding to the Excel spreadsheet cell containing the value you want
to display. Make sure that the type of data member you select matches the
type data in the spreadsheet cell.
Chapter 2 System Objects
Object Reference Manual 2-38 www.Automationdirect.com
Notice the reference for the displayed item in the LookoutDirect status bar.
DdeTable to Remote Computer
Using the DdeTable object over a network is somewhat different from the
previous example.
Notice the differences in the Service, Topic, and Item parameters.
The backslashes (\\) and dollar signs ($) are standard requirements for
making network connections in Windows. ComputerName specifies the
network name of the computer you are connecting to. If you are connecting
to a DdeTable or DataTable in another LookoutDirect application,
ProcessFile is the LookoutDirect file name running on the remote
computer, and LocalTable1 refers to the DdeTable or DataTable object
you are linking to.
Chapter 2 System Objects
© Automationdirect.com 2-39 Object Reference Manual
DDETable Data Members
Related Objects DataTable, DdeLink
Table 2-10. DdeTable Data Members
Data Members Type Read Write Description
(implicit) numeric yes no Cell A1 interpreted as a numeric
value
A1 – IV16384 numeric yes no Specified cell interpreted as a
numeric value
A1.logical –
IV16384.logical logical yes no Specified cell interpreted as a logical
value
A1.txt – IV16384.txt text yes no Specified cell interpreted as a text
value
enable logical yes yes If TRUE (the default), enables DDE.
If FALSE, disables DDE. This input
is ignored for non-DDE TextEntry
objects.
hot logical yes no Status of DDE link
Chapter 2 System Objects
Object Reference Manual 2-40 www.Automationdirect.com
DelayOff
DelayOff is an adjustable delay timer. When On/off signal transitions
to off, the Timer delay begins to count down. At the end of the delay
countdown, the output signal turns off. On/off signal must remain off
during the time delay period for the output signal to turn off. The output
immediately turns on when the On/off signal turns on.
Timer delay can range from 0.0 seconds to several years, and the effective
resolution is 0.1 seconds over the entire range. The timer display digitally
shows the time delay remaining, and is updated approximately once per
second. If the On/off signal is high, the timer display shows on. If the
Timer delay period has expired, the display shows off.
The On/off signal is a logical expression while Timer delay is a numeric
expression. Normally, this is a simple time constant such as 0:20—twenty
seconds. See Numeric Data Members in Chapter 2, Introduction, of the
Getting Started with LookoutDirect manual for information on entering
time constants.
Chapter 2 System Objects
© Automationdirect.com 2-41 Object Reference Manual
DelayOff Data Members
Comments The DelayOff timer can prevent a pump from short-cycling.
Related Objects DelayOn, Interval, OneShot, Pot, TextEntry
Table 2-11. DelayOff Data Members
Data Member Type Read Write Description
(implicit) logical yes no Logical timer value
Chapter 2 System Objects
Object Reference Manual 2-42 www.Automationdirect.com
DelayOn
DelayOn is an adjustable delay timer. When On/off signal transitions
to on, the Timer delay begins to count down. At the end of the delay
countdown, the output signal turns on. On/off signal must remain on
during the time delay period for the output signal to turn on. The output
immediately turns off when the On/off signal turns off.
Timer delay can range from 0.0 seconds to several years, and the effective
resolution is 0.1 seconds over the entire range. The timer display digitally
shows the time delay remaining and is updated approximately once per
second. The timer display shows off when the On/off signal is low. If the
Timer delay period has expired, the display shows on.
The On/off signal is a logical expression while Timer delay is a numeric
expression. Normally, this is a simple time constant such as 0:20—twenty
seconds. See Numeric Data Members in Chapter 2, Introduction, of the
Getting Started with LookoutDirect manual for information on entering
time constants.
Chapter 2 System Objects
© Automationdirect.com 2-43 Object Reference Manual
DelayOn Data Members
Comments The DelayOn timer can be used to prevent pumps from cycling too often,
to allow one operation to complete before another begins, or to require a condition to
exist for a period of time before an alarm is activated.
Related Objects DelayOff, Interval, OneShot, Pot, Text Entry
Table 2-12. DelayOn Data Members
Data Member Type Read Write Description
(implicit) logical yes no Logical timer value
Chapter 2 System Objects
Object Reference Manual 2-44 www.Automationdirect.com
Derivative
Derivative can also be called a rate of change object—it calculates the rate
of change of the incoming numeric input signal. You can use this class to
calculate the rate at which a tank is filling or draining, or to convert a
changing totalized flow value into a flow rate. The output units are in Input
Units/Time Unit.
The previous example calculates the rate of change in the water level of a
tank. LookoutDirect polls the RTU connected to the tank level transmitter
every 5 minutes, so this example uses the RTU update data member as the
Update pulse for the Derivative object. Tanklevel is in feet and Time unit is
1 minute, so the output result is in feet per minute.
Input is the numeric expression you are monitoring for rate of change.
Update can be a logical expression or numeric constant. If you specify
Update as a numeric constant, it creates an internal pulse timer with a pulse
period of the specified time and a pulse duration of zero. See Numeric Data
Members in Chapter 2, Introduction, of the Getting Started with
LookoutDirect manual for information on entering time constants. If you
specify Update as a logical variable, the variable should pulse at the
frequency you want to use.
The Update expression triggers the calculation of a new rate-of-change
based on the Input value at the prior Update, and the current Input value.
The current Input value is then stored as the prior Input value for the next
calculation. The Update period should be greater than the refresh rate of
the incoming signal; or if the Input is generated directly by external I/O,
the update data member generated by the PLC object should be used. If
the Update period is less than the Input refresh rate, the rate of change
calculation fluctuates erratically between zero and a high value.
Time unit is a numeric expression used as the basis for unit time on the
Input signal. For instance, if the rate of change should be in feet per minute,
the Input signal would be feet, and Time unit would be one minute (entered
Chapter 2 System Objects
© Automationdirect.com 2-45 Object Reference Manual
as 1:00). Typically the Time unit is one second (0:01), one minute (1:00),
one hour (1:00:00), or one day (1:00:00:00). However, you can specify any
unit, such as 5:23 (a rate of change in Input units per five minutes and
23 seconds).
Derivative Data Members
Comments Derivative performs the inverse function of Integral—you can
theoretically run a signal through an Integral object and then a Derivative object
(or vice versa) and you would end up with the original signal. (Discretization of the
time calculations by the computer may cause the final and original signals to differ
somewhat).
It is important to consider the resolution of the process variable measured
by the PLC when determining the Update period for this object. For
instance, if a pressure transmitter connected to a PLC only has a resolution
of 0.5 psi and you want to measure rates down to 1 psi/minute, the Update
pulse must be greater than 30 seconds even if the PLC is polled once per
second (i.e., 0.5 psi/1 psi/min. = 30 sec.). For this application, the Update
pulse should probably be about two minutes.
Related Objects Integral
Table 2-13. Derivative Data Members
Data Member Type Read Write Description
(implicit) numeric yes no Rate of change
Chapter 2 System Objects
Object Reference Manual 2-46 www.Automationdirect.com
DialGauge
The DialGauge object class displays a numeric signal as a sweeping needle
on an analog gauge or dial.
Signal is a numeric expression.
Starting angle indicates the position of the needle when the Signal is at its
Minimum value. As shown here, you specify the starting needle position
by counting the degrees clockwise from vertical.
Rotational sweep specifies the number of degrees clockwise that the
needle will rotate as the Signal approaches the Maximum value. As shown
in the diagram here, you count the Rotational sweep in degrees clockwise
from the Starting angle.
0°
180°
270°
225°
Default
Starting
Angle
Chapter 2 System Objects
© Automationdirect.com 2-47 Object Reference Manual
After you specify the DialGauge definition parameters, LookoutDirect
presents a display parameters dialog box, as shown here. You use this
dialog box to specify needle color, thickness, and length.
Needle thickness defines how wide your needle will be. Thickness can
range from one pixel (hairline) to 10 pixels wide.
Needle length specifies the length of the needle as a percent of the radius.
At 30 percent, for example, only the outer tip of the needle is visible—you
cannot see the part of the needle closest to the origin. At 100 percent, the
needle extends the full radius of the circle.
180˚
270˚ 270˚
Starting
Angle
Chapter 2 System Objects
Object Reference Manual 2-48 www.Automationdirect.com
DialGauge Data Members
Comments The DialGauge object class only displays a needle. You may wish to
enhance it with a corresponding scale or dial face as shown. You can create a scale or
dial face by importing one from a graphics package. See Creating Custom Graphics in
Chapter 2, Graphics, in the LookoutDirect Developer’s Manual for more information.
Note If you choose to import a scale or dial face from an external package, you should
use a bitmap instead of a metafile.This makes the display refresh cleaner when the needle
changes position.
Related Objects (expression), Gauge
Table 2-14. DialGauge Data Members
Data Members Type Read Write Description
(implicit) numeric yes no Current value of signal parameter
30%
Chapter 2 System Objects
© Automationdirect.com 2-49 Object Reference Manual
ElapsedTime
ElapsedTime is an elapsed time meter or “hour meter” that totals the
amount of time the Enable expression is on. If Enable is the logical
constant ON, the meter reflects the time since the process was started. If a
Reset expression is specified, the meter resets to zero the moment Reset
transitions from off to on. The display always shows the elapsed time, and
is updated approximately once per second.
ElapsedTime Data Members
Comments ElapsedTime meters are used primarily to record the amount of time that
individual pieces of equipment have been running. It is also straightforward to set up
an alarm that sounds when a particular device has been operating for a certain time and
needs routine servicing. The plant operator could then perform the service and reset
the ElapsedTime meter with a pushbutton.
ElapsedTime can also record the amount of time a particular device
is operated each day and you can record the resulting time to a daily
Spreadsheet which you can then use to automatically reset the meter
after the data is permanently recorded.
Table 2-15. ElapsedTime Data Members
Data Member Type Read Write Description
(implicit) numeric yes no Total elapsed time—updated once per
second, while meter is running
Chapter 2 System Objects
Object Reference Manual 2-50 www.Automationdirect.com
Event
Event is a flexible and powerful object class you can use to define event
messages that are triggered based on a user-defined logical expression.
LookoutDirect logs such events to the Citadel database and you can
subsequently print and archive them. See Chapter 7, Logging Data and
Events, in the LookoutDirect Developer’s Manual for more information on
logging events.
When the result of the Trigger logical expression transitions from FALSE
to TRUE, it logs the result of the Trigger hi text expression as an event in
the EVENT.DAT file. When the results of the Trigger expression transitions
from TRUE to FALSE, it logs the results of the Trigger lo text expression
as an event.
Event Data Members
Comments For each event logged, LookoutDirect records the date and time, the name
of the user currently logged on, and the expression text.
Although event messages are shown for both Trigger hi text and Trigger
lo text, you do not have to include text in both fields.
Table 2-16. Event Data Members
Data Member Type Read Write Description
none Event objects do not have data
members
Chapter 2 System Objects
© Automationdirect.com 2-51 Object Reference Manual
(expression)
Named expressions, shown as (expression)s, are flexible, powerful
real-time calculators. They create and calculate the result of
spreadsheet-style formulas that include a mixture of constants and signals
from other objects. There are over fifty built-in functions that you use in
expressions, including logical, mathematical, statistical, text and
trigonometric functions. See Chapter 2, Expressions, in the LookoutDirect
Developer’s Manual for more information on expressions and expression
functions.
Named expressions can be short and simple, or extremely complex with
several signal inputs, function calls, and multiple levels of parentheses.
A single expression may incorporate text, logical, and numeric
calculations. The variable type returned by the outermost function or
operator in the expression determines the signal type generated by the
expression.
Note You typically use (expression) objects when you need to define a unique condition
that is used multiple times throughout your application.
When you define an (expression) object (as opposed to inserting an
intrinsic expression), you create a unique name for your expression and can
therefore reference the output signal generated from the expression in other
expressions or objects. Instead of defining the same expression in many
places, you create it one time and use its name any time you need this
expression.
Chapter 2 System Objects
Object Reference Manual 2-52 www.Automationdirect.com
Note The expression may not express a condition.
Table 2-17. Expression Data Members
Data Member Type Read Write Description
(implicit) numeric,
logical,
or text
yes no Value of expression. The variable
type returned by the outermost
function or operator in the expression
determines the signal type generated
by the expression.
Chapter 2 System Objects
© Automationdirect.com 2-53 Object Reference Manual
Flipflop
Flipflop changes its logical output signal from on to off, or from off to on
when the Input signal goes high. The output signal does not change when
the signal goes low. Input is a logical expression.
Flipflop Data Member
Comments Flipflop can be used to alternate the operation of two pumps, or when
connected to a pushbutton, provides a pushbutton on/off control device.
Related Objects LatchGate
Table 2-18. Flipflop Data Member
Data Member Type Read Write Description
(implicit) logical yes no Current state
Chapter 2 System Objects
Object Reference Manual 2-54 www.Automationdirect.com
Gauge
Gauge displays the Signal expression in digital or bar graph format. Gauge
display parameters change depending on the values of the Conditional
expressions. Gauge determines which colors to display based on the order
and current status of your conditional expressions. For instance, if several
conditional expressions are true at once, Gauge displays the color
associated with the first true expression.
You can use the Transparent background style with numeric expressions
and gauges displayed as bar graphs. This means you can have bar graphs
with transparent backgrounds.
Conditional expressions and Flash when are logical expressions while
Signal is a numeric expression. The Fast option instructs the Gauge to
flash faster when enabled than when disabled.
Chapter 2 System Objects
© Automationdirect.com 2-55 Object Reference Manual
Gauge Data Members
Comments You should use a Gauge object when you need a bar graph or digital
display to change colors and/or flash upon certain conditions. If you do not need either
of these capabilities, you should display a bar graph or digital value with the
Insert»Expression… command.
Table 2-19. Gauge Data Members
Data Member Type Read Write Description
(implicit) numeric yes no Numeric value of Gauge
Chapter 2 System Objects
Object Reference Manual 2-56 www.Automationdirect.com
HyperTrend
A HyperTrend object displays a trend graph on a control panel. It plots any
number of logical and numeric trend lines.
HyperTrends provide instant access to both real-time and historical data in
a single graph. For each plot line, they combine both real-time and
historical data into a seamless, contiguous trace of data. See Citadel
Historical Database in Chapter 7, Logging Data and Events, in the
LookoutDirect Developer’s Manual.
Note There has been an important change in the way LookoutDirect logs data to the
Citadel database to be displayed on the HyperTrend object.
In LookoutDirect 3.xx, creating a trend line in a HyperTrend object automatically logged
the requested data to the database.
In LookoutDirect 4, you must select the Log to historical database option in the Edit
Database dialog box for any data you want to display in a HyperTrend object before you
can display the data. This is because logging must be configured in a LookoutDirect Server
process, while trending is typically done in a separate LookoutDirect client process.
You can log information by connecting to a symbolic link, but only if the data source the
symbolic link represents has had the Log to historical database option selected.
You can use HyperTrends to pan and zoom both the X axis and the Y axis,
enabling dynamic adjustment of the vertical and horizontal resolutions of
each plot line on the graph. Using this feature, you can, for example, zoom
into a particular area of focus on the trend.
The graph scrolls from right to left, plotting current, real-time signals at the
right end of the graph.
The icon in the upper left of the display accesses a menu you can use to
change the group of traces being plotted, activate the cursor, and start or
stop scrolling. The arrow-shaped buttons make it easy for you to scroll the
trend graph forward and back in time. It provides instant access to data that
has scrolled off the left end of the graph (that is, historical data stored in the
Citadel database).
Chapter 2 System Objects
© Automationdirect.com 2-57 Object Reference Manual
The button bar includes scroll arrows, a cursor button, date, time, and a stop
and go light. Use the scroll arrows to move back and forth through time-the
bigger the arrow button you select, the further the trend jumps in time. The
scroll arrows also function much like a horizontal slider. Click on them and
slide the mouse left and right while holding down the mouse button. The
further you slide the cursor from dead center, the faster the trend scrolls in
that direction.
Use the date and time indicators to choose a specific month, day, year, hour,
minute, or second. If you click on the lower part of the hour, for example,
it jumps back in time by one hour.
If you click on the upper part of the hour, it jumps ahead by one hour.
It works the same way for month, day, year, minute and second.
The stop & go light on the button bar is either red or green. If the light is
green, it indicates the far right edge of the trend window displays the
current time.
When you scroll back in time or if you click on the light when it is green,
it changes to red, indicating that the trend is temporarily frozen in time. The
date and time appears in the button bar indicating the exact time at the far
right edge of the trend window. As you scroll back and forth through time,
the data and time changes accordingly.
If you click on the light when it is red, the trend jumps back to current time
and starts scrolling while plotting real-time values.
Chapter 2 System Objects
Object Reference Manual 2-58 www.Automationdirect.com
Note The Citadel database continues to log data no matter what state the HyperTrend is
in. You do not lose any data when it is in "historical" mode (that is, when the HyperTrend
is not scrolling in real-time).
When you click on the cursor button, a vertical cursor bar appears in the
center of the graph along with an associated cursor dialog box. The dialog
box indicates the value of each trend line at the current location of the
cursor. As you drag the cursor bar left and right on the trend graph, the
values in the pop-up change to reflect the new cursor location.
You can select how the trend line values are shown by choosing a format
through the cursor control menu.
Time indicates the current location of the cursor bar. The increment and
decrement buttons beside the field move the cursor left and right in the
trend graph. Choose the size of the incremental move by clicking on the
desired portion of the date/time. The hour portion is selected in the previous
example, so each time you click on the increment or decrement button, the
cursor bar jumps ahead or back by an hour. It works the same way for any
portion of the date and time.
Use the Find combo box to search for a break in the trend line, a signal peak
or valley, or a specific value. For example, you can find the last instance in
which a process control limit value was exceeded. To find the last time a
trend line crossed a specific value, choose the desired trend line by clicking
on it in the list box, select Value in the Find combo box, enter the desired
value, and clock on the scroll back button.
To create a hypertrend object, choose Object»Create or right-click on a
process in the object explorer and select New Object. Select HyperTrend.
The following dialog box appears.
Chapter 2 System Objects
© Automationdirect.com 2-59 Object Reference Manual
First you must create a group of trends. Double-click on the AddGroup
button. The following dialog box appears.
Configuring the group sets the appearance of the HyperTrend object when
it displays traces from that group. You can set different paper and grid
colors for different groups to help operators distinguish between them.
Give your group a name that clearly identifies it. Be sure to set the Trend
Width for the period of time you want under observation for that group.
Graphs may have a default width, or time span, of anywhere from two
seconds to four years. The default Trend Width in the example dialog box
indicates a time span of 1:00:00 or one hour. See Numeric Data Members
in Chapter 2, How LookoutDirect Works, of the Getting Started with
LookoutDirect manual for more information on entering time constants.
After creating the HyperTrend object, you can make the trend width
adjustable by connecting a numeric signal to the TrendWidth data member.
Chapter 2 System Objects
Object Reference Manual 2-60 www.Automationdirect.com
Major increments specifies the number of heavy horizontal grid lines on
a trend graph. This value is independent of the range of any trend
expressions.
Minor increments specifies the number of light horizontal grid lines
between the major increment grid lines on a trend graph. This value is
independent of the range of any trend expressions.
After you create a group, you must add individual items. Right-click on the
group you want to add a trace to. Select Add Item (or click on the Add
Item button). The following dialog box appears.
Right-clicking in the URL field displays the object selection dialog box
covering all the registered computers running LookoutDirect on your
network. Select the computer and process generating the value you want to
display on your HyperTrend chart. See the URLs section for more
information on this type of LookoutDirect connection.
Minimum and Maximum set the scale for the trace on your display. If you
are charting a logical data member, position and height set the base display
line and the height of the trace from that point when your signal goes
TRUE. Minimum is the bottom of the graph while Maximum is the top of
the graph, regardless of the range of the expression. These settings create
an imaginary vertical scale and affect each expression independently.
For example, take two numeric expressions, both of which range from 0 to
50. Set the Minimum and Maximum to 0 and 100 on the first expression,
and -50 and 50 on the second. The first expression plots in the bottom half
of the chart while the second expression plots in the top half of the chart,
even though they both fluctuate between 0 and 50.
Chapter 2 System Objects
© Automationdirect.com 2-61 Object Reference Manual
This figure shows the imaginary scale of the first expression
(where min. = 0 and max. = 100). Because the expression ranges from 0 to
50, it is plotted in the bottom half of the graph.
This figure shows the imaginary scale of the second expression (where
min. = -50 and max. = 50). Because the expression ranges from 0 to 50, it is
plotted in the top half of the graph.
When both expressions are entered on a single trend graph, you get the
following effect. Notice the custom scales at either end of the graph.
Chapter 2 System Objects
Object Reference Manual 2-62 www.Automationdirect.com
If you select Logical for the expression type, the minimum and maximum
settings changes to Position and Height. These two values now represent
a number between 0% and 100%, and determine the baseline location of the
trend line and its unit height when the expression goes TRUE.
Use Insert»Scale to label the values being charted according to your
minimum and maximum settings.
Comments HyperTrend objects access data from the Citadel database. Think of them
as windows into your historical database. See Chapter 5, Developer Tour in the Getting
Started with LookoutDirect manual, and Chapter 7, Logging Data and Events, in the
LookoutDirect Developer’s Manual, for more information on specifying a point to be
logged to the Citadel database.
HyperTrends are updated as quickly as once per second, depending on
screen resolution, the size of the graph, and the trend width setting.
Computers with slow display adapters may slow down considerably when
you display a large trend graph. On slower computers with slow display
cards (no graphics coprocessor), consider limiting the size of your
HyperTrends to less than one fourth the screen size.
Chapter 2 System Objects
© Automationdirect.com 2-63 Object Reference Manual
HyperTrend Data Members
Table 2-20. HyperTrend Data Members
Data Members Type Read Write Description
ActiveGroup numeric yes yes Sets which of the HyperTrend trace
groups is active.
Enable1– Enable 999 logical yes yes When TRUE, the identified trend line
is visible. When FALSE, the trend
line hidden. The default value is
TRUE. Trend lines are identified by
the group number followed by the
item number, so Enable1.2 would
refer to item 2 in group 1.
Height1 – Height999 numeric yes yes Specifies the amplitude or height of
the identified trend line (distance
from baseline) when the logical
expression goes TRUE. Height
should be between 2 and (100 minus
position). Trend lines are identified by
the group number followed by the
item number, so Height1.2 would
refer to item 2 in group 1.
Max1 – Max999 numeric yes yes Specifies the top of the graph for the
identified numeric trend line (the
value of the trended line when it is at
100 percent of the Y axis). Trend lines
are identified by the group number
followed by the item number, so
Max1.2 would refer to item 2 in
group 1.
Min1 – Min999 numeric yes yes Specifies the bottom of the graph for
the identified numeric trend line (the
value of the trended line when it is at
zero percent of the Y axis). Trend
lines are identified by the group
number followed by the item number,
so Min1.2 would refer to item 2 in
group 1.
Chapter 2 System Objects
Object Reference Manual 2-64 www.Automationdirect.com
Converting LookoutDirect 3.xx HyperTrends to LookoutDirect 4
If you convert a process created in a version of LookoutDirect earlier than
4.0 which contains a HyperTrend object that is displaying a complex
expression, LookoutDirect automatically creates a named (expression) for
the converted HyperTrend to chart. To maintain your legacy HyperTrend
objects you must use or replace these (expression) objects.
Pos1 – Pos999 numeric yes yes Specifies the baseline location of the
identified logical trend line. Baseline
position should range should be 1–98.
(pos1 is associated with trend line 1)
Trend lines are identified by the group
number followed by the item number,
so Pos1.2 would refer to item 2 in
group 1.
TrendWidth numeric yes yes Specifies the span of time that the X
axis covers.
UseButtonBar logical yes yes When TRUE, the HyperTrend button
bar becomes visible on the control
panel. When FALSE, it is invisible.
The default value is TRUE.
Visible logical yes yes When TRUE, the HyperTrend
becomes visible on the control panel.
When FALSE, it is invisible. The
default value is TRUE.
Table 2-20. HyperTrend Data Members (Continued)
Data Members Type Read Write Description
Chapter 2 System Objects
© Automationdirect.com 2-65 Object Reference Manual
Integral
Integral is a totalizer—it totals the numeric Input signal. This class is
typically used to total a measured flow rate.
Input is the numeric expression that you want to totalize or integrate.
Update can be a logical expression or numeric constant. If you specify
Update as a numeric constant, it creates an internal Pulse timer with a pulse
period of the specified time and a pulse duration of zero. See Numeric Data
Members in Chapter 2, How LookoutDirect Works, of the Getting Started
with LookoutDirect manual for information on entering time constants. If
you specify Update as a logical variable, the variable should pulse at the
desired frequency.
The Update expression extrapolates an interim total based on the current
total and the most recent Input value. The interim total is then sent out as
the output. The total is calculated using the trapezoidal numeric integration
technique, and the total is corrected any time the incoming signal is
refreshed.
Time unit is a numeric expression used as the basis for unit time on the
Input signal. For instance, if the Input rate is in units of gallons per minute,
the Time unit should be entered as one minute (1:00) so the totalized flow
is in gallons. Typically the Time unit is one second (0:01), one minute
(1:00), one hour (1:00:00), or one day (1:00:00:00). However, you can
specify any unit, such as 5:23 (a rate of change in Input units per five
minutes and 23 seconds).
Reset is a logical expression that resets the totalizer value to zero upon
transition from OFF to ON.
Note Integral does not have a display parameters dialog box. You can easily display the
result of the Integral output signal by referencing its data member in an expression.
Chapter 2 System Objects
Object Reference Manual 2-66 www.Automationdirect.com
Integral Data Members
Comments The Update pulse forces the calculated total to continue changing between
Input signal updates. For example, if a remote RTU that is monitoring a flow rate is
polled every ten minutes, the Update pulse could be set at five seconds so the operator
can watch the totalized flow continue to change on the screen as an extrapolated value.
The corrected totalized value is calculated any time the Input signal refreshes—in this
case, every ten minutes.
If totalized values are logged to a spreadsheet on a daily basis, for example,
and the total should be reset at the end of every day, use the update pulse
generated by the Spreadsheet object to reset the total—this guarantees that
the total is recorded before the totalizer is reset. The example on the
previous page totalizes the hourly flow for permanent data logging by a
spreadsheet object named HourlySheet. Notice that the spreadsheet update
pulse HourlySheet.logged is used to reset the totalizer.
Related Objects Accumulator, Counter, Derivative
Table 2-21. Integral Data Members
Data Member Type Read Write Description
(implicit) numeric yes no Totalized value
Chapter 2 System Objects
© Automationdirect.com 2-67 Object Reference Manual
Interval
Interval is an adjustable delay timer. When On/off signal transitions to on,
its output turns on and the Timer delay begins to count down. At the end
of the delay countdown, the output signal turns OFF. If On/off signal is
dropped at any time, the output signal turns OFF, and the timer is reset.
Timer delay can range from 0.0 seconds to several years, and the effective
resolution is 0.1 seconds over the entire range. The timer display digitally
shows the time delay remaining. It is updated approximately once per
second. If the On/off signal is low, or the time delay period has expired, the
timer display shows OFF.
The On/off signal is a logical expression while Timer delay is a numeric
expression. Normally, this is a simple time constant such as 0:20 (twenty
seconds). See Numeric Data Members in Chapter 2, How LookoutDirect
Works, of the Getting Started with LookoutDirect manual for information
on entering time constants.
Chapter 2 System Objects
Object Reference Manual 2-68 www.Automationdirect.com
Interval Data Members
Comments The Interval timer can be used to enforce a maximum run time for a pump.
Related Objects DelayOff, DelayOn, OneShot, Pot, TextEntry
Table 2-22. Interval Data Members
Data Member Type Read Write Description
(implicit) logical yes no Logical timer value
Chapter 2 System Objects
© Automationdirect.com 2-69 Object Reference Manual
$Keyboard
$Keyboard is a global object. Its data members represent the keyboard
function keys. Unlike other object classes in which you can create several
objects of the same class, you cannot create or delete $Keyboard objects,
but you can use the one supplied.
You can use the $Keyboard global object to perform such functions as
calling a particular control panel, activating a batch sequence, or
acknowledging alarms by pressing a key.
Think of $Keyboard data members (which represent function keys on the
keyboard) as LookoutDirect pushbuttons. Just as you can connect a
pushbutton to the activate data member of a panel, you can also connect a
$Keyboard data member to the activate data member of a panel. Such a
connection is shown in the following illustration.
The logical expression, $Keyboard.F1 calls up Panel1 any time a user
presses the F1 key on the keyboard. Similar connections could be made to
other panels. You can easily connect a different panel to each function key.
Just as easily, you can connect a function key to a batch process trigger.
When the key is pressed, (that is, when the $Keyboard data member goes
TRUE) the batch is activated—reading batch ingredients from a recipe
Chapter 2 System Objects
Object Reference Manual 2-70 www.Automationdirect.com
object, opening and closing valves, starting mixers, bottling finished
material, and so on.
You might also connect a function key to $Alarm.ack. This would enable
users to acknowledge alarms through a single keystroke.
$Keyboard Data Members
$Keyboard has 72 readable data members. Each data member represents a
unique key sequence, described in the following table.
Comments $Keyboard function keys are global in nature. Any time F1 is pressed, the
$keyboard.F1 signal goes TRUE—regardless of what panel the user is looking at. If
you want a function key to be unique from one control panel to the next, use the Panel
object class function key data member. See Panel object class definition for more
information.
Table 2-23. $Keyboard Data Members
Data Member Type Read Write Description
Ctrl-F1 - Ctrl-F24 logical yes no Each of these 24 data members
represent a function key, F1 –
F24—when pressed in conjunction
with the Ctrl key. A given data
member returns logical TRUE when
the Ctrl key and function key are
pressed together and FALSE when the
keys are released.
F1 - F24 logical yes no Each of these 24 data members
represent a function key, F1 – F24. A
given data member returns a logical
TRUE when its associated function
key is pressed and FALSE when the
key is released.
Shift-F1 - Shift-F24 logical yes no Each of these 24 data members
represent a function key, F1 –
F24—when pressed in conjunction
with the Shift key. A given data
member returns logical TRUE when
the Shift key and function key are
pressed together and FALSE when the
keys are released.
Chapter 2 System Objects
© Automationdirect.com 2-71 Object Reference Manual
Related Objects L3Pushbutton, Pushbutton
Chapter 2 System Objects
Object Reference Manual 2-72 www.Automationdirect.com
L3Pot
L3Pot is a potentiometer that you use to change numeric setpoint values.
You can display pots on a control panel as a knob, vertical slider, horizontal
slider, increment/decrement pushbuttons, or digital entry. You can also use
pots as multiple-position switches.
If you change the background color of a panel and add a Pot object
displayed as a slider, its color is always gray. To change the background
color of a Pot to match your panel, select the Pot object, then pick
Change»Background Color from the menu.
Minimum is the lowest value signal the Pot will generate.
Maximum is the highest value signal the Pot will generate.
Resolution is the smallest increment of change, or detent spacing the Pot
supports.
Position source determines where the value of the Pot resides. Local
indicates the value of the Pot lies within the object itself—on the control
panel.
Remote pots get their values from a remote source, often the register on a
controller they are connected to. Adjusting the Pot changes the value in the
Chapter 2 System Objects
© Automationdirect.com 2-73 Object Reference Manual
register, and changing the value in the register adjusts the Pot. In effect, the
Pot is tracking a remote value. This is especially useful when you want to
prevent LookoutDirect from changing the value of setpoints or registers
upon initial startup, or reconnection of lost communication. When you use
this style Pot you are creating a kind of looped signal. Half the loop is
formed when you connect the controller register to the Pot with the
Position expression, while the second half is formed when you connect the
Pot output signal to the controller register. Position is a numeric
expression. Do not forget to complete the second half of the loop with the
Object»Edit Connections… command.
Much like Remote Pots, DDE (Dynamic Data Exchange) Pots get their
values from a remote source. This could be a cell in a spreadsheet, another
DDE aware application, or a second copy of LookoutDirect running on the
network. The last DDE parameters used on any object automatically
become the default values for any new DDE object. See Chapter 5,
Dynamic Data Exchange, of the LookoutDirect Developer’s Manual for
more information on Service, Topic, and Item parameters.
Control security level specifies the minimum security level operators
must have to gain access to this individual object, and thus control it.
The Log events option creates a permanent audit trail for the object—who
did what and when. All adjustments of the Pot are logged to disk, including
the time of the adjustment, the operator account name, and what adjustment
was made. See Chapter 7, Logging Data and Events, in the LookoutDirect
Developer’s Manual for more information on event logging.
Note You can modify the background color on vertical and horizontal sliders with the
Change»Background color… menu command. You can modify the font and font color of
digital pots using Change commands.
Chapter 2 System Objects
Object Reference Manual 2-74 www.Automationdirect.com
L3Pot Data Members
Table 2-24. L3Pot Data Members
Data Member Type Read Write Description
(implicit) numeric yes no Current value
decrement logical no yes When this data member value
transitions from FALSE to TRUE, the
implicit value of the Pot object
decreases by the Pot Resolution
amount.
enable logical no yes If TRUE (the default), enables DDE.
If FALSE, disables DDE. The default
value is on. This input is ignored for
non-DDE TextEntry objects.
enterValue logical no yes Under specific circumstances, when
this value transitions from FALSE to
TRUE, pops up a Enter new value
dialog box for an operator to use in
entering a value for the pot. See the
note following the table for more
detailed information.
The enterValue data member is
designed for use under unusual
circumstances, in particular when
pointing devices are not available on a
computer running LookoutDirect.
Because of its unusual operation, this
data member should not be used
unless it is necessary for hardware
reasons.
increment logical no yes When this data member value
transitions from FALSE to TRUE,
the implicit value of the Pot object
increases by the Resolution amount.
visible logical no yes When FALSE, the Pot object cannot
be seen on the display panel. When
TRUE, the Pot can be seen and
controlled.
Chapter 2 System Objects
© Automationdirect.com 2-75 Object Reference Manual
Note When the enterValue input transitions from FALSE to TRUE, and
if the Pot is visible,
if LookoutDirect is not in edit mode, and
if the Pot has at least one digital display,
The Enter new value dialog box pops up so an operator can input a value, just as if he had
clicked on the digital display.
The numeric format and position used for the dialog box are based on the digital display
for a pot.
Even if the panel containing the Pot digital display is inactive, the Enter new value dialog
box will pop up. You can prevent this by predicating the enterValue input on the panel’s
active data member.
Comments Potentiometers are one of the most common control objects used in
process controls. Using Pots, a plant operator can make setpoint changes with the
mouse. L3Pots also work well as HOA switches. To create an HOA switch with a Pot,
specify the minimum as 1, the maximum as 3, and the resolution as 1.
The increment and decrement data members enable quick connection of
pot objects to $Keyboard and Panel function keys, and screen Pushbuttons.
These are often used to control Pot objects when LookoutDirect is running
on an industrial PC platform that has restricted or no mouse functionality.
Chapter 2 System Objects
Object Reference Manual 2-76 www.Automationdirect.com
L3Pushbutton
L3Pushbutton generates a logical signal for receipt by other objects. A
pushbutton changes state when you position the cursor over it and press the
mouse button, trackball, touchscreen, or space bar. The pushbutton remains
depressed and the output signal remains high until you release the button.
If a Verify on message is defined, the operator must first acknowledge the
message, then the output signal goes high, but only momentarily.
Button text displays the specified text on the pushbutton.
Use Verify on to create a dynamic text expression to be displayed in a
message dialog box. See Chapter 6, Security, in the LookoutDirect
Devloper’s Manual for more information on security.
Chapter 2 System Objects
© Automationdirect.com 2-77 Object Reference Manual
Position source determines where the value of the pushbutton resides.
Local indicates the value of the pushbutton lies within the pushbutton
itself—on the control panel. If the pushbutton is not depressed its signal
is OFF, if depressed its signal is ON.
Remote pushbuttons get their values from a remote source, often the
register in a controller they are connected to. Depressing the pushbutton
changes the status of the register, and changing the status of the register
depresses the pushbutton.
The Remote option is especially useful when you want to prevent
LookoutDirect from changing the value of setpoints or registers upon
initial startup, or reconnection of lost communication. When you use this
style of pushbutton you are creating a sort of looped signal. Half the loop
is formed when you connect the controller register to the pushbutton with
the Position expression, while the second half is formed when you connect
the pushbutton output signal to the controller register. Position is a logical
expression. Do not forget to complete the second half of the loop with the
Object»Edit Connections… command.
When you select the Remote option, you can choose whether or not the
pushbutton latches its output. The Latch output check box configures
LookoutDirect for controlling a latching-relay.
When a user clicks on a pushbutton that has latching selected, the
pushbutton remains depressed, sending an ON signal (TRUE or high) until
the Remote Position signal turns ON. Assume for example that an operator
clicks on MotorStartPb, configured previously. The pushbutton remains
pushed in, sending a TRUE signal, until PLC.C101 goes TRUE. As soon
as PLC.C101 goes TRUE, the pushbutton releases.
Much like Remote pushbuttons, DDE (Dynamic Data Exchange)
pushbuttons get their values from a remote source. This could be a cell in a
spreadsheet, another DDE aware application, or a second copy of
LookoutDirect running on the network. See Chapter 5, Dynamic Data
Exchange, in the LookoutDirect Developer’s Manual for information on
Service, Topic, and Item parameters.
Control security level specifies the minimum security level operators
must have to gain access to this individual object, and thus control it. See
Chapter 6, Security, in the LookoutDirect Developer’s Manual for more
information on security.
The Log events option creates a permanent audit trail for the object—who
did what and when. Any depression of the pushbutton is recorded to disk,
Chapter 2 System Objects
Object Reference Manual 2-78 www.Automationdirect.com
including the time the button was depressed, and the operators account
name. See Chapter 7, Logging Data and Events, in the LookoutDirect
Developer’s Manual for more information on logging events.
L3Pushbutton Data Members
Table 2-25. L3Pushbutton Data Members
Data Members Type Read Write Description
(implicit) logical yes no Value of object (TRUE when button is
depressed)
enable logical no yes If TRUE (the default), enables DDE.
If FALSE, disables DDE. The default
value is on. This input is ignored for
non-DDE TextEntry objects.
visible logical no yes When FALSE, the pushbutton cannot
be seen on the display panel. When
TRUE, the button can be seen and
controlled.
Chapter 2 System Objects
© Automationdirect.com 2-79 Object Reference Manual
L3Switch
L3Switch generates a logical signal for receipt by other objects. Switches
change state when you click on them with a mouse button, trackball,
touchscreen, or space bar on your keyboard.
Use Action verification messages to create dynamic text expressions to be
displayed in message dialog boxes. See Chapter 6, Security, in the
LookoutDirect Developer’s Manual for more information on security.
Position source determines where the value of the switch resides. Local
indicates the value of the switch lies within the object itself—on the control
panel. If the switch is up the signal is ON, if down the signal is OFF.
Remote switches get their values from a remote source, often the register
on a controller they are connected to. Flipping the switch changes the status
of the register, and changing the status of the register flips the switch.
The Remote option is especially useful when you want to prevent
LookoutDirect from changing the value of setpoints or registers upon
initial startup, or reconnection of lost communication. When you use this
style switch, you are creating a sort of looped signal. Half the loop is
formed when you connect the controller register to the switch with the
Position expression, while the second half is formed when you connect the
switch output signal to the controller register. Notice Position is a logical
Chapter 2 System Objects
Object Reference Manual 2-80 www.Automationdirect.com
expression. Do not forget to complete the second half of the loop with the
Object»Edit Connections… command.
Much like Remote switches, DDE (Dynamic Data Exchange) switches get
their values from a remote source. This could be a cell in a spreadsheet,
another DDE aware application, or a second copy of LookoutDirect
running on the network. See Chapter 5, Dynamic Data Exchange, in the
LookoutDirect Developer’s Manual for more information on Service,
Topic, and Item parameters.
Control security level specifies the minimum security level operators
must have to gain access to this individual object, and thus control it.
The Log events option creates a permanent audit trail for the object—who
did what and when. All adjustments of the switch are logged to disk,
including the time the switch was flipped, the operators account name,
and the direction the switch was flipped. See Chapter 7, Logging Data and
Events, in the LookoutDirect Developer’s Manual for more information on
event logging.
You can replace the standard switch types with custom graphic symbols.
If you decide to use custom graphics, you must specify both symbol
parameters, On and Off. See Chapter 2, Graphics, in the LookoutDirect
Developer’s Manual for more information on creating custom graphic
symbols and the use of Transparent pixels.
Chapter 2 System Objects
© Automationdirect.com 2-81 Object Reference Manual
L3Switch Data Members
Comments If a switch with more than two positions is needed, use a Radiobutton
object instead.
Related Objects L3Pushbutton, L3Pot, Pushbutton, Pot
Table 2-26. L3Switch Data Members
Data Members Type Read Write Description
(implicit) logical yes no L3Switch Position
enable logical no yes If TRUE (the default), enables DDE.
If FALSE, disables DDE. The default
value is ON. This input is ignored for
non-DDE L3TextEntry objects.
visible logical no yes When FALSE, the switch object
cannot be seen on the display panel.
When TRUE, the switch can be seen
and controlled.
Chapter 2 System Objects
Object Reference Manual 2-82 www.Automationdirect.com
L3TextEntry
With L3TextEntry you can manually enter textual notes with the keyboard.
These notes may contain any combination of numeric and alphanumeric
characters; however, the result of your entry is converted to a text value.
Just like any other text expression in LookoutDirect, your note can be
logged to disk, connected to other data members that accept text signals,
and so on. The note is saved and displayed as a single line entry—you
cannot embed carriage returns into the message.
Entry prompt is the text that appears at the top of the text entry dialog box
when an operator selects the text entry pushbutton.
Text source determines where the user-entered text resides. Local
indicates the user-entered text lies within the object itself—on the control
panel.
Remote indicates that the user-entered text resides in a remote source,
such as a text expression or another TextEntry object.
Much like Remote TextEntry objects, DDE TextEntry objects get their
values from a remote source. This is the option you use to tie the text to a
cell in a spreadsheet, a database lookup table, or any DDE aware
application—including a second copy of LookoutDirect running on the
Chapter 2 System Objects
© Automationdirect.com 2-83 Object Reference Manual
network. See Chapter 5, Dynamic Data Exchange, in the LookoutDirect
Developer’s Manual for more detailed information on Service, Topic and
Item.
Note The last DDE parameters used on any object automatically become the default
values for any new DDE object.
Control security level specifies the minimum security level operators
must have to gain access to this individual object, and thus control it.
The Log events option creates a permanent audit trail for the object—who
did what and when. When selected, all text entries in this object are logged
to disk. Each entry includes the time of the entry, the operators account
name, and what entry was made. See Chapter 7, Logging Data and Events,
in the LookoutDirect Developer’s Manual for more information on event
logging.
LookoutDirect presents the following display parameters dialog box after
you define the object. It lets you define the text font and presentation style.
Chapter 2 System Objects
Object Reference Manual 2-84 www.Automationdirect.com
L3TextEntry Data Members
Table 2-27. L3TextEntry Data Members
Data Members Type Read Write Description
(implicit) text yes no Current, user-entered text
enable logical no yes If TRUE (the default), enables DDE.
If FALSE, disables DDE. The default
value is ON. This input is ignored for
non-DDE TextEntry objects.
Chapter 2 System Objects
© Automationdirect.com 2-85 Object Reference Manual
LatchGate
LatchGate is latched on and off by two incoming signals. It retains the state
of the signal that most recently went high, regardless of the state of the
other signal. When the Turn Off signal transitions from OFF to ON, the
LatchGate output goes OFF until the Turn On signal transitions from OFF
to ON. The output signal does not change when either incoming signal
transitions from ON to OFF. Both Turn Off and Turn On are logical
expressions.
LatchGate Data Members
Comments Two pushbuttons connected to the Turn On and Turn Off expressions of
a LatchGate create pushbutton start/stop controls for a pump or other device.
Related Objects Flipflop
Table 2-28. LatchGate Data Members
Data Member Type Read Write Description
(implicit) logical yes no Logical output signal value
Chapter 2 System Objects
Object Reference Manual 2-86 www.Automationdirect.com
Loader
Use the LookoutDirect Loader to load or unload a LookoutDirect process
in response to a logical trigger. Using a Loader object in conjunction with
a Monitor object is how you create failover redundancy with
LookoutDirect. See Chapter 10, Redundancy, in the LookoutDirect
Developer’s Manual for more information on redundancy.
You may notice that the information in the State Information and Citadel
Database sections of this dialog box are the same as those areas in the
Create Process dialog box and, in the case of the Citadel Database
section, the System Options dialog box. Just as the Citadel Database
section of the Create Process dialog box overrides the system database
location settings for a particular process, any settings you make in the
Loader object for database location or saving of state files override both
system defaults and whatever settings you may have made when you
created the process being loaded.
Process Name is the name that the process runs under when you open the
Process File. You can use a process name other than the one used when the
process file loaded was created.
Process File is the name of the file this Loader object will load when
activated. You must enter a complete path to the file. You can specify a file
Chapter 2 System Objects
© Automationdirect.com 2-87 Object Reference Manual
from another computer on your network, but you must map the location on
the remote computer as a network drive on your own computer first.
The State Information section of this dialog box lets you set where
LookoutDirect saves state files for the process just loaded, and under what
name the files are saved.
Select Save State File with Process File to save the state file in the
location where the process file was opened.
Select Save State File in LookoutDirect Folder to save the state file in the
LookoutDirect folder of the copy of LookoutDirect your are currently
running. The state file name is the same as the process name.
Select the Save Standby State File checkbox to save one or more extra
copies of the state file in a location of your choosing. Enter a complete path,
including state file name, to each location you want to save a state file.
If you are saving the state file to more than one backup or alternative
location, separate the paths with the vertical bar (|) operator symbol.
Check the Save State File(s) every NNNN (1-1440) minutes option to set
the frequency with which LookoutDirect saves the state file. The
LookoutDirect default is 60 minutes.
The Citadel Database section sets the location of the Citadel database that
LookoutDirect logs data to for the process you load. If you check the Use
Default Values checkbox, LookoutDirect uses the default location set in
the System Options dialog box of any instance of LookoutDirect running
the process.
If you enter a computer name and a path on that computer to a specific
folder, LookoutDirect logs data to that location on that computer, no matter
what computer is running the process.
To designate a specific computer and path for your process to log data to,
enter the fully qualified network name for the target computer in the
Computer Name field, and the complete path to the target database
directory in the Citadel Database Folder field.
Load is the logical signal you use to activate the Loader and load the
process.
Unload is the logical signal you use to activate the Loader and unload the
process you loaded earlier.
Chapter 2 System Objects
Object Reference Manual 2-88 www.Automationdirect.com
The Loader can only load one process at a time, and can only load a process
to run inside the instance of LookoutDirect currently running the process
that contains the Loader.
To load multiple processes with one trigger, you must use multiple Loader
objects.
Loader Data Members
Table 2-29. Loader Data Members
Data Member Type Read Write Description
SaveWithProcess logical yes no When TRUE, LookoutDirect saves a
state file in the same location as the
process file it contains the state for.
DatabaseComputer text yes no Sets the computer on which
LookoutDirect saves Citadel database
files.
DatabaseFolder text yes no Sets the folder in which
LookoutDirect saves Citadel database
files.
Failure logical yes no Monitor this data member to be
alerted if a load attempt fails.
Failuretext text yes no Returns the reason for a failure to load
the process designated by the loader.
Load logical yes yes Triggers the loader to load the
designated process file.
ProcessFile text yes no Name of the process the loader loads
when activated.
ProcessName text yes no Specifies the process name a loaded
process runs under.
SavePeriod numeric yes no Sets how often, in minutes, that
LookoutDirect saves the state file for
the loaded process.
SaveWithLookoutDirect logical yes no When TRUE, LookoutDirect saves
the state file in the LookoutDirect
directory, using ProcessName as the
name for the state file as well.
Chapter 2 System Objects
© Automationdirect.com 2-89 Object Reference Manual
Loader Error Messages
Load: No process file specified
Specify a process file in the ProcessFile field.
Load: No process name specified
Name your process in the ProcessName field.
Load: Process already exists: loadername.processname
The process specified by your Loader object is already running under that
name in this instance of LookoutDirect. Only one process may run under
each process name.
Load: No state file specified
You must specify state file information for any process you load with a
Loader object.
Load: Invalid process name
You have chosen an invalid process name. See the Object Names section in
Chapter 4, Using LookoutDirect, of your Getting Started With
LookoutDirect manual for detailed information on valid LookoutDirect
process and object names.
Load: Invalid database computer name
The computer name you have entered in the ComputerName field is not
registered as being a part of your LookoutDirect network. Check the
spelling of the name or register the computer through the LookoutDirect
Object Explorer or the LookoutDirect Connection Browser.
Load: Invalid database folder
Check the path you have entered in the Citadel Database Folder field to
make sure the path you entered does exist on the computer specified in the
ComputerName field.
StandbyFile text yes no Complete path to the location in
which you want LookoutDirect to
save copies of the state file.
Unload logical yes yes Triggers the loader to unload the
designated process.
Table 2-29. Loader Data Members
Data Member Type Read Write Description
Chapter 2 System Objects
Object Reference Manual 2-90 www.Automationdirect.com
Load: Can't open process file processfilename
LookoutDirect was unable to open the file processfilename. Check to
see that the file exists in the specified location and has not been corrupted.
Unload: No process name specified
Enter the name of the process you want to unload in the Process Name
field.
Unload: Process not found
LookoutDirect must be running a process with the name specified in the
Process Name field for the Loader to unload a process. If no process with
the specified name is running when the Loader attempts to unload a
process, LookoutDirect returns this error message.
Chapter 2 System Objects
© Automationdirect.com 2-91 Object Reference Manual
Maximum
Maximum actively calculates the maximum value of Data over time.
Maximum is only active when the Enable expression is TRUE. It resets to
zero when the Reset expression transitions from OFF to ON. Maximum
also maintains an array of up to 35 previous maximum values. If Enable is
left blank, the object always actively calculates the maximum. Data is a
numeric expression while Reset and Enable are logical expressions.
Note Maximum does not have a display parameters dialog box. However, you can easily
display Maximum by referencing it in an expression.
Maximum Data Members
Comments The Reset interval could be a regular pulse interval created by a
TimeOfxxxx timer, so that the pulse is synchronized to the top of the hour or day. For
example, if you want to calculate the daily maximum flow rate, use the output signal
from a TimeOfDay timer or a daily Spreadsheet object to reset the maximum
calculation at the beginning of each day.
Related Objects Average, Minimum, Sample, SampleText
Table 2-30. Maximum Data Members
Data Members Type Read Write Description
(implicit) numeric yes no Current maximum value
1 – 35 numeric yes no Previous maximum values. Signal 1 is the most
recent prior maximum since the Reset
expression went high.
DataReset logical no yes Upon transition from FALSE to TRUE, resets
to zero all data members—including the
current maximum value and all previous
maximum values.
Chapter 2 System Objects
Object Reference Manual 2-92 www.Automationdirect.com
Meter
The Meter object displays the Signal expression in a vertical bar graph
format or as a sweeping needle on a speedometer dial. Meter display values
change depending on the derived numeric value of the Signal expression.
Minimum is the lowest value signal the pot will generate.
Indicator parameters include Maximum and Minimum which define the
span of the signal to be displayed. The Indicator Color is the color of the
needle or vertical bar fill.
MeterLabel parameters allow for a Text label to be assigned during the
meter configuration and the text Color to be selected.
Tick Marks options include parameters for the number of Major Divisions
and the number of Minor Divisions along with a selection for the color of
the divisions.
Note The Minor Divisions are the number of minor ticks between each two major
divisions. Thus 5 Major Divisions and 4 Minor Divisions will result in whole number
divisions, similar to 11 Major Divisions and 4 Minor Divisions.
Tick Labels options include parameters for the number of Decimal Places
to be displayed on the numeric label of the Major Divisions along with a
selection for the color of the numeric label.
Chapter 2 System Objects
© Automationdirect.com 2-93 Object Reference Manual
Meter Data Members
Table 2-31. Maximum Data Members
Data Members Type Read Write Description
(implicit) numeric yes no Current value of signal parameter
Chapter 2 System Objects
Object Reference Manual 2-94 www.Automationdirect.com
Minimum
Minimum actively calculates the minimum level of Data over time.
Minimum is only active when the Enable expression is TRUE. It resets to
zero when the Reset expression transitions from OFF to ON. Minimum
also maintains an array of up to 35 previous minimum values. If Enable is
left blank, the object is always actively calculating the minimum. Data is a
numeric expression while Reset and Enable are logical expressions.
Note Minimum does not have a display parameters dialog box. You can easily display the
Minimum value referencing it an expression.
Chapter 2 System Objects
© Automationdirect.com 2-95 Object Reference Manual
Minimum Data Members
Comments The Reset interval could be a regular pulse interval created by a
TimeOfxxxx timer, so that the pulse is synchronized to the top of the hour or day. For
example, if you want to calculate the daily minimum flow rate, use the output signal
from a TimeOfDay timer or a daily Spreadsheet object to reset the minimum
calculation at the beginning of each day.
Related Objects Average, Maximum, Sample, SampleText
Table 2-32. Minimum Data Members
Data Members Type Read Write Description
(implicit) numeric yes no Current minimum value
1 – 35 numeric yes no Previous minimum values. Signal 1 is
the most recent prior minimum since
the Reset expression went high.
DataReset logical no yes Upon transition from FALSE to
TRUE, resets to zero all data
members—including the current
minimum value and all previous
minimum values.
Chapter 2 System Objects
Object Reference Manual 2-96 www.Automationdirect.com
Monitor
The LookoutDirect Monitor object is integral to LookoutDirect
redundancy. The Monitor object maintains a connection with a data
member in any process you want to watch from another computer or
process. If the data flow from that source stops, the Monitor signals the halt,
allowing you to respond.
Using a Monitor object in conjunction with a Loader object is how you
create failover redundancy with LookoutDirect. See Chapter 10,
Redundancy, in the LookoutDirect Developer’s Manual for more
information on redundancy.
In the Output goes high field enter a data member in the process you want
to monitor. If the data quality of that expression goes bad for more than the
number you enter in the seconds field, the monitor goes high (TRUE),
letting you know there is a problem with the process.
Monitor Data Members
Table 2-33. Monitor Data Members
Data Member Type Read Write Description
(implicit) logical yes no Goes TRUE when the data member
the Monitor is watching cannot be
accessed after a specified length
of time.
timeout numeric yes no The length of time in seconds that the
data member being monitored must
be unavailable before the Monitor
goes TRUE.
Chapter 2 System Objects
© Automationdirect.com 2-97 Object Reference Manual
Multistate
Multistate displays different graphics on a control panel as dictated by the
values of Conditional expressions. You can use up to six Graphic files,
but at least one is required. Multistate determines which graphic to display
based on the order and current status of your Conditional expressions. If
several Conditional expressions are true at once, Multistate displays the
graphic associated with the first true expression.
Conditional expressions must result in logical values (TRUE or FALSE).
See the Animator section for more information about constructing logical
statements. Double-click in a Graphic file box to select the graphic you
want to use.
Chapter 2 System Objects
Object Reference Manual 2-98 www.Automationdirect.com
Multistate Data Members
Comments By creating several graphic images that depict a sequence of events,
Multistate can be used to create animation sequences on control panels such as
hydraulic pistons moving back and forth. A more typical use of Multistate is for
three-color pilot lights, where green represents running, red represents stopped,
and yellow represents failed, for example.
For smooth, high speed animations, use the Animator object.
Related Objects Animator
Table 2-34. Multistate Data Members
Data members Type Read Write Description
none Multistate objects do not have data
members
Chapter 2 System Objects
© Automationdirect.com 2-99 Object Reference Manual
Neutralzone
Neutralzone is an ON/OFF Controller. It functions the way a home air
conditioning thermostat does; if the temperature rises above a certain level,
the above data member goes TRUE (turning the A/C on). When it drops
below a lower temperature, the below data member goes TRUE (turning
the A/C off).
When the incoming Signal value rises above both Low limit and High
limit, the data member above turns on, and the data member below turns
off. When the incoming Signal value drops below both Low limit and
High limit, above turns off, and below turns on. The above and below
data members do not change state when the signal value falls back within
the two limits (within the neutral zone). Signal, High limit, and Low limit
are all numeric expressions.
The previous discussion assumes numeric constants for both limits.
However, you could use variable setpoint signals from Pot objects so an
operator could dynamically adjust Neutralzone behavior.
Note Neutralzone does not have a display parameters dialog box. You can easily display
the result of Neutralzone output signals by referencing its data members in an expression.
Chapter 2 System Objects
Object Reference Manual 2-100 www.Automationdirect.com
Neutralzone Data Members
Comments You can use this object to turn pumps on and off or open and close valves
based on line pressures or tank levels. Neutralzone objects prevent pumps from cycling
on and off around a single setpoint, just as an air conditioning thermostat prevents your
home air conditioner from incessantly starting and stopping.
Often the term deadband is mistakenly used to describe a neutral zone.
However, deadbands refer to the amount of change a numeric value must
travel in the reverse direction before the output numeric value begins to
change.
Table 2-35. Neutralzone Data Members
Data Members Type Read Write Description
above logical yes no ON if signal is greater than both
limits, OFF if signal is less than both
limits, and does not change if signal is
between both limits
below logical yes no ON if signal is less than both limits,
OFF if signal is greater than both
limits, and does not change if signal is
between both limits
Chapter 2 System Objects
© Automationdirect.com 2-101 Object Reference Manual
OneShot
OneShot is an adjustable delay timer. When On/off signal transitions to on,
the output signal goes TRUE and the Timer delay begins to count down.
At the end of the delay countdown, the output signal goes FALSE.
Unlike the Interval timer, the OneShot timer output remains on for the
Time delay period even if On/off signal goes FALSE. So a OneShot timer
requires only a momentary signal to begin the Timer delay period. Pulsing
the On/off signal during the time delay period does not extend the time
delay period of a OneShot timer.
The On/off signal is a logical expression while Timer delay is a numeric
expression. Normally, this is a simple time constant such as 0:20 (twenty
seconds). See Numeric Data Members in Chapter 2, How LookoutDirect
Works, of the Getting Started with LookoutDirect manual for information
on time constants.
Timer delay can range from 0.0 seconds to several years. The effective
resolution is 0.1 seconds over the entire range.
The object is represented on a control panel by showing the time delay
remaining in the format defined by the Display format parameter. It is
updated approximately once per second. If the delay period has expired,
it shows OFF.
Chapter 2 System Objects
Object Reference Manual 2-102 www.Automationdirect.com
OneShot Data Members
Comments You can use the OneShot timer to hold a valve open for a set period of time
after a pushbutton is pressed, or to prevent pump starts from occurring too rapidly in
succession.
Related Objects DelayOff, DelayOn, Interval, Pot, TextEntry
Table 2-36. OneShot Data Members
Data Member Type Read Write Description
(implicit) logical yes no Logical timer value
Chapter 2 System Objects
© Automationdirect.com 2-103 Object Reference Manual
Pager
Pager is an object class LookoutDirect uses to contact a numeric or
alphanumeric pager through a modem, sending a message to the pager.
Pager type determines whether the Pager object operates in numeric only
or alphanumeric mode. A detailed description of the operation of these two
modes follows.
Pager number is the phone number of the pager you want to contact.
When the Pager object is in Alphanumeric mode, this number corresponds
to the pager ID number.
Chapter 2 System Objects
Object Reference Manual 2-104 www.Automationdirect.com
Message is the message you want to send to the pager. Notice that in
Numeric Only mode only numeric characters are sent.
Delay is how long the Pager object waits after dialing the pager number
before it dials the message number. This parameter is valid in Numeric
Only mode only.
Terminal number is the phone number of the remote paging terminal you
want to contact. This parameter is valid in Alphanumeric mode only.
Retry attempts specifies the consecutive number of times LookoutDirect
attempts to establish communications with a device if it is not getting a
valid response. After it tries the number of Retry attempts specified, the
Pager object generates an alarm and releases the COM port. Refer to
Chapter 3, Serial Communications, in the LookoutDirect Developer’s
Manual for more information. This parameter is valid in Alphanumeric
mode only.
Receive timeout is the time delay LookoutDirect uses in waiting for a
response from a device before retrying the request. This parameter is valid
in Alphanumeric mode only.
Baud rate indicates the baud rate LookoutDirect uses to communicate with
the modem and paging terminal.
Serial port specifies which COM port LookoutDirect uses to communicate
with your modem. You must have this COM port configured as dial-up
under Options»Serial Ports.
Communication alarm priority determines the priority level of alarms
generated by the Pager object. You can relate such alarms to
communications with the modem or with the remote paging terminal.
Pager Data Members
Table 2-37. Pager Data Members
Data Member Type Read Write Description
Message text no yes Pager message
Phone text no yes Individual pager phone number or Page ID
number
Send logical no yes Sends the message on transition from FALSE
to TRUE
Chapter 2 System Objects
© Automationdirect.com 2-105 Object Reference Manual
Pager Object Modes
Numeric Only
In Numeric Only mode, the Pager object establishes a connection with
your local modem. Once this connection has been established and the pager
number dialed, the Pager object waits for the time specified by Delay, then
dials the number that is the message. Because the Message data member is
a text value, the Pager object in Numeric Only mode omits any
non-numeric characters from the message when it is sent.
Alphanumeric Mode
In Alphanumeric mode, the Pager object actually establishes a connection
with a remote paging terminal, then transmits an alphanumeric message
using Telocator Alphanumeric Protocol (TAP) version 1.8. TAP is an
industry standard protocol for paging terminals that accept alphanumeric
pages. Alphanumeric messages are limited to 250 characters. The text
value in the Message data member will be truncated to this length if it is
longer.
Pager Serial Port Settings
Notice that there are two different retry settings that affect the operation
of the Pager object in Alphanumeric mode. The retry settings in the Pager
object dialog box govern serial communications with the remote paging
terminal. This means that after the two modems have connected and
finished handshaking, and the serial transaction is underway, each
individual frame is timed by the Receive timeout setting, and retried
the number of times specified by Retry attempts.
These retry settings will not dial the phone number again if the remote
paging terminal for some reason does not answer or is busy, which happens
occasionally. This setting and other important modem settings (including
the AT initialization string that the Pager object must use on your modem)
can be found in Option»Serial Ports, and should be chosen carefully.
These settings are important in both Pager object modes.
Note You may have to increase your Receive Gap setting from its default of 5 to
something closer to 20 or 25. You must also have your COM port configured as dial-up.
Chapter 2 System Objects
Object Reference Manual 2-106 www.Automationdirect.com
Pager Queueing
The Pager object queues up to 10 messages in either mode. If the object is
in the process of sending out a page and the Send data member goes high
again, the current value of the Message data member will be queued and
sent out when the Pager object has time. Messages that are already in the
queue will not be duplicated.
Pager Status Messages
Paging terminal refused logon
Alphanumeric only error code
Paging terminal forced disconnect
Alphanumeric only error code
Paging terminal NAKed block transmission
Alphanumeric only error code
Paging terminal abandoned block transmission
Alphanumeric only error code
No response within timeout period
This means that the modem is not responding to LookoutDirect requests.
Queue full
The paging queue currently has 10 pages in it, and will not accept any more
until at least one of those pages is successfully sent.
Garbled response
A response from the modem was corrupted or in an unrecognizable form.
Chapter 2 System Objects
© Automationdirect.com 2-107 Object Reference Manual
Panel
Panel is a unique object class that accepts display members of other objects.
Panels (Control panels) are a window into your process you can use to
monitor and control your system by flipping switches, depressing
pushbuttons, and turning knobs.
There is no limit as to the number of control panels you can create in
LookoutDirect or the number of objects or graphics that you can display on
a given panel. Control panels can be any size, and you can display them
within the LookoutDirect workspace in various states (maximized, normal,
minimized).
Create control panels with the Object»Create… command or with the
Insert»Control panel… command. Both commands deliver the same
result.
There are three distinct panel types: Normal, Popup, and Popup no icon.
A Normal control panel can be maximized, normal size, or minimized
within the LookoutDirect workspace. When you activate a Normal panel
it appears at the size defined by its Height and Width. When you maximize
a Normal panel, it fills the LookoutDirect workspace. When you minimize
a Normal panel it appears as an icon. The Normal option is typically
selected for full-sized control panels.
Popup control panels can either be in a popup state or minimized (they
cannot be maximized). When you activate a Popup panel it appears at
the size defined by its Height and Width. When a Popup control panel is
activated, it remains on top of all other panels until it is minimized. When
you minimize a Popup panel it appears as a bar at the bottom of the
LookoutDirect screen.
Chapter 2 System Objects
Object Reference Manual 2-108 www.Automationdirect.com
Popup no icon control panels are identical to Popup panels except they are
not represented by icons when minimized. When you minimize a Popup no
icon panel it disappears from the LookoutDirect workspace.
Note Because Popup no icon control panels are not represented by icons, they use less
memory. (Microsoft Windows allocates a fixed amount of memory to each icon.) If you are
experiencing memory problems when running a LookoutDirect application that has many
control panels, consider converting your Popup panels to Popup no icon.
Normal panels and Popup panels can be chosen by selecting their icon,
using the Window menu command. Popup no icon control panels cannot;
they can only be accessed by triggering their activate data member.
The Security levels settings are globally applied to a given control panel.
The Control security level works in conjunction with all individual object
security levels on that panel. The higher security level of the two is used to
determine if an operator has control over the object. For example, consider
a single Switch object with a security level of 4 that is displayed on two
panels. The first panel has a control level of 6 and the second panel has a
control level of 2. Only level 6 and higher operators are able to flip the
switch on the first panel; however, level 4 and higher operators have control
over the same switch on the second panel.
Viewing security can hide entire control panels from low level operators.
This parameter affects the entire control panel. As an example take a
control panel with a viewing security level of 6. If a level 5 (or lower)
operator logs on, he is unable to see the control panel. In fact, he does not
even know it exists because it is not listed in the Window menu and it is
not shown as an icon. If a level 6 (or higher) operator logs on, the control
panel instantly becomes available for display. This feature is useful for
hiding panels that are rarely used or that contain sensitive information.
Chapter 2 System Objects
© Automationdirect.com 2-109 Object Reference Manual
This example shows a Normal control panel in a normal state and a Popup
control panel in a minimized state. The Normal panel could easily be
minimized or maximized by hitting the appropriate arrow button.
The following example is a typical scenario involving full screen control
panels with multiple popup panels displayed at once.
This configuration maximizes the amount of information that you can
display at once; and it allows you to have any number of different
combinations of control panels displayed on your monitor.
Chapter 2 System Objects
Object Reference Manual 2-110 www.Automationdirect.com
This example displays a Normal control panel in a maximized state and
two Popup control panels in a “popped up” state.
Manipulating Panels
LookoutDirect control panels utilize the Microsoft standard Multiple
Document Interface (MDI) techniques. You manipulate LookoutDirect
windows the same way you do other windows in the Microsoft Windows
environment.
Panel Switching
It is common to have several or even dozens of control panels. Creating
a methodology for moving between your panels can be as simple or as
elaborate as you want. One effective method utilizes pushbuttons that
invoke other control panels. You connect the pushbutton output signal to
the activate or maximize data member of the control panel(s) you want to
affect. When the button signal goes high the respective panel(s) appear.
The following example shows a single pushbutton and X with its output
signal connected to two Popup control panels. The pushbutton is inserted
on a third maximized panel.
Chapter 2 System Objects
© Automationdirect.com 2-111 Object Reference Manual
When you toggle out of Edit Mode and depress the button, both Popup
control panels instantly appear, as shown in the following illustration. Of
course you could have connected the pushbutton to another Normal panel
instead, and it would have appeared as the new maximized panel.
As you can imagine, there is no limit to the number of connections between
various signals and control panels. In fact, you can create complex
expressions/alarms that automatically call up specific control panels.
Another way to move between panels is through the use of function keys.
Like the $Keyboard object, each panel has its own set of data members
representing the function keys F1 – F24. The following example shows the
F2 data member of Panel1 connected to the activate data member of Panel2.
The F2 data member of Panel2 is also connected to the activate data
member of Panel3. This way an operator can depress F2 to page forward
through several panels.
Panel1 Panel3Panel2
F1 F2 F1 F2 F1 F2
Panel3 Panel1
Chapter 2 System Objects
Object Reference Manual 2-112 www.Automationdirect.com
In similar fashion, the F1 data member of Panel3 is connected to
the activate data member of Panel2 and the F1 data member of Panel2
is connected to the activate data member of Panel1. So now,
Panel2.activate = Panel1.F2 OR Panel3.F1. An operator
can depress F2 to page forward through the control panels and F1 to
page back through the control panels.
Special Considerations for “Home Panel”
To ensure users do not get lost when switching between panels, you might
define one panel as your master control panel, or home panel or computer
main menu. You could connect the activate data member of your home
panel to $Keyboard.Shift.F1, or perhaps to a pushbutton object. If
connected to the function key, any time the user presses <SHIFT-F1>
(no matter what panel he or she is looking at), the home panel is called,
returning the operator to a familiar control panel.
You might also want the home panel to maximize upon startup. If you have
already created a pushbutton to call the home panel, you can connect it to
the maximize data member.
The exclamation point (!) instructs LookoutDirect to use the opposite of
the pushbutton value. At startup, the pushbutton is not depressed so its
value is FALSE. But because you are using the opposite of the pushbutton
value, Panel1.maximize is TRUE at startup. Any time a user depresses
CallHomePb after this connection is made, nothing happens until the
pushbutton is released—at which time the panel is called.
Panel Print
You can easily print a control panel using the Print Panel command. This
function works equally well for both Normal and Popup panel types.
Print the contents of a panel by clicking on the panel control menu and then
on Print Panel, or by connecting a logical expression to the Print data
member of the desired control panel. A panel does not have to be visible to
be printed.
Note Certain metafiles look different on the printed page than they do on the display
screen. This means that parts of layered objects sometimes appear opaque on the screen,
but translucent when drawn on paper.
Note When you print a Normal panel, it is printed at its defined Height and Width
parameters. If you define a panel whose Height and Width are at the default
Chapter 2 System Objects
© Automationdirect.com 2-113 Object Reference Manual
400 ×300 pixel setting, maximize the panel, and then add graphic elements to the full
panel, those elements outside of the default 400 × 300 pixel range are not shown when the
panel is printed. To print all the elements on a maximized panel, modify the Width and
Height of the panel to match the full-screen dimension of the panel.
You can modify an existing control panel by toggling into edit mode and
right-mouse clicking on its title bar. You can also modify a panel with the
Object»Modify… menu command just like any other object.
Screen Resolution and LookoutDirect Graphics
LookoutDirect graphics and control panels appear different, depending on
the PC you are using and the resolution of your screen driver. When you
position a graphic (or any other display element) onto a control panel,
LookoutDirect identifies the position you selected by recording the specific
pixel position of the graphic. (A pixel is the smallest possible dot on the
screen.) LookoutDirect actually counts the number of pixels that the
graphic is from the upper left-hand corner of the screen. When you
subsequently recall a panel, LookoutDirect knows the exact location to
place the graphic.
The reason to bring this up is because different computer screen drivers
have different screen resolutions. VGA screens are 640 ×480 pixels. Super
VGA screens typically range from 800 × 600 pixels to 1024 × 768 pixels.
A panel created at 640 × 480 pixel resolution does not fill the screen of a
1024 × 768 super VGA monitor. A panel created at 1024 × 768 pixel
resolution will overflow the screen of a 640 × 480 VGA monitor.
It is best to create your panels using the display driver resolution of the
computer on which you intend to run LookoutDirect. If you are creating
panels for use on multiple computers, consider developing panels using the
display driver resolution of the most common resolution monitor (if you
have a dozen Super VGA computers and one VGA computer, develop your
panels in Super VGA, not VGA). You will then have to modify the panels
slightly to fit on the less common resolution computer(s).
You can usually change the resolution of your screen from VGA to Super
VGA by changing System Settings in Windows Setup. Refer to your
Microsoft Windows manual for more information.
Chapter 2 System Objects
Object Reference Manual 2-114 www.Automationdirect.com
Panel Data Members
Table 2-38. Panel Data Members
Data Members Type Read Write Description
<CTRL-F1> –
<CTRL-F24> logical yes no Each of these 24 data members
represent a function key, <F1>
<F24>—when pressed in conjunction
with the <CTRL> key. Returns TRUE
when the panel is active and its
associated function key is pressed in
conjunction with the <CTRL> key.
<F1> – <F24> logical yes no Each of these 24 data members
represent a function key, <F1>
<F24>. Returns TRUE when the
panel is active and its associated
function key is pressed.
<SHIFT-F1> through
<SHIFT-F24> logical yes no Each of these 24 data members
represent a function key, <F1>
<F24>—when pressed in conjunction
with the <SHIFT> key. Returns
TRUE when the panel is active and its
associated function key is pressed in
conjunction with the <SHIFT> key.
activate logical no yes Upon transition from FALSE to
TRUE, calls control panel to focus or
pop up.
active logical yes no Returns TRUE when the panel is the
currently selected panel (i.e., it is
active).
maximize logical no yes Upon transition from FALSE to
TRUE, maximizes control panel,
replacing existing maximized control
panel.
Chapter 2 System Objects
© Automationdirect.com 2-115 Object Reference Manual
minimize logical no yes Upon transition from FALSE to
TRUE, minimizes control panel to
icon state.
print logical no yes Upon transition from FALSE to
TRUE, sends the control panel to the
Windows Print Manager.
Table 2-38. Panel Data Members (Continued)
Data Members Type Read Write Description
Chapter 2 System Objects
Object Reference Manual 2-116 www.Automationdirect.com
Chapter 2 System Objects
© Automationdirect.com 2-117 Object Reference Manual
Pipe
Pipe displays different color rectangles (pipes) on a control panel as
defined by the values of Conditional expressions. Pipe determines which
color rectangle to display based on the order and current status of your
Conditional expressions. If several Conditional expressions are TRUE
at once, Pipe displays the color associated with the first TRUE expression.
Conditional expressions must result in logical values.
Pipe Data Members
Comments You can easily create a complex piping network scheme (including
changing colors) with a single Pipe object. Display the object on a control panel and
copy the pipe display with the shift-drag method to create additional pipes with the
same parameters. You can then move, resize, and group the pipes as you choose.
Table 2-39. Pipe Data Members
Data Members Type Read Write Description
none Pipe does not have data members.
Chapter 2 System Objects
Object Reference Manual 2-118 www.Automationdirect.com
Playwave
Playwave connects Microsoft standard wave form files (.wav) to events in
LookoutDirect. Playwave plays the audio file specified by Wave file when
Play when transitions from off to on. Play when is a logical expression and
might range from a simple pushbutton, to a digital input from a PLC, to an
alarm generated in LookoutDirect. You can also create your own custom
audio files with various software products. Therefore, you can connect
individual alarms to custom wave files to be played each time an alarm goes
TRUE.
Playwave Data Members
Comments Many computers do not come equipped with quality speakers built in. If
this is the case, your wave files may sound distorted or may even be inaudible. If you
want to take advantage of the Playwave feature, you may need to buy additional
hardware, in particular a Microsoft Windows compatible sound board (with Windows
driver) and external speakers.
Table 2-40. Playwave Data Members
Data Members Type Read Write Description
none Playwave does not have any data
members
Chapter 2 System Objects
© Automationdirect.com 2-119 Object Reference Manual
Pot
Pot is a potentiometer that you use to change numeric setpoint values. You
can display Pots on a control panel as a knob, vertical slider, horizontal
slider, increment/decrement pushbuttons, or digital entry. You can also use
Pots as multiple-position switches.
If you change the background color of a panel and add a Pot object
displayed as a slider, its color is always gray. To change the background
color of a Pot to match your panel, select the Pot object, then pick
Change»Background Color from the menu.
Minimum is the lowest value signal the pot will generate.
Maximum is the highest value signal the pot will generate.
Resolution is the smallest increment of change, or detent spacing the
Pot supports.
Position source determines where the value of the Pot resides. Local
indicates the value of the Pot lies within the object itself—on the control
panel.
Remote Pots get their values from a remote source, often the register on a
controller they are connected to. Adjusting the Pot changes the value in
the register, and changing the value in the register adjusts the Pot. In effect,
Chapter 2 System Objects
Object Reference Manual 2-120 www.Automationdirect.com
the Pot is tracking a remote value. This is especially useful when you want
to prevent LookoutDirect from changing the value of setpoints or registers
upon initial startup, or reconnection of lost communication.
The Remote option calls for a URL to locate the data member you want to
connect to. The URL field is green, and you cannot use a complex
expression as a URL. If you need to use one RadioButton for several
purposes, you can use a Symbolic Link to make a more complex
connection than that possible with a URL.
You can right-click in the URL field and use the URL Editor dialog box
to assemble the URL, in the same way you use the LookoutDirect
expression editor.
A remote position source connection is completely reciprocal. A change in
your LookoutDirect control changes the data member that control is
remoted to. Any change in that data member also changes the control. It is
not necessary, and is incorrect, to use the Edit Connections dialog box to
connect a control object to its controlled data member.
Because the remote connection is reciprocal, you can only make such a
connection to a data member that is either writable, or readable and
writable.
When a process with remoted controls first opens, those controls take their
initial values by following the URL to read the data members they are
remoted to. The control will be covered by a red X to indicate that the
remote connection is not functioning.
Note You should use Remote to connect a control in a client process to a data member
in a server process. Connections inside a single process can be made using Object»Edit
Connections.
Because complex expressions are read-only values, you cannot remote
directly to them. For the same reason, you cannot remote one control to
another control’s (intrinsic) data member (though you can remote a
control to another control’s value data member).
Much like Remote Pots, DDE (Dynamic Data Exchange) Pots get their
values from a remote source. This could be a cell in a spreadsheet, another
DDE aware application, or a second copy of LookoutDirect running on the
network. The last DDE parameters used on any object automatically
become the default values for any new DDE object.
Chapter 2 System Objects
© Automationdirect.com 2-121 Object Reference Manual
Control security level specifies the minimum security level operators
must have to gain access to this individual object, and thus control it.
The Log events option creates a permanent audit trail for the object—who
did what and when. All adjustments of the Pot are logged to disk, including
the time of the adjustment, the operator account name, and what adjustment
was made.
Note You can modify the background color on vertical and horizontal sliders with the
Change»Background color… menu command. You can modify the font and font color
of digital Pots using Change commands.
Pot Data Members
Table 2-41. Pot Data Members
Data Member Type Read Write Description
(implicit) numeric yes no Current value
decrement logical no yes When this data member value
transitions from FALSE to TRUE, the
implicit value of the Pot object
decreases by the Pot Resolution
amount.
enable logical no yes If TRUE (the default), enables DDE.
If FALSE, disables DDE. The default
value is on. This input is ignored for
non-DDE TextEntry objects.
Chapter 2 System Objects
Object Reference Manual 2-122 www.Automationdirect.com
enterValue logical no yes Under specific circumstances, when
this value transitions from FALSE to
TRUE, pops up a Enter new value
dialog box for an operator to use in
entering a value for the Pot. See the
note following the table for more
detailed information.
The enterValue data member is
designed for use under unusual
circumstances, in particular when
pointing devices are not available on a
computer running LookoutDirect.
Because of its unusual operation, this
data member should not be used
unless it is necessary for hardware
reasons.
increment logical no yes When this data member value
transitions from FALSE to TRUE,
the implicit value of the pot object
increases by the Resolution amount.
reset logical no yes While this value equals TRUE, the
control will be set to the value in
resetvalue.
resetvalue numeric no yes Sets the value a control will take when
the reset data member transitions
from FALSE to TRUE.
value numeric yes yes The current value of the control. If
you have remoted this control, then
value is the current value of the
position source.
visible logical no yes When FALSE, the Pot object cannot
be seen on the display panel. When
TRUE, the Pot can be seen and
controlled.
Table 2-41. Pot Data Members (Continued)
Data Member Type Read Write Description
Chapter 2 System Objects
© Automationdirect.com 2-123 Object Reference Manual
Note When the enterValue input transitions from FALSE to TRUE, and if the Pot is
visible, if LookoutDirect is not in edit mode, and if the Pot has at least one digital display,
the Enter new value dialog box pops up so an operator can input a value, just as if the
operator had clicked on the digital display.
The numeric format and position used for the dialog box are based on the digital display
for a Pot. Even if the panel containing the Pot digital display is inactive, the Enter new
value dialog box will pop up. You can prevent this by predicating the enterValue input
on the panel's active data member.
Comments Potentiometers are one of the most common control objects used in
process controls. Using Pots, a plant operator can make setpoint changes with the
mouse. Pots also work well as H-O-A switches. To create an HOA switch with a Pot,
specify the minimum as 1, the maximum as 3, and the resolution as 1.
The increment and decrement data members enable quick connection of
Pot objects to $Keyboard and Panel function keys, and screen Pushbuttons.
These are often used to control Pot objects when LookoutDirect is running
on an industrial PC platform that has restricted or no mouse functionality.
Chapter 2 System Objects
Object Reference Manual 2-124 www.Automationdirect.com
Pulse
Pulse is a timer that generates a periodic pulse of a specified duration.
When On/off signal transitions to ON, the output signal turns on for the
pulse duration time and then turns off for the remainder of the period. The
output signal immediately turns off when the On/Off signal goes low.
Timer period is the time interval for the full pulse cycle, and Timer
duration is the width of each pulse. These parameters can range from
0.0 seconds to several years, with an effective resolution of 0.1 seconds
over the entire range. Timer duration should always be less than Timer
period.
The object is represented on a control panel by showing the time remaining
before the output changes state. It is depicted in the format defined by the
Display format parameter. It is updated approximately once per second.
If the On/Off signal is FALSE, it shows OFF.
The On/off signal is a logical expression while Timer period and Timer
duration are numeric expressions. Normally, these are simple time
constants such as 0:20 (twenty seconds). See Numeric Data Members in
Chapter 2, How LookoutDirect Works, of the Getting Started with
LookoutDirect manual for information on entering time constants.
Chapter 2 System Objects
© Automationdirect.com 2-125 Object Reference Manual
Pulse Data Members
Comments Pulse can be used to periodically open a valve for a specified time
duration. It can also act as a flasher to turn text and graphic signals on and off for
display purposes.
Related Objects DelayOff, DelayOn, Interval, OneShot, TextEntry
Table 2-42. Pulse Data Members
Data Members Type Read Write Description
(implicit) logical yes no Logical timer value
Chapter 2 System Objects
Object Reference Manual 2-126 www.Automationdirect.com
Pushbutton
Pushbutton generates a logical signal for receipt by other objects. A
pushbutton changes state when you position the cursor over it and press the
mouse button, trackball, touchscreen, or space bar. The pushbutton remains
depressed and the output signal remains high until you release the button.
If a Verify on message is defined, the operator must first acknowledge the
message, then the output signal goes high, but only momentarily.
Button text displays the specified text on the pushbutton.
Chapter 2 System Objects
© Automationdirect.com 2-127 Object Reference Manual
Use Verify on to create a dynamic text expression to be displayed in a
message dialog box. See Chapter 6, Security, in the LookoutDirect
Developer’s Manual for more information on security.
Position source determines where the value of the Pushbutton resides.
Local indicates the value of the Pushbutton lies within the Pushbutton
itself—on the control panel. If the pushbutton is not depressed its signal
is OFF, if depressed its signal is ON.
Remote Pushbuttons get their values from a remote source, often the
register in a controller they are connected to. Depressing the pushbutton
changes the status of the register, and changing the status of the register
depresses the pushbutton.
The Remote option calls for a URL to locate the data member you want to
connect to. The URL field is green, and you cannot use a complex
expression as a URL. If you need to use one RadioButton for several
purposes, you can use a Symbolic Link to make a more complex
connection than that possible with a URL.
You can right-click in the URL field and use the URL Editor dialog box
to assemble the URL, in the same way you use the LookoutDirect
expression editor.
A remote position source connection is completely reciprocal. A change in
your LookoutDirect control changes the data member that control is
remoted to. Any change in that data member also changes the control. It is
not necessary, and is incorrect, to use the Edit Connections dialog box to
connect a control object to its controlled data member.
Because the remote connection is reciprocal, you can only make such a
connection to a data member that is either writable, or readable and
writable.
When a process with remoted controls first opens, those controls take their
initial values by following the URL to read the data members they are
remoted to. The control will be covered by a red X to indicate that the
remote connection is not functioning.
Chapter 2 System Objects
Object Reference Manual 2-128 www.Automationdirect.com
Note You should use Remote to connect a control in a client process to a data member in
a server process. Connections inside a single process can be made using Object»Edit
Connections.
Because complex expressions are read-only values, you cannot remote
directly to them. For the same reason, you cannot remote one control to
another control’s (intrinsic) data member (though you can remote a
control to another control’s value data member).
When you select the Remote option, you can choose whether or not the
Pushbutton latches its output. The Latch output check box configures
LookoutDirect for controlling a latching-relay.
When a user clicks on a Pushbutton that has latching selected, the
pushbutton remains depressed, sending an ON signal (TRUE or high) until
the Remote Position signal turns ON. Assume for example that an operator
clicks on MotorStartPb, configured above. The pushbutton remains
pushed in, sending a TRUE signal, until PLC.C101 goes TRUE. As soon
as PLC.C101 goes TRUE, the pushbutton releases.
Much like Remote Pushbuttons, DDE (Dynamic Data Exchange)
Pushbuttons get their values from a remote source. This could be a cell in
a spreadsheet, another DDE aware application, or a second copy of
LookoutDirect running on the network. See Chapter 5, Dynamic Data
Exchange, in the LookoutDirect Developer’s Manual for information on
Service, Topic, and Item parameters.
Control security level specifies the minimum security level operators
must have to gain access to this individual object, and thus control it. See
Chapter 6, Security, in the LookoutDirect Developer’s Manual for more
information on security.
The Log events option creates a permanent audit trail for the object—who
did what and when. Any depression of the Pushbutton is recorded to disk,
including the time the button was depressed, and the operators account
name. See Chapter 7, Logging Data and Events, in the LookoutDirect
Developer’s Manual for more information on logging events.
Chapter 2 System Objects
© Automationdirect.com 2-129 Object Reference Manual
Pushbutton Data Members
Table 2-43. Pushbutton Data Members
Data Members Type Read Write Description
(implicit) logical yes no Value of object (TRUE when button
is depressed)
enable logical no yes If TRUE (the default), enables DDE.
If FALSE, disables DDE. The default
value is on. This input is ignored for
non-DDE TextEntry objects.
reset logical no yes While this value equals TRUE, the
control will be set to the value in
resetvalue.
resetvalue numeric no yes Sets the value a control will take when
the reset data member transitions
from FALSE to TRUE.
Chapter 2 System Objects
Object Reference Manual 2-130 www.Automationdirect.com
value numeric yes yes The current value of the control. If
you have remoted this control, then
value is the current value of the
position source.
visible logical no yes When FALSE, the Pushbutton cannot
be seen on the display panel. When
TRUE, the button can be seen and
controlled.
Table 2-43. Pushbutton Data Members (Continued)
Data Members Type Read Write Description
Chapter 2 System Objects
© Automationdirect.com 2-131 Object Reference Manual
RadioButton
The RadioButton object creates a set of radio buttons on your panel. You
can have from 2 to 40 buttons in a set. Only one button at a time can be
activated in each radio button group.
Set the Buttons (2-40) in each set. You can have as many as 40 buttons in
each group, but you must have at least 2.
Position source determines where the value of the RadioButton resides.
Local indicates the value of the RadioButton lies within the object
itself—on the control panel.
The Remote option tells LookoutDirect to initialize the RadioButton value
from a remote source. Adjusting the RadioButton changes the value in the
register, and changing the value in the register adjusts the RadioButton. In
effect, the RadioButton is tracking a remote value. This is especially useful
when you want to prevent LookoutDirect from changing the value of
setpoints or registers upon initial startup, or reconnection of lost
communication.
The Remote option calls for a URL to locate the data member you want to
connect to. The URL field is green, and you cannot use a complex
expression as a URL. If you need to use one RadioButton for several
purposes, you can use a Symbolic Link to make a more complex
connection than that possible with a URL.
Chapter 2 System Objects
Object Reference Manual 2-132 www.Automationdirect.com
You can right-click in the URL field and use the URL Editor dialog box
to assemble the URL, in the same way you use the LookoutDirect
expression editor.
A remote position source connection is completely reciprocal. A change in
your LookoutDirect control changes the data member that control is
remoted to. Any change in that data member also changes the control. It is
not necessary, and is incorrect, to use the Edit Connections dialog box to
connect a control object to its controlled data member.
Because the remote connection is reciprocal, you can only make such a
connection to a data member that is either writable, or readable and
writable.
When a process with remoted controls first opens, those controls take their
initial values by following the URL to read the data members they are
remoted to. The control will be covered by a red X to indicate that the
remote connection is not functioning.
Note You should use Remote to connect a control in a client process to a data member in
a server process. Connections inside a single process can be made using Object»Edit
Connections.
Because complex expressions are read-only values, you cannot remote
directly to them. For the same reason, you cannot remote one control to
another control’s (intrinsic) data member (though you can remote a
control to another control’s value data member).
Note You cannot break a group of radio buttons into multiple rows.
Enter any text for the buttons in the Button labels field. Separate each
button label with a comma. If you need to include a comma or a backslash
in any button text, precede that character with a backslash(\). If you want
to leave a button blank, you can enter two commas without any text or
numbers between the commas. You do not have to enter a label for every
button. LookoutDirect will leave each button after your last label entry
blank. If you enter more labels than you have set buttons, your labels will
be preserved but not displayed.
To log changes in button state, check the Log Events checkbox.
Security level sets the minimum security level an operator must have to
change the radio buttons.
Chapter 2 System Objects
© Automationdirect.com 2-133 Object Reference Manual
You can use a standard LookoutDirect pushbutton, standardized radio
buttons, or custom graphics for your radio button groups.
Notice that you cannot enter text in the Create Display dialog box. You
must enter any text you intend to use in the RadioButton Definition
Parameters dialog box. You can change font and text size in the Create
Chapter 2 System Objects
Object Reference Manual 2-134 www.Automationdirect.com
Display dialog box. The first text label you entered for your radio button is
displayed in the Preview field so you see the effect of font changes.
The default display uses a standard Radio Button display. You can adjust
text and background color for any of your display choices.
Selecting Standard Pushbutton displays standard on/off buttons in your
radio button array.
Select Customized Button for a free range of choices from the
LookoutDirect graphics library, or create your own ON/OFF indicators for
a radio button array. See the Creating Custom Graphics section of
Chapter 2, Graphics, in the LookoutDirect Developer’s Manual for
detailed information on creating your own graphics for use on a
LookoutDirect control panel.
Set the Orientation of the radio button array to horizontal or vertical by
checking the appropriate checkbox. Set label text Justification and button
Frame style in the appropriate fields.
Related Objects L3Pot, L3Pushbutton, L3Switch, Pot, Pushbutton, Switch
RadioButton Data Members
Table 2-44. RadioButton Data Members
Data Member Type Read Write Description
1-40 logical yes no Reports ON/OFF status of each button in a
radio button set.
current numeric yes no Reports which radio button is active in a set.
(implicit) numeric yes yes Radiobutton value.
value numeric yes yes Number of the currectly active radiobutton.
visible logical yes yes Controls visibility of a radio button set.
Default=TRUE.
Chapter 2 System Objects
© Automationdirect.com 2-135 Object Reference Manual
Recipe
Recipe objects are an efficient means of importing large arrays of data
(namely recipes and their ingredients) into LookoutDirect using an Excel
(.xls) spreadsheet. Once created and implemented, the operator can
easily and quickly change the current recipe with the click of the mouse,
thus selecting a new set of ingredients.
The best way to describe how the Recipe class works is to step through a
typical example, in this case involving cookie manufacture.
There are two steps to creating and implementing a recipe object. First,
you define your recipes with their respective ingredients in a spreadsheet
program such as Excel (anything that creates an .xls file will
work—including Lotus 123). You can define up to 1,000 recipes in a single
.xls file. Each recipe can have up to 255 ingredients. Three cookie recipes
are defined in this spreadsheet.
The first row of the spreadsheet is reserved for ingredient names. They
begin in column B. These ingredient names later become alias data
members of the Recipe object. Therefore, ingredient names must be
unique. They cannot have the same name as a native data member (see
the Recipe Data Member table for data member names). Also, you cannot
name an ingredient missing; this is a reserved word. Valid characters in
Chapter 2 System Objects
Object Reference Manual 2-136 www.Automationdirect.com
an ingredient name include A – Z, 0 – 9, the dollar sign ($), and a period
(.). If you enter Hi_@#!!There as an ingredient name, LookoutDirect
names the alias HiThere. Alias names are case sensitive.
Beginning in Row 2, Column A lists the names of the various recipes.
Recipes follow the same naming convention as ingredients. Each recipe is
followed by its unique ingredient values.
Ingredient values can represent process inputs, parameters, and outputs.
Process inputs typically represent raw materials and other inputs consumed
in the batch process. Examples include the number of eggs consumed,
amount of flour used, amount of energy consumed, possibly even work
hours required or amount of traceable fixed costs consumed.
Another type of ingredient value is a process parameter. Process
parameters identify operational settings such as furnace cooling time, an air
pressure setpoint, or a Low pH alarm limit. Process parameters might also
include identifications of specific equipment to be used during the batch
process.
The third type of ingredient value is a process output. Such an ingredient
value might represent the number of finished cookies expected from the
batch, amount of byproduct expected, or a cost variance calculation based
on the selected recipe.
Ingredient value quantities may be specified as constants or as equations
based on other formula parameters such as batch size.
The second part of defining a recipe involves defining a recipe object in
LookoutDirect.
The first recipe dialog box defines security and event data logging.
Choose recipe security level specifies the minimum security level an
operator must have to be able to select a recipe from all the recipes listed
in the currently selected spreadsheet file.
Chapter 2 System Objects
© Automationdirect.com 2-137 Object Reference Manual
Load recipe file security level specifies the minimum security level an
operator must have to be able to select a different spreadsheet file.
The Log events option creates a permanent audit trail for the object—who
did what and when. Any selection of a different recipe or recipe file is
logged to disk, including the time the action occurred and the operators
account name. See Chapter 7, Logging Data and Events, in the
LookoutDirect Developer’s Manual for more information on logging
events.
After defining security and event data logging, LookoutDirect presents you
with a file selection dialog box.
Select the cookies.xls spreadsheet file because it has the three batch
recipes in it.
Once a file is selected, LookoutDirect presents a list of recipes.
Chapter 2 System Objects
Object Reference Manual 2-138 www.Automationdirect.com
As you can see, the recipe names come from column A of the spreadsheet.
You can use the Previous and Next buttons to identify a recipe from among
the list, or type the name in the data entry field above the list. (This same
dialog box appears later when an operator clicks on the pushbutton
representing this object.) Click on OK to choose the recipe you want to use.
Select the recipe for oatmeal cookies.
The recipe file Load button invokes the file list dialog box, described
previously. Click on this button to select a new .xls file.
Note If the recipe is changed in the spreadsheet, the change is noted in the recipe file
dialog box—but the values currently resident in the object data members remain intact.
The operator must load the spreadsheet again to update the copy of the recipe file in
LookoutDirect. If you select a new .xls file to load but click on the Cancel button, it does
not update! You must select OK for the recipe to actually be loaded.
After loading the spreadsheet, LookoutDirect presents the display
parameters box.