|
@@ -45,11 +45,7 @@ public class FestoXRServer {
|
|
|
logger.info("Reached {}", targetPos);
|
|
|
return "OK";
|
|
|
}
|
|
|
- try {
|
|
|
- Thread.sleep(100);
|
|
|
- } catch (InterruptedException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
+ Thread.sleep(100);
|
|
|
}
|
|
|
} catch (ExecutionException|InterruptedException e) {
|
|
|
logger.warn("abs failed", e);
|
|
@@ -62,27 +58,20 @@ public class FestoXRServer {
|
|
|
try {
|
|
|
logger.info("Absolute to {} speed {}", targetPos, speed);
|
|
|
Main.fhm.bereitschaft();
|
|
|
- if(!Main.fhm.readStatus().get().enabled) {
|
|
|
- logger.info("Controller not enabled");
|
|
|
- return "Controller not enabled";
|
|
|
- }
|
|
|
- Main.fhm.direktAuftrag(targetPos, speed, 0, false);
|
|
|
- Thread.sleep(100);
|
|
|
- Main.fhm.direktAuftrag(targetPos, speed, 1, false);
|
|
|
-
|
|
|
- while(true) {
|
|
|
- boolean reached=checkPos(targetPos);
|
|
|
- if(reached) {
|
|
|
- logger.info("Reached {}", targetPos);
|
|
|
- return "OK";
|
|
|
- }
|
|
|
- try {
|
|
|
- Thread.sleep(100);
|
|
|
- } catch (InterruptedException e) {
|
|
|
- e.printStackTrace();
|
|
|
+
|
|
|
+ Main.fhm.direktAuftrag(targetPos, speed, 0, false);
|
|
|
+ Thread.sleep(100);
|
|
|
+ Main.fhm.direktAuftrag(targetPos, speed, 1, false);
|
|
|
+
|
|
|
+ while(true) {
|
|
|
+ boolean reached=checkPos(targetPos);
|
|
|
+ if(reached) {
|
|
|
+ logger.info("Reached {}", targetPos);
|
|
|
+ return "OK";
|
|
|
+ }
|
|
|
+ Thread.sleep(100);
|
|
|
}
|
|
|
- }
|
|
|
- } catch (ExecutionException|InterruptedException e) {
|
|
|
+ } catch (InterruptedException e) {
|
|
|
logger.warn("abs failed", e);
|
|
|
return "abs failed: "+e.toString();
|
|
|
}
|
|
@@ -102,10 +91,23 @@ public class FestoXRServer {
|
|
|
}
|
|
|
|
|
|
@XRMethod(value = "ready", help = "ready")
|
|
|
- public static void ready() {
|
|
|
- logger.info("Ready Begin");
|
|
|
- Main.fhm.bereitschaft();
|
|
|
- logger.info("Ready End");
|
|
|
+ public static String ready() {
|
|
|
+ try {
|
|
|
+ logger.info("Ready called");
|
|
|
+ Main.fhm.bereitschaft();
|
|
|
+ for(int i=0;i<5;i++) {
|
|
|
+ Status s=Main.fhm.readStatus().get();
|
|
|
+ if(s.enabled) {
|
|
|
+ return "OK";
|
|
|
+ }
|
|
|
+ logger.info("Controller not enabled.." + i);
|
|
|
+ Thread.sleep(100);
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (InterruptedException|ExecutionException e) {
|
|
|
+ logger.warn("ready failed", e);
|
|
|
+ }
|
|
|
+ return "Controller not enabled";
|
|
|
}
|
|
|
|
|
|
private static boolean checkPos(int pos) {
|
|
@@ -123,10 +125,8 @@ public class FestoXRServer {
|
|
|
return true;
|
|
|
}
|
|
|
Thread.sleep(500);
|
|
|
- } catch (ExecutionException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } catch (InterruptedException e) {
|
|
|
- e.printStackTrace();
|
|
|
+ } catch (ExecutionException|InterruptedException e) {
|
|
|
+ logger.warn("checkPos failed", e);
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
@@ -139,14 +139,14 @@ public class FestoXRServer {
|
|
|
return null;
|
|
|
var ret= x.get();
|
|
|
Map<String, Object> m=new HashMap<>();
|
|
|
-
|
|
|
- m.put("opm", ret.istMoment);
|
|
|
- m.put("fct", ret.abs);
|
|
|
- m.put("rdyen", true);
|
|
|
- m.put("fault", ret.com);
|
|
|
- m.put("warn", ret.dev);
|
|
|
- m.put("open", ret.fault);
|
|
|
- m.put("enabled", ret.fct);
|
|
|
+ m.put("opm1", ret.opm1);
|
|
|
+ m.put("opm2", ret.opm2);
|
|
|
+ m.put("fct", ret.fct);
|
|
|
+ m.put("rdyen", ret.rdyen);
|
|
|
+ m.put("fault", ret.fault);
|
|
|
+ m.put("warn", ret.warn);
|
|
|
+ m.put("open", ret.open);
|
|
|
+ m.put("enabled", ret.enabled);
|
|
|
|
|
|
m.put("ref", ret.ref);
|
|
|
m.put("still", ret.still);
|