How to transfer data between RS-422 and RS-485 ports?
At its simplest level, both RS-422 and RS-485 are extensions of RS-232.  You can think of them as an RS-232 extension cord.  It is possible to buy a USB to RS-485 converter for your PC, which is just like a USB to RS-232 converter except it as a different electrical interface.

The big difference between the them is that RS-232 uses single-end cabling, and RS-422 and RS-485 use differential cabling, which allows for much greater cable lengths (4000 ft for RS-422 and RS-485, vs 50 ft for RS-232 -- although many people run RS-232 cables longer than that).  Data rates for RS-422 and RS-485 are considerably higher than RS-232 also.

RS-422 and RS-485 also allow a master-slave network to be set up.  RS-422 does not tri-state their transmitters, whereas RS-485 does, so RS-485 can have more nodes -- 32 drivers and 32 receiver vs 1 driver and 10 for receivers RS-422.  Otherwise they are essentially the same.  In fact, since they have the same voltage levels, you can put RS-422 receivers on a RS-485 network with some restrictions.



RS-422 and RS-485 do not specify any particular protocol, unlike RS-232 which has a specific protocol that is familiar to almost any programmer.  As a result, it is possible to use the regular RS-232 protocol over an RS-422 and RS-485 interface, as long as there are only two nodes.  If there are multiple nodes, then there has to be a method of addressing which slave is to be addressed.  One can layer the addressing scheme on top of RS-232 if desired,or use another protocol (addressing is all done in software, not hardware).

If one is already using RS-232 in their program, and want to use a RS-485 on a two node network, there are no changes necessary.

If you have installed an RS-422 or RS-485 interface with Windows, there should be drivers that allow you to talk to the interface directly (unless you are using a USB to RS-422/RS-485 cable as mentioned earlier, and then the cable would appear as a COM port just like RS-232).

BACnet MS/TP (Master-Slave/Token-Passing.) devices use RS-485 as their physical layer.  Addressing is done using 8-bit MAC addresses, often configured on the slave device using a DIP switch.  If you have installed BACNet software on your machine, there should be a way for it to take advantage of the installed RS-485 drivers.

Since BACNet is designed for RS-485, there should be commands built into it to perform a data transfer between two devices by first specifying the MAC ID of the slave and then initiate the data transfer.  Check your documentation.