Hmmm odd … usually my outlook doesn’t do that… but I’ll be more careful about 
it.

What do you mean with “optional” flag? In maven you can declare a dependency as 
optional, do you mean that? If that would work, that would be great. As I 
mentioned, so far I was planning on using the “optional” maven dependencies, 
but didn’t do that yet.

Chris

From: Łukasz Dywicki <lukasz.dywi...@connectorio.com>
Sent: Mittwoch, 19. Januar 2022 13:24
To: dev@plc4x.apache.org
Cc: Christofer Dutz <christofer.d...@c-ware.de>
Subject: Re: [DISCUSS] Extend PlcDriver with "supportedTransports"?


Chris by accident sent answer to me (we both love Thunderbird for that). ;-)

There is a bit of risk with listing all transports as for modbus as we will 
effectively end up with tcp, serial and udp (at some point, who knows what 
else?). ;-) I need to check how optional runtime dependencies gets propagated 
by maven, maybe we could reduce impact on downstream projects by optional + 
scope markers.

From OSGi point of view we need to update metadata to list compatible 
transports using "optional" flag. I could do that in 0.10 as this is something 
I found problematic with prior releases.

Other way is using constructions such as "require-capability: 
plc4x-transport;kind=tcp", but this gets us on complicated path which I don't 
think we need nor will be able to fully utilize in coming year.

Best,
Łukasz
On 19.01.2022 12:00, Christofer Dutz wrote:

Well the problem with eagerly including transports is:

For example, using Modbus ... most transports being used will probably be onls 
TCP. And with Modbus-RTU it should only work with Serial, but there are people 
using serial-to-network converters, so you also could use Modbus-RTU via TCP 
transport ... also, if we ever support passive-mode we would be adding 
raw-passive. I think initially I made the drivers explicitly depend on the 
default transports and have people include the optional ones. I think for the 
raw transports on some systems you needed to run the application as root or 
with privileged network access.



But admittedly this has been so many years ago .. I don't even know if this is 
a problem today.



My reasoning on using "supported" is that these are the transports we are aware 
of and explicitly support, if the user uses S7 with Serial for example, that's 
not "supported" and if he has trouble with this ... well I guess it's his 
problem ;-)



So, what would you be proposing on returning? @Łukasz Dywicki ... instead of 
returning "tcp" to return "Class<TcpTransport>" (or however we do it)?



Chris





-----Original Message-----

From: Łukasz Dywicki <l...@code-house.org><mailto:l...@code-house.org>

Sent: Mittwoch, 19. Januar 2022 11:47

To: dev@plc4x.apache.org<mailto:dev@plc4x.apache.org>

Subject: Re: [DISCUSS] Extend PlcDriver with "supportedTransports"?



I come over this issue yesterday, but on other end. While trying to get

0.10 running under OSGi I found that "wiring" if fine but whole thing fails to 
work at runtime.

This boils down to several things, but Transport SPI lookup too. I agree that 
listing supported transports types (tcp/udp/serial/can) is fine for start. On 
other hand it is unlikely we will ever get S7 working over serial line so we 
could in theory declare that it works only with TcpTransport. Later one is 
actually beneficiary, at least for OSGi, cause it makes S7 driver classpath 
aware of TcpTransport requirement.

This was issue Etiane was facing back then while working with Camel components 
to wire everything in.



Anyhow, I am fine with both, with some level of preference for listing 
transports directly. If we scope dependencies properly end users will get 
drivers working out of the box with very few entries in their build tool.



Best,

Łukasz



On 19.01.2022 10:44, Christofer Dutz wrote:

Hi Cesar,



right now, I would only like to give back a list of strings that are the codes 
of the supported transports.

Perhaps we should extend the transports to give tooling more assistance on how 
a given transport is to be configured.



Chris





-----Original Message-----

From: Cesar Garcia <cesar.gar...@ceos.com.ve><mailto:cesar.gar...@ceos.com.ve>

Sent: Sonntag, 9. Januar 2022 17:29

To: Apache PLC4X <dev@plc4x.apache.org><mailto:dev@plc4x.apache.org>

Subject: Re: [DISCUSS] Extend PlcDriver with "supportedTransports"?



How are they?



Not only the transport, but also the data structures of the items.



This would allow the user to have a reference of what you can request in the 
items.



Looking to the future, this would be a must for the OPC-UA server.



Kind regards,



El dom, 9 ene 2022 a las 6:10, Christofer Dutz

(<christofer.d...@c-ware.de><mailto:christofer.d...@c-ware.de>)

escribió:



Hi all,



I know initially I built the Plc4X API to generally allow any form of

driver to use any form of transport.

However, this only would have worked in theory.



I think we should probably have every driver provide a list of

supported transports.

This would also help make tool integration easier.



If we see that for example sometimes, we have ModbusRTU passed along

TCP/UDP connections via serial-to-ethernet adapters, we can

definitely support that and if we come across a mode of operation,

that we haven't encountered, it should be easy to extend.



But this way we could ensure that we build the drivers in a way that

they know what to expect.



What do you think?







--

*CEOS Automatización, C.A.*

*GALPON SERVICIO INDUSTRIALES Y NAVALES FA, C.A.,* *PISO 1, OFICINA 2,

AV. RAUL LEONI, SECTOR GUAMACHITO,*



*FRENTE A LA ASOCIACION DE GANADEROS,BARCELONA,EDO. ANZOATEGUI* *Ing.

César García*



*Cel: +58 414-760.98.95*



*Hotline Técnica SIEMENS: 0800 1005080*



*Email: 
support.aan.automat...@siemens.com<mailto:support.aan.automat...@siemens.com>

<support.aan.automat...@siemens.com><mailto:support.aan.automat...@siemens.com>*
--
Łukasz Dywicki
Chief Executive Officer
luk...@connectorio.com<mailto:luk...@connectorio.com>
[Logo]<https://connectorio.com/?utm_source=mail_logo>

Krasiczyńska 3 m.80
03-379 Warsaw, Poland
Mobile +48 721 151 666
www.connectorio.com<http://www.connectorio.com/?utm_source=mail_link>
[Facebook icon]<https://www.facebook.com/connectorio>  [LinkedIn icon] 
<https://twitter.com/connectorio>   [Twitter icon] 
<https://twitter.com/connectorio>
The content of this email is confidential and intended for the recipient 
specified in message only. It is strictly forbidden to share any part of this 
message with any third party, without a written consent of the sender. If you 
received this message by mistake, please reply to this message and follow with 
its deletion, so that we can ensure such a mistake does not occur in the future.

Reply via email to