To start with your second post. The ModBus CRC of the command you give is not 0x0C44 but it is 0x440C
In you program you convert a string into a byte array. If you convert the slave address '01' as a string into a byte array you will get two bytes 0x30 and 0x31. The are ascii character and what you need is a single byte with the value of 0x01.
If change your VI.
Thanks a lot.i got it.i use labview 13.0 version,i can't open you VI,but i have change my vi,now it can meet the result when swap the low 8bit and high 8bit,thanks a lot again.i'm misguided by the meter communication spec.
(*bump*) I have attached your code with the incorporated byte swap for version 2018. Kees' version appended two zero-value bytes that made the Modbus CRC calculation invalid, and your approach seemed more straightforward.