Modbus4J Modbus RTU master
-
Modbus4J already does the 'subtract 40001' bit for you, so your colleague gave you a bit of misdirection there. It's still usually necessary if you are setting up a Modbus master in a PLC or something.
And some manufacturers start counting registers from 0 and some from 1, so sometimes (actually, often) what you think is register 3110 in your slave is 3109 according to your master.
A modbus scanner which shows you a whole bunch of registers is usually handy for figuring this out.
Just trial and error..
-
@jeremyh so what should I do next is, minus 1 from all the register that I want since it start count from 0 right ? Thank you so much again. Thank you for helping me around since the beginning.
-
Yes subtract 1 from all the registers in the documentation.
-
Out of curiosity are you logging all the data in a database on disk? Or just in memory to draw the graphs?
-
@jeremyh yaa, the data will be insert into the database every minute.
-
@jeremyh Hello Jeremy. Want to ask you one more question. I am not from the Electric background. So, I find a difficulty in calculating the power consumption of the meter. For you information, my system going to add the data in the database for every one minute. How am i going to calculate the power consumption for the device for a day (24 hours). I have Kw value for every minute.
Do I have to add the Kw value for every minute up to the whole day ?
Thank you.
-
Power (kw) is an instantaneous measurement. Energy (kWh), which is sounds like you want, is Power over Time. One kW of power being drawn for one hour is 1 kWh of energy. Half a kW for two hours is still 1 kWh.
To convert kW to kWh you would have to integrate the kW measurement i.e calculate the area under a plot of power over time. This is only as accurate as your measurement/sampling interval which is only 1 minute.
The real answer is to find the registers for cumulative energy (kWh and kVAh generally) in your meters and use that measurement to compute hourly/daily/annual kWh and kVAh energies. It will be a lot easier and a lot more accurate than trying to work it out yourself.
-
@jeremyh below is the sample of my database.
could you teach me how to calculate.
-
Just use the deltas. In energy/utility metering a 15 minute interval is generally used.
at 10:00am the MWh used was 122.858
at 10:15am the MWh used was 122.859122.859 - 122.858 = 0.001 MWh or 1kWh used in the 15 minute period.
Because you are measuring in MWh you lack the resolution to get tenths of kWh, so you should consider storing more decimals if you can, or reading from a kWh register if you can.
If that's not an option then you could integrate using the method/s discussed here: http://physics.stackexchange.com/questions/109295/calculating-kwh-from-time-series-of-kw
You could very crudely say that if the average demand over the 15 minute period is 4.75kW then the energy consumed in that 15 minute period (which is 1/4th of an hour) is (1/4 hours)*4.75 kWh = 1.1kWh.
-
Is it correct ? Do i need to sum all the KW and I will get the total consumption for an hour ?
(1/4 * 4.8) + (1/4 * 4.9) + (1/4 * 4.8) + (1/4 * 4.8) = 4.825 KWH
-
No. You would need to do:
(1/samples per hour) * (sum of kilowatts over period) = kilowatt-hours
i.e. (can't believe you made me type this):
(1/60) * (4.872+4.873+4.808+4.896+4.744+4.768+4.896+4.832+4.816+4.776+4.888+4.872+4.760+4.840+4.792) = 1.2kWh
This is honestly a really bad and dumb way to do this though. It is very inaccurate and if you miss any measurements your energy will be even further off. Just add the kWh register (rather than MWh) from your panel meter and calculate the difference every period - that is what it's there for!
If you ended up with 15-minute energy kWh then to get hourly energy you would just sum the kWh. Energy can be added to energy.