apache / plc4x

PLC4X The Industrial IoT adapter

Home Page:https://plc4x.apache.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feature Request]: Implement OPC-UA connection level discovery aside of main driver logic

splatch opened this issue · comments

What would you like to happen?

The OPC-UA endpoint discovery is important to get a working connection towards UA server, however its current implementation already lead to multiple issues and contributed to overall stability of the driver.

Main problem with UA discovery is visible only at the lower level if option discover' is set to 'true. In such case we create a pre-flight TCP connection to obtain endpoint string and server certificate which we can use to launch desired connection. To my present knowledge, this is the only one reason we have that. In order to achieve above case we made adjustments with plc4j-spi as well as driver context (mutable) vs driver configuration (immutable).

I believe that sorting this puzzle before 1.0 would greatly simplify maintenance of driver and spi, cause current way requires close care of both places. Switching this code to PlcDiscoverer sounds like a much viable and reliable alternative. We already have working implementations of this SPI in ads and profinet drivers.

Programming Languages

  • plc4j
  • plc4go
  • plc4c
  • plc4net

Protocols

  • AB-Ethernet
  • ADS /AMS
  • BACnet/IP
  • CANopen
  • DeltaV
  • DF1
  • EtherNet/IP
  • Firmata
  • KNXnet/IP
  • Modbus
  • OPC-UA
  • S7