Mark, I never asked which Modbus master you were using.
#Citect modnet parameters plus#
I suspect that you'll have to use another Modbus master or something like RedLion's Data Station Plus module that can fetch data as a modbus master on one port, remap the data internally and on another port act as a modbus slave and allow your current master to fetch the data from the re-mapped register location below 49999. If your current master only addresses a range of 40000 to 49999 (assumed decimal) then the master can only handle 15% of the total range of Modbus addresses and master takes the blame for not handling addressing within the range of the Modbus spec and Danfoss is off the hook. In a MODBUS PDU each data is addressed from 0 to 65535."Įach protocol further states (para 6.3) that the addressing range for the 03 read/write holding registers A holding register located at either 16140 (16.14*100*10) or even 56140 (16140 + 40000) would be within the memory address range of the Modbus spec.īoth recent Modbus Application Protocols, V1.1a (June 4, 2004) and (V1.1b December 28, 2006) state in para 4.4 MODBUS Addressing model, "The MODBUS application protocol defines precisely PDU addressing rules. My reading of the Modbus spec is that Danfoss is well within the spec's interpretation. Goodman's comment, "the 5-digit representation was a convenient shorthand for expressing the entire range of addresses supported by the largest Modicon device (40001-49999) available once upon a time" leads me to believe that your modbus master was written for an older era of Modbus. There's a thread on 5 or 6 digit holding register addressing at the Modbus site:
#Citect modnet parameters 32 bit#
I suspect that the response will come back as a 32 bit integer.ĭan RE: MODBUS RTU on Danfoss FC202 Marke (Electrical) Why not try read function 03 (hex) holding register 3F0B (hex) and read 2 registers? Start Addr Hi byte is 3F, Start Addr LO byte is 0B So, the start Addr Hi byte is 00, Start Addr LO byte is 6B in the example.ġ614 * 10 = 16140 (decimal) = 3F0C (hex) - 1 = 3F0B
#Citect modnet parameters code#
The function code field already specifies a 'holding Holding register 40001 is addressed as registerĠ000 in the data address field of the message. But on the chance that Danfoss is unlikely to radically change Modbus comm from series to series, here's my interpretation. I couldn't find the FC202 Modbus manual, only a 2800/6000/8000 VLT Modbus manual. The corresponding hex value for 16140 (dec) will 'fit' into the Start Addr HI and Start Addr LO bytes of a Modbus message. So, the register address for holding register 108 in a modbus message, as described below from the Danfoss manual, is not 40108 but 107(dec) or 6B (hex), resulting in a value of 00 (hex)in the Start Address HI byte and 6B (hex)in the Start Address LO byte. The modbus message Start Address HI and Start Address LO bytes don't get 4xxxx numbers, they each get one byte, that we typically read as hex numbers. Have you tried the querying the holding register corresponding to parameter 16.14, according to the method stated?