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 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 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 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>
>
>