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

DownloadLK4Ref View /  The Manual Lkd Referencem
Open PDF In BrowserView PDF
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.

Lookout Direct
TM

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

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

© Automationdirect.com

i

Developer’s Manual

Contents

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

Develper’s Manual

ii

© Automationdirect.com

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

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

Develper’s Manual

iv

© Automationdirect.com

Contents

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

© Automationdirect.com

v

Developer’s Manual

Contents

Develper’s Manual

vi

© Automationdirect.com

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.

© Automationdirect.comvii

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.

vii

Object Reference Manual

Chapter

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.

Object Reference Manual

viii

www.Automationdirect.com

Introduction to the LookoutDirect
Object Class Reference

1

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.
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.

Note

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.

© Automationdirect.com

1-1

Object Reference Manual

Chapter 1

Introduction to the LookoutDirect Object Class Reference

Object Reference Manual

1-2

www.Automationdirect.com

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.

© Automationdirect.com

2-1

Object Reference Manual

Chapter 2

System Objects

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
Sample

Output

Input

Object Reference Manual

2-2

www.Automationdirect.com

Chapter 2

System Objects

Accumulator Data Members
Table 2-1. Accumulator Data Members

Data Members
(implicit)

Type
numeric

Read

Write

Description

yes

no

Current totalized value, totalized since the
most recent Reset signal. Updated at the
defined Sample rate.

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

© Automationdirect.com

2-3

Object Reference Manual

Chapter 2

System Objects

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.
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.

Note

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

Object Reference Manual

2-4

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-5

Object Reference Manual

Chapter 2

System Objects

Alarm Data Members
.
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.

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.
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.

Note

Object Reference Manual

2-6

www.Automationdirect.com

Chapter 2

System Objects

$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.

© Automationdirect.com

2-7

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-8

www.Automationdirect.com

Chapter 2

System Objects

Table 2-3. $Alarm Data Members (Continued)

Data Member

Type

Read

Write

Description

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.

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.

© Automationdirect.com

2-9

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-10

www.Automationdirect.com

Chapter 2

System Objects

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

© Automationdirect.com

2-11

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-12

www.Automationdirect.com

Chapter 2

System Objects

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.
© Automationdirect.com

2-13

Object Reference Manual

Chapter 2

System Objects

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
Table 2-4. Animator Data Members

Data Member
none

Type

Read

Write

—

—

—

Description
Animator objects do not have 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

Object Reference Manual

2-14

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-15

Object Reference Manual

Chapter 2

System Objects

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

Object Reference Manual

2-16

www.Automationdirect.com

Chapter 2

System Objects

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
Table 2-6. Counter Data Members

Data Member
(implicit)

Type
numeric

Read

Write

yes

no

Description
numeric total of pulse count

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

© Automationdirect.com

2-17

Object Reference Manual

Chapter 2

System Objects

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.
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.
Note

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.

Object Reference Manual

2-18

www.Automationdirect.com

Chapter 2

System Objects

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.
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.

Note

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.

© Automationdirect.com

2-19

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-20

www.Automationdirect.com

Chapter 2

System Objects

Va
i nt
tpo
Se umn
l
Co
lue

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.

Note

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.

© Automationdirect.com

2-21

Object Reference Manual

Chapter 2

System Objects

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.

Site1Pressure
(simulates
PLC1.press)

pump1_1 (simulates PLC1.pmp1)
Site1Flow
(simulates
PLC1.flow)

pump1_2 (simulates PLC1.pmp2)

Setpoint indicator
(operator input)

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.

Object Reference Manual

2-22

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-23

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-24

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-25

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-26

www.Automationdirect.com

Chapter 2

System Objects

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.

Table1.E.logical
Table1.B

Table1.F.logical

Table1 display
(no connection
necessary)

Table1.B

Table1.C

Potentiometer connected to Table1.D
(Column D)

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.

© Automationdirect.com

2-27

Object Reference Manual

Chapter 2

System Objects

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.

This list box gets the row
names from Column A
in the Data Table

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:

Object Reference Manual

•

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.

2-28

www.Automationdirect.com

Chapter 2

•

System Objects

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.

Outputs =

Site2

77.9

460

78

0

1

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 =

Site9

© Automationdirect.com

59.9

550

2-29

62

0

1

Object Reference Manual

Chapter 2

System Objects

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:
Table 2-7. Column Names

cursor
cursor.2

A

B

C

D

E

F

A.txt

B

C

D

E.logical

F.logical

A.txt.2

B.2

C.2

D.2

E.logical.2

F.logical.2

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-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.

Object Reference Manual

2-30

www.Automationdirect.com

Chapter 2

System Objects

Table 2-8. DataTable Data Members (Continued)

Data Members

Type

Read

Write

Description

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.

© Automationdirect.com

2-31

Object Reference Manual

Chapter 2

System Objects

Table 2-8. DataTable Data Members (Continued)

Data Members
A.txt.1 – IV.txt.20

Type
text

Read

Write

Description

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.

Object Reference Manual

2-32

www.Automationdirect.com

Chapter 2

System Objects

Table 2-8. DataTable Data Members (Continued)

Data Members

Type

Read

Write

Description

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.

Related Objects DdeTable, DdeLink

© Automationdirect.com

2-33

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-34

www.Automationdirect.com

Chapter 2

System Objects

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
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.

Related Objects DdeTable, DataTable

© Automationdirect.com

2-35

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-36

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-37

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-38

www.Automationdirect.com

Chapter 2

System Objects

DDETable Data Members
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

Related Objects DataTable, DdeLink

© Automationdirect.com

2-39

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-40

www.Automationdirect.com

Chapter 2

System Objects

DelayOff Data Members
Table 2-11. DelayOff Data Members

Data Member
(implicit)

Type
logical

Read

Write

yes

no

Description
Logical timer value

Comments The DelayOff timer can prevent a pump from short-cycling.
Related Objects DelayOn, Interval, OneShot, Pot, TextEntry

© Automationdirect.com

2-41

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-42

www.Automationdirect.com

Chapter 2

System Objects

DelayOn Data Members
Table 2-12. DelayOn Data Members

Data Member
(implicit)

Type
logical

Read

Write

yes

no

Description
Logical timer value

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

© Automationdirect.com

2-43

Object Reference Manual

Chapter 2

System Objects

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
Object Reference Manual

2-44

www.Automationdirect.com

Chapter 2

System Objects

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
Table 2-13. Derivative Data Members

Data Member
(implicit)

Type
numeric

Read

Write

yes

no

Description
Rate of change

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

© Automationdirect.com

2-45

Object Reference Manual

Chapter 2

System Objects

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.

0°

270°

225°
Default
Starting 180°
Angle

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.

Object Reference Manual

2-46

www.Automationdirect.com

Chapter 2

System Objects

0˚

270˚

270˚

Starting
Angle
180˚

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.

© Automationdirect.com

2-47

Object Reference Manual

Chapter 2

System Objects

30%

DialGauge Data Members
Table 2-14. DialGauge Data Members

Data Members
(implicit)

Type
numeric

Read

Write

yes

no

Description
Current value of signal parameter

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.
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.

Note

Related Objects (expression), Gauge

Object Reference Manual

2-48

www.Automationdirect.com

Chapter 2

System Objects

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
Table 2-15. ElapsedTime Data Members

Data Member
(implicit)

Type
numeric

Read

Write

Description

yes

no

Total elapsed time—updated once per
second, while meter is running

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.

© Automationdirect.com

2-49

Object Reference Manual

Chapter 2

System Objects

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
Table 2-16. Event Data Members

Data Member
none

Type

Read

Write

—

—

—

Description
Event objects do not have 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.

Object Reference Manual

2-50

www.Automationdirect.com

Chapter 2

System Objects

(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.

You typically use (expression) objects when you need to define a unique condition
that is used multiple times throughout your application.

Note

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.

© Automationdirect.com

2-51

Object Reference Manual

Chapter 2

System Objects

Note

The expression may not express a condition.
Table 2-17. Expression Data Members

Data Member
(implicit)

Object Reference Manual

Type
numeric,
logical,
or text

Read

Write

Description

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.

2-52

www.Automationdirect.com

Chapter 2

System Objects

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
Table 2-18. Flipflop Data Member

Data Member
(implicit)

Type
logical

Read

Write

yes

no

Description
Current state

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

© Automationdirect.com

2-53

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-54

www.Automationdirect.com

Chapter 2

System Objects

Gauge Data Members
Table 2-19. Gauge Data Members

Data Member
(implicit)

Type
numeric

Read

Write

yes

no

Description
Numeric value of Gauge

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.

© Automationdirect.com

2-55

Object Reference Manual

Chapter 2

System Objects

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.
There has been an important change in the way LookoutDirect logs data to the
Citadel database to be displayed on the HyperTrend object.

Note

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).

Object Reference Manual

2-56

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-57

Object Reference Manual

Chapter 2

System Objects

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).

Note

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.

Object Reference Manual

2-58

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-59

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-60

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-61

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-62

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-63

Object Reference Manual

Chapter 2

System Objects

Table 2-20. HyperTrend Data Members (Continued)

Data Members

Type

Read

Write

Description

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.

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.

Object Reference Manual

2-64

www.Automationdirect.com

Chapter 2

System Objects

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.
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.

Note

© Automationdirect.com

2-65

Object Reference Manual

Chapter 2

System Objects

Integral Data Members
Table 2-21. Integral Data Members

Data Member
(implicit)

Type
numeric

Read

Write

yes

no

Description
Totalized value

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

Object Reference Manual

2-66

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-67

Object Reference Manual

Chapter 2

System Objects

Interval Data Members
Table 2-22. Interval Data Members

Data Member
(implicit)

Type
logical

Read

Write

yes

no

Description
Logical timer value

Comments The Interval timer can be used to enforce a maximum run time for a pump.
Related Objects DelayOff, DelayOn, OneShot, Pot, TextEntry

Object Reference Manual

2-68

www.Automationdirect.com

Chapter 2

System Objects

$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

© Automationdirect.com

2-69

Object Reference Manual

Chapter 2

System Objects

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.
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.

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.

Object Reference Manual

2-70

www.Automationdirect.com

Chapter 2

System Objects

Related Objects L3Pushbutton, Pushbutton

© Automationdirect.com

2-71

Object Reference Manual

Chapter 2

System Objects

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

Object Reference Manual

2-72

www.Automationdirect.com

Chapter 2

System Objects

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.

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.

Note

© Automationdirect.com

2-73

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-74

www.Automationdirect.com

Chapter 2

System Objects

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,

Note

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.

© Automationdirect.com

2-75

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-76

www.Automationdirect.com

Chapter 2

System Objects

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,

© Automationdirect.com

2-77

Object Reference Manual

Chapter 2

System Objects

including the time the button was depressed, and the operator’s 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.

Object Reference Manual

2-78

www.Automationdirect.com

Chapter 2

System Objects

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

© Automationdirect.com

2-79

Object Reference Manual

Chapter 2

System Objects

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 operator’s 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.

Object Reference Manual

2-80

www.Automationdirect.com

Chapter 2

System Objects

L3Switch Data Members
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.

Comments If a switch with more than two positions is needed, use a Radiobutton

object instead.
Related Objects L3Pushbutton, L3Pot, Pushbutton, Pot

© Automationdirect.com

2-81

Object Reference Manual

Chapter 2

System Objects

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

Object Reference Manual

2-82

www.Automationdirect.com

Chapter 2

System Objects

network. See Chapter 5, Dynamic Data Exchange, in the LookoutDirect
Developer’s Manual for more detailed information on Service, Topic and
Item.
The last DDE parameters used on any object automatically become the default
values for any new DDE object.

Note

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 operator’s 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.

© Automationdirect.com

2-83

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-84

www.Automationdirect.com

Chapter 2

System Objects

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
Table 2-28. LatchGate Data Members

Data Member
(implicit)

Type
logical

Read

Write

yes

no

Description
Logical output signal value

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

© Automationdirect.com

2-85

Object Reference Manual

Chapter 2

System Objects

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

Object Reference Manual

2-86

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-87

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-88

www.Automationdirect.com

Chapter 2

System Objects

Table 2-29. Loader Data Members

Data Member

Type

Read

Write

Description

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.

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.

© Automationdirect.com

2-89

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-90

www.Automationdirect.com

Chapter 2

System Objects

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.

Maximum does not have a display parameters dialog box. However, you can easily
display Maximum by referencing it in an expression.

Note

Maximum Data Members
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.

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

© Automationdirect.com

2-91

Object Reference Manual

Chapter 2

System Objects

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.
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.

Note

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.

Object Reference Manual

2-92

www.Automationdirect.com

Chapter 2

System Objects

Meter Data Members
Table 2-31. Maximum Data Members

Data Members
(implicit)

© Automationdirect.com

Type
numeric

Read

Write

yes

no

2-93

Description
Current value of signal parameter

Object Reference Manual

Chapter 2

System Objects

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.

Minimum does not have a display parameters dialog box. You can easily display the
Minimum value referencing it an expression.

Note

Object Reference Manual

2-94

www.Automationdirect.com

Chapter 2

System Objects

Minimum Data Members
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.

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

© Automationdirect.com

2-95

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-96

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-97

Object Reference Manual

Chapter 2

System Objects

Multistate Data Members
Table 2-34. Multistate Data Members

Data members
none

Type

Read

Write

—

—

—

Description
Multistate objects do not have 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

Object Reference Manual

2-98

www.Automationdirect.com

Chapter 2

System Objects

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.
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.

Note

© Automationdirect.com

2-99

Object Reference Manual

Chapter 2

System Objects

Neutralzone Data Members
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

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.

Object Reference Manual

2-100

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-101

Object Reference Manual

Chapter 2

System Objects

OneShot Data Members
Table 2-36. OneShot Data Members

Data Member
(implicit)

Type
logical

Read

Write

yes

no

Description
Logical timer value

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

Object Reference Manual

2-102

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-103

Object Reference Manual

Chapter 2

System Objects

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

Object Reference Manual

2-104

www.Automationdirect.com

Chapter 2

System Objects

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.
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.

Note

© Automationdirect.com

2-105

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-106

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-107

Object Reference Manual

Chapter 2

System Objects

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.
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.

Note

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.

Object Reference Manual

2-108

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-109

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-110

www.Automationdirect.com

Chapter 2

System Objects

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

Panel2

Panel3

Panel3

Panel1
F1

© Automationdirect.com

F2

2-111

F1

F2

F1

F2

Object Reference Manual

Chapter 2

