Hi, after updating to 0.7 version am always getting value 0. Did you made
any code modifications after version update?

On Tuesday, June 2, 2020, udeho <ud...@student.kit.edu> wrote:

> Hi,
>
> This was a problem with my Maven configuration. I'm sorry, I'm very
> inexperienced with Maven.
> Anyway, reading values from the holding register now works fine with
> drivers of version 0.7.0.
>
> Best
> Tim
>
> -----Original Message-----
> From: Christofer Dutz <christofer.d...@c-ware.de>
> Sent: Montag, 1. Juni 2020 23:27
> To: udeho <ud...@student.kit.edu>; dev@plc4x.apache.org
> Subject: Re: [Modbus] Querying Values from Holding Register
>
> Hi,
>
> Are you perhaps mixing different versions? The api and driver versions
> should match.
>
> Chris
>
> ________________________________
> Von: udeho <ud...@student.kit.edu>
> Gesendet: Montag, 1. Juni 2020 14:58
> An: dev@plc4x.apache.org <dev@plc4x.apache.org>
> Betreff: RE: [Modbus] Querying Values from Holding Register
>
> Hi,
>
> I've just tried to do the same as below with the newly released 0.7.0
> version.
> Unfortunately, I get the following errors:
>
> [main] INFO org.apache.plc4x.java.PlcDriverManager - Instantiating new
> PLC Driver Manager with class loader jdk.internal.loader.
> ClassLoaders$AppClassLoader@129a8472
> [main] INFO org.apache.plc4x.java.PlcDriverManager - Registering
> available drivers...
> Exception in thread "main" java.lang.NoClassDefFoundError:
> org/apache/plc4x/java/spi/connection/GeneratedDriverBase
>         at java.base/java.lang.ClassLoader.defineClass1(Native Method)
>         at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
>         at java.base/java.security.SecureClassLoader.defineClass(Unknown
> Source)
>         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown
> Source)
>         at java.base/jdk.internal.loader.BuiltinClassLoader.
> findClassOnClassPathOrNull(Unknown Source)
>         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown
> Source)
>         at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown
> Source)
>         at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown
> Source)
>         at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
>         at java.base/java.lang.Class.forName0(Native Method)
>         at java.base/java.lang.Class.forName(Unknown Source)
>         at 
> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(Unknown
> Source)
>         at 
> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(Unknown
> Source)
>         at 
> java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(Unknown
> Source)
>         at java.base/java.util.ServiceLoader$2.hasNext(Unknown Source)
>         at java.base/java.util.ServiceLoader$3.hasNext(Unknown Source)
>         at org.apache.plc4x.java.PlcDriverManager.<init>(
> PlcDriverManager.java:53)
>         at org.apache.plc4x.java.PlcDriverManager.<init>(
> PlcDriverManager.java:44)
>         at modbus.playground.main(playground.java:108)
> Caused by: java.lang.ClassNotFoundException: org.apache.plc4x.java.spi.
> connection.GeneratedDriverBase
>         at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown
> Source)
>         at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown
> Source)
>         at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
>         ... 19 more
>
> I added the new version as a dependency in Maven, but in the pom.xml  is
> also stated "Missing artifact org.apache.plc4x:plc4j-driver-
> modbus:jar:0.7.0".
> Used dependency in maven:
>         <dependency>
>                  <groupId>org.apache.plc4x</groupId>
>                  <artifactId>plc4j-driver-modbus</artifactId>
>                  <version>0.7.0</version>
>         </dependency>
>
> Best
> Tim
>
> -----Original Message-----
> From: Christofer Dutz <christofer.d...@c-ware.de>
> Sent: Mittwoch, 20. Mai 2020 11:28
> To: dev@plc4x.apache.org
> Subject: Re: [Modbus] Querying Values from Holding Register
>
> 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.
>
> Chris
>
>
>
> Am 20.05.20, 10:24 schrieb "udeho" <ud...@student.kit.edu>:
>
>     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 = builder.build();
>                         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!
>
>     Best
>     Tim
>
>

Reply via email to