plc4x-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christofer Dutz <>
Subject Re: [Modbus] Querying Values from Holding Register
Date Wed, 20 May 2020 09:28:06 GMT
Hi Tim,

I guess you are using one of the "old generation" drivers (As you say it's working and the
address seems to imply that).
Perhaps you should either try the version 0.8.0-SNAPSHOT or wait for 2 more days till we release
the 0.7.0 version.

In the 0.7.0 version we have completely deleted all existing drivers and replaced them by
new ones. 
While at it I took the liberty of making the Modbus a little more robust.

So it would be great if you could give us feedback if your problem goes away magically when
updating to these driver versions.


´╗┐Am 20.05.20, 10:24 schrieb "udeho" <>:

    Hi all,

    I have tried to query values from the holding register of a simulated modbus device and
process them as integer using the following code:
    // read integer / holding register
                        PlcDriverManager driverManager = new PlcDriverManager();
                        String conString = "modbus:tcp://localhost";
                        PlcConnection plcCon = driverManager.getConnection(conString);
                        PlcReadRequest.Builder builder = plcCon.readRequestBuilder();
                        builder.addItem("value", "readholdingregisters:1");
                        PlcReadRequest readRequest =;
                        PlcReadResponse resp = readRequest.execute().get();

    This runs well, but when I try to handle the result as integer (using resp.getInteger("value"))
I always get null as result no matter what's in the register.
    For Boolean values in the coil this works without any problem (using getBoolean() of course).
    Another approach I tried is using the getAllByteArrays("value"); command, but I haven't
found a way to get the returned collection of byte arrays into integers.

    Can you give me an indication of what my problem may be or what I'm doing wrong?

    Thank you very much in advance!


View raw message