YESSS !!!!!

It works !!!!!

I could read a string with a notation like: |%DB1:6:STRING(10)| for
reading 10 chars.

It’s worth to mention here for the community:

  * the notation |%DB1:6:STRING| doesn’t work for the S7 1200 due to the
    problem of the request of 256 Byte length which is not supported by
    that kind of PLC. The synchronous call hang forever;
  * the notation |%DB1:6.0:STRING(10)| doesn’t work either because raise
    a |PlcInvalidFieldException: %DB1:6.0:STRING(10) invalid| exception;

I could confirm that the reading of |DATE_AND_TIME| works too with a
super beautiful output like: |2020-08-21T09:05:24.001890204|

Wonderful !!!!

Thanks Chris for your work!

I will keep going with my tests.

Regards,
Stefano

On 21/08/2020 09:56, Christofer Dutz wrote:

> Hi Stefano,
>
> ok ... so you probably used the STRING type without the limiting feature.
> So if you don't add a "(10)" or whatever max number of elements you want to 
> read, it will still not work.
> The change I applied only lets you limit the number, if you don't is says at 
> 254 unchanged.
>
> But you did find a bug in my code from yesterday, which I just fixed.
>
> So if you update and re-build, it should now fail again like it did before. 
>
> So please try to add the STRING(10) or whatever number you need to the 
> address and it should work.
>
>
> Chris
>
>
>
> Am 21.08.20, 09:51 schrieb "Christofer Dutz" <[email protected]>:
>
>     Hi Stefano,
>
>     ok … if you did it that way, it should have worked …
>
>     I just had another look at your error report and will investigate …
>
>     Chris
>
>
>
>     Von: Stefano Bossi <[email protected]>
>     Datum: Freitag, 21. August 2020 um 09:48
>     An: Christofer Dutz <[email protected]>
>     Betreff: Re: Error in using new String feature in 0.8.0-SNAPSHOT
>
>     ok, I will wait.
>
>     let me know.....
>
>     Anyway, I don't know if this could help, I have downloaded the code from 
> git with git pull and compiled all the modules with ./mvnw install and all 
> went fine....
>
>     Anyway, I will wait your suggestions.
>
>     Many thanks,
>     S.
>
>
>
>     On 21/08/2020 09:45, Christofer Dutz wrote:
>     Hi Stefano,
>
>     I just got an email from our jenkins, complaining that a build failed 
> because of no space left on the agent … I’ll clean it up and re-run the build.
>
>
>     Chris
>
>
>
>     Von: Stefano Bossi 
> <[email protected]><mailto:[email protected]>
>     Datum: Freitag, 21. August 2020 um 09:27
>     An: "[email protected]"<mailto:[email protected]> 
> <[email protected]><mailto:[email protected]>, Christofer Dutz 
> <[email protected]><mailto:[email protected]>
>     Betreff: Error in using new String feature in 0.8.0-SNAPSHOT
>
>
>     Dear Chris and forum,
>
>     I am trying to test your new feature about STRING and DATE_TIME but I 
> have a strange error using HelloPlc4x, it seems I am missing some module…
>     Do you spot what am I missing?
>
>     I have imported
>
>     implementation group: 'org.apache.plc4x', name: 'plc4j-driver-s7', 
> version: '0.8.0-SNAPSHOT'
>
>     Here the stack trace
>
>     bash-3.2$  /Users/fox/.jenv/versions/openjdk64-13.0.2/bin/java 
> -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:55138 
> -ea -Dfile.encoding=UTF-8 
> @/var/folders/p1/lb5grfpn3tncxdtrptqq9fw40000gp/T/cp_7wf4vv0mligcs0a855vuftbrc.argfile
>  it.fox.datapicker.HelloPlc4x --connection-string 
> s7:tcp://192.168.1.192?controller-type=S7_1200 --field-addresses 
> %DB1:6.0:STRING
>
>     2020-08-21 09:23:22,608 main DEBUG Apache Log4j Core 2.13.1 initializing 
> configuration 
> XmlConfiguration[location=/Users/fox/Documents/workspace/2020-06-30 - Data 
> Picker/bin/main/log4j2.xml]
>
>     2020-08-21 09:23:22,615 main DEBUG Installed 1 script engine
>
>     Warning: Nashorn engine is planned to be removed from a future JDK release
>
>     2020-08-21 09:23:22,816 main DEBUG Oracle Nashorn version: 13.0.2, 
> language: ECMAScript, threading: Not Thread Safe, compile: true, names: 
> [nashorn, Nashorn, js, JS, JavaScript, javascript, ECMAScript, ecmascript], 
> factory class: jdk.nashorn.api.scripting.NashornScriptEngineFactory
>
>     2020-08-21 09:23:22,817 main DEBUG PluginManager 'Core' found 122 plugins
>
>     2020-08-21 09:23:22,817 main DEBUG PluginManager 'Level' found 0 plugins
>
>     2020-08-21 09:23:22,821 main DEBUG PluginManager 'Lookup' found 15 plugins
>
>     2020-08-21 09:23:22,823 main DEBUG Building Plugin[name=layout, 
> class=org.apache.logging.log4j.core.layout.PatternLayout].
>
>     2020-08-21 09:23:22,834 main DEBUG PluginManager 'TypeConverter' found 26 
> plugins
>
>     2020-08-21 09:23:22,846 main DEBUG 
> PatternLayout$Builder(pattern="[%-5level] %d{HH:mm:ss.SSS} %logger{36}.%M() - 
> %msg%n", PatternSelector=null, 
> Configuration(/Users/fox/Documents/workspace/2020-06-30 - Data 
> Picker/bin/main/log4j2.xml), Replace=null, charset="null", 
> alwaysWriteExceptions="null", disableAnsi="null", noConsoleNoAnsi="null", 
> header="null", footer="null")
>
>     2020-08-21 09:23:22,846 main DEBUG PluginManager 'Converter' found 44 
> plugins
>
>     2020-08-21 09:23:22,848 main DEBUG Building Plugin[name=appender, 
> class=org.apache.logging.log4j.core.appender.ConsoleAppender].
>
>     2020-08-21 09:23:22,856 main DEBUG 
> ConsoleAppender$Builder(target="SYSTEM_OUT", follow="null", direct="null", 
> bufferedIo="null", bufferSize="null", immediateFlush="null", 
> ignoreExceptions="null", PatternLayout([%-5level] %d{HH:mm:ss.SSS} 
> %logger{36}.%M() - %msg%n), name="Console", 
> Configuration(/Users/fox/Documents/workspace/2020-06-30 - Data 
> Picker/bin/main/log4j2.xml), Filter=null, ={})
>
>     2020-08-21 09:23:22,858 main DEBUG Starting OutputStreamManager 
> SYSTEM_OUT.false.false
>
>     2020-08-21 09:23:22,858 main DEBUG Building Plugin[name=appenders, 
> class=org.apache.logging.log4j.core.config.AppendersPlugin].
>
>     2020-08-21 09:23:22,859 main DEBUG createAppenders(={Console})
>
>     2020-08-21 09:23:22,859 main DEBUG Building Plugin[name=AppenderRef, 
> class=org.apache.logging.log4j.core.config.AppenderRef].
>
>     2020-08-21 09:23:22,863 main DEBUG createAppenderRef(ref="Console", 
> level="TRACE", Filter=null)
>
>     2020-08-21 09:23:22,864 main DEBUG Building Plugin[name=root, 
> class=org.apache.logging.log4j.core.config.LoggerConfig$RootLogger].
>
>     2020-08-21 09:23:22,865 main DEBUG createLogger(additivity="false", 
> level="DEBUG", includeLocation="null", ={Console}, ={}, 
> Configuration(/Users/fox/Documents/workspace/2020-06-30 - Data 
> Picker/bin/main/log4j2.xml), Filter=null)
>
>     2020-08-21 09:23:22,867 main DEBUG Building Plugin[name=loggers, 
> class=org.apache.logging.log4j.core.config.LoggersPlugin].
>
>     2020-08-21 09:23:22,868 main DEBUG createLoggers(={root})
>
>     2020-08-21 09:23:22,868 main DEBUG Configuration 
> XmlConfiguration[location=/Users/fox/Documents/workspace/2020-06-30 - Data 
> Picker/bin/main/log4j2.xml] initialized
>
>     2020-08-21 09:23:22,869 main DEBUG Starting configuration 
> XmlConfiguration[location=/Users/fox/Documents/workspace/2020-06-30 - Data 
> Picker/bin/main/log4j2.xml]
>
>     2020-08-21 09:23:22,869 main DEBUG Started configuration 
> XmlConfiguration[location=/Users/fox/Documents/workspace/2020-06-30 - Data 
> Picker/bin/main/log4j2.xml] OK.
>
>     2020-08-21 09:23:22,872 main DEBUG Shutting down OutputStreamManager 
> SYSTEM_OUT.false.false-1
>
>     2020-08-21 09:23:22,872 main DEBUG OutputStream closed
>
>     2020-08-21 09:23:22,873 main DEBUG Shut down OutputStreamManager 
> SYSTEM_OUT.false.false-1, all resources released: true
>
>     2020-08-21 09:23:22,873 main DEBUG Appender DefaultConsole-1 stopped with 
> status true
>
>     2020-08-21 09:23:22,874 main DEBUG Stopped 
> org.apache.logging.log4j.core.config.DefaultConfiguration@234bef66 OK
>
>     2020-08-21 09:23:22,948 main DEBUG Registering MBean 
> org.apache.logging.log4j2:type=55054057
>
>     2020-08-21 09:23:22,952 main DEBUG Registering MBean 
> org.apache.logging.log4j2:type=55054057,component=StatusLogger
>
>     2020-08-21 09:23:22,953 main DEBUG Registering MBean 
> org.apache.logging.log4j2:type=55054057,component=ContextSelector
>
>     2020-08-21 09:23:22,955 main DEBUG Registering MBean 
> org.apache.logging.log4j2:type=55054057,component=Loggers,name=
>
>     2020-08-21 09:23:22,956 main DEBUG Registering MBean 
> org.apache.logging.log4j2:type=55054057,component=Appenders,name=Console
>
>     2020-08-21 09:23:22,958 main DEBUG 
> org.apache.logging.log4j.core.util.SystemClock supports precise timestamps.
>
>     2020-08-21 09:23:22,959 main DEBUG Reconfiguration complete for 
> context[name=55054057] at URI /Users/fox/Documents/workspace/2020-06-30 - 
> Data Picker/bin/main/log4j2.xml 
> (org.apache.logging.log4j.core.LoggerContext@7d9f158f) with optional 
> ClassLoader: null
>
>     2020-08-21 09:23:22,959 main DEBUG Shutdown hook enabled. Registering a 
> new one.
>
>     2020-08-21 09:23:22,960 main DEBUG LoggerContext[name=55054057, 
> org.apache.logging.log4j.core.LoggerContext@7d9f158f] started OK.
>
>     [INFO ] 09:23:22.966 it.fox.datapicker.HelloPlc4x.main() - start
>
>     [INFO ] 09:23:22.977 org.apache.plc4x.java.PlcDriverManager.<init>() - 
> Instantiating new PLC Driver Manager with class loader 
> jdk.internal.loader.ClassLoaders$AppClassLoader@55054057
>
>     [INFO ] 09:23:22.978 org.apache.plc4x.java.PlcDriverManager.<init>() - 
> Registering available drivers...
>
>     [INFO ] 09:23:22.985 org.apache.plc4x.java.PlcDriverManager.<init>() - 
> Registering driver for Protocol s7 (Siemens S7 (Basic))
>
>     [DEBUG] 09:23:23.069 
> io.netty.util.internal.logging.InternalLoggerFactory.newDefaultFactory() - 
> Using SLF4J as the default logging framework
>
>     [DEBUG] 09:23:23.073 io.netty.util.ResourceLeakDetector.<clinit>() - 
> -Dio.netty.leakDetection.level: simple
>
>     [DEBUG] 09:23:23.073 io.netty.util.ResourceLeakDetector.<clinit>() - 
> -Dio.netty.leakDetection.targetRecords: 4
>
>     [DEBUG] 09:23:23.076 
> io.netty.util.ResourceLeakDetectorFactory.newResourceLeakDetector() - Loaded 
> default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@d41f816
>
>     [DEBUG] 09:23:23.087 io.netty.util.internal.PlatformDependent.isOsx0() - 
> Platform: MacOS
>
>     [DEBUG] 09:23:23.088 
> io.netty.util.internal.PlatformDependent0.explicitNoUnsafeCause0() - 
> -Dio.netty.noUnsafe: false
>
>     [DEBUG] 09:23:23.088 
> io.netty.util.internal.PlatformDependent0.javaVersion0() - Java version: 13
>
>     [DEBUG] 09:23:23.089 io.netty.util.internal.PlatformDependent0.<clinit>() 
> - sun.misc.Unsafe.theUnsafe: available
>
>     [DEBUG] 09:23:23.090 io.netty.util.internal.PlatformDependent0.<clinit>() 
> - sun.misc.Unsafe.copyMemory: available
>
>     [DEBUG] 09:23:23.090 io.netty.util.internal.PlatformDependent0.<clinit>() 
> - java.nio.Buffer.address: available
>
>     [DEBUG] 09:23:23.091 io.netty.util.internal.PlatformDependent0.<clinit>() 
> - direct buffer constructor: unavailable
>
>     java.lang.UnsupportedOperationException: Reflective setAccessible(true) 
> disabled
>
>             at 
> io.netty.util.internal.ReflectionUtil.trySetAccessible(ReflectionUtil.java:31)
>  ~[netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.internal.PlatformDependent0$4.run(PlatformDependent0.java:225) 
> ~[netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> java.security.AccessController.doPrivileged(AccessController.java:312) ~[?:?]
>
>             at 
> io.netty.util.internal.PlatformDependent0.<clinit>(PlatformDependent0.java:219)
>  [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.internal.PlatformDependent.isAndroid(PlatformDependent.java:289)
>  [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.internal.PlatformDependent.<clinit>(PlatformDependent.java:92) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:109) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:218) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:197) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:179) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:163) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:122) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> org.apache.plc4x.java.spi.connection.DefaultNettyPlcConnection.<clinit>(DefaultNettyPlcConnection.java:49)
>  [plc4j-spi-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]
>
>             at 
> org.apache.plc4x.java.spi.connection.GeneratedDriverBase.getConnection(GeneratedDriverBase.java:138)
>  [plc4j-spi-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]
>
>             at 
> org.apache.plc4x.java.PlcDriverManager.getConnection(PlcDriverManager.java:73)
>  [plc4j-api-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]
>
>             at it.fox.datapicker.HelloPlc4x.main(HelloPlc4x.java:36) [main/:?]
>
>     [DEBUG] 09:23:23.110 io.netty.util.internal.PlatformDependent0.<clinit>() 
> - java.nio.Bits.unaligned: available, true
>
>     [DEBUG] 09:23:23.112 io.netty.util.internal.PlatformDependent0.<clinit>() 
> - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable
>
>     java.lang.IllegalAccessException: class 
> io.netty.util.internal.PlatformDependent0$6 cannot access class 
> jdk.internal.misc.Unsafe (in module java.base) because module java.base does 
> not export jdk.internal.misc to unnamed module @b2c5e07
>
>             at 
> jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:376)
>  ~[?:?]
>
>             at 
> java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:642) 
> ~[?:?]
>
>             at java.lang.reflect.Method.invoke(Method.java:559) ~[?:?]
>
>             at 
> io.netty.util.internal.PlatformDependent0$6.run(PlatformDependent0.java:335) 
> ~[netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> java.security.AccessController.doPrivileged(AccessController.java:312) ~[?:?]
>
>             at 
> io.netty.util.internal.PlatformDependent0.<clinit>(PlatformDependent0.java:326)
>  [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.internal.PlatformDependent.isAndroid(PlatformDependent.java:289)
>  [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.internal.PlatformDependent.<clinit>(PlatformDependent.java:92) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:109) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:218) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:197) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:179) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:163) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> io.netty.util.HashedWheelTimer.<init>(HashedWheelTimer.java:122) 
> [netty-common-4.1.47.Final.jar:4.1.47.Final]
>
>             at 
> org.apache.plc4x.java.spi.connection.DefaultNettyPlcConnection.<clinit>(DefaultNettyPlcConnection.java:49)
>  [plc4j-spi-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]
>
>             at 
> org.apache.plc4x.java.spi.connection.GeneratedDriverBase.getConnection(GeneratedDriverBase.java:138)
>  [plc4j-spi-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]
>
>             at 
> org.apache.plc4x.java.PlcDriverManager.getConnection(PlcDriverManager.java:73)
>  [plc4j-api-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]
>
>             at it.fox.datapicker.HelloPlc4x.main(HelloPlc4x.java:36) [main/:?]
>
>     [DEBUG] 09:23:23.130 io.netty.util.internal.PlatformDependent0.<clinit>() 
> - java.nio.DirectByteBuffer.<init>(long, int): unavailable
>
>     [DEBUG] 09:23:23.130 
> io.netty.util.internal.PlatformDependent.unsafeUnavailabilityCause0() - 
> sun.misc.Unsafe: available
>
>     [DEBUG] 09:23:23.132 
> io.netty.util.internal.PlatformDependent.maxDirectMemory0() - 
> maxDirectMemory: 4294967296 bytes (maybe)
>
>     [DEBUG] 09:23:23.133 io.netty.util.internal.PlatformDependent.tmpdir0() - 
> -Dio.netty.tmpdir: /var/folders/p1/lb5grfpn3tncxdtrptqq9fw40000gp/T 
> (java.io.tmpdir)
>
>     [DEBUG] 09:23:23.134 io.netty.util.internal.PlatformDependent.bitMode0() 
> - -Dio.netty.bitMode: 64 (sun.arch.data.model)
>
>     [DEBUG] 09:23:23.135 io.netty.util.internal.PlatformDependent.<clinit>() 
> - -Dio.netty.maxDirectMemory: -1 bytes
>
>     [DEBUG] 09:23:23.135 io.netty.util.internal.PlatformDependent.<clinit>() 
> - -Dio.netty.uninitializedArrayAllocationThreshold: -1
>
>     [DEBUG] 09:23:23.137 io.netty.util.internal.CleanerJava9.<clinit>() - 
> java.nio.ByteBuffer.cleaner(): available
>
>     [DEBUG] 09:23:23.137 io.netty.util.internal.PlatformDependent.<clinit>() 
> - -Dio.netty.noPreferDirect: false
>
>     [DEBUG] 09:23:23.143 io.netty.util.internal.PlatformDependent.<clinit>() 
> - org.jctools-core.MpscChunkedArrayQueue: available
>
>     [DEBUG] 09:23:23.173 
> io.netty.channel.MultithreadEventLoopGroup.<clinit>() - 
> -Dio.netty.eventLoopThreads: 16
>
>     [DEBUG] 09:23:23.188 
> io.netty.util.internal.InternalThreadLocalMap.<clinit>() - 
> -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024
>
>     [DEBUG] 09:23:23.188 
> io.netty.util.internal.InternalThreadLocalMap.<clinit>() - 
> -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096
>
>     [DEBUG] 09:23:23.193 io.netty.channel.nio.NioEventLoop.<clinit>() - 
> -Dio.netty.noKeySetOptimization: false
>
>     [DEBUG] 09:23:23.193 io.netty.channel.nio.NioEventLoop.<clinit>() - 
> -Dio.netty.selectorAutoRebuildThreshold: 512
>
>     [INFO ] 09:23:23.205 
> org.apache.plc4x.java.transport.tcp.TcpChannelFactory.configureBootstrap() - 
> Configuring Bootstrap with Configuration{local-rack=1, local-slot=1, 
> remote-rack=0, remot-slot=0, pduSize=1024, maxAmqCaller=8, maxAmqCallee=8, 
> controllerType='S7_1200'}
>
>     [DEBUG] 09:23:23.221 io.netty.channel.DefaultChannelId.<clinit>() - 
> -Dio.netty.processId: 9550 (auto-detected)
>
>     [DEBUG] 09:23:23.224 io.netty.util.NetUtil.<clinit>() - 
> -Djava.net.preferIPv4Stack: false
>
>     [DEBUG] 09:23:23.224 io.netty.util.NetUtil.<clinit>() - 
> -Djava.net.preferIPv6Addresses: false
>
>     [DEBUG] 09:23:23.228 io.netty.util.NetUtil.<clinit>() - Loopback 
> interface: lo0 (lo0, 0:0:0:0:0:0:0:1%lo0)
>
>     [DEBUG] 09:23:23.229 io.netty.util.NetUtil.run() - Failed to get 
> SOMAXCONN from sysctl and file /proc/sys/net/core/somaxconn. Default: 128
>
>     [DEBUG] 09:23:23.232 io.netty.channel.DefaultChannelId.<clinit>() - 
> -Dio.netty.machineId: 64:5a:ed:ff:fe:e9:29:e9 (auto-detected)
>
>     [DEBUG] 09:23:23.264 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.numHeapArenas: 16
>
>     [DEBUG] 09:23:23.264 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.numDirectArenas: 16
>
>     [DEBUG] 09:23:23.265 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.pageSize: 8192
>
>     [DEBUG] 09:23:23.265 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.maxOrder: 11
>
>     [DEBUG] 09:23:23.265 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.chunkSize: 16777216
>
>     [DEBUG] 09:23:23.266 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.tinyCacheSize: 512
>
>     [DEBUG] 09:23:23.266 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.smallCacheSize: 256
>
>     [DEBUG] 09:23:23.266 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.normalCacheSize: 64
>
>     [DEBUG] 09:23:23.266 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.maxCachedBufferCapacity: 32768
>
>     [DEBUG] 09:23:23.267 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.cacheTrimInterval: 8192
>
>     [DEBUG] 09:23:23.267 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.cacheTrimIntervalMillis: 0
>
>     [DEBUG] 09:23:23.267 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.useCacheForAllThreads: true
>
>     [DEBUG] 09:23:23.267 io.netty.buffer.PooledByteBufAllocator.<clinit>() - 
> -Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023
>
>     [DEBUG] 09:23:23.274 io.netty.buffer.ByteBufUtil.<clinit>() - 
> -Dio.netty.allocator.type: pooled
>
>     [DEBUG] 09:23:23.274 io.netty.buffer.ByteBufUtil.<clinit>() - 
> -Dio.netty.threadLocalDirectBufferSize: 0
>
>     [DEBUG] 09:23:23.275 io.netty.buffer.ByteBufUtil.<clinit>() - 
> -Dio.netty.maxThreadLocalCharBufferSize: 16384
>
>     [INFO ] 09:23:23.361 
> org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.onConnect() - S7 
> Driver running in ACTIVE mode.
>
>     [DEBUG] 09:23:23.361 
> org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.onConnect() - 
> Sending COTP Connection Request
>
>     [DEBUG] 09:23:23.380 org.apache.plc4x.java.spi.Plc4xNettyWrapper.encode() 
> - Forwarding request to plc 
> TPKTPacket[payload=COTPPacketConnectionRequest[parameters={COTPParameterCalledTsap[tsapId=256],COTPParameterCallingTsap[tsapId=785],COTPParameterTpduSize[tpduSize=SIZE_1024]},payload=<null>,destinationReference=0,sourceReference=15,protocolClass=CLASS_0]]
>
>     [DEBUG] 09:23:23.385 io.netty.util.Recycler.<clinit>() - 
> -Dio.netty.recycler.maxCapacityPerThread: 4096
>
>     [DEBUG] 09:23:23.385 io.netty.util.Recycler.<clinit>() - 
> -Dio.netty.recycler.maxSharedCapacityFactor: 2
>
>     [DEBUG] 09:23:23.385 io.netty.util.Recycler.<clinit>() - 
> -Dio.netty.recycler.linkCapacity: 16
>
>     [DEBUG] 09:23:23.385 io.netty.util.Recycler.<clinit>() - 
> -Dio.netty.recycler.ratio: 8
>
>     [DEBUG] 09:23:23.390 io.netty.buffer.AbstractByteBuf.<clinit>() - 
> -Dio.netty.buffer.checkAccessible: true
>
>     [DEBUG] 09:23:23.391 io.netty.buffer.AbstractByteBuf.<clinit>() - 
> -Dio.netty.buffer.checkBounds: true
>
>     [DEBUG] 09:23:23.391 
> io.netty.util.ResourceLeakDetectorFactory.newResourceLeakDetector() - Loaded 
> default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@61ffa7
>
>     [DEBUG] 09:23:23.413 
> org.apache.plc4x.java.spi.GeneratedDriverByteToMessageCodec.encode() - 
> Sending bytes to PLC for message 
> TPKTPacket[payload=COTPPacketConnectionRequest[parameters={COTPParameterCalledTsap[tsapId=256],COTPParameterCallingTsap[tsapId=785],COTPParameterTpduSize[tpduSize=SIZE_1024]},payload=<null>,destinationReference=0,sourceReference=15,protocolClass=CLASS_0]]
>  as data 0300001611e00000000f00c2020100c1020311c0010a
>
>     [DEBUG] 09:23:23.437 
> org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.lambda$onConnect$9()
>  - Got COTP Connection Response
>
>     [DEBUG] 09:23:23.437 
> org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.lambda$onConnect$9()
>  - Sending S7 Connection Request
>
>     [DEBUG] 09:23:23.440 org.apache.plc4x.java.spi.Plc4xNettyWrapper.encode() 
> - Forwarding request to plc 
> TPKTPacket[payload=COTPPacketData[parameters=<null>,payload=S7MessageRequest[tpduReference=0,parameter=S7ParameterSetupCommunication[maxAmqCaller=8,maxAmqCallee=8,pduLength=1008],payload=<null>],eot=true,tpduRef=1]]
>
>     [DEBUG] 09:23:23.443 
> org.apache.plc4x.java.spi.GeneratedDriverByteToMessageCodec.encode() - 
> Sending bytes to PLC for message 
> TPKTPacket[payload=COTPPacketData[parameters=<null>,payload=S7MessageRequest[tpduReference=0,parameter=S7ParameterSetupCommunication[maxAmqCaller=8,maxAmqCallee=8,pduLength=1008],payload=<null>],eot=true,tpduRef=1]]
>  as data 0300001902f08132010000000000080000f0000008000803f0
>
>     [DEBUG] 09:23:23.453 
> org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.lambda$onConnect$8()
>  - Got S7 Connection Response
>
>     [INFO ] 09:23:23.459 it.fox.datapicker.HelloPlc4x.main() - Synchronous 
> request ...
>
>     java.lang.ClassCastException: class 
> org.apache.plc4x.java.s7.readwrite.field.S7Field cannot be cast to class 
> org.apache.plc4x.java.s7.readwrite.field.S7StringField 
> (org.apache.plc4x.java.s7.readwrite.field.S7Field and 
> org.apache.plc4x.java.s7.readwrite.field.S7StringField are in unnamed module 
> of loader 'app')
>
>             at 
> org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.encodeS7Address(S7ProtocolLogic.java:559)
>
>             at 
> org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.read(S7ProtocolLogic.java:209)
>
>             at 
> org.apache.plc4x.java.spi.optimizer.BaseOptimizer.lambda$optimizedRead$0(BaseOptimizer.java:110)
>
>             at 
> org.apache.plc4x.java.spi.optimizer.BaseOptimizer.send(BaseOptimizer.java:153)
>
>             at 
> org.apache.plc4x.java.spi.optimizer.BaseOptimizer.optimizedRead(BaseOptimizer.java:110)
>
>             at 
> org.apache.plc4x.java.spi.connection.AbstractPlcConnection.read(AbstractPlcConnection.java:153)
>
>             at 
> org.apache.plc4x.java.spi.messages.DefaultPlcReadRequest.execute(DefaultPlcReadRequest.java:54)
>
>             at it.fox.datapicker.HelloPlc4x.main(HelloPlc4x.java:59)
>
>     And here the runtime classpath:
>
>     runtimeClasspath - Runtime classpath of source set 'main'.
>
>     +--- org.apache.plc4x:plc4j-driver-s7:0.8.0-SNAPSHOT
>
>     |    +--- org.apache.plc4x:plc4j-api:0.8.0-SNAPSHOT
>
>     |    |    +--- org.apache.commons:commons-lang3:3.9
>
>     |    |    \--- com.fasterxml.jackson.core:jackson-annotations:2.10.0 -> 
> 2.11.1
>
>     |    +--- org.apache.plc4x:plc4j-spi:0.8.0-SNAPSHOT
>
>     |    |    +--- io.netty:netty-buffer:4.1.47.Final
>
>     |    |    |    \--- io.netty:netty-common:4.1.47.Final
>
>     |    |    +--- io.netty:netty-codec:4.1.47.Final
>
>     |    |    |    +--- io.netty:netty-common:4.1.47.Final
>
>     |    |    |    +--- io.netty:netty-buffer:4.1.47.Final (*)
>
>     |    |    |    \--- io.netty:netty-transport:4.1.47.Final
>
>     |    |    |         +--- io.netty:netty-common:4.1.47.Final
>
>     |    |    |         +--- io.netty:netty-buffer:4.1.47.Final (*)
>
>     |    |    |         \--- io.netty:netty-resolver:4.1.47.Final
>
>     |    |    |              \--- io.netty:netty-common:4.1.47.Final
>
>     |    |    +--- io.netty:netty-common:4.1.47.Final
>
>     |    |    +--- io.netty:netty-transport:4.1.47.Final (*)
>
>     |    |    +--- commons-beanutils:commons-beanutils:1.9.4
>
>     |    |    |    +--- commons-logging:commons-logging:1.2
>
>     |    |    |    \--- commons-collections:commons-collections:3.2.2
>
>     |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.10.0 -> 
> 2.11.1
>
>     |    |    +--- io.vavr:vavr:0.10.2
>
>     |    |    |    \--- io.vavr:vavr-match:0.10.2
>
>     |    |    +--- org.apache.plc4x:plc4j-api:0.8.0-SNAPSHOT (*)
>
>     |    |    +--- org.apache.commons:commons-lang3:3.9
>
>     |    |    +--- com.github.jinahya:bit-io:1.4.3
>
>     |    |    \--- commons-codec:commons-codec:1.12
>
>     |    +--- org.apache.plc4x:plc4j-transport-tcp:0.8.0-SNAPSHOT
>
>     |    |    +--- org.apache.plc4x:plc4j-api:0.8.0-SNAPSHOT (*)
>
>     |    |    +--- org.apache.plc4x:plc4j-spi:0.8.0-SNAPSHOT (*)
>
>     |    |    \--- io.netty:netty-transport:4.1.47.Final (*)
>
>     |    +--- com.fasterxml.jackson.core:jackson-annotations:2.10.0 -> 2.11.1
>
>     |    +--- org.apache.commons:commons-lang3:3.9
>
>     |    +--- commons-codec:commons-codec:1.12
>
>     |    +--- io.netty:netty-buffer:4.1.47.Final (*)
>
>     |    \--- io.vavr:vavr:0.10.2 (*)
>
>     +--- org.apache.logging.log4j:log4j-core:2.13.1
>
>     |    \--- org.apache.logging.log4j:log4j-api:2.13.1
>
>     +--- org.apache.logging.log4j:log4j-api:2.13.1
>
>     +--- org.apache.logging.log4j:log4j-slf4j-impl:2.13.1
>
>     |    +--- org.slf4j:slf4j-api:1.7.25
>
>     |    +--- org.apache.logging.log4j:log4j-api:2.13.1
>
>     |    \--- org.apache.logging.log4j:log4j-core:2.13.1 (*)
>
>     +--- com.fasterxml.jackson.core:jackson-databind:2.11.1
>
>     |    +--- com.fasterxml.jackson.core:jackson-annotations:2.11.1
>
>     |    \--- com.fasterxml.jackson.core:jackson-core:2.11.1
>
>     \--- commons-cli:commons-cli:1.4
>
>     Thanks,
>     Stefano
>
>
>
>
​

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to