You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by tm...@apache.org on 2019/05/06 19:37:03 UTC
[plc4x] 01/02: minor improvements
This is an automated email from the ASF dual-hosted git repository.
tmitsch pushed a commit to branch scraper_refactoring_and_improvement
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 25f2fd551f4d970ace2f538997589a72f6aa7cde
Author: Tim Mitsch <t....@pragmaticindustries.de>
AuthorDate: Mon May 6 14:52:39 2019 +0200
minor improvements
---
.../triggerhandler/collector/TriggerCollectorImpl.java | 15 ++++++++++++---
.../src/test/resources/example_triggered_scraper.yml | 6 +++---
2 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/collector/TriggerCollectorImpl.java b/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/collector/TriggerCollectorImpl.java
index 77b95d8..113eca7 100644
--- a/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/collector/TriggerCollectorImpl.java
+++ b/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/collector/TriggerCollectorImpl.java
@@ -43,7 +43,7 @@ public class TriggerCollectorImpl implements TriggerCollector {
private static final Logger logger = LoggerFactory.getLogger( TriggerCollectorImpl.class );
private static final int DEFAULT_SCHEDULED_TRIGGER_INTERVAL = 1000;
- private static final int FUTURE_TIMEOUT = 1000;
+ private static final int FUTURE_TIMEOUT = 2000;
private static final int READ_REQUEST_TIMEOUT = 2000;
private final PlcDriverManager plcDriverManager;
private final Map<String,RequestElement> currentRequestElements;
@@ -127,6 +127,7 @@ public class TriggerCollectorImpl implements TriggerCollector {
Map<String, PlcReadRequest.Builder> plcReadRequestBuilderMap = new HashMap<>();
Map<String, PlcReadResponse> plcReadResponseMap = new HashMap<>();
List<RequestElement> activeRequestElements = new ArrayList<>();
+ PlcConnection plcConnection=null;
for(Map.Entry<String,RequestElement> entry:currentRequestElements.entrySet()){
if(entry.getValue().getLastAcquirement().isBefore(
currentTimestamp
@@ -135,7 +136,7 @@ public class TriggerCollectorImpl implements TriggerCollector {
String plcConnectionString = entry.getValue().plcConnectionString;
if(!plcReadRequestBuilderMap.containsKey(plcConnectionString)){
try {
- PlcConnection plcConnection = TriggeredScraperImpl.getPlcConnection(plcDriverManager,plcConnectionString,executorService,futureTimeout);
+ plcConnection = TriggeredScraperImpl.getPlcConnection(plcDriverManager,plcConnectionString,executorService,futureTimeout);
plcReadRequestBuilderMap.put(plcConnectionString,plcConnection.readRequestBuilder());
plcReadRequestBuilderMap.get(plcConnectionString).addItem(entry.getKey(),entry.getValue().getPlcField());
activeRequestElements.add(entry.getValue());
@@ -157,7 +158,8 @@ public class TriggerCollectorImpl implements TriggerCollector {
for(Map.Entry<String,PlcReadRequest.Builder> entry: plcReadRequestBuilderMap.entrySet()){
try {
- plcReadResponseMap.put(entry.getKey(),entry.getValue().build().execute().get(futureTimeout,TimeUnit.MILLISECONDS));
+ PlcReadResponse plcReadResponse = entry.getValue().build().execute().get(futureTimeout, TimeUnit.MILLISECONDS);
+ plcReadResponseMap.put(entry.getKey(), plcReadResponse);
} catch (InterruptedException e) {
logger.warn("Extraction of PlcResponse was interrupted",e);
Thread.currentThread().interrupt();
@@ -173,6 +175,13 @@ public class TriggerCollectorImpl implements TriggerCollector {
requestElement.setResult(plcReadResponseMap.get(requestElement.getPlcConnectionString()).getObject(requestElement.getUuid()));
requestElement.setLastAcquirement(currentTime);
}
+ if(plcConnection!=null){
+ try {
+ plcConnection.close();
+ } catch (Exception e) {
+ logger.warn("Could not close connectiom ...");
+ }
+ }
}
/**
diff --git a/plc4j/utils/scraper/src/test/resources/example_triggered_scraper.yml b/plc4j/utils/scraper/src/test/resources/example_triggered_scraper.yml
index e701e12..99ad571 100644
--- a/plc4j/utils/scraper/src/test/resources/example_triggered_scraper.yml
+++ b/plc4j/utils/scraper/src/test/resources/example_triggered_scraper.yml
@@ -29,7 +29,7 @@ jobs:
test1: '%DB810:DBB0:USINT'
- name: triggered-demo-job1
- triggerConfig: (S7_TRIGGER_VAR,100,(%M0.3:BOOL)==(true))
+ triggerConfig: (S7_TRIGGER_VAR,10,(%M0.3:BOOL)==(true))
sources:
- S7_PI
fields:
@@ -60,8 +60,8 @@ jobs:
fields:
test1: '%DB810:DBW0:INT'
- - name: triggered-demo-job3-combinded-condition
- triggerConfig: (S7_TRIGGER_VAR,400,(%M0.6:BOOL)==(true)OR(%M0.7:BOOL)==(true))
+ - name: triggered-demo-job4-combinded-condition
+ triggerConfig: (S7_TRIGGER_VAR,5,(%M0.1:BOOL)==(true)OR(%M0.2:BOOL)==(true))
sources:
- S7_PI
fields: