Hi guys,
just wanted to make a small update. I added a "generic" trigger (mostly for 
naming) and did some changes so it can be used with the new drivers.
I tested this on an S7 and Allen-Bradley PLC, and both worked!
I did the changes in the "feature/scraper" branch, but I think it would need a 
bit of cleaning. And if you guys are ok with the way it is, I could try and use 
the scraper with Camel.

Etienne

On 2020/05/06 12:48:39, Etienne Robinet <[email protected]> wrote: 
> Hello guys,
> I was looking a bit at the actual Scraper we have in 'tools'. I tested a 
> scheduled Read via YAML file and it worked just fine. However when I try to 
> create a triggered-read, I get an error:
> 
> [main] INFO org.apache.plc4x.java.PlcDriverManager - Instantiating new PLC 
> Driver Manager with class loader 
> jdk.internal.loader.ClassLoaders$AppClassLoader@77556fd
> [main] INFO org.apache.plc4x.java.PlcDriverManager - Registering available 
> drivers...
> [main] INFO org.apache.plc4x.java.PlcDriverManager - Registering driver for 
> Protocol s7 (Siemens S7 (Basic))
> [main] INFO org.apache.plc4x.java.transport.tcp.TcpChannelFactory - 
> Configuring Bootstrap with Configuration{local-rack=1, local-slot=1, 
> remote-rack=0, remot-slot=0, pduSize=1024, maxAmqCaller=8, maxAmqCallee=8, 
> controllerType='null'}
> [main] WARN 
> org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.collector.TriggerCollectorImpl
>  - The Triggered Scraper is intended to be used with a Pooled Connection. In 
> other situations leaks could occur!
> [main] INFO org.apache.plc4x.java.PlcDriverManager - Instantiating new PLC 
> Driver Manager with class loader 
> jdk.internal.loader.ClassLoaders$AppClassLoader@77556fd
> [main] INFO org.apache.plc4x.java.PlcDriverManager - Registering available 
> drivers...
> [main] INFO org.apache.plc4x.java.PlcDriverManager - Registering driver for 
> Protocol s7 (Siemens S7 (Basic))
> [main] INFO 
> org.apache.plc4x.java.scraper.config.triggeredscraper.ScraperConfigurationTriggeredImpl
>  - Assuming job as triggered job because triggerConfig has been set
> org.apache.plc4x.java.scraper.exception.ScraperConfigurationException: Null 
> plc-trigger variable used
>       at 
> org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.TriggerConfiguration.validateDataType(TriggerConfiguration.java:167)
>       at 
> org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.TriggerConfiguration.access$200(TriggerConfiguration.java:37)
>       at 
> org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.TriggerConfiguration$TriggerElement.convertCompareValue(TriggerConfiguration.java:562)
>       at 
> org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.TriggerConfiguration$TriggerElement.<init>(TriggerConfiguration.java:545)
>       at 
> org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.TriggerConfiguration.createConfiguration(TriggerConfiguration.java:386)
>       at 
> org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScrapeJobImpl.<init>(TriggeredScrapeJobImpl.java:42)
>       at 
> org.apache.plc4x.java.scraper.config.triggeredscraper.ScraperConfigurationTriggeredImpl.getJobs(ScraperConfigurationTriggeredImpl.java:99)
>       at 
> org.apache.plc4x.java.scraper.config.triggeredscraper.ScraperConfigurationTriggeredImpl.getJobs(ScraperConfigurationTriggeredImpl.java:88)
>       at 
> org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl.<init>(TriggeredScraperImpl.java:95)
>       at Test.main(Test.java:27)
> 
> After some debugging it seems like the PlcField for the trigger is not set 
> (so it's null). Anyone who worked on this has an idea? Or maybe I'm using the 
> config file wrong, here is what I have:
> 
> sources:
>   S7: s7://192.168.178.10
> 
> jobs:
>   - name: triggered-demo-job1
>     triggerConfig: (S7_TRIGGER_VAR,10,(%M200.0:BOOL)==(true))
>     sources:
>       - S7
>     fields:
>       test2: '%DB1.DBW2:INT'
> 
> Etienne
> 
  • Scraper Etienne Robinet
    • Re: Scraper Etienne Robinet

Reply via email to