NI Powertrain Controls Users

Highlighted

ECS Example Project for NI LabVIEW

Overview

The ECS Example Project for NI LabVIEW is a free, open-source example application for use with NI Powertrain Controls Engine Control System (ECS) hardware platforms.  The ECS Example project is NOT a turn-key solution for all engines, but rather a very comprehensive starting point to begin writing your engine control software.  The goals of the ECS Example Project are the following:

  1. Introduce users to programming engine control systems in LabVIEW (setting up the project, loop structures, programming practices, etc.)
  2. Familiarize users with NI CAS, SCM, and the Powertrain Controls device drivers, both independently and as an integrated system
  3. Give users a solid foundation for developing a custom control application on their ECS platform via an efficient, maintainable software architecture
  4. Provide numerous examples of tested control strategies and algorithms

Host.png

RT.JPG

Software Features

The following features are included in the ECS Example Project:

Hardware Layer

-Pre-configured for ECS-100X, ECS-140X, and EDIDS-24XX platform support

-Controls, indicators, and faults for all C-Series modules, including runtime documentation (tip strips)

-Universal EPTx engine position tracking software supports ANY cam / crank pattern (1 primary pattern and up to 4 auxilliary patterns)

-Configurable digital input channel mapping to minimize FPGA changes

-Up to 8 cylinder DI, PFI, and spark (TTL)

-Up to 8 current control phases within injection pulses

-Automatic throttle position calibration

Engine Layer

-Industry-standard automotive sensor signals (MAP,IAT, ECT, MAF, etc.)

-Software filtering

-Channel mapping

-Engineering unit conversion tables

-Rail Pressure

     -Medium pressure common rail using synchronous solenoid pump

     -High pressure common rail using IMV / HPV (rotary pump)

-Direct Injector / Port Fuel Injector

     -Flow calibration

-Spark Ignition

     -Spark dwell calibration

     -Up to 3 restrikes

Control Layer

-Load command

     -Idle governors (low and high)

-Lambda command

-Air systems

     -Intake air measured (speed/density or MAF)

     -Intake air desired (MAF, MAP, MEP)

     -EGR estimation and control (high pressure and low pressure)

     -VVT control (intake and exhaust)

     -Throttle control

     -Boost control (wastegate, variable geometry turbocharger (VGT), bypass valve)

-Fuel Systems

     -Fueling strategy (fuel-follows-air, air-follows-fuel, closed-loop lambda, closed-loop CA50, fuel cut, etc.)

     -Rail pressure target

     -Injection strategy (up to 5 injections per cylinder per cycle, fuel splits, cylinder balancing, timings, etc.)

-Cranking override

-Manual software overrides for nearly every control variable

Required Software (for latest build)


  • LabVIEW 2015 (32-bit)
  • LabVIEW RT Module
  • LabVIEW FPGA Module
  • NI-RIO Device Drivers 15 or later
  • NI-XNET Device Drivers 15 or later
  • Xilinx Tools for compiling FPGA
  • Powertrain Control Device Drivers 2.140.0.37
  • Software Calibration Management Toolkit for LabVIEW 2015 (formerly known as CalVIEW)
  • Combustion Analysis Software for LabVIEW 2015 (formerly known as DCAT)


Open Source

This add-on is provided open-source and is available for download from GitHub.  If you are interested in contributing your code additions back to the toolkit, please post in our feedback forum linked further down on this page.

Revision History

ECS_2015.0.3

  • Fixed bug in Control - Direct Injection.vi which prevented FOR loop from running
  • Changed Calpoints in Hardware Out - 9759-1 (Throttle).vi to read from Cal File calibration
  • Changed DI Pulse Check.vi to only indicate a pulse overlap if relevant channels are enabled
  • Changed SparkAdv_Man Calpoint in Control - Spark.vi to an array instead of scalar (individual cylinder manual advance)
  • Overhaul of Host VI plot look and feel
  • Added a disable button for the XNET VI to prevent unnecessary faults
  • Moved several calpoints outside of conditional disables in Hardware In - ECS - EPTx Interface.vi
  • Removed cvi_lvrt.dll from project directory (no longer needed for LabVIEW 2015)

ECS_2015.0.2

  • Added FPGA knock processing on PXI-based ECS
  • Added support for NI NOx sensors using XNET interface (includes XNET database)
  • Updated all top level host VIs
  • Updated Diesel, GDI, and PFI control layers
  • Added Stop button to Real-Time for interactive deployment
  • Fixed bug in Engine Out - Direct Injectors.vi which prevent 0 injection duration if the min injection was above 0
  • Added NI-XNET Device Drivers 15 or later to the required software list

ECS_2015.0.1

  • Updated compatibility with Powertrain Controls Device Drivers 2.140.0.37
  • Removed depricated FPGA VIs

ECS_2015.0

  • 2015 Update
  • Updated all FPGAs to use EPTx (formerly EPT RevC)
  • Moderate Real-Time SW architecture updates
  • Revised HW out subVIs
  • Added Tau-X VIs for PFI (not used)
  • Added TDK Lambda Genesys power supply support


3.140.14955

  • 2014 Update
  • Moderate SW architecture updates
  • Added EDIDS hardware layer

3.130.14345

  • Initial Release
  • Diesel, GDI, and PFI Engine and Control Layers
  • PXI-Based ECS-100X and cRIO-based ECS-140X Hardware Layers

Known Issues

  1. None at this time

Support and Contact

This add-on is provided as open-source software.  If it does not meet your exact specification, you are encouraged to modify the source code to meet your needs.

If you encounter a problem with this add-on, or if you have suggestions for a future revision, please post to the forum for this add-on ECS Example Project FeedbackYou must use this feedback forum for support. Do not call National Instruments for support for this add-on.

National Instruments does not support this code or guarantee its quality in any way.  THIS EXAMPLE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).

Downloads

  • To begin using the ECS Example Project, visit GitHub for the latest version download.  Unzip, open in LabVIEW, and use as any other LabVIEW project.
Message 1 of 5
(7,496 Views)
4 REPLIES 4

Re: ECS Example Project for NI LabVIEW

Is it possible to have a version posted that can be opened with LV2013?

Thanks!

0 Kudos
Message 2 of 5
(4,023 Views)

Re: ECS Example Project for NI LabVIEW

I just posted the LabVIEW 2013 release of the ECS example project here as well.  (V3.130.14345) This is not the same project saved backwards for LabVIEW 2013.  It is a previous release with fewer features and bugfixes.   

0 Kudos
Message 3 of 5
(4,023 Views)

Re: ECS Example Project for NI LabVIEW

Hi Kurt, 

I am working on learning the system parts before jumping into the whole ECS project. So I started with NOx Measurement VI. The project propose NI 9853 CAN for NOx Measurement which is an FPGA module, is it possible to use NI 9862 (RT module) for the this purpose?

Thanks

 

Muataz 

0 Kudos
Message 4 of 5
(3,720 Views)

Re: ECS Example Project for NI LabVIEW

Muataz,

 

Please post your question in the ECS Example Project Feedback Forum.

0 Kudos
Message 5 of 5
(3,668 Views)
Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.