plc4x-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philipp Zehnder <zehn...@apache.org>
Subject Re: [PROPOSAL] Add better PLC4X-API support for Input Dialogs
Date Fri, 29 May 2020 21:40:11 GMT
Hi,

this is a very cool idea and it would definitely improve the user experience for PLC4X.

Especially, the input validation and autocomplete for field addresses would be helpful for
the StreamPipes integration.

Is it possible for some protocols to read a list of all available variables and if so, which
ones?

So far, we decided to provide for each protocol an individual adapter. We thought this makes
sense, because the naming and technical background of the protocols might differ.
(E.g. we provide a CSV upload for S7 PLCs, and I do not know if that would be possible for
Modbus for example)
Does that make sense to you or do you have any alternative ideas?

Status of the PLC4X integration into StreamPipes:
Currently we support S7 and we are working on Modbus. 
@Chris you implemented an adapter for BACnet/IP, right?

Any ideas or suggestions what we should integrate next?

Philipp


On 2020/05/29 08:50:18, Julian Feinauer <j...@pragmaticminds.de> wrote: 
> Hi folks,> 
> 
> 
> 
> this is an old Issue (see https://cwiki.apache.org/confluence/display/PLC4X/API+Extension+for+1.0).>

> 
> What I generally would like to have is a way to communicate with the API / the Driver
without needing a Connection to e.g. „talk“ about the address input and probably also
the connection parameters.> 
> 
> 
> 
> To give you an example, consider I want to have a mask where users could enter their
url and address.> 
> 
> It would be nice to get all available protocols> 
> 
> 
> 
> Map<String, Driver> map = driverManager.getAllRegisteredProtocols()> 
> 
> 
> 
> to show it in a drop down.> 
> 
> When user selects one I could generate a form to enter all connection parameters>

> 
> 
> 
> driver.getConnectionParameters();> 
> 
> 
> 
> And then, when he wants to enter a Field Address I could go on like that and could do
many things already with the Driver without hte need to have a Conneciton in Place already.
Like:> 
> 
> 
> 
> driver.validate(„%DB.asdf“) <-- fails> 
> 
> driver.getValidatingRegex() <-- Could be used in my forms> 
> 
> 
> 
> or even get more detailed information, like an abstract address specification that I
could use to build a form.> 
> 
> For S7 this could for example be> 
> 
> 
> 
> List<AddressPart> driver.getAddressParts()> 
> 
> 
> 
> which could be something like> 
> 
> 
> 
> MemoryPart <- Enum-Like „DB, Q, I, ...“ and so on.> 
> 
> 
> 
> Tob e clear: I ONLY want to extend the current API and not change anything setup. So
all APIs would stay in Place as is but this would help people who allow their users to input
PLC4X Informations like we do or e.g. Streampipes (thus, added as CC here).> 
> 
> 
> 
> WDYT?> 
> 
> 
> 
> Julian> 
> 
>  



Mime
View raw message