Hi, I ran into this issue this morning when using the hello-world-write example and trying to write to a Modbus connection. It looks like it assumed the input value is a string whereas the Modbus protocol doesn't have support for it yet.
I was thinking about expanding github/plc4x/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultPlcFieldHandler.java to include default handlers for the various IEEE 61131 data types, the specific protocols can then override them as necessary? Kind Regards Ben On Wed, Sep 2, 2020 at 9:36 AM Christofer Dutz <christofer.d...@c-ware.de> wrote: > Hi Julian, > > I agree ... if one driver would define an "INT" as 32bit integer and the > others would treat it as 16bit ... that could be a problem. > Perhaps having a statement of the project that we use the IEC 61131 types > as a basis and if you want to use a given protocols different types, that > you can prefix them .. > > Assuming a driver for the famous "HURZ" protocol would use 32bit INTs, > then an "INT" could reference the 16bit version and a "HURZ_INT" could be > the 32bit version? > > Chris > > > > > Am 02.09.20, 15:26 schrieb "Julian Feinauer" < > j.feina...@pragmaticminds.de>: > > Hi, > > agree with your suggestion! > Although we have to be careful to not mix it up with specific > implementations of datatypes in some drivers. > > Julian > > Am 02.09.20, 15:21 schrieb "Christofer Dutz" < > christofer.d...@c-ware.de>: > > Hi all, > > today I was at a customer’s site and used the Modbus driver to get > data. This generally worked fine. > The thing however I found a little complicated, was that the PLC > seemed to offer all values as 32Bit Floating point values. > So in order to correctly read them, I had to read an array of two > consecutive shorts and then manually convert them into a float. > > I bet we can do this better. > > So I thought … how about we use the same > https://en.wikipedia.org/wiki/IEC_61131-3 datatypes we are already using > in other drivers and for example if you write: > > holding-register:1:REAL > > it would automatically use modbus to read an array of two shorts > and to internally convert these to one REAL/float. > > What do you think? I think we could probably do this in most > drivers. > > Chris > > > > >