Modbus has been the de facto communication protocol for many years, used in many industrial applications. Part of the reason for its adoption is it’s easy to use and an open standard. Originally it was designed with limited single bit or 16-bit registers which at the time worked perfectly with monitoring buttons and driving coils. As PC’s and DAQ evolved, Modbus also did. For supporting 32-bit floating point or even 64-bit double precision values the method was to simply combine multiple registers together. The same concept can be applied for streams of data, such as RS-232/RS-485 signals or even avionics signals such as ARINC-429.
ARINC-429 is a 32-bit fixed length message which can be easily contained within 2 consecutive Modbus registers. For writing an ARINC message, a user simply has to write the data into the appropriate registers through their preferred Modbus master. Reading is accomplished in a similar fashion where the Modbus master reads from the appropriate registers to see what data has been received.
Here at UEI we’ve simplified most of the reading and writing. For example, for reading data you can set up specific labels that you’re looking to receive. Each channel can have multiple labels configured and a read from the Modbus master will get the most recent message along with SDI, SSM, and timestamp of when the message was received. For transmitting messages, the user can select it to be one-shot and immediately output upon write or to continuously output the message at a specified rate. Flexibility is key so all of our ARINC boards support configurable baud rate, for low (12.5Khz) and high (100kHz) speed ARINC and various encodings (BNR, BCD, or raw) on a per channel basis.