Modbus function code 16: is for writing multiple registers. Each register is a value, so to write several registers you need an array of values.
Your register at address 47075 is given as U32, or unsigned 32 bits. Each register is 16 bits - hence this value occupies two consecutive registers (47075 and 47076).
To write two registers, you need to send [a, b] as an array. ‘a’ goes into 47075, and ‘b’ goes into 47076. That is the easy part. The hard part is deciding which part of the U32 number goes in which half. If your system is big endian, then the number goes as the top end first, if little endian the number goes the small end first (ie backwards). Or perhaps the other way around, I can never remember.
The good news is, for a number that is U32 you don’t have to worry about the sign, and for numbers that are less than 65536, the number fits entirely in the 16-bit one register, so you can usually get away with writing [0, 3000] or [3000, 0] depending on which way your system holds the number. And, if the top (bottom) half is zero anyway, you can just simply write one resister of value 3000 to 47076 (or 47075) and make life easy for yourself!
Given that you are already successfully reading 47075 and getting 2000 as a value, I would be inclined to think your system is little endian, and therefore you can just write 3000 to 47075 using FC 6 and quantity 1.