Hi Julian,

the issue I see here is that it will make the build more complex (the part 
using the wrapper will only be runnable on windows and not sure if the license 
of the wrapped DLLs would allow including them). 

It will also eliminate the ability to auto-port the driver to other languages. 

And, beyond that, it would limit these drivers to only work on a subset of 
platforms (Aka ... a Java Driver that only works on Windows Systems with 
installed subsystem for the PLC)

I wouldn't want to make such a solution a first class citizen (aka live in 
plc4j/drivers) ... we could sort of start providing some sort of 
"plc4j/contrib" modules, if we have to go this path.

But personally I would opt for at least having a look at the path I described 
in slack:

- Use the native libs and build an application that does the basic interaction 
with the Windows DLLs
- Use WireShark to record the communication
- Have a look if it's not just a very small subset of DCOM that is used

Perhaps it would sort of be like using some mspec types with a lot of const 
fields to allow communication without any intermediate DLL .... this would make 
it runnable on all target platforms and auto-portable to all target languages 
of PLC4X.


Chris

Am 09.09.20, 09:50 schrieb "Julian Feinauer" <[email protected]>:

    Hi all,

    wanted to bring it tot he list as we already had a discussion in the slack 
channel.
    We have a project where we consider integrating machinery in our system.
    The machinery offers an SDK for communication which is windows only and 
based on DCOM.
    Thus, the integration would be a wrapper around the SDK with „only“ a PLC4X 
„frontend“.

    Personally, I consider this viable as our aim ist o have one interface for 
„everything“.
    Nonetheless, I also agree with everybody saying that its not as nice as 
having the complete stack in our hands.

    What do others think, should this be part oft he PLC4X project or should we 
just do it separately.
    Personally idk that much but think it would be nice to have maximum support 
in plc4x, if possible.

    Best
    Julian

Reply via email to