Hi Inigo, I’m a committer on Apache Nifi as well as PLC4X, I would be happy to review your processor. If I understand what you are saying correctly, you have a single processor which supports record writing output?
plc4x -> records And that you have, for configuration purposes for that processor created support on a per protocol basis for configuration and validation? If there is per protocol configuration / validation etc, it may be better to have a base processor, and derived processors per protocol to handle those differences. I look forward to seeing the code. > On Apr 21, 2021, at 04:05, Iñigo Angulo <[email protected]> wrote: > > Hi all, > > I am writing as we have been working on the Apache Nifi integration part of > the project. We have created a Record oriented processor for reading PLC > data. It is based on the previous existing SourceProcessor, but works with > records, using a Nifi Writer (such as Avro, Json, and so on) to write data on > flowfiles content. > > We updated the code on our fork with the actual PLC4X git repo about 2 weeks > ago, and tested it reading values with S7 from a S7-1200 CPU from Nifi. Also, > one of our customers has recently started to use it for validation. > > Currently, it works with S7 and Modbus over TCP. This is because we had to > write some classes to map connectionString and variableList properties > (sintax) of the processor to the actual protocol, to be able to build then > avro schema for output flowfile, taking into account variable datatypes, etc. > We only did this for S7 and Modbus. I am sure that there is a better way to > do this, so at this point you maybe could take a look to find the best > solution and avoid needing to do this mapping. > > If you find this useful, we could do a pull request to the main PLC4x repo. > Let us know what you think. > > best regards, > iñigo > > ----------------------------------------- > Iñigo Angulo > > ZYLK.net :: consultoría.openSource > telf.: 747412337 > Ribera de Axpe, 11 > Edificio A, modulo 201-203 > 48950 Erandio (Bizkaia) > -----------------------------------------
