plc4x-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Łukasz Dywicki <l...@code-house.org>
Subject Re: [DISCUSS] Add Wrappers to PLC4X Project
Date Thu, 10 Sep 2020 21:03:24 GMT
It is pretty good question to answer. Given that Julien proposal
includes native binary I can also add that socketcan stuff I am working
on .. is bound only to Linux due to native dependency in JavaCAN transport.

>From my perspective I can tell that it really depends on budget you
have. Our CAN journey started from CAN over Ethernet (UDP) and ended up
in dark corner which some of you could observe over past weeks. We had
to do it, because that was customer requirement (skip vendor gateway).
If you don't have such requirement then I would say there is quite weak
case to invest in it.
My point comes from observations. I wrote couple of MSpec files and it
was indeed fun. Both profinet and lldp took me a little bit, but
structures I got structures and I was able to parse real traffic. What I
skipped in my earlier attempts was implementation of driver api where
you actually start implementing necessary conversation logic. Having a
fresh look from CANopen perspective - it is quite big effort which
requires time.

My point outlining above is simple - as long as we have just one
dominant language as we have and we fail to attract more diverse pool of
people to start writing conversation logic for other languages does not
give big benefit. I agree it is important, but it is much more necessary
now to support wider pool of end devices. Once we will build big enough
pool of people who have commercial interest in moving stuff between
operating systems and platforms we will be able to start joint
investment together. There is no better explanation than savings on
hardware when it comes to large scale deployments.

>From my point of view - I would welcome your stuff anywhere, even in
sandbox. Just remember to unify DLL loading logic. ;-)

Best regards,
Łukasz

On 10.09.2020 00:32, Cesar Garcia wrote:
> Hello,
> 
> I think the concept of the project is clear:
> 
> "PLC4X is a set of libraries for communicating with industrial programmable
> logic controllers (PLCs) using a variety of protocols but with a shared
> API."
> 
> If your client allows you to publish the project in PLC4X, it is a very
> important opportunity for this project to increase and share knowledge.
> 
> As for DCOM, it is a reality that will be with us no less than 20 years in
> the future due to its installed base [1]. We need to live with the Windows
> and Linux environment for years to come, and that is a reality.
> 
> As for solutions with DCOM we have [2], in my case which allows using
> OPC-DA from Java, as in [3].
> 
> My grain of sand
> 
> 1.
> https://opcfoundation.org/wp-content/uploads/2018/02/ARC-Report-OPC-Installed-Base-Insights.pdf
> 2. http://j-interop.org/
> 3. https://www.eclipse.org/eclipsescada/
> 
> El mié., 9 sept. 2020 a las 8:31, Otto Fowler (<ottobackwards@gmail.com>)
> escribió:
> 
>>  I think this should be hosted and more importantly _maintained_ outside
>> the project.  If you want to add reference to it to the project site or
>> something, that would be something to talk about.
>>
>>
>> On September 9, 2020 at 08:28:12, Stefano Bossi (stefano.bossi@gmail.com)
>> wrote:
>>
>> Hi,
>>
>> personally I think this kind of approach will limit the usability of the
>> library in a very narrow subset of uses do to the windows operating system
>> dependency.
>>
>> I think you guys put a lot of effort in portability and small footprint of
>> the library and this is a great think in the industrial world where
>> typically there are small PC or embedded one.
>>
>> Using the library in a small PC like a Rasperry Pi with a linux distro and
>> a lot of attention for the security and hardening of the environment I
>> think is a pro for any industrial project
>> (e.g. Selinux, Firewall, minimal service installation, OSCAP security
>> profile compliance, etc ).
>>
>> Evaluating the effort required in reversing the DCOM protocol is something
>> to be taken into consideration before integrating a windows library in the
>> plc4x code.
>>
>> Maybe this could be a transient solution or a way to validate a full open
>> source solution.
>>
>> Regards,
>> Stefano
>>
>>
>>
>> On 09/09/2020 13:35, Christofer Dutz wrote:
>>
>> 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"
>> <j.feinauer@pragmaticminds.de> <j.feinauer@pragmaticminds.de>:
>>
>>
>>
>>     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
>>
> 
> 

Mime
View raw message