Yes Julian, am just using similar code mentioned by udeho. But am always
getting 0 value eventhough I updated holding registery value.

On Monday, June 8, 2020, Julian Feinauer <j.feina...@pragmaticminds.de>
wrote:

> In fact, when talking about modbus driver the question is rather if there
> is any code that was not changed between 0.6.0 and 0.7.0 : )
>
> But we should have a closer look here.
>
> Julian
>
> Am 07.06.20, 18:55 schrieb "venki hadoop" <hadoopons...@gmail.com>:
>
>     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