Okay

Get in Touch

General
(508) 921-4600
Email Sales
Email Support

UEI Europe Office
+49 40 63698136
Email EU Sales

Visit this page for local offices and distributors.

Two Ways to Deploy UEI DAQ: PowerDNA vs. UEIPAC Explained

Introduction

United Electronic Industries offers two operating modes for deploying UEI data acquisition systems. This article provides an overview and comparison of the two operating modes: PowerDNA (hosted) and UEIPAC(embedded). An overview of the data acquisition modes that are available in UEI systems is also provided along with some comparisons of performance based on system configuration, i.e., operating mode, data acquisition mode, and CPU.

In PowerDNA Mode (Distributed Network Architecture) your application runs on a host PC under almost any OS including Windows, Linux, and VxWorks and can control any type of UEI chassis over Ethernet. The PowerDNA hardware runs dedicated firmware and uses a UDP-based protocol named DAQBios to communicate with the host PC. The PowerDNA API implements the DAQBios protocol to ease application programming. Almost any programming language is supported. All languages use the same API, so your software design is portable. PowerDNA series chassis act as I/O slaves supervised by an application running on a host PC. The PowerDNA hardware can’t do anything useful without the application, which must run at all times. This configuration works well in both data acquisition and control applications.

UEIPAC (Programmable Automation Controller) systems are UEI’s standalone/embedded configuration. Applications run directly on the hardware. Code is compiled on a development PC and then downloaded to the UEIPAC. UEIPAC systems run a standard Linux or VxWorks operating system. UEIPACs are perfect for embedded control and monitoring applications. The same PowerDNA API used in PowerDNA mode is also used in UEIPAC mode to control the local I/O cards.

PowerDNA Server

For UEIPAC systems, UEI provides PowerDNA Server. PowerDNA Server is a user application that implements the DAQBios protocol. This allows the UEIPAC to be accessed by remote applications (such as PowerDNA Explorer) the same way those applications would access PowerDNA mode slave hardware.

Interoperability

A UEIPAC application can communicate with other PDNA units on the network using the DaqBIOS protocol to collect data and control I/O. In this case, the UEIPAC is a master to a slave PowerDNA unit. A UEIPAC unit can also communicate with other UEIPAC units over DaqBIOS if those units have PowerDNA Server running.

User/kernel Separation for UEIPAC Systems

Note that user/kernel separation is enabled on UEIPAC systems. The Linux kernel runs on ring0 on Intel CPUs or supervisor mode for ARM processors. User applications run on ring3 on Intel CPUs or user mode for ARM processors. This prevents user applications from accessing kernel memory and from interfering with the memory of other applications. User applications make calls to the PDNA library which calls the kernel driver.

Systems Latencies

Note that when compared to a standalone UEIPAC system, hosted systems and systems with a slave UEIPAC running PowerDNA Server will have latencies with regard to IO performance. For the latter two types of systems, there is network overhead. For UEIPAC systems running PowerDNA Server, the larger Linux kernel (versus PowerDNA systems’ embedded firmware) and additional layers of software that need to be crossed are also factors.

Application Development

For application development, UEI provides our low-level C API. The low-level API provides direct access to the DAQBIOS protocol and is intended for speed-optimization, when programming unconventional functionality, or when programming under Linux or real-time operating systems. Applications utilizing the low-level API can run in either PowerDNA mode or UEIPAC mode.

Alternatively, the UeiDaq Framework is available for Windows users. The Framework is object-oriented and provides support for C++, Python, .NET languages, LabVIEW, and more. ANSI C support is also provided. The Framework simplifies the low-level API, making programming easier and faster while still providing access to the majority of low-level API features.

Data Acquisition Modes

UEI offers data acquisition and control modes that satisfy an assortment of application requirements. A summary of these modes is provided below. See FAQ | Data Acquisition Modes for more detailed information.

Data Acquisition Modes

* Note that maximum speeds for RtDMap, RtVMap, ADMap, and AVMap are additionally limited by system hardware. Acquisition speeds for PowerDNA systems are limited by the speed of your Ethernet port.

IP Addressing and Deployment

Because applications developed in PowerDNA mode and UEIPAC mode use the same API, applications can easily be developed on a PowerDNA system and deployed on a UEIPAC system provided the application does not use data acquisition modes that are not supported by UEIPAC, e.g., ACB. This supports initial development and a smoother transition to deployment.

The PowerDNA API uses IP address to generate handles (opaque identifiers) to represent IO enclosures. A handle to remote IOs is defined by the actual IP address of the remote slave PowerDNA module. A handle to local IOs (on a UEIPAC) is defined by using an empty IP address or the loopback IP address "127.0.0.1".