You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@plc4x.apache.org by Christofer Dutz <ch...@c-ware.de> on 2019/02/11 15:30:51 UTC

[DYNAMIC DRIVER] Frist working version of a dynamic S7 driver

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



AW: [DYNAMIC DRIVER] Frist working version of a dynamic S7 driver

Posted by Julian Feinauer <j....@pragmaticminds.de>.
Really impressive work Chris... Bringing things to the next level...

Julian

Von meinem Mobiltelefon gesendet


-------- Ursprüngliche Nachricht --------
Betreff: Re: [DYNAMIC DRIVER] Frist working version of a dynamic S7 driver
Von: Otto Fowler
An: dev@plc4x.apache.org
Cc:

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

Re: [DYNAMIC DRIVER] Frist working version of a dynamic S7 driver

Posted by Otto Fowler <ot...@gmail.com>.
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