I was going through ARINC429 part1-18 and found all the labels that are defined along with transmission bit and data encoding. What is the criteria for choosing BNR or BCD for data encoding ? Why are some BNR while rest are BCD ?
The general ARINC guideline for publishing data is to publish both BCD and BNR values when both types are defined. That allows the receiver of the data decide which to use. If only one form exists, then that's the way it's coded. It ultimately comes down to what the ARINC committee decided made the most sense.
Typically, BNR coded data is used by computational functions -- things that process the data value and expect the greatest precision in the number. They don't really care whether the number is easily readable.
BCD coded data is typically used by display systems as pilots like to read decimal numbers the numbers can easily be scaled to a readable display, e.g. DME range in NM rounded to the nearest 0.1 NM or bearing to the nearest 1 degree.
BCD is also used in control panels where the data is discrete decimal data (radio frequencies) and the crew enters a decimal value.