At the moment I have the transmission type of the PDOs I've mapped set to 253d, which is RTR Only. The default transmission type is 255d, which will initiate transmission on a change of value.
What's odd is that I can read each register to which I've mapped a value and it returns the correct register address. If I mapped three objects to TxPDO 3, I can read the register address, sub-index, and size (16 or 32-bit), for each one, but the number of mapped objects register will still read zero.
I'm expecting a 9881 module today, I'm told that it's a CANopen module and thus I can make use of the NI CANopen library. I was also told that the cRIOCANopenBasics project code isn't strictly CANopen compliant. I don't know why or what problems this might cause, but I'm going to try the other module in place of the 9853 and see if that works any better.