Welcome to EnviroDIY, a community for do-it-yourself environmental science and monitoring. EnviroDIY is part of WikiWatershed, an initiative of Stroud Water Research Center designed to help people advance knowledge and stewardship of fresh water.
New to EnviroDIY? Start here

Modbus communications on Keller CTD Sensor

Home Forums Environmental Sensors Modbus communications on Keller CTD Sensor


Viewing 2 reply threads
  • Author
    • #17818


        I am looking for some help troubleshooting modbus communications on a Keller CTD sensor. I am running the very basic KellerTest sketch on a Mayfly 0.5b board with a RS-485 half shield adapter board. I turned on debugging to get some extra information.

        1. The Modbus slave address is returning a value of 253… it should be 1. However, there is a note in a different script (KellerModbus.cpp) that says this function is not yet working (line 40). I have not tried the function setSlaveID, as this also has a note saying it is not yet tested.
        2. When main loop function runs I am only getting a value returned for TOB1 = -1.9626 (Temperature), but it is obviously not correct.
        3. The other register read requests return overflow values.
        4. All responses are not coming from the correct modbus slave (according to the debugging checks)

        Here are my register read requests:

        Here is some of the output when it runs:

        This is my first time ever working with modbus communication on my Mayfly so I am rather lost at what to do next in my troubleshooting efforts. If anyone has experience with Modbus communications or any of the Keller sensors, I would greatly appreciate any insight into what might be going on here and how to address it. I also contacted tech support at Keller, but thus far the only thing that I have learned is that the device address should be 1. I’ve attached the Keller documentation with the modbus protocols for my sensor. This is where I found the register addresses.

        Thanks for your help!


      • #17846

          @dan-wachusett Gosh just seeing this – seems like you got that Keller CTD.

          Just wondering did you follow the advice given from https://www.envirodiy.org/topic/keller-ctd-sensor/#post-16332

          Partly its decoding the layers of software. The keller protocol is used to access the Keller CTD map. I find it most helpful to compare and trace how different keller instruments are handled by the enviroDIY keller. If you only have one Keller Instrument on your line, then you are getting a response from that instrument  – you may need to interpret the data that is coming back and find a path to getting working readings.


        • #17856


            Yes, I did get the Keller CTD. We had the budget and I was able to get an extra Hydros21 to deploy while figure out the Keller CTD. It took me a while to get the parts for the Modbus Wing shield and then build it, but I finally got them and had time to do it… so now I am in the thick of it.

            I did follow instructions from the post you mentioned. I have begun doing what you suggest as well… parsing out the raw requests and responses to see what is happening. This may take me quite a while to figure out since I am new to all of this.

            I’ll probably post some follow-up questions for the community once I can unravel some of the information that I am getting back from the sensor.



        Viewing 2 reply threads
        • You must be logged in to reply to this topic.