There are five steps to accessing I/O on the LabVIEW platform in MxVDev:
First the I/O sub-system and its channel must be “enumerated” and MxNet informed about the device and channels. LabVIEW provides blocks to query the system for hardware, then the devices are registered with MxNet, then each channel is registered with that device. This gives MxNet all the information it needs for the next step, selecting which channels are on or actually in-use by the system. After MIO devices are enumerated, CAN devices are enumerated, CCP conduits are enumerated, and then custom devices are enumerated (a custom device is used for FPGA support). For CAN, CCP, and Transport devices, their configuration must be edited and stored in a top-level VI (such as Example.vi). |
MxNet provides simple VIs to mark a channel active or inactive. This is most critical for the digital I/O sub-system as each pin can be configured as either an input or an output and the VI system needs to know which way to configure the channel. Analog, CAN, Transport, CCP, etc. default to all channels enabled; where-as digital I/O defaults to disabled. |
For most devices, (MIO, CAN, Transport, and CCP), no changes are required to the I/O loop. However, if a new custom device is added, then corresponding changes to the Read, Process, and Write I/O must be made to add customized VI blocks to handle the new I/O. “Example.vi” currently routes all Custom (or User) device I/O to the FPGA stub VI. |
Once the I/O is added to the back end VIs, the I/O must be added to the front end transform in MxTransIt. Instruct the LabVIEW connector transform to Enumerate and it will query the back-end for all the information it needs to reconfigure itself with the new I/O. Alternatively, you can edit the guts of the LabVIEW connector transform manually by double-clicking on it within MxTransIt. Any new I/O should be Exported (Transform‑>Export Ports) to expose the I/O to MxVDev. |
Once the transform is configured, reload MxVDev and it should ask to add the new I/O to the signal dictionary – answer yes (or add the signals manually to the data dictionary) and the signals are then available for use in test-cases. |