Monitor Pro 7.2 DDE to Excel: Configure FSR Task and DDE Syntax

Karen Mitchell11 min read
SCADA ConfigurationTutorial / How-toWonderware
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview

Monitor Pro 7.2 (the Wonderware/ABB-branded successor to FactoryLink) exposes its real-time database (RTDB) to external Windows applications through legacy dynamic data exchange (DDE), OLE for Process Control (OPC), and DDE-based Excel links. This article covers the canonical DDE path: configuring the FLDDESRV task (flag FSR) inside Monitor Pro and consuming the published items from Microsoft Excel 2003 using the flapp1.shareusr|RTDB!tagname syntax. Although OPC DA is the recommended modern integration, DDE remains the lowest-friction path for spreadsheets, ad-hoc reports, and proof-of-concept dashboards because it requires no SDK, no driver, and no extra Microsoft component beyond the built-in DDE support in Office 2003.

The article also clarifies the role of the FLAPP, FLNAME, and FLUSER environment variables, the formula syntax accepted by Excel's DDE() function, and the licensing model (Client Access Licenses, or CALs) that gates every external data consumer.

Scope: Monitor Pro 7.2 (also branded as ABB Monitor Pro or Schneider-Electric Monitor Pro in later releases) and Microsoft Excel 2003. Newer Excel builds progressively removed the DDE client stack; if you are on Excel 2010 or later, see the OPC DA fallback in the final section.

Prerequisites

  1. Monitor Pro 7.2 server installed and licensed on the host (or a remote host reachable from the Excel client machine).
  2. An RTDB configured with at least one tag (e.g. DATETIME, SECTIME, or a user-defined analog/digital point).
  3. At least one Client Access License (CAL) available on the server. Every active external connection (DDE, OPC, OLE, Client Builder, third-party client) consumes one CAL. CALs are concurrent; you may install many clients but only the number of purchased CALs may connect simultaneously.
  4. Microsoft Excel 2003 (or any version that still ships the DDE client — Excel 97/2000/2002/2003 are confirmed; Excel 2007 partial; 2010+ removed). Reference the Microsoft DDE function reference for cell-level syntax and supported operations.
  5. Network and DDE share rights: the user running Excel must have read access to the Monitor Pro RTDB share, and the Monitor Pro service must be running as a user with full RTDB read/write privileges.

Monitor Pro DDE Server Architecture

Monitor Pro does not bind DDE into the kernel or the I/O server process. Instead, the product relies on a child task, FLDDESRV, started by the FSR (FL Server Requester) launcher. The launcher reads a series of environment variables and command-line switches, locates the application directory, and starts the DDE server in the user's session. The server then advertises three DDE items by default:

  • SYSTEM — system status and runtime statistics
  • RTDB — direct read access to real-time database tags (the canonical one used by Excel)
  • ALARM — alarm summary items

The DDE service name, topic, and item together define the application|topic!item triple that the Microsoft DDE protocol uses to address any data point. The service name is constructed from FLNAME (the application alias) and FLUSER (the logical user). The topic is fixed to RTDB for live data, ALARM for alarm data, and SYSTEM for system state.

Environment Variables: FLAPP, FLNAME, FLUSER

Three environment variables control how Monitor Pro resolves a DDE request. They are typically set by the Monitor Pro startup shortcut, by the Windows service wrapper, or manually in the System Properties dialog.

Variable Meaning Example Value Used In DDE Address As
FLAPP Full path (including drive letter) to the directory containing the Monitor Pro application files (RTDB, mimic, scripts, configurations). C:\MonitorPro\MyPlant Indirect — used by the server to locate the RTDB files; not embedded in the DDE address.
FLNAME Application name. The FLNAME value becomes the leftmost identifier (the DDE "service name") that clients use to open a conversation. flapp1 Leftmost identifier in FLNAME.shareusr|RTDB!tag.
FLUSER Logical user name under which the conversation is opened. Acts as the DDE "topic" in the address string when RTDB is the topic; it controls which logical user the client is connecting as for permission and licensing purposes. shareusr Middle identifier between the DDE service name and the pipe-delimited topic (RTDB).

The DDE address syntax follows the Microsoft DDE convention:

=FLNAME.FLUSER|RTDB!'tag_name'

Substituting the example values above:

=flapp1.shareusr|RTDB!'SECTIME'

To confirm the variables currently in scope on the server, open a CMD prompt and run set FL. Excel reads these names from the parent shell it inherited at launch; if you change the variables, you must restart Excel for the new address to resolve.

Case sensitivity: DDE itself is case-insensitive, but the tag name in single quotes must match the RTDB tag exactly as defined in the Monitor Pro point editor, including underscores and embedded spaces.

