MC ECU Open.vi
- Updated2023-02-21
- 7 minute(s) read
MC ECU Open.vi
Purpose
Opens a specified A2L database and selects the first ECU found in the database. If there are several ECUs stored in the A2L database use the Database Open and ECU Select VIs.
Format
Input
![]() |
protocol and interface selects target communication protocol and the desired interface to use for this task. The Protocol and Interface input is required, as this parameter is not defined in the A2L database. The default baud rate for XCP or CCP on CAN, or the IP address for XCP on UDP/TCP, may be defined in the A2L database, but you can change it by setting the Interface Baud Rate or IP Address property with MC Set Property.vi. This parameter is expected to be a string with the format Protocol:Interface. Protocol supports:
Interface selects the transport layer and hardware interface to employ: Ethernet Use UDP or TCP as Interface. Supported with XCP protocol only. NI-CAN Use CANx as Interface to select the corresponding NI-CAN interface. The special CAN interface values 256 and 257 refer to virtual interfaces. For more information about using virtual interfaces, refer to the Frame to Channel Conversion section of Chapter 6, Using The Channel API, in the NI-CAN Hardware and Software User Manual. NI-XNET Use CANx@nixnet as Interface to select the corresponding NI-XNET interface as configured under Devices and Interfaces in MAX. For using NI-XNET hardware on CompactRIO or R Series hardware, you may need to create an FPGA bit file to enable access to the modules. Refer to NI-XNET documentation for information about creating and loading a bit file; use the regular NI-XNET string format.
NI 985x CAN modules Use CANx@BridgeBitFile.lvbitx as Interface. A bridge FPGA VI (found in the LabVIEW examples of ECU MC) must be compiled for the RIO target; BridgeBitFile.lvbitx represents the absolute file path of the resulting bit file. It will be downloaded to the FPGA automatically when opening the CAN interface. For Real-Time targets, the bit file must be transferred to the internal disk, and this local file path must be used. CANx refers to the name of the front panel controls used in the bridge FPGA VI (not to the module name in the LabVIEW project). Only a single 985x CAN interface is supported per FPGA target. Use CANx@RIOx,BridgeBitFile.lvbitx as Interface to also specify the RIO target. RIOx equals the RIO target name as defined in your LabVIEW Project definition. |
||||||
![]() |
DB path is a path to a A2L database file from which to get channel names. The file must use a .A2L extension. You can generate A2L database files with several 3rd party tools. | ||||||
![]() |
Error in is a cluster which describes error conditions occurring before the VI executes. If an error has already occurred, the VI returns the value of the error in cluster to error out.
|
||||||
![]() |
CAN interface specifies the CAN interface to use for this task. For compatibility reasons, if you are using the CCP protocol you can only specify the CAN interface to use for this CCP task. The interface input uses a ring typedef in which value 0 selects CAN0, value 1 selects CAN1, and so on. As the ECU M&C API is based on the NI-CAN Channel API, the NI-CAN Frame API cannot used on the same CAN network interface simultaneously. If the CAN network interface is already initialized in the Frame API, this function returns an error. If you use NI-XNET or CompactRIO/R Series hardware, use the protocol and interface parameter instead. |
Output
![]() |
ECU ref out is the task reference which links to the selected ECU. | ||||||
![]() |
Error out describes error conditions. If the Error in cluster indicated an error, the Error out cluster contains the same information. Otherwise, Error out describes the error status of this VI.
|
Description
MC ECU Open.vi opens a specified A2L database and selects the first ECU found in the database. If there are multiple ECUs stored in the A2L database, use MC Database Open.vi and MC ECU Select.vi to select a specific ECU.
Possible selections for the interface and protocol parameter for the various hardware targets are as follows.
Using Ethernet:
- XCP:UDP—uses XCP on UDP
- XCP:TCP—uses XCP on TCP
Using NI-CAN hardware:
- CCP:CAN0—uses CCP on CAN interface 0
- CCP:CAN1—uses CCP on CAN interface 1, and so on with the form CANx
- CCP:CAN256—uses CCP on virtual CAN interface 256
- CCP:CAN257—uses CCP on virtual CAN interface 257
- XCP:CAN0—uses XCP on CAN interface 0
- XCP:CAN1—uses XCP on CAN interface 1, and so on with the form CANx
Using NI-XNET hardware with frame-based sessions:
- CCP:CAN1@nixnet—uses CCP on CAN interface 1
- CCP:CAN2@nixnet—uses CCP on CAN interface 2, and so on with the form CANx
- XCP:CAN1@nixnet—uses XCP on CAN interface 1
- XCP:CAN2@nixnet—uses XCP on CAN interface 2, and so on with the form CANx
Using NI-XNET hardware with stream-based sessions:
- CCP:CAN1@ni_genie_nixnet—uses CCP on CAN interface 1
- CCP:CAN2@ni_genie_nixnet—uses CCP on CAN interface 2, and so on with the form CANx
- XCP:CAN1@ni_genie_nixnet—uses XCP on CAN interface 1
- XCP:CAN2@ni_genie_nixnet—uses XCP on CAN interface 2, and so on with the form CANx
Using CompactRIO or R Series:
- CCP:CAN0@RIO1,c:\temp\MyFpgaBitfile.lvbitx—uses CCP on named target RIO1 as compiled into the bit file at c:\temp\MyFpgaBitfile.lvbitx
- XCP:CAN0@RIO1,c:\temp\MyFpgaBitfile.lvbitx—uses XCP on named target RIO1 as compiled into the bit file at c:\temp\MyFpgaBitfile.lvbitx
- CCP:CAN0@/MyFpgaBitfile.lvbitx—uses CCP on default RIO target as compiled into the bit file placed into the root directory of the RT target
- XCP:CAN0@/MyFpgaBitfile.lvbitx—uses XCP on default RIO target as compiled into the bit file placed into the root directory of the RT target
![]() |
Note You can download the ASAM MCD 2MC database configuration file to a LabVIEW RT target using File Transfer Protocol (FTP). An FTP file transfer is possible within MAX. Refer to the LabVIEW Real-Time (RT) Configuration topic for instructions on performing an FTP transfer through MAX. |