What is FANDA?
Fairmount Automation Network Data Access (FANDA) is an open protocol available in our Ethernet products (Chameleon, Smart Valve, etc.) that utilizes industry standard UDP multicast and SSH based client/server mechanisms to transfer data. It provides a relatively simple interface that allows applications to gain access to the device data and configuration.
- XML Data Type Definition
- UDP Multicast of Data to Many Receivers
- Embedded SSH Server to Read / Write Information
- XML Network Definition Library Dynamically Transmitted from Server that Defines Connections Details, Available Signal List, and Data Types
- FIPS Verified Libraries Used for SSH and Multicast Encryption
- Password or Public Key Based Credentials
- Free Software Development Kit, Example Projects, Network Browser, and OPC Server Available
Setup and Implementation Overview:
Using FANDA is easy and efficient. To begin, you must create variables in your Design Pad application and define them as a Global Variables. If you want access to the Global Variable over FANDA, select the type as Multicast and/or Read, Write, or None for the SSH interface. Variables can be both primitive data types and XML defined structured data types.
A FANDA network connection is initiated by one or more client applications attempting to create a secure connection with a FANDA SSH Server and providing the required authentication (username and password or public key). If accepted, the Server will respond over the encrypted link with the XML Network Definition Library (NDL). The NDL will provide a list of capabilities including multicast address, multicast decryption key (if needed), named list of available Global Variables (with Read/Write/None indication), and a detailed description of Global Variable data types and structure definitions. The NDL will automatically be retransmitted if the configuration changes. Once the client application has established these critical pieces of communication configuration information (and potentially dynamically configured itself to match the configuration), the client application can then exercise a variety of API commands to read and write to the complete set of available Global Variables, register to read the multicast, and interact with a variety of diagnostic functions.
This entire interface can be simulated from Design Pad. The simulation environment allows for evaluation and test of a FANDA client without the need of actual hardware.
FANDA OPC Server:
The free OPC Server is an OLE for Process Control (OPC) Data Access 2.0 Server that provides a communications interface to FANDA-enabled Ethernet products. The FANDA OPC Server makes it easy to interface industry standard Microsoft Windows based HMI and Data Historian Applications with Fairmount Automation equipment.
Once the FANDA interface and its Global Variables are configured in Design Pad and downloaded to the controller, they will form the basis of data exchange between the device and the FANDA OPC Server and Client running on a Windows based computer. The FANDA OPC Server connects your Ethernet capable Fairmount Automation control system devices (Chameleon, Smart Valve, etc.) to your OPC client applications (HMI, HISTORIANS, etc.) either running locally on the same PC as the FANDA OPC Server or remotely on a separate PC.
With the FANDA OPC Server and any Standard OPC Client Application, you can do the following:
- Define OPC Groups for selective time based data acquisition.
- Browse the Global Memory Namespace at design time
- Select data items and assign them to your OPC Groups.
Once the data item links have been defined, run the OPC Client Application and communicate directly with your FANDA-based control system.
FANDA Software Development Kit (FANDA SDK):
The FANDA protocol is open and its details are available for anyone to create a complete client interface using the software tools and a hardware platform of their choosing. Fairmount Automation also offers a packaged client FANDA Software Development Toolkit that implements the needed functionality to interface a custom software application running on Windows to our products.
The free toolkit provides DLLs and programming interfaces that can be used by your application. We also offer Visual Studio C++ projects for download that show illustrative examples on how to use the SDK.
If writing native real-time applications is a challenge for your organization’s skill set, then the Fairmount Automation Engineered Systems Group can provide a complete turnkey client application developed to your unique requirements. For more information, please contact the Fairmount Automation Sales Department.
The FANDA Browser is a simple client application that allows the user to connect to a FANDA server, view the real-time multicast data, and read / write the Global Variables over the SSH interface. It provides a useful tool for quickly interrogating a device for its information.