Sie sind auf Seite 1von 130

CSV_Include

Citect Pty. Limited


3 Fitzsimons Lane
PO Box 174
Pymble NSW 2073
Australia
Telephone: 61 2 9496 7300
Fax: 61 2 9496 7399
DISCLAIMER
Citect Corporation makes no representations or warranties with respect to this manual and, to the maximum extent permitted by law, expressly limits
its liability for breach of any warranty that may be implied to the replacement of this manual with another. Further, Citect Corporation reserves the right
to revise this publication at any time without incurring an obligation to notify any person of the revision.
COPYRIGHT
Copyright 2004 Citect Corporation. All rights reserved.
TRADEMARKS
Citect Pty. Limited has made every effort to supply trademark information about company names, products and services mentioned in this manual.
Trademarks shown below were derived from various sources.
Citect, CitectHMI, and CitectSCADA are registered trademarks of Citect Corporation.
IBM, IBM PC and IBM PC AT are registered trademarks of International Business Machines Corporation.
MS-DOS, Windows, Windows 95, Windows NT, Windows 98, Windows 2000, Windows for Workgroups, LAN Manager, Microsoft Windows XP, Excel
and MSMAIL are trademarks of Microsoft Corporation.
DigiBoard, PC/Xi and Com/Xi are trademarks of DigiBoard.
Novell, Netware and Netware Lite are registered trademarks of Novell Inc.
dBASE is a trademark of Borland Inc.
GENERAL NOTICE
Some product names used in this manual are used for identification purposes only and may be trademarks of their respective companies.
<insert month and year> edition for CitectSCADA Version 6.0
Manual Revision Version 6.0.
Printed in Australia.
Contents
Introducing CSV_Include
Where to Find Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 1 Using Pages and Templates
Normal Page Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Alarm Page Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Common functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Trend Page Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Common functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
File Page Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Admin Tools Page Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Common Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Navigation Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Alarms Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Chapter 2 Creating a New Project
Creating a Privileged User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Running the Computer Setup Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Setting Up Instant Trending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Displaying a Project on Multiple Monitors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Implementing Audible Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Creating Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Creating new pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Creating Custom Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Menu Configuration tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Building custom menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Editing an item. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Creating an Alarms Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Creating a Trends Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Using Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Chapter 3 CSV_Include Reference
Citect.ini Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
[Alarm] Section Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
[MultiMonitors] Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
[Page] Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Contents iv
[Navigation] Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
[TrendX] Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
[Privilege] Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
CSV_Include Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Chapter 4 CSV_Example Project
Filter page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Filter Page (Engineers Notes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Loop Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Loop Page (Engineers Notes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Recipe Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Recipe Page (Engineers Notes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Genies Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Genies Page (Engineers Notes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Operator Input Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Dynamic Objects Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Introducing CSV_Include
The CSV_Include Project is a preconfigured project that is installed with
CitectSCADA Version 5.5 or later. Designed to reduce the amount of time
required to configure a new project, it includes a set of templates and pages
styled for the Windows XP environment.
When a new CitectSCADA project is created, the CSV_Include project is
automatically incorporated as an included project. This means all the project's
templates and associated content are available for implementation when
creating your graphics pages in Graphics Builder.
Alongside a standard graphics page template for the creation of plant mimics,
the project includes predefined trend and alarm display pages, an
administration tools page, a file page for displaying text and Rich Text Format
files, and a selection of popup windows. All feature common navigation and
alarm menus for consistent functionality and appearance across an entire
project. The project even supports multi monitor display, allowing a number of
graphics pages to be simultaneously displayed across several computer screens.
Note: You should not modify the CSV_Include project for use as a runtime
project, you should keep it set aside only for use as a template for new projects.
This is because a future upgrade to CitectSCADA will install a new version of
the CSV_Include project, and you will lose any changes you have saved when
this happens.
Where to Find Information
This information describes the preconfigured content in the CSV_Include
Project:
Predefined pages and templates. See Using Pages and Templates.
Common toolbars. See Common Toolbars.
It also describes the processes used to create a project based on CSV_Include:
Creating a new project. See Creating a New Project.
Creating pages. See Creating Pages.
Creating custom menus. See Creating Custom Menus.
Creating an alarm group. See Creating an Alarms Group.
Creating a trend group. Creating a Trends Group.
Introducing CSV_Include 2
Reference material is also included, describing the Citect.INI parameters and
Cicode functions available to customize a project.
Chapter 2: Using Pages and Templates
When you create a new project based on CSV_Include, the following templates
and pages are available for you to use as you create your graphics pages. This
section describes the pages and their features (buttons, menus, and tools)
The CSV_Include project has the following templates:
The project also includes the following preconfigured pages:
See Also Creating a New Project
Creating Pages
Template Name Description
Normal Standard graphics page
Alarm Active alarm page
Disabled Disabled alarm page
Summary Summary alarm page
Hardware Hardware alarm page
Trend Trend page (8 pens)
Double Trend Split-page trend page (16 pens)
File Displays a file
Admin Tools Engineering tools page
Poptrend Popup trend
Instanttrend Instant trend
Popup_Small Small popup window
Popup_Mid Medium popup window
Popup_Large Large popup window
Popup_Xlarge Extra large popup window
Page Name Description
CSV_AdminTools Engineering tools page
CSV_Alarm Active alarm page
CSV_AlarmDisabled Disabled alarm page
CSV_AlarmSummary Summary alarm page
CSV_AlarmHardware Hardware alarm page
CSV_Trend Trend page (8 pens)
CSV_TrendDouble Split-page trend page (16 pens)
CSV_File File page
Chapter 2: Using Pages and Templates 4
Normal Page Template
A template designed for the creation of user-required content and plant mimics.
This page contains the standard navigation and alarm toolbars featured on all
CSV_Include templates. If you are creating a project based on CSV_Include, use
this template for all your standard graphics pages.
The Normal template creates a page in 1024 x 768 display format without a title
bar, the default size for all pages in the CSV_Include project.
See Also Creating Pages
Alarm Page Templates
Templates are included for the following types of alarm displays:
Active Alarm Page (Alarm): Used to create a page displaying all of the
audible alarms that are unacknowledged or acknowledged and still in alarm
state. The preconfigured page CSV_Alarm is based on this template.
Hardware Alarm Page (Hardware): Used to create a page displaying details
of any system errors that are unacknowledged or acknowledged and still in
alarm state, for example, if a communication fault occurs, if Cicode can't
execute, if a graphics page is not updating correctly, or if a server fails, this
page will alert you to the problem. The preconfigured page
CSV_AlarmHardware is based on this template.
Disabled Alarm Page (Disabled): Used to create a page displaying all of the
alarms that are presently disabled in the system. The preconfigured page
CSV_AlarmDisabled is based on this template. The alarms will appear on
this page when they have been disabled from the normal alarm system due
to a maintenance shutdown, nuisance tripping etc.
Alarm Summary Page (Summary): Used to create a page displaying a
historical log of alarms that have occurred. The preconfigured page
CSV_AlarmSummary is based on this template. This page can be used for
trouble shooting purposes.
Common functionality
The alarm page templates all share panels to the left of the alarms list that
support the following functionality.
Acknowledge Tasks
Offers the option to acknowledge all alarms on the current page, to acknowledge
just the selected alarm, or to silence the audible alarm. It is featured on the
Active Alarms page and the Hardware Alarms page.
Chapter 2: Using Pages and Templates 5
Alarm Page Tasks
Allows the user to navigate through the list of alarms a page at a time. The blue
box indicates if more than one page is available to view.
Alarm List Filter Tasks
Allows the user to filter the current list based on plant area or by alarm category.
To apply a particular filter, you firstly must configure an alarm group.
Trend Page Templates
The CSV_Include project includes templates for the four following types of
trend display:
Trend: An eight-pen trend display. The preconfigured page CSV_Trend is
based on this template.
DoubleTrend: A 2 x 8-pen trend display spread across a divided screen. The
preconfigured page CSV_TrendDouble is based on this template.
PopTrend: A four-pen pop-up display that can be launched from other
graphics pages.
InstantTrend: A popup window for instant display of a variable tag.
Chapter 2: Using Pages and Templates 6
The Trend, Double Trend and PopTrend displays allow you to select and display
trend tags from your CitectSCADA project on a color-coded linear chart. Being
based on information coming from the CitectSCADA trend server, these
displays are supported by stored historical data that can be recalled if required.
The Instant Trend display is unique as it allows the selection of up to four
variable tags for display. This allows you to visually monitor a tag without
having to set it up within your CitectSCADA project as a trend tag. You can even
load tags directly into the display by hovering the mouse over a tag value on a
graphics page and keying in a plus sign (see the parameter [TrendX]KeySeq).
There are limitations to this feature, however, as data is only available from the
time the display is launched and is lost when the display is closed. The Instant
Trend feature has a duration setting that limits the amount of time the display
can remain open, you can adjust the default setting for this via the parameter
[TrendX]Duration.
For details on implementing instant trending, see Setting Up Instant Trending.
Common functionality
The trend display templates share common controls that support the following
functionality.
Selected Trend Field
Displays information relating to the trend tag(s) currently being mapped in the
trend chart, including a name, the current value and the scale range.
The field is color coded to match the graphical display, hence the colorful nature
of the listed fields.
To load a trend into a Selected Trend field, right-click the field. A menu appears
allowing you to select a trend or clear the field. Once you have loaded all your
selected trends, you can make a particular pen the focus of the graph by clicking
this field. An arrow to the left of the field indicates it is currently the focus trend.
Note that this field appears slightly different when using instant trending, as the
graph will be displaying current data for a variable tag, not a trend tag. In this
case, the selection field appears as below, with the tag name, current value,
description and sample period displayed.
Chapter 2: Using Pages and Templates 7
Range/Scale markers
These markers appear along the vertical axis and show the scale of the display
for the currently selected pen, highlighting the lowest to highest values for the
scale range.
Span markers
These markers appear along the horizontal axis, and show the span of the trend
display in time. The left hand marker shows the current start time and date, the
right shows the current end time and date. Typically the right hand marker will
show the current time, however, this can be affected by zooming or displaying in
Historical mode.
Set span button
This button allows you to call up an input dialog that sets the span of the current
display. When you input a unit of time, the display will cover the defined period
ending with the current time.
Trend cursor
The trend cursor allows you to select a location on the graphical trend display
and determine the time and date for that particular point. The arrows to the left
end of the popup display allow you to move the cursor to the left or right. The
Exit icon to the right closes the trend cursor.
History mode
History mode allows you to scroll back and forth through a graphical
representation of a trend tag's history. To switch into History Mode, check the
Chapter 2: Using Pages and Templates 8
Display History Mode checkbox. The display changes to lower version of the
control shown to the left.
The four buttons allow you to progress backwards and forwards through the
trend graph, with the two outer buttons shifting a page at a time, and the two
inner buttons shifting half a page. The clock icon allows you to edit the end time
for the historical display.
Deselecting the box returns to the normal trend view.
Zoom
These buttons zoom in and out on the current display. Zoom in (+) increases the
focus of the display, and continues zooming in on subsequent clicks. Zoom out (-
) returns to the default.
Autoscale
This button allows you to autoscale the current view, which means the scale will
adjust to the lowest and highest values reached.
Scale defaults
This buttons returns the scale for the display to the default for the currently
selected trend.
Export to file
Click this button to export the data for the currently displayed trend to a file. A
Save As dialog will appear, allowing you to save the data as a D Base III file
(.DBF file), a comma separated value file (.CSV file) or a text file (.TXT).
Chapter 2: Using Pages and Templates 9
Paste to clipboard
Click this button to send the data for the currently displayed trend to the
Windows clipboard.
Plot trend
Click this button to plot the trend to a printer. You should use this button for
printing a trend graph instead of the Print Page button. A dialog will appear
allowing you to configure the printer setup.
Trend group
The folder icon allows you to load a trend group. A dialog will appear listing all
the currently configured groups. It also allows you to clear all currently
displayed variable tags. See Creating a Trends Group.
File Page Templates
This template is used to create a page that can display text (.txt) or rich format
text (.rtf) files.
To understand how a file page works, you must distinguish between the file
page and the file that is presented on the page; for the file page merely acts as a
blank palette to a variety of files.
The file page is displayed whenever the function CSV_Nav_File is called. When
executed, CSV_Nav_File determines the file that is to be displayed on the file
page, its location, the title applied to the page, and whether or not the file is
editable.
For example, you may configure a menu item that calls up the following:
?CSV_Nav_File(MyPageTitle,[Run]:\file.txt,2)
This would call up the file page, put the title "MyPageTitle" on the title bar, load
the file called File.txt from the Run directory, and allow the file to be edited (with
the last argument set to 2, the file can be saved).
The parameter [Navigation]FilePage determines the page that's used as the
palette for this process. The preconfigured page CSV_File is the default. You can
change the setting for Navigation[FilePage], however, you must ensure that
Chapter 2: Using Pages and Templates 10
any page you specify for this parameter is based on the CSV_File template,
otherwise CSV_Nav_File will not be able to execute properly.
Admin Tools Page Template
This template is used to create a page that features network and local machine
statistics, and allows the user to launch Citect configuration tools and Windows
applications. The preconfigured page CSV_AdminTools is based on this
template.
The panels to the left of this page launch the following configuration tools:
Windows applications: Allows the user to launch the listed Windows
Applications from within the runtime environment.
Citect Configuration: Allows the user to launch the listed Citect
configuration tools from within the runtime environment. This includes
viewing and editing the Citect.INI file, running the Computer Setup Wizard,
creating alarm groups, trend groups, and launching the Menu
Configuration tool.
Citect Kernel: Launches the various components of the Citect Kernel,
allowing the system to be debugged from within the runtime environment.
System / Hardware: I/O Device Stats launches a dialog displaying IO device
statistics. The Next and Previous buttons allow you to step through the IO
devices connected to the system, while the Search button allows you to view
statistics for a particular device.
The Tag Debug tool allows you to browse a list of available tags and read the
current value for a selected tag. Depending on your access privileges, you
may also be able to write a new value to the tag.
The right-hand side of this page displays statistics about the CitectSCADA
system:
System Information: Provides details of the CPU usage, memory usage and
available disk space for the current runtime machine.
Citect Information: Provides information about the CitectSCADA system
including version information and the number of trend, alarm and report
clients currently connected
I/O Server: Provides information about the status of the CitectSCADA IO
Server your system is connected to. The name of the IO Server machine
appears in the title bar of this panel. The information displayed includes:
Maximum - the overall maximum response time (ms)
Average: Overall average response time (ms).
Minimum: Overall minimum response time (ms).
Chapter 2: Using Pages and Templates 11
Read Request: Total read requests per second.
Read Physical: Total physical read requests per second.
Write Request: Total write requests per second.
Write Physical: Total physical write requests per second.
The Reset button allows you to clear the current values and recalculate
them.
Timekeeping: The Set Date and Set Time fields function as buttons that call
up an input dialog for entering a new date and time for the local computer.
The Set Master Time field sends the local time to the CitectSCADA time
server, which in turn sends the date and time to all CitectSCADA machines
on the current network.
Common Toolbars
All the pages in the CSV_Include project include common toolbars that provide
easy navigation and access to key functionality, as well as a consistent
appearance.
The following three toolbars remain on screen during operation:
Navigation toolbar: Provides navigation buttons and direct access to key
pages such as the Trends page and Admin Tools page.
Alarm toolbar: Provides access to Alarms pages and displays the last three
active alarms.
Custom Menus toolbar: Provides menus capable of navigating to a specific
page or calling a Cicode function. The content of the menus is generated at
runtime using a lookup table.
Chapter 2: Using Pages and Templates 12
See Also Navigation Toolbar
Alarms Toolbar
Creating Custom Menus
Navigation Toolbar
The Navigation toolbar includes buttons that allow the user to move between a
projects pages. If the current user has insufficient privilege or there is no option
configured for a particular button, it is unavailable to the user.
Back button
Takes you back to the page that was displayed prior to the current page. The
arrow to the right of the button allows you to select from a drop-down list of
recently visited pages. You can set the maximum number of pages included in
this drop-down list by adjusting the parameter
[Navigation]LastPageStackSize.
Forward button
Takes you back to the page that was displayed prior to the back button being
pressed. The arrow to the right of the button allows you to select from a drop-
down list of pages you've recently navigated back from. You can set the
Chapter 2: Using Pages and Templates 13
maximum number of pages included in this drop-down list by adjusting the
parameter [Navigation]LastPageStackSize.
Parent Page button
Changes the display to the parent page of the current page. You can assign a
parent page to a graphics page by setting an environment variable in Graphics
Builder.To do this, open the page you would like to assign a parent to. Go to the
properties dialog for the page (File | Properties), and click on the Environment
tab. Add a new variable called ParentPage, with a value of the page name of
the parent page.
Previous/Next buttons
Move back and forth through the pages in a browse sequence, if one has been
configured.
To configure a browse sequence, go to the Page Properties dialog (File |
Properties) for each page in the sequence and set the Next and Previous fields on
the General tab accordingly.
Home Page button
This button displays the "home" page. By default, this page is the startup page
CSV_Start. If you want to change the home page to a different page, it can be
adjusted via the parameter [Navigation]HomePage.
Trends Page button
Displays the trend page. By default, the preconfigured page CSV_Trend will
appear when this button is pressed. If you want a different page to appear
instead, adjust the parameter [Navigation]TrendPage.
Network Page button
Used to display a page called "Network" if one exists. By default, this page does
not exist, which means the button will not appear. If you would like to use this
Chapter 2: Using Pages and Templates 14
button to call a function, or to launch a page with a name other than network,
adjust the parameter [Navigation]NetworkPage.
Tools button
This button displays the Admin Tools page, named CSV_AdminTools. You can
adjust the parameter [Navigation]ToolsPage if you want to call a function
with this button or change the page that's displayed; however, this is not
recommended. This button also features a menu to launch the Tag Debug tool
and Instant Trend display. It also allows you to switch tool tips on and off.
Print Page button
This button will print the current page. The parameter [Printer]Port needs to
be configured correctly for printer selection.
Login button
Calls up the standard CitectSCADA login prompt. The drop-down menu to the
right offers additional options, including Logout, Change Password, Edit User
(restricted by login) and Create User (restricted by login).
Help button
Used to display help information relevant to your project. The action this button
triggers is determined by the parameter [Navigation]Help.
Note that the default setting for this parameter calls a page called "Help", which
does not actually exist in the CSV_Include project. Therefore, to make this
button work, you must do one of the following:
Add a page called "Help" to your project, or adjust this parameter so that a
page with a different name is called.
Apply an action to the button so that an online Help file (a .HLP or .CHM
file) is launched. You have to use the format:
Chapter 2: Using Pages and Templates 15
[Navigation]
HelpPage = ?LaunchOnlineHelp
where LaunchOnlineHelp is a Cicode function that launches the required
Help file.
Implement page-based Help by setting an environmental variable called
HelpPage for each particular page. To do this, open the required page, go to
the properties dialog (File | Properties), and click the Environment tab.
Add a new variable called HelpPage with a value of a real page name or a
function name.
See Also Alarms Toolbar
Creating Custom Menus
Alarms Toolbar
The Alarms toolbar provides access to current alarm information and navigation
buttons for single-click access to alarm pages. It also include the standard Citect
prompt and current date and time.
The Last Alarms
The centre panel of the toolbar displays the last three alarms triggered within the
system, providing the operator with an immediate visual cue to alarm
occurrences.
You can modify the format of this list and control which alarms appear. For
example, you can set the list to only display alarms of a particular type, category
or priority. For more information, see the parameters LastAlarmFmt,
LastAlarmCategories, LastAlarmPriorities, and LastAlarmType.
Active Alarms button
Changes the display to the active alarms page, CSV_Alarm. This button is
animated and will blink when there is an unacknowledged alarm in the system.
This action performed by this button is determined by the parameter
[Navigation]AlarmPage.
Chapter 2: Using Pages and Templates 16
Alarms Summary button
Changes the display to the alarm summary page, CSV_AlarmSummary, which
provides a historical log of alarm occurrences.This action performed by this
button is determined by the parameter [Navigation]SummaryPage.
Hardware Alarms button
Changes the display to the hardware alarms page, CSV_AlarmHardware. This is
an animated button which will blink when an unacknowledged hardware alarm
occurs. This action performed by this button is determined by the parameter
[Navigation]HardwarePage.
Disabled Alarms button
This button changes the display to the disabled alarms page,
CSV_AlarmDisabled. This action performed by this button is determined by the
parameter [Navigation]DisabledPage .
Alarm Silence button
This button will silence the audible alarm buzzer that sounds when an alarm
occurs. See Implementing Audible Alarms.
See Also Creating Custom Menus
Chapter 3: Creating a New Project
Creating a project based on the CSV_Include project is simple; by default, it is
incorporated as an included project in all new projects. This means whenever
you commence configuration of a new project, the CSV_Include pages and
templates are ready to use as required.
There is, however, a series of steps you should follow when initiating a new
project to simplify configuration and ensure that the CSV_Include project works
properly:
1 Create a privileged user; see Creating a Privileged User.
2 Run the Computer Setup Wizard; see Running the Computer Setup Wizard.
3 Set up instant trending; see Setting Up Instant Trending.
4 Set up multiple monitor display; see Displaying a Project on Multiple
Monitors.
5 Implement audible alarms; see Implementing Audible Alarms.
Do not modify the CSV_Include project for use as a runtime project; keep it set
aside for use as a template for new projects. This is because a future upgrade to
CitectSCADA will install a new version of the CSV_Include project, and you will
lose any changes you have saved.
If creating a project based on the CSV_Include templates, do not include any
pages based on templates using a different style, including the earlier Include
project. This will impact on the consistent appearance of a project and may affect
functionality.
See Also Creating Pages
Creating a Privileged User
Some CSV_Include project content is protected via a user login. Without a valid
login, some functionality within the project will be disabled. For example, the
Tools page is mostly inactive if you log in as a user with restricted privileges.
By default, the following elements within the CSV_Include project are protected
by global privileges.
Element Global Privilege Associated Function
Admin Tools page 8 [Privilege]EngTools
Editing users 8 [Privilege]EditUser
Project shutdown 0 [Privilege]Shutdown
Chapter 3: Creating a New Project 18
When configuring a CSV_Include project, make sure your users have
appropriate access to the available functionality. Ensure that your users can
acknowledge alarms if required, and that they have access to the full
functionality of the Admin Tools page.
If you want to adjust the global privileges for the elements listed above to allow
a more complex security architecture, adjust the [Privilege] parameters in the
Citect.INI file. See the relevant link in the table above for more information.
See Also Running the Computer Setup Wizard
Running the Computer Setup Wizard
As with all CitectSCADA projects, you must work complete the Computer Setup
Wizard on any machine where a CSV_Include project will be run.
The way you set up a computer using the Wizard is largely at your control,
however due to a couple of required settings, you must run the Computer Setup
Wizard as a custom setup.
The relevant Wizard pages you will need to pay attention to are:
Events Setup page
The CSV_Include project includes three preconfigured events.
CSV_TrendXClient: required to enable the Instant Trend feature
CSV_TrendXServer: required to enable the Instant Trend feature
CSV_AlarmClient: required to enable audible alarm siren
Ensure that you select and enable the required events from those listed above. To
support the instant trend feature, both the CSV_TrendXClient and
CSV_TrendXServer events must be enabled on the computer acting as your
trend server. Only CSV_TrendXClient needs to be enabled on your runtime
machines. To support audible alarms, you need to enable CSV_AlarmClient.
You should select all of the events unless you need to disable the associated
functionality.
Security Setup - Control Menu page
This page provides a Display Title Bar option. As the CSV_Include pages feature
an XP-styled title bar, you should deselect this option as this will allow your
project to run successfully in full-screen mode. You should run CSV_Include-
based projects in full-screen mode.
Acknowledge alarms 1 [Privilege]AckAlarms
Disable alarms 8 [Privilege]DisableAlarms
Element Global Privilege Associated Function
Chapter 3: Creating a New Project 19
See Also Creating a Privileged User
Setting Up Instant Trending
Implementing Audible Alarms
Setting Up Instant Trending
Instant trending feature allows you to visually monitor a variable tag from your
CitectSCADA project, without the need to configure it as a trend tag. Without
the support of the CitectSCADA trend server to facilitate this functionality, the
instant trend feature requires you to perform the following setup:
1 Enable the CSV_TrendX events. As described in Running the Computer
Setup Wizard, you must enable the events CSV_TrendXClient and
CSV_TrendXServer for instant trending to work. Ensure that both these
events are enabled on the trend server computer, and that
CSV_TrendXClient is enabled on any runtime machines where instant
trending will be used.
2 Call the Instant Trend display. Ensure that any buttons or menu items you
configure to launch the Instant Trend display call the function
CSV_TrendX_Display(). You should call this function with no arguments
set, as this will implement the default settings. This ensures the correct page
is called with appropriate display settings.
3 Set the default display duration. The Instant Trend window only stays
open for a set period of time. You should adjust the default period of time to
suit your needs via the parameter [TrendX]Duration.
4 Configure the Tag Selection dialog. You can decide whether or not a list of
current tags is loaded into the Tag Selection dialog when using the instant
trend display. Having no tags appear in the selection dialog may be useful if
your project has a large number of tags that takes a while to load. See the
parameter [TrendX]EnableTagList.
5 Check the key sequence used to load tags. You can load tags directly into
the Instant Trend display by hovering the mouse over a tag value on a
graphics page and keying in a plus sign. However, you should confirm that
this key sequence does not clash with the functionality of other applications.
If you need to change the key sequence used for this feature, see the
parameter [TrendX]KeySeq.
Note: The Instant Trend feature does not support variable tags of the type
LONG or REAL.
See Also Trend Page Templates
Chapter 3: Creating a New Project 20
Displaying a Project on Multiple Monitors
The CSV_Include project can display several pages simultaneously across
multiple computer screens. If you have the hardware required to run multiple
monitors off a single computer, the CSV_Include can display a different page on
up to six screens at a time.
To successfully run your project across multiple monitors, you must adjust the
following parameters:
1 [MultiMonitors]Monitors. Adjust this parameter to indicate how many
monitors you're project will be running on.
2 [MultiMonitors]StartupPagen. This parameter determines which page
will appear on each monitor at startup. Note that you have to duplicate this
parameter for each monitor. For example, StartupPage1 determines the
page that appears on the first monitor at startup, StartupPage2 determines
what appears on the second monitor, and so on.
Many types of hardware support multiple-monitor display. The CSV_Include
project has been tested on a PC with multiple outputs from a single video card,
but not on other architectures. The capability to display project pages on
multiple screens may be impacted by hardware architectures that have not been
tested.
Implementing Audible Alarms
The CSV_Include project offers support for audible alarms. You can configure a
project so that a selected wav file is sounded whenever an alarm of a particular
priority is triggered. You can even assign different sounds to different alarm
priorities, allowing the urgency of an alarm to be distinguishable from the sound
it makes.
To implement audible alarms in your project:
1 Ensure any alarms you would like to trigger an audible alert are assigned to
a category and given a particular priority.
2 Adjust the parameter [Alarm]Soundn. This parameter determines the wav
file that is used when an alarm sounds, based on the priority of the alarm
(n). For example, [Alarm]Sound1 identifies the .wav file that will be
sounded whenever a priority 1 alarm is triggered.
3 If required, adjust the parameter [Alarm]SoundnInterval. This parameter
determines how long the selected wav file sounds for, based on the priority
of the alarm (n). For example, [Alarm]Sound1Interval sets the length of
time a priority 1 alarm is sounded for.
4 Enable the CSV_AlarmClient event on any machine you would like an
audible alert sounded from. You can enable this event from the Events Setup
Chapter 3: Creating a New Project 21
page of the Computer Setup Wizard. See Running the Computer Setup
Wizard.
5 Ensure your users have appropriate privileges associated with their login to
acknowledge alarms, otherwise they will not be able to silence an alarm. See
Creating a Privileged User and the parameter [Privilege]AckAlarms.
See Also Alarm Page Templates
Creating Pages
When considering the pages required for your project, first determine if you can
use any of the predefined pages in the CSV_Include project:
There are also several pages that are accommodated by the Navigation toolbar
that you'll need to create if required. Decide if the following pages would be
useful in your project and create them using the appropriate name:
The links between the pages listed above and the buttons that call them are
defined by the [Navigation] parameter settings within the Citect.INI file. If you
want a button to call a page with a different name, adjust these parameter
settings. For details see Citect.ini Parameters.
Creating new pages
The Normal and Popup templates are designed with minimal content to enable
the presentation of customer-required information and plant mimics.
Pages are created based on these templates within Graphics Builder by choosing
the required template from the Use Template dialog (File | New Page). The
CSV_Include templates are accessible by selecting csv_xp_01 from the Style
field.
Page name Description
CSV_Trend Default 8-pen Trend page, called from the Trend button on the Navigation
toolbar.
CSV_Alarm Active Alarms page, called from the Alarms toolbar.
CSV_AlarmHardware Hardware Alarms page, called from the Alarms toolbar.
CSV_AlarmDisabled Disabled Alarms page, called from the Alarms toolbar.
CSV_AlarmSummary Alarms Summary page, called from the Alarms toolbar.
CSV_AdminTools Admin Tools page, called from the Tools button on the Navigation toolbar.
Page name Description
Home Called from the Home button on the Navigation toolbar.
Network Called from the Network button on the Navigation toolbar. Note that this
button does not display if a page called "Network" does not exist.
Help Called from the Help button on the Navigation toolbar.
Chapter 3: Creating a New Project 22
Note: If you try to launch a CSV template from within Citect Explorer, you must
drill down to [Project Name]/Graphics/Templates/csv_xp_01/XGA to locate
it.
The CSV_Include project can add rollover buttons to pages without the need to
draw and configure multiple elements. You can add text to a page that has a
button appear behind it whenever the cursor passes by. This is achieved by
adding the function DspButtonRollOver() to a button's visibility property. No
arguments are required.
See Also Using Pages and Templates
Creating Custom Menus
The Custom Menu Toolbar, located directly beneath the page title bar, allows
you to create drop-down menus capable of calling a Cicode function or
navigating to a specific page (i.e. to a specific plant mimic).
You can disable the menu bar on all pages by adjusting the parameter
[Page]MenuDisable. If you need to disable the menu on a particular page, you
can apply this parameter as an environmental variable. To do this, open the
required page in Graphics Builder, go to the Properties dialog (File |
Properties), and insert the parameter on the Environment tab.
Menu Configuration tool
The content of the menus can be configured via the Menu Configuration tool,
which is launched from the Citect Configuration panel of the Admin Tools page.
The Menu Configuration tool has two panels. The panel to the left represents the
menus configured for the current project in a directory structure. The panel to
the right includes information about the item currently selected in the left panel.
The structure pictured above includes the default settings generated for any new
projects based on the CSV_Include templates.
Chapter 3: Creating a New Project 23
The directory in the left panel is a graphical representation of a DBF lookup table
that forms the basis of the menus displayed at runtime. The hierarchical
structure is determined by the following fields within this table:
In the example pictured above, the Page is defined as "generic", indicating that
the menus configured appear on all the pages within the project.
The Menu Names that appear are the five defaults: Pages, Trends, Alarms, File
and Tools. The Pages menu is expanded, showing the Menu Item Update Page
List. As Update Page List is the currently selected item, the fields associated with
it are pictured in the right.
The fields you can expect to see associated with an item, as defined in the DBF
table, are as follows:
Page The page field is defined as either Generic (as pictured above), or the name of a page
within the project. Generic specifies that the menu is associated with all pages, a specific
page name indicates the menus that will appear just on that particular page.
Menuname The name(s) of the menus included on the specified page.
Menuitem The item(s) that appear within each menu.
Submenu Any submenus that appear in a menu (optional). Note that adding a sub menu will
automatically remove the action defined for the menu item it is branched from, as the parent
becomes a placeholder for the list of sub menus.
Action Either the name of the page to display or a Cicode function. If specifying a Cicode function, it
must be prefixed by a question mark ("?").
Privilege The login privilege required to trigger the associated action.
Disabled Indicates if the item is currently disabled (embossed). For example, if the current login does
not meet the required privilege set for the item (see above), this field will be set to True and
the menu item will appear embossed to indicate its currently not active.
Checked Indicates if the menu item is currently checked (with a tick). True indicates
Btnwidth Specifies the width of the button (optional).
Chapter 3: Creating a New Project 24
Building custom menus
Creating a custom menu entails adding the required pages, menus, and items to
the Configure Menus directory structure, and then assigning the required action
and privileges to each item. This is all achieved via right-click menus.
Right-clicking a branch in the directory displays a menu that provides access to
the possible actions that can be performed on the current selection. In the
example above, clicking the Generic page allows you to add a new page, add a
new button to the generic page, delete the page, copy it, or save the
configuration.
The right-click menu includes the following actions:
Edit Item Available when an Item is selected. This option calls up the Edit Item dialog,
which allows you to define the fields associated with the current Item. In
particular, it allows you to specify the action associated with the item. (See
Editing a menu item below)
New Page Adds a new page to the menu configuration. Use this option to create new
custom menus designed specifically for a particular page in your project. Note
that the name you give the new page in the menu configuration must be
identical to the name of the page in your project that you want the menus to be
applied to.
New Button Adds a new menu button to the current page.
New Item Adds a new item to the currently selected menu.
New Sub Item Adds a sub item to the currently selected item. Note a sub item overwrites the
action configured for its parent item. The parent item becomes a label
identifying the list of Sub Items assigned to it.
Delete Page Deletes the currently selected Page from the menu configuration
Delete Button Deletes the currently selected Menu Button from the menu configuration
Delete Item Deletes the currently selected Item from the menu configuration
Delete Sub Item Deletes the currently selected Sub Item from the menu configuration
Chapter 3: Creating a New Project 25
Editing an item
A menu item's functionality is configured via the Edit Item Menu dialog.
Use this dialog to identify the action an item will trigger, be it navigation to a
specific page, or execution a function. To launch this dialog, right-click the item
to configure and select Edit Item from the menu that appears.
You should fill out the fields as follows:
See Also Common Toolbars
Creating an Alarms Group
The CSV_Include project allows you to use "alarm groups" to display a specific
set of tags defined by the alarm category and area settings configured within the
runtime CitectSCADA project.
Copy page Copies the currently selected page adds automatically pastes it to the end of
the menu configuration. This option is useful if you want a page to include the
generic page menu configuration, but with additional menus that only appear
when the particular page is displayed. To achieve this, copy the generic page,
rename it to match the page you would like to customize the menus for, then
adds the required menus and items.
Save Save the current menu configuration
Action Indicate the name of the page to display, or a Cicode function. If specifying a Cicode
function, it must be prefixed by a question mark ("?").
Privilege The login privilege required to trigger the action. Only users with appropriate access
privileges will be able to use this item.
Disabled As this setting is determined automatically depending on the current user's access
privileges, you should leave this set to False unless you want the item disabled by default.
Checked Again, you should leave this set to False unless you want the item checked by default.
Button Width Leave this set to zero (0) as this will automatically set the menu button to the appropriate
width. If you want to set a specific width for the button, input the width in pixels.
Chapter 3: Creating a New Project 26
For example, you could create a group defined by all category one alarms. This
group could then be used as a filter to create a list of all the category one alarms
currently displayed on the Active Alarms page.
Alarm groups are configured by clicking the appropriate link on the Citect
Configuration panel to the left of the Admin Tools page. The functionality can
also be added to a custom menu for easier access.
To configure an alarm group:
1 Go to the Admin Tools page of a runtime project by clicking the Tools but-
ton.
2 Select Configure an Alarm Group from the Citect Configuration panel. The
Configure Alarm Groups dialog appears.
3 In the Alarm Group Description box, key in the name you would like to use
to identify the group.
4 In the Categories box, list the alarm categories configured in the Citect
runtime project that you would like to use to define the group.
5 In the Area box, key in the areas defined in the Citect project that you would
like to use to define the group.
6 Click Add.
The information to the right of the dialog indicates how many alarm groups are
configured and where you are currently positioned in this list. You can scroll
through the list of configured groups by using the up and down arrows.
To change a group, locate it in the list, make the required changes, then click
Replace.
See Also Creating a Trends Group
Chapter 3: Creating a New Project 27
Creating a Trends Group
The CSV_Include project allows you to use "trend groups" to display a specific
set of trend tags. A trend group includes a set of up to eight variable tags that
can be automatically loaded into a trend display without having to select each
tag individually.
Trend groups are configured by clicking the appropriate link on the Citect
Configuration panel to the left of the Admin Tools page. The functionality can
also be added to a custom menu for easier access.
To configure a trend group:
1 Click the Tools button.
2 Select Configure a Trend Group from the Citect Configuration panel. The
Configure Trend Groups dialog appears.
3 In the Description text box, key in the name you would like to use to
identify the group.
4 In the Trend Pen text boxes, select the eight variable tags you would like the
group to trend. The button to the right of each field calls up a list of the
available tags within the CitectSCADA Runtime project.
5 In the Area text box, key in the areas defined in the Citect project that you
would like to use to define the group.
6 Click Add.
Chapter 3: Creating a New Project 28
The information to the right of the dialog indicates how many trend groups are
configured and where you are currently positioned in this list. You can scroll
through the list of configured groups by using the up and down arrows.
To change a group, locate it in the list of groups or browse to it using the
selection button to the right of the Description text box, make the required
changes, then click Replace.
See Also Creating an Alarms Group
Using Environment Variables
Whereas you can use parameters to apply specified rules to all your template
pages, you can use environment variables to apply rules to specific pages. In this
way, you can modify environment variables for any pages that require different
functionality.
For example, to display a specific page, you'd specify the page name as the
environment variable. To call a specific Cicode function, you'd specify the
function name (with a "?" prefix), space, then a list of comma separated
arguments, like this: ?WinPrint LPT1,0,0,Trend.pal. (The ? indicates that
the variable is to be interpreted as a function call rather than a page to display.)
Let's look at a more detailed example: usually the standard Print button is used
for printing a graphics page in WYSIWYG format. If you have a text/html file
displayed on the page, or perhaps a trend, you can create your own print
function (for example, PrintTrend) and specify it in the environment variable,
as ?PrintTrend. To reduce the amount of ink used, specify the WinPrint
function with a user-defined palette. In this case it would be best to specify it as a
parameter rather than an environment variable so that it applies to all pages.
Note: With the standard CSV_Include trend pages, you have the option to print
the screen using the standard Print button or to plot the trend using the Trend
Plot button. You should give the user both alternatives as they both serve
different purposes.
Chapter 4: CSV_Include Reference
Citect.ini Parameters
The table below shows parameter information for the sections within the
citect.ini file.
Section Parameter
[Alarm] Soundn
SoundnInterval
LastAlarmFmt
LastAlarmCategories
LastAlarmPriorities
LastAlarmType
[Multimonitors] Monitors
ScreenWidth
LastPageStackSize
StartupPagen
[Page] MenuDisable
DelayRepaint
[Navigation] HomePage
NetworkPage
TrendPage
FilePage
ToolsPage
HelpPage
AlarmPage
HardwarePage
SummaryPage
DisabledPage
MenuXPos
MenuYPos
MenuBackColour
MenuForeColour
[TrendX] KeySeq
TagListEnable
Duration
[Privilege] AckAlarms
DisableAlarms
EngTools
EditUser
Shutdown
Chapter 4: CSV_Include Reference 30
[Alarm] Section Parameters
The [Alarm] section contains the following parameters.
Soundn
Determines the wav file that is used when an alarm sounds, based on the
priority of the alarm (n). For example, [Alarm]Sound1 identifies the .wav file
that will be sounded when a priority 1 alarm is triggered.
Allowable Values: Any valid wav file name, including a full directory path.
Note: You can use CitectSCADA's predefined path substitutions to locate a wav
file; for example:
Sound1=[RUN]:Alarm1.wav.
Default Value: (no sound)
SoundnInterval
Determines how long an alarm sounds for, based on the priority of the alarm (n).
For example, [Alarm]Sound1Interval identifies how long the audible alert
runs for when a priority 1 alarm is triggered.
Allowable Values: 250 - 30000 milliseconds
Default Value: 2000
LastAlarmFmt
Specifies the columns and formatting used for the list of recent alarms on the
alarms toolbar.
Note: This parameter is available to all CitectSCADA projects; however, its
default value is different when implemented as part of project based on a
CSV_Include templates.
Allowable Values: Any combination of Alarm Display Fields.
Default Value: {Time,12}{Date,12}^t{Name,15}^t{Desc,35}^t{State,9}
LastAlarmCategories
Determines which alarms are displayed on the alarms toolbar, based on
category. For example, if you want the list of alarms to just display category 1
alarms, you would set this parameter to 1.
Allowable Values: 1 - 16376
Default Value: 0 (all alarms)
Chapter 4: CSV_Include Reference 31
LastAlarmPriorities
Determines which alarms are displayed on the alarms toolbar, based on priority.
For example, if you want the list of alarms to just display priority 1 alarms, you
would set this parameter to 1.
Allowable Values: 1 - 255
Default Value: 0 (all alarms)
LastAlarmType
Determines which alarms are displayed in the alarms toolbar, based on type.
Allowable Values: 0 - 14
Non-hardware alarms
0 - All active alarms, i.e. Types 1 and 2
1 - All unacknowledged alarms, ON and OFF
2 - All acknowledged ON alarms
3 - All disabled alarms
4 - All configured (non-hardware) alarms, i.e. Types 0 to 3, plus
acknowledged OFF alarms.
Hardware alarms
5 - All active alarms, i.e. Types 6 and 7
6 - All unacknowledged alarms, ON and OFF
7 - All acknowledged ON alarms
8 - All disabled alarms
9 - All configured alarms, i.e. Types 5 to 8
Alarm Summary
10 - All summary alarms
Alarm General
11 - All ON alarms
12 - All OFF alarms
13 - All ON hardware alarms
14 -All OFF hardware alarms
Default Value: 0
Chapter 4: CSV_Include Reference 32
[MultiMonitors] Parameters
The [MultiMonitors] section contains the following parameters.
Monitors
Indicates the number of monitors the project will be displayed on.
Allowable Values: 1 and above.
Note: The CSV_Include project has only been tested on a system with up to three
monitors. System performance on more than three monitors has not been
confirmed.
Default Value: 1
ScreenWidth
Adjusts the displayed page to suit the width of the screen in pixels. If you are not
running with the recommended default screen size of 1024 x 768, you should
adjust this setting to match the screen width currently set in your computer's
display properties.
Allowable Values: 640, 800, 1024, 1152, 1280, 1920, etc.
Default Value: 1024
LastPageStackSize
Determines the maximum number of pages that can be included in the Back
buttons drop-down list of previously visited pages.
Allowable Values: 1 - 10
Default Value: 10
StartupPagen
Determines the pages that appear when starting up a multi monitor setup. For
example, StartupPage1 determines the page that appears on the first monitor at
startup, StartupPage2 determines what appears on the second monitor, and so
on.
Allowable Values: Any valid page name
Default Value: The page named CSV_Start. If CSV_Start does not exist, the
current setting for [Page]Startup will be used.
[Page] Parameters
The [Page] section contains the following parameters.
Chapter 4: CSV_Include Reference 33
MenuDisable
Enables or disables the menu bar. If disabled, the available menus will not
appear.
This parameter is available to all CitectSCADA projects, however, its usage is
different when implemented as part of project based on a CSV_Include
templates.
Allowable Values: 0 menu bar enabled
1 menu disabled
Default Value: 0
DelayRepaint
Delays the loading of pages until all the animation points are updated, allowing
an instant repaint of the page.
Allowable Values: 1 delay repaint on
0 delay repaint off
Default Value: 1
[Navigation] Parameters
The [Navigation] section contains the following parameters.
HomePage
Determines the page that will appear, or the action that is triggered, when the
Home button is selected from the Navigation toolbar.
Allowable Values: any valid page name, or the relevant function name if a
particular action is required. To trigger a function you must prefix the function
name with a question mark (?).
Default Value: CSV_Start
If no value is defined for this parameter, then the page set for
[MultiMonitor]StartupPage1 will be loaded. If nothing is defined there, then the
default CSV_Start will be used.
NetworkPage
Determines the page that will appear, or the action that is triggered, when the
Trend button is selected from the Navigation toolbar.
Allowable Values: any valid page name, or the relevant function name if a
particular action is required. To trigger a function you must prefix the function
name with a question mark (?).
Default Value: CSV_Trend
Chapter 4: CSV_Include Reference 34
TrendPage
Determines the page that will appear, or the action that is triggered, when the
Trend button is selected from the Navigation toolbar.
Allowable Values: any valid page name, or the relevant function name if a
particular action is required. To trigger a function you must prefix the function
name with a question mark (?).
Default Value: CSV_Trend
FilePage
Determines the page that is loaded when the function CSV_Nav_File is used to
display a text file (.txt or .rtf).
When executed, CSV_Nav_File determines the file that is to be displayed on the
page, its location, the title that is applied to the page, and whether or not the file
is editable. The page defined by this parameter merely provides a palette for this
action. Therefore, you must ensure that any page you specify for this parameter
must be based on the CSV_File template, otherwise the function will not be able
to execute properly.
Allowable Values: the name of any page based on the CSV_File template
Default Value: CSV_File
ToolsPage
Determines the page that will appear, or the action that is triggered, when the
Admin Tools button is selected from the Navigation toolbar.
Allowable Values: any valid page name, or the relevant function name if a
particular action is required. To trigger a function you must prefix the function
name with a question mark (?).
Default Value: CSV_AdminTools
HelpPage
Determines the page that will appear, or the action that is triggered, when the
Help button is selected from the Navigation toolbar. Note that the default setting
calls a page called "Help", which does not actually exist in the CSV_Include
project. Therefore, to make this button work, you will have to perform one of the
following:
1 Add a page called "Help" to your project, or adjust this parameter so that a
page with a different name is called.
2 Apply an action to the button so that an online Help file (a .HLP or .CHM
file) is launched. You have to use the format:
[Navigation]
HelpPage = ?LaunchOnlineHelp
Chapter 4: CSV_Include Reference 35
where LaunchOnlineHelp is a Cicode function that launches the required
Help file.
3 Implement page-based Help by setting an environmental variable called
HelpPage for each particular page. To do this, open the required page, go
to the properties dialog (File | Properties), and click on the Environment tab.
Add a new variable called HelpPage, with a value of a real page name or a
function name.
Allowable Values: any valid page name, or the relevant function name if a
particular action is required. To trigger a function you must prefix the function
name with a question mark (?).
Default Value: Help
AlarmPage
Determines the page that will appear, or the action that is triggered, when the
Current Alarms button is selected from the Alarms toolbar.
Allowable Values: any valid page name, or the relevant function name if a
particular action is required. To trigger a function you must prefix the function
name with a question mark (?).
Default Value: CSV_Alarm
HardwarePage
Determines the page that will appear, or the action that is triggered, when the
Hardware Alarms button is selected from the Alarms toolbar.
Allowable Values: any valid page name, or the relevant function name if a
particular action is required. To trigger a function you must prefix the function
name with a question mark (?).
Default Value: CSV_AlarmHardware
SummaryPage
Determines the page that will appear, or the action that is triggered, when the
Alarms Summary button is selected from the Alarms toolbar.
Allowable Values: any valid page name, or the relevant function name if a
particular action is required. To trigger a function you must prefix the function
name with a question mark (?).
Default Value: CSV_AlarmSummary
DisabledPage
Determines the page that will appear, or the action that is triggered, when the
Disabled Alarms button is selected from the Alarms toolbar.
Chapter 4: CSV_Include Reference 36
Allowable Values: any valid page name, or the relevant function name if a
particular action is required. To trigger a function you must prefix the function
name with a question mark (?).
Default Value: CSV_AlarmDisabled
MenuXPos
Determines the horizontal point from the left of the screen where the menu bars
begins.
Default Value: 2 pixels
It is not recommended that you change this parameter as it will impact on the
logical appearance of your project pages.
MenuYPos
Determines the vertical point from the top of the screen where the menu bars
begins.
Default Value: 25 pixels
It is not recommended that you change this parameter as it will impact on the
logical appearance of your project pages.
MenuBackColour
Determines the background color used for the menu bar.
Allowable Values: 0x000000 - 0xFFFFFF
Color defined as an RGB value, for example:
0x000000 - (Black)
0x000080 - (Blue)
0x008000 - (Green)
0x008080 - (Cyan)
0x800000 - (Red)
0x800080 - (Magenta)
0x808000 - (Brown)
0xBFBFBF - (Grey)
0x7F7F7F - (Dark Grey)
0x0000FF - (Light blue)
0x00FF00 - (Light green)
0x00FFFF - (Light cyan)
Chapter 4: CSV_Include Reference 37
0xFF0000 - (Light red)
0xFF00FF - (Light Magenta)
0xFFFF00 - (Yellow)
0xFFFFFF - (White)
Default Value: 130
MenuForeColour
Determines the foreground color used for the menu bar.
Allowable Values: 0x000000 - 0xFFFFFF.
Color defined as an RGB value, for example:
0x000000 - (Black)
0x000080 - (Blue)
0x008000 - (Green)
0x008080 - (Cyan)
0x800000 - (Red)
0x800080 - (Magenta)
0x808000 - (Brown)
0xBFBFBF - (Grey)
0x7F7F7F - (Dark Grey)
0x0000FF - (Light blue)
0x00FF00 - (Light green)
0x00FFFF - (Light cyan)
0xFF0000 - (Light red)
0xFF00FF - (Light Magenta)
0xFFFF00 - (Yellow)
0xFFFFFF - (White)
Default Value: 225
[TrendX] Parameters
The [TrendX] section contains the following parameters.
Chapter 4: CSV_Include Reference 38
KeySeq
Determines the key sequence used to automatically add tags to the Instant Trend
display from a graphics page.
Default Value: + (plus sign)
It is recommended that you only change this parameter if the default setting
conflicts with some other functionality on your system.
TagListEnable
Determines whether a list of current tags is loaded into the Tag Selection dialog
when using the instant trend display. Having no tags appear in the selection
dialog may be useful if your project has a large number of tags that takes a while
to load. If the list is disabled, you can still enter known tag names into the
selection field.
Allowable Values: 0 = tag list disabled
1 = tag list enabled
Default Value: 1
Duration
Determines the default length of time the instant trend window opens for when
launched.
Allowable Values: 0, 0.25, 0.5 hours, etc.
or
1 192 hours
Default Value: 8
[Privilege] Parameters
The [Privilege] section contains the following parameters.
AckAlarms
Determines the privilege level a user requires to acknowledge alarms.
Allowable Values: 0 - 8
Default Value: 1
DisableAlarms
Determines the privilege level a user requires to disable alarms.
Allowable Values: 0 - 8
Default Value: 8
Chapter 4: CSV_Include Reference 39
EngTools
Determines the privilege level a user requires to access the functionality on the
Admin Tools page.
Allowable Values: 0 - 8
Default Value: 8
EditUser
Determines the privilege level a user requires to edit users.
Allowable Values: 0 - 8
Default Value: 8
Shutdown
Determines the privilege level a user requires to shutdown a project.
Allowable Values: 0 - 8
Default Value: 8
Chapter 4: CSV_Include Reference 40
CSV_Include Functions
The table below contains the CSV_Include categories of functions:
Function Category Functions
CSV_Include Alarms CSV_Alarms_Ack
CSV_Alarms_AckHardware
CSV_Alarms_AckPage
CSV_Alarms_AckRec
CSV_Alarms_AdvFilter
CSV_Alarms_AdvFilterConfig
CSV_Alarms_AdvFilterQuery
CSV_Alarms_AdvFilterSetDateTime
CSV_Alarms_CheckSound
CSV_Alarms_ClearGroupFilter
CSV_Alarms_Disable
CSV_Alarms_DisableRec
CSV_Alarms_DspGroupFilter
CSV_Alarms_DspGroupList
CSV_Alarms_DspInfo
CSV_Alarms_DspInfoRec
CSV_Alarms_DspLast
CSV_Alarms_Enable
CSV_Alarms_EnableRec
CSV_Alarms_GetAckPrivilege()
CSV_Alarms_GetDisablePrivilege()
CSV_Alarms_GetGroupFilter
CSV_Alarms_GetGroupFilterID
CSV_Alarms_GetUniqueGroupName
CSV_Alarms_GroupAdd
CSV_Alarms_GroupConfig()
CSV_Alarms_GroupRemove
CSV_Alarms_GroupEdit
CSV_Alarms_GroupFilter
CSV_Alarms_GroupSelect
CSV_Alarms_GroupsInit()
CSV_Alarms_Help
CSV_Alarms_HelpRec
CSV_Alarms_ListHeading
CSV_Alarms_ListHeadingFont()
CSV_Alarms_PopupMenu
CSV_Alarms_Sound()
CSV_Alarms_SoundActive()
CSV_Alarms_Silence()
Chapter 4: CSV_Include Reference 41
CSV_Include Database CSV_DB_BOF
CSV_DB_Close
CSV_DB_EOF()
CSV_DB_Execute
CSV_DB_GetExecuteError
CSV_DB_GetFieldCount
CSV_DB_GetFieldIndex
CSV_DB_GetFieldName
CSV_DB_GetFieldText
CSV_DB_GetRowCount
CSV_DB_GetRowCurrent
CSV_DB_GetRowFieldText
CSV_DB_MoveFirst
CSV_DB_MoveLast
CSV_DB_MoveNext
CSV_DB_MoveOffset
CSV_DB_MovePrev
CSV_DB_StandbyConnectionActive
CSV_DB_StrToSQL
CSV_Include Display CSV_Display_Display_Logo
CSV_Display_Display_ServicePack()
CSV_Display_Title()
CSV_Display_Version()
CSV_Include File CSV_File_Display
CSV_File_Print
CSV_File_Save
CSV_Include Form CSV_Form_Centre
CSV_Form_Login()
CSV_Form_NumPad
CSV_Form_Position
CSV_Form_Shutdown()
CSV_Form_UserCreate()
CSV_Form_UserEdit()
CSV_Form_UserPassword()
Function Category Functions
Chapter 4: CSV_Include Reference 42
CSV_Include ListBox CSV_ListBox_AddItem
CSV_ListBox_Clear
CSV_ListBox_Create()
CSV_ListBox_Destroy
CSV_ListBox_GetCategory
CSV_ListBox_GetItem
CSV_ListBox_GetItemID
CSV_ListBox_GetSelectedItem
CSV_ListBox_GetSelectedItemCategory
CSV_ListBox_GetSelectedItemID
CSV_ListBox_GetTagComment
CSV_ListBox_GetTagDescFromTag
CSV_ListBox_GetTagName
CSV_ListBox_GetTrendDescFromTag()
CSV_ListBox_Hide
CSV_ListBox_RemoveItem
CSV_ListBox_SelectCategories
CSV_ListBox_SelectTags()
CSV_ListBox_SelectTrends()
CSV_ListBox_SetText
CSV_ListBox_Show
CSV_ListBox_TagFormat
CSV_ListBox_Visible
CSV_Include Math CSV_Math_RoundDown
CSV_Math_Truncate
CSV_Include MenuConfig CSV_MenuConfig_Close()
CSV_MenuConfig_Display()
CSV_MenuConfig_LoadDflt()
CSV_MenuConfig_UserPages()
CSV_Include MessageBox CSV_MessageBox
CSV_Include Misc CSV_Misc_CheckNumPadValue
CSV_Misc_IntRange
CSV_Misc_MouseOver
Function Category Functions
Chapter 4: CSV_Include Reference 43
CSV_Include MultiMonitors CSV_MM_BackEmpty()
CSV_MM_ConfigInit()
CSV_MM_FwdEmpty()
CSV_MM_GetMonitor()
CSV_MM_GetMonitors()
CSV_MM_GetMouseX
CSV_MM_GetMouseY
CSV_MM_GetOffset
CSV_MM_GetScreenWidth()
CSV_MM_ListLastPages
CSV_MM_MonitorFromPoint
CSV_MM_MonitorFromWindow
CSV_MM_MonitorGoto
CSV_MM_NextEmpty()
CSV_MM_PageDisplay
CSV_MM_PageLast
CSV_MM_PageNext()
CSV_MM_PagePrev()
CSV_MM_PagesInit()
CSV_MM_PreviousEmpty()
CSV_MM_StoreLastPage
CSV_MM_WinDrag()
CSV_MM_WinDragEnd()
CSV_MM_WinFree()
CSV_MM_WinNewAt
CSV_MM_WinPopup
CSV_MM_WinTitle
Function Category Functions
Chapter 4: CSV_Include Reference 44
CSV_Include Navigation CSV_Nav_Alarms()
CSV_Nav_AlarmsDisabled()
CSV_Nav_AlarmsHardware()
CSV_Nav_AlarmsSummary()
CSV_Nav_CloseWindow()
CSV_Nav_DisableMenuItem
CSV_Nav_DisplayMenuBar
CSV_Nav_DisplayPopupMenu
CSV_Nav_File
CSV_Nav_GetEngToolsPrivilege()
CSV_Nav_Help()
CSV_Nav_HelpOnCSVInclude()
CSV_Nav_Home()
CSV_Nav_Login()
CSV_Nav_LoginMenu()
CSV_Nav_MenuBar_MenuClick
CSV_Nav_Network()
CSV_Nav_NetworkBtnEnabled()
CSV_Nav_PageExists
CSV_Nav_PagePrint()
CSV_Nav_Parent()
CSV_Nav_ParentBtnEnabled()
CSV_Nav_Report()
CSV_Nav_ReportBtnEnabled()
CSV_Nav_ReportMenu
CSV_Nav_Tools()
CSV_Nav_ToolsBtnEnabled()
CSV_Nav_ToolsMenu()
CSV_Nav_Trend()
CSV_Nav_TrendBtnEnabled()
CSV_Nav_TrendMenu()
CSV_Nav_TrendX()
CSV_Nav_TickMenuItem
CSV_Include Security CSV_Sec_ShowLoginMenu
CSV_Include Strings CSV_String_GetField
CSV_String_GetLines
CSV_String_Replace
CSV_Include Tags CSV_Tag_Debug
Function Category Functions
Chapter 4: CSV_Include Reference 45
CSV_Include Tag CSV_Trend_AutoScale
CSV_Trend_DspGroup
CSV_Trend_DspGroupList
CSV_Trend_DspPopupMenu
CSV_Trend_DspScaleRange
CSV_Trend_DspTrendText
CSV_Trend_GetCursorPos
CSV_Trend_GetCursorTypeStr
CSV_Trend_GetCursorValueStr
CSV_Trend_GetDate
CSV_Trend_GetMode
CSV_Trend_GetPen
CSV_Trend_GetPenFocus
CSV_Trend_GetSettings
CSV_Trend_GetSettings
CSV_Trend_GetSpan
CSV_Trend_GetTime
CSV_Trend_GroupConfig()
CSV_Trend_Page
CSV_Trend_Popup
CSV_Trend_ScaleDigital
CSV_Trend_SelectGroup
CSV_Trend_SelectPen
CSV_Trend_SetCursor
CSV_Trend_SetDate
CSV_Trend_SetDateTime
CSV_Trend_SetPens
CSV_Trend_SetRange
CSV_Trend_SetScale
CSV_Trend_SetSpan
CSV_Trend_SetTime
CSV_Trend_SetTimebase
CSV_Trend_UpdatePens
CSV_Trend_Win
Function Category Functions
Chapter 4: CSV_Include Reference 46
CSV_Alarms_Ack
Acknowledges an alarm at a specified animation point in an alarm list.
CSV_Include TrendX CSV_TrendX_AddVariable
CSV_TrendX_AgeTrends()
CSV_TrendX_ClearTrend
CSV_TrendX_Close
CSV_TrendX_DeletePen()
CSV_TrendX_Display()
CSV_TrendX_DspPopupMenu
CSV_TrendX_GenericToTag
CSV_TrendX_GenericToTagStr
CSV_TrendX_GetComment
CSV_TrendX_GetCursor
CSV_TrendX_GetDuration()
CSV_TrendX_GetSamplePeriod
CSV_TrendX_GetScale
CSV_TrendX_GetTrendName
CSV_TrendX_GetTrigger
CSV_TrendX_GetVal
CSV_TrendX_InitClient()
CSV_TrendX_InitSrvr()
CSV_TrendX_MapTrendTags()
CSV_TrendX_RefreshTrendPage
CSV_TrendX_SetDuration
CSV_TrendX_SetDuration
CSV_TrendX_SetPen()
CSV_TrendX_SetSamplePeriod
CSV_TrendX_SetScale
CSV_TrendX_TagSelect
CSV_TrendX_TagSelectFrmCursor()
CSV_TrendX_TagToGeneric
CSV_TrendX_TrendTimeout
CSV_Include WinUtilities CSV_WinUtl_DestroyCursor()
CSV_WinUtl_GetColourRes()
CSV_WinUtl_GetCpuUsage
CSV_WinUtl_GetSystemDir()
CSV_WinUtl_GetTotalCpuUsage()
CSV_WinUtl_GetWindowsDir()
CSV_WinUtl_GetWinMode()
CSV_WinUtl_LoadCursor
CSV_WinUtl_LockWindowUpdate
CSV_WinUtl_NormalCursor
CSV_WinUtl_ShellExec
CSV_WinUtl_UpdateTotalCpuUsage()
CSV_WinUtl_WaitCursor
Function Category Functions
Chapter 4: CSV_Include Reference 47
Syntax CSV_Alarms_Ack(iAN)
iAN: Animation point number of alarm to acknowledge.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_AckHardw
are
Acknowledges a hardware alarm at a specified animation point in an alarm list.
Syntax CSV_Alarms_AckHardware(iAN)
iAN: Animation point number of alarm to acknowledge.
Note: Hardware alarms are not stored in the same way as standard alarms.
Therefore, AlarmGetDsp() does not return any information for a hardware
alarm. Thus, CSV_Alarms_Ack will not function correctly for hardware alarms.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_AckPage
Acknowledges a page of alarms, starting at a specified animation point. Silences
the alarm sound.
Syntax CSV_Alarms_AckPage(iAN)
iAN: Starting animation point number of page of alarms to acknowledge.
CSV_Alarms_AckRec
Acknowledges an alarm by record number, and silences the alarm sound.
Syntax CSV_Alarms_AckRec(iRecNo)
iRecNo: Record number of alarm to acknowledge.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_AdvFilter
Applies an advanced filter to the alarm list displayed at a specified AN. The
advanced filter allows alarms to be filtered based on Date, Time, Tag, Name,
Description, Area, Category, Priority, State and Type (or any combination of
these).
Syntax CSV_Alarms_AdvFilter(iAN,iAlarmType,iMonitor)
iAN: Animation point where the alarm list is displayed.
Chapter 4: CSV_Include Reference 48
iAlarmType: Type of alarm list associated with filter:
0 = Last alarms list.
1 = Active alarms list.
2 = Alarm summary list.
3 = Hardware alarms list.
4 = Disabled alarms list.
iMonitor: The number of the monitor to associate the filter with (each
monitor can display and store a different filter).
Return Value 0
CSV_Alarms_AdvFilter
Config
Displays a popup window allowing the user to configure advance alarm
filtering.
Syntax CSV_Alarms_AdvFilterConfig(iAlarmType,iMonitor)
iAlarmType: Type of alarm list associated with filter:
0 = Last alarms list.
1 = Active alarms list.
2 = Alarm summary list.
3 = Hardware alarms list.
4 = Disabled alarms list.
iMonitor: The number of the monitor to associate the filter with (each
monitor can display and store a different filter).
Return Value 0 if Advanced filter applied, otherwise 1.
CSV_Alarms_AdvFilter
Query
Called for each alarm to determine which alarm is displayed when a user
defined advanced filter has been applied.
Syntax CSV_Alarms_AdvFilterQuery(iRecNo,nVer,sFromDate,sFromTime,sToDate
,sToTime,sTag,sName,sArea,sCategory,sPriority,sState,sType)
iRecNo: Record number of the alarm.
nVer: Version (not used).
sFromDate: Alarms prior to this date won't be displayed ("" sets FromDate to
earliest possible).
Chapter 4: CSV_Include Reference 49
sFromTime: Alarms prior to this time won't be displayed ("" sets FromTime
to 12:00 Midnight).
sToDate: Alarms subsequent to this date won't be displayed ("" sets ToDate
to current date).
sToTime: Alarms subsequent to this time won't be displayed ("" sets ToDate
to current time).
sTag: Alarm Tag must be 'Like' sTag i.e. = *sTag*.
sName: Alarm Name must be 'Like' sName i.e. = *sName*.
sArea: Area of alarm (or group of areas).
sCategory: Alarm category (or group of categories).
sPriority: Alarm priority (or group of priorities).
sState: Alarm state.
sType): Alarm type.
Note: Setting any filter argument to "" will result in that filter criteria being
ignored.
Return Value 1 if alarm is to be displayed (i.e., matches criteria), otherwise 0.
CSV_Alarms_AdvFilter
SetDateTime
Writes the date and time entered via a keypad form to specified Text boxes.
(Used in the Advanced Alarm Filter form).
Syntax CSV_Alarms_AdvFilterSetDateTime(iDateAN, iTime)
iDateAN: AN number of Date Text Box.
iTime: AN number of Time Text Box.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_CheckSou
nd
Checks alarm summary records between a specified index and the current index
until an unacknowledged alarm is found (for given area/s) with a priority higher
than a specified priority.
Note: This function should only be called on an alarm server.
Syntax CSV_Alarms_CheckSound(iAlarmIndexPrevious,iPriorityPrevious,sArea
)
Chapter 4: CSV_Include Reference 50
iAlarmIndexPrevious: Index in alarm summary to begin checking from
(i.e., the index of the last alarm checked).
iPriorityPrevious: Priority to compare with.
sArea: Current logged in areas (i.e., only check alarms within these areas).
Return Value This function returns a string containing three values separated by a single
space:
Alarm Priority: Priority of higher priority alarm if one is found, otherwise
iPriorityPrevious as originally passed to function.
Alarm Index: Index of most recent alarm checked.
Alarm Acknowledged: 1 if an alarm has been acknowledged and no further
alarms have since been triggered, otherwise 0.
CSV_Alarms_ClearGrou
pFilter
Clears the filter applied to the specified alarm list.
Syntax CSV_Alarms_ClearGroupFilter(iAN,iAlarmType, iMonitor)
iAN: Animation point number of start of alarm list.
iAlarmType: Type of alarm list associated with filter:
0 = Last alarms list.
1 = Active alarms list.
2 = Alarm summary list.
3 = Hardware alarms list.
4 = Disabled alarms list.
iMonitor: Number of monitor displaying alarm list (-1 = active monitor).
CSV_Alarms_Disable
Disables an alarm at a specified animation point in an alarm list.
Syntax CSV_Alarms_Disable(iAN)
iAN: Animation point number of alarm to disable.
Return Value 0 if successful, otherwise -1.
Chapter 4: CSV_Include Reference 51
CSV_Alarms_DisableRe
c
Disables an alarm by record number.
Syntax CSV_Alarms_DisableRec(iRecNo)
iRecNo: Record number of alarm to disable.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_DspGroup
Filter
Displays the Alarm Group listbox, and stores the selected filter for the specified
alarm page and the specified monitor.
Syntax CSV_Alarms_DspGroupFilter(iAlarmType,iMonitor)
iAlarmType: Type of alarm list associated with filter:
0 = Last alarms list.
1 = Active alarms list.
2 = Alarm summary list.
3 = Hardware alarms list.
4 = Disabled alarms list.
iMonitor: Number of monitor displaying alarm list (-1 = active monitor).
Return Value Name of Alarm Group selected, or "" if selection cancelled.
CSV_Alarms_DspGroup
List
Displays the Alarm Group listbox.
Syntax CSV_Alarms_DspGroupList
sSelectedGroup: Name of group to preselect in the list.
sAreas: Areas to enable in the list; i.e., only alarm groups belonging to these
areas are displayed.
Return Value Alarm group (description) selected from the list, or "" if cancel is pressed.
CSV_Alarms_DspInfo
Displays information popup for alarm at specified animation point in alarm list.
Syntax CSV_Alarms_DspInfo(iAN)
Chapter 4: CSV_Include Reference 52
iAN: Animation point number of alarm to display information for.
CSV_Alarms_DspInfoR
ec
Displays information popup for alarm at the specified record number.
Syntax CSV_Alarms_DspInfoRec(iRecNo)
iRecNo: Record number of alarm to display information for.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_DspLast
Displays specified number of most recent alarms, starting at a specified
animation point.
Syntax CSV_Alarms_DspLast(iAN,iAlarmCount,iType)
iAN: Animation point number of start of alarm list.
iAlarmCount: Number of alarms to display.
iType: The type of alarms to display.
Non-hardware alarms
0 = All active alarms, i.e. Types 1 and 2.
1 = All unacknowledged alarms, ON and OFF.
2 = All acknowledged ON alarms.
3 = All disabled alarms.
4 = All configured (non-hardware) alarms, i.e. Types 0 to 3, plus
acknowledged OFF alarms.
Hardware alarms
5 = All active alarms; i.e., types 6 and 7.
6 = All unacknowledged alarms, ON and OFF.
7 = All acknowledged ON alarms.
8 = All disabled alarms.
9 = All configured alarms; i.e., types 5 to 8.
Alarm Summary
10 = All summary alarms.
Alarm General
Chapter 4: CSV_Include Reference 53
11 = All ON alarms.
12 = All OFF alarms.
13 = All ON hardware alarms.
14 = All OFF hardware alarms.
CSV_Alarms_Enable
Enables an alarm at a specified animation point in an alarm list.
Syntax CSV_Alarms_Enable(iAN)
iAN: Animation point number of alarm to enable.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_EnableRe
c
Enables an alarm by record number.
Syntax CSV_Alarms_EnableRec(iRecNo)
iRecNo: Record number of alarm to enable.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_GetAckPri
vilege()
Checks that the user has privilege level required for acknowledging alarms.
Return Value 1 if user has required privilege level, otherwise 0.
CSV_Alarms_GetDisabl
ePrivilege()
Checks that the user has privilege level required for disabling alarms.
Return Value 1 if user has required privilege level, otherwise 0.
CSV_Alarms_GetGroup
Filter
Returns the description of the filter currently applied to the alarm list.
Syntax CSV_Alarms_GetGroupFilter(iAlarmType,iMonitor,iChars)
Chapter 4: CSV_Include Reference 54
iAlarmType: Type of alarm list associated with filter:
0 = Last alarms list.
1 = Active alarms list.
2 = Alarm summary list.
3 = Hardware alarms list.
4 = Disabled alarms list.
iMonitor: Number of monitor displaying alarm list (-1 = active monitor).
iChars: Number of characters per line (-1 = single line).
Return Value Description of the filter currently applied to a specified alarm list, returned as
lines if a maximum number of characters per line is specified.
CSV_Alarms_GetGroup
FilterID
Returns the name of the group associated with the filter currently applied to a
specified alarm list.
Syntax CSV_Alarms_GetGroupFilterID(iAlarmType,iMonitor)
iAlarmType: Type of alarm list associated with filter:
0 = Last alarms list.
1 = Active alarms list.
2 = Alarm summary list.
3 = Hardware alarms list.
4 = Disabled alarms list.
iMonitor: Number of monitor displaying alarm list (-1 = active monitor).
Return Value Name of alarm group, or "_AdvFilter_" if advanced filter applied, "" if no filter
applied.
CSV_Alarms_GetUniqu
eGroupName
Checks if a group of a specified name exists. If a group already exists with the
specified name then a new name is found by appending a number to the original
name.
Syntax CSV_Alarms_GetUniqueGroupName(sGroupName)
sGroupName: Name of a group to check.
Note: Call this function to ensure a new group can be created with a specified
name, before attempting to create the group.
Chapter 4: CSV_Include Reference 55
Return Value Name of a group not yet assigned (= sGroupName, or modified version of
sGroupName).
CSV_Alarms_GroupAdd
Adds an alarm group to the Alarm Group Listbox, and creates a group to store
the associated alarm categories. The alarm group is also added to AlarmGrp.dbf.
The name of the group is stored in the second field of the listbox (non-visible
field), as well as in the "Name" field of the AlarmGrp.dbf.
Note: Alarm groups are used to filter alarms on an alarm page. When a group is
selected from the list only alarms having the associated categories are displayed
on the alarm page.
Syntax CSV_Alarms_GroupAdd(sGroupName, sDesc, sCategories, sArea)
sGroupName: Name/ID of alarm group (must be unique).
sDesc: Text describing alarm group that will appear in listbox.
sCategories: String listing categories represented by alarm group. Must
have same format as a standard Citect group; e.g., "1,5,7..9" = categories
1,5,7,8,9.
sArea: Area the group applies to. Empty string = all areas.
Return Value Name of the group created, or "" if unsuccessful.
CSV_Alarms_GroupCon
fig()
Displays a popup window allowing the user to browse/edit/add/delete records
in the AlarmGrp.dbf at runtime.
Note: Modifications can be made to alarm groups at run-time, that will be
reflected in the list box displaying available alarm groups for filtering.
CSV_Alarms_GroupRe
move
Removes an alarm group from the Alarm Group Listbox, and deletes the Citect
group of the same name. The alarm group is also removed from the
AlarmGrp.dbf.
Note: Alarm groups are used to filter alarms on an alarm page. When a group is
selected from the list, only alarms having the associated categories are displayed
on the alarm page.
Syntax CSV_Alarms_GroupRemove(sGroupName)
sGroupName: Unique Name/ID of alarm group (= second field (non-visible)
of Alarm Group listbox, which can be retrieved by calling
CSV_ListBox_GetSelectedItemID.)
Chapter 4: CSV_Include Reference 56
Return Value 0 if successful, otherwise -1.
CSV_Alarms_GroupEdit
Edits an existing alarm group in the Alarm Group Listbox, and updates the
AlarmGrp.dbf.
Note: Alarm groups are used to filter alarms on an alarm page. When a group is
selected from the list, only alarms having the associated categories are displayed
on the alarm page.
Syntax CSV_Alarms_GroupEdit(sGroupName,sDesc,sCategories,sArea)
sGroupName: Name/ID of alarm group (must be unique).
sDesc: Text describing alarm group that will appear in listbox.
sCategories: String listing categories represented by alarm group. Must
have same format as a standard Citect group; e.g., "1,5,7..9" = categories
1,5,7,8,9.
sArea: Area the group applies to. Empty string = all areas.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_GroupFilt
er
Filters the alarm list starting at a specified animation point for a group of
categories.
Note: If the group name = "_AllAlarms_", the all alarms is displayed; i.e., the
filter is cleared. If the group name = "_AdvFilter_", the selected advanced filter is
applied to the alarm list.
Syntax CSV_Alarms_GroupFilter(iAN,sGroupName,iAlarmType,iMonitor)
iAN: Animation point number of start of alarm list.
sGroupName: Name/ID of alarm group to filter for.
iAlarmType: Type of alarm list associated with filter.
0 = Last alarms list.
1 = Active alarms list.
2 = Alarm summary list.
3 = Hardware alarms list.
4 = Disabled alarms list.
iMonitor: Number of monitor displaying alarm list (-1 = active monitor).
Chapter 4: CSV_Include Reference 57
Return Value Handle to group, otherwise 1.
CSV_Alarms_GroupSel
ect
Filters the alarm list starting at a specified animation point for a group of
categories. The alarm group may be specified by either the group name or the
group description (as found in the AlarmGrp.dbf). Stores the applied filter for a
specified monitor and specified alarm page type.
Syntax CSV_Alarms_GroupSelect(iAN,sGroupID,sGroupIDType,iAlarmType,
iMonitor)
iAN: Animation point number of start of alarm list.
sGroupID: Name/Desc of alarm group to filter for. If sGroupID = "", the filter
is cleared.
sGroupIDType:
0 = sGroupID specifies the alarm group Name.
1 = sGroupID specifies the alarm group description.
iAlarmType: Type of alarm list associated with filter:
0 = Last alarms list.
1 = Active alarms list.
2 = Alarm summary list.
3 = Hardware alarms list.
4 = Disabled alarms list.
iMonitor: Number of monitor displaying alarm list (-1 = active monitor).
CSV_Alarms_GroupsIni
t()
Initializes Alarm Group Listbox with groups specified in AlarmGrp.dbf. For
each alarm group listed in AlarmGrp.dbf, a group is created to store the alarm
categories assigned to the alarm group. Groups are used to filter alarm list.
When a group is selected from the list, only alarms having those categories are
displayed on the alarm page.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_Help
For alarm at specified animation point in alarm list: Displays page specified in
help field of alarm dbf, or if help field begins with "?", calls the function named
in the field (i.e., the text following "?").
Return Value CSV_Alarms_Help(iAN)
Chapter 4: CSV_Include Reference 58
iAN: Animation point number of alarm to display help for.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_HelpRec
For alarm at specified record number: displays the page specified in the help
field of alarm dbf, or if the help field begins with "?", calls the function named in
the field (i.e., the text following "?").
Syntax CSV_Alarms_HelpRec(iAN)
iAN: Animation point number of alarm to display help for.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_ListHeadi
ng
Returns a formatted heading for the specified alarm list type. The heading
format is specified by the ini parameters [Alarm]ActiveHeading,
[Alarm]SummaryHeading, [Alarm]DisabledHeading, and
[Alarm]HardwareHeading.
Syntax CSV_Alarms_ListHeading(iAlarmType)
iAlarmType: Type of alarm list associated with filter.
0 = Last alarms list.
1 = Active alarms list.
2 = Alarm summary list.
3 = Hardware alarms list.
4 = Disabled alarms list.
Return Value Alarm list heading. Returns "" if no heading has been specified.
Example [Alarm]
ActiveHeading =
{DATE,12}^t{TIME,14}^t{NAME,15}^t{DESC,40}^t{STATE,10}
CSV_Alarms_ListHeadi
ngFont()
Returns the font to use for alarm list headings. The font is specified by the ini
parameter [Alarm]HeadingFont. If no font is specified the default, (tahoma,
bold, 9 blue) is used.
Return Value Alarm list heading font.
Chapter 4: CSV_Include Reference 59
CSV_Alarms_PopupMe
nu
Displays popup menu for alarm at specified animation point in alarm list.
Available menu items:
Alarm information
Acknowledge
Disable
Enable
Help
Note: The Disable/Enable options are available only to user with privilege level
specified by [Privilege] DisableAlarms parameter. Acknowledge option
available only to user with privilege level specified by [Privilege] AckAlarms
parameter.
Syntax CSV_Alarms_PopupMenu(iAN,iAlarmType)
iAN: Animation point number of alarm to display menu for.
iAlarmType: Type of alarm list:
0 = Last alarms list.
1 = Active alarms list.
2 = Alarm summary list.
3 = Hardware alarms list.
4 = Disabled alarms list.
Return Value 0 if successful, otherwise -1.
CSV_Alarms_Sound()
Checks if there are unacknowledged alarms in the system, and if there are it
sounds the relevant alarm.
CSV_Alarms_SoundAct
ive()
Checks if an alarm is being sounded. This function is used to animate siren in
templates, and so on.
Return Value 1 if sound is active, otherwise 0.
CSV_Alarms_Silence()
Silences alarm by setting miResetAlarmSound.
Chapter 4: CSV_Include Reference 60
CSV_DB_BOF
Checks for the beginning of file flag for a recordset.
Syntax CSV_DB_BOF(hRecordSet)
hRecordSet: Handle to recordset (as returned from CSV_DB_Execute() )
Return Value 0 if not at beginning of file.
CSV_DB_Close
Closes a specified recordset.
Syntax CSV_DB_Close(hRecordSet)
hRecordSet: Handle to recordset (as returned from CSV_DB_Execute() )
Return Value 0 if successful, otherwise -1.
CSV_DB_EOF()
Checks for the end of file flag for a recordset.
Return Value 0 if not at end of file.
CSV_DB_Execute
Executes a command on a specified database. A connection string is used to
specify how to connect to the database. If a standby connection string is
specified then the standby path is used if the primary path is offline. The
command should be an SQL type command, for example:
"SELECT * FROM MyTable WHERE TimeValue(Time) > #10:00:00#" etc.
Example connection strings:
SQL Server:
"Provider=sqloledb;Data Source=MySQLServerName;Initial
Catalog=MyDatabase;User Id=MyUserID;Password=MyPassword;"
Access:
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=\somepath\mydb.mdb;User Id=MyUserID;Password=MyPassword;"
Oracle:
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User
Id=MyUserID;Password=MyPassword;"
Excel:
Chapter 4: CSV_Include Reference 61
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\somepath\MyExcel.xls; Extended Properties=Excel
8.0;HDR=Yes;IMEX=1"
where:
HDR=Yes; indicates that the first row contains columnnames, not data
IMEX=1; tells the driver to always read "intermixed" data columns as text
Text:
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:\somepath\MyTxtFilesFolder\;Extended
Properties=text;HDR=Yes;FMT=Delimited"
where:
"HDR=Yes;" indicates that the first row contains column names, not data
DBF:
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:\somepath\MyDbfFolder;Extended Properties=dBASE IV;User
ID=Admin;Password="
DSN:
"DSN=MyDsn;Uid=MyUserID;Pwd=MyPassword;"
UDL:
"File Name=c:\somepath\myDataLink.udl;"
Syntax CSV_DB_Execute(sCommand,sPrimaryConnection,sStandbyConnection)
#sCommand: Command to execute
#sPrimaryConnection: Connection string for primary connection path.
#sStandbyConnection: Connection string for standby connection path.
Return Value Handle to the resulting recordset if successful, otherwise -1.
CSV_DB_GetExecuteEr
ror
Returns a description of the error that occurred for the last CSV_DB_Execute
command call.
Syntax CSV_DB_GetExecuteError(nMode)
#nMode
Return Value Error description.
Chapter 4: CSV_Include Reference 62
CSV_DB_GetFieldCount
Returns the number of fields contained in a specified recordset.
Syntax CSV_DB_GetFieldCount(hRecordSet)
Return Value Number of fields if successful, otherwise -1.
CSV_DB_GetFieldIndex
Returns the index of a specified field in a specified recordset.
Syntax CSV_DB_GetFieldIndex(hRecordSet,sField)
#sField: Name of field.
Return Value Index of fields if successful, otherwise -1.
CSV_DB_GetFieldName
Returns the name of a field contained in a specified recordset. The field is
identified by a field index.
Syntax CSV_DB_GetFieldName(hRecordSet,nFieldIndex)
#nFieldIndex: Index of field (first field has nFieldIndex = 0).
Return Value Name of fields if successful, otherwise "".
CSV_DB_GetFieldText
Returns the value of a field (as a string) contained in a specified recordset. The
field is identified by a field index.
Syntax CSV_DB_GetFieldText(hRecordSet,sField,nFieldIndex,sNullValue)
#sField: Name of field. (Leave blank "" if nFieldIndex is to be used instead.)
#nFieldIndex: Index of field.The first field has nFieldIndex = 0. (Used only
if sField = "")
#sNullValue: Value to return if the field value is Null
Note: If the value of the field is Null then this function will return the string
specified by the argument sNullValue.
Return Value Value of fields if successful, otherwise sNullValue.
CSV_DB_GetRowCount
Returns the number of rows contained in a specified recordset.
Syntax CSV_DB_GetRowCount(hRecordSet)
Chapter 4: CSV_Include Reference 63
Return Value Number of rows if successful, otherwise -1.
CSV_DB_GetRowCurre
nt
Returns the row number of the current record in a specified recordset.
Syntax CSV_DB_GetRowCurrent(hRecordSet)
Return Value Current row number if successful, otherwise -1.
CSV_DB_GetRowFieldT
ext
Get the value of a specified field in a specified row of a specified recordset.
Syntax CSV_DB_GetRowFieldText(hRecordSet,nRowOffset,sField,nFieldIndex,
sNullValue)
#nRowOffset: Offset of row (from current position)
CSV_DB_MoveFirst
Finds the first record in a specified recordset.
Syntax CSV_DB_MoveFirst(hRecordSet)
Return Value First record if successful, otherwise -1.
CSV_DB_MoveLast
Finds the last record in a specified recordset.
Syntax CSV_DB_MoveLast(hRecordSet)
Return Value Last record if successful, otherwise -1.
CSV_DB_MoveNext
Finds the next record in a specified recordset.
Syntax CSV_DB_MoveNext(hRecordSet)
Return Value Next record if successful, otherwise -1.
CSV_DB_MoveOffset
Finds the record at a specified offset from the current record in a specified
recordset.
Chapter 4: CSV_Include Reference 64
Syntax CSV_DB_MoveOffset(hRecordSet)
Return Value Record at specified offset if successful, otherwise -1.
CSV_DB_MovePrev
Finds the previous record in a specified recordset.
Syntax CSV_DB_MovePrev(hRecordSet)
Return Value Previous record if successful, otherwise -1.
CSV_DB_StandbyConn
ectionActive
Check the last connection state of the specified primary connection and the
specified standby connection.
Syntax CSV_DB_StandbyConnectionActive(sPrimaryConnection,
sStandbyConnection)
Return Value If the primary connection state is offline and the standby connection state is
online then return 1 otherwise return 0.
CSV_DB_StrToSQL
Replaces single quote with two single quotes to ensure SQL interprets single
quote as text only.
Syntax CSV_DB_StrToSQL(sText)
#sText: The text to convert to SQL format
Return Value Converted text.
CSV_Display_Display_L
ogo
Note: Displays company logo at specified x and y coordinates. The logo must be
a 256-color (maximum) bitmap file. The default file is "logo.bmp" located in the
[RUN] directory. Alternatively, a file name and path may be specified.
Note: The logo will only be displayed on the first scanupdate of the page.
Syntax CSV_Display_Logo(iX,iY,sLogoFile)
#iX: X coordinate to display top-left corner of logo.
#iY: Y coordinate to display top-left corner of logo.
#sLogoFile: File name to display (including path).
Chapter 4: CSV_Include Reference 65
CSV_Display_Display_S
ervicePack()
Gets Citect Service PackHotfix in the form 'Service Pack A' or 'HF....'.
Return Value Citect Service Pack as string.
CSV_Display_Title()
Gets window title to display in title bar.
Return Value Window title.
CSV_Display_Version()
Gets Citect Version number in the form 5.41.128.
Return Value Citect Version number as string.
CSV_File_Display
Displays textRich text file at a text box object AN.
Syntax CSV_File_Display(sFile,iAN,iMode,sFontName,sFontSize,
iFontColour,iBackColour,iWordWrap,iScrollbars)
#sFile: Name of file to display.
#iAN: Animation point number of text box object.
#iMode:
1 = Locked (don't allow editing).
2 = Allow save (enables save option in popup context menu).
4 = Allow create (creates the file if it doesn't already exist).
8 = Allow open (enable open option in popup context menu, which
allows user to browse for another file to open).
#sFontName: Name of font.
#sFontSize: Size of font.
#iFontColour: Color of font.
#iBackColour: Color of text box.
#iWordWrap: Wrap text (for text files only; i.e., not rtf files).
#iScrollbars: Display scrollbars:
0 = None
1 = Horizontal
Chapter 4: CSV_Include Reference 66
2 = Vertical
3 = Both
CSV_File_Print
Prints text/Rich text file.
Syntax CSV_File_Print(Name)
#Name: Name of file to print.
Return Value 0 if successful, otherwise -1.
CSV_File_Save
Saves text/Rich text file.
Syntax CSV_File_Save(sFile)
#sFile: Name of File to save.
Return Value 0 if successful, otherwise -1.
CSV_Form_Centre
Displays a form in the centre of the current monitor screen.
Syntax CSV_Form_Centre(iFormX, iFormY)
#iFormX: Width of form.
#iFormY: Height of form
CSV_Form_Login()
Displays the login form, gest the user name and password, and then tries to log
the user in. If the login fails, it will retry unti login is OK or user presses the
Cancel button.
Return Value 0 if login successful, otherwise an error (298).
CSV_Form_NumPad
Generates a form that allows the user to enter values through a number pad. The
form is displayed on the current ('active') monitor, at the cursor position.
Syntax CSV_Form_NumPad(sTitle,sInput,iMode)
#sTitle: Title of numeric pad form.
#sInput: Initial default value.
Chapter 4: CSV_Include Reference 67
#iMode: Indicates the input mode:
0 = Normal keypad.
1 = With a Password style edit field.
2 = Mode not yet implemented.
4 = With "+-" button.
8 = With "" button.
16 = With "." button.
32 = With ":" button, not compatible with mode "+-".
64 = With "AM" and "PM" buttons, not compatable with mode "" or "."
128 = With "Now" button.
512 = With "1hr", "2hr", "8hr", "24hr" buttons, not compatible with mode
"Now".
Return Value Returns the string of value entered through the keypad if closed with the accept
button, or a null string if closed any other way.
CSV_Form_Position
Displays a form at the specified x,y coordinates, while ensuring that all of the
form is displayed within the boundaries of the current monitor. (i.e., that the x,y
coordinates are automatically adjusted if necessary).
Syntax CSV_Form_Position(iX, iY, iFormX, iFormY)
#iX: Desired X position of top-left of form.
#iY: Desired Y position of top-left of form.
#iFormX: Width of form.
#iFormY: Height of form.
CSV_Form_Shutdown()
Displays a dialog box to verify that the user really wants to shut down the Citect
system. If the user selects [Yes], Citect will be shut down.
Return Value 0 if shutdown confirmed, otherwise an error (298).
CSV_Form_UserCreate(
)
Displays a form to create a record for a new user. A new user of the specified
type is created. The name of the user must be unique.
Return Value 0 if new user is created successfully, otherwise an error.
Chapter 4: CSV_Include Reference 68
CSV_Form_UserEdit()
Displays a form to allow the user to create or delete any user record in the
database. This function should have restricted access. Changes are written to
both the Users database and the runtime database in memory.
Return Value 0 if successful, otherwise an error.
CSV_Form_UserPassw
ord()
Displays a form to allow users to change their own passwords. Changes are
written to both the Users database and the runtime database in memory.
Return Value 0 if successful, otherwise an error.
CSV_ListBox_AddItem
Adds item to combo box in ActiveX tag list object.
Syntax CSV_ListBox_AddItem(hList,sItem,sCategory,sItemID)
#hList: Handle to list object.
#sItem: Item text to add to list.
#sCategory: Category of item (list can be filtered by category).
#sItemID: ID of item (optional, but if used it should be unique for each
item).
Return Value 0 if successful, otherwise -1.
CSV_ListBox_Clear
Clears ActiveX list object.
Syntax CSV_ListBox_Clear(hList)
#hList: Handle to list object.
Return Value 0 if successful, otherwise -1.
CSV_ListBox_Create()
Creates ActiveX list object.
Note: This object displays a form that contains a combobox. The form may be
displayed or hidden at any time. Items may be added to or removed from the
combobox at any time (whether or not the combobox is currently being
displayed). The combobox remains in memory until the CSV_List_Destroy()
function is called for that combobox.
Chapter 4: CSV_Include Reference 69
Return Value 0 if list box was created successfully, otherwise an error.
CSV_ListBox_Create()
Creates new list.
Return Value Handle to the created list if list box was created successfully; otherwise -1.
CSV_ListBox_Destroy
Destroys ActiveX list object.
Note: Call this function if the listbox is no longer required to free memory.
Syntax CSV_ListBox_Destroy(hList)
#hList: Handle to list object.
Return Value 0 if successful, otherwise -1.
CSV_ListBox_GetCateg
ory
Returns the item category associated with a given ItemID.
Syntax CSV_ListBox_GetCategory(hList,sItemID)
#hList: Handle to list object.
#sItemID: ItemID of item.
Return Value Category of item having ItemID = sItemID.
CSV_ListBox_GetItem
Returns the item text associated with a given ItemID.
Syntax CSV_ListBox_GetItem(hList,sItemID)
#hList: Handle to list object.
#sItemID: ItemID of item.
Return Value Item having ItemID = sItemID.
CSV_ListBox_GetItemI
D
Returns the item ID associated with a given Item text.
Syntax CSV_ListBox_GetItemID(hList,sItem)
Chapter 4: CSV_Include Reference 70
#hList: Handle to list object.
#sItem: Item text (as it appears in the listbox).
Return Value ItemID.
CSV_ListBox_GetSelect
edItem
Called when list is displayed. Returns the selected item.
Syntax CSV_ListBox_GetSelectedItem(hList)
#hList: Handle to list object.
Return Value Item selected from list.
CSV_ListBox_GetSelect
edItemCategory
Call after selection has been made from list. Returns the category of the selected
item.
Syntax CSV_ListBox_GetSelectedItemCategory(hList)
#hList: Handle to list object.
Return Value Category of item selected from list.
CSV_ListBox_GetSelect
edItemID
Call after item has been selected from list to retrieve its Item ID.
Syntax CSV_ListBox_GetSelectedItemID(hList)
#hList: Handle to list object.
Return Value ItemID of item selected from list.
CSV_ListBox_GetTagC
omment
Extracts the tag comment from a string containing the name followed by, in
brackets, the tag comment.
Syntax CSV_ListBox_GetTagComment(sItem)
#sItem: String containing tag name and comment.
Return Value Comment of tag contained in string sItem
Chapter 4: CSV_Include Reference 71
CSV_ListBox_GetTagD
escFromTag
Extracts the tag name and comment from the tag name.
Syntax CSV_ListBox_GetTagDescFromTag(sTrendTag)
#sTrendTag: Name of tag.
Return Value String containing formatted tag name and comment.
CSV_ListBox_GetTagNa
me
Extracts the tag name from a string containing the name followed by, in brackets,
the tag comment.
Syntax CSV_ListBox_GetTagName(sItem)
#sItem: String containing tag name and comment.
Return Value Name of tag contained in string sItem.
CSV_ListBox_GetTrend
DescFromTag()
Remove item from combo box in ActiveX list object.
#sTrendTag: Name of trend tag.
Return Value String containing formatted trend tag name and comment.
CSV_ListBox_RemoveIt
em
Removes item from combo box in ActiveX list object.
Note: Two options: 1) Specify both sItem AND sCategory; or 2) Set sItem = "",
sCategory = "", and specify only sItemID.
Syntax CSV_ListBox_RemoveItem(hList,sItem,sCategory,sItemID)
#hList: Handle to list object.
#sItem: Item to remove from list.
#sCategory: Category of item.
#sItemID: ID of item.
Return Value 0 if successful, otherwise -1.
CSV_ListBox_Hide
Hides list.
Chapter 4: CSV_Include Reference 72
Syntax CSV_ListBox_Hide(hList)
#hList: Handle to list object.
Return Value 0 if successful, otherwise 1.
CSV_ListBox_SelectCat
egories
Select categories of items to be displayed in list (filters list to display only items
having specified category. More than one category can be displayed by
separating each category with a comma (and no spaces between categories).
Note: Categories = "" -> removes category filter.
Syntax CSV_ListBox_SelectCategories(hList, sCategories)
#hList: Handle to list object.
#sCategories: Categories to filter list for.
Return Value 0 if successful, otherwise 1.
CSV_ListBox_SelectTag
s()
Creates an ActiveX object which provides a combo box to allow a tag to be
selected from a list. If a tag list object already exists a new instance of it is
created.
Return Value Handle to tag list object.
CSV_ListBox_SelectTre
nds()
Creates an ActiveX object which provides a combo box to allow a trend tag to be
selected from a list. If a trend tag list object already exists a new instance of it is
created.
Return Value Handle to trend list object.
CSV_ListBox_SetText
Set title, description, OK button, and Cancel button text on ActiveX list object.
Syntax CSV_ListBox_SetText(hList,sTitle,sDesc,sOK,sCancel)
#hList: Handle to list object.
#sTitle: Title appearing on form.
#sDesc: Description appearing on form.
#sOK: Text displayed on OK button.
#sCancel: Text displayed on Cancel button.
Chapter 4: CSV_Include Reference 73
Return Value 0 if successful, otherwise -1.
CSV_ListBox_Show
Displays list of tags.
Syntax CSV_ListBox_Show(hList,sTitle,sDesc,sOK,sCancel,iX,iY)
#hList: Handle to list object.
#sTitle: Title appearing on form.
#sDesc: Description appearing on form.
#sOK: Text displayed on OK button.
#sCancel: Text displayed on Cancel button.
#iX: X coordinate of left corner, or -9999 to center horizontally on active
monitor.
#iY: Y coordinate of top corner, or -9999 to center vertically.
Return Value Item selected from list (returns empty string if no item selected)
CSV_ListBox_TagForm
at
Formats a string to contain the name of the specified variable followed by, in
brackets, the comment associated with the variable. Called before adding a
variable to a drop down list of variables available for trending. Formats each
item in the drop down list.
Syntax CSV_ListBox_TagFormat(sVariable)
#sVariable: Name of variable to be formatted.
CSV_ListBox_Visible
Checks if a ListBox is currently visible.
Syntax CSV_ListBox_Visible(hObject)
#hObject: Handle to list object.
Return Value 1 if list is currently visible, otherwise 0.
CSV_Math_RoundDown
Rounds a real value down to a specified number of decimal places.
Syntax CSV_Math_RoundDown(rValue, iDecPlaces)
#rValue: The value to be rounded down.
Chapter 4: CSV_Include Reference 74
#iDecPlaces: The number of decimal places the value is rounded down to.
Example CSV_Math_RoundDown(4.328, 2) = 4.32
CSV_Math_RoundDown(4.321, 2) = 4.32
Return Value Rounded value.
CSV_Math_Truncate
Truncates a real value down to an integer value.
Syntax CSV_Math_Truncate(rValue)
Example CSV_Math_Truncate(4.328) = 4
CSV_Math_Truncate(5.867) = 5
Return Value Truncated value (as integer).
CSV_MenuConfig_Clos
e()
Closes the Menu Configuration popup. If changes have not been saved, a
prompt to save the configuration will appear.
Return Value 0 if successful, otherwise -1.
CSV_MenuConfig_Displ
ay()
Displays Menu configuration popup, which gives the user the ability to
configure menus at runtime.
Return Value 0 if successful, otherwise -1.
CSV_MenuConfig_Load
Dflt()
Loads a default menu configuration from the [Bin] directory.
Return Value 0 if successful, otherwise -1.
CSV_MenuConfig_User
Pages()
Updates the menu configuration to allow the user to select from the "Pages"
menu all non-system pages (maximum number of pages = 25).
Return Value 0 if successful, otherwise -1.
Chapter 4: CSV_Include Reference 75
CSV_MessageBox
Displays a message box centered on the active monitor screen and waits for the
user to select a button. Can display up to three buttons, as well as a checkbox.
Can disappear after specified timeout.
Syntax CSV_MessageBox(sTitle,sPrompt,iMode,iTimeout,SButton1Text,
SButton2Text,SButton3Text)
#sTitle: Message box title
#sPrompt: Message box prompt
#iMode
0 - OK button only (default)
1 - OK and Cancel buttons
2 - Abort, Retry, and Ignore buttons
3 - Yes, No, and Cancel buttons
4 - Yes and No buttons
5 - Retry and Cancel buttons
16 - Critical message
32 - Warning query
48 - Warning message
64 - Information message
0 - First button is default (default)
256 - Second button is default
512 - Third button is default
768 - Fourth button is default
0 - Application modal message box (default)
4096 - System modal message box
16384 - Adds Help button to the message box
65536 - Specifies the message box window as the foreground window
524288 - Text is right aligned
1048576 - Specifies text should appear as right-to-left reading on
Hebrew and Arabic systems
#iTimeout: The number of seconds before the message box disappears.
#sButton1Text: Text for first button
#sButton2Text: Text for second button
#sButton3Text: Text for third button
Chapter 4: CSV_Include Reference 76
Example IF sButtonText1 = ""
THEN
0 OK button pressed
299Cancel button pressed
3 Abort button pressed
4 Retry button pressed
5 Ignore button pressed
6 Yes button pressed
7 No button pressed
ELSE
0 = first button pressed
1 = second button pressed
2 = third button pressed
IF sCheckBoxText <> ""
THEN
1024 is added to the above result.
CSV_Misc_CheckNumP
adValue
Uses the MultiMonitor Numpad to get a value, then checks the value's range
and returns the new value, or the old if range is incorrect.
Syntax CSV_Misc_CheckNumPadValue(sDESC, rValue, rUpLimit, rLowLimit)
#sDESC: The description to appear in the form numpad title (as a string)
#rValue: The original value to be changed (as a real or int)
#rUpLimit: The Upper limit that the original value can be changed to (as a
real or int)
#rLowLimit: The Lower limit that the original value can be changed to (as a
real or int)
Return Value The new value or the original value if out of range.
Example Tag = CSV_Misc_CheckNumPadValue("change Value", Tag, 190, 10)
! This will means that Tag can only have values of 10 - 190 written
to it via the formNumPad.
Chapter 4: CSV_Include Reference 77
CSV_Misc_IntRange
Checks the range is valid for Integers; if not, a message box appears informing
the user of the correct range.
Syntax CSV_Misc_IntRange(LowerRange,UpperRange,OriginalValue,NewValue)
#LowerRange: The Lower range of the required Range
#UpperRange: The Upper range of the required Range
#Original Value: The value to be change back too; this is used if the value
is invalid or out of range.
#New Value: The new value to change to.
Return Value The new value, or the original value if out of range.
CSV_Misc_MouseOver
Returns TRUE if the mouse is inside the region defined by the extents of the
object at 'hAN'.
Syntax CSV_Misc_MouseOver(hAN)
#hAN: The animation number of the display object
Return Value TRUE (1) if the mouse cursor is inside the region bounded by the extents of
the specified display object
FALSE (0) otherwise.
CSV_MM_BackEmpty()
Checks if backward navigation is possible.
Note: If CSV_MM_BackEmpty() = 1, disable backward navigation button (there
are no pages on the last-page stack that may be navigated in a backward
direction from the current position).
Return Value 1 if backward navigation is not possible, otherwise 0.
CSV_MM_ConfigInit()
Initialises parameters required for mult-monitor functionality. Initialises queues
for storing last pages displayed (last page stack) Parameter values are read from
.ini file [MultiMonitors] section:
Number of monitors (parameter = "Monitors", default = 1).
Screen width of monitor (parameter = "ScreenWidth", default = 1024).
Startup pages for each monitor (parameter = "Startup1","Startup2",... etc.
depending on number of monitors, default = "Startup").
Chapter 4: CSV_Include Reference 78
Size of last page stack (parameter = "LastPageStackSize", default = 10).
CSV_MM_FwdEmpty()
Checks if forward navigation is possible (only possible if backward navigation
has been used).
Return Value 1 if forward navigation is not possible, otherwise 0.
Note: If CSV_MM_FwdEmpty() = 1 then disable forward navigation button
(there are no pages on the last-page stack that may be navigated in a forward
direction from the current position).
CSV_MM_GetMonitor()
Gets the number of the currently active monitor. The 'active' monitor is the
monitor that contains the largest part of the area of the currently active window.
Return Value Number of currently active monitor.
CSV_MM_GetMonitors()
Gets number of monitors, as set by Monitors parameter in [MultiMonitors]
section of the .ini file.
Return Value Number of monitors.
CSV_MM_GetMouseX
Gets X coordinate of mouse position with respect to desktop, monitor, or
window.
Syntax CSV_MM_GetMouseX(iMode)
#iMode
0 = Gets mouse position with respect to top-left corner of desktop.
1 = Gets mouse position with respect to top-left corner of active monitor.
2 = Gets mouse position with respect to top-left corner of active window.
CSV_MM_GetMouseY
Gets Y coordinate of mouse position with respect to desktop, monitor, or
window.
Syntax CSV_MM_GetMouseY(iMode)
#iMode
0 = Gets mouse position with respect to top-left corner of desktop.
Chapter 4: CSV_Include Reference 79
1 = Gets mouse position with respect to top-left corner of active monitor.
2 = Gets mouse position with respect to top-left corner of active window.
CSV_MM_GetOffset
Gets X-offset of selected monitor. To display a page on the selected monitor the
page must have its X coordinate set to this value.
Syntax CSV_MM_GetOffset(iMonitorNo)
#iMonitorNo: Number of monitor to get X-offset for.
Return Value Offset of monitor.
CSV_MM_GetScreenWi
dth()
Gets width of screen, as set by ScreenWidth parameter in [MultiMonitors]
section of .ini file.
Return Value Width of screen.
CSV_MM_ListLastPage
s
Displays on the active monitor a menu listing pages that may be navigated
backwards or forwards from the current page. A stack stores recently displayed
pages in the order in which they were displayed. This function can be used to
allow these pages to be selected for display.
Syntax CSV_MM_ListLastPages(Mode)
#Mode
0 = Lists pages which may be navigated backwards.
1 = Lists pages which may be navigated forwards.
Return Value 0 if successful, otherwise 1.
CSV_MM_MonitorFrom
Point
Gets number of monitor containing point specified.
Syntax CSV_MM_MonitorFromPoint(iX, iY)
#iX: X-coordinate of point.
#iY: Y-coordinate of point.
Return Value Number of monitor containing specified point.
Chapter 4: CSV_Include Reference 80
CSV_MM_MonitorFrom
Window
Gets number of monitor intersecting the largest area of the specified window.
Syntax CSV_MM_MonitorFromWindow(iWindowNo)
#iWindowNo: Window number to get monitor number for.
Return Value Number of monitor associated with window.
CSV_MM_MonitorGoto
Goes to main window of specified monitor.
Syntax CSV_MM_MonitorGoto(iMonitor)
#iMonitor: Number of monitor to go to.
Return Value Number of main window associated with monitor if successful, otherwise -1.
CSV_MM_NextEmpty()
Checks if a 'Next' page has been defined for the current page.
Note: If CSV_MM_NextEmpty() = 1 then disable 'Next Page' navigation button.
Return Value 1 if 'Next Page' has not been defined, otherwise 0.
CSV_MM_PageDisplay
Displays selected page on the 'active' monitor, or a pre-selected monitor.
Syntax CSV_MM_PageDisplay(sPage,iMonitor,bStoreLastPage,sStoreFunction)
#sPage: Name of page to display.
#iMonitor: Number of monitor to display page on. First monitor = '0',
Second = '1' etc. If iMonitor = -1 then page is displayed on the 'active' (ie.
currently selected) monitor.
#bStoreLastPage: Add page to last page stack. If bStoreLastPage = 0 then
the page is not written to the queue that stores the previous pages displayed.
#sStoreFunction: Name of function to store on last page stack.
If a function has been specified then that function will be called when
navigating through the last pages, rather than displaying the page.
To include arguments append a space and then a comma-separated list of
the arguments (string constants) to the function name.
Return Value 0' if successful, otherwise an error number.
Chapter 4: CSV_Include Reference 81
CSV_MM_PageLast
Navigates last page stack. Allows moving backward and (subsequently)
forward through a predefined number of previously displayed pages, in the
order in which they were displayed. The stack is unique to the currently active
monitor. ie. only the last pages displayed on the active monitor are navigated.
Syntax CSV_MM_PageLast(iMode)
Return Value 0 if successful, otherwise -1
#iMode: Direction of navigation:
0 = backwards (Default).
1 = forwards.
CSV_MM_PageNext()
Displays 'Next page' of currently active page. Page is displayed on same monitor
(ie. currently active monitor).
Return Value 0 if successful, otherwise 1.
CSV_MM_PagePrev()
Displays 'Previous page' of currently active page. Page is displayed on same
monitor (i.e., currently active monitor).
Return Value 0 if successful, otherwise 1.
CSV_MM_PagesInit()
Displays startup pages. Parameter values are read from .ini file [MultiMonitors]
section.
Note: This function is to be called on startup for all clients requiring multiple-
monitor support. To implement this without requiring a call to this function
from within the startup cicode function, it has been configured as a periodic
event (listed as a 'CSV_MultiMonitor' event). The first time the event is
processed the multi-monitor functionality is initialized. All subsequent calls
return immediately without effect.
CSV_MM_PreviousEmp
ty()
Checks if a 'Previous' page has been defined for the current page.
Note: If CSV_MM_PreviousEmpty() = 1 then disable 'Previous Page' navigation
button.
Return Value 1 if 'Previous Page' has not been defined, otherwise 0.
Chapter 4: CSV_Include Reference 82
CSV_MM_StoreLastPag
e
Adds page to last page stack for selected monitor. Page Title is written to queue
that stores pages in order of access. (Each monitor has its own queue.) The action
to perform when navigating through the last page stack is also stored.
Syntax CSV_MM_StoreLastPage(iMonitorNo,sPageAction,sPageTitle)
#iMonitorNo: Number of monitor page was displayed on.
#sPageAction: Name of action to store on last page stack.
To specify a function, prefix the function name with "?" If a function has
been specified then that function will be called when navigating through the
last pages, rather than displaying the page.
To include arguments, append a space and then a comma-separated list of
the arguments (string constants) to the function name.
#sPageTitle: Name of page displayed.
Return Value 1 if backward navigation is not possible, otherwise 0.
CSV_MM_WinDrag()
Moves active window with mouse; i.e., window position will track mouse
movements.
Note: Call CSV_MM_WinDragEnd to end dragging of window.
CSV_MM_WinDragEnd()
Ends window dragging initiated by CSV_MM_WinDrag().
CSV_MM_WinFree()
Closes active window, if active window is not main window for a monitor.
Calling CSV_MM_WinFree rather than WinFree ensures that all assigned monitors
maintain at least one open window. That window will be the one opened by the
CSV_MM_PageDisplay function.
Always call CSV_MM_WinFree to close a window if multi-monitor functionality
has been implemented.
Return Value 0 if successful, otherwise an error is returned. -1 indicates that you attempted to
close the main window of a monitor.
CSV_MM_WinNewAt
Displays a new window at the X and Y coordinates relative to the top-left corner
of active monitor.
Syntax CSV_MM_WinNewAt(sPage,iX,iY,iMode)
Chapter 4: CSV_Include Reference 83
#sPage: Name of pagewindow to display.
#iX: X-offset to display window at relative to left of monitor.
#iY: Y-offset to display window at relative to top of monitor.
#iMode: Display mode (same settings as for 'WinNewAt' function, except
that the window by default will be 'always on top', regardless of whether or
not you add 64 to the mode.This ensures that the popup window does not
disappear behind the main window. To de-select this option add 2048 to the
mode). Dynamic resizing will be disabled unless 4096 is added to the mode.
To centre the window within the page add 8192 to the mode.
Return Value The window number of the window, or -1 if the window cannot be opened.
CSV_MM_WinPopup
Display popup window at x and y coordinates relative to top left corner of active
monitor.
Syntax CSV_MM_WinPopup(sWindow, iX, iY, iHideTitleBar)
#sWindow: Name of page window to display.
#iX: X offset to display window at relative to left of monitor.
#iY: Y offset to display window at relative to top of monitor.
#iHideTitleBar
0 = display window standard title bar.
1 = don't display title bar (for XP style window).
Return Value The window number of the window, or -1 if the window cannot be opened.
Note: The entire window is displayed within the borders of a single screen. If iX
= -1 and iY = -1, the window is centered on screen.
CSV_MM_WinTitle
Sets the window title. Call this function rather than WinTitle to set window
title. Changes the title of the page on the last page stack if the window is a main
page. Shows the correct page title in the forward/back navigation drop down
list.
Syntax CSV_MM_WinTitle(sTitle)
#sTitle: Title of window.
Return Value 0 if successful, otherwise an error.
Chapter 4: CSV_Include Reference 84
CSV_Nav_Alarms()
Displays Alarm page, or calls function defined for alarm page.
Note: The Network page is defined by the parameter [Navigation] AlarmPage.
To specify a function prefix the function name with "?"
Return Value 0 if successful, otherwise -1.
CSV_Nav_AlarmsDisabl
ed()
Displays Disabled Alarm page, or calls function defined for disabled alarm
page.
Note: The Network page is defined by the parameter [Navigation]
DisabledPage. To specify a function prefix the function name with "?".
Return Value 0 if successful, otherwise -1.
CSV_Nav_AlarmsHardw
are()
Displays Hardware Alarm page, or calls function defined for hardware alarm
page.
Note: The Network page is defined by the parameter [Navigation]
HardwarePage. To specify a function prefix the function name with "?"
Return Value 0 if successful, otherwise -1.
CSV_Nav_AlarmsSumm
ary()
Displays Alarm page, or calls function defined for alarm page.
Note: The Network page is defined by the parameter [Navigation]
SummaryPage. To specify a function prefix the function name with "?"
Return Value 0 if successful, otherwise -1.
CSV_Nav_CloseWindo
w()
Displays form to enable user to shutdown Citect.
CSV_Nav_DisableMenuI
tem
Disables/enables a specified item in a specified popup menu. A disabled menu
item appears embossed in the popup menu and cannot be selected.
Syntax CSV_Nav_DisableMenuItem(iMode,sMenuItem,sSubMenuItem,sMenuName,sP
ageName)
#iMode
Chapter 4: CSV_Include Reference 85
1 = disable menu item.
0 = enable menu item.
#sMenuItem: Menu item to enable/disable.
#sSubMenuItem: Submenu item to enable/disable(if applicable).
#sMenuName: Name of menu (ie. button associated with popup menu).
#sPageName: Name of page associated with menu.
Return Value 0 if successful, otherwise 1.
CSV_Nav_DisplayMenu
Bar
Creates menu bar for specified page. The menu.dbf is accessed to determine
what buttons should appear in the menu bar. A new menu bar (ActiveX object)
is created with the specified buttons.
Syntax CSV_Nav_DisplayMenuBar(sPageName,iX,iY,nBackColour,nForeColour)
#sPageName: Name of page.
#iX: X-coordinate of top left corner of menu bar.
#iY: Y-coordinate of top left corner of menu bar.
#nBackColour: Background color of menu bar (citect palette number).
#nForeColour: Foreground (font) color of menu bar (citect palette number).
Return Value 0 if successful, otherwise -1.
CSV_Nav_DisplayPopu
pMenu
Displays popup menu for specified page and specified menu. Top left corner of
menu is displayed at nominated x,y coordinates.
Syntax CSV_Nav_DisplayPopupMenu(sPageName,sMenuName,iX,iY)
#sPageName: Name of page.
#sMenuName: Name of menu.
#iX: X-coordinate of top left corner of popup menu.
#iY: Y-coordinate of top left corner of popup menu.
Return Value 0 if successful, otherwise -1.
CSV_Nav_File
Displays text/Rich text file.
Chapter 4: CSV_Include Reference 86
Syntax CSV_Nav_File(sTitle,sFile,iMode,sFontName,iFontSize,iFontColour,
iBackColour,iWordWrap)
#sTitle: Title to appear on file page.
#sFile: File name including path (eg. "[Run]:\file.txt").
#iMode
1 = Locked (don't allow editing).
2 = Allow save (enables save option in popup context menu).
4 = Allow create (creates the file if it doesn't already exist).
8 = Allow open (enable open option in popup context menu - allows
user to browse for another file to open).
#sFontName: Name of font to display file in (if not an rtf file).
#iFontSize: Size of font (if not an rtf file).
#iFontColour: Colour of font (if not an rtf file).
#iBackColour: Colour of background.
#iWordWrap: Enable word wrap.
Return Value 0 if successful, otherwise -1.
CSV_Nav_GetEngTools
Privilege()
Checks that the user has the privilege level required for engineering tools.
Return Value 1 if user has required privilege level, otherwise 0.
CSV_Nav_Help()
Displays Help page, or calls function defined for help page.
Note: The Help page is defined by the page environment variable "HelpPage" if
it exists, otherwise by the parameter [Navigation] HelpPage. To specify a
function prefix the function name with "?"
Return Value 0 if successful, otherwise -1.
CSV_Nav_HelpOnCSVIn
clude()
Displays Help file for CSV_Include project.
Return Value 0 if successful, otherwise 1.
Chapter 4: CSV_Include Reference 87
CSV_Nav_Home()
Displays Home page, or calls function defined for home page.
Note: The Home page is defined by the parameter [Navigation] HomePage. To
specify a function prefix the function name with "?"
Return Value 0 if successful, otherwise -1.
CSV_Nav_Login()
Displays popup form allowing user to login.
CSV_Nav_LoginMenu()
Displays popup menu for Screen Login.
Note: Login popup menu is defined by the "Template" page and "Login" menu
in the Menu.dbf. If no "Login" menu has been defined in this section of the
Menu.dbf then a default menu is displayed.
CSV_Nav_MenuBar_Me
nuClick
Event triggered by clicking a button in the ActiveX menu bar.
Syntax CSV_Nav_MenuBar_MenuClick(sPageName,sButtonName,iX,iY)
#sPageName: Name of page containing menu bar.
#sButtonName: Name of button clicked.
#iX: X-coordinate of top-left corner of menu bar.
#iY: Y-coordinate of top-left corner of menu bar.
CSV_Nav_Network()
Displays Network page, or calls function defined for network page.
Note: The Network page is defined by the parameter [Navigation]
NetworkPage. To specify a function prefix the function name with "?"
Return Value 0 if successful, otherwise -1.
CSV_Nav_NetworkBtnE
nabled()
Checks if network page exists.
Return Value 1 if network page exists, or function has been specified for network page.
Chapter 4: CSV_Include Reference 88
CSV_Nav_PageExists
Checks if a page exists by attempting to locate its associated runtime file.
Syntax CSV_Nav_PageExists(sPage)
#sPage: Name of page to check.
Return Value 1 if page exists, otherwise 0.
CSV_Nav_PagePrint()
Creates a screen print of the active page, or calls the function defined for page
print.
Note: The print function is defined by the page environment variable
"PrintPage" if it exists, otherwise by the parameter [Navigation] PrintPage.
To specify a function prefix the function name with "?". If no function has been
defined, a screen print will be performed.
CSV_Nav_Parent()
Displays page configured as ParentPage environment variable for current page,
or calls function specified by ParentPage.
Return Value 0 if successful, otherwise -1.
Note: To specify a function prefix the function name with "?".
CSV_Nav_ParentBtnEn
abled()
Checks if a page has been defined for the current page.
Return Value 1 if parent page has been defined.
CSV_Nav_Report()
Displays Report page, or calls function defined for report page.
Note: The Network page is defined by the parameter [Navigation]
ReportPage. To specify a function prefix the function name with "?".
Return Value 0 if successful, otherwise -1.
CSV_Nav_ReportBtnEn
abled()
Checks if Report page exists.
Return Value 1 if Report page exists, or function has been specified for Report page.
Chapter 4: CSV_Include Reference 89
CSV_Nav_ReportMenu
Displays popup menu for Reports.
Note: Report popup menu is defined by the "Template" page and "Reports"
menu in the Menu.dbf.
Syntax CSV_Nav_ReportMenu(iX,iY)
#iX: X-coordinate of popup menu position.
#iY: Y-coordinate of popup menu position.
CSV_Nav_Tools()
Displays Tools page, or calls function defined for tools page.
Note: The Tools page is defined by the parameter [Navigation] ToolsPage.
To specify a function, prefix the function name with "?".
Return Value 0 if successful, otherwise -1.
CSV_Nav_ToolsBtnEna
bled()
Checks if Tools page exists.
Return Value 1 if Tools page exists, or function has been specified for Tools page.
CSV_Nav_ToolsMenu()
Displays popup menu for Screen Tools.
Note: Tools popup menu is defined by the "Template" page and "Tools" menu in
the Menu.dbf. If no Tools menu has been defined in this section of the Menu.dbf,
a default menu is displayed.
CSV_Nav_Trend()
Displays Trend page, or calls function defined for trend page.
Note: The Trend page is defined by the parameter [Navigation] TrendPage. To
specify a function prefix the function name with "?".
Return Value 0 if successful, otherwise -1.
CSV_Nav_TrendBtnEna
bled()
Checks if Trend page exists.
Return Value 1 if Trend page exists, or function has been specified for Trend page.
Chapter 4: CSV_Include Reference 90
CSV_Nav_TrendMenu()
Displays popup menu for Trends.
Note: Trend popup menu is defined by the "Template" page and "Trends" menu
in the Menu.dbf.
CSV_Nav_TrendX()
Displays Instant Trend page.
Return Value 0 if successful, otherwise -1.
CSV_Nav_TickMenuIte
m
Checks/unchecks a specified item in a specified popup menu. A checked menu
item appears with a tick beside it in the popup menu.
Syntax CSV_Nav_TickMenuItem(iMode,sMenuItem,sSubMenuItem,sMenuName,sPage
Name)
#iMode
1 = Check menu item.
0 = Uncheck menu item.
#sMenuItem: Menu item to check/uncheck.
#sSubMenuItem: Submenu item to check/uncheck (if applicable).
#sMenuName: Name of menu (i.e., button associated with popup menu).
#sPageName: Name of page associated with menu.
Return Value 0 if successful, otherwise -1.
CSV_Sec_ShowLoginM
enu
Displays a popup menu allowing user to login, logout, change the password,
and, if the user has the required privilege, to edit a user or add a user.
Syntax CSV_Sec_ShowLoginMenu(iXpos,iYpos,iUserEditPrivilege)
#iXpos: X position of top-left corner of popup menu.
#iYpos: Y position of top-left corner of popup menu.
#iUserEditPrivilege: Privilege required to edit or add a user.
CSV_String_GetField
Gets a field value (text) from a string, where the string consists of a number of
fields separated by a field separation character.
Chapter 4: CSV_Include Reference 91
Syntax CSV_String_GetField(sText,iField,sFieldSeparator)
#sText: String containing fields.
#iField: Index of field value to return (starting at 1).
#SFieldSeparator: Field separation character.
Return Value Field value as string.
Example sText = "ab?cde?fghi?j";
sField = CSV_String_GetField(sText,3,"?");
In this case sField = "fghi"
CSV_String_GetLines
Returns the number of lines in a string, given a maximum number of characters
per line.
Syntax CSV_String_GetLines(sText, iChars)
#sText: Text to convert to lines.
#iChars: Maximum number of characters per line.
Return Value Number of lines that text would be converted to.
CSV_String_Replace
Returns a string in which a specified substring has been replaced with another
substring a specified number of times.
Syntax CSV_String_Replace(sTextString,sFind,sReplace,iStart,iCount)
#sTextString: Expression containing substring to replace.
#sFind: Substring being searched for.
#sReplace: Replacement substring.
#iStart: Optional. Position within expression where substring search is to
begin. If omitted, 0 is assumed.
#iCount: Optional. Number of substring substitutions to perform. If
omitted, the default value is 1, which means make all possible
substitutions.
CSV_Tag_Debug
Builds a form to provide simple user access to all Variable Tags during runtime.
Reading and writing are supported. The Form is always on top, and only one
instance is allowed.
Chapter 4: CSV_Include Reference 92
Syntax CSV_Tag_Debug()
Return Value Name of selected tag.
Note: Uses a listbox object to display all tags in system. List may be filtered.
CSV_Trend_AutoScale
Auto scales all trend pens, such that the 100% scale is 10% of the full tag range
above the maximum tag value in the viewable trend window, and the 0% scale is
10% of the tag range below the minimum tag value in the viewable trend
window.
Syntax CSV_Trend_AutoScale(hTrendAN)
#hTrendAN: Animation point number of the trend.
CSV_Trend_DspGroup
Displays a specified group of trend pens on a specified trend page. The group of
trend pens must have been defined in the TrendGrp.dbf file in the [RUN]
directory. The group may be specified by either the group name or the group
description.
Syntax CSV_Trend_DspGroup(sTitle,sTrendPage,hTrendAN,sTrendID,iTrendIDTy
pe, iTrendDataSet)
#sTitle: Title to appear on trend page.
#sTrendPage: Name of trend page to display.
#hTrendAN: Animation point number of trend.
#sTrendID: Name or Desc of trend group (found in TrendGrp.dbf).
#iTrendIDType: The type of the trend. Two possible values:
0 = sTrendID specifies the Name of the trend group.
1 = sTrendID specifies the description of the trend group.
#iTrendDataSet: Identifies the data set to be used for the group.
Normal trend page uses data set 0, double trend page uses data sets 1 and 2.
CSV_Trend_DspGroupL
ist
Displays available groups of trend tags in a listbox. Returns the description of
the item selected from the list. Groups are configured in the TrendGrp.dbf file
found in the [RUN] directory.
Syntax CSV_Trend_DspGroupList(sSelectedGroup,sAreas)
#sSelectedGroup: Name of group to preselect in the list.
Chapter 4: CSV_Include Reference 93
#sAreas: Areas to enable in the list; i.e., only trend groups belonging to
these areas are displayed.
Return Value Trend group (description) selected from the list, or "" if cancel is pressed.
CSV_Trend_DspPopup
Menu
Displays a popup menu to allow the user to add or clear the selected pen.
Syntax CSV_Trend_DspPopupMenu(hTrendAN,iPen)
#hTrendAN: Animation point number of the trend.
#iPen: Number of selected pen.
Return Value Description of trend group.
CSV_Trend_DspScaleR
ange
Returns the current displayed scale range for a specified trend pen, in the
format: "Lo - HiEU" where Lo = RangeMin, Hi = RangeMax, and EU =
engineering units.
Syntax CSV_Trend_DspScaleRange(hTrendAN,iPen)
#hTrendAN: Animation point number of the trend.
#iPen: Number of the trend pen.
Return Value Formatted range value as a string.
CSV_Trend_DspTrendT
ext
Returns the comment for the trend tag plotted by the specified pen if a comment
exists, otherwise returns the name of the trend tag.
Syntax CSV_Trend_DspTrendText(hTrendAN,iPen)
#hTrendAN: Animation point number of the trend.
#iPen: Number of the trend pen.
Return Value Trend tag comment if it exists, otherwise the trend tag name (all capitalized).
CSV_Trend_GetCursorP
os
Gets the offset of a trend cursor from its origin, in samples.
Chapter 4: CSV_Include Reference 94
Syntax CSV_Trend_GetCursorPos(hTrendAN)
#hTrendAN: Animation point number of the trend.
Return Value The offset of a trend cursor from its origin, in samples, or -1 if the trend cursor is
disabled.
CSV_Trend_GetCursorT
ypeStr
Returns text indicating whether the cusor is displayed. Used in conjunction with
CSV_Trend_GetCursorValueStr() to notify the user whether the displayed
trend tag value corresponds to the value at the cursor, or the current value.
Syntax CSV_Trend_GetCursorTypeStr(hTrendAN)
#hTrendAN: Animation point number of the trend.
Return Value Returns "Current Value" if the cursor is not displayed, or "Cursor Value" if the
cursor is displayed.
CSV_Trend_GetCursorV
alueStr
Gets the value of a trend pen at the cursor position, or the current value of the
trend pen if the cursor is disabled. The value is returned as a string, optionally
followed by the engineering units of the tag.
Syntax CSV_Trend_GetCursorValueStr(hTrendAN, iPen, iEngUnits)
#hTrendAN: Animation point number of the trend.
#iPen: Number of the trend pen.
#iEngUnits: Append the engineering units to the cursor value returned.
Return Value Value of the trend pen at the cursor position, or its current value if the cursor is
not displayed.
CSV_Trend_GetGroup
Gets the description of the group of trends (as defined in TrendGrp.dbf)
currently displayed (or last displayed) on a specified monitor.
Syntax CSV_Trend_GetGroup(iMonitor, iTrendDataSet)
#iMonitor: Number of monitor the trend is/was displayed on.
#iTrendDataSet: Identifies the data set to be used for the group of trend
tags. Normal trend page uses data set 0; a double trend page uses data sets 1
and 2.
Return Value Description of trend group.
Chapter 4: CSV_Include Reference 95
CSV_Trend_GetMode
Gets the mode (real-time or historical trending) of the trend pen.
Syntax CSV_Trend_GetMode(hTrendAN)
#hTrendAN: Animation point number of the trend.
Return Value The current mode: 0 for real-time or 1 for historical.
CSV_Trend_GetPen
Gets the trend tag being plotted by a specified pen.
Syntax CSV_Trend_GetPen(hTrendAN, iPen)
#hTrendAN: Animation point number of the trend.
#iPen: Number of pen.
Return Value Trend tag of specified pen.
CSV_Trend_GetPenFoc
us
Gets the trend pen currently in focus.
Syntax CSV_Trend_GetPenFocus(hTrendAN)
#hTrendAN: Animation point number of the trend.
Return Value Number of pen in focus.
CSV_Trend_GetSettings
Reads an .ini file to recall (Get) the settings (Tags displayed and scales) for the
current page. This function will allocate a separate section in the .ini file for each
page.
Syntax CSV_Trend_GetSettings(sPage, hTrendAN)
#sPage: The reference for the settings to recall.
#hTrendAN: Animation point number of the trend.
Example [TrendPage1]
Tag_1=TrendTag1
Zero_1=0.
Full_1=1000.
Tag_2=TrendTag2
Chapter 4: CSV_Include Reference 96
Zero_2=0.
Full_2=1000.
Tag_3=TrendTag3
Zero_3=0.
Full_3=1000.
Tag_4=TrendTag4
Zero_4=0.
Full_4=1000.
Tag_5=
Tag_6=
Tag_7=
Tag_8=
Note: Call this function on entry to the Trend Page.
CSV_Trend_GetSettings
Writes an .ini file to recall (Get) the settings (tags displayed and scales) for the
current page. This function allocates a separate section in the .ini file for each
page.
Syntax CSV_Trend_GetSettings(sPage,hTrendAN)
Example [TrendPage1]
Tag_1=TrendTag1
Zero_1=0.
Full_1=1000.
Tag_2=TrendTag2
Zero_2=0.
Full_2=1000.
Tag_3=TrendTag3
Zero_3=0.
Full_3=1000.
Tag_4=TrendTag4
Zero_4=0.
Full_4=1000.
Tag_5=
Tag_6=
Chapter 4: CSV_Include Reference 97
Tag_7=
Tag_8=
Note: Call this function on exiting the Trend Page.
CSV_Trend_GetSpan
Gets the time span as a time formatted string "HH:MM:SS" for a specified trend.
Syntax CSV_Trend_GetSpan(hTrendAN)
#hTrendAN: Animation point number of the trend.
Return Value The formatted time string.
CSV_Trend_GetTime
Gets the time of the trend at a percentage along the trend, using the time of the
right-most sample displayed. The time associated with the right-most sample
displayed is known as the end time. The start time is the time of the left-most
sample displayed. Percent 0 (zero) will correspond to the end time, and Percent
100 will correspond to the start time.
Syntax CSV_Trend_GetTime(hTrendAN, iPercent)
#hTrendAN: Animation point number of the trend.
#iPercent: The percentage of the trend from the time of the right-most
sample displayed.
Return Value The time of the trend in the format hh:mm:ss.
CSV_Trend_GetDate
Gets the date of the trend at a percentage along the trend, using the date of the
right-most sample displayed. The date associated with the right-most sample
displayed is known as the end date.
The start date is the date of the left-most sample displayed. Percent 0 (zero) will
correspond to the end date, and Percent 100 will correspond to the start date.
Syntax GetDate(hTrendAN,iPercent)
#hTrendAN: Animation point number of the trend.
#iPercent: The percentage of the trend from the date of the right-most
sample displayed.
Return Value The date of the trend in the format month day year.
Chapter 4: CSV_Include Reference 98
CSV_Trend_GroupConfi
g()
Displays a popup window allowing the user to browse/edit/add/delete records
in the TrendGrp.dbf at runtime.
CSV_Trend_Page
Builds a trend page with the specified pens.
Syntax CSV_Trend_Page(sPage,sPen1,sPen2,sPen3,sPen4,sPen5,sPen6,sPen7,sP
en8)
#sPage: Name of trend page to display.
#sPen1: Trend tag to be trended by pen 1.
#sPen2: Trend tag to be trended by pen 2.
#sPen3: Trend tag to be trended by pen 3.
#sPen4: Trend tag to be trended by pen 4.
#sPen5: Trend tag to be trended by pen 5.
#sPen6: Trend tag to be trended by pen 6.
#sPen7: Trend tag to be trended by pen 7.
#sPen8: Trend tag to be trended by pen 8.
Return Value 0 if successful, otherwise an error number.
CSV_Trend_Popup
Builds a Pop-up trend page in a new window with the specified pens. The
window is centered on the active monitor.
Syntax CSV_Trend_Popup(sPage,sPen1,sPen2,sPen3,sPen4)
#sPage: Name of trend page to display.
#sPen1: Trend tag to be trended by pen 1.
#sPen2: Trend tag to be trended by pen 2.
#sPen3: Trend tag to be trended by pen 3.
#sPen4: Trend tag to be trended by pen 4.
Return Value Window number of popup trend window; otherwise -1 if the window couldn't
be created.
Chapter 4: CSV_Include Reference 99
CSV_Trend_ScaleDigita
l
Rescales digital pens between -2 and 2.
Note: To be rescaled trend tags must have same name as digital variable tag.
Syntax CSV_Trend_ScaleDigital(hTrendAN,iPen)
#hTrendAN: Animation point number of the trend.
#iPen: Number of pen to scale, or -1 for all pens.
CSV_Trend_SelectGrou
p
Allows the user to select a group of trend tags from a listbox. Each group has an
associated name, description and list of up to 8 tags. This function stores the
selected group data and returns the name of the group selected from the list.
Note: Groups are configured in the TrendGrp.dbf file found in the [RUN]
directory.
Syntax CSV_Trend_SelectGroup(iMonitor,iTrendDataSet)
#iMonitor: Number of monitor the trend is/was displayed on.
#iTrendDataSet: Identifies the data set to be used for the group of trend
tags. A normal trend page uses data set 0, double trend page uses data sets 1
and 2.
Return Value Trend group (description) selected from the list, or "" if Cancel is pressed.
CSV_Trend_SelectPen
Displays a listbox to allow the user to select a tag to trend with the selected pen.
Syntax CSV_Trend_SelectPen(sSelectedPen)
#sSelectedPen: Name of trend tag to pre-select.
Return Value Name of trend tag selected from list, or "" if action is cancelled.
CSV_Trend_SetCursor
If no trend pen has the focus, this function returns, otherwise it moves the trend
cursor by a specified number of samples. If the trend cursor is disabled, this
function enables it. If the cursor is enabled and the number of samples is 0 (zero),
the cursor is disabled. If the cursor is moved off the current trend frame, the
trend scrolls.
Syntax CSV_Trend_SetCursor(hTrendAN)
#hTrendAN: Animation point number of the trend.
Chapter 4: CSV_Include Reference 100
CSV_Trend_SetDate
Sets the 0% date of the trend via a keypad form. This allows the user to view
trend information up to the date entered.
Syntax CSV_Trend_SetDate(hTrendAN,sValue)
#hTrendAN: Animation point number of the trend.
#sValue: The date to set the 0% trend date to. If sValue = "", a form is
displayed for the user to select a date.
Return Value New date (as string).
CSV_Trend_SetDateTim
e
Sets the 0% date and time of the trend via a keypad form. This allows the user to
view trend information up to the time and date entered.
Syntax CSV_Trend_SetDateTime(hTrendAN)
#hTrendAN: Animation point number of the trend.
Return Value New time and date, separated by a space.
CSV_Trend_SetPens
Allocates trend tags to trend pens. The names of the trend tags are extracted
from a string that stores the last group of trend tags displayed on a particular
monitor.
Syntax CSV_Trend_SetPens(hTrendAN, iMonitor, iTrendDataSet)
#hTrendAN: Animation point number of the trend.
#iMonitor: Number of monitor the trend is displayed on (-1 for active
monitor).
#iTrendDataSet: Identifies the data set to be used for the group of trend
tags. Normal trend page uses data set 0; double trend page uses data sets 1
and 2.
CSV_Trend_SetRange
Gets the default range for all trend pens and sets page strings 1017 to the values
of the ranges.
Syntax CSV_Trend_SetRange(hTrendAN)
#hTrendAN: Animation point number of trend.
Chapter 4: CSV_Include Reference 101
CSV_Trend_SetScale
Allows the user to set the zero and full scale values of the trend. The scale may
be changed for all trends or only the current trend.
Syntax CSV_Trend_SetScale(hTrendAN,iPercentage,sValue)
#hTrendAN: Animation point number of trend for which the timebase is to be
set.
#iPercentage: Scale percentage to set (0 or 100).
#sValue: Value to set scale percentage to. If sValue = "", a form will be
displayed allowing the user to select a new scale.
Return Value New scale value as string.
CSV_Trend_SetSpan
Sets the span (total amount of time visible) on the trend.
Syntax CSV_Trend_SetSpan(hTrendAN,sSpan)
#hTrendAN: Animation point number of trend.
#sSpan: Value to set the span to. If sSpan = "", a form will be displayed
allowing the user to select the trend span.
Return Value New span as string.
CSV_Trend_SetTime
Sets the 0% time of the trend via a keypad form. This allows the user to view
trend information up to the time entered.
Syntax CSV_Trend_SetTime(hTrendAN,sValue)
#hTrendAN: Animation point number of the trend.
#sValue: The time to set the 0% trend time to. If sValue = "", a form is
displayed for the user to select a time.
Return Value New time (as string).
CSV_Trend_SetTimeba
se
Allows the operator to set the time interval between each sample.
Syntax CSV_Trend_SetTimebase(hTrendAN,sValue)
#hTrendAN: Animation point number of trend for which the timebase is to be
set.
Chapter 4: CSV_Include Reference 102
#sValue: Value to set timebase to. If sValue = "", a form will be displayed
allowing the user to select a new timebase.
Return Value New timebase as string.
CSV_Trend_UpdatePen
s
Stores the names of tags currently trended at a specified AN to a string as a
comma separated list. A separate string is assigned to each monitor. The string is
used to restore the last tags trended when the trend page is redisplayed.
Syntax CSV_Trend_UpdatePens(hTrendAN,iMonitor,iTrendDataSet)
#hTrendAN: Animation point number of the trend.
#iMonitor: Number of monitor the trend is displayed on (-1 for active
monitor).
#iTrendDataSet: Identifies the data set to be used for the group of trend
tags. Normal trend page uses data set 0, double trend page uses data sets 1
and 2.
CSV_Trend_Win
Builds a trend page in a new window with the specified pens.
Syntax CSV_Trend_Win(sPage,iX,iY,iMode,sPen1,sPen2,sPen3,sPen4,sPen5,sPe
n6,sPen7, sPen8)
#sPage: Name of trend page to display.
#iX: X coordinate of top left corner of window.
#iY: Y coordinate of top left corner of window.
#iMode: Mode of the window (= mode used by WinNewAt).
#sPen1: Trend tag to be trended by pen 1.
#sPen2: Trend tag to be trended by pen 2.
#sPen3: Trend tag to be trended by pen 3.
#sPen4: Trend tag to be trended by pen 4.
#sPen5: Trend tag to be trended by pen 5.
#sPen6: Trend tag to be trended by pen 6.
#sPen7: Trend tag to be trended by pen 7.
#sPen8: Trend tag to be trended by pen 8.
Return Value Window number of the window; otherwise -1 if window can't be opened.
Chapter 4: CSV_Include Reference 103
CSV_TrendX_AddVariab
le
Assigns a variable to the first available instant trend tag. An instant trend tag is
available if no variable is currently being trended by it; that is,
msTrendXVariable[iTrendNo] = "", where iTrendNo is the number of the
instant trend.
Note: This function is to be called only on a trend server. To maintain
redundancy the function is also called with the same arguments on the second/
redundant trend server.
The variable is assigned a trend duration. The variable name is also added to the
end of a queue storing all currently assigned variables in the order in which they
were assigned.
If there are no available trend tags then the variable is not assigned to be
trended.
Syntax CSV_TrendX_AddVariable(sVariable, iDuration,
IupdateRedundantSrvr)
#sVariable: Name of variable to be trended.
#iDuration: Value to preset trend tag timer to. This determines the number
of seconds that the variable will be trended for.
#iUpdateRedundantSrvr
1 = update second trend server with same info, i.e. RPC same function
on second trend server. Set to 0 only in RPC call from within function
itself.
0 = don't RPC second trend server.
Note: Number of instant trend tag assigned to trending sVariable if successful,
otherwise -1.
CSV_TrendX_AgeTrend
s()
Decrements trend countdown timers.
CSV_TrendX_ClearTren
d
Clears trend cache and delete trend file associated with specified trend.
This function must be called before a new variable can be assigned to a Instant
Trend tag. This must be done as the trend tag may have been previously
assigned to a different variable, in which case scrolling back through the trends
history could display data not associated with the current variable.
Note: This function is to be called only on a trend server. To maintain
redundancy the function is also called with the same arguments on the second/
redundant trend server.
Chapter 4: CSV_Include Reference 104
Syntax CSV_TrendX_ClearTrend(iTrendNo, IUpdateRedundantSrvr)
#iTrendNo: Number of Instant Trend to be cleared.
#iUpdateRedundantSrvr
1 = update second trend server with same info; i.e., RPC same function
on second trend server.
0 = don't RPC second trend server. Set to 0 only in RPC call from within
function itself.
CSV_TrendX_Close
Frees instant trend tags associated with trend pens. Close the instant trend
popup.
Syntax CSV_TrendX_Close(hAN)
#hAN: AN number of instant trend.
CSV_TrendX_DeletePen
()
Deletes trend pen on instant trend page. Stop trending variable assigned to
instant trend Tag.
#hAN: AN number of Instant Trend
#iPenNo: Number of trend pen to delete.
CSV_TrendX_Display()
Displays the Instant Trend popup. Set trend duration to default value.
CSV_TrendX_DspPopu
pMenu
Creates a popup at the location of the mouse on an Instant Trend page, giving
the user a choice of selecting a trend pen (i.e., selecting a tag to be trended by the
selected pen), or clearing a trend pen.
If the user chooses 'select trend pen' then a form is displayed allowing the user to
select a variable tag to be trended by the pen from a menu of available variable
tags. If the user chooses 'clear trend pen', the selected trend pen is deleted.
Called when the user right-clicks a trend pen marker.
Syntax CSV_TrendX_DspPopupMenu(hTrendAN, iPenNo)
#hTrendAn: AN number of Instant Trend.
#iPenNo: Number of trend pen to select/clear.
Chapter 4: CSV_Include Reference 105
CSV_TrendX_GenericTo
Tag
Converts raw integer value (032000) to real value scaled between specified tag's
engineering zero and engineering full scale.
Syntax CSV_TrendX_GenericToTag(iValue,sTagName)
#iValue: Raw value scaled between 0 32000.
#sTagname: Name of tag whose eng zero and eng full scale values are to be
used to scale iValue.
Return Value Value scaled between tag's eng zero scale and eng full scale.
CSV_TrendX_GenericT
oTagStr
Converts raw integer value (032000) to real value scaled between specified tag's
engineering zero and engineering full scale, then returns that value as a string.
Note: Instant trend data is stored in generic format. i.e., as a raw integer with
range 032000. Call this function to convert raw trend value into scaled value to
be displayed on the trend popup.
Syntax CSV_TrendX_GenericToTagStr(iValue,sTagName)
#iValue: Raw value scaled between 0 32000.
#sTagname: Name of tag whose eng zero and eng full scale values are to be
used to scale iValue.
Return Value Value (as string) scaled between tag's eng zero scale and eng full scale.
CSV_TrendX_GetComm
ent
Gets comment associated with variable tag.
Syntax CSV_TrendX_GetComment(sVariable)
#sVariable: Name of tag to retrieve comment for.
Return Value Comment associated with variable tag sVariable.
CSV_TrendX_GetCurso
r
Gets value of instant trend pen at cursor.
Syntax CSV_TrendX_GetCursor(hAN, iPenNo)
#hAN: AN number of Instant Trend.
#iPenNo: Pen to get cursor value for.
Chapter 4: CSV_Include Reference 106
Return Value Value of trend pen at cursor (returned as string). Value is scaled between eng
zero and eng full for variable being trended, as specified by in variable tag
configuration.
CSV_TrendX_GetDurati
on()
Gets duration associated with instant trend popup.
Return Value Trend duration of instant trend popup, in long time period format (hh:mm:ss).
CSV_TrendX_GetSampl
ePeriod
Gets period at which trend tag is being sampled.
Syntax CSV_TrendX_GetSamplePeriod(iTrendNo)
#iTrendNo: Number of trend tag to get sample period for.
Return Value Sample period of specified Instant Trend (in seconds).
Note: This is not the same as the sample period specified in the trend tag
configuration form (which is set to 1 sec). The sample period for a Instant Trend
can be set dynamically at run time.
CSV_TrendX_GetScale
Gets value representing a percentage of the displayed range for trend pen in
focus. Used for determining/displaying 0, 50, 100% etc, scale on Instant Trend
page.
Syntax CSV_TrendX_GetScale(hAN, iPercent)
#hAN: AN number of Instant Trend.
#iPercent: Percentage of full scale.
Return Value Scale value.
CSV_TrendX_GetTrend
Name
Gets name of instant trend from number of instant trend.
Syntax CSV_TrendX_GetTrendName(iTrendNo)
#iTrendNo: Number of instant trend tag.
Return Value Name of trend tag.
Chapter 4: CSV_Include Reference 107
CSV_TrendX_GetTrigge
r
DescriptionThis function is called in the Trigger field of the Trend Tag
configuration form for all Instant Trend tags.
Syntax CSV_TrendX_GetTrigger(iTrendNo)
#iTrendNo: Number of the instant trend tag.
Return Value Return ValueTrigger setting for each Instant Trend tag.
CSV_TrendX_GetVal
This function is called in the Expression field of the Trend Tag configuration
form for all instant trend tags. Makes the element of the array that stores the
value assigned to a trend tag available to the trend system.
Syntax CSV_TrendX_GetVal(iTrendNo)
#iTrendNo: Number of the instant trend tag.
Return Value Last stored value of the variable associated with the instant trend tag, as an
integer between 1 and 32000.
CSV_TrendX_InitClient()
Initializes trend client for instant trending.
Note: This function is to be called on startup for all trend clients if instant trend
functionality is required. To implement this without requiring a call to this
function from within the startup cicode function, it has been configured as a
periodic event (listed as a CSV_TrendXClient event). The first time the event is
processed the instant trend client functionality is initialized. All subsequent calls
return immediately without effect.
CSV_TrendX_InitSrvr()
Initializes trend server for instant trending. Set up table used for clearing data in
trend cache. Set all instant trend triggers to 1. Initializes queue for storing names
of variables being trended by instant trend system.
Note: This function is to be called on startup for all trend servers if instant trend
functionality is required. To implement this without requiring a call to this
function from within the startup cicode function, it has been configured as a
periodic event (listed as a CSV_TrendXServer event). The first time the event is
processed the instant trend server functionality is initialized. Subsequent calls
return immediately without effect.
Chapter 4: CSV_Include Reference 108
CSV_TrendX_MapTrend
Tags()
Wrapper function for _CSV_TrendX_MapTrendTags. Called as an event on trend
server every 1 second, to update all trend tag values (if CSV_TrendXServer event
has been enabled).
CSV_TrendX_RefreshTr
endPage
Refreshes trend page. Called after a variable has been added to instant trend
system. Scrolls to current time.
Syntax CSV_TrendX_RefreshTrendPage(hAN)
#hAN: AN number of instant trend.
Note: Calling TrendSetNow results in old/invalid data being cleared from the
screen. This is necessary when the variable being trended by a pen changes.
CSV_TrendX_SetDurati
on
Sets duration of Instant Trend popup.
Syntax CSV_TrendX_SetDuration(iDuration, iDspNumPad)
#iDuration: Duration of popup (in seconds).
#iDspNumPad: Display number pad for data entry.
CSV_TrendX_SetDurati
on
Sets duration of Instant Trend on trend server.
Note: This function is to be called only on a trend server. To maintain
redundancy, the function is also called with the same arguments on the second/
redundant trend server.
Syntax CSV_TrendX_SetDuration(iTrendNo,iDuration,iUpdateRedundantSrvr)
#iTrendNo: Number of trend to set duration for.
#iDuration: Duration of popup (in seconds).
#iUpdateRedundantSrvr
1 = Update second trend server with same info; i.e., RPC same function
on second trend server.
0 = Don't RPC second trend server. Set to 0 only in RPC call from within
function itself.
Return Value 0 if successful, otherwise 1.
Chapter 4: CSV_Include Reference 109
CSV_TrendX_SetPen()
Displays form allowing user to select variable to assign to trend pen.
CSV_TrendX_SetSampl
ePeriod
Sets the sample period for a specified instant trend pen. For display purposes
only, the sample period is stored as a page-based integer. This is updated when
this function is called. The sample period is updated on the trend server.
Syntax CSV_TrendX_SetSamplePeriod(hAN, iPenNo, iPeriod)
#hAN: Number of Instant Trend AN.
#iPenNo: Number of pen to update sample period.
#iPeriod: Time (in seconds) to set new sample period to.
CSV_TrendX_SetScale
Sets scale for instant trend. Scale may be set for all pens or current pen only.
Syntax CSV_TrendX_SetScale(hAN,iPercent,iScaleVal,iDspNumPad)
#hAN: AN number of Instant Trend.
#iPercent: Percent of displayed range that scale setting represents.
#iScaleVal: New scale value.
#iDspNumPad: Display number pad for setting scale.
CSV_TrendX_TagSelect
Assigns a variable to a pen on the Instant Trend page. The variable will be
assigned to the first available Instant Trend tag. The local page based variables
accessed by the trend page are updated.
Return Value Number of instant trend tag assigned to trending sVariable if successful,
otherwise -1.
Syntax CSV_TrendX_TagSelect(hAN,iPenNo,sVariable)
#hAN: AN number of Instant Trend.
#iPenNo: Number of pen to assign to variable.
#sVariable: Name of variable to assign to pen.
CSV_TrendX_TagSelect
FrmCursor()
Assigns a variable to a pen on the Instant Trend page by positioning the mouse
pointer over an animation point. The variable associated with the AN point will
be selected.
Chapter 4: CSV_Include Reference 110
CSV_TrendX_TagToGen
eric
Converts real value scaled between specified tag's engineering zero and
engineering full scale, to a raw integer value (0 - 32000).
Instant Trend data is stored in generic format. i.e. as a raw integer with range 0
32000.
Syntax CSV_TrendX_TagToGeneric(rValue, sTagName)
#rValue: Scaled value to convert to raw integer 032000.
#sTagname: Name of tag whose eng zero and eng full scale values rValue is
scaled between.
Return Value Value scaled between 032000.
CSV_TrendX_TrendTim
eout
Monitors time remaining for trends associated with instant trend popup.
Syntax CSV_TrendX_TrendTimeout(hAN)
#hAN: Number of Instant Trend AN.
Return Value 1 if trend has timed out, 0 otherwise.
CSV_WinUtl_DestroyCu
rsor()
Deletes the specified cursor and sets the cursor to the normal cursor.
CSV_WinUtl_GetColour
Res()
Gets the screen color resolution.
Return Value Screen color resolution: 0 = 256 colors, 1 = High color (16 bit), 2 = True color (24
bit/32 bit), -1 = Error.
CSV_WinUtl_GetCpuUs
age
Gets the percent CPU usage of a specified process, or the total CPU usage.
Syntax CSV_WinUtl_GetCpuUsage(sProcessName)
#sProcessName: Name of process, or "" to get total CPU usage.
Return Value Percentage CPU usage.
Chapter 4: CSV_Include Reference 111
CSV_WinUtl_GetSyste
mDir()
Gets the windows system directory.
Return Value Windows system directory path.
CSV_WinUtl_GetTotalC
puUsage()
Gets the total percent CPU usage.
Note: Call CSV_WinUtl_UpdateTotalCpuUsage to refresh the data
(CSV_WinUtl_UpdateTotalCpuUsage prevents a 'Foreground Cicode run too
long' error).
Return Value Total CPU Usage.
CSV_WinUtl_GetWindo
wsDir()
Gets the windows directory.
Return Value Windows directory path.
CSV_WinUtl_GetWinMo
de()
Returns 1 if Citect is in Fullscreen mode.
Return Value 1 if fullscreen mode([Animator]Fullscreen = 1), otherwise 0.
CSV_WinUtl_LoadCurs
or
Loads the cursor for a specified window from a file (.ani or .cur).
Syntax CSV_WinUtl_LoadCursor(sCursor,hWnd)
#sCursor: File (including path) containing cursor.
#hWnd: Handle of window to change cursor for.
Return Value Handle to new cursor.
CSV_WinUtl_LockWind
owUpdate
Freezes the specified window (prevents Citect repainting it).
Syntax CSV_WinUtl_LockWindowUpdate(hWnd)
Chapter 4: CSV_Include Reference 112
#hWnd: Handle of window to freeze, or -1 to unfreeze any frozen window.
Return Value 0 if successful, otherwise -1.
CSV_WinUtl_NormalCur
sor
Loads the normal cursor for a specified window.
Syntax CSV_WinUtl_NormalCursor(hWnd)
#hWnd: Handle of window to change cursor for.
Return Value Handle to normal cursor.
CSV_WinUtl_ShellExec
Opens or prints a specified file.
Syntax CSV_WinUtl_ShellExec(sOperation,sFile,sArgs,sDir,iShowCmd)
#sOperation: Specifies the operation to perform. The following operation
strings are valid:
open - Opens the file specified by the lpFile parameter. The file can be an
executable file or a document file. It can also be a folder.
print - The function prints the file specified by lpFile. The file should be
a document file. If the file is an executable file, the function opens the
file, as if "open" had been specified.
explore - The function explores the folder specified by lpFile. This
parameter can be "". In that case, the function opens the file specified by
lpFile.
#sFile: Specifies the file to open or print or the folder to open or explore.
The function can open an executable file or a document file. The function
can print a document file.
#sArgs: If sFile specifies an executable file, sArgs specifies the parameters to
be passed to the application. If sFile specifies a document file, sArgs should
be "".
#sDir: Specifies the default directory.
#iShowCmd: If sFile specifies an executable file, iShowCmd specifies how the
application is to be shown when it is opened. This parameter can be one of
the following values:
SW_HIDE (=0) - Hides the window and activates another window.
SW_MAXIMIZE (=3) - Maximizes the specified window.
Chapter 4: CSV_Include Reference 113
SW_MINIMIZE (=6) - Minimizes the specified window and activates the
next top-level window in the z-order.
SW_RESTORE (=9) - Activates and displays the window. If the window
is minimized or maximized, Windows restores it to its original size and
position. An application should specify this flag when restoring a
minimized window.
SW_SHOW (=5) - Activates the window and displays it in its current
size and position.
SW_SHOWDEFAULT (=10) - Sets the show state based on the SW_ flag
specified in the STARTUPINFO structure passed to theCreateProcess
function by the program that started the application. An application
should call ShowWindow with this flag to set the initial show state of its
main window.
SW_SHOWMAXIMIZED (=3) - Activates the window and displays it as
a maximized window.
SW_SHOWMINIMIZED (=2) - Activates the window and displays it as a
minimized window.
SW_SHOWMINNOACTIVE (=7) - Displays the window as a minimized
window. The active window remains active.
SW_SHOWNA (=8) - Displays the window in its current state. The
active window remains active.
SW_SHOWNOACTIVATE (=4) - Displays a window in its most recent
size and position. The active window remains active.
SW_SHOWNORMAL (=1) - Activates and displays a window. If the
window is minimized or maximized, Windows restores it to its original
size and position. An application should specify this flag when
displaying the window for the first time. If sFile specifies a document
file, nShowCmd should be zero.
Return Value Returns a value greater than 32 if successful, or an error value that is less than or
equal to 32 otherwise. The following table lists the error values.
ERROR_FILE_NOT_FOUND (=2) - The specified file was not found.
ERROR_PATH_NOT_FOUND (=3) - The specified path was not found.
ERROR_BAD_FORMAT (=17) - The .exe file is invalid (non-Win32 .exe or
error in .exe image).
SE_ERR_ACCESSDENIED (=5) - The operating system denied access to the
specified file.
SE_ERR_ASSOCINCOMPLETE (=27) - The file name association is
incomplete or invalid.
Chapter 4: CSV_Include Reference 114
SE_ERR_DDEBUSY (=30) - The DDE transaction could not be completed
because other DDE transactions were being processed.
SE_ERR_DDEFAIL (=29) - The DDE transaction failed.
SE_ERR_DDETIMEOUT (=28) - The DDE transaction could not be
completed because the request timed out.
SE_ERR_DLLNOTFOUND (=32) - The specified dynamic-link library was
not found.
SE_ERR_FNF (=2) - The specified file was not found.
SE_ERR_NOASSOC (=31) - There is no application associated with the given
file name extension.
SE_ERR_OOM (=8) - There was not enough memory to complete the
operation.
SE_ERR_PNF (=3) - The specified path was not found.
SE_ERR_SHARE (=26) - A sharing violation occurred.
CSV_WinUtl_UpdateTot
alCpuUsage()
Updates the total percent CPU usage at minimum of 0.5 second intervals. Called
from the Admin Tools page.
CSV_WinUtl_WaitCurso
r
Loads the wait/busy cursor for a specified window.
Syntax CSV_WinUtl_WaitCursor(hWnd)
#hWnd: Handle of window to change cursor for.
Return Value Handle to wait cursor.
Chapter 5: CSV_Example Project
The CSV_Example Project is a preconfigured project that is installed with
CitectHMI/SCADA Version 5.5 or later. The project demonstrates CitectSCADA
functionality via a series of pages created from the CSV_Include project
templates.
This information complements the CSV_Include information, and describes the
pages that are specifically configured in this project for demonstration purposes.
The pages described include:
Filter page
Loop Page
Recipe Page
Genies Page
Operator Input Page
Dynamic Objects Page
Filter page
The Filter page is the layout page for controlling and monitoring a copper
filtration process. Copper concentrate enters a tank (top left) and mixes with
flocculent to a specified density. The DIC_104 button displays a faceplate. Pump
A pumps the mixture to the filter tank, through VALVE_512. Pump B pumps
spillage (from the process) back to the mixing tank.
The DEVICE STATUS panel displays the status (on/off or open/closed) of the
pumps, valve, and density faceplate.
See Also Filter Page (Engineers Notes)
To do this: Do this...
Start or stop a pump Click the Pump A or Pump B button to display the command panel, and
then click the MANUAL and START (or STOP) buttons.
Open or close the valve Click the VALVE_512 button to display the command panel, and then click
the MANUAL and OPEN (or CLOSE) buttons.
Switch the filter on or off Click the Disk Filter button to toggle the filter on and off.
Display the runtime for Pump A Click the Spanner button to display the accumulator panel for the pump.
Display Loop Faceplates Click the Flocculent, Torque, Bed Depth, and Density numbers.
Chapter 5: CSV_Example Project 116
Filter Page (Engineers Notes)
To view information about any variable, move the mouse cursor onto the
variable and press F11.
To configure this feature in your own project:
1 Start Citect Project Editor.
2 Choose Definitions | Keyboard Keys.
3 In the Key Name text box, enter F11.
4 In the Key Code text box, enter Key_F11.
5 Choose System | Keyboard.
6 In the Key Sequence text box, enter F11.
7 In the Command text box, enter InfoForm();.
Loop Page
The Loop page provides control for five loops:
To change the setpoint for a loop, move the red thumb on the slider control.
To adjust the gain, integral, or derivative of a loop, click the Tune button.
See Also Loop Page (Engineers Notes)
Loop Page (Engineers Notes)
This page was created using the NORMAL template and the Face1 Super Genie,
as follows:
1 From the Graphics Builder, select the (File New) tool.
2 Click the Page button.
3 Double-click the Normal template.
4 Select the Super Genie tool.
5 From the Paste Super Genie File window, choose Faceplate.
6 Double-click the genie.
Chapter 5: CSV_Example Project 117
7 Type LOOP_1 in the Base Tag field.
8 Click OK.
This Super Genie requires a Base Tag with the following attributes, declared as
Variable Tags, i.e.:
LOOP_1 is the Base Tag and _PV is the Attribute.
Recipe Page
The Recipe page is the layout page for a bread-making process.
To select a recipe to manufacture:
1 Click the Select\Edit button.
2 Use the Prev or Next buttons to locate the recipe.
3 Click the Select button.
To start the manufacturing process, click the Start Process button. The process
stops automatically when complete.
See Also Recipe Page (Engineers Notes)
Recipe Page (Engineers Notes)
The recipe functions on this page are provided through the Cicode Recipe()
function, included with this Example project. You can adapt this function to
your own project by copying the file recipe.ci to your project, and editing the
file to suit your needs.
Use the Windows File Manager to copy the file RECIPE.CI file to your project
(e.g. \Citect\user\myproj)
1 In the Project Editor, click the Recipe tool.
LOOP_1_PV Process Variable INT
LOOP_1_SP Setpoint INT
LOOP_1_OP Output INT
LOOP_1_OPM Output Mode DIGITAL
LOOP_1_P Gain (Proportional Band) INT
LOOP_1_I Integral (Reset) INT
LOOP_1_D Derivative (Rate) INT
Chapter 5: CSV_Example Project 118
2 From the Edit Library dilaog box, click New.
3 In the File Name text box, enter Recipe.
4 Click Add.
5 Click Edit to edit the Recipe function.
6 To invoke the recipe display, add a button to your page with the command
EditRecipe().
Genies Page
The Test Genies button toggles a tag off or on. You can see how Genies represent
on or off conditions.
See Also Genies Page (Engineers Notes)
Genies Page (Engineers Notes)
This page contains a selection of Genies from the Citect Include Project and the
Example Project. Genies that are stored in the Include Project are accessible to all
projects. Any project that you create will be able to access these Genies.
Genies that are stored in the Example project (or your own project) are accessible
only by the Example project. If you create your own Genies you should store
them in your own project (not in the Include Project), as this way, they will be
automatically backed up with your project and can be easily transported to
another computer.
If the Genies in the Include Project are not exactly what you want, copy them
into your project, change their name, then edit them the way you want.
When you save Genies into your own project, Citect will take care of displaying
your Genies on the menus and dialog boxes, just like the ones supplied with
Citect. If you have a genie library name, and genie name, which is the same as
one in the Include Project, yours will take precedence. If you have the same
Genie Library Name but a different Genie name, Citect will display both lots of
Genies together.
To copy the Genies from the Examples project:
Use File Manager or Explorer to copy the files from the Example project
directory to your project directory.
*.CTL Citect Symbol Library Files
*.CTM Citect Genie files
*.FRM Citect form files
Chapter 5: CSV_Example Project 119
Note: This copies all the Symbol library files. You can copy only the files you
need if you prefer.
Operator Input Page
This page lets you experiment with various methods of handling operator input
objects. The options shown here are only a few of the possibilities available.
To move the slider, point to the number then click and drag the mouse.
To enter new values position the mouse over the number, type the new value
and press Enter. To enter values via a number pad, double-click the numbers.
Dynamic Objects Page
This page provides a way to experiment with the dynamic properties of various
objects.
Chapter 5: CSV_Example Project 120
Index
Symbols
[Alarm]LastAlarmCategories parameter, 30
[Alarm]LastAlarmFmt parameter, 30
[Alarm]LastAlarmPriorities parameter, 31
[Alarm]LastAlarmType parameter, 31
[Alarm]Soundn parameter, 30
[Alarm]SoundnInterval parameter, 30
[Multimonitors]LastPageStackSize parameter, 32
[Multimonitors]Monitors parameter, 32
[Multimonitors]ScreenWidth parameter, 32
[Multimonitors]StartupPagen parameter, 32
[Navigation]AlarmPage parameter, 35
[Navigation]DisabledPage parameter, 35
[Navigation]FilePage parameter, 34
[Navigation]HardwarePage parameter, 35
[Navigation]HelpPage parameter, 34
[Navigation]HomePage parameter, 33
[Navigation]MenuBackColour parameter, 36
[Navigation]MenuForeColour parameter, 37
[Navigation]MenuXPos parameter, 36
[Navigation]MenuYPos parameter, 36
[Navigation]NetworkPage parameter, 33
[Navigation]SummaryPage parameter, 35
[Navigation]ToolsPage parameter, 34
[Navigation]TrendPage parameter, 34
[Page]DelayRepaint parameter, 33
[Page]MenuDisable parameter, 33
[Privilege]AckAlarms parameter, 38
[Privilege]DisableAlarms parameter, 38
[Privilege]EditUser parameter, 39
[Privilege]EngTools parameter, 39
[Privilege]Shutdown parameter, 39
[TrendX]Duration parameter, 38
[TrendX]KeySeq parameter, 38
[TrendX]TagListEnable parameter, 38
A
Active Alarms button, 15
Admin Tools page template, 10
alarm page template, 4
Alarm Silence button, 16
alarms group, 25
Alarms Summary button, 16
Alarms toolbar, 15
alarms, audible, 20
audible alarms, implementing, 20
Autoscale button, 8
B
Back button, 12
C
common toolbars, 11
Computer Setup Wizard, 18
Configure Alarm Groups dialog box, 26
Configure Trend Groups dialog box, 27
Control Menu page, 18
creating
alarms group, 25
custom menus, 22, 24
pages, 21
projects, 17
CSV_Alarms_Ack function, 46
CSV_Alarms_AckHardware function, 47
CSV_Alarms_AckPage function, 47
CSV_Alarms_AckRec function, 47
CSV_Alarms_AdvFilter function, 47
CSV_Alarms_AdvFilterConfig function, 48
CSV_Alarms_AdvFilterQuery function, 48
CSV_Alarms_AdvFilterSetDateTime function, 49
CSV_Alarms_CheckSound function, 49
CSV_Alarms_ClearGroupFilter function, 50
CSV_Alarms_Disable function, 50
CSV_Alarms_DisableRec function, 51
CSV_Alarms_DspGroupFilter function, 51
CSV_Alarms_DspGroupList function, 51
CSV_Alarms_DspInfo function, 51
CSV_Alarms_DspInfoRec function, 52
CSV_Alarms_DspLast function, 52
CSV_Alarms_Enable function, 53
CSV_Alarms_EnableRec function, 53
CSV_Alarms_GetAckPrivilege() function, 53
CSV_Alarms_GetDisablePrivilege() function, 53
CSV_Alarms_GetGroupFilter function, 53
CSV_Alarms_GetGroupFilterID function, 54
122 Index
CSV_Alarms_GetUniqueGroupName function, 54
CSV_Alarms_GroupAdd function, 55
CSV_Alarms_GroupConfig() function, 55
CSV_Alarms_GroupEdit function, 56
CSV_Alarms_GroupFilter function, 56
CSV_Alarms_GroupRemove function, 55
CSV_Alarms_GroupSelect function, 57
CSV_Alarms_GroupsInit() function, 57
CSV_Alarms_Help function, 57
CSV_Alarms_HelpRec function, 58
CSV_Alarms_ListHeading function, 58
CSV_Alarms_ListHeadingFont() function, 58
CSV_Alarms_PopupMenu function, 59
CSV_Alarms_Silence() function, 59
CSV_Alarms_Sound() function, 59
CSV_Alarms_SoundActive() function, 59
CSV_DB_BOF function, 60
CSV_DB_Close function, 60
CSV_DB_EOF() function, 60
CSV_DB_Execute function, 60
CSV_DB_GetExecuteError function, 61
CSV_DB_GetFieldCount function, 62
CSV_DB_GetFieldIndex function, 62
CSV_DB_GetFieldName function, 62
CSV_DB_GetFieldText function, 62
CSV_DB_GetRowCount function, 62
CSV_DB_GetRowCurrent function, 63
CSV_DB_GetRowFieldText function, 63
CSV_DB_MoveFirst function, 63
CSV_DB_MoveLast function, 63
CSV_DB_MoveNext function, 63
CSV_DB_MoveOffset function, 63
CSV_DB_MovePrev function, 64
CSV_DB_StandbyConnectionActive function, 64
CSV_DB_StrToSQL function, 64
CSV_Display_Display_Logo function, 64
CSV_Display_Display_ServicePack() function, 65
CSV_Display_Title() function, 65
CSV_Display_Version() function, 65
CSV_Example project, 115
CSV_File_Display function, 65
CSV_File_Print function, 66
CSV_File_Save function, 66
CSV_Form_Centre function, 66
CSV_Form_Login() function, 66
CSV_Form_NumPad function, 66
CSV_Form_Position function, 67
CSV_Form_Shutdown() function, 67
CSV_Form_UserCreate() function, 67
CSV_Form_UserPassword() function, 68
CSV_Include citect.ini parameters, 29
CSV_Include functions, 40
CSV_ListBox_AddItem function, 68
CSV_ListBox_Clear function, 68
CSV_ListBox_Create() function, 68, 69
CSV_ListBox_Destroy function, 69
CSV_ListBox_GetCategory function, 69
CSV_ListBox_GetItem function, 69
CSV_ListBox_GetItemID function, 69
CSV_ListBox_GetSelectedItem function, 70
CSV_ListBox_GetSelectedItemCategory function, 70
CSV_ListBox_GetSelectedItemID function, 70
CSV_ListBox_GetTagComment function, 70
CSV_ListBox_GetTagDescFromTag function, 71
CSV_ListBox_GetTagName function, 71
CSV_ListBox_GetTrendDescFromTag() function, 71
CSV_ListBox_Hide function, 71
CSV_ListBox_RemoveItem function, 71
CSV_ListBox_SelectCategories function, 72
CSV_ListBox_SelectTags() function, 72
CSV_ListBox_SelectTrends() function, 72
CSV_ListBox_SetText function, 72
CSV_ListBox_Show function, 73
CSV_ListBox_TagFormat function, 73
CSV_ListBox_Visible function, 73
CSV_Math_RoundDown function, 73
CSV_Math_Truncate function, 74
CSV_MenuConfig_Close() function, 74
CSV_MenuConfig_Display() function, 74
CSV_MenuConfig_LoadDflt() function, 74
CSV_MenuConfig_UserPages() function, 74
CSV_MessageBox function, 75
CSV_Misc_CheckNumPadValue function, 76
CSV_Misc_IntRange function, 77
CSV_Misc_MouseOver function, 77
CSV_MM_BackEmpty() function, 77
CSV_MM_ConfigInit() function, 77
CSV_MM_FwdEmpty() function, 78
CSV_MM_GetMonitor() function, 78
CSV_MM_GetMonitors() function, 78
123 Index
CSV_MM_GetMouseX function, 78
CSV_MM_GetMouseY function, 78
CSV_MM_GetOffset function, 79
CSV_MM_GetScreenWidth() function, 79
CSV_MM_ListLastPages function, 79
CSV_MM_MonitorFromPoint function, 79
CSV_MM_MonitorFromWindow function, 80
CSV_MM_MonitorGoto function, 80
CSV_MM_NextEmpty() function, 80
CSV_MM_PageDisplay function, 80
CSV_MM_PageLast function, 81
CSV_MM_PageNext() function, 81
CSV_MM_PagePrev() function, 81
CSV_MM_PagesInit() function, 81
CSV_MM_PreviousEmpty() function, 81
CSV_MM_StoreLastPage function, 82
CSV_MM_WinDrag() function, 82
CSV_MM_WinDragEnd() function, 82
CSV_MM_WinFree() function, 82
CSV_MM_WinNewAt function, 82
CSV_MM_WinPopup function, 83
CSV_MM_WinTitle function, 83
CSV_Nav_Alarms() function, 84
CSV_Nav_AlarmsDisabled() function, 84
CSV_Nav_AlarmsHardware() function, 84
CSV_Nav_AlarmsSummary() function, 84
CSV_Nav_CloseWindow() function, 84
CSV_Nav_DisableMenuItem function, 84
CSV_Nav_DisplayMenuBar function, 85
CSV_Nav_DisplayPopupMenu function, 85
CSV_Nav_File function, 85
CSV_Nav_GetEngToolsPrivilege() function, 86
CSV_Nav_Help() function, 86
CSV_Nav_HelpOnCSVInclude() function, 86
CSV_Nav_Home() function, 87
CSV_Nav_Login() function, 87
CSV_Nav_LoginMenu() function, 87
CSV_Nav_MenuBar_MenuClick function, 87
CSV_Nav_Network() function, 87
CSV_Nav_NetworkBtnEnabled() function, 87
CSV_Nav_PageExists function, 88
CSV_Nav_PagePrint() function, 88
CSV_Nav_Parent() function, 88
CSV_Nav_ParentBtnEnabled() function, 88
CSV_Nav_Report() function, 88
CSV_Nav_ReportBtnEnabled() function, 88
CSV_Nav_ReportMenu function, 89
CSV_Nav_TickMenuItem function, 90
CSV_Nav_Tools() function, 89
CSV_Nav_ToolsBtnEnabled() function, 89
CSV_Nav_ToolsMenu() function, 89
CSV_Nav_Trend() function, 89
CSV_Nav_TrendBtnEnabled() function, 89
CSV_Nav_TrendMenu() function, 90
CSV_Nav_TrendX() function, 90
CSV_Sec_ShowLoginMenu function, 90
CSV_String_GetField function, 90
CSV_String_GetLines function, 91
CSV_String_Replace function, 91
CSV_Tag_Debug function, 91
CSV_Trend_AutoScale function, 92
CSV_Trend_DspGroup function, 92
CSV_Trend_DspGroupList function, 92
CSV_Trend_DspPopupMenu function, 93
CSV_Trend_DspScaleRange function, 93
CSV_Trend_DspTrendText function, 93
CSV_Trend_GetCursorPos function, 93
CSV_Trend_GetCursorTypeStr function, 94
CSV_Trend_GetCursorValueStr function, 94
CSV_Trend_GetDate function, 97
CSV_Trend_GetGroup function, 94
CSV_Trend_GetMode function, 95
CSV_Trend_GetPen function, 95
CSV_Trend_GetPenFocus function, 95
CSV_Trend_GetSettings function, 95
CSV_Trend_GetSpan function, 97
CSV_Trend_GetTime function, 97
CSV_Trend_GroupConfig() function, 98
CSV_Trend_Page function, 98
CSV_Trend_Popup function, 98
CSV_Trend_ScaleDigital function, 99
CSV_Trend_SelectGroup function, 99
CSV_Trend_SelectPen function, 99
CSV_Trend_SetCursor function, 99
CSV_Trend_SetDate function, 100
CSV_Trend_SetDateTime function, 100
CSV_Trend_SetPens function, 100
CSV_Trend_SetRange function, 100
CSV_Trend_SetScale function, 101
CSV_Trend_SetSpan function, 101
124 Index
CSV_Trend_SetTime function, 101
CSV_Trend_SetTimebase function, 101
CSV_Trend_UpdatePens function, 102
CSV_Trend_Win function, 102
CSV_TrendX_AddVariable function, 103
CSV_TrendX_AgeTrends() function, 103
CSV_TrendX_ClearTrend function, 103
CSV_TrendX_Close function, 104
CSV_TrendX_DeletePen() function, 104
CSV_TrendX_Display() function, 104
CSV_TrendX_DspPopupMenu function, 104
CSV_TrendX_GenericToTagStr function, 105
CSV_TrendX_GetComment function, 105
CSV_TrendX_GetDuration() function, 106
CSV_TrendX_GetSamplePeriod function, 106
CSV_TrendX_GetScale function, 106
CSV_TrendX_GetTrendName function, 106
CSV_TrendX_GetTrigger function, 107
CSV_TrendX_GetVal function, 107
CSV_TrendX_InitClient() function, 107
CSV_TrendX_InitSrvr() function, 107
CSV_TrendX_MapTrendTags() function, 108
CSV_TrendX_RefreshTrendPage function, 108
CSV_TrendX_SetDuration function, 108
CSV_TrendX_SetPen() function, 109
CSV_TrendX_SetSamplePeriod function, 109
CSV_TrendX_SetScale function, 109
CSV_TrendX_TagSelect function, 109
CSV_TrendX_TagSelectFrmCursor() function, 109
CSV_TrendX_TagToGeneric function, 110
CSV_TrendX_TrendTimeout function, 110
CSV_WinUtl_DestroyCursor() function, 110
CSV_WinUtl_GetColourRes() function, 110
CSV_WinUtl_GetCpuUsage function, 110
CSV_WinUtl_GetSystemDir() function, 111
CSV_WinUtl_GetTotalCpuUsage() function, 111
CSV_WinUtl_GetWindowsDir() function, 111
CSV_WinUtl_GetWinMode() function, 111
CSV_WinUtl_LoadCursor function, 111
CSV_WinUtl_LockWindowUpdate function, 111
CSV_WinUtl_NormalCursor function, 112
CSV_WinUtl_ShellExec function, 112
CSV_WinUtl_UpdateTotalCpuUsage() function, 114
CSV_WinUtl_WaitCursor function, 114
D
Disabled Alarms button, 16
Dynamic Objects page, 119
E
Edit Item Menu dialog box, 25
editing menu items, 25
Events Setup page, 18
Export to file button, 8
F
file page template, 9
Filter page, 115, 116
Forward button, 12
G
Genies page, 118
H
Hardware Alarms button, 16
Help button, 14
History mode, 7
Home Page button, 13
I
instant trending, 19
L
Last Alarms panel, 15
Login button, 14
Loop page, 116
M
menu configuration tool, 22
menus, 24
creating, 22
Monitors parameter, 20
, 20
multiple monitors, using, 20
N
navigation toolbar, 12
125 Index
Network Page button, 13
normal page template, 4
O
Operator Input page, 119
P
pages, 21
pages, preconfigured, 3
Parent Page button, 13
Paste to clipboard button, 9
Plot trend button, 9
preconfigured pages, 3
Previous/Next buttons, 13
Print Page button, 14
privileged user, 17
projects, creating, 17
R
range markers, 7
Recipe page, 117
S
scale defaults, 8
scale markers, 7
Set span button, 7
span markers, 7
StartupPagen parameter, 20
SV_Form_UserEdit() function, 68
SV_Trend_GetSettings function, 96
SV_TrendX_GenericToTag function, 105
SV_TrendX_GetCursor function, 105
T
templates
Admin Tools page, 10
alarm page, 4
CSV_Include, 3
file page, 9
normal page, 4
trend page, 5
toolbar
Alarms, 15
navigation, 12
toolbars, common, 11
Tools button, 14
trend cursor, 7
Trend group folder, 9
trend page template, 5
trending, instant, 19
trends group, 27
Trends Page button, 13
U
user, privileged, 17
Z
Zoom buttons, 8
126 Index

Das könnte Ihnen auch gefallen