The ARINC 717 VIs allows programming of MAX Technologies' devices supporting the ARINC 717 databus.
ARINC 717 Terminology
|ARINC 717||Avionics data bus mostly used with Flight Data Recorders (FDR).|
|Frame||A frame is composed of four subframes that repeat every four seconds.|
|Subframe||Inside a frame, each subframe occupies one second and contains 64, 128, 256, 512 or 1024 12-bit words. A subframe must start with a valid synchronization 12-bit word.|
|Synchronization Word||The first word in each subframe provides a frame synchronization pattern.|
|Word||12-bit data to be transmitted and/or received.|
|Raw mode||Raw mode is an alternative to the standard ARINC 717 subframe-based receive method. In raw mode, data is not assembled into subframes before being returned to the application. Data stream is parsed into 12-bit words and those are returned to the application. Subframe size must still be passed to the application to adjust receiving speed. Raw mode is an advanced receive method.|
LabVIEW ARINC 717 based applications must include Session VIs to create and terminate a Multibus session. A Multibus session is created by connecting to a MAX Technologies supported device like the FlexMulti 429 device. Refer to the Welcome section for all the currently supported devices.
Depending on the device capabilities, create a session using either Ethernet, USB or PCI/PXI Express link.
In the LabVIEW ARINC 717 application, the appropriate Connect VI (mbus Ethernet Connect.vi for an Ethernet connection) is placed in the app initialization. To end a session, mbus Terminate.vi must be placed to clean up tasks and terminate the session properly.
A session is created with the Connect VI and is maintained up to mbus Terminate.vi. A sessionHandle identifies the created session. The next step is to configure the ARINC 717 port.
The mbus Multi Protocol Select.vi selects ARINC 717 for one or multiple MULTI ports. It should be placed before configuring the port(s). Then, mbus A717 Port Config.vi configures the ARINC 717 port. The VI must be placed at the appropriate location, and in any case, after the Connect VI. The sessionHandle returned by the Connect VI must be wired to mbus A717 Port Config.vi. The mbus A717 Port Config.vi returns a portHandle that uniquely identifies this ARINC 717 port.
The mbus A717 Port Close.vi should be placed to the appropriate location to finish using the ARINC 717 port. It must be wired to the portHandle.
If multiple ARINC 717 ports are available on the hardware, the port number must be used to select desired port. Default port number is 0. The ARINC 717 port is configured with a bit encoding bitEncoding (default is Harvard Biphase), subFrameSize (default is 64 words), rawMode (default is false) and loopback (default is false).
Once the ARINC 717 port is configured, the port is activated and will buffer any received data from the physical bus if the loopback is set to false. If the loopback parameter is set to true, the port is configured to buffer received data from the port transmitter internally. In the context of a self test, the loopback parameter must be set to true. No hardware interface is needed.
Those five VIs form the basic ARINC 717 LabVIEW app data flow. The next step is to add the ARINC VIs to send or receive ARINC 717 frames.
To sequentially read incoming ARINC 717 databus frames, Multibus VI offers a Receive VI: mbus A717 Receive.vi. This function reads received ARINC 717 frames. mbus A717 Receive.vi function must be wired to the A717 Config Port function already placed.
To send ARINC 717 databus frames sequentially, Multibus VI offers a Send function: mbus A717 Send.vi. This function sends an ARINC 717 frames buffer. mbus A717 Send.vi function must be wired to the A717 Config Port function already placed.
The above figure shows basic wiring for a single read of received ARINC 717 frames. For continuous reading, mbus A717 Receive.vi must be included into a loop. The messages are populated in the a717SubFrames buffer. The a717SubFrames buffer is an array of ARINC 717 16-bit words.