
Open BSI Application Note - Using the DDE Server
Dynamic Data Exchange (DDE) is an industry-standard method for exchanging data
between different Windows- application programs. There are many types of
application programs which support the DDE standard, such as:
word processing programs
spreadsheet programs
data base packages
equipment maintenance packages
loop tuning packages
The Open BSI DDE Server allows such t hird-party applications , which conform to the
DDE standard, to obtain data values from specified signals in a controller. In addition,
these third-party Windows- applications can write data to signals in the controller.
Starting the DDE Server
Before star ting the DDE Server, Open BSI communications must be activated via
NetView. Next, click on Start%>Programs%>OpenBSI Tools%>Collection
Programs%> DDE Server. Unless configured for read-only access, or automatic signon, you will be prompted to ente r a system pas sword (t his is t he same passwor d used
for editing system parameters).9 If the password is successfully entered, the DDE
Server will sta rt, and run in a minimized state. No additional BSI configuration is
necessary.
Setting Up DDE References in the Third-Party Application
The Open BSI DDE Server supports three DDE functions:
Advise (read continuously) - each time the DDE Server receives a new value
from the specified signal, it is sent to the third-party application.
Request (read) - the DDE S erver sen ds the current value of the requested
signal to the third-party application. (A Request requires that the Advise
function also be active. See Advise, above.)
Poke (write) - the third-party application sends a value to the DDE Server,
which sends it to the specified signal in the controller.
9
Because of its ability to write data directly to nodes in the network, the DDE Server, like the
SigWrite utility, is password-protected.
Open BSI Application Note Using the DDE Server1

DDE references adhere to the following naming convention:
Service|Topic!Item
For purposes of Open BSI and the DDE Server,
Service is always BSAP
Topic is the node name, as defined in the NETDEF files.
Item is the signal name in the node. It m ust include the base
name, extension, attribute, and both separator periods, as
shown below:
base.extension.attribute
The exact details for definin g the DDE reference in the third-party application vary
from application to application. The examples that follow are for two Microsoft®
products: Excel and Visual Basic.
Examples - Excel
1) To issue a DDE advise message, which will allow you to display the current
value of a signal in a spreadsh eet cell, enter a formula in the cell where you
would like the data to appear, as follows:
=BSAP|node!'base.ext.attr'
where: node is the node name as defined in the NETDEF
files.
base.ext.attr is the signal name which will provide the data
value.
for example, to have the value of signal TANK3.LEVEL.01 from the node RPC2
displayed in a spreadsheet cell, enter the formula:
=BSAP|RPC2!’TANK3.LEVEL.01’
2) To issue a DDE poke message, whic h will allow you to write a value to a signal
in the controller, you must create an Excel macro as shown below:
=INITIATE("BSAP","node")
=POKE(cell1,"base.ext.attr",cell2)
=RETURN()
Using the DDE Server Open BSI Application Note2

where: node is the n o d e n ame as de fin ed i n the NETDE F
for example, the macro:
=INITIATE("BSAP","RPU7")
=POKE(C5,"STATION5.SETPNT.FLOW",E5)
=RETURN()
will take the value in cell E5, and send it to signal STATION5.SETPNT.FL OW
in node RPU7.
Examples - Visual Basic
files.
base.ext.attr is the signal which will receive the data from
the spreadsheet cell.
cell1 is the cell which contains the INITIATE
command.
cell2 is the cell which contains the data value.
1) To issue a DDE advise, the following properties are used for a text link:
LinkTopic BSAP|node
LinkItem base.ext.attr
LinkMode 1
The data is available as Caption.
2) To issue a DDE poke, use the following statements for a text box label:
LinkTopic =BSAP|node
LinkItem =base.ext.attr
LinkMode =2
Text =data
LinkPoke
Open BSI Application Note Using the DDE Server3