The FieldPoint FP-3000 network module is warranted against defects in materials and workmanship for a period of one year from
the date of shipment, as evidenced by receipts or other documentation. National Instruments will, at its option, repair or replace
equipment that proves to be defective during the warranty period. This warranty includes parts and labor.
The media on which you receive National Instruments software are warranted not to fail to execute programming instructions,
due to defects in materials and workmanship, for a period of 90 days from date of shipment, as evidenced by receipts or other
documentation. National Instruments will, at its option, repair or replace software media that do not execute programming
instructions if National Instruments receives notice of such defects during the warranty period. National Instruments does not
warrant that the operation of the software shall be uninterrupted or error free.
A Return Material Authorization (RMA) number must be obtained from the factory and clearly marked on the outside of
the package before any equipment will be accepted for warranty work. National Instruments will pay the shipping costs of
returning to the owner parts which are covered by warranty.
National Instruments believes that the information in this document is accurate. The document has been carefully reviewed
for technical accuracy. In the event that technical or typographical errors exist, National Instruments reserves the right to
make changes to subsequent editions of this document without prior notice to holders of this edition. The reader should consult
National Instruments if errors are suspected. In no event shall National Instruments be liable for any damages arising out of
or related to this document or the information contained in it.
E
XCEPT AS SPECIFIED HEREIN,NATIONAL INSTRUMENTS MAKES NO WAR RANTIES, EXPRESS OR IMPLIED, AND SPECIFICALLY DISCLAIMS ANY
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
NEGLIGENCE ON THE PART OF
INSTRUMENTS WILL NOT BE LIABLE FOR DAMAGES RESULTING F ROM LOSS OF DATA, PROFITS, USE OF PRODUCTS, OR INCIDENTAL OR
CONSEQUENTIAL DAMAGES
apply regardless of the form of action, whether in contract or tort, including negligence. Any action against National Instruments
must be brought within one year after the cause of action accrues. National Instruments shall not be liable for any delay in
performance due to causes beyond its reasonable control. The warranty provided herein does not cover damages, defects,
malfunctions, or service failures caused by owner’s failure to follow the National Instruments installation, operation, or
maintenance instructions; owner’s modification of the product; owner’s abuse, misuse, or negligent acts; and power failure or
surges, fire, flood, accident, actions of third parties, or other events outside reasonable control.
NATIONAL INSTRUMENTS SHALL BE LIMITED TO THE AMOUNT THERETOFORE PAID BY THE CUSTOMER.NATIONAL
, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. This limitation of the liability of National Instruments will
.CUSTOMER’S RIGHT TO RECOVER DAMAGES CAUSED BY FAULT OR
Copyright
Under the copyright laws, this publication may not be reproduced or transmitted in any form, electronic or mechanical, including
photocopying, recording, storing in an information retrieval system, or translating, in whole or in part, without the prior written
consent of National Instruments Corporation.
Trademarks
BridgeVIEW™, FieldPoint™,HotPnP™, Lookout™, National Instruments™,ni.com™, and NI-FBUS™are trademarks of
National Instruments Corporation.
Product and company names mentioned herein are trademarks or trade names of their respective companies.
WARNING REGARDING USE OF NATIONAL INSTRUMENTS PRODUCTS
(1) NATIONAL INSTRUMENTS PRODUCTS ARE NOT DESIGNED WITH COMPONENTS AND TESTING FOR A LEVEL
OF RELIABILITY SUITABLE FOR USE IN OR IN CONNECTION WITH SURGICAL IMPLANTS OR AS CRITICAL
COMPONENTS IN ANY LIFE SUPPORT SYSTEMS WHOSE FAILURE TO PERFORM CAN REASONABLY BE
EXPECTED TO CAUSE SIGNIFICANT INJURY TO A HUMAN.
(2) IN ANY APPLICATION, INCLUDING THE ABOVE, RELIABILITY OF OPERATION OFTHE SOFTWARE PRODUCTS
CAN BE IMPAIRED BY ADVERSE FACTORS, INCLUDING BUT NOT LIMITED TO FLUCTUATIONS IN ELECTRICAL
POWER SUPPLY, COMPUTER HARDWARE MALFUNCTIONS, COMPUTER OPERATING SYSTEM SOFTWARE
FITNESS, FITNESS OF COMPILERS AND DEVELOPMENT SOFTWARE USED TO DEVELOP AN APPLICATION,
INSTALLATION ERRORS, SOFTWARE AND HARDWARE COMPATIBILITY PROBLEMS, MALFUNCTIONS OR
FAILURES OF ELECTRONIC MONITORING OR CONTROL DEVICES, TRANSIENT FAILURES OF ELECTRONIC
SYSTEMS (HARDWARE AND/OR SOFTWARE), UNANTICIPATED USES OR MISUSES, OR ERRORS ON THE PART OF
THE USER OR APPLICATIONS DESIGNER (ADVERSE FACTORS SUCH AS THESE ARE HEREAFTER
COLLECTIVELY TERMED “SYSTEM FAILURES”). ANY APPLICATION WHERE A SYSTEM FAILURE WOULD
CREATE A RISK OF HARM TO PROPERTY OR PERSONS (INCLUDING THE RISK OF BODILY INJURY AND DEATH)
SHOULD NOT BE RELIANT SOLELY UPON ONE FORM OF ELECTRONIC SYSTEM DUE TO THE RISK OF SYSTEM
FAILURE. TO AVOID DAMAGE, INJURY, OR DEATH, THE USER OR APPLICATION DESIGNER MUST TAKE
REASONABLY PRUDENT STEPS TO PROTECT AGAINST SYSTEM FAILURES, INCLUDING BUT NOT LIMITED TO
BACK-UP OR SHUT DOWN MECHANISMS. BECAUSE EACH END-USER SYSTEM IS CUSTOMIZED AND DIFFERS
FROM NATIONAL INSTRUMENTS' TESTING PLATFORMS AND BECAUSE A USER OR APPLICATION DESIGNER
MAY USE NATIONAL INSTRUMENTS PRODUCTS IN COMBINATION WITH OTHER PRODUCTS IN A MANNER NOT
EVALUATED OR CONTEMPLATED BY NATIONAL INSTRUMENTS, THE USER OR APPLICATION DESIGNER IS
ULTIMATELY RESPONSIBLE FOR VERIFYING AND VALIDATING THE SUITABILITY OF NATIONAL
INSTRUMENTS PRODUCTS WHENEVER NATIONAL INSTRUMENTS PRODUCTS ARE INCORPORATED IN A
SYSTEM OR APPLICATION, INCLUDING, WITHOUT LIMITATION, THE APPROPRIATE DESIGN, PROCESS AND
SAFETY LEVEL OF SUCH SYSTEM OR APPLICATION.
Conventions
The following conventions are used in this manual:
»The » symbol leads you through nested menu items and dialog box options
to a final action. The sequence File»Page Setup»Options directs you to
pull down the File menu, select the Page Setup item, and select Options
from the last dialog box.
This icon denotes a tip, which alerts you to advisory information.
This icon denotes a note, which alerts you to important information.
This icon denotes a caution, which advises you of precautions to take to
avoid injury, data loss, or a system crash.
boldBold text denotes items that you must select or click on in the software,
such as menu items and dialog box options. Bold text also denotes
parameter names.
FieldbusThe generic term Fieldbus refers to any bus that connects to field devices.
This includes F
manual, the term Fieldbus refers specifically to the F
OUNDATION
Fieldbus, CAN, DNET, and Profibus. In this
OUNDATION
Fieldbus.
italicItalic text denotes variables, emphasis, a cross reference, or an introduction
to a key concept.
monospace
Text in this font denotes text or characters that you should enter from the
keyboard, sections of code, programming examples, and syntax examples.
This font is also used for the proper names of disk drives, paths, directories,
programs, subprograms, subroutines, device names, functions, operations,
variables, filenames and extensions, and code excerpts.
Contents
Chapter 1
FP-3000 Network Module Overview
Related Documentation..................................................................................................1-1
The following documents contain information that you might find helpful
as you read this manual:
•Operating Instructions (for network module, terminal bases, and
I/O modules)
•Fieldbus Foundation’s Wiring and Installation 31.25 kbit/s,
Voltage Mode, Wire Medium Application Guide
•Fieldbus Standard for Use in Industrial Control Systems, Part 2,
ISA-550.01.1992
FP-3000 Network Module Description
The FP-3000 is an intelligent network interface and controller module that
manages a bank of up to nine FieldPoint I/O modules and terminal bases.
The FP-3000 network module and the terminal bases snap together to form
a high-speed data bus for communications between the FP-3000 network
module and any I/O modules in the bank. The FP-3000 includes an H1
Fieldbus interface fordirect connection toan H1 F
(also known as a segment). Refer to the FOUNDATION
document for more information on FOUNDATION
circumstances, you can connect at most 32 FP-3000 network modules to a
single F
FP-3000 network modules that can be connected depends on your network
setup and your applications.
OUNDATION
Fieldbus link (without repeaters). The actual number of
1
OUNDATION
Fieldbus Overview
Fieldbus. Under the best
Fieldbus link
The FP-3000 network module allows you to bring conventional analog and
discrete I/O devices onto a F
the FP-3000 makes a 4–20 mA pressure transmitter connected to a
FieldPoint 8-channel analog input module behave like a Fieldbus pressure
transmitter. By using an FP-3000 network module, you can significantly
reduce wiring and installation costs. Instead of running a pair of wires from
each 4–20 mA device to your controller, you can mount an FP-3000
network module in the field and run a single pair of wires (called the trunk)
from your PC to the FP-3000. You connect the 4–20 mA devices to the
FieldPoint I/O modules by short stretches of wire. The following figure
shows an FP-3000 connected to a Fieldbus network.
6
1 FP-3000 Network
Module
Note
FOUNDATION
1
7
2 Terminal Base
3 I/O Module
4
5
4 Fieldbus Trunk
5 Relcom power hub
6 To Fieldbus
7 Power supply
2
3
You can also create your own terminators and connectors as described in the
Fieldbus Overview document.
The FP-3000 isNational Instruments’ primary field device for F
OUNDATION
Fieldbus. It has an onboard processor that allows it to execute function
blocks. The FP-3000 implements F
OUNDATION
Fieldbus-compliant
Resource, AI, AO, DI, DO, and PID blocks. It also supports additional
National Instruments defined blocks, LOG, STAT, and EXPR.
Features of the FP-3000 Network Module
Function Blocks
Conventional devices connected to I/O modules are made visible as
Fieldbus function blocks. Function blocks are software modules which
describe the fundamental elements of an I/O or control system. The
FP-3000, like any F
OUNDATION
function blocks. The function blocks in different devices can be connected
FieldPoint FP-3000 User Manual1-2www.ni.com
Fieldbus–compliant device, has one ormore
Chapter 1FP-3000 Network Module Overview
to form a distributed control system. Function blocks can perform PID
calculations, logic operations, read an input channel, write an output
channel, or a number of other functions.
The FP-3000 implements F
blocks, such as Analog Input (AI), Analog Output (AO), Discrete Input
(DI), and Discrete Output (DO). These blocks provide functionality such as
scaling, trending, and alarming. For example, when you connect a
4–20 mA pressure transmitter to a FieldPoint I/O, you can configure an
FP-3000 Analog Input function block to convert from 4–20 mA to
engineering units. You can set up alarm limits so that the FP-3000 sends an
alarm when the pressure exceeds the limits. The FP-3000 network module
can also collect trend samples and broadcast them to applications on a PC.
For more information on function blocks, refer to Chapter 4, Block
Reference.
PID Control
The FP-3000 implements a F
function block. This PID can be used to control either an analog output
element connected to FieldPoint I/O or a native Fieldbus device, such as a
valve, connected to the Fieldbus network. The FP-3000 executes the PID
and other functionblocks deterministically in accordance with the schedule
configured by the NI-FBUS Configurator and/or the user. For more
information on PID control, refer to Chapter 4, Block Reference.
Block Instantiation and Deletion
You can instantiate (create copies of) or delete the PID function block on
an as-needed basis. For example, if you are adding a new loop to an existing
Fieldbus network, you can instantiate a PID function block in the FP-3000
to control the loop. You can also instantiate the I/O function blocks on an
as-needed basis. If youhave an 8-channel Analog Input module and you are
using only two channels, you can save memory by instantiating only two
AI function blocks. You can instantiate additional AI function blocks when
you use additional channels. National Instruments recommends
instantiating additional AI function blocks if you will be approaching the
150 block limit. For instruction, refer to the section Create an FP-AI-110
The FP-3000 network module can send or receive data from any
F
OUNDATION
get its input from any F
control any F
The control and I/O functionality of the FP-3000 can be configured by any
Fieldbus configurator that implements F
and deletion and device description parsing. National Instruments
NI-FBUS Configurator is such a configurator. This is possible because all
of the features added by National Instruments are described using Device
Descriptions. Any Fieldbus-compliant HMI package or OPC server that
supports instantiation and deletion of function blocks and that can parse
device description files can also access the FP-3000 function blocks.
Scheduling Functionality
Fieldbus networks require a Link Active Scheduler (LAS) to control
communications on the Fieldbus. The FP-3000 can act as a primary or
back-up Link Active Scheduler. If the primary LAS (often an interface
board in a PC) fails or is disconnected from the network, the FP-3000 takes
over the bus and executes the schedule without causing a bump.
Fieldbus-compliant device. The PIDblock in the FP-3000can
OUNDATION
OUNDATION
Fieldbus-compliant output device.
Fieldbus-compliant device; it can also
OUNDATION
Fieldbus instantiation
HotPnP (Hot Plug and Play)
FP-3000 network modules can be added or removed from H1 Fieldbus
networks without affecting other Fieldbus devices. The HotPnP feature
simplifies system installation, configuration, and maintenance. With the
HotPnP feature, you can remove or insert I/O modules into the FieldPoint
terminal bases while power is on, even if the system is already engaged in
network activity. You do not need to power down the FP-3000, Fieldbus
network, or even a bank to insert, remove, or replace I/O modules. In
addition, you do not need to change the operation of the host computer or
software to use the HotPnP feature. You do not need to restart the host
computer software to use the HotPnP feature. You can replace an
I/O module only with another I/O module of the same type.
While one or more new or replacement I/O modules in a bank are being
serviced by the HotPnP feature, the other I/O modules in the bank remain
fully operational and accessible on the network without any interruptions.
As soon as the FP-3000 configures the new I/O module through the HotPnP
service, that I/O module becomes automatically accessible on the network.
FieldPoint FP-3000 User Manual1-4www.ni.com
Chapter 1FP-3000 Network Module Overview
Caution
you do not add or remove terminal bases while power is applied to the bank. An
I/O module can be hot-inserted only if an empty terminal base is already available in the
bank.
To avoid damaging the network module and the terminal bases, make sure that
Using Third-Party Configuration Software with the
FP-3000
If you choose to use third-party configuration software with the FP-3000,
check that it supports the advanced features required by the FP-3000.
Potential Problems with Third-Party Configuration Software
Because FieldPoint I/O modules are interchangable, it does not make sense
to predefine the available function blocks. An FP-3000 initially has only a
resource block. All other function blocks must be instantiated by the
configuration software. Instantiation and deletion of function blocks is an
advanced part of the F
configuration software packages offer it. If you want to use an FP-3000
with a third-party configuration software package, verify that the package
supports the instantiation and deletion of function blocks.
OUNDATION
Parsing of Device Descriptions by Third-Party Configuration Software
Many of the features of the FP-3000 require that the configuration software
be able to parse device description files. Verify that the third-party
configuration software can read the standard
description files.
The device description files contain information about the types of blocks
and parameters supported by the FP-3000, along with online help
describing the uses of given parameters. Before you can use the FP-3000
with NI-FBUS (or other host software), you must import the device
description file on the host computer(s). To install the FP-3000 device
description, complete the following steps:
Note
This process is for use with National Instruments NI-FBUS. The process can vary
with other host software packages.
1.Install and configure your NI-FBUS Fieldbus interface and software,
if you have not done so already. For help, refer to the getting started
manual that came with your interface.
2.Insert the device description disk or CD (shipped with the FP-3000)
into the disk drive of the host computer.
3.Select Start»Programs»National Instruments FBUS»InterfaceConfig to run the Interface Configuration utility.
4. ClickontheDD Info button. The DD Info dialog box appears.
5.If the base directory field is blank, enter a base directory. The base
directory you enter here will be where NI-FBUS looks for all device
descriptions. Do not change the base directory after you have started
importing device descriptions; otherwise, NI-FBUS will not be able to
find the device descriptions you previously imported. Your device
description files will automatically be placed in the appropriate
manufacturer ID subdirectory under this base directory.
Your base directory will include one folder for each different
manufacturer for which you have imported device description.
For example, if you import the device description for the National
Instruments FP-3000 device, you will find a folder called
This is the National Instruments F
manufacturer ID number.
The next layer of folders is the device type. For example, the FP-3000
has a device type ID number of 4005.
Underneath this layer of directories you will find the individual device
description files (
6.If necessary, click on the Browse button to select the standard text
dictionary, provided with NI-FBUS. The text dictionary has a
extension.
7.Click on the Import DD button. The Import DD dialog box appears.
8.Click on the Browse button, browse to the
path, and click on Open. The device description for your FP-3000 is
supplied on the disk. For each device, there are two device description
files, one that ends in
file, and the corresponding
Thefilenamewillbeintheform
(for example,
Note
If you are importing device descriptions for multiple devices, you might see that they
can have the same filenames. Each file contains information about the device and its
manufacturer, and will be placed appropriately in the hierarchy under the base directory.
.ffo
.ffo
0101.ffo
and
.sym
)
and one that ends in
file will be imported automatically.
.sym
Digit Digit Digit Digit.ffo
).
device description file
.ffo
. Select the
.sym
.dct
.ffo
9.Click on OK. A window will appear that gives the full path to which
the
.ffo
and
10. Click on OK.
You only need to install the device description file one time for a given
version of the firmware. You do not have to repeat the device description
installation for each FP-3000 connected to your computer. The computer
uses this device description for all FP-3000 network modules on the bus.
For more information on device descriptions, refer to the section DeviceDescriptions in the F
Updating the Device Description
Any enhancement to the FP-3000 functionality, such as the addition of new
function blocks or support of new types of I/O modules, results in a new
Device Description file describing the features of the FP-3000. You must
update the FP-3000 firmware and install the new Device Description files
to take advantage of the new features. Refer to the section Updating the
FP-3000 Firmware for instructions on downloading new firmware and
installing the new Device Description file.
files were copied.
.sym
OUNDATION
Fieldbus Overview document.
FieldPoint FP-3000 User Manual2-2www.ni.com
Chapter 2Installation and Configuration
Mount the FP-3000 and Terminal Bases
You can mount your FieldPoint system either to a standard 35 mm DIN rail
or directly on a panel. Panel mounting is generally the more secure option,
but DIN rail mounting might be more convenient for your application. The
following sections give instructions for both mounting methods.
MountingtheFP-3000onaDINRail
The FP-3000 has a simple rail clip for reliable mounting onto a standard
35 mm DIN rail. Follow these steps to mount the FP-3000 on a DIN rail.
1.Use a flat-bladed screwdriver to open the DIN rail clip to the unlocked
position, as shown in Figure 2-1.
Rail Clip LockedRail Clip Unlocked
Figure 2-1.
2.Hook the lip on the rear of the FP-3000 onto the top of a 35 mm DIN
rail and press the FP-3000 down onto the DIN rail, as shown in
Figure 2-2.
3.Slide the FP-3000 to the desired position along the DIN rail. After the
FP-3000 is in position, lock it to the DIN rail by pushing the rail clip
to the locked position, as shown in Figure 2-1.
After the FP-3000 is mounted to the DIN rail, connect the terminal base to
the FP-3000 as explained in the next section, Connecting Terminal Baseswith DIN Rail Mounting.
Connecting Terminal Bases with DIN Rail Mounting
Follow these steps to connect a terminal base to an FP-3000 network
module using DIN rail mounting.
Caution
not applied to the FP-3000 while you install or remove terminal bases.
To avoid damaging the FP-3000 and the terminal bases, make sure that power is
35 mm DIN Rail
1.Mount the terminal base onto the DIN rail in the same way you
installed the FP-3000.
2.Attach the terminal base to the FP-3000 by firmly mating the local bus
connectors.
FieldPoint FP-3000 User Manual2-4www.ni.com
Chapter 2Installation and Configuration
3.To add more terminal bases, install them on the rail and connect their
local bus connectors together. A single FP-3000 can support up to nine
terminal bases.
4.Place the protective cover (from the bag of accessories that came with
your FP-3000) onto the local bus connector of the last terminal base on
the bank, as shown in Figure 2-3.
Local Bus Connectors
Firmly Mated
Protective
Cover
Removing the FP-3000 from the DIN Rail
To remove an FP-3000 network module, unlock it from the DIN rail by
placing a screwdriver in the slot on the rail clip and opening it to the
unlocked position, as shown in Figure 2-1. Then, disconnect the FP-3000
from the local bus connector of the terminal base, and lift the FP-3000 off
the rail. You should also remove the module from the terminal base to the
right since it has a clip that snaps into the base to its left.
Caution
To avoid damaging the FP-3000 and the terminal bases, make sure that power is
not applied to the FP-3000 while you install or remove terminal bases.
Mounting the FP-3000 to a Panel
Follow these steps to install the optional FieldPoint network panel mount
accessory and mount the FP-3000 network module to a panel. You can
order the panel mount accessory, part number 777609-01, from National
Instruments.
1.Use a flat-bladed screwdriver to open the rail clip to the unlocked
position, as shown in Figure 2-1.
2.Snap the panel mount accessory onto the module, as shown in
Figure 2-4.
Press
Figure 2-4. Installing the Network Panel Mount Accessory
3.Lock the panel mount accessory into place by pushing the rail clip to
thelockedposition,asshowninFigure2-1.
4.Mount the FP-3000 to your panel with the panel mount accessory. The
installation guide that came with the panel mount accessory includes a
guide that you can use to drill pilot holes for mounting the FP-3000.
Connecting Terminal Bases with Panel Mounting
You can install terminal bases directly, without using the panel mount
accessory needed to mount the FP-3000 network module. Follow these
steps to connect terminal bases to a network module using panel mounting.
Caution
not applied to the FP-3000 while you install or remove terminal bases.
FieldPoint FP-3000 User Manual2-6www.ni.com
To avoid damaging the FP-3000 and the terminal bases, make sure that power is
1.Drill pilot holes in the panel to mount the terminal bases. A drilling
guide is provided with the network module panel mount accessory.
2.Attach the terminal base to the FP-3000 by firmly mating the local bus
connectors.
Chapter 2Installation and Configuration
3.Bolt, screw, or otherwise fasten the terminal base to the panel. Make
sure that the local bus connectors remain firmly mated after the
terminal base is mounted.
4.To add more terminal bases, repeat Steps 1 through 3, mating the local
bus connectors of each new terminal base to the connector of the last
installed base. If all the pilot holes were correctly drilled, the local bus
connectors should remain firmly mated after all the bases are mounted
to the panel.
5.Place the protective cover (from the bag of accessories that came with
your FP-3000) onto the local bus connector of the last terminal base on
the bank.
Removing the FP-3000 and Terminal Bases from
the Panel
To remove an FP-3000 network module and terminal bases from the panel,
reverse the process described in the previous sections, Mounting the
FP-3000toaPaneland Connecting Terminal Bases with Panel Mounting.
First remove the terminal bases, starting with the last one, then remove the
network module.
Caution
not applied to the FP-3000 while you install or remove terminal bases.
To avoid damaging the FP-3000 and the terminal bases, make sure that power is
Mount I/O Modules onto Terminal Bases
Follow these steps to connect an I/O module to a terminal base:
1.Optional: Before mounting the module, you can set the key to prevent
operators from inadvertently replacing a module with another module
of a different type. It its default position, the key allows any type of
module to be placed on that terminal base. Adjust the key to the
appropriate slot for the type of module, if desired. For more
information, refer to the operating instructions that came with your
module.
2.Position the first module with its alignment slots aligned with the guide
rails on the terminal base, as shown in Figure 2-5.
3.Firmly press the module onto the terminal base. The terminal base
latch locks the I/O module into place.
4.Repeat this procedure to install additional I/O modules onto terminal
bases.
To remove an I/O module, push down on the ejector button at the top of the
terminal base. If the button sticks, you can insert a 1/4" flat-bladed
screwdriver behind the ejector button and twist. This motion unlatches the
I/O module, which can then be lifted off of the terminal base.
2
3Key
4Latch
Figure 2-5. Mounting I/O Module to Terminal Base
3
61
4
5Guide Rail
6Alignment Slot
5
Inserting New I/O Modules During Operation
When a new I/O module is inserted, the FP-3000 automatically configures
the I/O module to factory default settings. This configuration is
accomplished without any intervention from the host computer or software.
Replacing I/O Modules During Operation
The host computer can detect missing I/O modules through the block alarm
on the associated function blocks.
When a new I/O module is connected in place of one that was removed, the
FP-3000 first verifies that the replacement I/O module is compatible with
the one that was removed. If the I/O module is either the same as or
compatible with the one removed, the FP-3000 configures the replacement
I/O module with its predecessor’s configuration and output value settings.
FieldPoint FP-3000 User Manual2-8www.ni.com
Chapter 2Installation and Configuration
Hot-swap a module only with a compatible module. If you hot-swap a
module with an incompatible module, the associated function blocks must
be entirely reconfigured.
Connect the FP-3000 to the Fieldbus Network
The FP-3000 can be one of up to 32 devices connected to a Fieldbus
network. The connection is made through the 9-pin male Dsub Fieldbus
connector on the FP-3000, shown in Figure 2-6.
Local Bus Connector
Status
LEDs
Figure 2-6. Fieldbus Connectors on the FP-3000
Dsub
Fieldbus
Connector
Powe r
Connector
Use a Fieldbus cable with a 9-pin female Dsub connector to connect the
FP-3000 to a properly terminated Fieldbus network. When you are only
using an FP-3000, the power hub is not being used for power—it is only
being used because it has the terminators inside. For other F
OUNDATION
Fieldbus devices that use bus powering, you would apply power to the hub,
from which devices would get their power. Refer to the Fieldbus
Foundation Wiring and Installation 31.25 kbit/s, Voltage Mode, WireMedium Application Guide for specific information about wiring and
installing aFieldbus network. If you want to make yourown Fieldbus cable,
refer to the Fieldbus Standard for Use in Industrial Control Systems,Part 2, ISA-S50.02.1992. The FP-3000 Fieldbus connector pinout is shown
in Figure 2-7.
Insufficient powering is one of the main causes for problems observed with
the FP-3000. Calculate how much power your bank will require and
provide power accordingly.
NC
NC
NC
NC
NC
12345
6
789
NC
Data +
NC = No Connection
NC
Data –
Bank Power Requirements
As with any FieldPoint bank, the power requirements depend on the
network module, the I/O modules, and any devices being powered by the
analog or digital outputs.
The power supply connected to the network module provides power to
operate the entire bank of I/O modules via the backplane in the terminal
bases. It does NOT provide power for the output signals (such as an analog
outputs) unless you add external circuitry to make this the case.
I/O Power Requirements
For an output module, the Vsupply and Common terminals of the terminal
base must be wired and powered. Unless you add external circuitry, these
terminals are not electrically connected to the Vsupply and Common of the
backplane. They are used for power and referencing of the I/O signals only
(not the I/O module itself). For example, they are used with analog output,
digital output, pulse width modulator, or counter modules to provide power
for the outputs.
FieldPoint FP-3000 User Manual2-10www.ni.com
The Vsupply and Common of input modules do not need to be wired. If the
inputs you are measuring should have a common ground, you could wire
the Common terminal of the module to the Common of the incoming
signals.
Supplying Power for Outputs
There are three ways to wire power for the outputs:
•Power the FP-3000 and each output module’s output circuitry with a
separate power supply. Do not cascade any of the Vsupply and
Common terminals. This option provides the most isolation.
•Power all the output circuitry by connecting a second power supply,
leaving the network module on its own power supply, and cascading
power from one set of connections to the next. This establishes two
independent grounds—one for the FP-3000. The backplane through
the terminal bases and the I/O modules themselves allows for some
isolation without using a dedicated supply for each output module.
•Power the outputs with the same supply as the FP-3000 and FieldPoint
modules by cascading the Vsupply and Common from the network
module to the first terminal base and then cascading power from one
set of connectors to the next. This allows outputs to be powered by the
same supply (assuming the supply can provide enough power to meet
the demands of the modules AND any output currents). The major
drawback of this scheme is that a single ground will be established for
both the backplane and the input/output circuitry.
Chapter 2Installation and Configuration
Caution
This method defeats the isolation of the modules.
Isolation
The Isolation rating is the maximum voltage differential that can occur
between the common terminal on the terminal base (the input circuit’s
ground level) and the ground in the backplane of the module (the network
module’s ground level) without causing damage to the circuitry.
Safety Isolation (or working voltage) is the maximum voltage differential
(per safety isolation specifications) that can be sustained between the
common terminal on the terminal base (the input circuit’s ground level) and
the ground in the backplane of the module (the network module’s ground
level) while still allowing accurate measurements and safe working
conditions for human operators.
The power requirements for a FieldPoint bank that uses an FP-3000
network module are calculated as follows:
Power = 6 watts + 1.15 * ∑(I/O Module Consumption)
This is the amount of power the network module consumes from the power
supply to power itself and the I/O modules. It does not include any power
consumed by devices that you wire to the terminal bases.
The power requirement for the FP-3000 network module alone (no
connected I/O modules) is 6 Watts. The power requirement of each I/O
module is listed in the catalog and in the Operating Instructions pamphlet
for that module. Add the I/O modules’ requirements and multiply by 1.15
(to account for the power requirements of the terminal bases). If you are
using a separate power supply for outputs, the third term in the calculation
for the primary power supply’s requirements will be zero.
Power Connections
Note
You need to connect the FP-3000 to the network before applying power.
An 11–30 VDC power supply is required by each FP-3000 on your
network. The FP-3000 filters and regulates this supplied power and
provides power for all the I/O modules in the bank. Therefore, you do not
need to provide power separately to each FieldPoint I/O module in
the bank. As discussed in the section Supplying Power for Outputs, you
will need to select a method for powering any output circuitry on output
modules.
The power connector is a 6-pin screw terminal power connector whose
pinout is shown in Figure 2-8. See Figure 2-6 for the location of the power
connector.
FieldPoint FP-3000 User Manual2-12www.ni.com
11-30 VDC
Backup Power
Supply
(optional)
11-30 VDC
Primary Power
Supply
Chapter 2Installation and Configuration
v
v
v
+
–
+
–
c
c
c
V
To adjacent terminal base
(if option 3 for powering
output is chosen)
C
Note
The FP-3000 will automatically use the power supply with the highest voltage. Do
not use a battery backup with a higher voltage than the primary supply. In this case, the
device will run off of the battery until the battery’s voltage level drops below that of the
primary power supply.
LED Indicators
Figure 2-8.
FP-3000 Power Connector Pinout
Connect the primary power supply to the center V and C pair with the
positive and negative wires on your power cable in the V and C terminals,
respectively. You can connect an optional backup power supply to the left
VandCpair.
The right V and C pair provides a convenient means of connecting power
to the V and C terminals of a terminal base. Figure 2-8 shows this optional
connection.
If your field I/O devices need to be powered separately, you can use the
terminals provided on each terminal base for such power supply
connections. Refer to the documentation that came with your terminal base
and I/O module for more information on powering your field I/O devices.
Power-On Self Test (POST)
The power-on self test (POST) is a test suite that the FP-3000 performs at
power up to verify its own operational status. The test takes several
seconds. The testis non-invasive and therefore does not affect the operation
of the network, nor does it affect any of your field wiring connected to the
terminal bases in the bank.
If the self-test suite fails, the FP-3000 does not participate in the network
communication traffic, eliminating potential conflicts with the other banks
in your network.
The FP-3000 has four LED indicators: POWER, NETWORK,
PROCESS,andSTATUS. Figure 2-9 shows the LEDs on the FP-3000.
STATUSNETWORK
PROCESS
POWER
STATUSNETWORK
FF-H1 PORT
Figure 2-9. LEDs on the FP-3000
PROCESS
POWER
FF-H1PORT
The FP-3000 indicates power-on self test failure through the POWER and
STATUS LEDs.
When power is applied, the POWER LED blinks green for approximately
seven seconds during the power on self test. If the self test passes, the
POWER LEDturnssolidgreenandtheREADY LEDs on each
I/O module are lit green. If the self test fails, the POWER LED is lit red
and the module enters an inactive state.
The red STATUS LED is lit when non-volatile memory into memory
buffer fails due to a checksum error. If STATUS is not lit, the FP-3000 has
not detected a failure. The FP-3000 indicates specific error conditions by
flashing STATUS a specific number of times. Table 2-1 describes the
STATUS LED flashing sequences and the corresponding error conditions.
FieldPoint FP-3000 User Manual2-14www.ni.com
Chapter 2Installation and Configuration
Table 2-1.
STATUS LED Flashes and Corresponding Error Conditions
Number of
Flashes
Error Condition
0 (stays lit)Configuration has changed and has not been stored in
static (non-volatile) memory.
1greenParameter storage of nonvolatile and static parameters
has been lost. Re-enter all stored parameters into the
module. You can do this by re-downloading a saved
configuration over the Fieldbus when the Reset switch is
enabled.
2The FP-3000 detected an error in the terminal bases in
the bank or identified a module in an illegal state. Verify
that the protective cover is on the local bus connector of
the last terminal base and that none of the pins of that
connector are touching or bent. Verify that there are no
more than nine terminal bases in the bank and that no
terminal bases were added to the bank while power was
applied.
The multicolored PROCESS LED is used to indicate the current state of
the processes being controlled by the FP-3000. When a PID function block
on the FP-3000 module is in initialization, the light flashes green. When all
the executing PID blocks on the FP-3000 are in
TARGET
mode, the light
remains lit solid green. Any active alarm of priority greater than eight
results in the light being lit red. For more information on PID blocks, refer
to the section PID (Proportional–Integral–Derivative) in Chapter 4, Block
Reference.
Table 2-2 describes the NETWORK LED states.
Table 2-2. Description of Fieldbus NETWORK LED States
NETWORK LED StateMeaning
OffFieldbus port not receiving data.
Flashing greenFieldbus port is currently theLink Active
Scheduler on the Fieldbus link. The
FP-3000 module is controlling
communications on the Fieldbus.
Table 2-2. Description of Fieldbus NETWORK LED States (Continued)
NETWORK LED StateMeaning
Steady greenFieldbus port functioning as a basic
Flashing red and greenFieldbus port is seeing traffic but is at a
Steady redFieldbus port encountered fatal network
Autoconfigure the FP-3000
The autoconfiguration capabilities of the FP-3000 can save time and will
initialize many parameters to reasonable values.
When you use the FP-3000 with the NI-FBUS Configurator version 2.3.5,
autoconfiguration is done automatically the first time an FP-3000 is
powered up and any time after the manual reset switch on the module has
been used. The NI-FBUS Configurator will detect the connected I/O
modules and instantiate function blocks for each channel.
device. The FP-3000 cannot control
communication on the Fieldbus.
default Fieldbus network address. You
need to assign a permanent network
address through a Fieldbus configurator.
error. Check the Fieldbus network
connections.
The autoconfiguration process may take a few minutes, depending on how
many I/O modules you have connected.
To force an autoconfiguration at any other time, follow these steps:
1.Import the Device Description for the FP-3000 in the NI-FBUS
Interface Configuration utility, if you have not already done so.
2.Connect the FP-3000 to the bus and start the NI-FBUS Configurator.
3.Double-click on the resource block of the FP-3000. This opens the
block configuration window, which floats on top of the NI-FBUS
Configurator interface.
4.Click on the OOS (Out of Service) button if it is not already depressed
to stop any running function blocks.
5.Select the Options tab.
6.Scroll down to the
FieldPoint FP-3000 User Manual2-16www.ni.com
FP_AUTOCONFIGURE
parameter.
Chapter 2Installation and Configuration
7.Click on Run and change it to
8. ClickontheWrite Changes button. At this point, the FP-3000 is
queried and function blocks are instantiated for all of the FieldPoint
modules attached to the network module.
Updating the FP-3000 Firmware
As the FP-3000 evolves, National Instruments will release updates to the
module that contain new features. These new features will include support
for new types of FieldPoint I/O modules as they are released, as well as new
function blocks and other enhancements. To update the firmware on an
FP-3000, the FP-3000 Update utility (provided with the new firmware)
must be on a machine running the NI-FBUS Communications Manager.
You need to use the National Instruments AT-FBUS or PCMCIA-FBUS
card to download the new firmware. You do not need any special cables to
update the firmware. The new firmware features will be described by a new
version of the Device Description.
Caution
settings to be lost, depending on the degree of change in the firmware. You should make
sure that all settings for the FP-3000 have been saved in your PC configurator before you
update the firmware so that you can restore the settings after you update the firmware.
Updating the firmware on the FP-3000 may cause all FP-3000 configuration
Autoconfigure
.
It is possible for two FP-3000 modules with different versions of the
firmware and different device descriptions to co-exist on the same Fieldbus
link or a Fieldbus system. You do not need to update all the FP-3000
modules with the new firmware. Follow these steps to update the firmware:
1.Run FBUpgrade on the host computer. The Fieldbus FirmwareUpdate dialog box appears.
2.Select the FP-3000 module that needs to be updated.
3.For firmware version 2.3.5, select
fp3k_235.bin
, and click on Open.
4.Click on Download Firmware. This process takes about 15 minutes.
5.Restart the FP-3000. You can do this by writing the value
processor
to the
RESTART
parameter of the FP-3000 resource block.
restart
6.Verify that the FP-3000 is running the new firmware by looking at the
VERSION_INFORMATION
parameter on the FP-3000 resources block.
The firmware revision should match the version of the firmware you
installed.
7.At the end of the process, the FP-3000 is updated to include the new
features and the configuration information in the FP-3000 is cleared.
This chapter provides examples that show you how to configure the
FP-3000 to perform common tasks, including reading from a 4–20 mA
current loop device, taking temperature readings from a thermocouple
module, and controlling the output current through an analog output
module. This chapter also provides information about hardware and
software configuration.
These examples assume you have the NI-FBUS Configurator; however,
you can use any Fieldbus configuration utility. Refer to Using Third-Party
Configuration Software with the FP-3000 in Chapter 1, FP-3000 Network
Module Overview, for limitations of using third-party configuration
software. If you are not using the NI-FBUS Configurator, refer to the
documentation that came with your configurator for more details on how to
perform software configuration-related tasks.
Before you run these examples, install the FP-3000 and the I/O modules.
Connect the FP-3000 to the Fieldbus network and power it on. Start the
NI-FBUS Configurator on your PC. Your configurator should show the
FP-3000. For more information on installing the FP-3000, refer to
Chapter 2, Installation and Configuration.
3
Initial Power On: Assigning FP-3000 Network Address
and Device Tag
If you are powering on the FP-3000 for the first time, you need to perform
some extra steps before you try these examples. You must assign each
FP-3000 a unique device tag and Fieldbus network address before it can
become operational. If you are using the NI-FBUS Configurator, the
configurator automatically assigns a network address to the FP-3000 when
it powers up. It also assigns a tag, which you can change if desired. You can
change the tag to anything you want, but it must be unique. The process of
automatic assignment of network addresses and tags can take a few
minutes. After the FP-3000 has a network address and tag, you can perform
any of these examples. If you are not using the NI-FBUS Configurator,
refer to the documentation that came with your configurator for
information about setting the network address and device tag.
If you need more help setting up your network, refer to the NI-FBUS
Configurator User Manual.
Example 1: Converting a 4–20 mA Pressure Sensor to
Fieldbus Using FP-3000
One common application of the FP-3000 is interfacing to a conventional
device, such as a 4-20 mA pressure sensor or a 4-20 mA temperature
transmitter. This example helps you configure the FP-3000 to interface to
a 4-20 mA pressure sensor. In this example, you instantiate an AI function
block, assign a tag to the block, set up scaling parameters and range for the
I/O channel, schedule the function block, and download the configuration
to the FP-3000.
Getting Started
Example 1 requires the following materials:
•4–20 mA sensor, such as a pressure sensor. If you do not have a sensor
you will not be able to make measurements, but can still use this
exercise to practice setting up a Fieldbus configuration.
•FP-3000 network module.
•Terminal base connected to FP-3000
•FP-AI-100, FP-AI-110, or FP-AI-111 module installed in terminal
base (this example assumes you are using the FP-AI-110 module).
•Host configuration system capable of instantiating function blocks on
devices (such as National Instruments NI-FBUS Configurator).
Wire the 4–20 mA current loop into a current source input for the
FP-AI-110 terminals. To determine which terminals to use for channel
zero, refer to the wiring diagram in the Operating Instructions that came
with your FP-AI-110 module. Make sure your current loop is powered and
the sensor is operating normally.
Tip
If you autoconfigured your FP-3000, you can skip to the section Set the Input Range.
FieldPoint FP-3000 User Manual3-2www.ni.com
Chapter 3Example Applications
Create an FP-AI-110 Block
You must create a block for the FP-AI-110 since the pressure sensor is
connected to a channel on the FP-AI-110 input module. To create a block
for the FP-AI-110, follow these steps:
1.Right-click on the FP-3000 in the configuration tree at the left side of
the screen.
2.Select Instantiate New Block. This causes a dialog box to appear that
lists all the blocks supported by the FP-3000 and allows them to be
instantiated.
3.Select AI 110 Block (or the block appropriate for your AI module)
from the list, then click on the OK button. This creates the correct
analog input block on the FP-3000.
Assign a Tag to the New Block
By default, new blocks are created without a tag. To assign a tag, follow
these steps:
1.Right-click on the new block, then select Set Tag.
2.Enter the tag you choose in the dialog box. The tag can be up to
32 characters in length and should not contain the dot (“.”) character.
3.Make sure Set to OOS Mode is checked.
4.Click on Set.
Select the Module and Channel
1.Double-click on theblock. This opens the block configuration window,
which floats on top of the NI-FBUS Configurator interface. Select the
I/O Config tab.
2.Determine the FP-AI-110 module number by counting each module in
the order it is attached to the FP-3000, beginning with one. In this
example, your FP-AI-110 is probably the only module connected to
the FP-3000. Therefore, set the value of
3.Since the transmitter is wired to the terminals associated with channel
zero on the module, set the
Channel 0
.
FIELDPOINT_CHANNEL
parameter to
Set the Input Range
1.Click on the
2.Set the parameter to
FP_AI_110_RANGE
3.5–21 mA
matches the 4–20 mA that you expect from your transmitter.
parameter on the
I/O Config
, since this range most closely
tab.
Scale the Reading
1.Set the
XD_SCALE
the range of values to expect from the transducer. Enter the following:
XD_SCALE
EU_1000.020
EU_00.004
Units_Index A
Decimal3
FieldPoint FP-3000 User Manual3-4www.ni.com
parameter on the Scaling tab, which tells the block
Chapter 3Example Applications
This tells the AI block to expect readings in the range of 0.004 to 0.020
Amps (4 to 20 mA) from the pressure sensor. The
Decimal
field is
unused by the FP-3000, but may be used in some HMIs to determine
the number of digits to display to the right of the decimal point when
displaying this value.
2.Determine the pressure in your desired engineering units at 4 mA and
at 20 mA. For example, suppose the sensor reads 10 inH
water) at 4 mA and 250 inH
O at 20 mA. Go to the
2
0 (inches of
2
OUT_SCALE
parameter on the Scaling tab and enter the following:
OUT_SCALE
EU_100250
EU_010
Units_Index inH2O
Decimal3
3.Set the type of scaling. The block is flexible enough to either ignore
scaling (
scaling (
Direct
Indirect square root
linear scaling, set the
Indirect
), use linear scaling (
L_TYPE
.
Indirect
), or use square root
). Since you want the block to use
parameter on the Scaling tab to
4.Close the block configuration window.
The block converts the raw 4-20 mA value and reports it in engineering
units through the
PV
and
parameters of the function block.
OUT
Set Up Scheduling
Before the block will operate, you need to schedule the block to execute.
All Fieldbus function blocks (including function blocks on the FP-3000)
execute according to a schedule. You can specify the order of function
blocks in the schedule and the rate at which the schedule is repeated. To
make the NI-FBUS Configurator create a schedule so that your block can
execute, follow these steps:
1.Double-click on Function Block Application in the configuration tree
of the NI-FBUS Configurator. This opens the Function Block
Application Editor window in the middle window of the NI-FBUS
Configurator.
2.Drag the block from the configuration tree to the Function Block
Application Editor window. The NI-FBUS Configurator automatically
generates a schedule for the block that causes it to run every second
(refer to the documentation that came with your configurator for
information about changing the execution period).
3.To download this schedule to the device, select Configure»Download
Configuration. The following dialog box appears. This dialog box
enables the configuration to be downloaded. Select the Clear Devices
and Automatic Mode Handling checkboxes, then click on the
Download button. Go through the download process, as described in
the documentation that came with your configurator.
Bring the Block Online
1.Go to the
MODE_BLK
resource block and set the
in the block configuration window.
2.Go to the
and set the
MODE_BLK
TARGETtoAuto
configuration window.
3.If the Periodic Updates checkbox is checked, the
parameter should change to
re-read the parameter by clicking on the Read Selected or Read All
button with
MODE_BLK
Appendix F, Troubleshooting, for more information.
Once the block goes to
value of
on the Process tab and see the pressure reading from the
OUT
sensor in inches of water. The pressure reading can be displayed on an
HMI, trended, or used for control (refer to the next example for more
information about using the reading for control).
Close any open block configuration windows before you proceed to the
next example.
FieldPoint FP-3000 User Manual3-6www.ni.com
parameter on the Process tab of the FP-3000
TARGETtoAuto
,orclickontheAuto button
parameter on the Process of the block you created
, or click on the Auto button in the block
MODE_BLK.ACTUAL
after a few seconds. Otherwise,
Auto
selected. If it does not go to
, it is fully operational. You can look at the
Auto
Auto
, refer to
Chapter 3Example Applications
Example 2: Temperature Control with the FP-3000
One common application of the FP-3000 is controlling temperature.
A temperature control application might include a heating element and a
temperature sensor and require temperature to be maintained at a constant
level, plus or minus some tolerance. Such an application would be well
suited for PID control. In this example, the thermocouple measures the
temperature in an enclosure, a PID block performs control, and the current
output from an FP-AO-200 heats the heating element.
If you want to know how to get a thermocouple reading but are not
interested in closed-loop PID control, perform only the steps in the section
Taking Temperature Readings. After you complete those steps, the
FP-3000 takes temperature readings. If you want to know how to output
current to a simple device (like a resistive heating element) but are not
interested in closed-loop PID control, proceed to the section Controlling a
Heating Element, and perform the steps there. After you complete those
steps, the FP-3000 controls output current.
Getting Started
Example 2 requires the following materials:
•Thermocouple or RTD input module (FP-TC-120 or FP-RTD-122)
installed in a terminal base
•FP-3000 network module
•Analog output (AO) module installed in terminal base, such as the
FP-AO-200 or FP-PWM-520 (this example uses the FP-AO-200)
Wire the thermocouple to channel zero of the FP-TC-120 module, paying
attention to the polarity of the thermocouple wires. Next, wire the heating
element (a small light bulb or even a resistor will work) to channel zero of
the FP-AO-200 module. To determine which terminals to use for channel
zero, refer to the wiring diagram in the Operating Instructions that came
with your modules.
You also need to connect a power supply to the V and C terminals of the
FP-AO-200 module to source power on the output channel. Refer to the
FP-AO-200 operating instructions and Supplying Power for Outputs in
Chapter 2, Installation and Configuration, for more information.
If you autoconfigured your FP-3000, you can skip to the section Set the Input Range
and Thermocouple Type.
Create an FP-TC-120 Block
Once the hardware for control loop has been installed, you need to
instantiate, or create, an I/O block for the thermocouple input channel. To
instantiate an I/O block in the NI-FBUS Configurator, follow these steps:
1.Right-click on the FP-3000 in the configuration tree.
2.Select Instantiate New Block.
3.Select TC 120 Block from the list, then click on the OK button.
Assign a Tag to the New Block
By default, new blocks are created without a tag. To assign a tag, follow
these steps:
1.Right-click on the new block, then select Set Tag.
2.Enter the tag you choose in the dialog box. The tag can be up to
32 characters in length and should not contain the dot (“.”) character.
3.Make sure Set to OOS Mode is checked.
4.Click on Set.
Select the Module and Channel
1.Double-click on the new block. In the block configuration window that
appears, select the I/O Config tab.
2.Determine the FP-TC-120 module number by counting each module in
the order it is attached to the FP-3000, beginning with one. In this
example, your FP-TC-120 is probably the only module connected to
the FP-3000. Therefore, set the value of
Module 1
3.Since the transmitter is wired to the terminals associated with channel
zero on the module, set the
Channel 0
FieldPoint FP-3000 User Manual3-8www.ni.com
.
FIELDPOINT_CHANNEL
.
FIELDPOINT_MODULE
parameter to
to
Chapter 3Example Applications
Set the Input Range and Thermocouple Type
1. Clickonthe
FP_TC_120_RANGE
parameter on the I/O Config tab in
the block configuration window. This parameter tells the AI block the
range of values it should expect from the FP-TC-120 module.
2.Set the parameter to
3.Set the
FP_THERMOCOUPLE_TYPE
have connected (such as
0–2048K
(degrees Kelvin).
to the type of thermocouple you
type thermocouple). This allows the
JorK
FP-TC-120 module to perform the necessary calculations on-board to
convert the electrical input from your thermocouple to the 0-2048
degrees Kelvin that it will send to the AI block.
Tip
The Kelvin scale covers more than all possible temperature you could measure.
It corresponds to –273.15 °C to 1775 °C.
Scale the Reading
1.You can avoid setting the
CFG_OPTS
XD_SCALE
FP_TC_120_RANGE
option on the Options tab to
. This allows the FP-3000 to copy the value from
XD_SCALE
straight into the
tell the block the range of values to expect from the transducer. Go to
the
XD_SCALE
XD_SCALE
EU_1002048
EU_00
Units_Index K
Decimal2
parameter on the Scaling tab and enter the following:
This tells the AI block to expect readings in the range of 0 to 2048 K
from the thermocouple module.
2.Determine the output scale. If you want to output the temperature in
degrees Kelvin, you can set
XD_SCALE
setting
above. If you want to change to Celsius, you can do so by
OUT_SCALE
as follows:
OUT_SCALE
value manually if you set the
Automatically Adjust
XD_SCALE
parameter. Otherwise,
tothesamevaluesas
OUT_SCALE
EU_1001775.00
EU_0-273.15
Units_Index °C
Decimal2
These temperatures correspond to the Kelvin range you specified for
the
3.Set the block to use linear scaling by setting the
the Scaling tab to
Indirect
.
L_TYPE
parameter on
At this point, you could schedule the block to execute and bring it online.
However, for this exercise, you will wait until you have finished
configuring each of your blocks to do this. Refer to the section Set Up
Scheduling if you would like to do this now.
Bring the Block Online
1.Go to the
MODE_BLK
resource block and set the
on the block configuration window.
2.Go to the
MODE_BLK
you created and set the
on the block configuration window.
3.If the Periodic Updates checkbox is checked, the
parameter should change to
re-read the parameter by clicking on the Read Selected or Read All
button with
MODE_BLK
Appendix F, Troubleshooting, for more information.
Once the block goes to
value of
on the Process tab and see the temperature reading from the
OUT
thermocouple in degrees Celsius. The temperature reading is ready to be
used for control.
parameter on the Process tab of the FP-3000
TARGETtoAuto
,orclickontheAuto button
parameter on the Process tab of the new block
TARGETtoAuto
Auto
selected. If it does not go to
, it is fully operational. You can look at the
Auto
, or click on the Auto button
MODE_BLK.ACTUAL
after a few seconds. Otherwise,
, refer to
Auto
If you are only interested in taking thermocouple readings and not
interested in closed loop control, you are finished with this example.
Close any open block configuration windows before you proceed to the
next section.
FieldPoint FP-3000 User Manual3-10www.ni.com
Controlling a Heating Element
Tip
If you autoconfigured your FP-3000, you can skip to the section Set the Output Range.
Create an FP-AO-200 Block
Create an I/O block for the FP-AO-200 channel to control the heating
element. To create an I/O block in the NI-FBUS Configurator, follow these
steps:
1.Right-click on the FP-3000 in the configuration tree.
2.Select Instantiate New Block.
3.Select AO 200 Block from the list, then click on the OK button.
Assign a Tag to the New Block
By default, new blocks are created without a tag. To assign a tag, follow
these steps:
1.Right-click on the new block, then select Set Tag.
2.Enter the tag you choose in the dialog box. The tag can be up to
32 characters in length and should not contain the dot (“.”) character.
3.Make sure Set to OOS Mode is checked.
4.Click on Set.
Chapter 3Example Applications
Select the Module and Channel
1.Double-click on the new block. In the block configuration window that
appears, select the I/O Config tab.
2.Determine the FP-AO-200 module number by counting each module
in the order it is attached to the FP-3000, beginning with one. In this
example, your FP-TC-120 is probably the only module connected to
the FP-3000, and the FP-AO-200 is probably the second module.
Therefore, set the value of
3.Since the transmitter is wired to the terminals associated with channel
zero on the module, set the
parameter. Otherwise,
tell the block the range of values to output to the transducer module.
Go to the
XD_SCALE
parameter on the Scaling tab and enter the
following:
XD_SCALE
EU_1000.021
EU_00
Units_Index A
Decimal2
This tells the AO block to output readings in the range of 0 to 0.021 A
(0-21 mA) to the FP-AO-200 module.
2.Determine the Process Variable (PV) scale. This scaling parameter is
used to convert from the units of Set Point (SP) to percent of scale. For
output function blocks like analog output, SP is the value you want the
block to output. For this example, set
PV_SCALE
to0to100percent.
With these settings, a controller or operator changing the setpoint of
this AO block writes the percentage of scale, with 100% being
maximum output current.
PV_SCALE
EU at 100%100
EU at 0%0
Units Index %
Decimal2
In the case of Analog Output blocks, you do not need to explicitly set the
type of scaling. The block will always use both
XD_SCALE
and
PV_SCALE
parameters linearly.
Bring the Block Online
1.Go to the
to
MODE_BLK
, or click on the Auto button on the block configuration
Auto
window.
2.If the Periodic Updates checkbox is checked, the
parameter should change to
re-read the parameter by clicking on the Read Selected or Read All
button with
MODE_BLK
Appendix F, Troubleshooting, for more information.
FieldPoint FP-3000 User Manual3-12www.ni.com
parameter on the Process tab and set the
MODE_BLK.ACTUAL
after a few seconds. Otherwise,
Auto
selected. If it does not go to
Auto
, refer to
TARGET
Chapter 3Example Applications
PID Control
Once the block goes to
Point by writing a value between 0 and 100 (percent) to SP. The current
flow through the heating element will vary accordingly.
If you are only interested in making the FP-3000 output current and not
interested in closed loop control, you are finished with this example.
Close any open block configuration windows before you proceed to the
next section.
, it is fully operational. You can adjust the Set
Auto
Create a PID Block
Now that your input and output blocks are functioning, you can “close the
loop” by creating a control block and putting the loop under automatic
control. To create a PID block, follow these steps:
1.Right-click on the FP-3000 in the configuration tree.
2.Select Instantiate New Block. This causes a dialog box to appear that
lists all of the blocks supported by the FP-3000 and allows them to be
instantiated.
3.Select Pid Block from the list, then click on the OK button.
Assign a Tag to the New Block
By default, new blocks are created without a tag. To assign a tag, follow
these steps:
1.Right-click on ---Notag---(PIDC)in the configuration tree, then
select Set Tag.
2.Enter the tag you choose in the dialog box. The tag can be up to
32 characters in length and should not contain the dot (“.”) character.
Double-click on the PID block you created to launch the block
configuration window. Set the
The
PV_SCALE
should match the output scale (
PV_SCALE
because you will wire the output of the AI block to the
variable) of the PID block. Enter the following:
PV_SCALE
EU_1001775
EU_0-273
Units_Index °C
Decimal2
parameter on the Scaling tab.
OUT_SCALE
)oftheAIblock
(i.e., process
IN
When you set the
PV_SCALE
percent, so adjust the PID block to output that range. To set the
for the AO block, you set it to take 0 to 100
OUT_SCALE
parameter of the PID, enter the following:
OUT_SCALE
EU_100100
EU_00
Units_Index %
Decimal2
Set Up Scheduling
Before the block will operate, you need to schedule the block to execute.
All Fieldbus function blocks (including function blocks on the FP-3000)
execute according to a schedule. You can specify the order of function
blocks in the schedule and the rate at which the schedule is repeated. If the
Function Block Application Editor window is not already open,
double-click on Function Block Application in the configuration tree of
the NI-FBUS Configurator.
Connect the PID to the AI and AO Blocks
Drag your AI, AO, and PID blocks from the configuration tree to the
Function Block Application Editor window, if you have not done so
already. The NI-FBUS Configurator automatically generates a schedulefor
the blocks that causes them to run every second (refer to the documentation
that came with your NI-FBUS Configurator for information about
changing the execution period).
FieldPoint FP-3000 User Manual3-14www.ni.com
Chapter 3Example Applications
At this point, you could either use a template or wire your blocks manually.
To use a template:
1.On an empty Function Block Application Editor window, right-click
on the background of the Function Block Application Editor and select
FBAP Templates»PID Feedback Control. When templates are
initially placed, the template blocks are grayed out because you have
not assigned a function block to the template block.
2.Assign a function blocks to the template block. Double-click on the
template block to view all the blocks that match this block type in your
project.
3.Select the desired block from the list that appears.
4.When prompted to use saved values, click on No.
5.Replace all the template blocks with function blocks from your project.
To wire manually:
1.Using the wiring tool, connect the
parameter from the AI to the
OUT
IN
parameter of the PID.
2.Connect the
parameter of the PID to the
OUT
CAS_IN
parameter of
the AO.
3.Connect the
BKCAL_OUT
parameter of the AO to the
BKCAL_IN
parameter of the PID. The following figure shows what your
connections should look like.
1.To download this schedule to the device, select Configure»Download
Configuration, or click on the Download button. This establishes all
the linkages that you “wired” in the previous step. It also schedules the
PID function block, which has not yet been scheduled to execute.
A dialog box appears that enables the configuration to be downloaded.
Select the Clear Devices and Automatic Mode Handling
checkboxes, then click on the Download button. Go through the
download process, as described in the documentation that came with
your configurator. When the download is finished, click on Close.
2.Double-click on the PID block to open the block configuration
window.
3.Go to the
MODE_BLK
you created and set the
in the block configuration window.
4.Read the
MODE_BLK
for Initialization Manual. This means the PID is not able to enter
because the AO block is not in Cascade mode.
5.Go to the
MODE_BLK
created and set the
boxes). This tells the AO to operate in Cascade if possible, and
Auto
otherwise, to fall back to
6.If the Periodic Updates checkbox is checked, the
parameter should change after a few seconds. Otherwise, re-read the
parameter by clicking on the Read Selected or Read All button with
MODE_BLK
selected. The
refertoAppendixF,Troubleshooting, for more information.
parameter on the Process tab of the PID block
TARGETtoAuto
parameter. The
, or click on the Auto button
ACTUAL
mode should read
IMan
Auto
parameter on the Process tab of the AO block you
TARGETtoCas
.
Auto
ACTUAL
and
field should be
(check both the
Auto
Cas
MODE_BLK.ACTUAL
. If it does not,
Cas
and
,
Now, your loop should be running under automatic control. Verify this by
reading the
ACTUAL
mode of the PID block. If it is
, the PID is trying
Auto
to control the temperature. You can change the desired temperature by
changing the Set Point (SP) parameter of the PID. Remember that the units
of SP are the same as
PV_SCALE
for the PID, which in our example is
degrees Celsius.
Tune the PID
Adjust the PID tuning constants to match the dynamics of your temperature
process. A general description of tuning PID loops is beyond the scope of
this document. The parameters to change in the PID block are
RESET
,and
. You can adjust these constants, change the PID Set
RATE
Point, and watch how the temperature changes over time.
FieldPoint FP-3000 User Manual3-16www.ni.com
GAIN
,
Chapter 3Example Applications
Set Alarms
Typical values for
GAIN,RESET
,and
GAINRESETRATE
RATE
are:
Pressure control1.23.330.8
Temperature control3.025.010.0
Flow control0.331.110.0
Level control1.916.672.7
In the above example, it might be convenient to have the FP-3000 generate
an alarm whenever the temperature goes above 40° C. This behavior can be
configured from the PID block or the AI block. This example uses the PID
block.
To set a high limit alarm, follow these steps:
1.Open the PID block and locate the
HI_PRI
parameter on the Alarms
tab. This is the priority of the high limit alarm.
2.Set the
HI_PRI
parameter to2. Fieldbus alarms can range in priority
from 0-15, with 0 being disabled and 1 meaning that the alarm is
detected but not reported. All other priorities cause the alarm to be
reported.
3.Set the
HI_LIM
high limit alarm. The units are defined to be the same as
parameter to40. This is the high limit that triggers the
PV_SCALE
which is degrees Celsius.
4.Set up an interface board to receive the alarm. From the NI-FBUS
Configurator, drag the icon that represents your interface card (it might
be named something like “interface0-0”) onto the Function Block
Application Editor window. Connect the Alarms output of the PID to
the Alarms input of the interface card.
5.You must download the configuration because you have changed the
function block application. The PID now detects a high limit alarm
whenever the temperature exceeds 40° C, and the alarm is transmitted
to the interface on your PC. You need a separate program (such as the
Lookout HMI package from National Instruments) to receive, display,
and acknowledge the alarms. You can verify that the alarms are being
detected by the PID block by reading the
HI_ALM
parameter. The
Alarm State changes, and the Alarm Timestamp is set when the alarm
goes active.
,
This concludes the examples. If you want, you can save your example files
by selecting File»Save. Close any open files by selecting File»Close.
This chapter describes the function blocks and the parameters supported by
the FP-3000. For more information on blocks, refer to the FOUNDATIONFieldbus Overview document.
Block Overview
A block is a predefined software module that runs on an FP-3000 and acts
as a fundamental component of a control system. Each block has
parameters that can be adjusted to configure that part of the system. These
are referred to as contained parameters. In addition to contained
parameters, some blocks have I/O parameters. Input parameters receive
data from another block. Output parameters send data to another block.
I/O parameters of different blocks can be connected together to establish
communications between blocks. There are three types of blocks: function
blocks, transducer blocks, and the resource block.
Function Blocks
Function blocks implement the basic control algorithms that make up a
control strategy. The F
fundamental (or elementary) function blocks and a set of nineteen
advanced function blocks. The function blocks encapsulate a significant
part of the control system behavior, thereby relieving a host (computer) of
such tasks. The F
of each function block, how to make each parameter accessible to host
system, parameters for configuring function blocks, and I/O parameters
that can communicate with other function blocks in the system. For
example, an Analog Input (AI) function block has parameters to scale a
transducer value to engineering units. It also has alarm limits that can be
configured by a configurator or by an operator using a host application. The
AI block detects and reports process alarms such as
. The Fieldbus specification does not specify the algorithm for
LO_LO
function blocks. For example, the specification does not define the actual
equations to use in a PID function block. However, it does define all the
parameters needed for configuration and operation of the PID, such as
communication between function blocks ondifferent devices are scheduled
deterministically.
A PID control loop consists of one of each of the following function blocks:
an Analog Input (AI) block to read the process variable in a device (such as
a transmitter), a Proportional–Integral–Derivative (PID) block to compare
the process value to the setpoint and make control decisions, and an Analog
Output (AO) block to move an actuator in a device (such as a valve). The
PID can be located (and execute) in the transmitter, valve, or any other
device (such as a controller). The execution of the AI, PID, and AO blocks
is precisely scheduled on a schedule. The communication of the process
value from the AI to the PID and the communications between the PID and
AO blocks are also scheduled and synchronized with the block executions.
The FP-3000 function blocks conform to the standard function blocks
defined by the F
OUNDATION
Fieldbus. In addition, the FP-3000 contains
certain enhancements to the standard function blocks, such as AI, AO, DI,
and DO, to permit easy configuration and diagnostics. The FP-3000 also
uses National Instruments defined function blocks. All the vendor-specific
blocks and enhancements are defined using Device Descriptions to
interoperate with other hosts and devices.
Transducer Blocks
Transducer blocks read from physical sensors into function blocks.
Transducer blocks decouple the function blocks from the hardware details
of a given device, allowing generic indication of function block input and
output.
The transducer block knows the details of I/O devices and how to actually
read the sensor or change the actuator. The transducer block performs the
digitizing, filtering, and scaling conversions needed to provide the sensor
value to the function blocks and/or makes the change in the output as
dictated by the function block. Generally, there will beone transducer block
per device channel. In some devices, multiplexors allow multiple channels
to be associated with one transducer block.
Manufacturers can define their own transducer blocks. For some devices,
including the National Instruments FP-3000, the functionality of the
transducer block is included in the function block. You will see no separate
transducer blocks for such devices.
Note
There are many parameters that can be changed to modify the I/O functionality.
FieldPoint FP-3000 User Manual4-2www.ni.com
Resource Block
The resource block, defined by the F
contains general information about the device. It also contains parameters
to control the device as a whole, such as restarting the device or taking the
device off-line. The resource block in the FP-3000 contains some
enhancements to the standard resource block definition. For example, it
includes a software version parameter that lists the version information for
the FP-3000 firmware and the version of the F
specifications supported.
Types of Function Blocks
The following types of blocks are supported by the FP-3000.
AI (Analog Input)
The AI block reads data from a single analog input channel. This block
performs simple filtering and scaling of the raw data to engineering units
from the input channel and supports limit alarming.
OUNDATION
OUNDATION
Chapter 4Block Reference
Fieldbus specification,
Fieldbus
AO (Analog Output)
The AO block writes data to an analog output channel. This block supports
cascade initialization to allow upstream control blocks to switch smoothly
from manual to automatic mode. It also has a faultstate behavior that allows
the block to react if communications fail between itself and the upstream
block.
PID (Proportional–Integral–Derivative)
The PID block implements a PID control algorithm. When at least one PID
block is present in the device, the Process LED reflects the state of the
PID(s) present. In Fieldbus, a PID block must be connected to an upstream
block (such as an AI block) and a downstream block (such as an AO block)
before it can be used for control. These software connections are
established by using host Fieldbus configuration software, such as the
NI-FBUS Configurator.
DI (Discrete Input)
The DI block reads data from discrete input channels. This block performs
simple filtering and processing of the raw data from the input channel and
supports limit alarming.
The DO block writes to a discrete output channel. This block supports
cascade initialization to allow upstream control blocks to determine the
current state of the process before assuming control. It also has a faultstate
behavior that allows the block to react if communications fail between
itself and the upstream block.
CDO (Complex Discrete Output)
The CDO block serves the same purpose as the DO block and adds a
number of parameters to support interlocking at three levels of priority.
Table 4-1. CDO Block Interlock Priorities
Input
(Descending Priority)
Notes
Safeguard Close
(
SAFEGUARD_CL
)
Safeguard Open
(
SAFEGUARD_OP
)
Binary Open/Close
(
BINARY_OP/BINARY_CL
Operator Command
(
OP_CMD_CXO
)
Safeguard Close takes priority over any other interlock input.
Safeguard Open takes priority over every other interlock input and is
used to force the block to an open state (
BINARY_OP
)
Discrete_State_1.BINARY_CL
has a value of
BINARY_CL
OP_CMD_CXO
only functions when
Discrete_State_1
are set and enabled, neither one takes effect.
is a contained bit string parameter that has a bit for
Discrete_State_1
ENABLE_OP
only functions when
. If both
Open and a bit for Close. Open only functions when
a value of
ENABLE_CL
Discrete_State_1
has a value of
. Close only functions when
Discrete_State_1
Close are set and enabled, neither one takes effect.
LOG (FieldPoint Log Block) (FP-3000 Specific)
The LOG block contains a log of error conditions and events detected by
the device as it operates.
STAT (FieldPoint Statistics Block) (FP-3000 Specific)
The STAT block contains a set of parameters that can be used to examine
how the device is performing. It contains statistics describing the
performance of local function blocks and the network interface.
has a value of
ENABLE_CL
BINARY_OP
ENABLE_OP
. If both Open and
).
and
has
FieldPoint FP-3000 User Manual4-4www.ni.com
Expression Block (FP-3000 Specific)
The Expression block in the FP-3000 is a “programmable” block into
which you can enter your own algorithm for the block in the form of a
C-language style expression.
The FP-3000 Expression block includes the following features:
1.Simple discrete control that was not possible with the standard
F
OUNDATION
Fieldbus specified blocks.
2.Custom analog alarming/interlocks.
3.Input and output signal characterization.
4.Expression processing encapsulated into a convenient module with a
clean interface, so that it can be easily be incorporated wherever
desired.
The architecture of the expression language in the FP-3000 is to take a
textual representation of an expression and produce the appropriate code
for it.
Data Types Supported
The fundamental data types manipulated with expressionsare F
Fieldbus value/status pairings. These carry an analog (IEEE-754 floating
point) or discrete (32-bit signed integer) value, as well as a status that
describes the quality of the data. The discrete data type supported by the
expression language is an extension of the Fieldbus discrete value status in
that it is a full 32-bit integer, as opposed to a number from 0-16. This
improves the flexibility of the data type and does not interface with
compatibility. The FP-3000 automatically converts between discrete
values and floating point values as needed. In the event that a floating point
being converted to discrete results in an overflow, the value is reported as
0xFFFFFFFF.
Chapter 4Block Reference
OUNDATION
The presence of both the value and the status in the data types allows
numerical expressions to automatically calculate a status for the result of
the expression. In simple cases, this keeps you from having to implement
status handling logic. In the event that a value comes from a source that
does not provide status information, the status information will be marked
as invalid and ignored in status calculations.
Fieldbus Value/Status record for floating point values.
Fieldbus Value/Status record for discrete values. This
discrete will be considered to be a 32-bit integer. The least significant four
bits of the 32-bit integer map to the 16 Fieldbus discrete states. (As such, the
discrete values may be used for computational purposes for numbers greater
than 16. For the purposes of publishing on the bus, these will still be the
standard one byte F
OUNDATION
Fieldbus discrete values.)
Status Calculation Rules
To simplify status calculation for simple cases, the Expression block
performs all arithmetic operations on value/status pairings and manipulates
statuses according to the following rules:
•Constant values and intrinsic variables have no status.
•If two statuses are being composed, all substatus values are discarded
and the results have a NonSpecific Substatus.
•For two operand operators, the results have quality equivalent to the
lowest quality operand (i.e., the worst status propagates to the output).
The order of quality is as follows: Good, Good_NonCascade,
Uncertain, and Bad.
•The limit bits reflect the effect of the operator on the limit bits of the
operand(s). For example, a high-limited value that is negated would
become low-limited. The result of adding two high-limited values
would still be high-limited.
•Assignment operators and variable bindings leave the status entirely
unchanged.
•Conditional statements ignore the statuses and only use the values.
Syntax Rules
Each expression may only consist of the following types of lines:
•Comments—Fragments of text in the expression that are not used to
generate any code. These are delimited with matching
and\n(newline character).
//
•Symbols—Strings of alphanumeric characters beginning with a letter
or underscore.
FieldPoint FP-3000 User Manual4-6www.ni.com
and*/,orby
/*
Chapter 4Block Reference
•C-language style program constructs—Program statements that define
the logic of the expression with the use of conditional statements,
variable assignments, etc. Each valid statement ends with a
semi-colon.
•Empty lines for vertical spacing—You can add empty lines to improve
readability.
Program Constructs
Program constructs in the Expression block are C-language like. They are
comprised of keywords, symbols, constants, operators, conditional
statements for flow control, and delimiters (for the most part).
These symbols correspond to the EXPR block’s analog input
parameters A_IN_0, A_IN_1, A_IN_2, A_IN_3, A_IN_4, A_IN_5,
A_IN_6, and A_IN_7, respectively.
•d_in_0, d_in_1, d_in_2, d_in_3
These symbols correspond to the EXPR block’s discrete input
parameters D_IN_0, D_IN_1, D_IN_2, and D_IN_3, respectively.
•a_state_0, a_state_1, a_state_2, a_state_3
These are symbols for the EXPR block’s parameters that you can use
as local variables in an expression. They correspond to the EXPR block
parameters A_STATE_0, A_STATE_1, A_STATE_2, and
A_STATE_3, respectively.
•a_out_0, a_out_1, a_out_2, a_out_3
These symbols correspond to the EXPR block’s analog output
parameters A_OUT_0, A_OUT_1, A_OUT_2, and A_OUT_3,
respectively.
These symbols correspond to the EXPR block’s discrete output
parameters D_OUT_0, D_OUT_1, D_OUT_2, D_OUT_3,
D_OUT_4, D_OUT_5, D_OUT_6, and D_OUT_7, respectively.
•x_time
Provides read-only access to the FP-3000’s sense of application time
in the Expression block. Application time is expressed in the number
of seconds since January 1, 1972.
Use the spreadsheet
the expression text if you have a need for the block to execute at specified times during
the day.
fp3kexpr.xls
•
x0,x1,x2,x3,x4,x5,x6,x7
provided with the FP-3000 package to generate
Provides eight unsigned 32-bit integer variables. These variable values
are persistent across block executions but are not stored in non-volatile
memory. As such, power cycling the FP-3000 will leave them with an
unknown value unless they are initialized by the user in such cases.
•last_oos
This symbol defines a boolean read-only variable in the EXPR block,
to represent whether the EXPR block’s actual mode was Out Of
Service (
) the previous time it was scheduled to execute.
OOS
User-defined variables are not allowed in the Expression block language.
However, you may (for readability reasons) choose to rename any one of
the symbols listed above using the keyword “rename.”
Keywords
•rename
This is used to rename one of the symbols listed above to a user defined
name.
For example,
will rename the symbol
name
counter
rename a_state_0 counter
a_state_0tocounter
. You can then use the
in the rest of your expression. Such user-defined
names must be declared before use in the expression.
Constants
These are the constants typed in by the user in an expression.
For example,
In the above example, the0on the right-hand side of the assignment
operator (
User-defined constants of the form
supported in the Expression block language.
FieldPoint FP-3000 User Manual4-8www.ni.com
a_state_0 = 0;
) is the constant value.
=
<#define XXX 123>
are not
Chapter 4Block Reference
Operators
Operators let you manipulate the Expression block variables. Operators
supported by the Expression block language are listed in the following
table:
Flow control and grouping constructs supported by the expression
language will be a variant of the C language designed to eliminate the
possibility for endless loops and other pathological cases. This variant
includes standard if...then...else statements and compositions.
Table 4-4. Flow Control and Group Constructs
OperationSyntax
Conditionalif (condition) <statement(s) to be executed for true
case>
[else<statement(s) to be executed for false case>]
for loop and while loop constructs are not supported
Composition{ <statement> ; ... }
Example:
//Conditional statement with an if...then clause
if (a_state_0 > 5) { //begin a composition
A_state_0 = 0;
A_state_1 = 5;
} //end composition
else //The else clause is optional and not required
a_state_0 = a_state_0 + 1; //else clause is not
required to be a composition.
Delimiters
Every valid program statement must be terminated using the C-language
style delimiter ‘;’.
For example,
a_in_0 = 0.0;
a_in_1 = 0.0;
Functions
Intrinsic Functions
The Expression block language provides a set of standard functions that
implement some higher math functions, as well as functions for controlling
the status of a value.
FieldPoint FP-3000 User Manual4-10www.ni.com
Chapter 4Block Reference
Table 4-5. Function Operators
Class of OperationOperationOperators
MathSquare Rootsqrt(<op1>)
Exponentiale<op1>
Logarithm (base e)log(<op1>)
Absolute Valueabs(<x>)
StatusStatus checking
is good cascade status
is bad status
is good non-cascade status
is uncertain
is the high value of the scale range,
is the value that needs to be converted
from engineering units to an implicit 0 to 1 scale.
EngUnit0 <= euValue <= engUnit100
PurposeUn-scales the floating point value input in
euValue
parameter to a value using the scale range specified
by
engUnit0
and
engUnit100
for the conversion.
Return valueThe floating point value status pair, with floating
point value being between 0 and 1.
0 <= vs_float_value returned.value <= 1
Function Name
Function Syntax
to_discrete
vs_discrete to_discrete(vs_float)
InputA symbol that is a value status float
PurposeConverts a value status floating point variable to a
discrete value status variable.
Return valueA discrete value status record.
User Functions
User functions are not supported. You cannot define sub-routines within an
expression block.
FieldPoint FP-3000 User Manual4-14www.ni.com
Chapter 4Block Reference
Supported FieldPoint Modules and Channels
The FP-3000 supports a wide variety of I/O channels, each with different
types of configuration information. For example, a thermocouple channel
includes parameters for thermocouple type and has ranges for different
temperatures; a current loop channel includes parameters for filter
frequency and has a different group of available ranges to chose from.
Because of these differences in parameters, the FP-3000 has a block
specific to each type of channel it supports. For example, to use a
thermocouple connected to an I/O channel on an FP-TC-120 module, the
FP-3000 provides a FP-TC-120 AI Block. This block is a standard Analog
Input block augmented with parameters specific to the thermocouple
channel on the FP-TC-120.
The FP-3000 does not support all FieldPoint I/O modules. In particular, the
counter module is one module that is often requested, but not supported.
Support for other modules might be added in later firmware revisions.
The following table shows the function block that corresponds to each
supported FieldPoint I/O module.
In a Fieldbus network, a PID control loop is composed of three function
blocks: an Analog Input (AI) block, a Proportional Integral Derivative
(PID) block, and an Analog Output (AO) block. The PID block’s
parameter is connected to the AI block’s
parameter. The PID uses this
OUT
linkage to determine the current value of the process variable it is
controlling. The PID uses linkage from the PID’s
block
CAS_IN
parameter to adjust the AO block’s setpoint. To allow the
parameter to the AO
OUT
cascade to be correctly initialized, a third back calculation linkage is
created that allows the AO block to send its current setpoint back up to the
PID block. These linkages are established using configuration software,
such as the NI-FBUS Configurator. For more information, refer to
Example 2: Temperature Control with the FP-3000 in Chapter 3, Example
Applications.
FieldPoint FP-3000 User Manual4-16www.ni.com
IN
PID Loop Execution Time
The FP-3000 can run approximately 50 PID loop iterations per second. For
loops with all three function blocks contained in the FP-3000, a single loop
iteration can run as quickly as 15–20 ms. You can choose how to distribute
these iterations—running 1 PID loop 50 times per second, or 50 PID loops
once per second (actually at most 49 PID loops can run on a single
FP-3000, see below). You can also choose a combination between these
two extremes.
When deciding how fast to run PID loops, keep in mind the A/D update rate
of the FieldPoint I/O modules. For example, the FP-AI-100 has an update
rate of 2.8 ms, but the FP-AI-110 has an update rate of 170 ms to 1500 ms.
It does not make sense to run a PID loop at a faster rate than the update rate.
The A/D converter cannot supply new information faster than its update
rate. For example, attempting to run a PID loop every 100 ms with an
FP-AI-110 will cause stale readings to be processed. The update rate of
each I/O module is documented in the operating instructions of each
module and in the National Instruments catalog.
PID Loop Execution Time Considerations
Up to 150 function blocks can be instantiated on an FP-3000. One of these
must be a resource block. This means that you can instantiate up to 149
other function blocks. Each PID loop requires 3 blocks (AI, PID, AO).
Thus, at most 49 PID loops can run on a single FP-3000.
Chapter 4Block Reference
Because function blocks must execute serially, there is a trade-off between
how many PID loops you run and how fast you can run them. To see this
relationship, calculate the total execution time for your desired function
blocks. Also note that in your schedule, you generally want to leave 30% of
your macrocycle for unscheduled communications (to allow alarm
information to be passed between devices, HMI communications, etc.).
The function blocks used in a PID loop have maximum execution times
(worst-case times) as shown below. (Note: You can find this information in
the block information tab for the desired function block. Under the View
menu, choose Preferences. Click on the Block View tab. Check the ShowBlock Information checkbox. Now when you double-click on a function
block, a new tab called Block Information will appear. Look at the
parameter
individual function block. If the number is a hexadecimal number, you can
change it to decimal by right-clicking and unchecking Hexadecimal Data.
This decimal value of this parameter is the execution time in 1/32 ms.
Dividing this number by 32 will give the maximum execution time in
milliseconds). The NI-FBUS Configurator does not allow function blocks
to be scheduled any closer together than these maximum execution times.
PID: 8 ms
AI: 6 ms
AO: 6 ms
For one PID loop:
Total time scheduled for function block execution = 20 ms (8 ms +
6 ms + 6 ms). Multiplying this number by 1.5 will allow 30%
unscheduled time = 30 ms
No unscheduled time = 1/0.020 s = 50 iterations per second (for one
loop)
30% unscheduled time = 1/0.030 s = about 33 iterations per second
(for one loop)
For 49 PID loops:
Total time scheduled for function block execution = 980 ms
(49*(8 ms + 6 ms + 6 ms)). Multiplying this number by 1.5 will allow
30% unscheduled time = 1470 ms
No unscheduled time = 1/0.980 s = about one iteration per second
(for each of 49 loops)
30% unscheduled time = 1/1.470 s = about one iteration per
1.5 seconds (for each of 49 loops)
Alarming
The Fieldbus network supports event notification messages from field
devices like the FP-3000. Fieldbus function blocks use event notification
messages to implement alarms and events. Alarms are used to report
conditions that can either be active or inactive. An example of an alarm is
when the measured value of an AI block exceeds the user-defined alarm
limit. The function block sends an event notification alarm to the host each
time conditions transition between active and inactive. Events are
notifications of one-time events as they are detected by the field device. An
example of an event is the update event that is reported as a host application
or operator modifies configuration parameters of the device.
FieldPoint FP-3000 User Manual4-18www.ni.com
Alarm Parameters
Chapter 4Block Reference
Each block contains a fixed set of alarms it can report, such as High Alarm
or Deviation Alarm. Each alarm parameter is a record describing the
current state of that particular alarm or event. It contains a number of fields
the device uses to reveal the current state of the alarm. Following is a list
of the meaning of each field in an alarm record.
UNACKNOWLEDGED
The
UNACKNOWLEDGED
of the alarm or event. A host application typically acknowledges the
unacknowledged alarm when an operator sees and acknowledges the alarm.
subfield indicates the acknowledgment state
ALARM_STATE/UPDATE_STATE
The current state of the alarm or event can be determined through the
ALARM_STATE
alarm or event parameter. This parameter shows the active/clear state of
alarms and the reported/unreported state of both alarms and events.
The first piece of state information in the state field is the active/clear state
of the alarm. An alarm is considered to be active when the alarm condition
is detected to be true. In the case of a limit alarm, the alarm is active when
the process variable, such as the temperature being measured, is beyond the
limit. The alarm state clears when the process variable returns within the
limit, adjusted for any hysterisis factor specified in the
parameter.
(for alarms) or
UPDATE_STATE
(for events) field of the
ALARM_HYS
All blocks have one alarm known as the Block alarm. The Block alarm is
considered active when any block error conditions (in the
parameter) are true. The Block alarm clears when the last block error
condition clears.
For all alarms, the alarm condition is checked during each block execution.
Events, on the other hand, are not considered to be active or clear, but
simply one-time notifications.
The second piece of state information in the state field is the reported status
of the alarm or event. When an alarm or event condition is reported to the
host computer, an event notification message is broadcast on the bus if the
alarm has a priority greater than 1. For alarms without priority parameters
(Block alarms and events), the priority defaults to 2 and is always reported.
To confirm the receipt of the event notification, the host responds with a
confirmation message (different from the acknowledgment message
discussed above). The confirmation message confirms that the message has
made it across the bus to the host. It does not indicate acknowledgment by
the operator. Until the device receives the confirmation message, the alarm
or event is considered to be unreported. In the case where a block has no
alarm linkage, the device waits to report the alarm or event until the linkage
is established. If an alarm is unable to be reported toa host,the Active/Clear
state of the alarm stays constant until the alarm can be reported.
TIME_STAMP
The time the alarm was detected by the FP-3000. In F
all devices share a common sense of time, as published by the time master
on the bus. This shared sense of time is used to timestamp alarm conditions
as they occur, rather than when they are reported.
OUNDATION
Fieldbus,
SUBCODE
For Block alarm, the subcode of the last error condition detected. The
Blockalarm,sharedbyallF
FP-3000, is unique in that there are multiple conditions that can cause it to
go active and clear. Any error condition reported in the
parameter of the block causes the block alarm to go active. The alarm does
not clear until the last error condition in
indicate which error condition the
subfield of the parameter is set to indicate the block error condition causing
the fault. If additional error conditions are detected, the
TIME_STAMP
alarm will not be reported again until every error condition has been
resolved and a new condition triggered.
are updated to reflect the latest condition detected, but the
OUNDATION
Fieldbus function blocks in the
BLOCK_ERR
BLOCK_ERR
BLOCK_ALM
has been resolved. To
is reporting, the
SUBCODE
SUBCODE
and
VALUE
For limit alarms, the value of the parameter causing the alarm condition
(the Process Variable). For update events, the index of the modified static
parameter.
Status and Mode Handling Overview
Status and mode handling are crucial aspects of developing a distributed
control application. Mode refers to the mode of operation of a function
block. Allowable modes depend on the type of block, but generally include
Out of Service mode, Manual mode, and Automatic mode.
FieldPoint FP-3000 User Manual4-20www.ni.com
Status Handling
Chapter 4Block Reference
Status refers to the quality of a variable communicated between two blocks.
When a block receives a variable with bad status, it can affect its current
mode of operation.
Parameters that can be communicated between blocks are composed of a
valueandastatus.Thevalueisthedatatobecommunicated,andthestatus
describes the quality of the data. When two blocks are logically connected
over the Fieldbus using host configuration software, the block that is
sending data is called the publisher. The block receiving the data is called
the subscriber. When communication is established from a publisher to a
subscriber, the subscriber takes the value and the status of the published
variable. If communication is not established between the publisher and the
subscriber, the subscriber has a status that reflects the lack of
communication. Statuses themselves are composed of three subfields: the
quality, the substatus, and the limit.
Quality
Table 4-7 describes the
Quality
Table 4-7. Quality Values
subfields.
Va lu eMeaning
Bad
The value is bad, the sensor is defective, or
communication has not been established. The
value should not be trusted by the receiver.
Uncertain
The quality of the data is unknown. This can be
caused by errors or a lack of calibration in the
physical I/O transducer. Blocks can generally be
configured to treat values of
as either
BadorGood
with the
Uncertain
STATUS_OPTS
quality
parameter.
Good_NonCascade
The value is good and from a block that does not
support cascade initialization. This status is also
used when an alarm is active.
Good_Cascade
The value is good and from a block that supports
cascade initialization.
given quality. For example, a status with the quality of
substatus of
trusted because it is from a device that has failed. Another common
substatus is
no other substatus applies. There are numerous substatuses.
field is used to describe more specifically the cause of the
might have a
Bad
Device Failure
Non-specific
, indicating that the value should not be
.The
Non-specific
substatusisusedwhen
Limit
Table 4-8 describes the
Va lu eMeaning
subfield values.
Limit
Table 4-8. Limit Values
None
Low
The value is not limited.
The value is at a lower limit. This can be caused by
a transducer limitation or setpoint limits.
High
The value is at a high limit. This can be caused by
a transducer limitation or setpoint limits.
Constant
The value is at a fixed value and cannot move. This
results from the block supplying the value being in
manual mode.
MODE_BLK Parameter and Mode Handling
The block’s mode behavior is controlled with the
The
MODE_BLK
parameter contains four fields that allow the current mode
of the block to be read and the desired mode for the block to be written.
The four fields are
NORMAL
mode.
TARGET
mode,
TARGET Mode
The desired mode of execution for the block. An operator or process
engineer normally writes this to put the block in the desired mode of
operation.
ACTUAL
mode,
MODE_BLK
PERMITTED
parameter.
mode, and
FieldPoint FP-3000 User Manual4-22www.ni.com
Chapter 4Block Reference
ACTUAL Mode
An indicator of the current mode of execution of the device. This is a
read-only parameter. Normally, the actual mode of the block is equal to the
target mode of the block. However, configuration errors or other conditions
can cause it to differ from the target mode.
PERMITTED Mode
A list describing the modes into which the block may be target. For
example, in order to set a
set in the
PERMITTED
mode field. The
TARGET
mode of
PERMITTED
Man
,the
mode bit must be
Man
mode field also has an
effect on the way output blocks shed modes. For a description of mode
shedding, refer to Appendix D, Advanced Function Block Behavior.
NORMAL Mode
The block’s normal mode of operation is stored in the
NORMAL
field is not used internally by the device, but is a guide for an operator.
field. This
Table 4-9.
Modes
ModeMeaningBit Set in TARGET Mode
Out of Service
(0x80)
OOS
The block is idle and does not execute. If the
resource block is out of service, all other
Out of Service, and optionally
any other valid target mode
blocks in the device are also out of service.
Manual
(0x10)
Man
The output of the block is set by an operator
through a write to the output parameter. No
Manual
block processing other than writing to the
I/O channel is performed.
Initialization
Manual
(0x40)
IMan
The upstream block in a cascade loop is
preparing to enter
mode. This mode
Auto
cannot be set as a target mode. It is used
Not applicable
internally by control blocks as they establish
cascade loops.
Local Override
(0x20)
LO
The block’s faultstate or interlock capability
is causing the block to override its normal
Not applicable
output value. This mode cannot be set as a
target mode.
Automatic
(0x08)
Auto
The block operates normally with a setpoint
specified manually through a write to the
The block operates normally with a setpoint
specified automatically through a
connection from an upstream block to the
CAS_IN
(cascade input) parameter. Before
the block can enter this mode, the cascade is
initialized automatically to avoid windup.
The block operates normally with a setpoint
specified automatically through a write from
a host computer to the
RCAS_IN
(remote
cascade input) parameter. Before the block
can enter this mode, the cascadeis initialized
automatically to avoid windup.
The output of the block is set manually
through a write to the
ROUT_IN
parameter.
No block processing other than writing to
the I/O channel is performed. Before the
block can enter this mode, the cascade is
initialized automatically to avoid windup.
Cascade and Automatic
Remote Cascade and
Automatic. For more
information on Remote
Cascade operation, refer to the
section Fault State and Mode
Shedding in Appendix D,
Advanced Function
Block Behavior.
Remote Output andAutomatic.
For more information on
Remote Output operation, refer
to the section Fault State and
Mode Shedding in
Appendix D, Advanced
Function Block Behavior.
FieldPoint FP-3000 User Manual4-24www.ni.com
Configuring the FP-3000
The FP-3000 has three configuration switches accessible from an opening
in the top of the module. These switches are shown in Figure A-1.
A
On
Off
Simulate Enable
When On, this switch allows simulation on I/O blocks to be enabled. The
status of this jumper is shown in the Simulate Active bit in the resource
block’s
device allows simulation to be enabled on I/O blocks.
Simulate
BLOCK_ERR
Write
Enable
Switch
Figure A-1.
parameter. If the switch is On, the bit is set, and the
When On, the device rejects writes to block configuration parameters.
Linkages between blocks still function correctly.
Reset
When On, this switch causes the device to reset all configuration
information to factory defaults on power up. To resume normal operation,
this switch must be switched off and power to the device must be cycled a
second time.
FieldPoint FP-3000 User ManualA-2www.ni.com
Fieldbus Parameters
Fieldbus Parameters (In Alphabetical Order)
ACK_OPTION (Alarming)
Allows alarms to be automatically acknowledged by the block with no
outside intervention. This is useful if you are not interested in
acknowledging certain alarms from a block.
ALARM_HYS (Alarming)
The amount a value must move off an alarm limit, in percent of scale, for
the alarm to be considered clear. This helps prevent alarms from constantly
“toggling” on and off when the process value is near the configured alarm
limit.
ALARM_SUM (Alarming)
A summary of the status of alarms in the block. Allows alarms to be
disabled.
B
ALERT_KEY (Alarming)
A user-assigned identification number reported in alarm messages from the
block that allows HMI applications to sort and filter alarms and events. This
parameter is set for each function block to indicate which physical unit the
function block is associated with.
BAL_TIME (Tuning)
Time, in seconds, for the bias or ratio to change from the internal working
value to the operator set value. Also, the time constant used by the integral
term of the PID to obtain balance when the output is limited and the block
is in
The bias value, in engineering units, used to calculate the function block
output.
BKCAL_HYS (Limiting)
The amount a block’s output value must move off a limit, in percent of
scale, for the limit status to be turned off.
BKCAL_IN (Limiting, Process)
Will be linked to a downstream block’s
parameter. This is used to initialize a control loop through cascade
initialization. Cascade initialization allows smooth transfer for a control
block from manual to automatic mode. To bypass cascade initialization,
this parameter can be left unwired and manually set to a status of
non-cascade
BKCAL_OUT (Process)
A back-calculation value published to the
in a control loop. The
current output. Before a cascade loop is initialized, the upstream block can
use this value to smoothly transfer to loop control.
.
BKCAL_OUT
BKCAL_OUTorSELECT_OUT
Good,
BKCAL_IN
parameter has the value of the block’s
of an upstream block
BKCAL_OUT_D (Process)
An output value published to an upstream discrete block. The upstream
block can use this value to smoothly transfer to loop control.
BLOCK_ALM (Alarming, Diagnostic)
An alarm parameter used to report error conditions detected within the
block, such as block Out of Service.
BLOCK_ERR (Diagnostic)
A list of error conditions for hardware and software components associated
with the block.
configuration. This usually indicates a
static parameter has been left uninitialized.
Link Configuration Error0x0004The logical connection between this block
and another block is misconfigured.
Simulate Active0x0008For I/O function blocks, this indicates that
simulation is enabled. For the resource
block, this indicates that the simulate
jumper has been set, allowing simulation
to be enabled in other blocks.
Local Override0x0010The block has locally overridden the
output value. This can be the result of an
interlock or faultstate.
Device Faultstate Set0x0020The block’s faultstate behavior is active.
Device Needs Maintenance
Soon
0x0040The device is reporting performance
degradation that will soon require
maintenance.
Input Failure/BAD PV Status0x0080Either the input transducer channel has
reported a failure, or the input parameter
from an upstream block has reported a
failure. For an AI block, this could be
caused by an open circuit being detected
on the FP-AI-100 input module.
Output Failure0x0100The output transducer channel has reported
a failure. For an AO block, this could
indicate that the FP-AO-200 cannot drive
the current request, perhaps due to an open
circuit.
Memory Failure0x0200The storage for nonvolatile and static
parameters was corrupted.
Lost Static Data0x0400Thedevicewasunabletorestorethevalues
Lost NV Data0x0800Thedevicewasunabletorestorethevalues
of nonvolatile parameters after a restart.
Readback Check Failed0x1000The value read back from the output
channel does not match the value the
output channel was set to.
Device Needs Maintenance
Now
Power-Up0x4000Thedevicehasjustpoweredup.
Out of Service0x8000The block is currently out of service.
0x2000The device needs to be maintained now.
BYPASS (Scaling, Tuning)
Allows the normal control algorithm to be bypassed if the
parameter’s Bypass Enable option is selected. If control is bypassed, the
PID uses its setpoint value in percent of scale as its output value and does
not attempt to do any PID control.
CONTROL_OPT
CAS_IN (Process)
A remote setpoint value. If used, will be linked to an output of an upstream
block. In some blocks, may be left unlinked, and a local setpoint value
(typically SP) will be used instead.
CAS_IN_D (Process)
A remote setpoint value. If used, will be linked to an output of an upstream
block. In some blocks, may be left unlinked, and a local setpoint value
(typically
) will be used instead.
SP_D
CHANNEL (I/O, Process)
Used by I/O function blocks to select a physical I/O channel. This mapping
is defined by the manufacturer. In the FP-3000, this parameter is
automatically updated when the
FIELDPOINT_CHANNEL
FieldPoint FP-3000 User ManualB-4www.ni.com
FIELDPOINT_MODULE
parameters are modified.
and
CLR_FSTATE (Faultstate, Option)
Writing Clear to this parameter causes the device-wide faultstate to be
cleared and output blocks to resume normal execution. Also see
SET_FSTATE
and
FAULT_STATE
CONFIRM_TIME (Alarming)
The lower bound on the time the device waits to send alert report messages
if no confirmation is received from a host.
CONTROL_OPTS (Option, Scaling)
A list of options used to adjust the way control blocks, such as the PID
block, operate.
Table B-2. Control Options
OptionsDescription
Appendix BFieldbus Parameters
parameters.
Bypass Enable
SP-PV Track in Man
SP-PV Track in ROut
SP-PV Track in LO or IMan
SP Track Retained Target
Direct Acting
Track Enable
Track in Manual
If set, lets you set the
BYPASS
parameter and bypass the
algorithm’s control.
Causes the setpoint to track the process variable in
Causes the setpoint to track the process variable in
Causes the setpoint to track the process variable inLOor
Man
ROut
.
IMan
Causes the setpoint to track the input value of the retained
target of the block. The retained target of the block is the
lowest priority mode set in the target mode field of the
MODE_BLK
bit is set in the target mode, the setpoint tracks
parameteroftheblock.Forexample,ifthe
RCAS_IN
RCas
Defines the relationship between changes to thePVand
changes to the output. For example, consider a case with a
fixed
Acting
control block’s output value to be increased. When
Acting
while the process variable varies. When
SP
Direct
is set, an increase in the process variable causes the
Direct
is clear, an increase in the process variable causes the
When set, uses the process variable as the value for
BKCAL_OUT
When set, confines the setpoint to values within
and
function block.
Unused in FieldPoint.
CYCLE_SEL (Tuning)
Identifies the block execution methods available. Unused in National
Instruments FP-3000.
CYCLE_TYPE (Tuning)
Used to select the block execution method. Unused in National Instruments
FP-3000.
DD_RESOURCE (Diagnostic)
Unused in FieldPoint.
DD_REV (Diagnostic)
The revision of the device description used by the device.
, instead of the setpoint.
SP_LO_LIM
SP_HI_LIM
, even when the setpoint comes from another
DEV_REV (Diagnostic)
The revision of the device.
DEV_TYPE (Diagnostic)
The manufacturer’s model number for the device.
DISC_ALM (Alarming)
The current state of the discrete alarm, along with a time and date stamp.
DISC_LIM (Alarming)
The discrete input state in which an alarm should be generated.
FieldPoint FP-3000 User ManualB-6www.ni.com
DISC_PRI (Alarming)
Priority of the discrete alarm.
DV_HI_ALM (Alarming)
The current state of the deviation high alarm, along with a time and date
stamp.
DV_HI_LIM (Alarming)
The deviation limit between the PID block setpoint and process value, in
engineering units, beyond which the deviation high alarm is considered
active.
DV_HI_PRI (Alarming)
The priority of the deviation high alarm.
DV_LO_ALM (Alarming)
The current state of the deviation low alarm, along with a time and date
stamp.
Appendix BFieldbus Parameters
DV_LO_LIM (Alarming)
The deviation limit between the PID block setpoint and process value, in
engineering units, beyond which the deviation low alarm is considered
active.
DV_LO_PRI (Alarming)
The priority of the deviation low alarm.
FAULT_STATE (Faultstate, Option)
The current status of the device faultstate. It can be set and cleared with
parameter lists features supported by the device. Use the
parameter to manually enable and disable the supported
FEATURES
parameter.
Appendix BFieldbus Parameters
OptionDescription
Table B-3. Feature Parameter Options
Unicode
Reports
Faultstate
Soft Write Lock
Hard Write Lock
Out Readback
Direct Write
The device supports strings in
Unicode
format. The FP-3000 does not
support this feature.
The device supports event report messages for alarming. If this feature
is not selected in the
FEATURE_SEL
parameter, the FP-3000 continues
to detect alarms and events, but does not report them over the bus.
In this case, the host must poll the alarm parameters to detect alarm
conditions as they change.
The device supports
Faultstate
behavior for output blocks.
The device supports locking of configuration of parameters with the
WRITE_LOCK
selected and the
parameter in the resource block. With this feature
WRITE_LOCK
parameter written to
, writes to all
Set
static configuration parameters are disallowed.
The device supports locking of configuration parameters. For the
FP-3000, a switch on the back of the device must also be set. If
Write Lock
configuration parameters in the device, including
is enabled, the switch disallows writes to all
FEATURE_SEL
Hard
.
The device provides a way for the action of output transducers to be
verified through a readback. The FP-3000 does not support this
feature.
The device provides a manufacturer-specific way to directly write to
I/O channels. The FP-3000 does not support this feature.
FF_GAIN (Scaling, Tuning)
The gain by which the feed-forward input is multiplied before it is added to
the output value of the control block.
FF_SCALE (Scaling)
The scaling parameter used by the feed-forward value of the block.
FF_VAL (Process, Scaling, Tuning)
The feed-forward value.
FIELD_VAL (Process, Scaling, Tuning)
The value from the input channel, in percent of scale.
FieldPoint FP-3000 User ManualB-8www.ni.com
FIELD_VAL_D (Process, Scaling, Tuning)
The value from the discrete input channel.
FREE_SPACE (Diagnostic, Process)
The percentage of memory available on the device. This can be used when
instantiating blocks to determine the remaining capacity of the FP-3000.
This value will be zero in preconfigured devices since they do not allow
user configuration.
FREE_TIME (Diagnostic, Process)
Percentage of block processing time that is available to process additional
blocks. Unused in FieldPoint.
FSTATE_TIME (Faultstate, Option)
Time (in seconds) to delay from the detection of loss of communications
with the host for the output block remotes setpoint until the enaction of the
fault state output.
FSTATE_VAL (Faultstate, Option)
Thesetpointvaluetobeusedonfailure.
Appendix BFieldbus Parameters
Note
The I/O option Failsafe to value must be selected.
FSTATE_VAL_D (Faultstate, Option)
The discrete setpoint value to be used on failure.
Note
The I/O option Failsafe to value must be selected.
GAIN (Tuning)
The gain constant used by the PID in calculating the proportional
component of the output.
GRANT_DENY (Option)
Allows HMI applications to determine access privileges for block
parameters.
The device does not use this parameter to restrict parameter access itself. It is only
for the benefit of host applications.
HARD_TYPES (I/O, Process)
A list of available channel types. As I/O modules are inserted and removed
from the FP-3000 bank, bits in this field change to reflect the presence or
absence of types of I/O channels.
BitmaskDescription
Table B-4. Hard Types
Analog Input
Analog Output
Discrete Input
Discrete Output
HI_ALM (Alarming)
The current state of the high alarm, along with a time and date stamp.
HI_HI_ALM (Alarming)
The current state of the high-high alarm, along with a time and date stamp.
HI_HI_LIM (Alarming)
The limit, in PV units, beyond which the high-high limit alarm is
considered active.
HI_HI_PRI (Alarming)
The priority of the high-high limit alarm.
This bit is set if the FP-3000 has analog input channels
available.
This bit is set if the FP-3000 has analog output channels
available.
This bit is set if the FP-3000 has discrete input channels
available.
This bit is set if the FP-3000 has discrete output channels
available.
HI_LIM (Alarming)
The limit, in PV units, beyond which the high limit alarm is considered
active.
FieldPoint FP-3000 User ManualB-10www.ni.com
HI_PRI (Alarming)
The priority of the high limit alarm.
IN (Process, Scaling, Tuning)
The primary input of the block.
IN_1 (Process, Scaling, Tuning)
The secondary input of the block.
IO_OPTS (I/O, Options, Scaling)
A bitmask used to adjust the way I/O blocks (AI, DI, AO, and DO) operate.
Appendix BFieldbus Parameters
BitmaskDescription
Invert
SP-PV Track in Man
SP-PV Track in LO or IMan
SP Track Retained Target
Increase to Close
Faultstate to Value
Use Faultstate Value on
Restart
Table B-5.
Operation Bitmasks
In discrete blocks, this maps a physical state of
Discret_State_0toDiscret_State_1
other physical transducer state to
Discret_State_0
Causes the setpoint to track the process variable in
Causes the setpoint to track the process variable inLOor
and maps every
.
.
Man
IMan
Causes the setpoint to track the input value of the retained
target of the block. The retained target of the block is the
lowest priority mode set in the target mode field of the
MODE_BLK
is set in the target mode, the setpoint tracks
parameter of the block. For example, if the
RCAS_IN
RCas
.
Remaps the block’s scaling so that as the input increases, the
output decreases.
When set, the block’s faultstate behavior sets the output value
to the value in
FSTATE_VAL
. When clear, the block’s faultstate
behavior leaves the output value at its current setting.
When set, causes the output value of output blocks to go to
faultstate value immediately after a device restart. When clear,
uses the value in nonvolatile memory.
When set, sets the target mode of the block to manual mode
when faultstate goes active.
Appendix BFieldbus Parameters
BitmaskDescription
Table B-5. Operation Bitmasks (Continued)
Use PV for BKCAL_OUT
Low Cutoff
ITK_VER
L_TYPE (Scaling)
TypeDescription
When set, uses the process variable as the value for
BKCAL_OUT
, instead of the setpoint.
When set, enables the AI low cutoff parameter.
The version of the Interoperability Test Kit with which this device was
tested.
The linearization type. This parameter affects the way the value from the
transducer is linearized in the analog input block before it is presented as
the block output. In all cases, the
An invalid setting. The device reports a configuration error with an
Uninitalized
L_TYPE
.
LIM_NOTIFY (Alarming)
A limit on the number of unconfirmed alarm/event notification messages
the device can have active at once. This must be less than or equal to
MAX_NOTIFY
LO_ALM (Alarming)
The current state of the low alarm, along with a time and date stamp.
LO_LIM (Alarming)
The limit, in PV units, beyond which the low limit alarm is considered
active.
LO_LO_ALM (Alarming)
The current state of the low-low alarm, along with a time and date stamp.
LO_LO_LIM (Alarming)
The limit, in PV units, beyond which the low-low limit alarm is considered
active.
Appendix BFieldbus Parameters
.
LO_LO_PRI (Alarming)
The priority of the low-low limit alarm.
LO_PRI (Alarming)
The priority of the low limit alarm.
LOW_CUT (I/O, Option, Scaling, Tuning)
With an
floor (in percent of scale) for values from the transducer. Values below this
floor are considered to be zero. This feature must first be enabled by setting
Low Cutoff
L_TYPE
of Indirect Square Root, this can be used to establish a
in the
IO_OPTS
parameter.
MANUFAC_ID (Diagnostic)
The ID ofthe manufacturer of the device. For National Instruments devices,
it is 0x4E4943. The parameters
are used in combination for a host tool to locate the Device
MANUFAC_ID,DEV_TYPE,DEV_REV
,and
Appendix BFieldbus Parameters
MAX_NOTIFY (Alarming)
The maximum number of unconfirmed alarm/event notification messages
the device supports.
MEMORY_SIZE (Diagnostic)
Unused by FieldPoint.
MIN_CYCLE_T (Diagnostic, Process)
The length of the shortest macrocycle the device supports.
MODE_BLK (Diagnostic, Process)
Sets the operational and permitted modes of the block. The following table
describes the operational and permitted modes of the block.
Table B-7. Field Modes
Field ModeDescription
TARGET
ACTUAL
PERMITTED
NORMAL
The desired mode of operation of the block. This field is writable. Several bits
may be set in this field, and typically, the highest priority bit that is set will be
considered to be the target mode.
A bit reflecting the current state of operation of the block. This is a read-only field.
Only one bit will be set at a time by the block.
target mode and the current conditions in which the block is executing. Several
conditions (such as cascade initialization or fault state conditions) can cause the
ACTUAL
A bitmask indicating which modes are permitted target modes and which are not.
This field is writable. This could be used by the plant operator to disallow certain
modes the block would normally be permitted to have as a
Not used by the block. This can be used by an operator to store the normal mode
of operation for the block in normal plant operations. This field is writable. Used
by the NI-FBUS Configurator to set the
Automatic Mode Handling
mode to differ from the
is the highest priority bit.
OOS
ACTUAL
Target
feature is in effect.
mode.
TARGET
mode is a function of the
Target
mode after download when the
mode.
FieldPoint FP-3000 User ManualB-14www.ni.com
Appendix BFieldbus Parameters
Table B-8.
Operational Modes
Operational ModeDescription
Out of Service (
Initialization Manual (
)The block is out of service, block execution is suspended, and all
OOS
output parameters take a status of
)The block is in the process of initializing a cascade. This is used
IMan
Bad::OutOfService
.
for upstream (control) blocks when they are initializing for
smooth transfer into
TARGET
mode, but it is a valid
Automatic
mode. This is not a valid
ACTUAL
mode.
Local Override (LO)Faultstate or an interlock is active and causing the output value
Manual (
Man
Automatic (
of the block to be overridden. This is not a valid
but is a valid
ACTUAL
mode.
TARGET
)The output value of the block is set by the user.
)The output value of the block is set by the block algorithm, and
Auto
mode,
the block is using a local value for its setpoint.
Cascade (
)The setpoint for the block is taken from the
Cas
CAS_IN
parameter,
which is typically connected to the output of another block. This
mode cannot be entered before cascade initialization takes place.
Remote Cascade (
When Cascade is desired as a
set in the
)Like Cascade mode, in Remote Cascade mode the setpoint of the
RCas
TARGET
.
TARGET
mode, the
Auto
bit is also
block comes from an outside data source. Unlike Cascade mode,
in Remote Cascade mode the setpoint is sourced from the
RCAS_IN parameter, which is written by a host application and
not another function block.
Remote Output (
)Remote Output mode is analogous to Remote Cascade mode,
ROut
except that the remote host application directly sets the output of
the block and not the setpoint. In the case of an analog output
block, this bypasses setpoint rate and absolute limiting.
NV_CYCLE_T (Diagnostic)
The regular time interval, in milliseconds, at which nonvolatile parameters
are committed to nonvolatile storage. A value of zero means that the
parameters are never written to nonvolatile memory. Note that nonvolatile
parameters are stored to nonvolatile memory when they are changed by a
user over the network. The
NV_CYCLE_T
changes caused by the device itself are stored to nonvolatile memory.
A limit for the maximum output value from a block in modes other than
manual.
OUT_LO_LIM (Limiting)
A limit for the minimum output value from a block in modes other than
manual.
OUT_SCALE (Scaling)
The scaling parameter used for the output parameter.
Table B-9. OUT_SCALE Parameter
SubfieldMeaning
EU_100
EU_0
UNIT_INDEX
DECIMAL
Engineering units value at 100 percent of scale.
Engineering units value at zero percent of scale.
Actual engineering units code (such as mA).
Number of digits a host shows to the right of the decimal for display
purposes.
OUT_STATE (Process)
Index to the text description of the discrete output state.
PV (Process, Scaling, Tuning)
The process variable, or primary variable for this block. For AI and control
blocks such as PID, this represents a measurement of the state of the
process (such as temperature or level). For AO blocks, the process variable
is the current setpoint of the block.
FieldPoint FP-3000 User ManualB-16www.ni.com
PV_D (Process)
The process variable, or primary variable for this block. For DI and discrete
control blocks, this represents a measurement of the discrete state of the
process. For DO blocks, the process variable is the current discrete setpoint
of the block.
PV_FTIME (Scaling, Tuning)
The filter time, in seconds, used in input blocks. For analog blocks, it is the
time constant for a low pass exponential filter used to damp out rapid
oscillations in the input value before using it as the process variable. For
discrete blocks, it is the time the PV must remain constant after a change
for the change to be reported.
PV_SCALE (Scaling)
The scaling parameter used by the process variable of the block. Converts
from percent of scale to a process variable in engineering units. Contains
thesamesubfieldsas
PV_STATE (Process)
Index to the text describing the state of a discrete PV.
OUT_SCALE
Appendix BFieldbus Parameters
.
RA_FTIME (Tuning)
The filter time constant, in seconds, for the value to be used in the ratio.
RATE (Tuning)
The time constant for the derivative component of the PID block. A zero
disables the derivative term. The units are seconds.
RCAS_IN (Mode Shedding, Process)
The cascade input for a control or output block set by a remote host. This
is propagated to the setpoint of the block when it is in
block is in
time (a parameter in the resource block), the block enters mode shedding.
Mode shedding allows the block to degrade from
higher priority mode.
The discrete cascade input for a control or output block set by a remote
host. This is propagated to the setpoint of the block when it is in
mode. If the block is in
SHED_RCAS
mode shedding. Mode shedding allows the block to degrade from
mode into some higher priority mode.
time (a parameter in the resource block), the block enters
RCas
RCAS_OUT (Process)
The back calculation output used by the supervisory host when establishing
a Remote cascade loop.
RCAS_OUT_D (Process)
The discrete back calculation output used by the supervisory host when
establishing a Remote cascade loop.
READBACK (Scaling, Tuning)
The valve or actuator position read back from the transducer, in transducer
units.
RCas
mode and this parameter is not updated in
RCas
READBACK_D (Scaling, Tuning)
The transducer state for the actual discrete valve or actuator position.
RESET (Tuning)
The time constant for the integral component of the PID block. It is
measured in seconds per repeat (so larger values have less effect, and
effectively disables the integral term).
INF
RESTART (Diagnostic, Option)
Allows the user to restart the device remotely.
Table B-10. Restart Values
Va l ueBehavior
Restart Resource
Restart to Defaults
Restart Processor
FieldPoint FP-3000 User ManualB-18www.ni.com
Restarts the device.
Restarts the device, restoring all parameter values to default values.
Restarts the device as if the power was cycled.
Appendix BFieldbus Parameters
Caution
FP-3000 to revert to their factory default settings.
Using
Restart to Defaults
ROUT_IN (Mode Shedding, Process)
The cascade input set by a remote host. This is propagated to the output of
the block when it is in
parameter is not updated in
block), the block enters mode shedding. Mode shedding allows the block to
degrade from
ROut
ROut
mode into some higher priority mode.
ROUT_OUT (Process)
This is the back calculation output used by the host when trying to establish
a remote output loop. While the loop is being established, it is the current
value of the output channel and can be used by the host to initialize for
smooth transfer of control.
RS_STATE (Diagnostic, Process)
The current state of the device.
Table B-11. Device States
StateMeaning
causes all your configured parameters in the
mode. If the block is in
SHED_ROUT
time (a parameter in the resource
ROut
mode and this
Start/Restart
Initialization
Failure
On-Line Linking
On-Line
Standby
The device has just started a restart cycle.
The device is performing startup diagnostics.
A hardware failure has been detected.
The device is online and waiting for new parameter linkages to be
established.
The device is online and in service.
The device is online, but currently out of service.
Allows the user to set the device faultstate to active. This, in turn, forces all
output blocks into their own faultstate behavior.
SHED_OPT (Mode Shedding, Option)
Controls the way blocks enter mode shedding. Each option listed below has
a companion
the target mode of the device to the shed mode and prevent the device from
re-entering
Shed ModeBehavior
No Return
RCasorROut
Table B-12. Shed Conditions
option. The
No Return
shedding options change
mode after the shed condition has ended.
Normal Shed
The block sheds into the next higher-priority mode set in the permitted
mode field of
Shed to Auto
Shed to Manual
Shed to Retained
The block sheds into automatic mode.
The block sheds into manual mode.
The block sheds to the next higher priority mode set in the target mode
field of
MODE_BLK
SHED_RCAS (Mode Shedding)
The shed time for the
the
RCAS_IN
parameter has not been updated in
block performs mode shedding as determined by the
SHED_ROUT (Mode Shedding)
The shed time for the
the
ROUT_IN
parameter has not been updated in
block performs mode shedding as determined by the
SIMULATE (Option)
Used to bypass the physical I/O channel and allow the block to operate
normally, using a simulated I/O channel. For this feature to be enabled on
an FP-3000, you must set a switch on the back of the device. To see how to
configure the switch, refer to Appendix A, Configuring the FP-3000.
MODE_BLK
.
RCAS_IN
ROUT_IN
.
parameter. If the block is in
SHED_RCAS
parameter. If the block is in
SHED_RCAS
RCas
time, the
SHED_OPT
RCas
time, the
SHED_OPT
mode and
parameter.
mode and
parameter.
FieldPoint FP-3000 User ManualB-20www.ni.com
SIMULATE_D (Option)
Used to bypass the physical I/O channel and allow the block to operate
normally, using a simulated discrete I/O channel. For this feature to be
enabled on an FP-3000, you must set a switch on the back of the device.
To see how to configure the switch, refer to Appendix A, Configuring the
FP-3000.
SP (Process)
The analog setpoint.
SP_D (Process)
The discrete setpoint.
SP_HI_LIM (Limiting, Option)
The upper limit on an operator-entered setpoint for the block. If the
operator enters a setpoint that exceeds this value, the setpoint is considered
to be
SP_HI_LIM
SP_LO_LIM (Limiting, Option)
The lower limit on an operator-entered setpoint of the block. If the operator
enters a setpoint below this value, the setpoint is considered to be
SP_LO_LIM
with a status that indicates that it is limited.
Appendix BFieldbus Parameters
with a status that indicates that it is limited.
SP_RATE_DN (Limiting, Option)
In
downwards. If the setpoint moves faster than
as if the setpoint is moving downwards at the maximum rate with a status
bit that indicates that it is limited. If set to zero, the setpoint is used
immediately.
mode, the rate, in PV units per second, the setpoint can be moved
Auto
SP_RATE_DN
, the block acts
SP_RATE_UP (Limiting, Option)
In
upwards. If the setpoint moves faster than
if the setpoint is moving upwards at the maximum rate with a status bit that
indicates that it is limited. If set to zero, the setpoint is used immediately.
mode, the rate, in PV units per second, the setpoint can be moved