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 2023/05/31 12:32:16 UTC

[DISCUSS] Adding a Publish-API?

Hi all,

I’m currently contining to work on Ben’s PROFINET work, hopefully pushing the PN driver to a really useable form in this month.

However, we did come across something that we haven’t had before, but I think we will more and more come across the more Fieldbus protocols we will be supporting.

We currently have the Read and the Write API for Async reading and writing and we have the Subscription API for subscribing events from the PLC.
You might have noticed what’s generally missing here? … Profinet allows us to setup not only a subscription where we’ll be cyclically receive values, it also allows us to publish values to the PN devices.

The problem with this is, that it needs to be setup and all published values need to be published in every cycle.

It would be quite problematic to use our Write API for this … but it’s actually a lot more like our Subscription API … just like with the async variants, the write direction is simply the read-direction plus a value.

So my proposal would be to add a Publish API, where the user sets up which tags he intends to write with which initial values and the driver would start sending that data on every cycle … now the API could receive Update-Events from the Application and simply update the local values and have the updated values posted on the next cycle.

I am pretty sure we’ll need something like that for EtherCAT and IOLink etc. … and it sort of feels like it’s actually a missing main component of the API.

We might even be able to use this to support stuff like MQTT?


What do you folks think?

Chris

Re: [DISCUSS] Adding a Publish-API?

Posted by Lukas Ott <ot...@gmail.com>.
+1 to add a Publish API. I think so too that we really have a need for an
API like that to support Pub-Sub Protocols like MQTT and AMQP in a more
natural way.

Lukas

Am Mi., 31. Mai 2023 um 14:32 Uhr schrieb Christofer Dutz <
christofer.dutz@c-ware.de>:

> Hi all,
>
> I’m currently contining to work on Ben’s PROFINET work, hopefully pushing
> the PN driver to a really useable form in this month.
>
> However, we did come across something that we haven’t had before, but I
> think we will more and more come across the more Fieldbus protocols we will
> be supporting.
>
> We currently have the Read and the Write API for Async reading and writing
> and we have the Subscription API for subscribing events from the PLC.
> You might have noticed what’s generally missing here? … Profinet allows us
> to setup not only a subscription where we’ll be cyclically receive values,
> it also allows us to publish values to the PN devices.
>
> The problem with this is, that it needs to be setup and all published
> values need to be published in every cycle.
>
> It would be quite problematic to use our Write API for this … but it’s
> actually a lot more like our Subscription API … just like with the async
> variants, the write direction is simply the read-direction plus a value.
>
> So my proposal would be to add a Publish API, where the user sets up which
> tags he intends to write with which initial values and the driver would
> start sending that data on every cycle … now the API could receive
> Update-Events from the Application and simply update the local values and
> have the updated values posted on the next cycle.
>
> I am pretty sure we’ll need something like that for EtherCAT and IOLink
> etc. … and it sort of feels like it’s actually a missing main component of
> the API.
>
> We might even be able to use this to support stuff like MQTT?
>
>
> What do you folks think?
>
> Chris
>