Etienne,

like so often you are absolutely right with your analysis oft he Situation : )
Indeed these are very valuable features.

In plc4x there exists a compontent called the "Scraper" (which I wrote 
initially) and which was extended to a "TriggeredScraper" by @Tim Mitsch which 
does exactly that.
Watch a bit or a condition and only fetch data, when this condition changes.

In fact we want (since months) integrate our in-house developed Engine for 
these Tasks, CRUNCH as a PLC4X Subproject to push this even further (see here 
for CRUNCH https://github.com/pragmaticminds/crunch).

I guess it helps you to take a look at both resoures!

Julian

Am 17.04.20, 09:21 schrieb "Etienne Robinet" <[email protected]>:

    Hi everyone,
    As the Camel component is now working correctly, I thought about some 
features we could add on it, based on work I read from a coworker. I would like 
to know if these would fit inside this project and if so I would be glad to 
implement them.
    
    Trigger & Completion
    To prevent writing to a PLC that is using data or to fetch a bunch of data 
that has not changed, we could use Flags (Bits). A transaction will only take 
place if the Trigger bit is 1, and once it is done, it's set back to 0 and the 
completion bit to 1 (or Error bit). This way, the PLC is the master of the 
transaction and can tell when it can be written to or read from.
    
    Polling
    In order to be aware of the change of state of the trigger, we should do a 
polling on this bit. This way, we only read 1 bit, at an user specified 
interval, and once the bit is 1, we do the transaction(read/write)
    
    Default values
    If none or not every of these parameters are given, then we could use 
default values like reading the tags given every 1000ms or so (e.g. for 
monitoring)
    
    Hope this is interesting for you and if so I would start next  week.
    
    Etienne
    
    

Reply via email to