4 Software
G PCIe 6281
18
4 Software
The following options are available for integrating the
G PCIe 6281
Multibus Controller into your own applica-
tions:
•
Create your own applications by programming with
•
Create your own applications by programming with
•
Creating your own onboard programs through
4.1 Programming via G-API
The
G-API
( GOEPEL-API) is the C-based user interface for
GOEPEL electronics
hardware under Windows and
Linux. It provides a comprehensive, hardware-independent instruction set for CAN, CAN FD, LIN, K-Line, MOST,
FlexRay, Ethernet, LVDS, SENT, analog and digital I/O, and diagnostic services. No matter if a PXIe/ PCIe, USB or
Ethernet device is used - the commands are the same. The hardware abstraction associated with the
G-API
al-
lows the test application parallel access to the hardware. This allows an application to access multiple hard-
ware interfaces. On the other hand, several applications can access the same hardware interface in parallel. An-
other feature of the
G-API
is asynchronous hardware access. This means: No execution restrictions for waiting
firmware commands. The command acknowledgment is delivered via a callback mechanism.
With the
HardwareExplorer
,
GOEPEL electronics
provides a hardware configuration and management tool that
gives users a convenient way to manage their hardware configurations and access logical names to each hard-
ware interface (see
). Using logical names eliminates the need to recompile the application
when switching to another interface or controller board: The interfaces can be easily reassigned in the
Hardware-
Explorer
.
Please use the
G-API
documentation for more information. This documentation and the installation
software can be found in the
G-API
folder of the supplied "Product Information" CD
4.2 Programming via LabVIEW
The supplied CD contains a VI collection that can be used to access the
G PCIe 6281
Multibus Controller under
LabVIEW. The LabVIEW VIs use the functions of the
G-API
.
4.3 UserCode Programming
The
G PCIe 6281
Multibus Controller can execute user programs directly on the internal processor. This requires
an activation of the UserCode run-time module. The UserCode Run-Time module is optionally offered for con-
troller boards of the
Series 62
(and other
GOEPEL electronics
hardware) and requires one license per board.
Executing programs directly on the processor significantly improves real-time performance and relieves the PCI
bus of the host computer. For this purpose,
GOEPEL electronics
has ported the existing
G-API
for Windows to
the QNX Neutrino real-time operating system and extended it with additional onboard functionalities. The QNX
Neutrino real-time operating system is based on a microkernel architecture, which is characterized by a clean
separation of kernel and application. This makes it possible to execute user programs in their own virtual memo-
ry, which guarantees secure program execution and improves stability. For a smooth porting of existing program
source codes, the UserCode onboard
G-API
uses an image of the familiar Windows
G-API
commands. In ad-
dition, additional functions provide access to event handling, timer tasks, as well as the FLASH file systems and
other operating system resources, as well as to the standard C libraries. In UserCode programming, note that the
processor uses a little-endian byte order. For easier porting, endian conversion macros are included with the
Net2Run IDE
development system. With the
Net2Run IDE
development system,
GOEPEL electronics
offers a
complete set of development tools for creating UserCode programs and directly executing them on
Series 62
controller boards. The
Net2Run IDE
development system is based on Eclipse IDE and includes the QNX Neutrino
Command Line Tools (CLT), including compiler, linker and debugger.