plc4x-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Otto Fowler <ottobackwa...@gmail.com>
Subject Re: [DYNAMIC DRIVER] Frist working version of a dynamic S7 driver
Date Mon, 11 Feb 2019 18:09:31 GMT
Great work Chris!


On February 11, 2019 at 10:31:05, Christofer Dutz (christofer.dutz@c-ware.de)
wrote:

Hi all,

I just pushed my latest work on the dynamic s7 driver.
This version is now able to connect, detect the device type and read
single-item requests. (The reason for this is currently I have to figgure
out how to manipulate the DOM tree at runtime for multiple items … but that
is definitely planned)

I also tested the driver with the hello world application (You need to add
a dependency to


<dependency>
<groupId>org.apache.plc4x.sandbox</groupId>
<artifactId>plc4j-dynamic-driver-s7</artifactId>
<version>0.4.0-SNAPSHOT</version>
</dependency>

And use the url prefix “s7d” instead of “s7” …

I did a quick benchmark and we’re far from the current performance values.
But this was to be expected. I have to try it back in the office (currently
accessing our S7 via VPN from my home-office)
Here the normal S7 got response times of around 55ms and the dynamic one
got 160ms (twice the non-dynamic version)
After finishing the dynamic driver (reading & writing of multiple items) I
would then start work on the code-generation where I am expecting
significantly better performance.

Another thing I haven’t managed to get working yet, is executing multiple
requests at the same time (respecting the Max AMQ value). Here I’m
currently asking for help on the Apache Commons list.

But what I’m really happy with, is that this generally proves that it is
possible to specify a driver with mostly XML, which will be really cool
when it comes to implementing new protocols … you can quickly change things
and test them without having to write thousands of lines of code.

So far for the update on the dynamic drivers.

Chris

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message