Configuring the FLDDESRV Task in Monitor Pro

  1. Open the Monitor Pro Configuration Explorer.
  2. Expand the System node in the tree on the left.
  3. Right-click Tasks and choose Add Task.
  4. Set the task parameters exactly as follows:
    • Flag: FSR
    • Task Name: FLDDESRV
    • Path: /bin/flddesrv (relative to FLAPP; resolves to %FLAPP%\bin\flddesrv.exe)
  5. Save the configuration. The task will start the next time the Monitor Pro runtime is brought up.

Once the FSR task is running, the FLDDESRV process registers the DDE service with Windows. You can confirm it is alive with the Microsoft DDE test utility DDEML (third-party) or by attempting a connection from Excel (see the next section). If the process is not present in Task Manager after a Monitor Pro restart, check the system log under FLAPP\log for the launch failure reason — most commonly a missing FLAPP variable, an unreadable application directory, or an absent RTDB file.

Excel 2003 DDE Formula Syntax

Excel 2003 supports two equivalent ways to bind a cell to a DDE item.

Method 1: Direct DDE Formula

Type the DDE address directly into a cell as a formula. Excel resolves the conversation when the sheet is opened or when the cell is recalculated.

=flapp1.shareusr|RTDB!'DATETIME'
=flapp1.shareusr|RTDB!'SECTIME'
=flapp1.shareusr|RTDB!'MY_PLANT.TANK_LEVEL'
=flapp1.shareusr|RTDB!'MY_PLANT.PUMP_01.STATUS'

The pipe character separates the DDE topic (RTDB) from the item, and the single-quoted item is the tag name. Hierarchical RTDB paths are dot-delimited.

Method 2: DDE() Function

Excel's built-in DDE() function wraps the same protocol but adds error handling. The Microsoft DDE function reference documents the full signature; the typical form is:

=DDE("flapp1","RTDB","DATETIME")
=DDE("flapp1","shareusr|RTDB","SECTIME")

Wrapping IFERROR() (Excel 2007+) or ISERROR() (Excel 2003) around DDE() lets you replace transient "server busy" errors with a blank or a fixed string:

=IFERROR(DDE("flapp1","shareusr|RTDB","TANK_LEVEL"),"--")

Method 3: Paste Link from Copy

When you copy a DDE formula and use Edit > Paste Special > Paste Link, Excel creates a reference to the cell containing the formula. This is the recommended way to replicate one DDE point across a sheet without re-typing the full address.

Client Access License (CAL) Behavior

Every DDE, OPC, OLE, or Client Builder connection to the Monitor Pro server consumes one Client Access License. CALs are enforced by the server, not by the client. The licensing rules observed in production deployments are:

  • CALs are concurrent — the same client can reconnect any number of times, but only N simultaneous external consumers may read data, where N is the count of purchased CALs.
  • CALs are per-server, not per-machine. If you have two Client Builders on the same PC they typically share a single CAL, while two OPC clients on two PCs each consume one CAL.
  • An OPC connection to the Monitor Pro server costs 1 CAL; the same is true for a DDE Excel session. A single Excel workbook opening K DDE conversations counts as K external connections, but the server usually only charges one CAL because they share a single process context.
  • When all CALs are consumed, the server returns "There are no available license" to subsequent connection attempts and silently drops updates to existing clients in some legacy builds. There is no out-of-band warning; monitor the FSR task log.
Practical consequence: if you intend to read from LabVIEW, Client Builder, and Excel at the same time, you need at least 3 CALs on the server, regardless of whether they are on the same physical machine. Co-located applications do not collapse to a single CAL.

Step-by-Step: Wiring a Live Cell to a Monitor Pro Tag

  1. Confirm FLDDESRV is registered. From the Windows Run dialog, type ddeml /q or open a CMD and run tasklist | findstr flddesrv. The process should be present.
  2. Start Excel 2003. If Excel was already running when you changed FLNAME or FLUSER, close and re-open it so the DDE cache is cleared.
  3. Click the target cell (e.g. A1).
  4. Type the formula: =flapp1.shareusr|RTDB!'SECTIME' (substitute your FLNAME and FLUSER values).
  5. Press Enter. The cell should immediately display the seconds-since-epoch counter from the RTDB.
  6. To force continuous update, press F9 (recalculate) or enable iterative calculation and set a short recalculation interval under Tools > Options > Calculation.
  7. To test the conversation lifecycle, watch the FLDDESRV task in the Monitor Pro Task Manager view: it should report one active DDE conversation while the workbook is open and zero after it is closed.

Verification

After configuration, run this checklist:

  • Process presence: FLDDESRV.exe is listed in Task Manager while the Monitor Pro service is running.
  • Service registration: open DDESHARE (Windows 2000/XP resource kit) or DDEView and confirm the flapp1 service is registered with the RTDB topic.
  • Cell value: the Excel cell updates without manual recalculation. A tag with a continuously changing value (e.g. SECTIME, DATETIME) is the best smoke test.
  • CAL consumption: Monitor Pro's runtime status screen should increment the active external connections count by 1 when the workbook opens, and decrement it when the workbook closes.
  • Log review: no FSR errors appear in %FLAPP%\log\flddesrv.log within the first 60 seconds.

