AGV故障 更改三色燈狀態

This commit is contained in:
2022-10-26 19:27:36 +08:00
parent 92d3753bda
commit 8a0d1e2caa

View File

@@ -6,6 +6,7 @@ import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.nl.acs.agv.server.AgvService;
import org.nl.acs.device_driver.electric_fence.ElectricFenceDeviceDriver;
import org.nl.acs.device_driver.hailiang.hailiang_packing.HaiLiangPackingDeviceDriver;
import org.nl.acs.device_driver.ndxy_special_two.NdxySpecialTwoDeviceDriver;
import org.nl.acs.device_driver.weighing_site.WeighingSiteDeviceDriver;
import org.nl.acs.instruction.service.InstructionService;
@@ -33,6 +34,7 @@ public class QueryMagicAgvDeviceStatus {
@Autowired
AgvService agvService;
Boolean flag = false;
public void run() throws Exception {
HttpResponse response = agvService.queryMagicAgvDeviceStatus();
@@ -48,6 +50,7 @@ public class QueryMagicAgvDeviceStatus {
List<Device> allDevice = appService.findAllDevice();
WeighingSiteDeviceDriver weighingSiteDeviceDriver;
NdxySpecialTwoDeviceDriver ndxySpecialTwoDeviceDriver;
HaiLiangPackingDeviceDriver haiLiangPackingDeviceDriver;
for (int z = 0; z < allDevice.size(); z++) {
Device deviceBycode = allDevice.get(z);
if (deviceBycode.getDeviceDriver() instanceof WeighingSiteDeviceDriver) {
@@ -55,12 +58,24 @@ public class QueryMagicAgvDeviceStatus {
mode = weighingSiteDeviceDriver.getNowMode();
}
if (deviceBycode.getDeviceDriver() instanceof NdxySpecialTwoDeviceDriver) {
ndxySpecialTwoDeviceDriver = (NdxySpecialTwoDeviceDriver) deviceBycode.getDeviceDriver();
if(jo.optString("state").equals("IDLE") || jo.optString("state").equals("EXECUTING") || jo.optString("state").equals("IDLE") ){
ndxySpecialTwoDeviceDriver.writing("to_agv_status",1);
} else {
ndxySpecialTwoDeviceDriver.writing("to_agv_status",0);
// if (deviceBycode.getDeviceDriver() instanceof NdxySpecialTwoDeviceDriver) {
// ndxySpecialTwoDeviceDriver = (NdxySpecialTwoDeviceDriver) deviceBycode.getDeviceDriver();
// if(jo.optString("state").equals("IDLE") || jo.optString("state").equals("EXECUTING") || jo.optString("state").equals("IDLE") ){
// ndxySpecialTwoDeviceDriver.writing("to_agv_status",1);
// } else {
// ndxySpecialTwoDeviceDriver.writing("to_agv_status",0);
// }
// }
if (deviceBycode.getDeviceDriver() instanceof HaiLiangPackingDeviceDriver){
haiLiangPackingDeviceDriver = (HaiLiangPackingDeviceDriver) deviceBycode.getDeviceDriver();
if(jo.optString("state").equals("IDLE") || jo.optString("state").equals("EXECUTING")){
haiLiangPackingDeviceDriver.writing(0);
flag = false;
} else if (jo.optString("state").equals("ERROR")){
if (!flag){
haiLiangPackingDeviceDriver.writing(3);
flag = true;
}
}
}
}