Professional Documents
Culture Documents
U0 - 2482 WESAPI For Microsoft Windows NT User's Guide PDF
U0 - 2482 WESAPI For Microsoft Windows NT User's Guide PDF
Section 1. Introduction
1-1. Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1-2. Contents of this Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
1-3. Additional Reference Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
9/98 i U0-2482
Westinghouse Proprietary Class 2C
Table of Contents, Cont’d
Section Title Page
U0-2482 ii 9/98
Westinghouse Proprietary Class 2C
Table of Contents, Cont’d
Section Title Page
Glossary
Index
U0-2482 iv 9/98
Westinghouse Proprietary Class 2C
Table of Contents, Cont’d
List of Figures
Section 1. Introduction
1-1. Typical Windows NT Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
9/98 v U0-2482
Westinghouse Proprietary Class 2C
Table of Contents, Cont’d
List of Tables
Section 1. Introduction
1-1. Reference Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
U0-2482 vi 9/98
Westinghouse Proprietary Class 2C
Section 1. Introduction
1-1. Overview
This document describes the Microsoft Windows NT interface to the WDPF® Data
Highway. The Windows NT Interface functions as a drop on the Westnet IITM Data
Highway, with the capability to originate and receive process point data.
The Windows NT Interface consists of an ISA bus based personal computer with
the following added Westinghouse hardware and software:
The Windows NT Interface can serve as the platform for a variety of applications.
As noted previously, the Windows NT Interface package includes an application
programming interface which allows users to program customized applications.
• Section 5. System Point Directory describes the use of the System Point
Directory maintenance utilities.
• Section 6. Database Compiler describes the SDBCOMP source file and the
use of SDBCOMP to generate the Windows NT Interface point database.
Document
Number Title Description
M0-0003 Self-Test Diagnostics Describes WDPF system self-diagnostics,
and lists possible status codes.
M0-0051 Data Highway Installation Provides installation instructions for the
Manual Data Highway for 6 and 7-level software.
M0-8000 WDPF System Planning and Provides descriptions and installation
Highway Installation Manual instructions for the Westnet Data Highway
for 8-level software.
M0-8005 Drop Installation Manual Describes Data Highway hardware and
functions for 8-level software.
U0-0131 Record Types User’s Guide Describes WDPF point record types.
• The PC must have an available ISA slot for the Westinghouse IGI card (ISA to
GBUS Interface board).
For some WDPF drops, the DHC is housed in the main chassis along with the drop's
processor and other cards. For others, including the Windows NT Interface, a
standalone Generic Highway Controller enclosure is provided.
The GHC card is connected to the enclosure General Bus (GBUS), which in turn
provides the cable connection to the IGI board.
The following user controls and connectors are illustrated in Figure 2-1:
• AC power switch.
The GHC enclosure can be stacked on a desk-model PC, or can stand on the floor
using floor-mounting pedestals.
Power OK
LED
FRONT VIEW
406
(16)
406
(16) ON/OFF
Switch
Gbus Interface
Connector
GBUS
STATUS 92
(3.63)
DIAG
REAR VIEW
Data Highway
Coaxial Connectors
All dimensions in millimeters (inches).
JS3
JS1
Jumpers JS1 and JS3 should be configured to avoid conflicts with other hardware in
the PC. The position of these jumpers will dictate parameters for the IGIDRV.SYS
driver (see Section 3).
Note
Normally, IRQ 12 is used in a PC for the mouse.
Therefore, change this setting from the default.
Pins 1 and 2 Pins 3 and 4 Pins 5 and 6 I/O ADDRESS Factory Default
NOT Jumpered NOT Jumpered NOT Jumpered SPARE
Jumpered NOT Jumpered NOT Jumpered 180H - 1B0H
NOT Jumpered Jumpered NOT Jumpered 280H - 2B0H
Jumpered Jumpered NOT Jumpered 380H - 3B0H Factory Default
Setting
Note
In addition, the following applications are provided and may be used as needed
(depending on application requirements):
The section below describes each of these items. For detailed installation and
initialization instructions, refer to Section 3.
The Windows NT device driver performs the following functions at drop start-up:
• Optionally scan originated points and respond to commands from other drops
(for example, to support operator functions such as Point Data Entry and Alarm
Acknowledge).
• Get a point's value and status fields, other specified record field, or entire point
record.
For a detailed description of the use of the WESAPI on the Windows NT Interface,
refer to Section 7.
When installing the PC, observe all general requirements for the WDPF system. In
particular, connect the PC to a power outlet which meets the power and grounding
requirements described in the applicable highway installation manual.
6. Add Windows NT Interface drop number to Bus Allocation List (BAL) (refer to
Section 3-5.1).
7. Set jumpers for memory location for IGI board (refer to Section 2-3.2).
9. If the Windows NT Interface will be a timekeeper drop, then define the BAL
(refer to Section 3-5.3).
2. Install the IGI PC board, in an available ISA bus expansion slot, according to
the instructions in the PC “Hardware Owner’s Guide.” Depending upon the type
of ISA workstation being used, the installation may vary slightly.
Prior to reconnecting power to the PC, install the GHC and GBUS cables, as
described in the following sections.
For desktop PC workstation, the GHC Enclosure unit will fit under or on top of
the workstation without requiring additional desk space. Clearance of at least 2
inches on each side of the unit must be maintained for proper air circulation.
Also, be sure to allow clearance in back of the unit to provide enough space for
exiting cables.
For applications which require the GHC Enclosure to be located remotely from
the workstation, the maximum cable length that can be used for the Gbus
communication connections is 10 feet.
2. Typically, the GHC PC board inside the GHC enclosure does not need to be
configured.
3. In order to access and configure the GHC PC board, perform the following:
A. Loosen the captive screws located on the top rear of the GHC Enclosure
B. Slide the GHC/IGI Power Supply assembly out the rear of the GHC
Enclosure enclosure. (See Figure 3-1 for a view of GHC removal from the
GHC Enclosure.)
C. Set the jumpers as needed. (See Figure 3-2 and Table 3-1 for jumper
settings.)
GBUS
STATUS
P5 P6
DIAG
OFF
ON
CLK
JS10
0123
SW1
DIS
JS8
DIS CLK
JS3
ENA DIS
JS4
JS6
JS5
JS2
CLK
JS1
DIS
Jumper modules JS5 and JS6 are used to configure both Channel 0 (CH0) and
Channel 1 (CH1) Data Highway Timekeeper Time-out periods. Use the following
chart to set the jumpers accordingly. Default positions for these modules is JS5 and
JS6 installed.
Jumper module JS4 controls the operation of channel 1 (CH1) communications. For
single channel operation, Jumper module JS4 must be located in the ‘DIS’ (2-3)
position. For Dual channel operation, jumper module JS4 ‘CH1’ must be located in
‘ENA’ (1-2) position (this is the default position).
All other jumper control modules should be left in their default position as follows:
4. After the jumpers are set as desired, re-install the GHC board in the GHC
enclosure. Connect the Gbus interface cable between the IGI and GHC
Enclosure connectors (see Figure 3-3). Press the latches in (on the sides of the
connector housing) while making the connection. Cable lock will engage when
the cable is properly installed.
GBUS
STATUS
DIAG
ENA
CH1
CH0
RAID HI LO P5 P6
CH0 CH1
RLY RLY AC IN
PAR
GBus Interface
Cable
To
Keyboard
To Voltage Source
Figure 3-3. IGI and GHC Enclosure Cable Connection (Rear View)
6. Before applying power, install the GHC Data Highway cables as described in
Section 3-3.3.
• (2)BNC T-adapters.
Figure 3-4 illustrates these components. Determine and order the required amount
of standard Data Highway cable (to link the Windows NT Interface to the next
drop(s) on the Data Highway). If the Data Highway will be terminated at the
Windows NT Interface, also order the required standard terminator(s) separately.
N
BNC
Installation Procedure
Use the following procedure to install the Data Highway cable at the Windows NT
Interface.
1. Connect the first T-adapter to the ‘CH 0’ connector on the GHC enclosure.
3. Connect the cable for Data Highway DH0 to the N connectors, using the
procedure described in the applicable highway installation manual.
Caution
If the Data Highway cables are to be disconnected for any reason, be certain to
disconnect the T-adapter from the GHC enclosure. This approach will preserve the
continuity of the Data Highway. Do not remove the BNC-to-N adapter or Data
Highway cable from the T-adapter (see Figure 3-5).
Caution
7 F
GBUS
STATUS
P5 P6
DIAG
REAR VIEW
When power is first applied to the GHC Enclosure and the ISA workstation is
powered up, the hexadecimal display of the unit will read ‘7F’. This indicates that
the GHC PC board is waiting for the ISA processor to enable the GHC’s access to
the shared memory. During software initialization, the (RED) DIAG LED will blink
several times before the highway controller is enabled onto the Data Highways.
When the GHC Enclosure is connected to both highways during normal operation
and activity is detected on both channels, the indicators will be illuminated as
shown in Table 3-2.
Table 3-2. LED Status Indicators
The hexadecimal displays of the GHC will remain off in the normal operating state.
Should an error be detected, the display will light for a few seconds with an error
code. The meaning of these error codes is identical to those posted on the SHC card
as described in “WDPF System Planning and Highway Installation Manual”
(M0-8000).
Note
After determining the drop number for this Windows NT Interface drop, use the
standard procedure to update the BAL in the system timekeeper drops. For
additional information on the BAL update procedure, refer to the project
documentation or contact your Westinghouse representative.
1. Verify that the Microsoft Windows NT operating system version 4.0 has been
installed onto the PC (See the appropriate Microsoft documentation for details).
2. Place the Windows NT Interface installation disk into the disk drive. (For this
discussion, assume it is the A: drive.) Run the program A:\SETUP.EXE. This
runs a standard installation program of Windows based software.
3. An introduction screen appears. Read the text shown and click on the Next>
button to continue (or use the Cancel button to abort the installation).
4. The next screen asks for the location where WDPF software will be installed.
The default location is the \wdpf directory on the boot drive. Click on the
Browse. button to change the directory or click on Next> to accept the path
shown and continue.
5. The installation program next requests the location of the runtime System Point
Directory, online.spd. Click Browse.to change if desired, and click Next> to
continue.
6. You are now asked for a folder into which the installation program will place
some program icons. Select an existing folder, accept the default or change the
name to something else. Select Next> when done.
7. At this time, the installation procedure copies files onto the hard disk.
8. The next screen requests the interrupt line used by the IGI card. This must match
the setting of the JS1 jumper on the IGI card (see Section 2-3.2).
9. Select the I/O address selected for the IGI card. This must match the JS3 jumper
on the IGI card (see Section 2-3.2).
10. Select a base address for a 32K page of memory to be used by the IGI card. You
must ensure that no other ISA adapters use any of the memory at those
locations.
11. Finally a message appears stating that the installation is complete and that one
should edit the CONFIG.SHC file and reboot. See Section 3-5.4 for information
on the CONFIG.SHC file. After rebooting, the WDPF interface software will
start automatically.
CONFIG.SHC Format
Note
Entries are case sensitive (that is, lower case letters
may not be substituted for upper case letters, and vice
versa).
• Each entry must begin on a new line and end with a carriage return.
• Extra “blank” characters (spaces, tabs, and carriage returns) between entries
will be ignored. However, blanks may not be imbedded within a parameter
keyword.
Westnet.Drop_Number:201
Westnet.Orig_Points.On:TRUE
Westnet.Network_1.IGI.Port:380
Westnet.Network_1.IGI.Memory:c8000
Westnet.Network_1.IGI.Interrupt:15
Westnet.Timesync.Network:1
Westnet.Network_1.Database:ghcdbase.201
Figure 3-7. CONFIG. SHC File Example
CONFIG.SHC Parameters
Table 3-1. CONFIG.SHC Parameters
Required/
Parameter Description Optional
Westnet.Drop_Number: nnn WDPF drop number assigned to Required
this drop.
nnn = 1 through 254.
Westnet.Network_n.Buslist: filename Buslist initialization file to be Optional
loaded into the GHC card for (Required for
network n. timekeeper
n = 0 through 15. drops)
filename = Buslist object file name.
Westnet.Network_n.Database: filename Database initialization file to be Optional
loaded into the GHC card for
network n.
n = 0 through 15.
filename = Database object file
name.
Westnet.Orig_Points.Alarming.Hiinc: If TRUE, only first High Optional
TRUE or FALSE incremental alarm is reported (for
all points originated by this drop).
(Default = FALSE)
Westnet.Orig_Points.Alarming.Include_NP: If TRUE, alarm and limit checking Optional
TRUE or FALSE functions are performed for non-
periodic as well as periodic points.
(Default = FALSE)
Westnet.Orig_Points.Alarming.Loinc: If TRUE, only first Low Optional
TRUE or FALSE incremental alarm is reported (for
all points originated by this drop).
(Default = FALSE)
Westnet.Orig_Points.Alarming.On: TRUE If TRUE, alarm and limit checking Optional
or FALSE functions are performed for
originated points.
(Default = FALSE)
Westnet.Orig_Points.EV_Quality: GOOD, Quality to be assigned to any point Optional
FAIR, POOR, or BAD originated by this drop when the
point value is operator-entered.
(Default = FAIR)
Required/
Parameter Description Optional
Westnet.Orig_Points.On: TRUE or FALSE If TRUE, originated point Optional
functions are activated in this drop.
If FALSE, this drop cannot
originate points.
(Default = FALSE)
Westnet.Time.Localtime: TRUE or FALSE If TRUE, Data Highway time is Optional
defined in the local time standard.
If FALSE, Greenwich Mean Time
is used.
(Default = FALSE)
Westnet.Timesync.Network: n Westnet network number for time Optional
synchronization function. (Required if
n = 0 through 15. time synchro-
nization is
desired)
Westnet.Network_n.IGI.Port: nnn I/O port address used by IGI card Required
on the specified network. Valid
values are 180, 280, or 380. This
value must match Jumper JS3 on
IGI card.
Westnet.Network_n.IGI.Memory: nnnnn Physical memory address into Required
which the IGI card maps a 32K
window of GHC memory. Valid
values are C8000, D0000 or
D8000.
Westnet.Network_n.IGI.Interrupt: nn Interrupt level used by the IGI card. Required
The value must match Jumper JS1
on the IGI card. Valid values are 5,
12, and 15.
Note
In order for the time synchronization function to
operate correctly, the Windows NT environment
variable “TZ” must be set correctly. Refer to the
appropriate Microsoft documentation for the
appropriate settings for the “TZ” variable.
CONFIG.SHC Parameters
• Data Highway parameters: GHC addresses, GHC database files, and buslist
filename.
Description
Westnet.Drop_Number
CONFIG.SHC This parameter defines the drop number of the host drop. The WDPF drop number
Cont’d
of each drop must be defined in CONFIG.SHC. If this entry is missing or invalid,
Highway communication will not be enabled.
Syntax
Westnet.Drop_Number: nnn
where:
Note
Example
Westnet.Drop_Number: 140
Description
Westnet.Network_n.Buslist
CONFIG.SHC This parameter defines the buslist initialization file that is to be loaded into the GHC
Cont’d
that corresponds to WDPF network n.
Timekeeper drops are the only drops that require this file.
Syntax
Westnet.Network_n.Buslist: filename
where:
Example
Westnet.Network_1.Buslist: buslist.bal
Description
Westnet.Network_n.Database
CONFIG.SHC This parameter defines the database initialization file that is to be loaded into the
Cont’d
SHC that corresponds to WDPF network n. The drop database file is used to define
and initialize originated points, and to define the broadcast frequency of received
points.
Syntax
Westnet.Network_n.Database: filename
where:
Example
Westnet.Network_1.Database: ghcdbase.100
Description
West-
net.Network_n.IGI.Interrupt This parameter is used to specify the Interrupt level used by the IGI card. This value
CONFIG.SHC must match the configuration of jumper JS1 on the IGI card. This value must not
conflict with any other adapters in the system.
Syntax
Westnet.Network_.n.IGI.Interrupt:nn
where:
Example
Westnet.Network_1.IGI.Interrupt:5
Description
West-
net.Network_n.IGI.Memory This parameter is used to specify the memory address used by the IGI card to access
CONFIG.SHC the GHC memory. The address specified is the base address of a 32K window into
the GHC memory. This address must not conflict with any other adapters in the
system.
Syntax
Westnet.Network_.n.IGI. Memory: hhhhh
where:
Example
Westnet.Network_1.IGI.Memory:D8000
Description
Westnet.Network_n.IGI.Port
CONFIG.SHC This parameter is used to specify the I/O port address range used to communicate
Cont’d
with the IGI card using jumper JS3. This address must not conflict with any other
adapters in the system.
Syntax
Westnet.Network_n.IGI.Port: hhh
where:
Example
Westnet.Network_1.IGI.Port:380
Description
Westnet.Orig_Points.Alarm-
ing.Hiinc This parameter is used to specify whether all high incremental alarm conditions or
CONFIG.SHC only the first high incremental alarm condition will generate a HI WRS alarm.
Syntax
Westnet.Orig_Points.Alarming.Hiinc: TRUE or FALSE
where:
TRUE = Only the first high incremental alarm condition will be alarmed.
FALSE = All high incremental alarm conditions will be alarmed.
Note
If entry Westnet.Orig_Points.Alarming.
On: TRUE is not present in the configuration
file, then the entry (Westnet.Orig_Points.
Alarming.Hiinc) will be ignored.
For additional information about incremental alarms, refer to “Record Types User’s
Guide” (U0-0131).
Example
Westnet.Orig_Points.Alarming.Hiinc: FALSE
Description
Westnet.Orig_Points.Alarm-
ing.Include_NP This parameter is used to specify whether non-periodic points (including EXSID
CONFIG.SHC points) should be alarm and limit checked. The alarm and limit checking parameter
(Westnet.Orig_Points.Alarming.On: TRUE) must be activated in order for
periodic points to be alarm and limit checked, and for this entry to be
acknowledged.
Syntax
Westnet.Orig_Points.Alarming.Include_NP: TRUE or FALSE
where:
Note
If entry Westnet.Orig_Points.Alarming.
On: TRUE is not present in the configuration
file, then the entry (Westnet.Orig_Points.
Alarming.Include_NP) will be ignored.
Example
Westnet.Orig_Points.Alarming.Include_NP: FALSE
Description
Westnet.Orig_Points.Alarm-
ing.Loinc This parameter is used to specify whether all low incremental alarm conditions or
CONFIG.SHC only the first low incremental alarm condition will generate a LO WRS alarm.
Syntax
Westnet.Orig_Points.Alarming.Loinc: TRUE or FALSE
where:
Note
If entry Westnet.Orig_Points.Alarming.
On: TRUE is not present in the configuration
file, then the entry (Westnet.Orig_Points.
Alarming.Loinc) will be ignored.
For additional information about incremental alarms, refer to “Record Types User’s
Guide” (U0-0131).
Example
Westnet.Orig_Points.Alarming.Loinc: FALSE
Description
Westnet.Orig_Points.Alarm-
ing.On This parameter is used to specify whether the alarm and limit checking functions
CONFIG.SHC should be performed. Normally, standard Data Highway functions perform alarm
and limit checking for originated points. For certain applications, it may be
desirable to disable alarm and limit checking (for example, if a special alarm
package is in use).
Syntax
Westnet.Orig_Points.Alarming.On: TRUE or FALSE
where:
Example
Westnet.Orig_Points.Alarming.On: TRUE
Description
West-
net.Orig_Points.EV_Quality Each drop that originates points includes processes which define the point’s quality
CONFIG.SHC (for example, if the data used to calculate a point value was determined to be invalid,
a quality of BAD would be assigned to the point). This parameter is used when the
Enter Value function is used (at the Operator WEStation) to assign a value to a point
originated by this host drop. The quality assigned to the point will be based on this
parameter.
Syntax
Westnet.Orig_Points.EV_Quality: GOOD, FAIR, POOR, or BAD
where:
Example
Westnet.Orig_Points.EV_Quality: FAIR
Description
Westnet.Orig_Points.On
CONFIG.SHC This parameter is used to specify if points are to be originated by this drop. If they
Cont’d
are, then the Originated Point Processor (OPP) must be activated by setting this
parameter to TRUE.
Syntax
Westnet.Orig_Points.On: TRUE or FALSE
where:
Example
Westnet.Orig_Points.On: FALSE
Description
Westnet.Time.Localtime
CONFIG.SHC This parameter is used to specify whether Data Highway time is defined in the local
Cont’d
time standard or in Greenwich Mean Time.
Syntax
Westnet.Time.Localtime: TRUE or FALSE
where:
Example
Westnet.Time.Localtime: TRUE
Description
Westnet.Timesync.Network
CONFIG.SHC The Highway processing software includes a background process (SHC_CLK
Cont’d
daemon) which synchronizes the operating system time to the Data Highway time
of a selected Westnet network. This parameter defines the network whose clock is
to be used as the target time when synchronizing the system time.
Note
Syntax
Westnet.Timesync.Network: n
where:
Example
Westnet.Timesync.Network: 1
• Use of the Windows NT control panel to enable and disable operation of the
WDPF interface (Section 4-3).
1. Place the GHC power switch in the On position, the LED will light.
3. The PC will go through its normal power up sequence. The Windows NT logon
screen will appear. There is no need to log on to enable the WDPF interface
software; it will start automatically.
4. If the WDPF interface software was enabled and a problem occurred, a message
box will appear stating that one or more services failed to start. To determine the
exact cause, log on to the system and open the Event Viewer. Any error
messages from the Westinghouse device driver or Westinghouse service will be
shown there.
Table 4-1. Device Driver Error Messages
Message Description
The WDPF Service service depends on the The IGIDRV device driver failed for some
Igidrv service which failed to start because of reason. See error message from IGIDRV.
the following error: <some error message>
Cannot allocate pool memory Internal device driver error. This message
should not appear except in systems with
inadequate memory installed.
Failure translating IGI address to physical Internal device driver error. Contact a service
address representative.
Cannot map IGI address to virtual memory Internal device driver error. Contact a service
space representative.
IGI resource conflict detected. The system detected a conflict between the
IGI card and other parts of the system. Check
the settings for the IGI card.
Unable to reset GHC card. The device driver was unable to access the IGI
card. Check the settings for the IGI card.
Unable to establish symbolic link to device Internal device driver error. Contact a service
name representative.
Unable to create device for IGI/GHC Internal device driver error. Contact a service
representative.
Message Description
ZwOpenSection failed while mapping mem- Internal device driver error. Possibly because
ory into process. the system has run out of resources.
ObReferenceObjectByHandle failed while Internal device driver error. Possibly because
mapping memory into process the system has run out of resources.
ZwMapViewOfSection failed while mapping Internal device driver error. Possibly because
memory into process the system has run out of resources.
Invalid parameters found in registry Invalid parameters have been read from the
Windows NT registry. See Section 4-4 for
details on registry entries.
GBUS
STATUS
P5 P6
DIAG
REAR VIEW
The hexadecimal displays of the GHC will remain off in the normal operating state.
Should an error be detected, the display will light for a few seconds with an error
code. The meaning of these error codes is identical to those posted on the SHC card
as described in “WDPF System Planning and Highway Installation Manual”
(M0-8000).
Note
3. Select the Igidrv driver from the list and select Startup.
3. Select the “WDPF Service” service from the list and select Startup.
3. Select the Igidrv driver from the list and select Startup.
The Igidrv device driver will now start automatically when the system is rebooted.
3. Select the “WDPF Service” service from the list and select Startup.
The “WDPF Service” service will now start automatically when the system is
rebooted.
\\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Igidrv
ErrorControl:REG_DWORD:0x1
Group:REG_SZ:Extended Base
Start:REG_DWORD:0x4
Type:REG_DWORD:0x1
\\HKEY_LOCAL_MACHINE\SYS...ices\Igidrv\Parameters
Interrupt:REG_DWORD:xxx
IoPortAddress:REG_DWORD:yyy
MemoryAddress:REG_DWORD:zzz
Where:
Note
The above parameters are the only ones that should
be manipulated manually.
\\HKEY_LOCAL_MACHINE\SYS...ices\WDPFService
DependOnGroup:REG_MULTI_SZ:<no value>
DependOnService:REG_MULTI_SZ:igidrv
DisplayName:REG_SZ:WDPF Service
ErrorControl:REG_DWORD:0x1
ImagePath:REG_EXPAND_SZ:D:\wdpf\shc\bin\WDPFserv.exe
ObjectName:REG_SZ:LocalSystem
Start:REG_DWORD:0x2
Type:REG_DWORD:0x10
• Unique WDPF point name with up to eight characters for a point on an eight-
character network, or up to 16 characters for a point on an extended-tag
network (see Section 6 for valid point name rules).
Note
• Point record type (see “Record Types User's Guide” (U0-0131) for information
on record types and fields).
• Broadcast frequency (non-periodic, 0.0; tenth of a second, 0.1; one second, 1.0;
extended, EXT).
Note
• Optional SID and bit number for a digital Packed Group (GP) point
The SPD also contains a header section that includes information used to validate
its contents and to identify each Westnet network in the system. This header also
contains the access permission flag (read-only versus read-write).
Run-time Access
Run-time access (read-only) is any access that only obtains information from the
SPD. This requires optimal performance in terms of speed and resource
consumption, since all time-critical tasks that need information from the SPD will
use this type of access.
An example of run-time access is the trend function that accesses points defined by
point name. Since point information for this type of function must be retrieved from
the SPD as quickly as possible, the SPD is structured with the point name entries
stored in an alphabetized list.
This list of alphabetically arranged point names is divided into data blocks similar
to dictionary pages. The first point name entry in each data block is then listed in an
index block.
In order to access a given point name, the index block is read first to determine
which data block contains the point. Then only the data block containing the
designated point is read. This saves processing time and disk reads, and ensures fast
run-time access.
Compile-time Access
Compile-time access (read/write) is any access to the SPD that can modify the
contents of the SPD. This process does not need to be as rapid as run-time access
since it is not as time-critical as run-time operations.
An example of compile-time access is the addition of entries into the SPD by the
System Database Compiler. An alphabetized point name entry list is maintained in
memory whenever a copy of the SPD is signed out for database compilations. Each
new point name entry is assigned the first available SID and added to the bottom of
the list instead of inserting it alphabetically.
When the SPD is signed back in, the new entries are inserted alphabetically into the
alphabetized point name list in memory. Thus, the reorganization is done only once
instead of each time a new point name is entered.
A quick verification of the integrity of the SPD is performed by the SPD utilities
when the SPD is signed out for modifications. The SPD is also subject to validation
by the SPD utilities whenever it is signed back in. Similarly, the Point Directory
functions for the Multibus-based drops ensure that the Multibus-based Point
Directory (PNT.DIR) file is valid.
Note
The master SPD is used whenever an update to the Point Directory is performed. In
order to perform an update, the master SPD must be signed out using the SPD
Administrative routines. After the update is completed, the master SPD must be
signed in.
Note
The following path is used to define the location of the master SPD:
(WDPF_HOME)/SHC/SPD/spd.dir
The following files are located in the (WDPF_HOME)SHC/SPD/ directory:
This file is created automatically at the Software Server every time the master SPD
is signed in. Even though the file is created automatically, it must be copied to each
PCH, WEStation or Windows NT Interface drop after each update of the master
SPD.
The on-line SPD file must reside on every PCH, WEStation or Windows NT
Interface. In the Windows NT interface it must be located in the following path.
$WDPF_HOME/shc/config/online.spd
Each PCH, WEStation or Windows NT Interface drop must have the updated on-
line SPD copied to it from the following path each time an updated master SPD is
signed back in:
Caution
The SPD functions provided with the Windows NT Interface drop are located in the
$WDPF_HOME\shc\bin directory and include the following programs:
• SPD_add_network.exe
• SPD_create.exe
• SPD_create_runtime.exe
• SPD_extract.exe
• SPD_list.exe
• SPD_merge.exe
• SPD_write_protect.exe
Each of these functions are described below:
SPD_add_network.exe
This function is used to add a network to an existing SPD. The existing SPD must
have write protection turned off. The syntax for this function is as follows:
where:
In the following, example, normal text designates prompts from the program and
bold text indicates input from the user
example:
Do you want to disable Extended SIDs for Network (y or [n]): n (only for 8
character networks)
This command will add a network to the spdfile SPD. DIR. The networks name is
NET2 and the pointnames on that network may have 8 characters. Extended system
IDs are supported on that network.
SPD_create.exe
This function is used to create a new empty SPD. The program will prompt the user
for input when it is run.
In the following, example, normal text designates prompts from the program and
bold text indicates input from the user
D: \WDPF\shc\bin>
spd_create
Enter network name, network number, and maximum tag length <<CR> to quit>:
network1, 1, 16
Enter network name, network number, and maximum tag length <<CR> to quit>:
<cr>
NETWORK1 - network # 1
The above networks have been entered. OK to proceed with installation? (y or [n]):
y
The above example created a new empty SPD with one network. The Network name
is NETWORK1, the network number is 1 and the network has 16 character point
names. More networks could be added if desired.
SPD_create_runtime.exe
This function will create a runtime SPD (online.spd) from a master SPD (spd.dir).
This command will create a runtime SPD for use by the system. It uses the master
SPD, (normally SPD.DIR) to create the runtime SPD, (normally ONLINE.SPD).
The runtime SPD should then be copied to the path designated in the WDPF_PDIR
environment variable, normally \WDPF\SHC\CONFIG\ONLINE.SPD.
D: \WDPF\shc\bin>
spd_create_runtime.. \spd\spd.dir online spd
This command creates a runtime SPD named online.spd from the spd file
SPD.DIR
SPD_extract.exe
This function is used to create a 7 level (or lower) point directory for use on a 7 level
or lower system. The function extracts the points from one network in the SPD and
uses them to create a PNT.DIR. The syntax of the command is as follows:
where:
This command creates a 7 level (or lower) point directory which will contain all the
points from NET2 in SPD.DIR
SPD_list.exe
This function is used to create a list of points in the SPD. The syntax of the
command is as follows:
where:
-d <drop number> (list will include only points from the specified drops)
-r <record_type string (for example ai, di, pb)> (list will include all the
specified point record types)
-n <network name> (list will include all points from the specified network)
Writable : YES
Sign-out ID : 0
Index block OK : NO
Number of Networks : 3
Total Number of Points : 0
Offset of Index Array : 11403728
Offset of Index Block : 11796944
Offset of Name Array : 11844948
Network Information
Name Number SPD Index Tag Length Last SID Last EXSID
NET 1 1 0 16 280 16384
NET2 2 1 8 280 16384
NET3 3 2 16 280 16384
NET3 3 2 16 280 16384
SPD_merge.exe
This function will merge a 7 level or lower point directory into an SPD. The points
in the point directory will be put into the SPD in the specified network. If there are
any conflicts between the SPD and the point directory, the merge will not occur.
Normally only point directories that were extracted from an SPD may be merged
back into that SPD. An empty SPD will accept any point directory. The SPD must
be writable (see SPD_write_protect.exe). The syntax of the command is:
where:
spd file = SPD into which the point directory will be merged.
wdpf file = SPD into which the point directory will be merged.
network number = Network to which points from the point directory will be
placed.
D: \WPDF\shc\bin> spd_merge.. \spd\spd.dir pnt.dir net2
Merging net2 network from wdpf file pnt.dir to spd file.. \spd\spd.dir
SPD_write_protect.exe
This function is used to set an internal flag in the SPD causing it to be either read
only, or read-write. This is used to protect the SPD from inadvertent changes. The
syntax is as follows:
where:
example:
D: WDPF\shc\bin> spd_write_protect...\spd\spd.dir on
This command sets the internal write protect flag in the spd file SPD.DIR on.
Note
The database source file is made up of compiler directive statements and point
declaration statements which define the data received and transmitted on the Data
Highway. These statements are described in Section 6-5.
This section discusses the following items and the guidelines for their use in the
database compiler source file:
6-2.1. Characters
The following characters are acceptable items for database compiler source file
format:
Alphabetic Characters
Numeric Characters
Special Characters
To use the single quote character within a string, it must be followed by a second
quote mark, as shown below:
• Comments.
6-2.3. Constants
The sdbcomp compiler recognizes numeric constants. These constants are defined
as follows:
Integer Constants
Integer constants are signed values between -32767 and +32767. They are
represented in decimal notation consisting of one to five digits (0 - 9) written
without a decimal point. Leading zeroes are ignored.
Unsigned integer constants are unsigned values between 0 and 65535. They are
represented in decimal notation consisting of one to five digits (0 - 9) written
without a decimal point. Leading zeroes are ignored.
Real Constants
Decimal notation represents the number with an optional sign, an integer part, a
decimal point, and a fractional part. Both the integer and fraction parts may contain
a sequence of zero to eight decimal digits.
Scientific notation permits easy representation of very large or very small real
numbers. Numbers are represented with an optional sign, an integer part, a decimal
point, and a fractional part, followed by the exponent. The exponent (power of 10)
is indicated by the letter E, an optional sign, and one or two decimal digits ranging
in value from -37 to +38. The minimum value is 1.17E-38 and the maximum value
is 3.4E+38.
Examples:
10.0
-10.0
1.0E37
-1.0E+33
Hexadecimal Constants
Examples:
1234H
0A00FBH
Caution
4. Point names are not case sensitive. Lower case characters will be converted to
upper case.
5. The System Database Compiler currently supports the convention of using a set
of backslash (\) characters to specify that the characters between the backslashes
should be interpreted as a point name. This allows sdbcomp syntax characters
to be used in point names.
For example, the syntax to specify a mapped GP point name and bit number is
GP_NAME=pointname:bitnumber
In order to specify a point name with a colon in it, use the following syntax:
GP_NAME=\gp100:1\:12
This would map the digital point to bit 12 of the GP point gp100:1
• For guidelines on entering valid point names for use with a MAC program
loader, refer to “MAC Utilities User's Guide” (U0-0136).
The rules for the database compiler source file are in two categories:
Note
Point record types that can be received are shown in Table 6-3.
Table 6-3. Valid Received Point Record Types
Point Record Type Valid Point Types
Analog Point Records AC, AI, AL, AM
Expanded Analog Point AB
Device Point VC
Digital Point DC, DI, DL, DM
Packed Digital Point PB
Packed Group Point GP
Packed Group Alarm BG, BN
Drop Record DU
Note
If the received point does not exist in the Point Directory, it will be added. The
System ID of the added point will be the next available System ID. The record type
and frequency will be specified by the RT and FREQ values in the point declaration
statement. The originating drop number will be zero (0) and the characteristics will
be all dashes (-).
If the point is new (does not exist in the Point Directory), sdbcomp performs the
following steps:
1. Updates the Point Directory with the user-specified record type (or the record
type specified as a default in a DEF statement).
2. Updates the Point Directory with the user-specified frequency (or the frequency
specified as a default in a DEF statement).
3. Adds the point to the Point Directory with the network specified.
4. Assigns to the point all dashes (-) for the characteristics set.
5. If the record type is not DU, adds the point with an originating drop number of
zero.
6. If the record type is DU, adds the point with the drop number specified in
DU_DROP, or generates an error if the DU_DROP is not specified.
If the point was previously created as a received point by another drop, sdbcomp
performs the following steps:
1. Generates an error if the Record Type (RT) value specified for the point is “not”
in the same record class (for example, analog, digital, and so on) as the one
specified in the Point Directory’s record.
2. Generates a warning if the record type specified by the RT is “larger” than the
Point Directory’s record type, but in the same class. The Point Directory will be
updated with the new record type.
3. Generates a warning if the record type specified by the RT is “smaller” than the
Point Directory’s record type, but in the same class. The Point Directory will not
be updated with the new record type.
4. Generates an error if the old frequency of the point is extended, and the new
frequency is non-extended. Generates an error if the old frequency of the point
is non-extended, and the new frequency is extended.
5. Generates a warning if the frequency from the Point Directory does “not” match
the user specified frequency (or the frequency specified as a default in a DEF
statement). If the new frequency is slower than the one specified in the Point
Directory, the frequency in the Point Directory will remain unchanged. If the
new frequency is faster than the one specified in the Point Directory, the Point
Directory will be updated with the faster frequency.
8. Does not change the point’s originating drop number when the Point Directory
is modified.
If the point was previously created as an originated point by another drop, sdbcomp
performs the following steps:
1. Generates an error if the RT value specified for the point is “not” in the same
record class (for example, analog, digital, and so on) as the one specified in the
Point Directory’s record.
2. Generates an error if the record type specified by the RT is “larger” than the
point’s record type, but in the same class. The Point Directory will “not” be
updated with the new record type.
3. Generates an error and does not update the Point Directory with the new record
type if the record type specified by RT is “smaller” than the one specified in the
Point Directory.
4. Generates an error if the old frequency of the point is extended, and the new
frequency is non-extended. Generates an error if the old frequency of the point
is non-extended, and the new frequency is extended.
5. Generates an error if the frequency from the Point Directory does “not” match
the user specified frequency (or the frequency specified as a default in a DEF
statement).
9. Generates an error if the user attempts to receive a point that is already defined
as originated for the same drop.
10. Does not change the point's originating drop number when the Point Directory
is modified.
11. Generates a warning if the record type is DU and an attempt is made to change
the originating drop number.
For each compilation, a drop number is identified as the “effective drop number”.
Generally, points defined as originated (SOURCE = 0) will be added to the SPD as
points originated by the effective drop number. (Exceptions to this rule are certain
DU points in redundant drop databases).
In most cases, the effective drop number is defined by a PRI_DROP statement. For
more information on defining the effective drop number in a redundant database,
see Section 6-5.
Note
Point record types that can be originated are shown in Table 6-3:
Table 6-5. Valid Originated Point Record Types
The drop number will be specified as the effective drop number for this compile.
The effective drop number is specified by PRI_DROP. The characteristics will be
specified by the CHARST statement or defaults to dashes
If the originated point does not exist in the Point Directory, it will be added. The
System ID of the added point will be the next available System ID. The record type
and frequency will be specified by the RT and FREQ values in the point declaration
statement.
If the point is new (does not exist in the Point Directory), sdbcomp performs the
following steps:
1. Adds the point to the Point Directory with the network specified.
2. Updates the Point Directory with the user-specified record type (or the record
type specified as a default in a DEF statement).
3. Updates the Point Directory with the user-specified frequency (or the frequency
specified as a default in a DEF statement).
4. Updates the point with the user-specified characteristics (or the characteristics
specified as a default in a DEF statement).
5. Adds the point to the directory with the drop number specified as the effective
drop number for this compile, if the record type is “not” DU.
6. Adds the point to the directory with the drop number specified by DU_DROP,
if the record type is DU.
The effective drop number for this compile will be used, if DU_DROP is not
specified.
If the point was previously created as a received point by another drop, sdbcomp
performs the following steps:
1. Generates a warning if the RT value specified for the point is not in the same
record class (for example, analog, digital, and so forth) as the one specified in
the Point Directory's record.
4. Generates a warning if the frequency from the Point Directory does not match
the user-specified frequency (or the frequency specified as a default in a DEF
statement). The new frequency is used in the Point Directory.
Note
6. Generates a warning if the network does not match. The point will be changed
to the new network. The SID in the old network will not be able to be re-
assigned to a point until the SPD is completely rebuilt. In this case, “rebuilt”
means starting with an empty file and re-adding drop databases one by one.
7. Adds the point to the Point Directory using the drop number specified as the
effective drop number for this compile.
If the point was previously created as an originated point by another drop, sdbcomp
performs the following steps:
1. Generates a warning if the RT value for the point is not in the same record class
(for example, analog, digital, and so forth) as the one specified in the Point
Directory’s record. Generates a warning if the record type specified by the RT
is “smaller” than the Point Directory’s record type (that is, if the RT = AL, and
the Point Directory's record indicates the point is an AI point). The Point
Directory will be updated with the new record type.
3. Generates a warning if the frequency from the Point Directory does not match
the user-specified frequency (or the frequency specified as a default in a DEF
statement). The new frequency is used in the Point Directory.
Note
5. Generates a warning if the network does not match. The point will be changed
to the new network and a new SID will be assigned. The old SID (in the old
network) cannot be re-assigned to a point until the SPD is completely rebuilt.
6. Generates an error indicating that an attempt has been made to originate a point
that was previously specified as originated by another drop.
7. Adds the point to the directory with the drop number specified by the effective
drop number for this compile.
8. Adds the point to the directory for a DU record type (if the DU_DROP is not
specified), with the drop number specified by the effective drop number for this
compile.
CLEVEL,AUX='Coolant_level'
CTEMP, ED='Coolant Temp'
CSETPT,AUX='Coolant_setpoint',RT=AI,CHARST='A B C D',FREQ=S,
SOURCE=O,ED='Coolant level setpoint',NET=CONTROL,LL=0,HL=999
/END
; The end statement terminates the compile. All following text
; such as this, is ignored.
• Compiler directives are indicated by a slash (/). They are used to control the
formatting of the list file, and to define the default values. Examples are TITLE,
LIST/NOLIST, DEF/NODEF, INCLUDE, LINE, PAGE, PRINT, and END
statements. The DROP statements are “special case” directives that provide
required drop information to the compiler.
• Point declaration statements begin with a point name and require no indicator
or keyword. They are used to define the fields required to identify a point
(SOURCE, FREQ, RT, NET), plus other optional fields. If desired, they can
override current default values for point fields.
• Field assignments are used with a point declaration statement to assign special
values to point attributes (stored in the Point Directory or in point records).
Examples are the AUX, CHARST, DIAG_NUM, and GP_NAME statements.
• Comment lines (indicated by semicolons (;)) may also appear in the database
compiler source file and list file. Comments do not have to begin on a new line.
• DU_DROP statement defines the drop number for a received DU record (point
being defined must be a DU record type).
• DEF statement defines default values for the Point Declaration statements.
— AUX statement
— CHARST statement
— DIAG_NUM statement
— GP_NAME statement
— INCLUDE statement
• List file format statements which control the appearance of the listing file:
— LINE statement
— PAGE statement
— PRINT statement
• CHARST statement
• DEF statement
• DIAG_NUM statement
• DU_DROP statement
• END statement
• IN statement
• INCLUDE statement
• INIT_VAL statement
• LINE statement
• LIST/NOLIST statement
• NET statement
• NODEF statement
• PAGE statement
• PRI_DROP statement
• PRINT statement
• TITLE statement
Description
CHARST
CHARST is a field assignment statement for an originated point. The user can
Cont’d
assign a set of eight characteristics to each broadcast point when originating that
point in an sdbcomp point declaration statement. All the characteristics will be
stored in a point record in the SPD and the first characteristic will be stored in the
AY field of an AI, AL, DI, or DL point.
Each characteristic describes a location or function related to the specified point and
is defined by the user during the design of the system. Characteristics can be used
for various functions; for example, related groups of points to be displayed at an
Operator Station using the Characteristics Group Menu.
The first character (character 1) represents the most general characteristic, and the
last character (character 8) represents the most specific characteristic. The first
character is used for the alarm destination; typically, this represents the plant area.
Syntax
CHARST = char
where:
char = String of user-defined characteristics. Valid entries are A - Z
(upper case only), 0 - 9 (not valid for first characteristic),
space, and dash (-), where a (-) is a wildcard. The string must
be eight characters long and enclosed in single quotes. A
blank space indicates that the characteristic is undefined for
this point.
• If the originated point exists in the Point Directory (and is AI, DI, AL, or DL
type), the AY value for the point will be the first character of the characteristics
specified in the Point Directory.
• If the point does not exist in the Point Directory (and is an AI, DI, AL, or DL
type), the default AY value is a dash (-) and the characteristics added to the
directory are (--------).
Rules
1. The CHARST statement can be used only for an originated point.
2. The CHARST statement can be specified for a specific originated point (with
the point declaration) or may be specified as a default value (using a DEF
statement; for example, /DEF,CHARST=‘ABCDEFGH‘).
3. The user should be familiar with the use of characteristics before using the
CHARST statement (point groupings are usually determined during the system
design phase).
4. A set of eight characters must be defined in the CHARST statement and must
be enclosed in single quotes. Use a dash or space if no other character is desired
for a specific position.
5. If characteristics are already defined for the point (in the Point Directory), the
characteristics will be redefined and a warning will be generated.
Example
A10,CHARST='BWV5F '
This statement assigns characteristics to point A10. The last three characteristics are
undefined. If A10 is an AI, DI, AL, or DL point, “B” will be assigned to the AY field
of the record.
Description
DEF
DEF permits the user to specify default values for various attributes of the WDPF
Cont’d
process points in an sdbcomp source file. The values specified in a /DEF statement
will override any previously defined default values or the system default values for
that attribute.
Syntax
/DEF
- OR -
/DEF[,attribute=value,…
where:
attribute = Valid record field
value = V
Valid value for “field” (for example, a real number for HL)
If the DEF statement is not specified or if record attributes are not used with the
DEF statement, the system default values are used.
Rules
1. The user may specify default values for any user-initialized field (except point
identification - PN) of any WDPF point record (see “Record Type User's Guide”
(U0-0131) for more information).
Note
2. Each DEF statement will override the current default values. If the field is not
used or is not valid for the subsequent point declaration statement, it will be
ignored. For example, if LL is assigned a new default value in a DEF statement,
only AI and AL points following the DEF statement will use the new default
value. Subsequent points with other record types will ignore the defined LL
value.
3. The DEF statement can be used anywhere in the input sdbcomp source file and
it can be specified more than once in the source file. If no fields are specified
with the DEF statement, the system default values will be used. That is, an
‘empty’ DEF statement clears the previous DEF definitions and re-assigns all
system default values to all the record fields.
Example
/DEF,FREQ=T,LL=1.0,HL=99.0,SOURCE=O
AIX101
AIX102
DIX103,RT=DI,FREQ=S
/DEF
In the above example, the first DEF statement assigns the following default values:
• Values are assigned for the low and high limit fields (LL=1.0, HL=99.0).
The first two points (AIX101 and AIX102) use these default values. The system
default record type (AI) is used, and all other fields of these points use the system
default values.
The point definition statement for the third point (DIX103) overrides the default
record type, using RT=DI to assign the DI record type. In addition, the frequency
assigned in the DEF statement is overridden by FREQ=S, so that the point will be
broadcast every second.
Since digital points do not include the low and high limit fields, the LL and HL
definitions are ignored for DIX103. However, the SOURCE=O definition from the
DEF statement applies, and the point is defined as originated. All other fields of the
point use the system default values.
The second DEF statement will re-assign all system default values to all the record
fields of any following point declarations.
Description
DIAG_NUM
DIAG_NUM is a field assignment statement used to define the Summary Diagram
Cont’d
for a point (the DG record field is used to define the Signal Diagram for a point).
Note
Syntax
point_name, DIAG_NUM = number
where:
number = Positive integer in the range 0 - 65535 that
represents the diagram number of a process
diagram.
Rules
1. The DIAG_NUM statement can be used with originated and received points.
4. The DIAG_NUM statement can be used with the default statement (DEF).
Example
PTNAME,DIAG_NUM = 125
This statement assigns PTNAME to appear in the Point Summary diagram number
125.
Description
DU_DROP
DU_DROP is a field assignment statement used to specify the originating drop
Cont’d
number for a point of type DU (Drop Status record or Drop Redundancy Record).
Syntax
DU_DROP = number
where:
number = Positive integer between 1 and 254
If the DU_DROP number is not entered for an originated DU point which does not
currently exist in the Point Directory, the DU point will be assigned the drop
number from the PRI_DROP statement.
If the DU_DROP number is not entered for a received DU point which does not
currently exist in the Point Directory, an error message will be generated.
Rules
1. The DU_DROP statement can be used with either originated or received points.
2. The record type for the point being defined must be DU (if the point already
exists in the Point Directory, the existing point's record type must be DU).
8. For many WDPF functions to operate correctly, the drop point name
(DROPxxx) and drop number (xxx) must use the same drop number value. It is
the user’s responsibility to verify this equivalence as the compiler does not
currently perform this check
Example
DROP100, RT=DU, DU_DROP=100
This statement assigns DROP100 as a DU point with a DU_DROP number of 100.
Description
END
END defines the logical end of an sdbcomp source program. Any statements found
Cont’d
after an END statement will generate a warning and will be ignored by the compiler.
Syntax
/END
Rules
An END statement is required in every sdbcomp source program (see INCLUDE
statement for use of END).
Example
/END
This is the last statement in any program. Any statements following this line will be
ignored.
Description
IN
The optional IN statement is a field assignment for originated point statements. This
Cont’d
statement allows the user to initialize the Information Alarm Configuration field
(Alert or Information) for the following point types:
Note
Syntax
IN = value
where:
value = 0 for Alert Alarm (Bit 6 set to 0)
1 for Information Alarm (Bit 6 set to 1)
Rules
1. The IN statement can be used only with originated points.
Example
TA00,RT=AI,FREQ=T,SOURCE=O,IN = 1
This statement sets the originated analog point TA00 to be an Information Alarm
point.
Description
INCLUDE
The optional INCLUDE statement permits the user to specify partial sdbcomp
Cont’d
source file(s) to be included within the current sdbcomp source file (beginning at
the line where the INCLUDE statement is located). This feature is especially
helpful when the same set of point declarations (or other statements such as alarm
limits) are to be used in more than one drop database.
Caution
Syntax
/INCLUDE = [path]incfilename
where:
incfilename = Path and filename of another sdbcomp source file. If the
path is not specified, the path of the current sdbcomp source
file will be used.
Rules
1. The INCLUDE statement can be used anywhere in an sdbcomp source file.
More than one INCLUDE statement can be used within an sdbcomp source file.
However, nested INCLUDE statements are not permitted. For example, if an
INCLUDE statement is found within a source file that was included in the
current sdbcomp source file, the compiler will generate an error message.
Example
/INCLUDE = TEST33.SRC
The above statement will read the file TEST33.SRC into the current program.
Description
INIT_VAL
The optional INIT_VAL statement is a field assignment for originated point
Cont’d
statements. This statement allows the user to initialize the value field for the
following point types:
Syntax
INIT_VAL = value
where:
value = Value is dependent upon the following point record types:
Rules
1. The INIT_VAL statement can be used only with originated points.
Example
TA00,RT=AI,FREQ=T,SOURCE=O,INIT_VAL = 35.00
This statement sets the initial value of the originated analog point TA00 to 35.00.
Description
LINE
The optional LINE statement permits the user to define the number of lines in each
Cont’d
page of the sdbcomp output listing file. If the NOLIST option is specified by the
user, the LINE statement will be ignored and no error or warning messages will be
generated.
LINE is a non-echo statement (that is, it will not appear in the output listing file if
/LIST is specified).
Syntax
/LINE = [=numlines]
where:
numlines = Number of lines to be printed per page in the output listing
file. The value of numlines must be an integer value of 0 to
32767 (0 indicates that paging will be turned off and the
printer will form feed when paper is full). Users should
verify the valid number of lines for their printer
Rules
1. The LINE statement can be specified anywhere in the input source file.
2. Multiple LINE statements are permitted. The number of lines specified in the
latest LINE statement will apply starting with the next page of the output listing
file, if LIST is specified.
Examples
/LINE
This statement specifies that 60 lines (the default number) will be printed on each
page of the output file.
/LINE =40
This statement sets the number of lines to be printed on a page as 40.
Description
LIST/NOLIST
The optional LIST statement specifies if the output list file should include the input
Cont’d
source file. The output listing file consists of a header on each page (title, page
number, sdbcomp compiler version, date and time of compile), a line numbered list
of the input source file (optional), TDM statistics, and a Point Directory log.
The optional NOLIST statement specifies that only errors, warnings, Point
Directory log, and the TDM statistics will be written to the list file.
LIST or NOLIST are non-echo statements (that is, they will not be in the output
listing file if LIST is specified).
Syntax
/LIST
- OR -
/NOLIST
The default is NOLIST (only errors, warnings, Point Directory log, and the TDM
statistics will be written to the list file).
Rules
Multiple LIST and NOLIST statements can be used anywhere in the source file. The
LIST or NOLIST statements will turn on or off (respectively) the writing of the
source code to the listing file each time they are used.
Example
/LIST
…
/NOLIST
In the above example, all subsequent lines after the LIST statement (except non-
echo statements) are listed in the listing file, until the NOLIST statement. All lines
after NOLIST are not listed in the listing file.
Description
NET
The NET statement is a field assignment statement for originated and received
Cont’d
points. This statement is used to specify which network the point will reside on. The
valid network names are defined in the SPD. (See Section 3 for information on
defining Westnet networks).
Syntax
NET = name
where:
name = Valid network name (up to eight characters)
The default value will be the value defined in the previous DEF statement.
If there is no previous DEF value assigned, and there is only one network defined
in the SPD, that network will be the default.
If there is no previous DEF value assigned, and there is more than one network
defined in the SPD, an error message will be generated.
Rules
1. All points must have a valid network defined (either specifically or through the
use of the DEF statement) unless only one network is defined in the SPD.
2. The network name can be changed for originated points. In this case, the SID
used in the previous network cannot be re-assigned unless the SPD is rebuilt. A
warning message will be generated in this case.
Example
DI100,RT=DI,NET=DAS
This example defines point DI100 as record type DI on Westnet network DAS.
Description
NODEF
The NODEF statement disables the use of defaults for all required attributes. This
Cont’d
has the following effects:
— Other desired attributes may be defined or the system defaults will be used.
Syntax
/NODEF
If NODEF is not specified, the defaults is DEF, which permits system default values
to be used for all point attributes.
Rules
There are no parameters for the NODEF statement. The NODEF statement is in
effect until a DEF statement is found. The NODEF statement can be used anywhere
in the input source file and can be specified more than once in a source file. If
NODEF is specified, error messages s are generated if an originated point does not
have all of its required record attributes defined (RT, FREQ, SOURCE, and NET).
Example
/NODEF
AMX101,RT=AM,FREQ=T,SOURCE=R,NET=DAS
The above statements assign no defaults to the point AMX101. The second
statement assigns the following characteristics to the point AMX101: AM record
type, a FAIL_FREQ of 0.1 second, a received point, on network DAS.
Description
PAGE
PAGE allows the user to insert a page eject in the output listing file. If the NOLIST
Cont’d
option is specified by the user, the PAGE statement will be ignored and no error or
warning messages will be generated.
PAGE is a non-echo statement; that is, it will not be in the output listing file (if
/LIST is specified).
Syntax
/PAGE
Rules
1. PAGE is an optional statement with no parameters.
2. PAGE can be used anywhere in the input source file. Multiple PAGE statements
can be used within one source file.
Example
/PAGE
A page is ejected each time the PAGE command is encountered or when the number
of lines per page defined by LINE or the default number is reached.
Description
Point Declaration
Point Declaration statements are used in the sdbcomp source file to define all the
Cont’d
attributes of both received and originated points. These statements consist of the
WDPF process point name, the required point attributes (that is, originated or
received point, record type, network, and frequency) and any optional attributes.
Syntax
point_name, [SOURCE=s], [FREQ=f], [RT=r], [NET=n], [AUX=a],
[GP_NAME=g:b], [DU_DROP=dd], attr=value, …
where:
Note
CHARST is used as a record attribute name if assigning a set
of eight characteristics to the point. All the characteristics will
be stored in a point record in SPD and the first characteristic
will be stored in the AY field of an AI, AL, DI, or DL point.
The default values for each of the attributes will either be the system default values
or the default values specified in a previous DEF statement.
Rules
1. The attributes SOURCE, RT, NET, and FREQ must be specified for each point
declaration statement or defined using a DEF statement. The required attributes
must be specified before any optional attribute is specified.
2. If the system defaults are to be used, an empty DEF statement must be used
before any point declaration statement is used (see DEF statement). There are
system default values for SOURCE, RT, and FREQ. There may be a system
default for NET if the system has only one network (see NET statement for
details).
3. The user may change the current default values (or any previously defined
defaults) by using a DEF statement (see DEF statement for details).
4. The user may specify values in a point declaration statement for any user-
initialized record attributes within the point's record except point identification
(PN) (the point has already been named in the point declaration statement).
Error messages are generated if the user attempts to assign values to attributes
that are not user-initialized. To assign a value to an attribute, the user must know
the name of the attribute and the valid type of value for the attribute (see
“Record Types User's Guide” (U0-0131) for additional information).
Examples
Example 1:
/DEF
A400,CHARST='MNOPQRST',LL=5.0, HL=100.0
Example 1 shows an empty DEF statement followed by a point declaration
statement. The empty DEF statement assigns the following system default values:
SOURCE=R; RT= AI; NET= ONENET (system has only one network),
FREQ=S (one second). The point declaration statement assigns the following
values to A400: Characteristics are MNOPQRST; low limit is 5.0; high limit
is 100.0.
Example 2:
A100,RT=AI,NET=DAS,FREQ=S,SOURCE=O,CHARST='ABCDEFGH',
HL=99.0,LL=0.0,IL=5.0,TB=100,BB=0
Example 2 shows a point declaration statement that assigns the following values to
the point record A100: record type AI, on network DAS, broadcasts every 1 second,
is an originated point and has characteristics ABCDEFGH. Assigned alarm values
include: 99.0 for high limit (HL), 0.0 for lower limit (LL), 5.0 for incremental limit
(IL), 100 for full scale value (TB), and 0 for a display scaling factor (BB).
Example 3:
Example 3 shows a DEF statement that defines new defaults, followed by a point
declaration statement:
/DEF,SOURCE=O,FREQ=S,NET=DAS
A200,RT=AI,CHARST='ABCDEFGH',HL=200.0,LL=0.0
A300,RT=AI,CHARST='JKLMNOPQ',HL=300.0,LL=0.0
In this example, the DEF statement defines new default values. The point
declaration statements define points A200 and A300 as originated points being
broadcast every second on the DAS network. The record type AI is used for both
points. A200 has a high limit of 200.0, a low limit of 0.0, and characteristics of
ABCDEFGH. A300 has a high limit of 300.0, a low limit of 0.0, and characteristics
of JKLMNOPQ.
Description
PRI_DROP
PRI_DROP is used to define the primary drop number for a Windows NT Interface
Cont’d drop
Syntax
.
/PRI_DROP = drop-number
where:
drop-number = Integer from 1 to 253
There is no default for this statement. If this statement is not included in the source
file, no primary drop will be specified.
Rules
1. Only one PRI_DROP statement can be declared in a compile.
2. The PRI_DROP statement must appear before the first point declaration.
Example
/PRI_DROP=145
This statement specifies that the primary drop number is 145.
Description
PRINT
The PRINT statement allows the user to include print control sequences for the
Cont’d
output listing file (for example, compress print mode). The print control sequence
code is an integer value between 0 and 255. Refer to the applicable vendor manual
for the desired control sequence code to send to the printer.
PRINT is a non-echo statement (if LIST is specified, PRINT is not in the output
listing file).
Syntax
/PRINT = x,y,z…
where:
x,y,z… = Control sequence codes for the printer. Up to 37 sequence
codes are allowed per PRINT statement (see the applicable
vendor manual for the sequence code numbers).
Note
Rules
1. The PRINT statement can be used anywhere within an sdbcomp input source
file. If the print statement is specified before the listing file is created, the
information is saved until the file is opened. After the file is opened, wherever
the PRINT statement is found, the specified control sequence(s) is (are) written
directly to the output listing file.
2. The control sequence code is an integer value between 0 and 255. Multiple
control sequence codes may be specified in one PRINT statement if a space or
comma is used to separate each sequence code. The sequence is output to the
printer as one character string.
Example
/PRINT = 15,12
This statement issues print control commands 15 (condensed print) and 12
(form feed). (These number are specific to a Genicom® 1040 printer. Other printers
have different meanings for their commands).
Description
TITLE
TITLE assigns a title to identify the source and output files. The title is used in the
Cont’d
output listing file (if LIST is specified).
TITLE is a non-echo statement. The statement will not appear in the output listing
file if LIST is specified.
Syntax
/TITLE = ['text']
where:
text = String of up to 50 alphanumeric or special characters,
enclosed in single quotes (a list of the valid special
characters is included in Section 6). If text is not specified,
the title will be all blanks.
Rules
1. The TITLE statement can be used anywhere in the input source file. Multiple
TITLE statements are allowed; the new TITLE will replace the previously
specified TITLE in the next page of the output listing file.
2. If the title is to appear on the first page of the listing file, the TITLE statement
must be specified before the LIST statement.
Example
/TITLE = 'Project Number 29, Version A'
This statement will place the phrase in single quotes at the top of the next page of
the output listing file
• Parses the information from the database source file (see Section 6-2 and
Section 6-4 for details on creating the source file).
• Checks for errors in the source file and outputs any error messages to a list file.
• Updates the System Point Directory (using compiler information) (see Section
6-4 for details).
Note
Note
The following illustrates the command line syntax used at a Windows NT Interface
to compile the database source file:
Note
Message Description
DATABASE COMPILE ABORTED This message will be output when
sdbcomp makes an abnormal exit and
the compile attempt has failed.
FATAL ERROR--include source file failed to The include file does not exist or could
open not be opened in order to write to it.
FATAL ERROR--/INCLUDE syntax error This message will appear if the equal
sign is omitted from the INCLUDE
statement.
FATAL ERROR--list file failed to open The list file could not be created and/or
opened in order to write to it.
FATAL ERROR--point directory file failed to sdbcomp failed when calling for the
open specified spd.dir. Possible causes:
- file does not exist
- file is not a valid SPD
- file was not signed out for update.
FATAL ERROR--source file failed to open The source file does not exist or could
not be opened to be read.
FATAL ERROR--while retrieving network sdbcomp failed when calling for
data from the point directory network data.
FATAL ERROR--while updating the point sdbcomp failed when calling for SPD
directory information.
INVALID SOURCE FILE NAME Filename entered is not a valid filename.
WARNINGS WERE GENERATED- This prompt allows the user to decide if
CONTINUE? y [n]: the point directory should be updated
(this prompt will not be output if the -i
option is selected).
No is the default (selected by Enter
button or N).
where:
This file is created in the current working directory and contains all the point
information needed to initialize the drop database. This binary file will be generated
only if the -g option was set and if there were no errors in the compilation. This file
should be specified in the CONFIG.SHC file.
List File
The list file contains a line-numbered listing of the source file (optional), a point
directory log, any error or warning messages that were generated during
compilation of the source file, the total number of originated/received points, and
the number of TDM slices that are needed for the database (for each network).
The heading of each of the listing pages consists of the sdbcomp compiler version,
page number, date and time of compile, and a title. This title is specified by the user
within the source file by using the TITLE command.
Unless NOLIST is selected, a listing of the user’s source file program follows the
heading. Each line consists of a line number followed by the input line. The line
number corresponds to the position of the line in the source file. Command
statements that specify the format of the listing file are not echoed in the listing file
(that is, PRINT, TITLE, PAGE, LINE, NOLIST, and LIST statements do not appear
in the listing file).
Any errors or warnings detected during compilation produce a message that appears
beneath the line where the error or warning was detected.
The point directory log in the listing file contains an alphabetized list of the points
added to or modified in the point directory during the compile of the source file.
If NOLIST is specified by the user or by default, the listing file will only contain
error and/or warning messages and the line of source code where the error or
warning occurred (see the following pages for a sample list file).
Error messages will result in no output files being generated. Warning messages
will typically result in output files still being generated.
• Overview of WESAPI
• Point values
• Point statuses
• GPM messages
Software using WESAPI may be written in C or C++. The software may be window
based or it may be text based. Two rules must be followed when developing
software which uses WESAPI on Windows NT. In Microsoft Visual C++ these
options may be set inside the integrated development environment, or compiler and
linker switches can be used.
• The program must link to the multi-threaded version of the runtime library.
The Windows NT Interface installation procedure installs files required for program
development onto the system. These files can be found at the following locations
$WDPF_HOME\shc\inc
GPM_RESP.H
SHC_defines.h
SHC_DL.H
SHC_err.h
SHC_GPM.h
SHC_PROTO.H
SPD.h
wes_types.h
W_TIME.h
$WDPF_HOME\shc\lib
wdpfghc.lib
• For source files that call SHC_ type functions, include SHC_PROTO.H in the
file. This file contains prototypes for all the SHC_ type functions.
• For source files that call SPD_ type functions, include SPD.h in the file. This
contains prototypes for all the SPD_ type functions.
• When linking programs, link in the file WDPFGHC.LIB. This points to the file
WDPFGHC.DLL which contains the actual SHC_ and SPD_ functions.
Westnet.Orig_Points.Alarming. Hiinc
parameter 3-27
Westnet.Orig_Points.Alarming. Loinc
parameter 3-29
Westnet.Orig_Points.Alarming. On parameter
3-30
Westnet.Orig_Points.Alarming.Include_NP
parameter 3-28
Westnet.Orig_Points.EV_Quality parameter
3-31
Westnet.Orig_Points.On parameter 3-32
Westnet.Time.Localtime parameter 3-33
Westnet.Timesync.Network parameter 3-34
In various places throughout U0-2482, reference is made to the IGI card. Currently,
a PGI card is used in place of an IGI card. For purposes of software installation,
since the PGI card can be considered to be virtually identical in usage to the IGI
card, please substitute PGI for IGI throughout the manual. (If a difference exists, it
will be noted in this IPU.)
The PGI card is PCI bus based and has no jumper wires that require configuration,
while the IGI card was ISA bus based and did require jumpering.
1. Verify that the Microsoft Windows NT operating system version 4.0 has been
installed onto the PC (See the appropriate Microsoft documentation for details).
2. Place the Windows NT Interface installation disk into the disk drive. (For this
discussion, assume it is the A: drive.) Run the program A:\SETUP.EXE. This
runs a standard installation program of Windows based software.
3. An introduction screen appears. Read the text shown and click on the Next>
button to continue (or use the Cancel button to abort the installation).
4. The next screen asks for the location where WDPF software will be installed.
The default location is the \wdpf directory on the boot drive. Click on the
Browse. button to change the directory or click on Next> to accept the path
shown and continue.
5. The installation program next requests the location of the runtime System Point
Directory, online.spd. Click Browse.to change if desired, and click Next> to
continue.
6. You are now asked for a folder into which the installation program will place
some program icons. Select an existing folder, accept the default, or change the
name to something else. Select Next> when done.
7. A message box will now appear providing some detail about the screens to
follow. Read it and then press OK to dismiss it.
8. The next screen prompts for a WDPF Drop Number. Enter the number to be
associated with this Drop and then select Next>.
9. The next screen asks for the Highway Number to be associated with the first
PGI card. Enter a Highway Number and then select Next>.
10. The next two screens ask for the PCI bus and slot numbers that describe the first
PGI card. After entering each, select Next>.
11. This screen asks if more highways are to be configured. Is so, select Yes. The
screen will repeat, beginning with Step 9. If no more highways are to be
configured, select No.
12. This screen allows the user to see what has been configured. Answer Yes or No
as appropriate.
14. If an erroneous entry has been made in configuring a highway, this screen
allows for modification. Answer Yes or No, as appropriate.
15. At this point, the files will be copied and various system files will be updated.
In order for the installation to be recognized by the system, it will be necessary
to reboot. To reboot now, select Yes and click on Finish. Otherwise select No and
click on Finish.
Westnet.Drop_Number:201
Westnet.Orig_Points.On:TRUE
Westnet.Timesync.Network:1
Westnet.Network_1PGI.Bus:1 (must be specified as decimal values)
Westnet.Network_1PGI.Slot:10 (must be specified as decimal values)
Westnet.Network_1.Database:ghcdbase.201
• Westnet.Network_n.IGI.Memory: nnnnn
• Westnet.Network_n.IGI.Interrupt: nn
Description
This parameter is used to specify the PCI bus number to which the PGI card is
attached.
Syntax
Westnet.Network_n.PGI.Bus: nn
where:
Example
Westnet.Network_1.PGI.Bus:1
Description
This parameter is used to specify the PCI slot number to which the PGI card is
attached.
Syntax
Westnet.Network_n.PGI.Slot: nn
where:
Example
Westnet.Network_1.PGI.Slot:1
The simplest way to install the PGI driver is to follow the InstallShield installation
procedure. During the installation, the user will be prompted for a bus and slot
number. Respond with any valid values. While these are unlikely to be correct, it
will at least allow the driver software to be installed on the system. Once the
installation has completed, power off the PC, install the PGI card(s) and reboot.
Once up and running, examine the NT event log. This is done by selecting:
Start > Programs > Administrative Tools (Common) > Event Viewer
Inspect the log entries whose ’Source’ is ’Pgidrv’. One such entry will be of the
form:
where
If the system is being configured with more than one PGI card, add them one at a
time and reboot after each addition. This will allow the cards to be differentiated
from one another. Once the bus and slot numbers have been determined, remove the
PGI software and reboot the machine. Once up, reinstall the package, this time with
the correct bus and slot numbers.
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Service/pgidrv/
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Service/EventLog/System/
pgidrv
Default ""
EventMessageFile %SystemRoot%\System32/Drivers/pgidrv.sys
TypesSuported 0x107