Troubleshooting Matrix

Symptom Likely Cause Diagnostic Fix
Cell displays #REF! immediately FLDDESRV not running, or wrong service name Task Manager; set FL on server Restart Monitor Pro; correct FLNAME; reopen Excel
Cell shows #N/A with no update Tag name misspelled or RTDB not loaded Open point in Monitor Pro editor Match exact spelling (case-insensitive but underscore-sensitive)
Cell freezes on a single value DDE Advise loop dropped Check FSR log; toggle Edit > Links Re-establish the link; ensure FSR is not restarting
Server reports "There are no available license" All CALs consumed by other clients Runtime status screen > External Connections Close other external clients or purchase additional CALs
Excel shows Server Busy dialog on open Race between Excel launch and FSR startup Task Manager timing Delay Excel startup via logon script; or click Retry until FSR is up
Updates stop after some time DDE timeout from Windows networking Event Viewer > Application log Disable SMB signing, or switch to OPC DA
Workbook works locally but not from a remote PC DDE is session-scoped, not network-aware Test from server console Use OPC DA over TCP/IP for remote access

OPC DA Alternative (Recommended for Excel 2010+)

DDE is session-scoped — it works only when Excel and Monitor Pro are running in the same Windows session, typically on the same PC. If you need cross-machine access, or you are on Excel 2010 or later (which dropped the DDE client), use OPC DA:

  1. On the server, start the OPC task FLOPCSV with flag FSR, analogous to FLDDESRV.
  2. On the client PC, install a small OPC-DA-to-Excel bridge, e.g. the open-source OPC Data Client or the commercial MatrikonOPC Excel Add-in.
  3. Bind Excel cells to OPC items using the bridge's ribbon UI; the cell formula is then a normal Excel reference.

OPC DA honors the same CAL accounting: one OPC connection = one CAL. If you have multiple Excel add-ins reading from the same Monitor Pro server, budget CALs accordingly.

Security and Reliability Notes

  • Microsoft has progressively deprecated DDE. Office 2010 and later block most DDE conversations by default, and Microsoft Defender Application Control policies can permanently disable DDE. If you must remain on DDE, freeze the version of Office or whitelist the FSR binary in WDAC.
  • DDE is not encrypted and not authenticated. Treat any DDE link as a trusted-LAN-only integration; do not expose the Monitor Pro server to the public internet.
  • The FSR task inherits the security token of the Monitor Pro service account. Do not start the Monitor Pro service as a highly privileged account; a domain user with read/write to the RTDB directory is sufficient.
  • DDE updates are best-effort. Excel will silently display the last value if the FSR task is restarted; for mission-critical reporting, write to a CSV file (via a Client Builder script) and import the CSV into Excel instead.
Field-proven tip: for high-frequency tags (sub-second), DDE on Excel is the wrong tool. Excel recalculation latency and the absence of subscription timeouts will cause value aliasing. Use the OPC DA bridge with auto-update on data change mode for fast tags, or push the data to a SQL historian and read from there.

FAQ

What does FLNAME refer to in the Monitor Pro DDE address?

FLNAME is the application name that Monitor Pro publishes as the DDE service name. It is set as a Windows environment variable by the Monitor Pro startup shortcut and forms the leftmost identifier in the Excel DDE formula, for example =flapp1.shareusr|RTDB!'tag'.

What is FLUSER and why is it part of the DDE syntax?

FLUSER is the logical user name under which the DDE conversation is opened. It controls the user identity the server sees and is encoded between the DDE service name and the pipe-delimited topic, e.g. flapp1.shareusr|RTDB!tag. The typical value is shareusr for a generic read-only user.

Do I need a Client Access License (CAL) for DDE to Excel?

Yes. Every DDE, OPC, OLE, or Client Builder connection consumes one concurrent CAL on the Monitor Pro server. CALs are enforced server-side; running out of CALs surfaces as "There are no available license" errors. Co-located applications do not collapse to a single CAL.

Why does my DDE cell freeze on a single value?

Most often because the FSR task restarted (check the FSR log) or because Excel's DDE advise loop timed out. Reopen the workbook, confirm FLDDESRV is still running, and watch the Monitor Pro external-connection count to confirm the conversation was re-established.

How do I read Monitor Pro tags from Excel 2010 or later?

Excel 2010 and later no longer ship a working DDE client. Switch to OPC DA: start the FLOPCSV task on the Monitor Pro server and use an OPC-DA-to-Excel bridge (such as the MatrikonOPC Excel add-in) on the client machine. OPC DA is also the only supported way to read from a remote Monitor Pro server.

Back to blog