+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.d...@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 >