System Objects

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 
(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.
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

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

Object Reference Manual

2-112

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-113

Object Reference Manual

Chapter 2

System Objects

Panel Data Members
Table 2-38. Panel Data Members

Data Members

Type

Read

Write

Description



logical

yes

no

Each of these 24 data members
represent a function key, —when pressed in conjunction
with the  key. Returns TRUE
when the panel is active and its
associated function key is pressed in
conjunction with the  key.



logical

yes

no

Each of these 24 data members
represent a function key, . Returns TRUE when the
panel is active and its associated
function key is pressed.

 through


logical

yes

no

Each of these 24 data members
represent a function key, —when pressed in conjunction
with the  key. Returns
TRUE when the panel is active and its
associated function key is pressed in
conjunction with the  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.

Object Reference Manual

2-114

www.Automationdirect.com

Chapter 2

System Objects

Table 2-38. Panel Data Members (Continued)

Data Members

Type

Read

Write

Description

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.

© Automationdirect.com

2-115

Object Reference Manual

Chapter 2

System Objects

Object Reference Manual

2-116

www.Automationdirect.com

Chapter 2

System Objects

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
Table 2-39. Pipe Data Members

Data Members
none

Type

Read

Write

—

—

—

Description
Pipe does not have 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.

© Automationdirect.com

2-117

Object Reference Manual

Chapter 2

System Objects

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
Table 2-40. Playwave Data Members

Data Members
none

Type

Read

Write

—

—

—

Description
Playwave does not have any 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.

Object Reference Manual

2-118

www.Automationdirect.com

Chapter 2

System Objects

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,

© Automationdirect.com

2-119

Object Reference Manual

Chapter 2

System Objects

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.
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.

Note

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.

Object Reference Manual

2-120

www.Automationdirect.com

Chapter 2

System Objects

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.

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.

Note

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.

© Automationdirect.com

2-121

Object Reference Manual

Chapter 2

System Objects

Table 2-41. Pot Data Members (Continued)

Data Member
enterValue

Type
logical

Read

Write

Description

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.

Object Reference Manual

2-122

www.Automationdirect.com

Chapter 2

System Objects

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.

Note

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.

© Automationdirect.com

2-123

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-124

www.Automationdirect.com

Chapter 2

System Objects

Pulse Data Members
Table 2-42. Pulse Data Members

Data Members
(implicit)

Type
logical

Read

Write

yes

no

Description
Logical timer value

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

© Automationdirect.com

2-125

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-126

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-127

Object Reference Manual

Chapter 2

System Objects

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.

Note

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 operator’s account
name. See Chapter 7, Logging Data and Events, in the LookoutDirect
Developer’s Manual for more information on logging events.

Object Reference Manual

2-128

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-129

Object Reference Manual

Chapter 2

System Objects

Table 2-43. Pushbutton Data Members (Continued)

Data Members

Type

Read

Write

Description

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.

Object Reference Manual

2-130

www.Automationdirect.com

Chapter 2

System Objects

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.

© Automationdirect.com

2-131

Object Reference Manual

Chapter 2

System Objects

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.
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.

Note

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.

Object Reference Manual

2-132

www.Automationdirect.com

Chapter 2

System Objects

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

© Automationdirect.com

2-133

Object Reference Manual

Chapter 2

System Objects

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.

Object Reference Manual

2-134

www.Automationdirect.com

Chapter 2

System Objects

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

© Automationdirect.com

2-135

Object Reference Manual

Chapter 2

System Objects

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.
Object Reference Manual

2-136

www.Automationdirect.com

Chapter 2

System Objects

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 operator’s
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.

© Automationdirect.com

2-137

Object Reference Manual

Chapter 2

System Objects

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.
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.
Note

After loading the spreadsheet, LookoutDirect presents the display
parameters box.

Object Reference Manual

2-138

www.Automationdirect.com

Chapter 2

System Objects

After you choose the object display parameters, you can paste it into the
panel.
When you select a new recipe, LookoutDirect writes the ingredient values
for the selected recipe into the corresponding data members of the object.
The actual number of data members that a recipe object has is based on the
number of ingredients within it. This is best demonstrated by looking at the
Insert Expression dialog box.

© Automationdirect.com

2-139

Object Reference Manual

Chapter 2

System Objects

Notice that there are four data members for each defined ingredient. Actual
data member names vary from object to object, depending upon your recipe
ingredients. However, the four readable data member types for each
ingredient are consistent.

Recipe Data Members
Table 2-45. Recipe Data Members

Data Member

Type

Read

Write

Description

(implicit)

text

yes

no

Name of currently selected recipe

B – IV

numeric

yes

no

Each letter, B through IV, represents a
column in the spreadsheet. The value
of the data member is the numeric
amount of the ingredient for the
currently selected recipe.

Object Reference Manual

2-140

www.Automationdirect.com

Chapter 2

System Objects

Table 2-45. Recipe Data Members (Continued)

Data Member

Type

Read

Write

Description

B.logical through
IV.logical

logical

yes

no

Each letter, B through IV represents a
column in the spreadsheet. Returns
TRUE (ON) if the amount of the
ingredient in the spreadsheet cell for
the selected recipe is greater than
zero. Returns FALSE if the specified
amount for the ingredient is zero.

B.txt – IV.txt

text

yes

no

Each letter, B through IV represents a
column in the spreadsheet. The value
of the data member is the textual
amount of the ingredient for the
currently selected recipe.

B.unavail through
IV.unavail

logical

yes

no

Each letter, B through IV represents a
column in the spreadsheet. Returns
TRUE if the spreadsheet cell is
empty. Returns FALSE if the cell
contains data.

pick1 through pick1000

logical

no

yes

Upon transition from FALSE to
TRUE, chooses the respective recipe
within the spreadsheet. When used
with pushbutton objects, these data
members can eliminate the need for
operators to use the recipe list dialog
box.

Comments The recipe object reads a block of continuous columns. Therefore, the

ingredient names should be a contiguous list in Row 1. If a recipe does not use a
particular ingredient, just leave the respective cell blank.
When LookoutDirect encounters a blank cell in Column A, it ignores the
entire row. Thus, you can easily annotate your recipes by leaving a cell in
Column A blank and adding text to the cell in Column B of the same row.

© Automationdirect.com

2-141

Object Reference Manual

Chapter 2

System Objects

Run
You can use Run objects to start an external program file from within
LookoutDirect. When the result of the Run when logical expression goes
TRUE, the object executes the Command line.

In this example, LookoutDirect runs an Excel macro called REPORT1.XLM
when the logical value returned by Timer1 goes TRUE. Timer1 is a
TimeofDay object that triggers the report to run every day at 8:00 a.m.
The Command line text expression must be enclosed in quotation marks
as shown. Notice that the example includes the full path name of the
executable file. Ensure that your command line meets DOS syntax
requirements. Because this is an expression data field, the command could
be the result of a text expression.
Passing arguments in the Run Object in LookoutDirect requires proper use
of double quotes depending on how many arguments you are passing and
whether or not those arguments have spaces in the path.
If your argument has no spaces in the path, you need only insert double
quotes before and after the argument.
If your argument has spaces in the path, you must insert two double quotes
at the beginning and the end of that argument to define it as a single
argument. These two double quotes are in addition to the double quotes you
must use in passing any argument.
For example, when passing a single argument the following examples
demonstrate the correct use of double quotes (spaces are exaggerated for
effect):
"""c:\my excel\autoexec.xls"""
"c:\excel\excel.exe"

Object Reference Manual

2-142

www.Automationdirect.com

Chapter 2

System Objects

When passing two or more arguments, you follow the same rules for each
argument, as illustrated in the following examples:
"""c:\program files\msoffice\excel\excel.exe"" c:\autoexec.xls"
"""c:\program files\excel\excel.exe"" ""c:\my excel\autoexec.xls"""
"c:\excel\excel.exe c:\working\autoexec.xls"

You can specify how an application presents itself when you activate it
with the Start program selections. If you select Normal, the application
window appears in front of the open LookoutDirect window when it is
activated. If you want to reduce the application to an icon each time you
start it, select Iconic. If you select Maximized, the application window
replaces the LookoutDirect window on the screen. (LookoutDirect is still
running; you just cannot see it. Press  to switch between
applications.)
Table 2-46. Run Data Members

Data Member
none

Type

Read

Write

Description

—

—

—

Run does not have any data members

Comments If the application does not automatically shut down, multiple instances of

the program may be running because of previous starts. Over time, this can snowball
to the point where Windows performance is severely hampered.
If you want to execute DOS commands from within LookoutDirect, put the
commands in a DOS batch file (.bat) and then identify the batch file in the
Command Line.

© Automationdirect.com

2-143

Object Reference Manual

Chapter 2

System Objects

Sample
The Sample object samples and holds data. Any time the Sample
expression transitions from OFF to ON and the Enable expression is
TRUE, the Sample object samples and stores a Data expression. Sample
maintains an array of up to 35 previous samples. If Enable is left blank it
is assumed to be TRUE. Data is a numeric expression while Sample and
Enable are logical.

Sample does not have a display parameters dialog box. You can display the result
of a Sample output signal by using its data member in an expression.

Note

Sample Data Members
Table 2-47. Sample Data Members

Data Member

Type

Read

Write

Description

(implicit)

numeric

yes

no

Current Data value—tracks Data
input value.

1 – 35

numeric

yes

no

Previous samples. Signal 1 is the most
recent sample since Sample went
high. If you display Sample, you
display the current and active value
for the object—that is, the (implicit)
value. If you display Sample.1, you
display the least complete value.

DataReset

logical

no

yes

Upon transition from FALSE to
TRUE, resets to zero all data
members—including the current
value and all previous samples.

Object Reference Manual

2-144

www.Automationdirect.com

Chapter 2

System Objects

Comments The Reset expression can be a regular pulse interval created by a
TimeOfxxxx timer. For example, if you want to sample the temperature every hour of
the day, use the output signal from a TimeOfHour timer in the Reset expression to
sample the temperature at the beginning of each hour.
Related Objects Average, Maximum, Minimum, SampleText

© Automationdirect.com

2-145

Object Reference Manual

Chapter 2

System Objects

SampleText
SampleText samples and stores the result of the Data expression any time
the Sample expression transitions from OFF to ON and the Enable
expression is TRUE. SampleText maintains an array of up to 35 previous
samples. If Enable is left blank it is assumed to be TRUE.

Data is a text expression while Sample and Enable are logical expressions.
SampleText does not have a display parameters dialog box. You can display the
result of a Sample object output signal by using its data member in an expression.

Note

SampleText Data Members
Table 2-48. SampleText Data Members

Data Member

Type

Read

Write

Description

(implicit)

text

yes

no

Current Data value. Tracks Data
input value.

1 – 35

text

yes

no

Previous samples. Signal 1 is the most
recent sample since Sample went
high.

DataReset

logical

no

yes

Upon transition from FALSE to
TRUE, resets all data
members—including the current
value and all previous samples.

Related Objects Sample, L3TextEntry, TextEntry

Object Reference Manual

2-146

www.Automationdirect.com

Chapter 2

System Objects

Scale
You can use the Scale object to create dynamic scales—that is, scales
whose ranges and divisions can change based on numeric parameter
expressions.
If you want to create a simple scale that does not change dynamically (which is
normally the case), use the Insert»Scale command.

Note

Absolute Minimum and Absolute Maximum are numeric constants.
They define the fullest possible range that the scale can show. These values
act as clamps, restricting Minimum and Maximum.
Minimum and Maximum are numeric expressions you can use to change
the minimum and maximum values on the scale. In the preceding example,
the highest value of the scale (Maximum) is 400 if Pot1 is less than 400,
1600 if Pot1 is greater than 1600 (because of the Absolute Maximum), or
equal to the value of Pot1.
Major unit specifies the number of units between major tick marks. Minor
unit specifies the number of units between minor tick marks.
When you click on OK, the Display Scale dialog box appears.

© Automationdirect.com

2-147

Object Reference Manual

Chapter 2

System Objects

Specify Orientation, Color, Label format, and Label font as you choose.
You can remove minor tick marks by deselecting the Minor tick marks
check box and you can remove label numbers from your scale altogether by
deselecting the Labels check box. (Only major units have numeric labels.)

Scale Data Members
Table 2-49. Scale Data Members

Data Member
visible

Type
logical

Read

Write

no

yes

Description
When TRUE, the Scale becomes
visible on the control panel. When
FALSE, it is invisible. The default
value is TRUE.

Comments Many people use this object class in conjunction with HyperTrends that

are configured for a variable Y axis. They configure the Minimum and Maximum
parameters of the Scale object to follow the same values as the Max and Min data
members of the HyperTrend Object.

Object Reference Manual

2-148

www.Automationdirect.com

Chapter 2

System Objects

Sequencer
The Sequencer object is a method for cycling through a collection of up to
100 differently configured ON/OFF states for your process.
Each Sequencer state has 26 logical outputs. Outputs left blank are
considered OFF.
You set each output to ON or OFF for each state. You can also create jumps
to skip from one state to another, or activate immediate jumps to a
designated state.

The States field activates the states you want in your sequence loop. If you
set States to 5, the sequence object will pass through states 1 through 5 and
then return to state 1 to repeat the cycle.
Notice that unused states can still be configured. In this way you can
preconfigure special states, create subroutines, and so on. See the
Programming the Sequencer section for further information on using this
object.
Use Label to label each state.
The Time Limit parameter determines how long the Sequencer holds each
state. If you leave this parameter blank, the Sequencer halts on that state
until a Goto or Jump is activated, or the Time Limit parameter is changed.
When you set the Time Limit expression to reference a LookoutDirect control, you
must make sure the output of that control is either in HH:MM:SS format, or in days.

Note

© Automationdirect.com

2-149

Object Reference Manual

Chapter 2

System Objects

Outputs are the ON/OFF settings for each state.

Programming the Sequencer
Left unmodified, the Sequencer cycles through the states selected in the
States field of the Sequencer parameter configuration dialog box,
beginning with state 1. If you enter 4 in the States field, the Sequencer will
cycle through states 1—4 continuously, spending the amount of time in
each state set by the Time limit.
Use the Goto data members to jump to a given state of the Sequencer
immediately. Use the Jump data member to skip automatically from one
state to a target state.
There is a tiny lag in state transition when you use the Jump data member.
For instance, if you have a sequence cycling through states 1—8, and under
some circumstances you want to skip states 5 and 6, moving directly from
state 4 to state 7, set the jump5.7 data member to TRUE. When the
Sequencer reaches the end of the state 4 Time limit, it switches to state 5,
and then immediately jumps to state 7. State 5 will be active for a brief
period (about 10 ms), however, which you should take into account in
designing your sequences.
You can use sequential jumps if you choose. When you activate a jump
from state 1 to state 5, for example, and also a jump from state 5 to state 9,
the Sequencer skips from state 1 to state 9 with a 10 ms delay at state 5.
If you use a Jump or Goto data member to activate a state outside the
number you selected in your States field, the Sequencer will continue to
cycle through any states following the target state, until it either reaches a
state with no set Time limit, or state 100.
If the Sequencer reaches a state with no set Time limit, it remains in that
state until a Goto or Jump is activated, or until the Time Limit parameter
is changed.
If the Sequencer reaches state 100, and if state 100 has a Time Limit set,
the Sequencer cycles to state 1 at the end of that time, resuming its cycle
inside the states defined by the States parameter.
If you use a Goto or Jump data member to activate a state outside the
ordinary cycle of a Sequencer object, you must use the Jump or Goto data
members to return the sequence to its automatic cycle.

Object Reference Manual

2-150

www.Automationdirect.com

Chapter 2

System Objects

Sequencer Data Members
See the Programming the Sequencer section for detailed information on
using Sequencer data members.
Table 2-50. Sequencer Data Members

Data Member

Type

Read

Write

Description

A–Z

logical

yes

no

Sequencer outputs

Goto1 – Goto100

logical

no

yes

When activated, forces Sequencer to go
to the indicated state

Jump1.1 –
Jump100.100

logical

no

yes

When activated, jumps from the state
indicated by the first number to the state
indicated by the second number

StateName

text

yes

no

Reports the currently active state name
(Label)

StateNumber

text

yes

no

Reports the sequence number (State
No.) of the current state

Time

numeric

yes

no

Reports the current length of time the
Sequencer has been in the current state

TimeLimit

numeric

yes

no

Reports the length of time set for the
Sequencer to hold the current state

© Automationdirect.com

2-151

Object Reference Manual

Chapter 2

System Objects

Spinner
Spinner is a small, rotating disk. Its rotation speed can be variable, to
represent the magnitude of a numeric Signal, or its rotation can be turned
on or off based on the logical signal, Spin.

Logical (on/off) and Numeric choose whether the spinner responds to a
logical signal or a numeric signal. Choose Logical if you want to be able
to turn the spinner on and off. Choose Numeric if you want the speed and
direction of the spinner to change depending on a numeric variable.
Spin is a logical expression. When the result of the logical expression is
TRUE, the spinner rotates at the rate defined by the Speed when spinning
(%) field. Speed when spinning (%) is a numeric constant, ranging from
–100 to 100.
Connecting the spinner to a positive value rotates the spinner in a
counterclockwise direction. A negative value rotates the spinner in a
clockwise direction.
Signal is a numeric expression. The result of this expression dictates the
spin speed based on the linear range defined by Signal value at 0% speed
and Signal value at 100% speed.
Table 2-51. Spinner Data Members

Data Members
none

Object Reference Manual

Type

Read

Write

—

—

—

2-152

Description
Spinner does not have any data
members

www.Automationdirect.com

Chapter 2

System Objects

Comments Spinners are typically used to represent flow through a line or to show a

motor running.

© Automationdirect.com

2-153

Object Reference Manual

Chapter 2

System Objects

Spreadsheet
Spreadsheet permanently stores data to disk in spreadsheet files. You can
log data on even and uneven intervals, when a data value changes, when
an event occurs, or when any one of these things happen. Hence, you can
implement complex logging criteria to meet almost any data storage need.
After each log, a new row is automatically added to the spreadsheet file.
LookoutDirect can log a new row of data approximately 10 times per
second; however, the time stamps associated with each row are rounded to
the nearest second.
Each spreadsheet file may store any number of data signals. Each data
signal is assigned a spreadsheet column, beginning with column number
two. The first column contains the date and time. The first row contains the
expressions associated with the data in each column. You may create any
number of Spreadsheet objects for a given process.

Name is the filename used to create a spreadsheet file. LookoutDirect
assigns a DOS filename to each spreadsheet file by adding the Type
extension to the Name. Currently, LookoutDirect supports only one Type:
comma separated value format (.csv). Most database and spreadsheet
programs including Microsoft Excel directly read the .csv file format.

Object Reference Manual

2-154

www.Automationdirect.com

Chapter 2

System Objects

Because the Name parameter is a text expression field, you can create new
.csv files with unique names dynamically. This is especially useful for
recording batch processing data. The definition dialog box Figure is
configured so that an operator can enter a batch name using a TextEntry
object before the batch is started. The text expression appends the filename
to the specified path, C:\BATLOG\. So if the operator enters a file name
like BATCH71, then the full path name would be
C:\BATLOG\BATCH71.CSV. When the BatchRun logical signal goes
TRUE, LookoutDirect creates the new .csv file and begins writing to it.
When BatchRun goes FALSE, logging ends, leaving a comprehensive log
of all data associated with the batch.
This example forces LookoutDirect to store the .csv file in a
particular directory because it specifies a full path name. If you
enter a relative pathname like "\BATLOG\"&TextEntry1, the file is
located in that subdirectory of the identified Directory tree location.
So, for example, the full path name of the file might be
C:\LOOKOUT\1995\SEP\BATLOG\BATCH71.CSV.
If you enter just a filename such as "DATA", the file location is based on the
LookoutDirect directory. For example, the full path name of the file might
be C:\LOOKOUT\1995\SEP\DATA.CSV.
If you select Daily, LookoutDirect creates a new file and subdirectory
every day in which to store the data. If you select Monthly, LookoutDirect
creates a new file and subdirectory every month in which to store the data.
If you select Yearly, LookoutDirect creates a new file and subdirectory
every year. Perpetual files are stored in the root directory as specified by
your Data files location parameter.

© Automationdirect.com

2-155

Object Reference Manual

Chapter 2

System Objects

The following examples are the DOS filenames and directory trees created
by LookoutDirect for a spreadsheet file named, DATA.
Daily

Yearly

c:\lookout\1993\sep\09\data.csv

c:\lookout\1993\data.csv

c:\lookout\1993

\sep\10\data.csv

c:\lookout

\1994\data.csv

c:\lookout\1993

\sep\11\data.csv

c:\lookout

\1995\data.csv

Monthly
c:\lookout\1993\sep\data.csv

c:\lookout\1993

\oct\data.csv

c:\lookout\1993

\nov\data.csv

Perpetual
c:\lookout\data.csv

The Mechanisms to trigger data logging are a set of tools used to create
a simple or complex logging scheme, as desired. Use these parameters to
log data based on a timer, event, or any combination of the two. When the
spreadsheet is triggered, all data in the Data fields is logged to disk.
Interval is a numeric expression used to create a Pulse timer with a pulse
period of the specified time period and a pulse duration of zero. Normally
this is a time formatted constant value such as 15:00 (fifteen minutes),
for example.
Logging is a logical expression that turns the Interval parameter on and
off. It could be a switch on a control panel, a logical input from an external
device, or a more complex expression. Normally this is a constant value,
ON or OFF.
Log now is a logical expression. When Log now transitions from OFF to
ON, LookoutDirect logs the data. A transition from ON to OFF has no
effect. This expression could be a pushbutton on a control panel, a logical
signal from a device, or a more complex expression.
The Log on every data change option should be used with care. When
turned on, it triggers the logging of data any time any one of the data fields
experiences a change. This is normally used to log the starting and stopping
of pumps, opening and closing of valves, or other similar events. If your
data fields contain even a single analog value that changes often, you could
end up triggering the logger thousands of times. Or if they contain a logical
value that changes frequently, you could have the same problem.

Object Reference Manual

2-156

www.Automationdirect.com

Chapter 2

System Objects

The Data fields window lists all expressions that have been entered for
logging in the order of their field number.
The Save button saves your new or modified expression in the Data fields
window along with a new field number if any. Normally, Data fields
contain simple expressions like PLC1.Tanklevel.
The Delete button deletes the currently selected expression from the data
fields list.
The Format option specifies the numeric format assigned to the currently
selected numeric expression when it is logged to disk. This has no effect on
logical or text expressions.
Field indicates the number of the currently selected data field.
Field numbers should not be modified after data has been stored or the data will not
appear under correct headers until a new file is created.

Note

Spreadsheet Data Members
Table 2-52. Spreadsheet Data Members

Data Members
logged

© Automationdirect.com

Type
logical

Read

Write

Description

yes

no

Spreadsheet file update pulse. The
Spreadsheet object generates this
logical pulse with a pulse duration of
zero after each successful log.

2-157

Object Reference Manual

Chapter 2

System Objects

Switch
Switch 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.
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.

Object Reference Manual

2-158

www.Automationdirect.com

Chapter 2

System Objects

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.
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.

Note

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 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 operator’s 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.

© Automationdirect.com

2-159

Object Reference Manual

Chapter 2

System Objects

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.

Switch Data Members
Table 2-53. Switch Data Members

Data Members

Type

Read

Write

Description

(implicit)

logical

yes

no

Switch 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 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.

Object Reference Manual

2-160

www.Automationdirect.com

Chapter 2

System Objects

Table 2-53. Switch Data Members (Continued)

Data Members

Type

Read

Write

Description

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 switch object
cannot be seen on the display panel.
When TRUE, the Switch can be seen
and controlled.

Comments If a switch with more than two positions is needed, use a Pot object

instead.
Related Objects Pushbutton, Pot

© Automationdirect.com

2-161

Object Reference Manual

Chapter 2

System Objects

Symbolic Links
A Symbolic Link is a LookoutDirect object you use to make certain kinds
of remote connections easier and more efficient. This object can also be
used to manage failover redundancy in LookoutDirect 4. (Redundancy is
not implemented in the LookoutDirect 4 Preview.)
The Symbolic Link serves as a flexible intermediary between separate
processes whether they are running on one computer or on different
computers.
Create a Symbolic Link using the LookoutDirect object browser.
Right-click on the process or folder into which you want to insert the new
Symbolic Link. The following dialog box appears.

The Symbolic Link can represent either a static or a dynamic source. The
Static source is a URL pointing to a computer, process, folder, or object
running in some instance of LookoutDirect on your network. A typical
Symbolic Link set to a process appears in the following illustration.

Object Reference Manual

2-162

www.Automationdirect.com

Chapter 2

System Objects

As you can see, all the objects in the Server_1 process are represented in
the Symbolic Link [Link_to_Server1]. You can drag and drop any of
the objects or data members onto a panel in the process containing the
Symbolic Link, where they will appear as expressions.
The Dynamic source must always be an expression that evaluates as a text
string. When you select this option, you can use text strings and text
variables to prepare the Symbolic Link to be used by a control for remote
connections that cannot be made directly.
For example, you cannot use a complex expression in a Pot control remote
source URL. You can, however, construct a complex expression as the
dynamic source in a Symbolic Link, and then set the URL to connect to that
Symbolic Link.
For instance, the following expression evaluates as two different URLs
depending on the position of Switch1 (line breaks inserted for clarity).
tif(Switch1,
"\\.\server_1\Server_1_Waveform1.sinewave",
"\\.\Server2\Server2_Waveform.sinewave")

If you connect a HyperTrend item to the Symbolic Link containing this
dynamic source, changing the switch changes which server provides the
wave form being plotted on the HyperTrend graph.
As another example, because LookoutDirect data is now polymorphic, you
can construct strings using both text and numeric inputs.

© Automationdirect.com

2-163

Object Reference Manual

Chapter 2

System Objects

For example, if you create Pot1 with a minimum of 0, a maximum of 9,
and an interval of 1, you can use the expression
"Modbus1.4001" & Pot1

as the entry for the Dynamic option in a Symbolic Link.
You can then use the Symbolic Link to connect a control to Modbus data
members 40010-40019, depending on the setting of Pot1.
While you could not directly remote your control to that range of Modbus
data members, you can make a remote connection from that control to the
Symbolic Link using that dynamic expression.
If you connect the Dynamic expression to a data table, you have a nearly
unlimited ability to have one object control a large number of data
members, either through a cursor control or a radio button control.

Object Reference Manual

2-164

www.Automationdirect.com

Chapter 2

System Objects

$System
$System is a global object. It makes global LookoutDirect data such as the
currently logged in user name and security level available for use in your
process. You can use $System data members just like other object data
members.
The seclevel data member is always an integer value between 1 and 10.
This number represents the LookoutDirect security level of the user
currently logged in. For more information about LookoutDirect security
levels, see Chapter 6, Security, in the LookoutDirect Developer’s Manual.
The time data member represents the current date and time of the system.
Like all time values in LookoutDirect, this is a floating point number in
which the integer represents the date and the fraction represents the time of
day. You can use the various LookoutDirect date and time numeric formats
to view this value in the most convenient format. This data member updates
itself every minute, on the minute. It also updates itself immediately after
it is created or when its process is opened.
The username data member is the account name of the user currently
logged in. For more information about LookoutDirect security accounts,
see Chapter 6, Security, in the LookoutDirect Developer’s Manual.

$System Data Members
Table 2-54. $System Data Members

Data Member

Type

Read

Write

Description

NetworkStatus

text

yes

no

Reports the status of the last network
transaction of your computer. You
may need to use this data member in
conjunction with a Sample object to
keep track of high levels of network
activity with many I/O points.

seclevel

numeric

yes

no

Security level of the user currently
logged in

time

numeric

yes

no

Current operating system time

username

text

yes

no

Name of the user currently logged in

© Automationdirect.com

2-165

Object Reference Manual

Chapter 2

System Objects

TextEntry
With TextEntry 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.
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.

Object Reference Manual

2-166

www.Automationdirect.com

Chapter 2

System Objects

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.
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.

Note

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 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
network. See Chapter 5, Dynamic Data Exchange, in the LookoutDirect
Developer’s Manual for more detailed information on Service, Topic and
Item.
The last DDE parameters used on any object automatically become the default
values for any new DDE object.

Note

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 operator’s account

© Automationdirect.com

2-167

Object Reference Manual

Chapter 2

System Objects

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.

TextEntry Data Members
Table 2-55. TextEntry 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.

reset

logical

no

yes

While this value equals TRUE, the
control will be set to the value in
resetvalue.

Object Reference Manual

2-168

www.Automationdirect.com

Chapter 2

System Objects

Table 2-55. TextEntry Data Members

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.

© Automationdirect.com

2-169

Object Reference Manual

Chapter 2

System Objects

TimeOfxxxx
TimeOfxxxx are timers that generate a periodic pulse of a specified
duration. The timers are turned on and off by On/off signal. The time
period is defined by the type of timer used—a TimeOfMinute timer has a
one-minute period, a TimeOfYear timer has a one-year time period, and so
on. The output of these timers goes high after the specified Timer offset
has elapsed in the current period and remains high for the specified Timer
duration.

The Timer offset and Timer duration can range from 0.0 seconds to a
year, and the effective resolution is 0.01 seconds over the entire range. The
Timer offset plus the Timer duration should always be less than or equal
to the time period.
The object display shows the time remaining before the output changes
state and is updated approximately once per second. It is shown in the
selected Display format. If the On/off signal is OFF, the display
shows OFF.
The On/off signal is a logical expression while Timer offset and Timer
duration are numeric expressions. Normally, these are simple time
constants such as 6:10:20 (six hours:ten minutes:twenty seconds). See
Numeric Data Members in Chapter 2, How LookoutDirect Works, in the
Getting Started with LookoutDirect manual for more information on
entering time constants.

Object Reference Manual

2-170

www.Automationdirect.com

Chapter 2

System Objects

Timeofxxxx Data Members
Table 2-56. TimeOfxxxx Data Members

Data Members
(implicit)

Type
logical

Read

Write

yes

no

Description
Logical timer value

Comments TimeOfxxxx can be used in place of Pulse objects when the pulse needs to
be synchronized with the clock—if a pump should only be allowed to run between the
hours of 8:00 and 17:00 each day, the TimeOfDay timer should be used.
Related Objects DelayOff, DelayOn, Interval, OneShot, Pot

© Automationdirect.com

2-171

Object Reference Manual

Chapter 2

System Objects

Waveform
The Waveform object generates cosine, sine, square, sawtooth, triangle,
and random waveforms.

The Waveform object produces output by sampling the desired waveform
at the specified Sample Rate. The Period (in days), Amplitude, Offset
(level shift), and Phase (in degrees) of the generated waveforms can be set
to any numerical expression. A single Waveform object can be used to
generate multiple waveforms of varying relative phases, all with the same
Period, Amplitude, Offset and absolute Phase.
LookoutDirect samples a waveform when the logical expression Sample
transitions from FALSE to TRUE. This can be a simple expression like the
signal from a pushbutton, or it can be a complex algorithm.
Sample Rate is a numeric expression that determines how often to sample
the waveform. LookoutDirect converts the numeric value of Sample Rate
into a time signal that represents days and fractions of a day. The
Waveform object then samples the waveforms at the specified time
interval. Normally, this will be a simple time constant such as 0:01 (one
second).
When the Period of the waveform is changed, the waveform must be phase
shifted so that there is a smooth transition to the new frequency. This is
handled internally by the Waveform object and does not effect the Phase
parameter.

Object Reference Manual

2-172

www.Automationdirect.com

Chapter 2

System Objects

As a result, multiple waveform objects will not be in phase with each other
if one or more have had their Periods changed. To reset a waveform so that
it will again be in phase with other waveforms, use the Reset connection.
See Waveform Comments for a more detailed discussion of phase.
Each waveform output (except random) has 361 separate data members for
generating waveforms of different relative phase shifts. For example,
cosine0 (or just cosine) is a cosine wave of 0-degree relative phase shift,
cosine90 is a cosine wave with +90 degrees relative phase shift, and
cosine_90 is a cosine wave with –90 degrees relative phase shift.

Waveform Data Members
Table 2-57. Waveform Data Members

Data Members

Type

Read

Write

Description

cosine_180 — cosine180

numeric

yes

no

Cosine waveform output.

random

numeric

yes

no

Random waveform output.

Reset

logical

no

yes

Resets the phase shift to zero
when transitioned from OFF to
ON. (See comments on phase in
Waveform Comments.)

Sample

logical

no

yes

When this transitions from false
to true, the waveform is sampled.

SampleRate

numeric

no

yes

Specifies the rate at which the
waveform will be automatically
sampled.

saw_180 — saw180

numeric

yes

no

Sawtooth waveform output.

sine_180 — sine180

numeric

yes

no

Sine waveform output.

square_180 — square180

numeric

yes

no

Square waveform output.

triangle_180 — triangle180

numeric

yes

no

Triangle waveform output.

Waveform Comments
A waveform is a function of time whose values repeat every period. The
total phase shift of the waveform determines where, in its cycle, the
waveform starts at time t = 0 (midnight on the morning of the January 1,
1900 for LookoutDirect). Two waveforms that start at the same place in

© Automationdirect.com

2-173

Object Reference Manual

Chapter 2

System Objects

their cycle at t = 0 (that is, same total phase shift) are said to be “in phase”
with each other.
For a waveform generated by a Waveform object, the total phase shift is
equal to the absolute phase shift as specified by the Phase parameter, and
by the relative phase shift specified by the selection of a particular data
member (for example, cosine 90). Because the phase is defined in terms of
absolute time, two waveform objects with the same Period and Phase will
generate waveforms that are in phase with each other.
However, if the Period of one of the waveforms is variable (for example,
if it is connected to a Pot object) and changes, the absolute phase of the
waveform will be changed. This additional phase shift is handled internally
by the Waveform object, and is only noticeable by the fact that it can
produce an undesirable phase shift between two Waveform objects that
have the same Period. For this reason, you may want to use the Reset data
member to reset this internal phase shift.
Note The Phase parameter is in degrees. A Phase of 180 degrees will shift the waveforms
one half period ahead. For example if the Period is 1 day and the Phase is 180 degrees,
then the shift will be one-half day.

Phase
180°
1
--------------- × Period = ----------- × 1day = --- day
360°
360°
2

Object Reference Manual

2-174

www.Automationdirect.com

Driver and Protocol Objects

3

This chapter describes LookoutDirect Driver and protocol 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.

© Automationdirect.com

3-1

Object Reference Manual

Chapter 3

Driver and Protocol Objects

AB_PLC5,
AB_SLC500
LookoutDirect uses the AB object classes to communicate with the
Allen-Bradley family of PLC controllers using a variety of interfaces.
LookoutDirect can communicate with a member of the PLC-2 family in the
following ways:
•

Through a Data Highway Plus (DH+) connection to an Allen-Bradley
1785-KA3 PLC-2 adapter module using an Allen-Bradley 1784-KT,
1784-KTx, or 1784-PCMK card, or an S-S Technologies 5136-SD
direct-link interface card installed in the computer,

•

Through the serial port using an Allen-Bradley KF2 module (which
converts serial DF1 to DH+) to an Allen-Bradley 1785-KA3 PLC-2
adapter module, or

•

Through a direct DF1 serial connection to the PLC programming port.

LookoutDirect can communicate with a member of the PLC-5 family in the
following ways:
•

Through a direct Ethernet connection to the PLC AUI port,

•

Through a direct DH+ connection using a 1784-KT, 1784-KTx,
1784-PCMK, or 5136-SD card installed in the computer,

•

Through the serial port via a KF2 module which converts serial DF1
to DH+, or

•

Through a direct DF1 serial connection to the PLC programming port.

LookoutDirect can communicate with a member of the SLC-500 family in
the following ways:

Object Reference Manual

•

Through a direct DH+ connection using a 1784-KT, 1784-KTx,
1784-PCMK, or 5136-SD card installed in the computer,

•

Through the serial port via a KF2 module which converts serial DF1
to DH+,

•

Through the serial port using an Allen-Bradley 1747-KE card
(which plugs into the SLC chassis and converts DF1 to DH 485),

•

Through the serial port using a stand-alone Allen-Bradley 1770-KF3
communication interface module which converts DF1 to DH 485,

•

Through a direct DF1 serial connection to a SLC 5/03 or SLC 5/04
programming port, or

3-2

www.Automationdirect.com

Chapter 3

•

Driver and Protocol Objects

Through a direct DH485 connection using a 1784-PCMK card in
conjunction with either a 1747-AIC or 1761-NET-AIC module.

PLC Address refers to the PLC network node address setting as
configured on the physical device. If devices share a common Interface,
they require unique addresses. When using DF1 protocol (serial
communications), valid addresses range from 0 to 254 decimal. When
using DH+, valid addresses range from 0 to 77 octal.
PLC Model specifies the particular type of PLC or SLC you are
representing with this object. The PLC Model you select determines
what native data members comprise the object.
PollRate is a numeric expression that determines how often to poll the
device. LookoutDirect polls the device at the specified time interval.
Normally, this is a simple time constant such as 0:01 (one second). See
Numeric Data Members in Chapter 2, How LookoutDirect Works, of the
Getting Started with LookoutDirect manual for information on entering
time constants.
Poll is a logical expression. When this expression changes from false to
true, LookoutDirect polls the device. You can use a simple expression like
the signal from a pushbutton, or a complex algorithm.
Communication alarm priority determines the priority level of the
alarms generated by the AB object.

© Automationdirect.com

3-3

Object Reference Manual

Chapter 3

Driver and Protocol Objects

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
object generates an alarm and begins to Skip every n poll requests after
comm failure. Once LookoutDirect reestablishes communications, it polls
the device on its regular cycle, as defined by PollRate.
Receive timeout is the time delay LookoutDirect waits for a response from
a device before retrying the poll request.
Interface identifies the type of communication hardware you are using.
The selection you make here determines what protocol parameters you
have to specify. The paragraphs that follow describe interface-specific
protocol parameters.

Allen-Bradley Serial Port Interface Parameters
The KE/KF/Serial Interface selection enables serial port
communication via a KE card, a KF3 module or KF2 module. When
using your serial port, LookoutDirect employs the Allen-Bradley
full-duplex (peer-to-peer) DF1 protocol. Figure shows an Allen
Bradley object configured for serial communications.
Serial port specifies which RS-232C port the object uses for
communication to the physical device.
Data rate, Parity, and Error detection reference the settings on the
hardware device. The AB object classes support both BCC (block check
character) and CRC (cyclic redundancy check) error detection. BCC
provides a medium level of data security. CRC ensures a higher level of
data security. Choose the settings as configured on your PLC or SLC.
Phone number specifies the number to be dialed if the serial port setting
is configured for dial-up. This number only applies to the individual object.

Object Reference Manual

3-4

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Allen-Bradley DH+ Interface Parameters
When you configure an AB_PLC2, AB_PLC5, or AB_SLC500 for DH+,
LookoutDirect creates a file called ALLBRAD.INI. This file contains the configuration
settings that you enter for your KT card(s). If you plan to run the process file on a
LookoutDirect Runtime System, be sure to copy the INI file along with your process
(.lkp) file to the target computer.

Note

The 1784-KT, 1784-KTx, 1784-PCMK, and S-S 5136-SD Interface
selections enable direct connection of your computer to a DH+ network.
The following illustration shows an AB_SLC500 configured for DH+
communications using a 1784-KTx card.

Card number selects which network interface card that the PLC is
connected to in case your computer has multiple KT or S-S cards.
Card DH+ node address identifies the address of the interface card in the
DH+ network. Valid addresses range from 0 to 77 octal. The node address
of the card must be unique—that is, it must not be the same as the address
of any other device on the DH+ network.
Memory address specifies the base address location of the selected
interface card memory. Your selection should match the settings on the
card. If you are using multiple interface cards, be sure each card has a
unique address. The network interface cards use dual-ported memory.

© Automationdirect.com

3-5

Object Reference Manual

Chapter 3

Driver and Protocol Objects

For this reason, if you are using a memory manager such as EMM386 it
is important to add a memory exclusion statement to your CONFIG.SYS
file. The table on the following page lists base memory address selections
and corresponding exclusions for all legal memory addresses for the
1784-KT card.
Use Max node address to maximize the performance of a DH485 network
by assigning addresses to nodes on the network using consecutive numbers
starting with zero. Set the Max node address to the maximum of the
assigned node addresses. By default, the value of this variable is 31, which
is the largest legal address for any node on a DH485 network.
The 1784-KT interface card has on-board network termination resistors.
If you are using such a card and if your computer is the last node on the
network and if the cable does not already have a terminating resistor on it,
then select the Enable link termination resistor check box.
Use the Card exists in this computer check box to instruct LookoutDirect
whether or not to look for the interface card in the computer. Be sure to
check this box when you are ready to start polling your PLCs. When you
check this box and select OK, LookoutDirect initializes the card, activates
its self-test, and downloads its driver firmware. Then polling begins. Leave
the Card exists in this computer check box deselected (this is the default
setting) if the card is not in your computer (for example, if you are
developing a process on a computer different from the one that will be
running the process) or if you do not want to poll any PLC connected to
the card.
If you deselect the Card exists in this computer check box, you are
disabling communications using this interface card with all PLCs
connected to it.

Object Reference Manual

3-6

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-1. Allen-Bradley DH+ Interface Memory Addresses

Memory
Address

AB 1784-KT
Exclude

AB 1784-KTx
1784-PCMK
Exclude

SS-5136-SD
Exclude*

A000

A300-A3FF

A000-A0FF

A000-A3FF

A400

A700-A7FF

A400-A4FF

A400-A7FF

A800

AB00-ABFF

A800-A8FF

A800-ABFF

AC00

AF00-AFFF

AC00-ACFF

AC00-AFFF

B000

B300-B3FF

B000-B0FF

B000-B3FF

B400

B700-B7FF

B400-B4FF

B400-B7FF

B800

BB00-BBFF

B800-B8FF

B800-BBFF

BC00

BF00-BFFF

BC00-BCFF

BC00-BFFF

C000

C300-C3FF

C000-C0FF

C000-C3FF

C400

C700-C7FF

C400-C4FF

C400-C7FF

C800

CB00-CBFF

C800-C8FF

C800-CBFF

CC00

CF00-CFFF

CC00-CCFF

CC00-CFFF

D000

D300-D3FF

D000-D0FF

D000-D3FF

D400

D700-D7FF

D400-D4FF

D400-D7FF

D800

DB00-DBFF

D800-D8FF

D800-DBFF

DC00

DF00-DFFF

DC00-DCFF

DC00-DFFF

Recommendation
Typically used by VGA
drivers. Use if no other
option is available.

Used by MDA & CGA
drivers. Use if no Dxxx
option is available.

Typically used by BIOS.
Use if no Dxxx option is
available.

Normally available.Try to
use one of these first.

* The 5136-SD memory exclusions recommended here are based on 16K memory mapping. Because you are using the
SS card to emulate the KT card, there is no advantage to using its 32K memory access capability.

Baud rate (1784-KTx, 1784-PCMK, 5136-SD only) selects the baud rate
of the DH+ network. The default is 57.6k baud. Before selecting a higher
baud rate, be aware of that only a few PLCs (such as the SLC5/04) support
higher baud rates; that every node on a DH+ network must support the baud
rate used on that network; that the maximum network cable length is
smaller for higher baud rates; and that the correct values for the termination
resistors at the ends of the network cable are different for higher baud rates.
Consult the manuals that came with your hardware for more detailed
information.

© Automationdirect.com

3-7

Object Reference Manual

Chapter 3

Driver and Protocol Objects

IRQ (all cards) identifies the interrupt setting of all DH+ interface cards
installed in the computer. This selection should match the IRQ settings
on all of the interface cards.
Assigning an interrupt to the interface card(s) improves overall computer
performance somewhat. Any time one of the cards receives an input, it
generates an interrupt recognized by LookoutDirect.
Be sure to verify that no other drivers or cards are mapped to the selected
memory address or use the same interrupt.

Caution

Allen-Bradley Ethernet Interface Parameters
The Ethernet Interface selection enables direct communication between
your computer and a PLC using a standard Ethernet network. The
following diagram shows an AB_PLC5 configured for Ethernet
communications.

IP address specifies the Internet protocol address of the PLC. An Internet
protocol address consists of four numbers, separated by periods. Each
number ranges from zero to 255 decimal. Thus, a typical Internet address
might be 128.7.9.231. Ensure that the IP address you enter matches the
Internet protocol address of the PLC your object represents. You can also
enter the IP address by name.

Object Reference Manual

3-8

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Using the 5136-SD card from S-S Technologies, Inc.
To use the 5136-SD card, select the S-S 5136-SD interface in the Create
Object dialog box. It is not necessary to run the sdinst.exe program that
ships with the card because LookoutDirect downloads the KT-emulation
module automatically as part of the initialization process. It is, however,
necessary to tell LookoutDirect the port address specified by the switch
settings on the card.

© Automationdirect.com

3-9

Object Reference Manual

Chapter 3

Driver and Protocol Objects

Allen-Bradley Register Addressing
LookoutDirect has adopted a sequential, flat addressing scheme for the
Allen-Bradley PLCs. The addresses are sequential by data type, having
nothing to do with the actual slot number. For example, consider the
following slot configuration:

PLC slot Location

Type of Module in PLC Slot

Channel Address in
LookoutDirect

slot 1

16 channel analog input

I:0-I:16

slot 2

16 channel analog output

O:0-O:16

slot 3

8 channel input, 8 channel output

I:17-I:24, O:17-O:24

slot 4

16 channel analog input

I:25-I:32

You can see from the example, the slot number of the module is irrelevant
to LookoutDirect, and the input channels follow consecutive numbers as
the output channels follow their own consecutive numbers.

Allen-Bradley Data Members
Each AB object contains a great deal of data. All readable and writable
members (inputs/outputs) are bundled with the object. As soon as you
create an AB object you immediately have access to all the object data
members.
The AB object classes automatically generate an efficient read/write
blocking scheme based on the inputs and outputs you are using in your
process file. You are not required to build your own I/O blocking table.
However, you can ensure peak performance by organizing your PLC data
into contiguous groups.
Table 3-2. AB_PLC2 Data Members

Data Member

Type

Read

Write

Description

0 - 7777

numeric

yes

yes

16-bit signed binary word ranging
from –32,768 to +32,767

0_0 - 7777_17

logical

yes

no

One bit within a 16-bit binary word

CommFail

logical

yes

no

Object-generated signal that is ON if,
for any reason, LookoutDirect cannot
communicate with the PLC.

Object Reference Manual

3-10

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-2. AB_PLC2 Data Members (Continued)

Data Member

Type

Read

Write

Description

OffHook

logical

no

yes

When true, instructs the PLC to retain
exclusive use of its assigned
communication port. This prevents
LookoutDirect from hanging up
between polls, saving the redial
overhead. This also prevents other
blocks from communicating over the
same channel.

Poll

logical

no

yes

When transitioned from false to true,
the LookoutDirect object polls the
PLC device

PollRate

numeric

no

yes

Specifies the frequency at which the
LookoutDirect object polls the PLC
device

Update

logical

yes

no

Object-generated signal that pulses
each time the object polls the device

Table 3-3. AB_SLC500 Data Members

Data Member

Type

Read

Write

Description

B:0 - B255:255

numeric

yes

yes

16-bit signed binary word ranging
from –32,768 to +32,767

B:0_0-B255:255_15

logical

yes

yes

One bit within a 16-bit binary word

B_0 - B255_4095

logical

yes

yes

One bit within the specified datafile.
For example, B3_32 specifies datafile
3, word 2, bit 1.

C:0.ACC C255:255.ACC

numeric

yes

yes

Counter accumulated value. Two-byte
signed word ranging from –32,768 to
+32,767

C:0.PRE C255:255.PRE

numeric

yes

yes

Preset counter value. Two-byte signed
word ranging from –32,768 to +32,767

C:0_CU - C255:255_CU

logical

yes

yes

Counter up-enable bit.

C:0_DN C:255:255_DN

logical

yes

yes

Counter done bit.

© Automationdirect.com

3-11

Object Reference Manual

Chapter 3

Driver and Protocol Objects

Table 3-3. AB_SLC500 Data Members (Continued)

Data Member

Type

Read

Write

Description

C:0_OV C255:255_OV

logical

yes

yes

Counter overflow bit.

C:0_UA C255:255_UA

logical

yes

yes

Counter update accumulation bit
(HSC in fixed controller only)

C:0_UN C255:255_UN

logical

yes

yes

Counter underflow bit.

C:0_CD -C255:255_CD

logical

yes

yes

Counter down-enable bit.

CommFail

logical

yes

no

Object-generated signal that is ON if,
for any reason, LookoutDirect cannot
communicate with the SLC.

F:0-F255:255

numeric

yes

yes

Floating point value

I:0 - I:30

numeric

yes

yes

Unsigned 16-bit input value ranging
from 0 to 65,535

I:0_0 - I:30_15

logical

yes

yes

One bit within a 16-bit input word

N:0 - N255:255

numeric

yes

yes

16-bit signed integer value ranging
from –32,768 to +32,767.

N:0_0 - N255:255_15

logical

yes

yes

One bit within a 16-bit signed integer
word

O:0 - O:30

numeric

yes

yes

Unsigned 16-bit output value ranging
from 0 to 65,535

O:0_0 - O:30_15

logical

yes

yes

One bit within a 16-bit output word

OffHook

logical

no

yes

When true, instructs the PLC to retain
exclusive use of its assigned
communication port. This prevents
LookoutDirect from hanging up
between polls, saving the redial
overhead. This also prevents other
blocks from communicating over the
same channel.

Poll

logical

no

yes

When transitioned from false to true,
the LookoutDirect object polls the
SLC device

Object Reference Manual

3-12

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-3. AB_SLC500 Data Members (Continued)

Data Member

Type

Read

Write

Description

PollRate

numeric

no

yes

Specifies the frequency at which the
LookoutDirect object polls the SLC
device

R:0_FD - R255:255_FD

logical

yes

yes

Control “found” single-bit logical
indicator

R:0.LEN R255:255.LEN

numeric

yes

yes

Control “length” signed integer
ranging from –32,768 to +32,767

R:0.POS R255:255.POS

numeric

yes

yes

Control “position” signed integer
ranging from –32,768 to +32,767

R:0_DN R255:255_DN

logical

yes

yes

Control “done” single-bit logical
indicator

R:0_EM R255:255_EM

logical

yes

yes

Control “empty” single-bit logical
indicator

R:0_EN -R255:255_EN

logical

yes

yes

Control “enable” single-bit logical
indicator

R:0_ER - R255:255.ER

logical

yes

yes

Control “error” single-bit logical
indicator

R:0_EU - R255:255_EU

logical

yes

yes

Control “enable unloading” single-bit

R:0_IN - R255:255.IN

logical

yes

yes

Control “inhibit comparison” flag
single-bit logical indicator

R:0_UL - R255:255_UL

logical

yes

yes

Control “unload” single-bit logical
indicator

S:0 - S:96

numeric

yes

yes

SLC status file containing a signed
integer ranging from –32,768 to
+32,767 (see Allen-Bradley
documentation)

S:0_0 -S:96_15

logical

yes

yes

Individual SLC status bits (see
Allen-Bradley documentation)

ST9:0 - ST255:255

text

yes

yes

String, limited to 83 characters in
length. See the note on Allen-Bradley
string data members at the end of this
table.

© Automationdirect.com

3-13

Object Reference Manual

Chapter 3

Driver and Protocol Objects

Table 3-3. AB_SLC500 Data Members (Continued)

Data Member

Type

Read

Write

Description

T:0.ACC T255:255.ACC

numeric

yes

yes

Accumulated timer value ranging
from –32,768 to +32,767

T:0.PRE T255:255.PRE

numeric

yes

yes

Preset timer value ranging from
–32,768 to +32,767

T:0_DN - T255:255_DN

logical

yes

yes

Timer “done” single-bit logical
indicator

T:0_EN - T255:255_EN

logical

yes

yes

Timer “enabled” single-bit logical
indicator

T:0_TT - T255:255_TT

logical

yes

yes

Timer “timing” single-bit logical
indicator

Update

logical

yes

no

Object-generated signal that pulses
each time the object polls the device

There is no Allen-Bradley default file type associated with strings. You must
configure your Allen-Bradley device to have a string file. See your Allen-Bradley
documentation for details on this configuration procedure.

Note

The string data member only works with the SLC 500 Enhanced series of PLCs, including
the SLC 5/03; OS301 and SLC 5/04., and with the PLC 5 Enhanced series, PLC 5/11, PLC
5/20, PLC 5/30, PLC 5/40, PLC 5/60, PLC 5/80.
Table 3-4. AB_PLC5 Data Members

Data Member

Type

Read

Write

Description

B:0 - B999:999

numeric

yes

yes

16-bit signed binary word ranging
from –32,768 to +32,767

B:0_0-B999:999_15

logical

yes

yes

One bit within a 16-bit binary word.

B_0 - For B999_15999

logical

yes

yes

One bit within the specified datafile;
for example, B3_32 specifies datafile
3, word 2, bit 1.

C:0.ACC C999:999.ACC

numeric

yes

yes

Counter accumulated value. Two-byte
signed word ranging from –32,768 to
+32,767

C:0.PRE C999:999.PRE

numeric

yes

yes

Preset counter value ranging from
–32,768 to +32,767.

Object Reference Manual

3-14

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-4. AB_PLC5 Data Members (Continued)

Data Member

Type

Read

Write

Description

C:0_CD - C999:999_CD

logical

yes

yes

Counter down-enable bit.

C:0_CU - C999:999_CU

logical

yes

yes

Counter up-enable bit.

C:0_DN C:999:999_DN

logical

yes

yes

Counter done bit.

C:0_OV C999:999_OV

logical

yes

yes

Counter overflow bit.

C:0_UA C999:999_UA

logical

yes

yes

Counter update accumulation bit
(HSC in fixed controller only).

C:0_UN C999:999_UN

logical

yes

yes

Counter underflow bit.

CommFail

logical

yes

no

Object-generated signal that is ON if,
for whatever reason, LookoutDirect
cannot communicate with the PLC.

F:0-F999:999

numeric

yes

yes

Floating point value.

I:0 - I:277

numeric

yes

yes

Unsigned 16-bit input value ranging
from 0 to 65,535.

I:0_0 - I:277_17

logical

yes

yes

One bit within a 16-bit input word
(octal).

N:0 - N999:999

numeric

yes

yes

16-bit signed integer value ranging
from –32,768 to +32,767.

N:0_0 - N999:999_15

logical

yes

yes

One bit within a 16-bit signed integer
word.

O:0 - O:277

numeric

yes

yes

Unsigned 16-bit output value ranging
from0 to 65,535.

O:0_0 - O:277_17

logical

yes

yes

One bit within a 16-bit output word
(octal).

© Automationdirect.com

3-15

Object Reference Manual

Chapter 3

Driver and Protocol Objects

Table 3-4. AB_PLC5 Data Members (Continued)

Data Member

Type

Read

Write

Description

OffHook

logical

no

yes

When true, instructs the PLC to retain
exclusive use of its assigned
communication port. This prevents
LookoutDirect from hanging up
between polls, saving the redial
overhead. This also prevents other
blocks from communicating over the
same channel.

Poll

logical

no

yes

When transitioned from false to true,
the LookoutDirect object polls the
PLC device.

PollRate

numeric

no

yes

Specifies the frequency at which the
LookoutDirect object polls the PLC
device.

R:0.LEN R999:999.LEN

numeric

yes

yes

Control “length” signed integer
ranging from –32,768 to +32,767.

R:0.POS R999:999.POS

numeric

yes

yes

Control “position” signed integer
ranging from –32,768 to +32,767.

R:0_DN R999:999_DN

logical

yes

yes

Control “done” single-bit logical
indicator.

R:0_EM R999:999_EM

logical

yes

yes

Control “empty” single-bit logical
indicator.

R:0_EN - R999:999_EN

logical

yes

yes

Control “enable” single-bit logical
indicator.

R:0_ER - R999:999.ER

logical

yes

yes

Control “error” single-bit logical
indicator.

R:0_EU - R999:999_EU

logical

yes

yes

Control “enable unloading” single-bit
logical indicator.

R:0_FD - R999:999_FD

logical

yes

yes

Control “found” single-bit logical
indicator.

R:0_IN - R999:999.IN

logical

yes

yes

Control “inhibit comparison” flag
logical indicator.

Object Reference Manual

3-16

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-4. AB_PLC5 Data Members (Continued)

Data Member

Type

Read

Write

Description

R:0_UL - R999:999_UL

logical

yes

yes

Control “unload” single-bit logical
indicator.

S:0 - S:127

numeric

yes

yes

PLC status file containing a signed
integer ranging from –32,768 to
+32,767 (see Allen-Bradley
documentation).

S:0_0 - S:127_15

logical

yes

yes

Individual PLC status bits (see
Allen-Bradley documentation).

ST9:0 - ST255:255

text

yes

T:0.ACC T999:999.ACC

numeric

yes

yes

Accumulated timer value ranging from
–32,768 to +32,767.

T:0.PRE T999:999.PRE

numeric

yes

yes

Preset timer value ranging from
–32,768 to +32,767.

T:0_DN - T999:999_DN

logical

yes

yes

Timer “done” single-bit logical
indicator.

T:0_EN - T999:999_EN

logical

yes

yes

Timer “enabled” single-bit logical
indicator.

T:0_TT - T999:999_TT

logical

yes

yes

Timer “timing” single-bit logical
indicator.

Update

logical

yes

no

Object-generated signal that pulses
each time the object polls the PLC
device.

yes

String, limited to 83 characters in
length. See the note on Allen-Bradley
string data members at the end of this
table.

There is no Allen-Bradley default file type associated with strings. You must
configure your Allen-Bradley device to have a string file. See your Allen-Bradley
documentation for details on this configuration procedure.

Note

The string data member only works with the SLC 500 Enhanced series of PLCs, including
the SLC 5/03; OS301 and SLC 5/04., and with the PLC 5 Enhanced series, PLC 5/11, PLC
5/20, PLC 5/30, PLC 5/40, PLC 5/60, PLC 5/80.

© Automationdirect.com

3-17

Object Reference Manual

Chapter 3

Driver and Protocol Objects

Allen-Bradley Error Messages
AB objects report the statuses of commands they issue to AB devices.
When LookoutDirect receives a response from an AB device, it reads the
status (STS) byte and, if necessary, the extended status (EXT STS) byte to
verify the device executed the LookoutDirect command properly. If the
command was not executed properly, LookoutDirect reports the failure as
an alarm containing the status code and its meaning. The following is an
example of such an alarm:
EXT STS = 0F: not enough levels in address

AB object classes can also generate alarms internally. The following is a list
of AB alarms generated by LookoutDirect, their descriptions, and possible
responses. In the messages, KT is used to refer to any of the DH+ interface
cards (1784-KT, 1784-KTx, 1784-PCMK, or 5136-SD) and SS is used to
refer to the 5136-SD card.
Cannot resolve ip address: address
The AB object failed to find any node on the network that corresponds to
the given IP address. Confirm that the IP address entered in the Modify
Object dialog box is correct.
Cannot get session id from plc
The AB object sent a message to the PLC requesting a TCP/IP session and
failed to receive a satisfactory response.
Cannot communicate with device (code=dd)
The AB object timed out while waiting for a response (via TCP/IP) from
the PLC. If the code is 0, the object timed out while trying to establish the
TCP/IP connection; if the code is 1, the object timed out while waiting for
a session id from the PLC; if the code is 2, the object timed out while
waiting for a response to a poll request. Confirm that the IP address of the
PLC has been entered correctly and that the PLC is reachable over the
TCP/IP network.
Download of file sdipds.ss1 failed
LookoutDirect was unable to write the KT-emulation program file to the
5136-SD card physical memory. This could be due to either an invalid
port or memory address or to a faulty or improperly seated card.
Invalid memory address for card: 0xAAAA
The memory address specified for the card (for example, D400) is not
valid for this model of card. The address must be a multiple of 0x0100 and
lie in the range 0xA000 to 0xDF00. Moreover, the KT, KTx, PCMK, and

Object Reference Manual

3-18

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

5136-SD cards support different sets of valid memory addresses. See the
documentation that shipped with the card for details.
Invalid node address for card: xx
Node addresses must be between 0 and 63 decimal.
Invalid port number for SS card: 0xPPP
The port number specified for the 5136-SD card is invalid. See the
documentation that shipped with the card for the list of valid port addresses.
Invalid port or memory address
LookoutDirect was unable to write to the 5136-SD card physical memory.
This could be due to either an invalid port or memory address or to a faulty
or improperly seated card.
KT card failed to find resources
KT card receive mailbox is in an invalid state
KT card send mailbox is in an invalid state
You will probably never see one of these alarms. If you do, call National
Instruments and ask for technical support.
KT card dual-ported memory test failed at location xxxx
The interface card failed a memory test when it was first powered on. The
memory test reads, writes and rereads the dual-ported memory to ensure
memory access by the card. Verify that the card is configured for the
memory address that you specified. Verify that your memory manager
(like EMM386) excludes the appropriate portion of memory. Verify that
your card is not trying to use the same memory location as another card.
You may need to restart the card by calling up the AB object definition
dialog box and selecting OK. If that does not work try rebooting the
computer. Other causes can include memory conflicts, a bad interface
card, or a misbehaving driver.
KT card CTC test timed out
KT card CTC test failed with status code xx
The interface card failed the Counter Timer Circuit test when it was first
powered on. This test verifies proper functionality of the card timer and
counter modes over all CTC channels. You may need to restart, reseat,
or replace the interface card.

© Automationdirect.com

3-19

Object Reference Manual

Chapter 3

Driver and Protocol Objects

KT card timed out while loading protocol code
KT card failed with status code xx while loading protocol
LookoutDirect was not able to transfer a loader file to the card and
subsequently download the card protocol firmware. Try to restart the
interface card by calling up the AB object definition dialog box and
selecting OK. If that does not work try rebooting the computer.
KT card is no longer responding
The LookoutDirect AB object did not receive the interface card heartbeat
within the last second. Normally, the card generates a heartbeat any time it
receives the DH+ network token. If the alarm does not deactivate after
30 seconds, try to restart the card by calling up the AB object definition
dialog box and selecting OK. If that does not work try restarting
LookoutDirect or rebooting the computer.
KT card memory address conflicts with card n
LookoutDirect found another interface card with the same memory
address. Be sure that the memory address on each interface card is different
and that the corresponding Memory address in the LookoutDirect object
matches the card address.
KT card not present in this computer
The Card exists in this computer check box is deselected (this is the
default setting). Select Object»Modify to retrieve the PLC definition
parameters dialog box and select the Card exists in this computer check
box and OK to initialize the card.
KT card RAM test timed out
KT card RAM test failed with status code xx
The interface card failed a memory test when it was first powered on. The
memory test writes a pattern to on-board RAM and reads its content to
verify the card memory is working. Confirm that the memory address
specified in the Object»Modify dialog box is correct. You may need to
restart, reseat, or replace the card.
KT card signature test failed
The AB object does not recognize the card. Make sure that the interface
card is actually installed in the PC and that you indicated the correct
memory address in LookoutDirect. You may need to reseat the card, or the
card may require repair. Also ensure that you did not identify more
Card Numbers than actual physical cards.

Object Reference Manual

3-20

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

KT card SI0 test timed out
KT card SI0 test failed with status code xx
The interface card failed the Serial Input Output test when it was first
powered on. You may need to restart, reseat, or replace the interface card.
KT card send mailbox timed out
The AB object timed out while waiting for the KT card to signal that it
is ready to be given a new message to send. This is most likely due to a
communication problem between the computer and the PLC. Confirm that
the network cable is properly installed and that the PLC is turned on.
NAK response received
The AB object received a NAK (not acknowledged) response when it
polled the device. The device received a command from LookoutDirect but
it did not accept the message. The command that the device received may
be incomplete or contain irregularities due to poor network performance. If
your Serial Port is configured for radio, you may need to adjust the RTS
delay off setting. Also consider increasing the number of Retry attempts.
No response — no ACK for our transmission
LookoutDirect is not getting any response from the device. This could be
caused by just about anything. Verify that the Data rate, Parity, and Error
detection settings are the same as the settings on the device. Make sure you
are using the proper Serial port on your computer. Verify that the device
interface module and other network equipment is connected and working
properly. If you are using a modem, verify that your object Phone number
and the serial port Dial-up settings are correct. This may also be caused by
low level noise or reflections on the highway, or marginal circuitry on
a card.

© Automationdirect.com

3-21

Object Reference Manual

Chapter 3

Driver and Protocol Objects

No response within timeout period
No response received after receiving ENQ
The AB object received an acknowledgment of its poll from the device. The
device accepted the command from LookoutDirect. However, the device
did not appear to send anything else back in response. You may have to
increase Receive timeout to make sure LookoutDirect allows enough time
to receive the message.
EOT response received
The AB object received an EOT (end of transmission) response when it
polled the device indicating that the device did not have a message ready to
give in response to the LookoutDirect poll request. It is unlikely that you
will ever see this error message.
Received TSN does not match
Response message garbled -- bad CRC or bad BCC
Response message garbled -- no DLE EXT
Response message garbled -- bad DLE follower
The AB object is receiving messages from the device. However, the
messages may be failing the selected data integrity test. Verify that the
object Error detection setting is the same as the settings on the device.
Another cause may be that the last part of the message is actually getting
clipped off before it is completed. You may have to increase the Receive
gap Serial Port setting to ensure LookoutDirect is receiving the entire
message. If your Serial Port is configured for radio this could be caused by
an audible squelch tail occurring at the end of a radio transmission. You
may need to adjust the RTS delay off or the CTS timeout settings. Also
consider increasing the number of Retry attempts.
Socket communications error dd: msg
The AB object has encountered a problem while attempting to
communicate using TCP/IP. The error number dd and corresponding error
message msg give further information. Confirm that the IP address of the
PLC has been entered correctly and that the PLC is reachable over the
TCP/IP network.
SS card failed
This message is suffixed with an error message read from the card itself.
You may need to contact the vendor of your card for technical support.
SS card failed while performing diagnostics
LookoutDirect successfully wrote the KT-emulation program to the
5136-SD card, but the program failed to terminate. Try running the

Object Reference Manual

3-22

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

sdinst.exe program that ships with the 5136-SD card, using the CHK

option to confirm that the card is working properly.
Unable to access physical memory at segment 0xAAAA
LookoutDirect was unable to access the memory at the given segment
address. The memory may already be in use by the operating system or by
another application. Either change the object memory address (which may
involve changing switch settings on the card itself) or, if you are using a
memory manager, make sure that it is excluding the correct portion of
memory.
Unable to open port 0xPPP for SS card
LookoutDirect was unable to open the port number specified for the
5136-SD card. Make sure that you have specified the port that is selected
by the jumper settings on the card. Make sure that port and the following
two ports (for example, 250, 251, and 252) are not in use by any other
devices in your computer.
Unexpected data response length
Unexpected response
Unhandled error
You will probably never see one of these alarms. If you do, call National
Instruments and ask for technical support.

© Automationdirect.com

3-23

Object Reference Manual

Chapter 3

Driver and Protocol Objects

ASCII
ASCII is a protocol driver class LookoutDirect uses to communicate with
any serial device that accepts ASCII characters. This object is only
available with 32-bit versions of LookoutDirect.
An ASCII object contains no predefined data points. When you create an
ASCII object, you must define your data request strings as well as the
template LookoutDirect uses to parse the response frame.

Serial port specifies which COM port the object uses for communicating
to the external device. This does not specify the communication type.
Communication type is determined by the Options»Serial Ports…
command.
Baud rate indicates the rate that LookoutDirect uses to communicate with
the hardware device.
Data bits indicates the number of data bits that LookoutDirect uses to
communicate with the hardware. This setting should match the selection
made on the physical device.
Stop bits indicates the number of stop bits that LookoutDirect uses to
communicate with the hardware device. This setting should match the
selection made on the physical device.
Parity indicates the parity that LookoutDirect uses to communicate with
the hardware device. This setting should match the selection made on the
physical device.

Object Reference Manual

3-24

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Phone number specifies the number to be dialed if the selected serial port
is configured for dial-up. This number only applies to the individual
protocol object.
Monitor Serial Port specifies whether you can receive unsolicited frames.
Communication alarm priority determines the priority level of alarms
generated by the ASCII object. Such alarms are typically related to
communications with the physical device.
Retry attempts specifies the 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 ASCII object
generates an alarm and releases the communication port back to the
communications service which then moves on to the next device in the
polling queue (if any). Refer to Chapter 3, Serial Communications, in the
LookoutDirect Developer’s Manual for more information.
Receive timeout is the amount of time LookoutDirect waits for a response
from a device before retrying the request.
The Skip every N poll requests after comm failure setting instructs
LookoutDirect not to poll a device it has lost communication with on every
scheduled poll. Instead, LookoutDirect polls the device only once in the
specified number of poll cycles. Once communication has been
reestablished, the device is polled on its regular cycle.

ASCII Data Members
Table 3-5. ASCII Data Members

Data Member

Type

Read

Write

Description

CommFail

logical

yes

no

Object-generated signal that is on if
LookoutDirect cannot communicate
with the device(s).

OffHook

logical

no

yes

Keeps the driver from releasing the
serial port.

Request

text

yes

no

Exact request frame sent.

RequestFormat

text

no

yes

Format used to create request frame.

Response

text

yes

no

Exact response frame received.

ResponseFormat

text

no

yes

Format used to parse response frame.

© Automationdirect.com

3-25

Object Reference Manual

Chapter 3

Driver and Protocol Objects

Table 3-5. ASCII Data Members (Continued)

Data Member

Type

Read

Write

Description

RQSum:1:1 RQSum255:255

numeric

yes

no

Request byte sum

RQV1, RQV512

numeric

no

yes

Variable list used to populate request
frame with numeric values.

RQV1.logical,
RQV512.logical

logical

no

yes

Variable list used to populate request
frame with logical values.

RQV1.txt, RQV512.txt

text

no

yes

Variable list used to populate request
frame with text values.

RSFilter

text

no

yes

All characters in this string will be
filtered out of the incoming response
before processing.

RSSum1:1 RSSum255:255

numeric

yes

no

Response byte sum

RSV1, RSV512

numeric

yes

no

Variable list used to store values
retrieved from response frame.

RSV1.logical,
RSV512.logical

logical

yes

no

Variable list used to store values
retrieved from response frame.

RSV1.txt, RSV512.txt

text

yes

no

Variable list used to store values
retrieved from response frame.

Send

logical

no

yes

Sends request frame.

Update

logical

yes

no

Object-generated signal that pulses
low each time it polls the device.

RSVn, RSVn.txt and RSVn.logical all represent the same value in different forms
RQVn, RQVn.txt and RQVn.logical all represent the same value in different forms

Request and Response Format Strings
The request and response format strings consist of static characters and
markers that control how the request and response frames respectively are
formatted or decoded. The request format string is used to create the
request frame, which is sent to the device, while the response format string
is used to decode the response frame, which comes from the device.
Static characters in the format strings are reproduced exactly in the request
or response frame. Markers specify the location within the frame and type

Object Reference Manual

3-26

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

of data which should be found there, such as five characters read as an
unsigned integer, for example. The ASCII object constructs a request frame
by processing the sequence of static characters and markers in the request
format string, and including data from RQV data members.
The response format string decodes a response frame using an analogous
process, storing the results in RSV data members.
To construct a request frame, the ASCII object parses the request format
string character by character. Static characters are copied directly to the
request frame. When a marker is encountered the ASCII object reads a
value from the appropriate RQV variable and places it into the request
frame.
There are 512 RQV and RSV values provided for in the ASCII object data
member collection. The first marker in a format string uses the value from
RQV1 (or RQV1.txt or RQV1.logical), the next marker uses the value
RQV2, and so on. Values taken from Response strings are stored in RSV
data members in the same way.
Keep in mind that writing into RQV1 changes the value both for RQV1.text
and RQV1.logical. Their only difference is the format in which they are
represented. The same principle applies to the RSV data members.
There is no precedence to the order in which multiple objects connected to the same
variable number initialize upon opening the process file. Consider, for example, the case
in which a Pot object is connected to RQV1 while a TextEntry object is connected to
RQV1.txt. You should take care to initialize such variables to the proper value after
opening a process file.

Note

To decode a response frame, the ASCII object compares the response frame
to the response format string character by character. The static characters in
the response frame must match those in the response format string or the
decoding process terminates. Static characters are, in effect, discarded
by the ASCII object as they are matched between the response format
string and the response frame.
When the ASCII object encounters a marker, it places the data indicated by
the marker into the appropriate RSV data member.
The conversion of a portion of the response frame to a data type specified
by a marker in the response format string must be valid, or the process will
terminate.

© Automationdirect.com

3-27

Object Reference Manual

Chapter 3

Driver and Protocol Objects

If nothing halts the process, decoding terminates when the end of the
response frame string is reached.
There are examples of both request frames and response frames at the end
of this section, but for the examples to make sense, you must first
understand the ASCII object markers.

ACSII Object Markers
The general format for a marker is:
%[width][type]
Each field in the marker format is a single character or a number signifying
a particular format option.
The % sign denotes the beginning of the marker. For example, to specify
that a percent-sign character is a static character part of the frame, use %%.
Width is a positive decimal integer specifying the number of characters
that particular value occupies in the frame. By default ASCII pads the value
with blank spaces if the value takes up fewer characters than the value
specified by width. Including a 0 before the width value forces the ASCII
object to pad with zeroes instead of blank spaces.
Type determines whether the field is interpreted as a character, a string,
or a number.
Table 3-6. Data Types Allowed by ASCII

Character
c

Character

d

Decimal integer

O, o

Octal

x, X

Hexadecimal integer

u

Unsigned decimal integer

e, f

Floating-point

s

Object Reference Manual

Data Type

String

3-28

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-6. Data Types Allowed by ASCII

b*

Byte (binary)

*For the %b data type:
–

Number of bytes can be specified,
for example %3b, %2b.

–

Response format can read as
either signed or unsigned, for
example %^b and %3^b are
signed and %b is unsigned.

–

Endian order can be specified, for
example %3~b is big endian and
%3b is little endian. %5~^b and
%2^~b forms are also valid.

The simplest format specification contains only the percent sign and a type
character (for example, %s). That would place the value in the response
frame in the RSV1.txt data member.
Request Format
String

RQV1

>%5d

34

>

>%05d

34

>00034

Request Frame
34

The request format string also has a precision value in the form
%[width].[precision][type]. This specifies the number of digits to the
right of the decimal point, if any, in the request frame. If you use a float
(%f) and do not specify a precision value, the ASCII object assumes a
default of 6.
Characters are converted and stored in RSV data members from response
frames in the order they are encountered in the response format. However,
fewer than [width] characters may be read if a white-space character
(space, tab, or newline) or a character that cannot be converted according
to the given format occurs before [width] is reached.
Values needed for request frames come from the RQV data members, and
are also used in the order in which they occur in the request format.
To read strings not delimited by space characters, or that contain spaces,
you can substitute a set of characters in brackets ([ ]) s (string) type

© Automationdirect.com

3-29

Object Reference Manual

Chapter 3

Driver and Protocol Objects

character. The corresponding input field is read up to the first character that
does not appear in the bracketed character set. Using a caret (^) as the first
character in the set reverses this effect: the ASCII object reads input field
up to the first character that does appear in the rest of the character set.
Response
Format String

RSV1.txt

Response
Frame

$%[A – Z,a – z, ]$

Natl Inst

$Natl Inst$

>%[^,s]

days

>day

Notice that %[a – z] and %[z – a] are interpreted as equivalent to
%[abcde…z], and that the character set is case sensitive. Valid control
characters accepted include \a, \A, \b, \B, \f, \F, \n, \N, \r, \R, \t, \T, \v, \V, \\,
\’, \”, and \?.
Any ASCII character can be specified in the format string using \xbb or
\nnn masks. \xbb is a hexadecimal byte with each b representing a valid hex
character in the range (0...9, a...F), for example \xff or \x1a.
\nnn is an octal byte with each n being a valid octal character in the range
0 to 7, for example \123 or \347. THis value may not exceed 255 as it is
meant to represent a single byte of data. These two features can be used to
create and compare static characters. These can also be specified in the
regular expression, for example %[\xff, \123, \a, \b] is a valid frame.
The brackets only work in response format strings. They have no effect in the
request format string.

Note

The ASCII object scans each field in the response frame character by
character. It may stop reading a particular field before it reaches a character
for a variety of reasons:
•

The specified width has been reached.

•

The next character cannot be converted as specified.

•

The next character conflicts with a character in the response format
string that it is supposed to match.

•

The next character fails to appear in a given character set.

No matter what the reason, when the ASCII object stops reading a field,
the next field is considered to begin at the first unread character. The
conflicting character, if there is one, is considered unread and is the first
character of the next field.

Object Reference Manual

3-30

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Entering ASCII Object Format String
For a static connection to one of the format data members, enter your
format string in the yellow field box in the Edit Connections dialog box.
Remember to begin and end the format strings with quotation marks so that
LookoutDirect accepts the string input.
You can also connect any valid text data member, such as a text entry
object, to the format data members.

Request Frame Construction Examples
Request
Format String

RQV

Request
Frame

<01%4u%s

RQV1=1234
RQV2.txt=Steph

<011234Steph

<01%04u%s

RQV1=34
RQV2.txt=Steph

<010034Steph

<01% 4u%s

RQV1=34
RQV2.txt=Steph

<01 34Steph

A zero in front of the four pads with zeroes; a space pads with spaces.

Response Format Examples
Response
Frame

Response
Format String

RSV

*(16.38:

*(%52f:

RSV1=16.38

The decimal point counts as a character when decoding floats (%f). Also, decimal
points denoting precision are not allowed when decoding a float in the response frame.

Note

© Automationdirect.com

Response
Frame

Response
Format String

RSV

>>Test Text<<

>>%s<<

RSV1.txt=Test

3-31

Object Reference Manual

Chapter 3

Driver and Protocol Objects

The space between the words terminates the conversion. See the preceding
bracketed character example in order to span a space or other special
characters.
Response
Frame

Response
Format String

>>Test Text<<

>>%s%s<<

RSV1.txt=Test
RSV2.txt=Text

>>DogCat<<

>>%3s%3s<<

RSV1.txt=Dog
RSV2.txt=Cat

RSV

The response format uses a space as a delimiter.

Using Sum Data Members
The ASCII object includes summing data members you can use to calculate
checksum characters. This can be a checksum you want to write into an
outgoing request frame or a checksum you want to verify in an incoming
response frame.
For example, if you want to calculate a checksum for the request A00B,
you would use an RQSum (request sum) data member. In the case of A00B,
you would use RQSum1:4, which would give you a sum of the ASCII byte
values of characters 1 through 4. Once you have this sum, you can
manipulate it mathematically any way necessary for the checksum value
you need. You can then insert this value at the end of your frame as a byte
(%b) or a series of bytes.
The same technique works in reverse for RSSum (response sum) data
members.
For example, consider the response Z00A@. You know that you are
expecting 4 bytes plus a checksum. Assuming that this checksum
calculation involves the first four characters, use RSSum1:4 to get the byte
sum of characters 1 through 4. After performing the appropriate
mathematical manipulation, you can compare this value with the actual
byte read from the frame, and determine when there is a checksum failure.
There are many different methods for calculating checksums, and these data
members cannot support all of them. Before attempting to use them for checksum
calculation, make sure your checksum can be calculated from a simple byte sum of
characters in the frame.

Note

Object Reference Manual

3-32

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

ASCII Error Messages
No response from device within timeout period
LookoutDirect received no response from the device within the Receive
timeout period. The ASCII object was able to establish a socket, but when
it sent a message to the device, the device did not respond—as if it were not
there. You may have to significantly increase Receive timeout (and Poll
Rate) to ensure LookoutDirect is allowing enough time to receive the
expected response. Also, verify your cable connections, power,
configuration settings, and IP settings.
Not enough data to send a valid frame
This means that the ASCII object has not received enough data to fill in all
the variables in the Request Format frame. This could mean that you do not
have connections made to all of the RQVs that the ASCII object is
expecting.
Frame Error (garbled)
ASCII got a response frame, but static characters in the response did not
match up to the response format string.
Data type or length does not match format string
ASCII got a response frame, but certain characters in the response were not
in the format stated by the markers in the response format string.
Illegal control character
The request frame had a % modifier followed by an invalid control code.
Related Objects IPASCII

© Automationdirect.com

3-33

Object Reference Manual

Chapter 3

Driver and Protocol Objects

Object Reference Manual

3-34

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

DeltaTau
DeltaTau is a protocol driver object class LookoutDirect uses to
communicate with Delta Tau Data Systems PMAC Motion Controllers.
Create a DeltaTau object for each card installed in the computer.
This object class communicates with Delta Tau PMAC cards through
dual-ported memory, so be sure that your PMAC hardware includes the
dual-ported RAM option.
The following figure shows a Delta Tau card configured to use PC memory
beginning at address D000.

Card base address specifies the beginning memory location of the dual
ported RAM address. It should match card settings.
Scanning Interval identifies the frequency that the DeltaTau object in
LookoutDirect polls the PMAC Motion Controller. Intervals can range
from 10 ms to 1,000 ms.
Communication alarm priority specifies the priority level of alarms
generated by the object.

DeltaTau Data members
Like other protocol driver objects, DeltaTau objects contain a great deal
of data. All readable and writable members (inputs/outputs), polling
instructions, and so on, are bundled with the object. Therefore, as soon as
you create a DeltaTau object you immediately have access to all the object
data members. The following table lists data members for the DeltaTau
object.

© Automationdirect.com

3-35

Object Reference Manual

Chapter 2

System Objects

Table 3-7. DeltaTau Data Members

Data Member

Type

Read

Write

Description

DS0 – DS8190

numeric

yes

yes

Signed 32-bit word ranging from
–2,147,483,648 to 2,147,483,647

DW0 – DW8190

numeric

yes

yes

32-Bit double-precision word ranging
from 0 to 4,294,967,295

F0 – F8188

numeric

yes

yes

32-bit IEEE floating point word

S0 – S8190

numeric

yes

yes

Signed 16-bit word ranging from
–32,768 to 32,767

Update

logical

yes

no

Driver-generated signal that pulses
each time LookoutDirect scans the
PMAC Motion Controller card

W0 – W8190

numeric

yes

yes

16-Bit word ranging from 0 to 65,535

W0.0 – W8190.15

logical

yes

yes

1 Bit in a 16-Bit word

Object Reference Manual

3-36

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

DirectLogic
The DirectLogic protocol driver object class is used to communicate to
PLC Direct by Koyo 105, 205, 305, and 405 PLCs. This driver object
supports additional Koyo private labeled PLCs under GE Series One, Texas
Instruments Series 305, 405 and Siemens Simatic TI305, TI405 names.
Please see the Protocol Reference Chart within the LookoutDirect Learning
Guide to verify the part numbers of these additional Koyo PLCs.
LookoutDirect supports both point-to-point, multidrop and Ethernet
configurations. You can connect LookoutDirect to a fixed PLC
Programming port, a networking DirectNET/CCM port, PLC DCM (data
communications module), or to an Ethernet (ECOM) communications
module.

© Automationdirect.com

3-37

Object Reference Manual

Chapter 2

System Objects

After the DirectLogic driver class is selected the following dialog appears.

The selections are as follows:
Tag: User defined object name that can be referenced for connecting
other objects.
Comm Link: The associated link chosen for the configured driver
object. When the “…” button is pressed the Select Link dialog will
appear.
Poll Rate= is a numerical expression that determines how often to poll
the device in milliseconds.
Poll is a logical expression. When the expression changes from false
to true, LookoutDirect polls the device one time. You can use a simple
expression like the signal from a pushbutton, or a complex algorithm.

If a link is not available, you will have to add one. Click the Add… button
to create a new communications link then select the correct Serial or
Ethernet port that you have the cable attached from your PC to the PLC.

Object Reference Manual

3-38

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

NOTE: If you are creating a serial Link that will connect through a modem, see the
Modem Setup Guide Appendix C in the LookoutDirect Learning Guide. If you are creating
an Ethernet Link, refer to the DirectSoft Communications Server online help.

Note

After making your choice click on the Next button.

Select the PLC family by single clicking on the appropriate choice. If you
are unsure of the PLC family but know which communications protocol to
use, you can select the “ **Not Sure**” choice. If you are using a PLC
Direct compatible PLC the LinkWizard can try to detect the model
automatically.
Click on the Next> button when you are finished with your selection.

© Automationdirect.com

3-39

Object Reference Manual

Chapter 2

System Objects

Select either the DirectNET or K-Sequence protocol. If during the previous
step you selected one of the families listed, the highlight bar will be on a
valid protocol for that family of PLC. The choice of protocol to use will
depend on two factors:

•

Whether or not the PLC you are connected to supports the protocol on
the port where the cable is connected. For a listing of protocols
available on each port of DirectLogic compatible PLCs see the
Protocol Reference Chart in the Creating and Managing
Communication Links chapter within the LookoutDirect Learning
Guide. This chart is also available in the DirectSoft Communications
Server Help that can be accessed by clicking on the Link Editor button
the clicking on the Help button.

•

If you need to perform write operations to individual Discrete I/O
points or control relays, then you must select K-sequence protocol.
DirectNET protocol cannot write to individual bit locations.

If the PLC has been configured to a node Address other than 1, enter that
address now. Click on the Next button when you are finished.
The DirectLogic driver object will now attempt to establish a
communication Link with the PLC using the node address and protocol you
have selected. It will try the combination of 9600 Baud, and Odd Parity
first. If this combination is unsuccessful, an ‘auto-bauding’ sequence will
be used to try and determine the correct baud rate and parity combination.
If these attempts are unsuccessful, the following dialog is displayed. You
can click the Link Editor button and manually attempt to adjust the port

Object Reference Manual

3-40

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

configuration, or you can consult the Appendix B Communications
Troubleshooting Guide
in the LookoutDirect Learning Guide.

DirectLogic Protocol Status
The DirectLogic driver object monitors protocol statistics and the data can
be viewed by selecting Options >> DirectSoft Link Status. This menu
selection will only be visible in the Options menu if a DirectLogic driver
object was previously created in your lookout process. Select the correct
object from the list that appears, and then click Select. The Link Info
dialog box appears.
The Link Info dialog box is useful for troubleshooting communication
errors. Each error is time stamped and has an error name and an extended
error description. At anytime you can press the edit button to manually
change a setting on your link or to press Auto then Accept to clear the error
log. The Link Enable box allows you to turn the communications link On
and Off.

105/205/350/405 DirectLogic PLC Family Data Members
Table 3-8. 105/205/350/405 DirectLogic PLC Data Members

Data Member

Type

Read

Write

Description

Activated

Logical

Yes

No

Object-generated signal when TRUE,
this flag signifies an active5
communication connection between the
process file and the PLC.

C0 – C3777

Logical

Yes

Yes

Control Relays – addressed in octal and
mapped to V40600 – V40777.

CT0 – CT377

Logical

Yes

Yes

Counter status (done) bits – addressed
in octal and mapped to V41140 –
V41157

CTA0:B –
CTA377:B

Numeric

Yes

Yes

Counter current value words BCD –
addressed in octal and mapped to
V01000 – V01377

© Automationdirect.com

3-41

Object Reference Manual

Chapter 2

System Objects

Table 3-8. 105/205/350/405 DirectLogic PLC Data Members

CTA0:DB –
CTA376:DB

Numeric

Yes

Yes

Counter current value double words
(two adjacent addresses; 32-Bit) BCD –
addressed in octal and mapped to
V01000 – V01377

Failed

Logical

Yes

No

Object-generated signal when TRUE,
this flag signifies the process file is no
longer communicating with the PLC.

GX0 – GX3777

Logical

Yes

Yes

Remote I/O Inputs – addressed in octal
and mapped to V40000 – V40177

GY0– GY3777

Logical

Yes

Yes

Remote I/O Outputs – addressed in
octal and mapped to V40200 – V40277

Paused

Logical

Yes

No

Object-generated signal when TRUE,
this flag signifies that the
communication connection has paused
but is still active and will go FALSE
when its paused condition is satisfied.
Usually caused by modifying the Link
while it is in use.

S0 – S1777

Logical

Yes

Yes

Stage status (active) bits – addressed in
octal and mapped to V41000 – V41077

SP0 – SP777

Logical

Yes

No

Special Relays (system status bits) –
addressed in octal and mapped to
V41200 – V41237

T0 – T0377

Logical

Yes

Yes

Timer status (done) bits – addressed in
octal and mapped to V41100 – V41117

TA0:B – TA377:B

Numeric

Yes

Yes

Timer current value words BCD –
addressed in octal and mapped to
V00000 – V00377

TA0:DB –
TA376:DB

Numeric

Yes

Yes

Timer current value double words (two
adjacent addresses; 32-Bit) BCD –
addressed in octal and mapped to
V00000 – V00377

V0 – V41237

Numeric

Yes

Yes

Single (16-Bit) V-memory registers
decimal

Object Reference Manual

3-42

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-8. 105/205/350/405 DirectLogic PLC Data Members

V0:D – V41237

Numeric

Yes

Yes

Double (two adjacent registers; 32-Bit)
V-memory registers decimal

V0:B – V41237:B

Numeric

Yes

Yes

Single (16-Bit) V-memory registers
BCD 0- 9999

V0:DB –
V41236:DB

Numeric

Yes

Yes

Double (two adjacent registers; 32-Bit)
V-memory registers BCD 0- 99999999

V0:R - V41236:R

Numeric

Yes

Yes

Double word V-memory registers
signed real (IEEE 32-Bit Floating
Point)

V0:S - V41237:S

Numeric

Yes

Yes

Single (16-Bit) V-memory registers
signed decimal ranging from -32768 to
32767

VC0 – VC3760

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers decimal Aliases for mapped
Control Relays C0 – C3777

VC0:B –
VC3760:B

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers BCD Aliases for mapped
Control Relays C0 – C3777

VCT0 – VCT360

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers decimal Aliases for mapped
Counter Status (done) bits CT0 –
CT377

VCT0:B –
VCT360:B

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers BCD Aliases for mapped
Counter Status (done) bits CT0 –
CT377

VGX0 – VGX3760

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers decimal Aliases for mapped
Remote I/O Inputs GX0 – GX3777

VGX0:B –
VGX3760:B

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers BCD Aliases for mapped
Remote I/O Inputs GX0 – GX3777

VGY0 – VGY3760

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers decimal Aliases for mapped
Remote I/O Outputs GY0 – GY3777

© Automationdirect.com

3-43

Object Reference Manual

Chapter 2

System Objects

Table 3-8. 105/205/350/405 DirectLogic PLC Data Members

VGY0:B –
VGY3760:B

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers BCD Aliases for mapped
Remote I/O Outputs GY0 – GY3777

VS0 – VS1760

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers decimal Aliases for mapped
Stage status (active) bits S0 – S1777

VS0:B – VS1760:B

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers BCD Aliases for mapped
Stage status (active) bits S0 – S1777

VSP0 – VSP760

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers decimal Aliases for mapped
Special Relays (system status bits) SP0
– SP777

VSP0:B –
VSP760:B

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers BCD Aliases for mapped
Special Relays (system status bits) SP0
– SP777

VT0 – VT360

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers decimal Aliases for mapped
Timer Status (done) bits T0 – T377

VCT0:B –
VCT360:B

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers BCD Aliases for mapped
Timer Status (done) bits T0 – T377

VX0 – VX1760

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers decimal Aliases for mapped
Inputs X0 – X1777

VX0:B –
VX1760:B

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers BCD Aliases for mapped
Inputs X0 – X1777

VY0 – VY1760

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers decimal Aliases for mapped
Outputs Y0 – Y1777

VY0:B –
VY1760:B

Numeric

Yes

Yes

Single (16-Bit) V-memory word
registers BCD Aliases for mapped
Outputs Y0 – Y1777

Object Reference Manual

3-44

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-8. 105/205/350/405 DirectLogic PLC Data Members

X0 – X1777

Logical

Yes

Yes

Inputs – addressed in octal and mapped
to V40400 – V40477

Y0 – Y1777

Logical

Yes

Yes

Outputs – addressed in octal and
mapped to V40500 – V40577

305/305S Direct Logic PLC Family Data Members
Table 3-9. 305/305S DirectLogic Data Members

Data Member

Type

Read

Write

Description

Activated

Logical

Yes

No

Object-generated signal when
TRUE, this flag signifies an active
communication connection
between the process file and the
PLC.

C160 – C373

Logical

Yes

No

Control Relays – addressed in octal

Logical

Yes

No

Special Relays – addressed in octal

Failed

Logical

Yes

No

Object-generated signal when
TRUE, this flag signifies the
process file is no longer
communicating with the PLC.

IO0 – IO157

Logical

Yes

No

Inputs and Outputs – addressed in
octal

Paused

Logical

Yes

No

Object-generated signal when
TRUE, this flag signifies that the
communication connection has
paused but is still active and will go
FALSE when its paused condition is
satisfied. Usually caused by
modifying the Link while it is in
use.

R0 – R777

Numeric

Yes

Yes

Single (8-Bit) byte registers
decimal

C1000 – C1067
C374 – C377
C770 – C777
C1070 – C1077

IO700 – IO767

© Automationdirect.com

3-45

Object Reference Manual

Chapter 2

System Objects

Table 3-9. 305/305S DirectLogic Data Members

Data Member

Type

Read

Write

Description

R0:W – R776:W

Numeric

Yes

Yes

Single (16-Bit) word registers
decimal

R0:WB – R776:WB

Numeric

Yes

Yes

Single (16-Bit) word registers BCD

RC160 – RC370

Numeric

Yes

Yes

Single (8-Bit) byte Control Relay
and Special Relay registers decimal
Aliases.

Numeric

Yes

Yes

Single (16-Bit) word Control Relay
and Special Relay registers decimal
Aliases.

Numeric

Yes

Yes

Single (16-Bit) word Control Relay
and Special Relay registers BCD
Aliases.

Numeric

Yes

Yes

Single (8-Bit) byte registers
decimal Aliases for mapped Inputs
and Outputs IO0 – IO157 and
IO700 – IO767

Numeric

Yes

Yes

Single (16-Bit) word registers
decimal Aliases for mapped Inputs
and Outputs IO0 – IO157 and
IO700 – IO767

Numeric

Yes

Yes

Single (16-Bit) word registers BCD
Aliases for mapped Inputs and
Outputs IO0 – IO157 and IO700 –
IO767

Numeric

Yes

Yes

Single (8-Bit) byte Shift Registers
decimal

RC760RC1000 – RC1070
RC160:W – RC360:W
RC760:W
RC1000:W – RC1060:W
RC160:WB – RC360:WB
RC760:WB
RC1000:WB – RC1060:WB
RIO0 – RIO150
RIO700 – RIO760

RIO0:W – RIO140:W
RIO700:W – RIO750:W

RIO0:WB – RIO140:WB
RIO700:WB – RIO750:WB

RS400 – RS570

Object Reference Manual

3-46

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-9. 305/305S DirectLogic Data Members

Data Member

Type

Read

Write

Description

RS400:W – RS560:W

Numeric

Yes

Yes

Single (16-Bit) word Shift Registers
decimal

RS400:WB – RS560:WB

Numeric

Yes

Yes

Single (16-Bit) word Shift Registers
BCD

SR400 – SR577

Logical

Yes

No

Shift Register Status Bits –
addressed in octal

T600 – T677

Logical

Yes

No

Timer/Counter status (done) bits –
addressed in octal

TCA600:WB –
TCA677W:WB

Numeric

Yes

Yes

Timer/Counter current value words
BCD – addressed in octal and
mapped to R600 – R677

© Automationdirect.com

3-47

Object Reference Manual

Chapter 2

System Objects

GE_Series90
GE_Series90 is a protocol driver class LookoutDirect uses to communicate
with GE Series 90-30 and GE Series 90-70 programmable logic controllers
(PLCs) using SNPX, a Series Ninety Protocol.

PLC Address is a slave address and refers to the PLC address setting as
configured on the device. The address can be up to eight ASCII characters.
Model chooses either 90-30 or 90-70.
Interface selects the protocol. You can choose between SNPX and
Ethernet.
Serial port specifies which port the object uses for communication to
the external device. This does not specify the communication type.
Communication type is determined by the Options»Serial Ports…
command.
Data rate, Parity, Data bits, and Stop bits reference the settings on the
hardware device.
Phone number specifies the number to be dialed if the serial port setting
is configured for dial-up. This number only applies to the individual
protocol object.

Object Reference Manual

3-48

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

PollRate is a numeric expression that determines how often to poll the
device. GE_Series90 then polls the device at the specified time interval.
Normally, this is a simple time constant such as 0:01 (one second). See
Numeric Data Members in Chapter 2, How LookoutDirect Works, of the
Getting Started with LookoutDirect manual for information on entering
time constants.
Poll is a logical expression. When this expression changes from FALSE to
TRUE, LookoutDirect polls the device. You can use a simple expression
like the signal from a pushbutton, or a complex algorithm.
Communication alarm priority determines the priority level of
object-generated alarms (0 – 10).
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
GE_Series90 object generates an alarm and releases the communication
port back to the communications service which then moves on to the next
device in the polling queue (if any). Refer to Chapter 3, Serial
Communications, in the LookoutDirect Devleoper’s Manual for more
information.
Receive timeout is the time delay LookoutDirect uses in waiting for a
response from a device before retrying the request.
The Skip every… setting instructs LookoutDirect to not poll a device it has
lost communication with on every scheduled poll. Instead, LookoutDirect
skips the device in the polling cycle accordingly. Once communications
have been reestablished, the device is polled on its regular cycle.

GE_Series90 Data Members
This protocol driver object contains a great deal of data. All readable
and writable members (inputs/outputs), polling instructions, read/write
blocking, serial port usage, and so on, are bundled with the object.
Therefore, as soon as you create a GE_Series90 object you immediately
have access to all the object data members (see data member list in
Table 3-10).
Note LookoutDirect protocol driver objects automatically generate an efficient read/write
blocking scheme based on the inputs and outputs being used in your process file. You are
not required to build your own I/O blocking table.

© Automationdirect.com

3-49

Object Reference Manual

Chapter 2

System Objects

Table 3-10. GE_Series90 Data Members

Data Member

Type

Read

Write

Description

AI1 – AI64

numeric

yes

yes

16-bit analog inputs encoded as
unsigned binary integers ranging
from 0 to 65535

AID1 – AID64

numeric

yes

yes

32-bit analog inputs encoded as
unsigned binary integers ranging
from 0 to 65535

AQ1 – AQ64

numeric

yes

yes

16-bit analog outputs encoded as
unsigned binary integers ranging
from 0 to 65535

AQD1 – AQD64

numeric

yes

yes

32-bit analog outputs encoded as
unsigned binary integers ranging
from 0 to 65535

CommFail

logical

yes

no

Object-generated signal that is on if,
for whatever reason, LookoutDirect
cannot communicate with the PLC.

I1 – I512

logical

yes

no

Single bit discrete inputs

M1 – M4096

logical

yes

yes

Single bit discrete (Internal coil)

OffHook

logical

no

yes

When TRUE, this flag instructs the
GE object to retain exclusive use of its
assigned communication port.

Poll

logical

no

yes

When this value transitions from
FALSE to TRUE, LookoutDirect
polls the device.

PollRate

numeric

no

yes

LookoutDirect expression that
determines the device polling
frequency.

Q1 – Q512

logical

yes

yes

Single bit discrete outputs

R1 – R9999

numeric

yes

yes

16-bit holding registers encoded as
unsigned binary integers ranging
from 0 to 65535

Object Reference Manual

3-50

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-10. GE_Series90 Data Members (Continued)

Data Member

Type

Read

Write

Description

RD1 – RD9998

numeric

yes

yes

32-bit holding registers encoded as
unsigned binary integers ranging
from 0 to 65535

S1 – S32

logical

yes

no

System fault

SA1 – SA32

logical

yes

no

Special Contacts A

SB1 – SB32

logical

yes

no

Special Contacts B

SC1 – SC32

logical

yes

no

Special Contacts C

Update

logical

yes

no

Object-generated signal that pulses
each time the driver polls the device

GE_Series90 Status Messages
No response within timeout period
LookoutDirect did not received the expected response within the Receive
timeout period. The object sent an inquiry and received an
acknowledgment, but the device did not send an expected response to the
request. This might happen if the response was interrupted. You may have
to increase Receive timeout.
No return inquiry response from secondary unit
LookoutDirect received no response from the device within the Receive
timeout period. The driver object is able to use the COM port, but when it
polls the device, it does not respond—as if it is not even there. You may
have to increase Receive timeout to ensure LookoutDirect is allowing
enough time to receive the expected response. Also, verify your baud rate
settings, cable connections, power, configuration settings, COM port
settings, and polling addresses.
Bad LRC or BCC
The object is receiving a poll response from the device, but it could not
decipher the response because it is garbled. Verify that all devices
connected to the COM port have unique addresses. The last part of the
message may actually be getting clipped off before it is completed.
Consider increasing the number of Retry attempts. You may have to
increase the Receive gap Serial Port setting to ensure LookoutDirect is
receiving the entire message. If your Serial Port is configured for radio, this

© Automationdirect.com

3-51

Object Reference Manual

Chapter 2

System Objects

could be caused by an audible squelch tail occurring at the end of a radio
transmission. Try adjusting RTS delay off and CTS timeout.
No attach response within timeout period
An attempt was made to establish communications with the PLC without
any response. Check your cabling and COM port selections, power,
configuration settings, and polling addresses.
Invalid response [x]
An error in the structure of a response frame was detected. You may have
two PLCs with the same address.
Incorrect response length [x]
A response was received with an unexpected length. You may have to
increase the Receive gap Serial Port setting to ensure LookoutDirect is
receiving the entire message.
Incorrect response Address
A response was received with an address not matching the objects address.
You may have two master devices on the network.
SNPX ERROR—Major code: x Minor code: x
The response message contained an SNPX error code. Refer to your
GE documentation for the meaning of this particular error.

Object Reference Manual

3-52

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Modbus
Modbus and ModbusMOSCAD are protocol driver classes LookoutDirect
uses to communicate with equipment such as programmable logic
controllers (PLCs), remote terminal units (RTUs), or any other piece of
equipment using Modbus Serial (ASCII or RTU) or Modbus Plus
communication protocol.
The Modbus object class has general-purpose addresses, such as holding
register 40001, and is suitable for communicating with nearly all Modbus
devices, including the Control Microsystems TeleSAFE RTU.
The ModbusMOSCAD object class works with Motorola MOSCAD PLCs
and RTUs. It also uses the Modbus Serial (ASCII or RTU) or Modbus Plus
communication protocol, but its data members reflect the address of
Motorola MOSCAD devices.
You can limit the number of channels LookoutDirect uses on the SA-85
card by creating a modbus.ini file in the LookoutDirect directory, as
shown in the following example.
[ALL]
MaxChannels=channel

where channel is a number between 1 and 8, inclusive (default = 8).
These protocol driver objects contain a great deal of data. All readable
and writable members (inputs/outputs), polling instructions, read/write
blocking, serial port usage, and so on are bundled with the object.
Therefore, as soon as you create a Modbus or ModbusMOSCAD object
you immediately have access to all the object data members (see data
member list in Table 3-12).
Note LookoutDirect protocol driver objects automatically generate an efficient read/write
blocking scheme based on the inputs and outputs being used in your process file. You are
not required to build your own I/O blocking table.

As protocol drivers, both object classes conform to the specifications in
the Modicon Modbus Protocol Reference Guide PI-MBUS-300 Rev. C.
The drivers support ASCII and RTU transmission modes, as well as
Modbus Plus.

© Automationdirect.com

3-53

Object Reference Manual

Chapter 2

System Objects

In this example, LookoutDirect is connected to a Modbus-speaking PLC
with an address of 5 using serial port 1 (which was previously configured
for hardwired communications), and polling the device every second.
Modbus Serial indicates that the slave device talks either Modbus ASCII
or Modbus RTU. When you select this option, LookoutDirect first tries to
communicate using the RTU format. If unsuccessful, it then tries the
ASCII format (a little slower). If your network is susceptible to repeated
communication problems, and if these problems slow scanning
considerably, you may want to disable LookoutDirect from retrying both
formats. This can speed communication retries by LookoutDirect;
however, it will not fix your communication problems. Call National
Instruments technical support to for information on how to prohibit
LookoutDirect from trying to communicate using both formats.
Modbus Plus Network indicates that the slave device is connected to the
LookoutDirect computer via a Modbus Plus network card.
NetBIOS-based networking software typically uses software interrupt 5C. This is
also the default software interrupt used by the Modbus Plus Network card driver. Change
the Modbus Plus software interrupt from 5C to 5D, 5E, or 5F. Refer to your Modicon
documentation for instructions on changing the software interrupt setting.

Note

Modbus Ethernet indicates you are communicating with the Modbus
slave device using an Ethernet connection.
If you select Modbus Serial, you must specify Address, Serial Port, Data
Rate, Parity, Data Bits, and Stop Bits. And if you are using a Dial-up

Object Reference Manual

3-54

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

modem connected to your communication port, you must also specify a
Phone Number.
If you select Modbus Plus Network, you need only specify the remote
device Address.
If you select Modbus Ethernet you must specify the IP address in
addition to Alarm Priority, Poll Rate, Poll Retry attempts, and Receive
timeout.
Address is a slave address and refers to the PLC or RTU address setting as
set on the device dip switches. If devices share a common line, they require
unique addresses (1 to 255).
IP address is the Internet Protocol address for the Modbus slave object you
are communicating with.
Serial port specifies which port the object uses for communication to the
external device. This does not specify the communication type.
Communication type is determined by the Options»Serial Ports…
command.
Data rate, Parity, Data bits, and Stop bits reference the settings on the
hardware device.
The Defaults button replaces the current settings with default values.
Alarm priority determines the priority level of Modbus-generated alarms.
Phone number specifies the number to be dialed if the serial port setting
is configured for dial-up. This number only applies to the individual
protocol object.
PollRate is a numeric expression that determines how often to poll the
device. Modbus then polls the device at the specified time interval.
Normally, this is a simple time constant such as 0:01 (one second). See
Numeric Data Members in Chapter 2, How LookoutDirect Works, of the
Getting Started with LookoutDirect manual for information on entering
time constants.
Poll is a logical expression. When this expression changes from FALSE to
TRUE, LookoutDirect polls the device. You can use a simple expression
like the signal from a pushbutton, or a complex algorithm.
Retry attempts specifies the consecutive number of times LookoutDirect
attempts to establish communications with a device if it is not getting a

© Automationdirect.com

3-55

Object Reference Manual

Chapter 2

System Objects

valid response. After it tries the number of Retry attempts specified, the
Modbus object generates an alarm and releases the communication port
back to the communications subsystem which then moves on to the next
device in the polling queue (if any). Refer to Chapter 3, Serial
Communications, in the LookoutDirect Developer’s Manual for more
information.
Receive timeout is the time delay LookoutDirect uses in waiting for a
response from a device before retrying the request.

Advanced Modbus Parameters
The Modbus driver attempts to block the reads and writes of coils, input
registers and holding registers into groups to maximize communication
efficiency. Through the Advanced Modbus Options dialog box, you can
control the maximum block sizes that the driver uses. In fact, if your device
does not support the default block sizes, you may have to specify smaller
blocks.
The Advanced… button invokes the Advanced Modbus Options dialog
box you can use to customize specific options within the Modbus protocol.

Object Reference Manual

3-56

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

The Modbus object class uses Modbus Function Codes 01, 02, 03, 04, 05,
06, 15, and 16; and expects the remote I/O device to support these codes as
specified by Modbus. The driver can communicate with up to 247 Modbus
slave devices on each serial port.
The Maximum values per message settings specify the maximum number
of elements LookoutDirect attempts to read (fc 1 – fc 4), or write
(fc 15 and fc 16), in a single Modbus message. The default values
represent the maximum number of elements that the protocol can transmit
in a single message, and provides optimal speed. However, some devices
are not capable of handling the maximum number of elements, so you
should set the values according to the documentation for those devices.
If the Immediately write outputs option is ON, LookoutDirect
immediately polls the device any time a value changes that is being written
out to the device. If it is OFF, LookoutDirect waits until the next scheduled
poll to write out changed values.
The Skip every… setting instructs LookoutDirect to not poll a device it has
lost communication with on every scheduled poll. Instead, LookoutDirect
skips the device in the polling cycle accordingly. Once communications
have been reestablished, the device is polled on its regular cycle.
The Daniel option is device-dependent and instructs LookoutDirect to
treat holding registers as 32-bit IEEE floating values instead of 16-bit
values. If you set this flag, you must also set your hardware device to treat
holding registers as 32-bit floats—most devices do not support this option,
but Bristol-Babcock RTUs and Daniel flow meters do.

© Automationdirect.com

3-57

Object Reference Manual

Chapter 2

System Objects

Activating the Daniel option deactivates all Modbus holding register members (on
that device) except for 40001 – 49999 and 4000001 – 465000. If you attempt to read
D40001, for example, the returned value is 0, and LookoutDirect will not attempt to write
D40001 to the RTU. Of course, in devices that do not support this option, you can still read
and write two adjacent holding registers as a floating point value with the Modbus data
members F40001 – F4999. In fact, this is a more general purpose solution than the Daniel
option, because you can still read bits and word values out of the holding registers, too.

Note

Some Modbus PLCs reverse byte order in a floating point data member. If
your process is returning garbled or senseless floating point values, select
the Modicon 32-bit floating point order (0123 vs. 3210) option in the
Advanced Modbus Options dialog box. This option chooses whether the
characters within the floating point registers (data members F40001 –
F49999 and F400001 – F465000) are in little endian or big endian
format.
On occasion a Modbus PLC will direct a message to your process. To poll
for all data member values following receipt of such a poll, select the Poll
on receipt of unsolicited message option in the Advanced Modbus
Options dialog box. Using this option is a way to force a poll of a Modbus
device based on an event, without reference to the configured poll intervals
and somewhat outside the usual LookoutDirect event-driven action.
Notice that the D and F data members read two adjacent registers as single,
32-bit numbers. One consequence of this is that if you connect to two adjacent registers,
such as D40010 and D40011, you will get incorrect values because of overlapping. Make
sure that you do not connect to adjacent registers with the D or F data members.
Caution

Modbus Protocol Statistics
The driver monitors Modbus Protocol Statistics. This data is held within
readable data members of the Modbus object and you can see them in the
Modbus Protocol Statistics dialog box. To view the dialog box, select
Options»Modbus… and click on Statistics….
Note The Options»Modbus… option is only visible in the Options menu if a Modbus
object was previously created in your LookoutDirect application.

Object Reference Manual

3-58

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

The Count column contains the accumulated number of messages received
from the selected Device that fall into each respective category since the
last time the Reset button was pressed. The percent column (%) indicates
the percentage of messages received that fall into each respective category
since the last time the Reset button was pressed.
When you depress the Reset button, the ResetCounts data member is set
TRUE, setting all statistical values to zero. LookoutDirect records the date
and time that the reset was last performed in the Since last reset data field.

© Automationdirect.com

3-59

Object Reference Manual

Chapter 2

System Objects

Modbus Data Members
The Modbus object class supports both 5-digit and 6-digit addressing.
When you use a 6 digit address, the left-most digit represents the address
type as follows:
Table 3-11. 6-Digit Address Coding

First Digit

Address Type

0

Single-bit coils

1

Discrete inputs

3

Input registers

4

Holding registers

The remaining 5 digits represent the actual address of the coil, input or
holding register.
When you reference address 000001 and address 1, you are referring to the same
point, but 40001 and 040001 do not refer to the same point. Because zero is the left-most
digit in the 6-digit address, 040001 points to the 40001st single-bit coil and 40001 refers to
the first holding register.

Note

Table 3-12. Modbus Data Members

Data Member

Type

Read

Write

Description

000001 – 065000

logical

yes

yes

6-digit addresses of single-bit coils

1 – 9999

logical

yes

yes

Single-bit coils

100001 – 165000

logical

yes

no

6-digit addresses of single-bit discrete
inputs

10001 – 19999

logical

yes

no

Single bit discrete inputs

300001 – 365000

numeric

yes

no

6-digit addresses of 16-bit input
registers encoded as unsigned binary
integers ranging from 0 to 65535

30001 – 39999

numeric

yes

no

16-bit input registers encoded as
unsigned binary integers ranging
from 0 to 65535

Object Reference Manual

3-60

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-12. Modbus Data Members (Continued)

Data Member

Type

Read

Write

Description

400001 – 465000

numeric

yes

yes

6-digit addresses of 16-bit input
registers encoded as unsigned binary
integers ranging from 0 to 65535

400001.1 – 465000.16

logical

yes

yes

6-digit address used to access
individual bits out of holding registers
and read them as logical ON/OFF
values. The least significant bit is 1;
the most significant, 16.

40001 – 49999

numeric

yes

yes

16-bit holding registers encoded as
unsigned binary integers ranging
from 0 to 65535

40001.1 – 49999.16

logical

yes

yes

Access individual bits out of holding
registers and read them as logical
ON/OFF values. The least significant
bit is 1; the most significant, 16.

BadCRC

numeric

yes

no

Number of responses from device
whose message failed the cyclic
redundancy check (CRC) or the
longitudinal redundancy check (LRC)

BCD300001 –
BCD365000

numeric

yes

no

6-digit addresses of 16-bit input
registers encoded as binary-coded
decimal integers ranging from 0 to
9999

BCD30001 –
BCD39999

numeric

yes

no

16-bit input registers encoded as
binary-coded decimal integers
ranging from 0 to 9999

BCD400001 –
BCD465000

numeric

yes

yes

6-digit addresses of 16-bit holding
registers encoded as binary-coded
decimal integers ranging from
0 to 9999

BCD40001 –
BCD49999

numeric

yes

yes

16-bit holding registers encoded as
binary-coded decimal integers
ranging from 0 to 9999

© Automationdirect.com

3-61

Object Reference Manual

Chapter 2

System Objects

Table 3-12. Modbus Data Members (Continued)

Data Member

Type

Read

Write

Description

CommFail

logical

yes

no

Driver-generated signal that is ON if
LookoutDirect cannot communicate
with the device for whatever reason

D400001 – D465000

numeric

yes

yes

6-digit addresses of 32-bit unsigned
holding register—reads two adjacent
holding registers as a single 32-bit
number ranging from 0 to
4,294,967,296.

D40001 – D49999

numeric

yes

yes

32-bit unsigned holding
register—reads two adjacent holding
registers as a single 32-bit number
ranging from 0 to 4,294,967,296.

Exceptions

numeric

yes

no

Number of responses from device
whose message was understandable
to the driver but included an error
code indication from the device

F400001 – F465000

numeric

yes

yes

6-digit addresses of 32-bit IEEE
floating point register—reads two
adjacent holding registers as a single
32-bit floating point value

F40001 – F49999

numeric

yes

yes

32-bit IEEE floating point
register—reads two adjacent holding
registers as a single 32-bit floating
point value

Garbled

numeric

yes

no

Number of responses from device
whose message was unintelligible to
the driver

NoResponse

numeric

yes

no

Number of polls generated by driver
not responded to by device

OffHook

logical

no

yes

When TRUE, this flag instructs the
Modbus object to retain exclusive use
of its assigned communication port

Poll

logical

no

yes

When this expression transitions
from FALSE to TRUE,
LookoutDirect polls the device.

Object Reference Manual

3-62

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-12. Modbus Data Members (Continued)

Data Member

Type

Read

Write

Description

PollRate

numeric

no

yes

LookoutDirect expression that
determines the device polling
frequency.

ProtocolErrors

numeric

yes

no

Total number of bad messages
received from polled device

ResetCounts

logical

no

yes

Resets number to zero in the
following data members: ValidFrame,
NoResponse, TooShort, BadCRC,
Garbled, Exceptions, &
ProtocolErrors

S400001 – S465000

numeric

yes

yes

6-digit addresses of 16-bit holding
registers encoded as signed binary
integers ranging from –32767 to
+32768.

S40001 – S49999

numeric

yes

yes

16-bit holding registers encoded as
signed binary integers ranging from
–32767 to +32768.

TooShort

numeric

yes

no

Number of responses from device
whose message length was too short

Update

logical

yes

no

Driver-generated signal that pulses
each time the driver polls the device

ValidFrame

numeric

yes

no

Number of good messages received
from polled device

Comments You can use the OffHook data member to enhance communications when

using the Modbus object class with dial-up modems. When OffHook is TRUE and the
serial port is connected to a dial-up modem, the Modbus object does not hang up the
modem when the poll is complete. Rather, it keeps the phone off the hook, retaining
exclusive use of the serial port. As long as OffHook is TRUE, the Modbus object
continues to poll the same PLC without hanging up the modem.
As soon as OffHook goes FALSE, the object releases the serial port to the
communications subsystem, which goes to the next poll request in the
queue, if any. The object also releases the port if data communications are
lost for any reason—such as if the PLC modem breaks the connection.

© Automationdirect.com

3-63

Object Reference Manual

Chapter 2

System Objects

When using OffHook, consider defining the driver object PollRate to poll
fast when OffHook is TRUE, and poll at its normal rate when OffHook is
FALSE. You might tie a Switch object to the OffHook writable data
member for this very purpose.

Object Reference Manual

3-64

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

National Instruments FieldPoint
FieldPoint is a protocol driver class LookoutDirect uses to communicate
with FieldPoint devices using an enhanced version of the Optomux
communication protocol. This object works with the FieldPoint models
FP-1000, FP-1001, FP-AI-110, FP-AO-200, FP-DI-330, and FP-DO-400.
This protocol uses no parity, eight data bits and one stop bit. In
LookoutDirect, a single FieldPoint object represents all devices connected
to the same COM port.
The LookoutDirect FieldPoint object can read and write to all predefined
data points allowed by the particular FieldPoint module. When you create
a FieldPoint object, you have immediate access to all the object data
members. See the FieldPoint Data Members section for more information
on object data members.

When you select the Ethernet option, the serial port configuration options
are disabled.
Enter the IP address in the Address field. You could also enter the
FieldPoint network name instead.
If you replace a FieldPoint FP-1000 module (serial communications) with a
FieldPoint FP-1600 module (Ethernet communications) or replace an FP-1600 module
with an FP-1000 module, you must re-import your .IAK file. First, you must use

Note

© Automationdirect.com

3-65

Object Reference Manual

Chapter 2

System Objects

FieldPoint Explorer to update your .IAK file. If necessary, consult your FieldPoint online
help for detailed instructions on using FieldPoint Explorer. To re-import the .IAK file,
unselect the Import alias information checkbox and click on OK. Reopen the FieldPoint
object dialog box and select the Import alias information checkbox again. When you
click on OK, LookoutDirect re-imports the new .IAK file infomation.
Serial port specifies which COM port the object uses for communicating
to the external device. This does not specify the communication type.
Communication type is determined by the Options»Serial Ports... menu
command.
Data rate indicates the baud rate that LookoutDirect uses to communicate
with the hardware device. This setting should match the selection made on
each of your network modules.
Phone number specifies the number to be dialed if the selected serial port
is configured for dial-up. This number only applies to the individual
protocol object.
PollRate is a numeric expression that determines how often to poll the
device. The object then polls the device at the specified time interval.
Ordinarily, this is a simple time constant such as 0:01 (one second). See
Numeric Data Members in Chapter 2, How LookoutDirect Works, of the
Getting Started with LookoutDirect manual for information on entering
time constants.
Poll is a logical expression. When transitioned from FALSE to TRUE,
LookoutDirect polls the device. This can be a simple expression, like the
signal from a pushbutton, or it can be a complex algorithm.
Communication alarm priority determines the priority level of alarms
generated by the FieldPoint object. Such alarms are typically related to
communications with the physical device.
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
FieldPoint object generates an alarm and releases the COM port. Refer to
Chapter 3, Serial Communications, in the LookoutDirect Developer’s
Manual for more information.
Receive timeout is the time delay LookoutDirect uses in waiting for a
response from a device before retrying the request.

Object Reference Manual

3-66

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

The Skip every n setting instructs LookoutDirect to not poll a device it has
lost communication with on every scheduled poll. Instead, LookoutDirect
skips the device in the polling cycle. Once communications have been
reestablished, the device is polled on its regular cycle.
IAK configuration file is a dialog for selecting an IAK configuration file.
The IAK file contains alias and scaling information which is extracted for
use in LookoutDirect. Choose the configuration file you want to use by
entering the path directly, or use the Browse button. Check Import alias
information if you want to extract information from the selected file.

FieldPoint Data Members
As with all LookoutDirect drivers, you can access I/O points and other data
through data members. The following is a table of data members currently
supported by the FieldPoint object class.
Table 3-13. National Instruments FieldPoint Data Members

Data Member

Type

Read

Write

Description

AI000.00 - AI255.15

numeric

yes

no

Analog input channels.

AO000.00 - AO255.15

numeric

yes

yes

Analog output channels.

CA000.00 - CA255.15

numeric

yes

no

Use to connect to count inputs on a
FieldPoint counter module.

CD000.00 - CD255.15

logical

yes

no

Use to connect to digital inputs on a
FieldPoint counter module.

CI000.00 - CI255.15

logical

no

yes

Counter increment.

CO000.00 - CO255.15

logical

yes

yes

Use to connect to digital outputs in a
FieldPoint Counter module.

CommFail

logical

yes

no

Goes high if LookoutDirect cannot
communicate with the device.

CR000.00 - CR255.15

logical

no

yes

Counter reset.

DI000.00 - DI255.15

logical

yes

no

Discrete input channels.

DO000.00 - DO255.15

logical

yes

yes

Discrete output channels.

PF000.00 - PF255.15

numeric

yes

yes

Pulse width modulator period setting.
Period is the entire on/off time of the
pulse in milliseconds.

© Automationdirect.com

3-67

Object Reference Manual

Chapter 2

System Objects

Table 3-13. National Instruments FieldPoint Data Members (Continued)

Data Member

Type

Read

Write

Description

Poll

logical

no

yes

When transitioned from low to high,
LookoutDirect begins a poll cycle on
the device.

PollRate

numeric

no

yes

Specifies the frequency at which
LookoutDirect polls the device.

PW000.00 - PW255.15

numeric

yes

yes

Sets the FieldPoint pulse module duty
cycle on/off ratio. A setting of 10.00
means the pulse is on for 10% of the
pulse period and off for 90%.

RL000.00 - RL255.15

logical

yes

yes

Use to connect to digital output
channels on a FieldPoint relay
module.

RT000.00 - RT255.15

numeric

yes

no

RTD temperature measurement
module analog input; returns a value
in degrees Centigrade.

TC000.00 - TC255.15

numeric

yes

no

Use to connect to analog input
channels on a FieldPoint
thermocouple module.

Update

logical

yes

no

Goes high when LookoutDirect
begins a poll cycle on the device.

Note When you use the CA, CD, CI, CO, CR, PW, RL, RT, and TC data members with
FieldPoint serial modules, they are synonyms for analog or digital inputs or outputs as
follows:
CI, CD—Digital Input
CR, CA, RL—Digital Output
PF, PP, RT, TC—Analog Input
PW—Analog Output

With FieldPoint Ethernet, these data members represent different FieldPoint modules.
The first two characters of the I/O data members represent the kind of module being
accessed. The next three digits represent the device address of the module. This is the
address of the I/O module itself, not the network module that governs it. Following the
period are two digits representing the channel number within the module.

Note

Not all of these data members are valid for every FieldPoint module. For all the device
Object Reference Manual

3-68

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

types you are able to select the full range of device addresses and channels. So if you select
DO123.03, you need to be certain that the device at address 123 is in fact a discrete output
module.
For a more complete definition of the function of these data members, see FieldPoint
documentation.
In the event of a power cycle to the FieldPoint device during use, the configuration
of the device reverts to some default state, which is configurable. You should keep in mind
that if the ranges you configured into the IAK file differ from those in the power-up
configuration, the scaling information imported from the IAK file and used as a
LookoutDirect alias might become outdated and incorrect after a power loss. To avoid this,
make certain your power-up configuration ranges and your IAK configuration ranges are
identical.

Note

FieldPoint Multiple Discrete Data Members
Table 3-14. Multiple Discrete Data Members

Data Member

Type

Read

Write

Description

MDI000.0000 MDI255.FFFF

numeric

yes

no

Multiple discrete input channels

MDO000.0000 MDO255.FFFF

numeric

yes

yes

Multiple discrete output channels

These special purpose data members are for reading or writing a numeric
integer value to a set of discrete channels.
For instance, when you are configuring your modules with FieldPoint
Explorer, you have the option of selecting more than one discrete channel
for a data item that you are defining. If you do this and import the resulting
.IAK file into LookoutDirect for use as aliases, the aliases created will
correspond to this set of data members. You can then read and write to all
the discrete channels with a single numeric data member. The data member
names are in the form MTTAAA.CCCC, where:
MIndicates multiple as opposed to single
TTTwo characters specifying module type (Discrete Out,

Discrete In)
AAAThree numeric characters specifying module address
CCCCFour hexadecimal characters specifying which of
the 16 channels are included in this data member

© Automationdirect.com

3-69

Object Reference Manual

Chapter 2

System Objects

These data members will not enumerate. You may use them either by importing
configurations from FieldPoint Explorer or by entering the data member name explicitly.

Note

FieldPoint Error Messages
No response within timeout period
LookoutDirect received no response from a device within the Receive
timeout period. The FieldPoint object is able to use the COM port, but
when it polls the device, the device does not respond. If you have
daisy-chained several devices, you have introduced an inherent delay. You
may have to significantly increase Receive timeout (and Poll Rate) to
ensure LookoutDirect is allowing enough time to receive the expected
response. This increase has nothing to do with the processing capabilities
of LookoutDirect. Rather it is based solely on Data rate and the number of
devices on the chain. Also, verify your baud rate settings, cable
connections, power, configuration settings, COM port settings, and polling
addresses.
Module returning ?? checksum
This means that the frame sent from the PLC in response to the command
sent by LookoutDirect out returned ?? instead of a valid checksum. Check
FieldPoint configuration.
Message Garbled - Bad CRC
This means the checksum (CRC in this case) failed in a frame received by
LookoutDirect. Check cabling or for two or more devices with the same
address.
Unexpected data response length
The frame received was of an unexpected length. Check the LookoutDirect
receive gap setting.
Error loading IAK configuration file
LookoutDirect was not able to successfully extract data from the .IAK
configuration file. Try running the FieldPoint Explorer again and
reconfigure your hardware.
FP error: Power-up clear expected
A command other than power-up clear was attempted after power-up or
power failure. The command sent is ignored and normal operations should
resume.

Object Reference Manual

3-70

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

FP error: Undefined command
The addressed module does not support this command. (for example, trying
to write to an input module) Check to see if you are sending a command
appropriate to the module.
FP error: Checksum error
This means the checksum (CRC in this case) failed in a frame sent by
LookoutDirect. Check the LookoutDirect receive gap setting.
FP error: Input buffer overrun
The command sent to the FieldPoint module was too long. Check the
LookoutDirect receive gap setting.
FP error: Non-printable ASCII character received
Only characters from ASCII value 33 to 127 are permitted in FieldPoint
commands. The command is ignored.
FP error: Data field error
An insufficient or incorrect number or characters were received by the
FieldPoint module for the specified command. Check the LookoutDirect
receive gap setting.
FP error: Communications link network watchdog timed out
There has been no network traffic in the amount of time specified by your
watchdog configuration settings, and the system has reverted to its
watchdog defaults.
FP error: Specified limits invalid for the command
This includes the case where an invalid digit (hex or decimal) was received.
Check the LookoutDirect receive gap setting.
FP error: ASCII to binary conversion error
One or more ASCII characters could not be converted to binary on the
FieldPoint module. Check the LookoutDirect receive gap setting.
FP error: Invalid device address
The command is valid, but the addressed module does not support the
command received. Check to see if you are sending a command appropriate
to the module.
FP error: Serial framing error
An improperly framed command was received by the FieldPoint module.
Check the LookoutDirect receive gap setting.

© Automationdirect.com

3-71

Object Reference Manual

Chapter 2

System Objects

FP error: Addressed module does not exist
Make sure that you are addressing a valid module address.
FP error: Invalid channel
One or more channels specified in the command either do not exist or do
not support the operation specified.
FP error: Invalid range setting
Check to see that the range information on the module has not changed,
possibly due to a loss of power.
FP error: Invalid operation for the module
One or more module-specific operations specified in the command either
do not exist or do not support the operation specified. Make sure that you
are not requesting a discrete operation for an analog module, and vice
versa.
FP error: Module has been hotswapped since last command
The alarm should deactivate immediately after it appears. It appearance is
only to acknowledge that a hot swap has occurred.
FP error: Irrecoverable hardware fault
A malfunction in the FieldPoint firmware or hardware has made
communications from LookoutDirect impossible.
Channel specific error: dev:##,ch:##,err:##
These are error codes returned from the FieldPoint I/O modules. The alarm
message specifies a device address, channel number, and error code. See
FieldPoint documentation for a description of the error condition.

National Instruments LookoutDirect OPC Client
LookoutDirect uses the National Instruments LookoutDirect OPC client to
read data from and write data to any OPC server. It supports numeric,
logical (boolean), and text I/O. The LookoutDirect 4 OPC client normally
reads from the cache. You can connect a switch or pushbutton to the
PollDevice data member to trigger a device update.
For your convenience, you can create OPCFieldPoint and OPCNIDAQ
versions of the OPCClient object class by selecting these two special cases
from the Select Object Class dialog box.

Object Reference Manual

3-72

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

If you are using the National Instruments OPC IATest server, there is no device to
poll. Triggering the PollDevice data member returns a zero (0). Simulated data will be
restored shortly after such a poll.

Note

The Server Name box enumerates all of the OPC servers registered on the
local computer. Select the appropriate server.
The Server Name listbox contains only local servers. It has no effect on what you
find when you browse remote servers.

Note

You can then select one of the In-Process Server, Local Server, and
Remote Server options. These options specify the type of server the OPC
client will attempt to launch. If it cannot successfully connect to the
selected server, the OPC client generates an alarm.
Select Remote Server to enable Computer Name, which specifies the
name of the computer on which the remote server is to be launched. If you
know the computer name you want, enter it preceded with two backslashes,
as in \\PUMMEL.
Caution In-process servers should only be used if LookoutDirect is the only program
communicating with the server. If other programs address the same server, use the Local
Server option.

The Browsing options include Disabled, Flat, and Hierarchical. If your
OPC servers permit browsing, select either Flat or Hierarchical. If you

© Automationdirect.com

3-73

Object Reference Manual

Chapter 2

System Objects

enable flat browsing all data members appear in any LookoutDirect
windows displaying OPC client data members. If you select Hierarchical,
the data members are arranged in hierarchical folders.
To browse remote servers, click on the browsing button next to the Remote
Server field. The following dialog box appears.

Browse for the computer you want, and select the OPC server running on
the computer that you want to access.
You must have the Microsoft Remote Registry service installed for remote OPC
browsing to work on a computer running Windows 98/95. To install, select
Start»Settings»Control Panel and then select Network. Check the Configuration tab to
see if Microsoft Remote Registry is installed. If it is not, click on the Add button, and select
Service in the Select Network Component Type dialog box. Choose Microsoft as the
manufacturer. If the Remote Registry service is not visible, you will need your
Windows 98/95 CD-ROM. You may have to browse through the disk to find the correct
service. Once you have installed this service, you can successfully use remote OPC
browsing in the LookoutDirect OPCClient object.

Note

Select Use Asynchronous I/O if you want to us asynchronous
communications with your OPC server. This is the preferred
communications mode, and should be used when possible.
The Force Refresh after Write option is only available if you select the
Use Asynchronous I/O option. This option forces the OPC server to return
the current status of all data members every time you write to one.
Selecting Force Refresh after Write can sometimes impair performance of your
LookoutDirect process, depending on the number of data members in your OPC server and

Note

Object Reference Manual

3-74

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

other system variables, including communications speed and what other tasks are being
performed at any particular moment.
Update Rate is a numeric expression that determines how often the OPC
server updates the client. Enter this time interval in milliseconds.
Deadband sets the percentage change that must take place in a data
member before the OPC server reports a change in value to LookoutDirect.
Poll Device is a logical expression. When this expression changes from
FALSE to TRUE, LookoutDirect polls the OPC server for all values. You
can use a simple expression like the signal from a pushbutton, or a complex
algorithm. In most applications there is no need to do device reads, so this
parameter is often left blank.
Enter a Default Access Path if you want to simplify entering paths to
various data members.
Communication Alarm Priority specifies the priority of alarms generated
by this OPC client object.

OPC Client Data Members
As with all LookoutDirect drivers, you can access I/O points and other data
through data members.
Unlike other LookoutDirect driver objects, however, the OPCClient data
member set changes depending on the OPC servers you have running on
your computer.
If you selected hierarchical browsing when you created the OPCClient, the
data members for the OPC server you have connected your OPC client to
appear as data members inside a folder in your OPCClient list of data
members in the LookoutDirect Object Explorer, connection editor, and
other windows as shown in the following illustration.

© Automationdirect.com

3-75

Object Reference Manual

Chapter 2

System Objects

If you selected flat browsing, you will see a long list of available data
members without hierarchical organization into folders.
If you did not enable browsing, or your computer cannot browse certain
OPC servers, you will only see the data members built into the
LookoutDirect OPCClient.
The LookoutDirect OPCClient object class currently contains the built-in
data members contained in the following table.
Table 3-15. OPCClient Data Members

Data Member

Type

Read

Write

Description

Activate

logical

no

yes

When TRUE, the OPC client is active
and receives data. When FALSE, the
OPC client does not update.

CommFail

logical

yes

no

Goes high if LookoutDirect cannot
communicate with the server.

DataError

logical

yes

no

Goes high if the object cannot
properly process the data returned by
the server.

Object Reference Manual

3-76

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-15. OPCClient Data Members (Continued)

Data Member

Type

Read

Write

Description

PollDevice

logical

no

yes

When transitioned from FALSE to
TRUE, the object polls the server.

Update

logical

yes

no

Pulses high and low when the OPC
server updates LookoutDirect or
LookoutDirect successfully polls the
server.

The data members for the OPC Client depend on your OPC server. To use
one of the data members from your server, enter the data member directly
into an expression or URL field.
If the OPC server permits browsing, you can use data members as you
would with any other LookoutDirect driver object. If you cannot browse
your OPC server, enter the item manually in the form acceptable to your
OPC server, as in the following example:
OPCclient1.'device\folder\itemName'
Note Notice the use of single quotes. Using a single quote around a component of a path
allows the use of any character in that path, not just the normally allowed characters.

If all your items use the same access path, use the Default Access Path
option. If you need to specify a different access path, use a period and
tilde (.~) to denote the first element of the path, as in the following
example:
OPCclient1.'device\itemN'.'~accesspath'

Notice that the access path must be a separate component. Single quotes
denote a string as being a single component.
If an item name or access path already contains a tilde, you must enter one
additional tilde to act as an escape character for that tilde, and a second
additional tilde to denote an access path (for example, if the access path is
~COM1, enter ~~~COM1).

Examples
OPCclient1.'4:0'.'~Modbus Demo Box'

The access path is Modbus Demo Box and the OPC item ID is 4:0.
OPCclient1.'4:0'

© Automationdirect.com

3-77

Object Reference Manual

Chapter 2

System Objects

The access path is Null and the OPC item ID is 4:0.
Note

You cannot browse access paths for an item. You must enter access paths manually.

Object Reference Manual

3-78

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Omron
Omron is a protocol driver class LookoutDirect uses to communicate with
Omron devices using the Host Link serial communication protocol.
An Omron object contains a great deal of data. It supports reading and
writing of all predefined data points. When you create an Omron object,
you have immediate access to all the data members for that object (see
Omron Data Members list in Table 3-16).

Serial port specifies which COM port the object uses for communicating
to the external device. This does not specify the communication type.
Communication type is determined by the Options»Serial Ports…
command.
Data rate indicates the baud rate that LookoutDirect uses to communicate
with the hardware device. This Data rate setting should match the
selection made on the physical device.
Data bits indicates the number of data bits that LookoutDirect uses to
communicate with the hardware device. This Data bits setting should
match the selection made on the physical device.
Stop bits indicates the number of stop bits that LookoutDirect uses to
communicate with the hardware device. This Stop bits setting should
match the selection made on the physical device.

© Automationdirect.com

3-79

Object Reference Manual

Chapter 2

System Objects

Parity indicates the parity that LookoutDirect uses to communicate with
the hardware device. This Parity setting should match the selection made
on the physical device.
Phone number specifies the number to be dialed if the selected serial
port is configured for dial-up. This Phone number only applies to the
individual protocol object.
PollRate is a numeric expression that determines how often to poll the
device. The object then polls the device at the specified time interval.
Normally, this is a simple time constant such as 0:01 (one second). See
Numeric Data Members in Chapter 2, How LookoutDirect Works, of the
Getting Started with LookoutDirect manual for more information on
entering time constants.
Poll is a logical expression. When this expression changes from FALSE to
TRUE, LookoutDirect polls the device. You can use a simple expression
like the signal from a pushbutton, or a complex algorithm.
Communication alarm priority determines the priority level of alarms
generated by the Omron object. Such alarms are typically related to
communications with the physical device.
Retry attempts specifies the consecutive number of times LookoutDirect
attempts to establish communications with a device when it is not getting
a valid response. After it tries the number of Retry attempts specified,
the Omron object generates an alarm and releases the communication port
back to the communications subsystem. The subsystem then moves on to
the next device in the polling queue (if any). See Chapter 3, Serial
Communications, in the LookoutDirect Developer’s Manual for more
information.
Receive timeout is the time delay LookoutDirect uses in waiting for a
response from a device before retrying the request.
The Skip every… setting instructs LookoutDirect not to poll a device it has
lost communication with on every scheduled poll. Instead, LookoutDirect
skips the device in the polling cycle. Once communications have been
reestablished, the device is polled on its regular cycle.

Omron Data Members
As with all LookoutDirect drivers, you can access I/O points and other data
through data members. The following is a table of data members currently
supported by the Omron object class.

Object Reference Manual

3-80

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-16. Omron Data Members

Data Member

Type

Read

Write

Description

AR0–AR27

numeric

yes

yes

Auxiliary relay area, read as 16-bit
word.

AR0.0–AR27.15

logical

yes

yes

Auxiliary relay area, read as 1-bit
discrete.

DM0–DM9999

numeric

yes

yes

Data memory area, 16-bit word.

CommFail

logical

yes

no

Object-generated signal that is on if,
for any reason, LookoutDirect cannot
communicate with the device(s).

HR0–HR99

numeric

yes

yes

Holding relay area, read as 16-bit
word.

HR0.0–HR99.15

logical

yes

yes

Holding relay area, read as 1-bit
discrete.

IR0–IR511

numeric

yes

yes

I/O area, read as 16-bit word.

IR0.0–IR511.15

logical

yes

yes

I/O area, read as 1-bit discrete.

LR0–LR63

numeric

yes

yes

Link relay area, read as 16-bit word of
information.

LR0.0–LR63.15

logical

yes

yes

Link relay area, read as 1-bit discrete.

TC0–TC999

numeric

yes

no

Timer/Counter, read as 16-bit word.

Update

logical

yes

no

Object-generated signal that pulses
low each time it polls the device.

The Omron requires a special cable configuration in order to work properly. See
your Omron hardware documentation for the correct configuration.

Note

Omron Status Messages
No response within timeout period
LookoutDirect received no response from a device within the Receive
timeout period. The Omron object is able to use the COM port, but when
it polls the device, it does not respond—as if it is not even there.

© Automationdirect.com

3-81

Object Reference Manual

Chapter 2

System Objects

Cannot set PLC to MONITOR mode
The Omron object is trying to set the PLC in MONITOR mode in order to
communicate with the PLC correctly, but cannot perform the operation.
Incorrect address in response
The frame received had an incorrect source address. Check for two or more
devices with the same address.
Incorrect command in response
The frame received had an incorrect command. Check for two or more
devices with the same address.
Incorrect data type in response
The frame received had an incorrect data type marker.
Incorrect frame check sum (FCS)
The frame received had an incorrect check sum.
Omron errors reported in the response
These errors are reported by the Omron device, and are in turn reported to
you in text form.

Omron Models Supported
C20, C200, C500, C1000, C2000, CQM, CPM1

Object Reference Manual

3-82

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Tiway
Tiway is a protocol driver object Lookout uses to communicate with series
5xx PLCs manufactured by Siemens, formerly made by Texas Instruments.
Protocol driver objects contain a great deal of data. All readable and
writable members (inputs/outputs), polling instructions, read/write
blocking, serial port usage, and so on are bundled with the object. As soon
as you create a Tiway object you immediately have access to all the object
data members (see data member list in this section).
Lookout protocol driver objects automatically generate an efficient read/write
blocking scheme based on the inputs and outputs being used in your process file. You are
not required to build your own I/O blocking table.

Note

PLC Model specifies the PLC model number for the requested device.
PollRate is a numeric expression that determines how often to poll the
device. Tiway then polls the device at the specified time interval. Normally,
this is a simple time constant such as 0:01 (one second). See Numeric Data
Members in Chapter 2, How Lookout Works, of the Getting Started with
Lookout manual for more information on entering time constants.
Poll is a logical expression. When this expression changes from FALSE to
TRUE, Lookout polls the device. You can use a simple expression like the
signal from a pushbutton, or a complex algorithm.

© Automationdirect.com

3-83

Object Reference Manual

Chapter 2

System Objects

Receive timeout is the time delay Lookout uses in waiting for a response
from a device before retrying the request.
Retry attempts specifies the consecutive number of times Lookout
attempts to establish communications with a device it does not get a
valid response from. After Retry attempts times, Tiway generates a
communication alarm and Lookout moves on to the next device in the
polling queue (if any).
Alarm priority determines the priority level of Tiway generated alarms.
Phone number specifies the number to be dialed if the serial port setting
is configured for dial-up. This number only applies to the individual
protocol object.
The Skip every ___ polls setting instructs Lookout not to poll a device it
has lost communication with on every scheduled poll. Instead, Lookout
skips the device in the polling cycle accordingly. Once communications
have been reestablished, the device is polled on its regular cycle.

Update Write Settings
The Lookout default for the Tiway driver object is for the object to perform
an update write to the PLC registers every 100 polls. Notice that this can
be problematic if the PLC has been changing its own register values. To
change this default operation, you must create an entry in the
Lookout.INI file. Create a Tiway group with the key UpdateOutputs.
Setting the UpdateOutputs key equal to 0 means the Tiway object will not
perform update writes. Setting the key equal to some positive integer N will
set the Tiway object to perform update writes once every N polls.
See Appendix C, The Lookout .INI File, in the Lookout Developer's
Manual for more information on using the Lookout.INI file. You can also
refer to the Lookout.INI file topic in Lookout Help for additional
information.

Communication Techniques
Lookout communicates with Siemens PLCs in several ways: direct serial
connection to the Local port, serial connection to an external Unilink
Host Adapter, through an internal Unilink PC Adapter card, or through
an internal CTI TCP/IP card.

Object Reference Manual

3-84

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Local Port
The Local port settings determine the serial port, data rate, and phone
number (if any) to be used in a direct connect setup. Because the Local
port protocol does not include address information, this option is limited
to only one (1) PLC per serial port.

Unilink Host Adapter
If Unilink Host Adapter is selected, you must specify the Serial port to
be used and the NIM (Network Interface Module) address as set at the
PLC. You also should configure several settings on the Unilink Host
Adapter by selecting the Configure UHA… button.

The settings in this dialog box are globally applied to all PLCs on the
specified TIWAY network (each network requires a separate serial port).
Therefore, it is only necessary to configure each Unilink Host Adapter one
time—you need not repeat this step every time you create a new Tiway
object.
Data rate specifies the communication speed between the computer and
the Unilink Host Adapter. It also determines the required dip switch
settings on the UHA for the selected baud rate.
The Host Adapter Operating Mode determines if the Unilink Host
Adapter is the network manager (Master Host Interface Unit) or just
another network secondary (Host Interface Unit). There must be exactly
one MHIU per TIWAY network.

© Automationdirect.com

3-85

Object Reference Manual

Chapter 2

System Objects

Enabling Automatic redundant media instructs the Unilink Host Adapter
to attempt communications over a redundant TIWAY network to any
secondary it loses communications with.
The TIWAY I Network Settings configure the communication
parameters for the TIWAY network. This network runs between the Unilink
Host Adapter and its secondaries. The Lookout default network settings
correspond to the default NIM settings as shipped from Siemens. See your
TIWAY documentation to modify any of these parameters.

Unilink PC Adapter
Because the Unilink PC Adapter is an internal card, it eliminates the
19200 baud serial bottleneck and replaces it with the 8 MHz PC ISA bus
speed. Therefore, the performance gains over the Unilink Host Adapter
and Local port settings can be substantial.
If Unilink PC Adapter is selected, you must specify the Card to be used
and the NIM (Network Interface Module) address as set at the PLC. You
should also configure several settings on the Unilink PC Adapter by
selecting the Configure PCA… button.

The settings in this dialog box are globally applied to all PLCs on the
specified TIWAY network (each network requires a separate card).
Therefore, it is only necessary to configure each Unilink PC Adapter one
time—this step need not be repeated every time a new Tiway object is
created.

Object Reference Manual

3-86

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

The PC Adapter Operating Mode determines if the Unilink PC Adapter
is the network manager (Master Host Interface Unit) or just another
network secondary (Host Interface Unit). There must be exactly one
MHIU per TIWAY network.
Enabling Automatic redundant media has no effect with the PC Adapter
card because it has only one port. If Siemens adds a second port, Lookout
automatically supports this option.
The TIWAY I Network Settings configure the communication
parameters for the TIWAY network. This network runs between the Unilink
PC Adapter card and its secondaries. Lookout default network settings
correspond to the default NIM settings as shipped from Siemens. See your
TIWAY documentation to modify any of these parameters.

CTI TCP/IP
Lookout supports the Control Technology Incorporated (CTI) Ethernet
TCP/IP adapter cards that can be installed in SIMATIC TI545 PLCs. In
order to work with such cards, your PC must be equipped with an Ethernet
network card and a Windows Sockets-Compliant TCP/IP software
package. Such packages are available from Microsoft, FTP Software, and
NetManage, Inc.
The Lookout CTI TCP/IP protocol option is Windows Sockets Compliant.
It uses connectionless UDP sockets in software, an industry standard for
TCP/IP protocols. In this protocol, a FIFO (first-in, first-out) stack is used
to temporarily store communication messages if the data highway is busy
or if multiple poll request are generated by several Tiway objects.
Because CTI TCP/IP utilizes sockets to momentarily store poll requests,
this protocol eliminates bottlenecks imposed by multiple Tiway objects
trying to access the data highway at the same time. Performance gains over
Local port, Unilink Host Adapter and Unilink PC Adapter settings can
be substantial when you are configuring a system that has several PLCs on
the same network.
If CTI TCP/IP is selected, you need to specify the IP address (Internet
protocol address) of the PLC. An Internet protocol address consists of four
numbers, separated by periods. Each number ranges from zero to 255
decimal. Thus, a typical Internet address might be 128.7.9.231. Ensure that
the IP address you enter matches the Internet protocol address of the PLC
as specified in its EEPROM or as programmed using PCL.

© Automationdirect.com

3-87

Object Reference Manual

Chapter 2

System Objects

You can add a secondary IP address to the CTI TCP/IP parameter.
Lookout now toggles between the primary and secondary IP address after
a COM failure (assuming a secondary address exists). Enter the secondary
ID after the first, preceded by a space or a comma. For example:
207.68.156.61, 1.2.3.4

Tiway Data Members
Table 3-17. Tiway Data Members

Data Members

Type

Read

Write

Description

AERR1 – AERR32000

numeric

yes

yes

(Analog Alarm) Error

AHA1 – AHA32000

numeric

yes

yes

(Analog Alarm) High alarm limit

AHHA1 – AHHA32000

numeric

yes

yes

(Analog Alarm) High high alarm
limit

ALA1 – ALA32000

numeric

yes

yes

(Analog Alarm) Low alarm limit

ALLA1 – ALLA32000

numeric

yes

yes

(Analog Alarm) Low low alarm limit

AODA1 – AODA32000

numeric

yes

yes

(Analog Alarm) Orange deviation
limit

APVH1 – APVH32000

numeric

yes

yes

(Analog Alarm) Process variable high
limit

APVL1 – APVL32000

numeric

yes

yes

(Analog Alarm) Process variable low
limit

ARCA1 – ARCA32000

numeric

yes

yes

(Analog Alarm) Rate of change limit

ASP1 – ASP32000

numeric

yes

yes

(Analog Alarm) Setpoint

ASPH1 – ASPH128

numeric

yes

yes

(Analog Alarm) Setpoint high limit

ASPL1 – ASPL128

numeric

yes

yes

(Analog Alarm) Setpoint low limit

ATS1 – ATS32000

numeric

yes

yes

(Analog Alarm) Sample rate

AVF1 – AVF128

numeric

yes

yes

(Analog Alarm) Alarm flags

C1 – C32000

logical

yes

yes

Control Registers

CommFail

logical

yes

no

Driver-generated signal that is ON if
Lookout cannot communicate with
the device for whatever reason

Object Reference Manual

3-88

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-17. Tiway Data Members (Continued)

Data Members

Type

Read

Write

Description

K1 – K32000

numeric

yes

yes

K-memory unsigned 16-bit integer
value ranging from 0 to 65535

K1. – K32000.

numeric

yes

yes

K-memory 32-bit IEEE floating point
value

K1D – K32000D

numeric

yes

yes

K-memory 32-bit unsigned integer
value

K1S – K32000S

numeric

yes

yes

K-memory signed 16-bit integer
value ranging from –32768 to 32767

LADB1 – LADB64

numeric

yes

yes

(Analog Alarm) Deadband

LADB1 – LADB64

numeric

yes

yes

(Loop) Deadband

LER1 – LER64

numeric

yes

no

(Loop) Error

LHA1 – LHA64

numeric

yes

yes

(Loop) High alarm limit

LHHA1 – LHHA64

numeric

yes

yes

(Loop) High high alarm limit

LKC1 – LKC64

numeric

yes

yes

(Loop) Gain

LKD1 – LKD64

numeric

yes

yes

(Loop) Derivative gain

LLA1 – LLA64

numeric

yes

yes

(Loop) Low alarm limit

LLLA1 – LLLA64

numeric

yes

yes

(Loop) Low low alarm limit

LMN1 – LMN64

numeric

yes

yes

(Loop) Output

LMX1 – LMX64

numeric

yes

yes

(Loop) Bias

LODA1 – LODA64

numeric

yes

yes

(Loop) Orange deviation limit

LPV1 – LPV64

numeric

yes

yes

(Loop) Process variable

LPVH1 – LPVH64

numeric

yes

yes

(Loop) Process variable high limit

LPVL1 – LPVL64

numeric

yes

yes

(Loop) Process variable low limit

LRCA1 – LRCA64

numeric

yes

yes

(Loop) Rate of change limit

LSP1 – LSP64

numeric

yes

yes

(Loop) Setpoint

LSPH1 – LSPH64

numeric

yes

yes

(Loop) Setpoint high limit

LSPL1 – LSPL64

numeric

yes

yes

(Loop) Setpoint low limit

© Automationdirect.com

3-89

Object Reference Manual

Chapter 2

System Objects

Table 3-17. Tiway Data Members (Continued)

Data Members

Type

Read

Write

Description

LTD1 – LTD64

numeric

yes

yes

(Loop) Rate

LTI1 – LTI64

numeric

yes

yes

(Loop) Reset

LTS1 – LTS64

numeric

yes

yes

(Loop) Sample rate

LYDA1 – LYDA64

numeric

yes

yes

(Analog Alarm) Yellow deviation
limit

LYDA1 – LYDA64

numeric

yes

yes

(Loop) Yellow deviation limit

Poll

logical

no

yes

When this value transitions from
FALSE to TRUE, Lookout polls the
device

PollRate

numeric

no

yes

Specifies the frequency at which the
Lookout object polls the device

STW1 – STW32000

numeric

yes

no

Status Words

TCC1 – TCC32000

numeric

yes

yes

(Analog Alarm) Timer/counter
current

TCP1 – TCP32000

numeric

yes

yes

(Analog Alarm) Timer/counter preset

Update

logical

yes

no

Driver-generated signal that pulses
each time the driver polls the device

V1 – V32000

numeric

yes

yes

V-memory unsigned 16-bit integer
value ranging from 0 to 65535

V1. – V32000.

numeric

yes

yes

V-memory 32-bit IEEE floating point
value

V1B1 – V32000B16

logical

yes

yes

One bit of a word written out as a
whole word

V1D – V32000D

numeric

yes

yes

V-memory 32-bit unsigned integer
value

V1S – V32000S

numeric

yes

yes

V-memory signed 16-bit integer
value ranging from –32768 to 32767

V1T – V32000T

text

yes

yes

Two characters of text

Object Reference Manual

3-90

www.Automationdirect.com

Chapter 3

Driver and Protocol Objects

Table 3-17. Tiway Data Members (Continued)

Data Members

Type

Read

Write

Description

WX1 – WX32000

numeric

yes

no

Word Image Inputs—16-bit values
that typically range from 6400 –
32000 for 4 – 20 mA signals, and 0 –
32000 for 0 – 5V signals.

WY1 – WY32000

numeric

yes

yes

Word Image Outputs—16-bit values
that typically range from
6400 – 32000 for 4 –20 mA signals,
and 0 – 32000 for 0 – 5V signals.

X1 – X32000

logical

yes

no

Discrete Inputs—unassigned Xs may
be used as control registers

Y1 – Y32000

logical

yes

yes

Discrete Outputs—same memory
space as Discrete Inputs, so X37
references the same point as Y37.
Unassigned Ys may be used as
control registers

Importing APT Name Files
After you have created at least one Tiway object, the Tiway class adds a
menu selection to the Lookout Options menu you can use to import an APT
name file database for each Tiway object created. You can re-import name
files as your APT programs are modified, and Lookout readjusts the aliased
name names automatically, in real time.

© Automationdirect.com

3-91

Object Reference Manual

Chapter 2

System Objects

Object Reference Manual

3-92

www.Automationdirect.com

Glossary
Prefix

Meanings

Value

m-

milli-

10 –3

k-

kilo-

10 3

M-

mega-

10 6

A
absolute date
absolute time

Numeric system LookoutDirect uses for keeping track of dates and times,
in which midnight (0 hours), January 1, 1900 is represented by 1, midnight
of January 2, 1900 is represented by 2, and so on. The absolute date/time
number 36234.47222250 represents 11:20 A.M., March 15, 1999.
The numeric value for 1 second in LookoutDirect is .000011574, the
numeric value for 1 minute is .000694444, and the numeric value for 1
hour is .041666667.

ACK

Acknowledge (an alarm or event).

active notification

A feature of event-driven software systems in which the application is
alerted of value changes when they occur instead of through continuous,
loop-driven queries.

address space

An OPC term for the area you browse to find what items are available on
an OPC server. Part of the standard OPC interface, this space may arrange
items hierarchically.

alarm

Software notification of a condition in a process. This alarm may call
attention to a value that has exceeded or fallen below certain levels, set in
the object database or in an Alarm object.

alias

Name given to a data member using the Edit Database dialog box. This
name can be descriptive or mnemonic, and can be associated with other
data member configurations such as scaling, logging, and alarming. A data
member can have more than one alias, each with different associated
configurations.

© Automationdirect.com

G-1

Object Reference Manual

Glossary

B
baud rate

Measurement of data transmission speed, formally defined as the number
of electronic state changes per second. Because most modems transmit
four bits of data per change of state, is sometimes misused or
misunderstood—a 300 baud modem is moving 1200 bits per second.
See bps.

.bmp files

Graphic files in bitmap format. If you are using a .BMP file in
LookoutDirect, you cannot resize it on screen. See Windows metafile.

bps

Bits per second—measure of the rate of transfer of data.

C
CBL compiler

LookoutDirect uses the CBL (Control Block Language) compiler to
compile a LookoutDirect source file (.lks) into a binary file (.l4p).

.cbx file

A LookoutDirect file containing a LookoutDirect object class. A .CBX
(Control Block Extension) file can have one or more object classes in it.

checksum

A method of verifying that the number of bits received is the same as the
number of bits transmitted. Used by TCP/IP and serial protocols.

Citadel

The LookoutDirect historical database that stores your data for access
later.

classes

See object classes.

client

A LookoutDirect process that monitors a LookoutDirect server process.
LookoutDirect clients should be computer independent so that they can be
run from any computer on your network. LookoutDirect server processes
run on computers actually connected to your control hardware.

comm port

Term sometimes used for a serial port.

connection

Input to a LookoutDirect object’s writable data members. For more
information, refer to Chapter 4, Using LookoutDirect, in your Getting
Started with LookoutDirect manual.

control objects

LookoutDirect objects you use to control a process, change a data value,
adjust a register, and so on.

Object Reference Manual

G-2

www.Automationdirect.com

Glossary

controllable objects

LookoutDirect objects you can control with a LookoutDirect control
object.

.csv files

Comma Separated Value file, a format widely accepted by spreadsheet and
other data handling programs.

CTS

Clear to Send. Part of a handshaking protocol for certain devices that
connect the serial port of a computer. See the RTS/CTS Handshaking
Settings section of Chapter 3, Serial Port Communication Service, for
detailed information.

cursor (data table)

The LookoutDirect data table can activate one row of data at a time using
the data table cursor. See the Data Table reference in the online help or the
LookoutDirect Object Reference Manual.

D
DAQ

Short for Data AcQuisition.

data member

Data source or sink associated with a LookoutDirect object. A readable
data member, or source, can be used in expressions or as inputs to other
objects. A writable data member, or sink, can have at most one
connection into it, created using the Object»Edit Connections dialog
box. A data member can be both readable and writable.
See also native data member and alias.

data type

Kind of value (numeric, logical, or text) that a parameter or data member
can hold.

database

Collection of data stored for later retrieval, display, or analysis.

datagram

Message sent between objects in LookoutDirect. A datagram contains
a route and a value.

DCOM/COM

Distributed Component Object Model, a Microsoft standard in which
client program objects request services from server program objects.
The Component Object Model (COM) is a set of interfaces, clients, and
servers used to communicate within the same computer (running
Windows 98/95 or Windows NT).

© Automationdirect.com

G-3

Object Reference Manual

Glossary

DDE

Dynamic Data Exchange, currently used in LookoutDirect to exchange
data with other programs (such as Microsoft Excel) running on your
network.

deadband

A value that must be exceeded for an alarm to sound or a change in state
to be recorded. For instance, if you have a low-level alarm set at 5 with a
deadband of 2, the alarm will not trigger until the value being monitored
drops to 5. The alarm will then stay active until the value being monitored
moves above 7. A deadband keeps small oscillations of value from
triggering an alarm and then canceling it too rapidly.

deviation

Set a deviation to filter out small changes in value when logging data.
Before being logged to a database, a value must change by at least the
deviation amount of the last logged value.

dialing prefix

Part of the Hayes AT command set for use with modems. See the Dial-Up
Modem Settings section of Chapter 3, Serial Port Communication Service,
for detailed information.

displayable objects

A LookoutDirect object class that has a displayable component, such as a
Pot, a Switch, or a Pushbutton.

DLL

Dynamic Link Library, which is a collection of small, special-purpose
programs which can be called by a larger program running on the
computer. Sometimes called Dynamically Linked Library.

driver objects

LookouDirect objects used to communicate with PLCs, RTUs, and other
I/O devices.

E
edit mode

LookoutDirect mode in which you can alter and create objects within a
process. Switch in and out of edit mode by pressing  or by
selecting Edit»Edit Mode.

engineering unit

In LookoutDirect, used to refer to scaled or converted data. Thermocouple
data, for instance, arrives in volts as the raw unit, and must be converted
to degrees, an engineering unit.

environment services

Tasks LookoutDirect performs as a part of making your SCADA/HMI
work easier. LookoutDirect environment services include serial
communications, database and logging, security, networking, alarming,
and so on.

Object Reference Manual

G-4

www.Automationdirect.com

Glossary

Ethernet

A widely used, standardized local area networking technology, specified
in the IEEE 802.3 standard.

event

Anything that happens can be an event. In LookoutDirect, events include
such things as adjusting a control value, entering or exiting edit mode,
opening or closing a control panel, and logging in or logging out of the
system.

expression functions

Mathematical, logical, and other functions used by LookoutDirect
expressions.

expressions

LookoutDirect expressions are often paths to a data member. They can
also function like variables that, using a spreadsheet cell-type formula,
become capable of performing flexible, real-time math operations,
condition testing, and other complex operations functions. See Chapter 1,
Expressions, for more information on expressions.

F
failover

A failover is the takeover of a process by a standby computer when the
primary computer fails for any reason.

FieldBus

An all-digital communication network used to connect process
instrumentation and control systems.

FieldPoint

A National Instruments hardware product line for industrial automation,
control, monitoring, and reporting.

frame

Sequence of bytes sent from a computer to a device or vice versa. The
syntax of the frame depends on the protocol being used. A read frame
contains enough information to specify a set of variables whose values
the device should return. A write frame specifies a variable in the
device and a new value to write into that variable. Some protocols
support the writing of multiple variables in a single frame. A response
frame is returned from the device to the computer, indicating whether
the frame just sent to it was received successfully. If the frame just
received was a read frame, the response frame contains a set of
requested values.

functionality

The way an object works, operates, or performs a task. Functionality is a
general concept that applies in the same way to all objects in a given object
class. Parameters define the specific functionality of an individual object.

© Automationdirect.com

G-5

Object Reference Manual

Glossary

functions

See expression functions.

G
gray proximity

A term used in LookoutDirect color animation. This sets what percentage
of gray will be replaced by a given color as conditions change in a
monitored value or set of values.

H
Hi and HiHi

Alarm settings. Both warn that a value has gone above some setpoint.
Generally a Hi alarm is used to alert an operator of a need for intervention.
A HiHi alarm is usually used to alert an operator that the value has been
exceeded by an even greater margin than a Hi alarm indicates, and is
usually used to indicate an urgent need for action.

historical logging

The process of storing data in a database for use at another time, or from
another location.

HOA

Hand-Off-Auto control, used to set whether a value must be changed
manually, is completely turned off, or functions automatically. You can
use a Pot object and a complex expression to create this sort of control in
LookoutDirect, or you can use a RadioButton object, depending on the
particular requirements of the task you need to accomplish.

I
I/O point

Every read-only, write-only, or read-write connection LookoutDirect
makes to external hardware is counted as an I/O point. LookoutDirect is
licensed for use with a set number of I/O points. If you exceed the number
you are licensed to use with your copy of LookoutDirect, a warning
message appears on your computer screen warning you to shut down one
of your processes within a specified time before LookoutDirect cuts back
on I/O usage.

(implicit) data member

A LookoutDirect data member containing the fundamental data for certain
object classes. When you make a connection to an (implicit) data member,
you only use the name of the object, not the name of the object followed
by the data member name.

Object Reference Manual

G-6

www.Automationdirect.com

Glossary

L
.l4p files

File extension for LookoutDirect process files. These are the compiled
files LookoutDirect runs when it runs a process.

.l4t files

File extension for a LookoutDirect state file, which stores the values for
LookoutDirect controls and other objects with state information.

.lka files

File extension for LookoutDirect security files.

.lkp files

File extension for LookoutDirect process files in versions of
LookoutDirect earlier than LookoutDirect 4.

.lks files

File extension for a LookoutDirect source file, which LookoutDirect
compiles to make a LookoutDirect process file that LookoutDirect can
run. This is the file you should make sure you keep backed up in case you
need to recreate a corrupted process file, or in case some future version of
LookoutDirect cannot run a process file compiled in an earlier version of
LookoutDirect.

logging

The process of storing data in a computer database file. See Chapter 7,
Logging Data and Events, for more information on logging data in
LookoutDirect.

logical data member

A LookoutDirect data member of the logical data type.

.lst files

Extension for the LookoutDirect state file in versions of LookoutDirect
earlier than LookoutDirect 4.

M
multiplex

© Automationdirect.com

A method of working with more than one data stream using only one
communications channel. There are a number of different methods of
multiplexing, depending on the hardware and software being used. A
number of LookoutDirect driver objects support multiplexing hardware.

G-7

Object Reference Manual

Glossary

N
native data member

Data members built into a LookoutDirect object class, as opposed to data
members you create by using aliases.

NetDDE

A way of networking using DDE (dynamic data exchange), retained in
LookoutDirect 4 for compatibility with earlier versions of LookoutDirect.

numeric data member

A LookoutDirect data member of the numeric data type.

O
object

A specific instance created from an object class.

object classes

Software modules you use to create individual objects to perform tasks in
LookoutDirect.

object connections

Software links between objects used to transmit data and commands from
one object to another.

ODBC

Open DataBase Connectivity, a standard application programming
interface (API) for accessing a database. You can use ODBC statements to
access files in a number of different databases, including Access, dBase,
DB2, and Excel.
ODBC is compatible with the Structured Query Language (SQL)
Call-Level Interface. ODBC handles SQL requests by converting them
into requests an ODBC database can use.

OPC

OLE for Process Control, an industry standard interface providing
interoperability between disparate field devices, automation/control
systems, and business systems. Based on ActiveX, OLE, Component
Object Model (COM), and Distributed COM (DCOM) technologies.

P
parameter

Object Reference Manual

Input to an object, similar to a writable data member, whose value is
specified in the object parameter list in a LookoutDirect source (.LKS)
file. Typically, parameter values are set in the object Object»Create or
Object»Modify dialog box.

G-8

www.Automationdirect.com

Glossary

ping

A small utility program in Windows and DOS that checks to see if a
computer can be reached across a network. Also used to indicate the
running of that program.

pixel

Picture Element, the smallest bit of a picture. Has one color or shade of
grey. The number of pixels per inch determine the resolution of an image.

PLC

Programmable Logic Controller.

poll

A software event in which a computer checks some value in a device or
register. In LookoutDirect, a logical command that forces a device poll to
check data member values.

poll rate

How often a device is polled.

pop-up panel

One variety of LookoutDirect control panel that can only be displayed at
the size set by the process developer, and which cannot be maximized.
When open, a popup panel remains on top of other panels until minimized.

process

In LookoutDirect, process refers to a LookoutDirect “program”, used for
industrial automation, control, monitoring, or reporting.

process file

The LookoutDirect binary file LookoutDirect executes when running a
process. Carries the .l4p extension.

R
raw unit

Data as it arrives in your process, such as voltage or amperage.
Thermocouple data, for instance, arrives in volts as the raw unit, and must
be converted to degrees, an engineering unit.

receive gap

A serial communications setting that determines the number of empty
bytes (or amount of time) a driver receives before recognizing the end of
a message frame and requesting another message. See the Setting Receive
Gap section of Chapter 3, Serial Port Communication Service, for more
information about the receive gap.

redundancy

A system for making sure that a computer can come online and run a
LookoutDirect process if the computer currently running that process fails
for some reason.

© Automationdirect.com

G-9

Object Reference Manual

Glossary

remote

In the context of LookoutDirect, remote is a position source location for a
control. See the Remote Position Source section of Chapter 4, Using
LookoutDirect, in the Getting Started with LookoutDirect manual for
detailed information on the LookoutDirect remote position source.

resolution

The smallest signal increment that can be detected by a measurement
system. Also, the number of pixels per inch on a computer monitor screen
or dots per inch in printer output.

RTS

Request to Send, part of a handshaking protocol for certain devices that
connect the serial port of a computer. See the RTS/CTS Handshaking
Settings section of Chapter 3, Serial Port Communication Service, for
detailed information.

RTU

Remote Terminal Unit, a device similar to a PLC for use at a remote
location, communicating with a host system through radio or telephonic
connections.

run mode

LookoutDirect mode in which processes run but no editing changes can be
made. Switch in and out of run mode by pressing  or selecting
Edit»Edit Mode.

S
SCXI

Signal Conditioning eXtensions for Instrumentation, a National
Instruments product line for conditioning low-level signals.

security accounts

Also called user and group accounts, LookoutDirect uses security
accounts to define what users or group of users have different operation
privileges in LookoutDirect. See Chapter 6, Security, for detailed
information on LookoutDirect security.

server

A process that provides data (services) to client processes. In
LookoutDirect, server processes are intended to be run on one computer
only, with direct connections to field hardware. Client processes interact
with field hardware through server processes.

source file

LookouDirectt file that can be compiled to produce a binary
LookoutDirect process file that runs a process. Uses a .lks file extension.

SQL

Structured Query Language, used to get information from and update
information in a database.

Object Reference Manual

G-10

www.Automationdirect.com

Glossary

standby

A computer standing by to take over running a process if the primary
computer fails or falls offline.

startup file

A LookoutDirect process file (.l4p) you designate in the System
Options dialog box that LookoutDirect will open and run any time
LookoutDirect is opened.

state file

The LookoutDirect file that stores the value of all LookoutDirect control
parameters and object data members in use in a process. Uses the file
extension .l4t.

system objects

LookoutDirect objects used to control other objects or process and analyze
data.

T
TCP
TCP/IP

Transmission Control Protocol, a method (protocol) for sending data
between computers. Used with IP, the Internet Protocol.
TCP/IP sends data as packets, with IP handling the delivery of data and
TCP keeping track of the individual packets.

text data member

LookoutDirect data member used for text data.

trace

A term for data from a single source over some period of time, stored in
an ODBC-compliant database.

traces table

ODBC databases present data in the form of traces tables. A traces table
contains a field or column of data for each data member being logged,
along with a field you can use to query the database.

trend

Historical data showing the change in a value over time. Often used in
connection with graphing the data for display.

© Automationdirect.com

G-11

Object Reference Manual

Glossary

W
.wav files

File extension given to sound files. You can play a .wav file in
LookoutDirect to add sounds or speech to alarms or events.

Windows metafile

A standard graphics file type for use in the Microsoft Windows operating
environment. If you use a metafile graphic in LookoutDirect, you can
enlarge or reduce it on the screen, use them as masks without specifying
transparent pixels, and use the LookoutDirect Animator to animate the
colors of the graphic.

.wmf files

File extension given to Windows Metafile graphic files.

X
.xls files

Object Reference Manual

File extension given to Microsoft Excel files.

G-12

www.Automationdirect.com

Index
A

color animations, 2-12 to 2-14
creating moving animations, 2-10 to 2-12
data members (table), 2-14
Select graphic dialog box, 2-10
APT tag file, importing, 3-91
ASCII object class, 3-24 to 3-33
data members (table), 3-25 to 3-26
Definition Parameters dialog box,
3-24 to 3-25
error messages, 3-33
request and response format strings,
3-26 to 3-32
entering format string, 3-31
markers, 3-28 to 3-30
request frame construction examples,

AB object classes (AB_PLC2, AB_PLC5,
AB_SLC500), 3-2 to 3-23
Allen-Bradley Parameters dialog box,
3-3 to 3-4
communication with Allen-Bradley
controllers
PLC-2 family, 3-2
PLC-5 family, 3-2
SLC-500 family, 3-2 to 3-3
data members, 3-10 to 3-17
AB_PLC2 (table), 3-10 to 3-11
AB_PLC5 (table), 3-14 to 3-17
AB_SLC500 (table), 3-11 to 3-14
DH+ interface parameters, 3-5 to 3-8
error messages, 3-18 to 3-23
Ethernet interface parameters, 3-8
serial port interface parameters, 3-4
using 5136-SD card from S-S Technologies,
Inc., 3-9 to 3-10
Accumulator object class, 2-2 to 2-3
data members (table), 2-3
Definition Parameters dialog box, 2-2
description, 2-2
$Alarm global object, 2-7 to 2-9
data members (table), 2-8 to 2-9
description, 2-7 to 2-8
Edit Connections dialog box, 2-7
using with other objects, 2-9
Alarm object class, 2-4 to 2-6
data members (table), 2-6
typical settings
logical style alarm, 2-4
numeric style alarm, 2-4 to 2-5
Allen-Bradley PLC controllers. See AB object
classes
Animator object class, 2-10 to 2-14

© Automationdirect.com

3-31
response format examples,
3-31 to 3-32
using sum data members, 3-32
Average object class, 2-15 to 2-16
data members (table), 2-15
definition Parameters dialog box, 2-15

C

colors
animations, 2-12 to 2-14
connecting objects
signals, DataTable object class,
2-23 to 2-26
control panels
See also Panel object class
DataTables example
display panel, 2-27
multiplexing displays and graphics,
2-20 to 2-21
operating multiplexed panel, 2-28
conventions, manual, vii to ??
Counter object class, 2-17

I-1

Developer’s Manual

Index

data members (table), 2-17
Definition Parameters dialog box, 2-17
cursors, for DataTables, 2-28 to 2-29
multiple, 2-30

LatchGate object class, 2-85
Loader object class, 2-88 to 2-89
Maximum object class, 2-91, 2-93 to ??
Meter object class, 2-92
Minimum object class, 2-95
Modbus object class, 3-60 to 3-63
Monitor object class, 2-96
Multistate object class, 2-98
National Instruments FieldPoint,
3-67 to 3-68
National Instruments FieldPoint, multiple
discrete, 3-69
National Instruments Lookout OPC
Client Driver (table), 3-76 to 3-77
Neutralzone object class, 2-100
Omron object class, 3-81
OneShot object class, 2-102
Pager object class, 2-104
Panel object class, 2-114 to 2-115
Pipe object class, 2-117
Playwave object class, 2-118
Pot object class (table), 2-121 to 2-122
Pulse object class, 2-125
Pushbutton object class (table),
2-129 to 2-130
RadioButton object class, 2-134
Recipe object class, 2-140 to 2-141
Run object class, 2-143
Sample object class, 2-144
SampleText object class, 2-146
Scale object class, 2-148
Sequencer object class, 2-151
Spinner object class, 2-152
Spreadsheet object class, 2-157
summing, in ASCII object, 3-32
Switch object class (table),
2-160 to 2-161
$System global object class, 2-165
TextEntry object class (table),
2-168 to 2-169
Timeofxxxx object class, 2-171

D

data members
AB object classes (tables), 3-10 to 3-17
AB_PLC2 object class, 3-10 to 3-11
AB_PLC5 object class, 3-14 to 3-17
AB_SLC500 object class, 3-11 to 3-14
Accumulator object class, 2-3
$Alarm global object, 2-8 to 2-9
Alarm object class, 2-6
Animator object class, 2-14
ASCII object class, 3-25 to 3-26
Average object class, 2-15
Counter object class, 2-17
DataTable object class, 2-30 to 2-33
DdeLink object class, 2-35
DdeTable object class, 2-39
DelayOff object class, 2-41
DelayOn object class, 2-43
DeltaTau object class, 3-36
Derivative object class, 2-45
DialGauge object class, 2-48
DirectLogic object class, 3-37 to 3-47
ElapsedTime object class, 2-49
Event object class, 2-50
Expression object class, 2-52
Flipflop object class, 2-53
Gauge object class, 2-55
GE_Series90 object class, 3-50 to 3-51
HyperTrend object class, 2-63 to 2-64
Integral object class, 2-66
Interval object class, 2-68
$Keyboard global object, 2-70
L3Pot object class, 2-74
L3Pushbutton object class, 2-78
L3Switch object class, 2-81
L3TextEntry object class, 2-84

Developer’s Manual

I-2

© Automationdirect.com

Index

Tiway object class, 3-88 to 3-91
Waveform object class, 2-173
DataTable object class, 2-18 to 2-33
connecting signals, 2-23 to 2-25
to cells, 2-24
to columns, 2-25
cursors, 2-28 to 2-30
data members (table), 2-30 to 2-33
Definition Parameters dialog box,
2-18 to 2-19
example, 2-22 to 2-27
connecting signals, 2-23 to 2-25
display panel, 2-27
reading cell value back to Lookout
object, ?? to 2-26
reading cell value back to
LookoutDirect object, 2-26 to ??
multiple cursors, 2-30
multiplexing displays and graphics,
2-20 to 2-21
operating your multiplexed panel, 2-28
SQL queries
SQL queries, DataTable, 2-20
DdeLink object class, 2-34 to 2-35
data members (table), 2-35
Definition Parameters dialog box,
2-34 to 2-35
remote computer, 2-34 to 2-35
same computer, 2-34
DdeTable object class, 2-36 to 2-39
data members (table), 2-39
Definition Parameters dialog box,
2-36 to 2-38
remote computer, 2-38
same computer, 2-36 to 2-38
DelayOff object class, 2-40 to 2-41
data members (table), 2-41
Definition Parameters dialog box, 2-40
Display Parameters dialog box, 2-41
DelayOn object class, 2-42 to 2-43
data members (table), 2-43

© Automationdirect.com

Definition Parameters dialog box, 2-42
Display Parameters dialog box, 2-43
DeltaTau object class, 3-35 to 3-36
configuration parameters, 3-35
data members (table), 3-36
Derivative, 2-44
Derivative object class, 2-44 to 2-45
data members (table), 2-45
Definition Parameters dialog box,
2-44 to 2-45
DH+ interface parameters, AB object classes,
3-5 to 3-8
DialGauge object class, 2-46 to 2-48
data members (table), 2-48
Definition Parameters dialog box, 2-46
Display Parameters dialog box, 2-47

E

Edit Connections dialog box
$Alarm global object, 2-7
$Keyboard global object, 2-69
ElapsedTime object class, 2-49
data members (table), 2-49
Definition Parameters dialog box, 2-49
error messages
See also status messages
ASCII object class, 3-33
Ethernet interface parameters, AB object
classes, 3-8
Event object class, 2-50
data members (table), 2-50
Definition Parameters dialog box, 2-50
Expression object class, 2-51 to 2-52
Create Expression dialog box, 2-51
data members (table), 2-52

F

FieldPoint object class. See National
Instruments FieldPoint
Flipflop object class, 2-53
data members (table), 2-53
Definition Parameters dialog box, 2-53

I-3

Developer’s Manual

Index

L

format strings. See ASCII object class;
IPASCII object class

L3Pot object class, 2-72 to 2-75
data members (table), 2-74
Definition Parameters dialog box,
2-72 to 2-73
Display Parameters dialog box, 2-73
L3Pushbutton object class, 2-76 to 2-78
data members (table), 2-78
Definition Parameters dialog box,
2-76 to 2-78
Display Parameters dialog box, 2-78
Verification Message dialog box,
2-76 to 2-77
L3Switch object class, 2-79 to 2-81
action verification, 2-79
data members (table), 2-81
Definition Parameters dialog box,
2-79 to 2-80
displaying
graphics for switches, 2-80
Verification Message dialog box,

G

Gauge object class, 2-54 to 2-55
data members (table), 2-55
Definition Parameters dialog box, 2-54
Display Parameters dialog box, 2-55
GE_Series90 object class, 3-48 to 3-52
data members (table), 3-50 to 3-51
Definition Parameters dialog box,
3-48 to 3-49
status messages, 3-51 to 3-52
global object classes
$Alarm global object, 2-7 to 2-9
$Keyboard global object, 2-69 to 2-71
$System global object, 2-165
graphics
animating. See Animator object class
multiplexing displays and graphics, using
Datatables, 2-20 to 2-21

H

2-79

HyperTrend object class, 2-56 to 2-64
data members (table), 2-63 to 2-64

L3TextEntry object class, 2-82 to 2-84
data members (table), 2-84
Display Parameters dialog box,
2-83 to 2-84
Parameters dialog box, 2-82 to 2-83
LatchGate object class, 2-85
data members (table), 2-85
Definition Parameters dialog box, 2-85
Loader object class, 2-86 to 2-90
data members (table), 2-88 to 2-89
status messages, 2-89 to 2-90

I

Integral object class, 2-65 to 2-66
data members (table), 2-66
Definition Parameters dialog box, 2-65
Interval object class, 2-67 to 2-68
data members (table), 2-68
Definition Parameters dialog box, 2-67
Display Parameters dialog box,
2-67 to 2-68
IPASCII object class
See also ASCII object class

M

K

Maximum object class, 2-91
data members (table), 2-91, 2-93 to ??
Definition Parameters dialog box, 2-91,
?? to 2-92
meter object, 2-92
Meter object class, 2-92
Minimum object class, 2-94 to 2-95

$Keyboard global object, 2-69 to 2-71
data members (table), 2-70
description, 2-69
Edit Connections dialog box, 2-69
KT cards. See AB object classes

Developer’s Manual

I-4

© Automationdirect.com

Index

data members (table), 2-95
Definition Parameters dialog box, 2-94
Modbus and ModbusMOSCAD object classes
advanced parameters, 3-56 to 3-58
Configuration Parameters dialog box,
3-54 to 3-56
data members
6-digit address coding (table), 3-60
Modbus (table), 3-60 to 3-63
Modbus Protocol Statistics,
3-58 to 3-59
overview, 3-53
Monitor object class, 2-96
data members (table), 2-96
multiplexing displays and graphics, using
DataTables, 2-20 to 2-21
Multistate object class, 2-97 to 2-98
Configuration Parameters dialog box,

See also individual object classes, e.g.,
Animator object
alphabetical list
object databases
See also data members
object parameters
See also individual object classes, e.g.,
Animator object
objects
connecting
signals, DataTable object class,
2-23 to 2-26
Omron object class, 3-79 to 3-82
data members (table), 3-81
Definition Parameters dialog box,
3-79 to 3-80
models supported, 3-82
status messages, 3-81 to 3-82
OneShot object class, 2-101 to 2-102
data members (table), 2-102
Definition Parameters dialog box, 2-101
Display Parameters dialog box, 2-102
OPC Client Driver. See National Instruments
Lookout OPC Client Driver

2-97
N

data members (table), 2-98

National Instruments Fieldpoint,
3-65 to 3-72
Configuration Parameters dialog box,
3-65 to 3-67
data members (table), 3-67 to 3-68
multiple discrete data members
(table), 3-69
error messages, 3-70 to 3-72
multiple discrete data members,
3-69 to 3-70
National Instruments Lookout OPC Client
Driver, 3-72 to 3-78
Configuration Parameters dialog box,
3-73 to 3-74
OPC item ID format, 3-77 to 3-78
Neutralzone object class, 2-99 to 2-100
data members (table), 2-100
Definition Parameters dialog box, 2-99

P

Pager object class, 2-103 to 2-106
Alphanumeric Definition Parameters
dialog box, 2-103 to 2-104
data members (table), 2-104
Numeric Only Definition Parameters
dialog box, 2-103 to 2-104
object modes
Alphanumeric, 2-105
Numeric Only, 2-105
serial port settings, 2-105
queueing, 2-106
status messages, 2-106
Panel object class, 2-107 to 2-115
data members (table), 2-114 to 2-115
Definition and Display Parameters dialog
box, 2-107 to 2-110

O

object classes

© Automationdirect.com

I-5

Developer’s Manual

Index

“home panel” considerations, 2-112
manipulating panels, 2-110
printing, 2-112 to 2-113
screen resolution and graphics, 2-113
switching between panels,
2-110 to 2-112
Pipe object class, 2-117
data members (table), 2-117
Definition Parameters dialog box, 2-117
Playwave object class, 2-118
data members (table), 2-118
Definition Parameters dialog box, 2-118
PLCs
See also AB object classes
Popup control panels
parameter settings, 2-107 to 2-108
Popup no icon control panels, 2-108
Pot object class, 2-119 to 2-123
data members (table), 2-121 to 2-122
Definition Parameters dialog box,
2-119 to 2-121
Display Parameters dialog box, 2-121
printing
panels, 2-112 to 2-113
Pulse object class, 2-124 to 2-125
data members (table), 2-125
Definition Parameters dialog box, 2-124
Display Parameters dialog box, 2-125
Pushbutton object class, 2-126 to 2-130
data members (table), 2-129 to 2-130
Definition Parameters dialog box,
2-126 to 2-128
Display Parameters dialog box, 2-129
Verification Message dialog box, 2-127

RadioButton Display Parameters dialog
box with custom graphics chosen,

2-133
Recipe object class, 2-135 to 2-141
data members (table), 2-140 to 2-141
Definition Parameters dialog box,
2-136 to 2-137
Display Parameters dialog box, 2-139
example, 2-135 to 2-136
file selection dialog box (figure), 2-137
omitting ingredients (comment), 2-141
reloading files for changed recipe (note),

2-138
request and response format strings
ASCII object class, 3-26 to 3-32
entering format string, 3-31
object markers, 3-28 to 3-30
request frame construction examples,

3-31
response format examples,
3-31 to 3-32
Run object class, 2-142 to 2-143
data members (table), 2-143
Definition Parameters dialog box, 2-142

S

Sample object class, 2-144 to 2-145
data members (table), 2-144
Definition Parameters dialog box, 2-144
SampleText object class, 2-146
data members (table), 2-146
Definition Parameters dialog box, 2-146
Scale object class, 2-147 to 2-148
data members (table), 2-148
Definition Parameters dialog box, 2-147
Display Parameters dialog box, 2-148
security
Panel object class, 2-107 to 2-115
viewing security
Panel object class, 2-107 to 2-115
Select graphic dialog box, Animator object
class, 2-10

R

RadioButton object class, 2-131 to 2-134
data members (table), 2-134
RadioButton Definition Parameters
dialog box, 2-131 to 2-132
RadioButton Display Parameters dialog
box, 2-133 to 2-134

Developer’s Manual

I-6

© Automationdirect.com

Index

Sequencer object class, 2-149 to 2-151
data members (table), 2-151
Programming the Sequencer, 2-150
Sequencer Definition Parameters dialog
box, 2-149 to 2-150
serial port interface parameters
AB object class, 3-4
Spinner object class, 2-152 to 2-153
data members (table), 2-152
Definition Parameters dialog box, 2-152
Spreadsheet object class, 2-154 to 2-157
Configuration Parameters dialog box,
2-154 to 2-157
data members (table), 2-157
S-S 5136-SD card, 3-9 to 3-10
status messages
GE_Series90 object class, 3-51 to 3-52
Loader object class, 2-89 to 2-90
Omron object class, 3-81 to 3-82
Pager object class, 2-106
sum data members, ASCII object, 3-32
Switch object class, 2-158 to 2-161
action verification, 2-158
data members (table), 2-160 to 2-161
Definition Parameters dialog box,
2-158 to 2-159
displaying
graphics for switches, 2-160
Verification Message dialog box,

Definition Parameters dialog box, 2-170
Display Parameters dialog box, 2-171
Tiway object class, 3-83 to 3-91
communication techniques,
3-84 to 3-88
CTI TCP/IP, 3-87 to 3-88
local port, 3-85
Unilink Host Adapter, 3-85 to 3-86
Unilink PC Adapter, 3-86 to 3-87
Configuration Parameters dialog box,
3-83 to 3-84
data members (table), 3-88 to 3-91
importing APT tag files, 3-91

V

viewing security
control panels, 2-108

W

Waveform object class, 2-172 to 2-174
data members (table), 2-173

2-158
Symbolic Link, 2-162 to 2-164
$System global object, 2-165
data members (table), 2-165
description, 2-165
T
TextEntry object class, 2-166 to 2-169
data members (table), 2-168 to 2-169
Display Parameters dialog box, 2-168
Parameters dialog box, 2-166 to 2-168
TimeOfxxxx object class, 2-170 to 2-171
data members (table), 2-171
© Automationdirect.com

I-7

Developer’s Manual



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : Yes
Create Date                     : 2002:12:03 15:49:04
Producer                        : Acrobat Distiller 4.0 for Windows
Author                          : ADKJ
Title                           : LK4Ref.book
Creator                         : FrameMaker 5.5.6p145
Modify Date                     : 2002:12:03 15:50:34-05:00
Page Count                      : 300
Page Mode                       : UseOutlines
EXIF Metadata provided by EXIF.tools

Navigation menu