***Only the IOXp and 3XM/3XL can mask the Rx bus on an individual msg object basis, the older controllers only have the option to mask the entire bus!!!***

This example is for an IOXp, but the general idea is the same for all controllers.

Say you wanted to receive 400h through 405h on BUS0 on object 3. Heres how youd set it up:

Object 3 DefaultID: 400h
ESX CAN0 GlobalMaskShort: 7F8h

The 7F part tells the BUS that the first 2 hex numbers must be 40, but the 8 will let IDs 400h-407h through.
You cant get any tighter restrictions than what the bits will allow, so to allow 400-405 through you have to allow all messages through which affect those bits (including 406 and 407).

MASK
                            vvv - bits which arent checked (they are passed through)
7F8h = 111 1111 1000

Allowed IDs
400h = 100 0000 0000
401h = 100 0000 0001
402h = 100 0000 0010
403h = 100 0000 0011
404h = 100 0000 0100
405h = 100 0000 0101
406h = 100 0000 0110 - unavoidable
407h = 100 0000 0111 - unavoidable