Announcement

Collapse
No announcement yet.

midnite solar classic charge controller

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    midnite solar classic charge controller

    Has anyone gotten the modbus PI to work with a Midnite classic 150 charge controller? I got the PI to see the controller, but I have yet to get any values from the classic 150. It would be cool if I could get voltage, watts, and amps to use in events. Midnitesolar.com has the modbus values in pdf if someone could PLEASE help me out.

    I've advanced a little bit... I am getting a value from my charge controller of "250"...which just so happens my voltage of my battery bank is at 25.0 volts. so there must be something in HS I am missing.... here is my log.

    Mar-19 9:15:26 PM Modbus Debug Updating device [Modbus Device] - Address:4115 - Type:HoldingRegister(Int16) to [250]
    Mar-19 9:15:26 PM Modbus Debug Read Slave: 1 Address: 4115 HoldingRegister:Int16 as 250
    Mar-19 9:15:26 PM Modbus Debug Reading Slave: 1 Address: 4115 HoldingRegister:Int16
    Mar-19 9:15:26 PM Modbus Debug Polling Modbus IP Gateway. Reading 1 registers from slaves
    Mar-19 9:15:26 PM Modbus Start poll timer for gateeway [Modbus IP Gateway] every 300 seconds
    Mar-19 9:15:26 PM Modbus Warning Gateway [Modbus IP Gateway] status has changed to [Connected]
    Mar-19 9:15:26 PM Modbus Debug TCPClient exposed - trying to connect
    Mar-19 9:15:26 PM Modbus Debug Trying to get TCPClient data from transport model
    Mar-19 9:15:26 PM Modbus Debug Adding 1:4115:HoldingRegister:Int16 to Modbus IP Gateway
    Mar-19 9:15:26 PM Modbus Debug Found 1 devices associated with this gateway.
    Mar-19 9:15:26 PM Modbus Populating register database for gateway [Modbus IP Gateway]
    Last edited by wadesready; March 19, 2017, 08:17 PM.

    #2
    Need a LITTLE Help

    Need a Little Help Gavin..... the plugin works through the test, retrieves values, then it fails. I increased the polling interval from 5 to 15. Logs are below.

    <table class="log_table_row" cellspacing="0"><tbody><tr><td class="LogDateLong LogDateTime1" colspan="1" style=" white-space: nowrap;" align="left">Aug-16 4:37:18 PM </td><td class="LogPri1" colspan="1" align="left"> </td><td class="LogType1" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry1" colspan="8" align="left"> Updating device [Watts] - Address:4118 - Type:HoldingRegister(Int16) to [172] </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime0" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri0" colspan="1" align="left"> </td><td class="LogType0" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry0" colspan="8" align="left"> Read Slave: 15 Address: 4118 HoldingRegister:Int16 as 172 </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime1" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri1" colspan="1" align="left"> </td><td class="LogType1" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry1" colspan="8" align="left"> Reading Slave: 15 Address: 4118 HoldingRegister:Int16 </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime0" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri0" colspan="1" align="left"> </td><td class="LogType0" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry0" colspan="8" align="left"> Updating device [Voltage] - Address:4114 - Type:HoldingRegister(Int16) to [250] </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime1" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri1" colspan="1" align="left"> </td><td class="LogType1" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry1" colspan="8" align="left"> Read Slave: 14 Address: 4114 HoldingRegister:Int16 as 250 </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime0" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri0" colspan="1" align="left"> </td><td class="LogType0" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry0" colspan="8" align="left"> Reading Slave: 14 Address: 4114 HoldingRegister:Int16 </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime1" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri1" colspan="1" align="left"> </td><td class="LogType1" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry1" colspan="8" align="left"> Polling Modbus IP Gateway. Reading 2 registers from slaves </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime0" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri0" colspan="1" align="left"> </td><td class="LogType0" colspan="3" align="left"> Modbus </td><td class="LogEntry0" colspan="8" align="left"> Start poll timer for gateeway [Modbus IP Gateway] every 900 seconds </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime1" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri1" colspan="1" align="left"> </td><td class="LogType1" colspan="3" align="left"> Modbus Warning </td><td class="LogEntry1" colspan="8" align="left"> Gateway [Modbus IP Gateway] status has changed to [Connected] </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime0" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri0" colspan="1" align="left"> </td><td class="LogType0" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry0" colspan="8" align="left"> TCPClient exposed - trying to connect </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime1" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri1" colspan="1" align="left"> </td><td class="LogType1" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry1" colspan="8" align="left"> Trying to get TCPClient data from transport model </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime0" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri0" colspan="1" align="left"> </td><td class="LogType0" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry0" colspan="8" align="left"> Adding 15:4118:HoldingRegister:Int16 to Modbus IP Gateway </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime1" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri1" colspan="1" align="left"> </td><td class="LogType1" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry1" colspan="8" align="left"> Adding 14:4114:HoldingRegister:Int16 to Modbus IP Gateway </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime0" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri0" colspan="1" align="left"> </td><td class="LogType0" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry0" colspan="8" align="left"> Found 2 devices associated with this gateway. </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime1" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:37:18 PM </td><td class="LogPri1" colspan="1" align="left"> </td><td class="LogType1" colspan="3" align="left"> Modbus </td><td class="LogEntry1" colspan="8" align="left"> Populating register database for gateway [Modbus IP Gateway] </td></tr></tbody></table>
    ************************************************************ **

    <table class="log_table_row" cellspacing="0"><tbody><tr><td class="LogDateLong LogDateTime0" colspan="1" style=" white-space: nowrap;" align="left">Aug-16 4:52:18 PM </td><td class="LogPri0" colspan="1" align="left"> </td><td class="LogType0" colspan="3" align="left"> Modbus Error </td><td class="LogEntry0" colspan="8" align="left"> I'm not going to poll any remaining registers on this gateway as it seems there is a communication issue. </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime1" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:52:18 PM </td><td class="LogPri1" colspan="1" align="left"> </td><td class="LogType1" colspan="3" align="left"> Modbus Error </td><td class="LogEntry1" colspan="8" align="left"> Read error for Voltage </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime0" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:52:18 PM </td><td class="LogPri0" colspan="1" align="left"> </td><td class="LogType0" colspan="3" align="left"> Modbus Error </td><td class="LogEntry0" colspan="8" align="left"> Error in Read: Read resulted in 0 bytes returned. </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime1" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:52:18 PM </td><td class="LogPri1" colspan="1" align="left"> </td><td class="LogType1" colspan="3" align="left"> Modbus Error </td><td class="LogEntry1" colspan="8" align="left"> Error in ReadValue: Read resulted in 0 bytes returned. </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime0" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:52:18 PM </td><td class="LogPri0" colspan="1" align="left"> </td><td class="LogType0" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry0" colspan="8" align="left"> Reading Slave: 14 Address: 4114 HoldingRegister:Int16 </td></tr> </tbody></table> <table class="log_table_row" cellspacing="0"><tbody><tr> <td class="LogDateLong LogDateTime1" colspan="1" style=" white-space: nowrap;" align="left"> Aug-16 4:52:18 PM </td><td class="LogPri1" colspan="1" align="left"> </td><td class="LogType1" colspan="3" align="left"> Modbus Debug </td><td class="LogEntry1" colspan="8" align="left"> Polling Modbus IP Gateway. Reading 2 registers from slaves </td></tr></tbody></table>

    Comment


      #3
      This looks a lot like your charge controller stops responding for some reason. If immediately after that error, you disable and enable the gateway, does it give you a successful read again?
      Author of Highpeak Plugins | SMS-Gateway Plugin | Blue Iris Plugin | Paradox (Beta) Plugin | Modbus Plugin | Yamaha Plugin

      Comment


        #4
        Originally posted by beerygaz View Post
        This looks a lot like your charge controller stops responding for some reason. If immediately after that error, you disable and enable the gateway, does it give you a successful read again?

        yes it does.

        Comment


          #5
          OK, I'm at a bit of a loss here as to what's causing this.

          1. Is it always the second read that fails?
          2. If you reduce the polling interval to say 1min, does it still fail?
          3. If you increase the "Delay between each address" from 0 to, say 500, does it make a difference?
          Author of Highpeak Plugins | SMS-Gateway Plugin | Blue Iris Plugin | Paradox (Beta) Plugin | Modbus Plugin | Yamaha Plugin

          Comment


            #6
            Originally posted by beerygaz View Post
            OK, I'm at a bit of a loss here as to what's causing this.

            1. Is it always the second read that fails?
            2. If you reduce the polling interval to say 1min, does it still fail?
            3. If you increase the "Delay between each address" from 0 to, say 500, does it make a difference?

            1. yes it fails on the polling when left to the plugin timer. If I stop and start the plugin it works everytime.
            2. I changed it to 60 seconds polling...same
            3. changed delay between address to 500...same

            Comment


              #7
              Can you try with modpoll to see if repeated polls are successful? That way we can see if it's the controller or the PI?
              Author of Highpeak Plugins | SMS-Gateway Plugin | Blue Iris Plugin | Paradox (Beta) Plugin | Modbus Plugin | Yamaha Plugin

              Comment


                #8
                Originally posted by beerygaz View Post
                Can you try with modpoll to see if repeated polls are successful? That way we can see if it's the controller or the PI?

                if I use john's plugin to start and stop the modbus plugin at a 10 minute interval, the modbus plugin retrieves values off my charge controller every time without errors. I will have to find modpoll and figure out how to run it. but I will and get back to you.

                Comment


                  #9
                  Originally posted by wadesready View Post
                  if I use john's plugin to start and stop the modbus plugin at a 10 minute interval, the modbus plugin retrieves values off my charge controller every time without errors. I will have to find modpoll and figure out how to run it. but I will and get back to you.
                  I used
                  • Modbus Test Read Setup V2

                  A simple utility to retrieve holding holding registers (4xxxx), up to 20 consecutive per read, from a TCP Modbus enabled device. displays data in Dec, Hex and Bin .
                  For Windows XP 7, 8, 8.1


                  from http://n1gnn.com/welcome.php


                  I had no problem getting a reading every time I clicked the read button.

                  Comment


                    #10
                    Do you know if too you used above keeps the TCP connection open or closes it after each read?

                    Modpoll can be found here: http://www.modbusdriver.com/modpoll.html
                    It's a pretty simple command-line tool that you supply the iP, registers, and format to read and it polls your device every second for a value.
                    Author of Highpeak Plugins | SMS-Gateway Plugin | Blue Iris Plugin | Paradox (Beta) Plugin | Modbus Plugin | Yamaha Plugin

                    Comment


                      #11
                      closes it after each read

                      Comment


                        #12
                        I do have software made by midnite solar that must keep the tcp connection open though because it allows me to view watts and amps in real time. although now that I have written the above, I'm not too sure it is true...lol

                        Comment


                          #13
                          here is what I got..

                          win32>modpoll -r 4115 -m tcp 192.168.1.10
                          modpoll 3.4 - FieldTalk(tm) Modbus(R) Master Simulator
                          Copyright (c) 2002-2013 proconX Pty Ltd
                          Visit http://www.modbusdriver.com for Modbus libraries and tools.

                          Protocol configuration: MODBUS/TCP
                          Slave configuration...: address = 1, start reference = 4115, count = 1
                          Communication.........: 192.168.1.10, port 502, t/o 1.00 s, poll rate 1000 ms
                          Data type.............: 16-bit register, output (holding) register table

                          -- Polling slave... (Ctrl-C to stop)
                          [4115]: 284
                          -- Polling slave... (Ctrl-C to stop)
                          [4115]: 284
                          -- Polling slave... (Ctrl-C to stop)
                          [4115]: 284
                          -- Polling slave... (Ctrl-C to stop)
                          [4115]: 284
                          -- Polling slave... (Ctrl-C to stop)
                          [4115]: 284
                          -- Polling slave... (Ctrl-C to stop)
                          [4115]: 284
                          -- Polling slave... (Ctrl-C to stop)
                          [4115]: 284
                          -- Polling slave... (Ctrl-C to stop)
                          [4115]: 284
                          Last edited by wadesready; August 27, 2017, 02:05 PM. Reason: needed to

                          Comment


                            #14
                            Originally posted by wadesready View Post
                            here is what I got..

                            win32>modpoll -r 4115 -m tcp 192.168.1.10
                            modpoll 3.4 - FieldTalk(tm) Modbus(R) Master Simulator
                            Copyright (c) 2002-2013 proconX Pty Ltd
                            Visit http://www.modbusdriver.com for Modbus libraries and tools.

                            Protocol configuration: MODBUS/TCP
                            Slave configuration...: address = 1, start reference = 4115, count = 1
                            Communication.........: 192.168.1.10, port 502, t/o 1.00 s, poll rate 1000 ms
                            Data type.............: 16-bit register, output (holding) register table

                            -- Polling slave... (Ctrl-C to stop)
                            [4115]: 284
                            -- Polling slave... (Ctrl-C to stop)
                            [4115]: 284
                            -- Polling slave... (Ctrl-C to stop)
                            [4115]: 284
                            -- Polling slave... (Ctrl-C to stop)
                            [4115]: 284
                            -- Polling slave... (Ctrl-C to stop)
                            [4115]: 284
                            -- Polling slave... (Ctrl-C to stop)
                            [4115]: 284
                            -- Polling slave... (Ctrl-C to stop)
                            [4115]: 284
                            -- Polling slave... (Ctrl-C to stop)
                            [4115]: 284

                            Bump...what do ya think Gavin?

                            Comment

                            Working...
                            X