更新
This commit is contained in:
@@ -163,7 +163,7 @@ public class AbstractDriverService<T> implements DriverDeviceService {
|
|||||||
Method methodMode = driverClass.getMethod("getMode");
|
Method methodMode = driverClass.getMethod("getMode");
|
||||||
Integer nowMode = (Integer) methodMode.invoke(driver);
|
Integer nowMode = (Integer) methodMode.invoke(driver);
|
||||||
Integer nowMove = (Integer) methodMove.invoke(driver);
|
Integer nowMove = (Integer) methodMove.invoke(driver);
|
||||||
if (nowMode != mode || nowMove != move) {
|
if (nowMove != move) {
|
||||||
log.info("指令创建失败,起点mode或move不满足条件! 任务号:" + taskDto.getTask_code() + ",终点:" + startDeviceCode);
|
log.info("指令创建失败,起点mode或move不满足条件! 任务号:" + taskDto.getTask_code() + ",终点:" + startDeviceCode);
|
||||||
taskDto.setRemark("指令创建失败,起点mode或move不满足条件! 起点:" + startDeviceCode);
|
taskDto.setRemark("指令创建失败,起点mode或move不满足条件! 起点:" + startDeviceCode);
|
||||||
taskService.updateByCodeFromCache(taskDto);
|
taskService.updateByCodeFromCache(taskDto);
|
||||||
@@ -187,7 +187,7 @@ public class AbstractDriverService<T> implements DriverDeviceService {
|
|||||||
Method methodMode = driverClass.getMethod("getMode");
|
Method methodMode = driverClass.getMethod("getMode");
|
||||||
Integer nowMode = (Integer) methodMode.invoke(driver);
|
Integer nowMode = (Integer) methodMode.invoke(driver);
|
||||||
Integer nowMove = (Integer) methodMove.invoke(driver);
|
Integer nowMove = (Integer) methodMove.invoke(driver);
|
||||||
if (nowMode != mode || nowMove != move) {
|
if (nowMove != move) {
|
||||||
log.info("指令创建失败,终点mode或move不满足条件! 任务号:" + taskDto.getTask_code() + ",终点:" + nextDeviceCode);
|
log.info("指令创建失败,终点mode或move不满足条件! 任务号:" + taskDto.getTask_code() + ",终点:" + nextDeviceCode);
|
||||||
taskDto.setRemark("指令创建失败,终点mode或move不满足条件! 终点:" + nextDeviceCode);
|
taskDto.setRemark("指令创建失败,终点mode或move不满足条件! 终点:" + nextDeviceCode);
|
||||||
taskService.updateByCodeFromCache(taskDto);
|
taskService.updateByCodeFromCache(taskDto);
|
||||||
|
|||||||
Binary file not shown.
@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import io.swagger.models.auth.In;
|
import io.swagger.models.auth.In;
|
||||||
import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
||||||
import org.nl.acs.device_driver.standard_conveyor_line.ItemProtocol;
|
import org.nl.acs.device_driver.standard_conveyor_line.ItemProtocol;
|
||||||
|
import org.nl.acs.device_driver.standard_conveyor_line.StandardConveyorLineDeviceDriver;
|
||||||
import org.nl.acs.opc.OpcConfig;
|
import org.nl.acs.opc.OpcConfig;
|
||||||
import org.nl.modules.udw.UnifiedDataAccessor;
|
import org.nl.modules.udw.UnifiedDataAccessor;
|
||||||
import org.nl.modules.udw.UnifiedDataAccessorFactory;
|
import org.nl.modules.udw.UnifiedDataAccessorFactory;
|
||||||
@@ -28,7 +29,7 @@ public class AbstractOpcDeviceDriver<T> extends AbstractDeviceDriver implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
//信号值与上次值不一致时的日志
|
//信号值与上次值不一致时的日志
|
||||||
public void writeLogInfo(String device_code,String name, int lastNumber, int nowNumber) {
|
public void writeLogInfo(String device_code, String name, int lastNumber, int nowNumber) {
|
||||||
if (lastNumber != nowNumber) {
|
if (lastNumber != nowNumber) {
|
||||||
this.execute_log.setResource(device_code, this.device.getDevice_name());
|
this.execute_log.setResource(device_code, this.device.getDevice_name());
|
||||||
this.execute_log.log("设备:" + device_code + ",last_'" + name + "' -> '" + name + "':" + lastNumber + "->" + nowNumber);
|
this.execute_log.log("设备:" + device_code + ",last_'" + name + "' -> '" + name + "':" + lastNumber + "->" + nowNumber);
|
||||||
@@ -36,7 +37,7 @@ public class AbstractOpcDeviceDriver<T> extends AbstractDeviceDriver implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
//判断信号是否异常
|
//判断信号是否异常
|
||||||
public synchronized void signalIsException(T sonDriver){
|
public synchronized void signalIsException(T sonDriver) {
|
||||||
Class<?> sonDriverClass = sonDriver.getClass();
|
Class<?> sonDriverClass = sonDriver.getClass();
|
||||||
try {
|
try {
|
||||||
Method methodItemProtocol = sonDriverClass.getMethod("getItemProtocol");
|
Method methodItemProtocol = sonDriverClass.getMethod("getItemProtocol");
|
||||||
@@ -48,31 +49,31 @@ public class AbstractOpcDeviceDriver<T> extends AbstractDeviceDriver implements
|
|||||||
for (Field field : fields) {
|
for (Field field : fields) {
|
||||||
//获取属性名字
|
//获取属性名字
|
||||||
String fieldName = field.getName();
|
String fieldName = field.getName();
|
||||||
if (fieldName.contains("item_")){
|
if (fieldName.contains("item_")) {
|
||||||
if (!fieldName.contains("to_")){
|
if (!fieldName.contains("to_")) {
|
||||||
String fieldValue = (String) field.get(fieldName);
|
String fieldValue = (String) field.get(fieldName);
|
||||||
Method methodGet = null;
|
Method methodGet = null;
|
||||||
try {
|
try {
|
||||||
methodGet = itemProtocol.getClass().getMethod("get" + initialUpperCase(fieldValue));
|
methodGet = itemProtocol.getClass().getMethod("get" + initialUpperCase(fieldValue));
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
}
|
}
|
||||||
Integer itemValue = 0;
|
Integer itemValue = 0;
|
||||||
if (ObjectUtil.isNotEmpty(methodGet)){
|
if (ObjectUtil.isNotEmpty(methodGet)) {
|
||||||
itemValue = (Integer) methodGet.invoke(itemProtocol);
|
itemValue = (Integer) methodGet.invoke(itemProtocol);
|
||||||
}
|
}
|
||||||
if (!fieldValue.equals("heartbeat")){
|
if (!fieldValue.equals("heartbeat")) {
|
||||||
Method methodSet =null;
|
Method methodSet = null;
|
||||||
try {
|
try {
|
||||||
methodSet = sonDriverClass.getMethod("set" + initialUpperCase(fieldValue), int.class);
|
methodSet = sonDriverClass.getMethod("set" + initialUpperCase(fieldValue), int.class);
|
||||||
} catch (Exception e){
|
} catch (Exception e) {
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(methodSet)){
|
if (ObjectUtil.isNotEmpty(methodSet)) {
|
||||||
try {
|
try {
|
||||||
methodSet.invoke(sonDriver,itemValue);
|
methodSet.invoke(sonDriver, itemValue);
|
||||||
Integer last_Number = (Integer) sonDriverClass.getMethod("getLast_" + fieldValue).invoke(sonDriver);
|
Integer last_Number = (Integer) sonDriverClass.getMethod("getLast_" + fieldValue).invoke(sonDriver);
|
||||||
Method writeLogInfo = sonDriverClass.getMethod("writeLogInfo", String.class, String.class, int.class, int.class);
|
Method writeLogInfo = sonDriverClass.getMethod("writeLogInfo", String.class, String.class, int.class, int.class);
|
||||||
writeLogInfo.invoke(sonDriver,deviceCode,fieldValue,last_Number,itemValue);
|
writeLogInfo.invoke(sonDriver, deviceCode, fieldValue, last_Number, itemValue);
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -80,41 +81,41 @@ public class AbstractOpcDeviceDriver<T> extends AbstractDeviceDriver implements
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Method methodIsonline = sonDriverClass.getMethod("setIsonline",Boolean.class);
|
Method methodIsonline = sonDriverClass.getMethod("setIsonline", Boolean.class);
|
||||||
Method methodIserror = sonDriverClass.getMethod("setIserror",Boolean.class);
|
Method methodIserror = sonDriverClass.getMethod("setIserror", Boolean.class);
|
||||||
Method methodMessage = sonDriverClass.getMethod("setMessage",String.class);
|
Method methodMessage = sonDriverClass.getMethod("setMessage", String.class);
|
||||||
Method methodMode = sonDriverClass.getMethod("getMode");
|
Method methodMode = sonDriverClass.getMethod("getMode");
|
||||||
Method methodError = sonDriverClass.getMethod("getError");
|
Method methodError = sonDriverClass.getMethod("getError");
|
||||||
Integer mode = (Integer) methodMode.invoke(sonDriver);
|
Integer mode = (Integer) methodMode.invoke(sonDriver);
|
||||||
Integer error = (Integer) methodError.invoke(sonDriver);
|
Integer error = (Integer) methodError.invoke(sonDriver);
|
||||||
Boolean isonline = (Boolean) itemProtocol.getClass().getMethod("getIsonline").invoke(itemProtocol);
|
Boolean isonline = (Boolean) itemProtocol.getClass().getMethod("getIsonline").invoke(itemProtocol);
|
||||||
|
|
||||||
if (!isonline){
|
if (!isonline) {
|
||||||
methodIsonline.invoke(sonDriver,false);
|
methodIsonline.invoke(sonDriver, false);
|
||||||
methodIserror.invoke(sonDriver,true);
|
methodIserror.invoke(sonDriver, true);
|
||||||
methodMessage.invoke(sonDriver,"信号量同步异常");
|
methodMessage.invoke(sonDriver, "信号量同步异常");
|
||||||
}else if (mode == 0){
|
} else if (mode == 0) {
|
||||||
methodIsonline.invoke(sonDriver,false);
|
methodIsonline.invoke(sonDriver, false);
|
||||||
methodIserror.invoke(sonDriver,true);
|
methodIserror.invoke(sonDriver, true);
|
||||||
methodMessage.invoke(sonDriver,"未联机");
|
methodMessage.invoke(sonDriver, "未联机");
|
||||||
}else if (error != 0){
|
} else if (error != 0) {
|
||||||
methodIsonline.invoke(sonDriver,false);
|
methodIsonline.invoke(sonDriver, false);
|
||||||
methodIserror.invoke(sonDriver,true);
|
methodIserror.invoke(sonDriver, true);
|
||||||
methodMessage.invoke(sonDriver,"有报警");
|
methodMessage.invoke(sonDriver, "有报警");
|
||||||
} else {
|
} else {
|
||||||
methodIsonline.invoke(sonDriver,true);
|
methodIsonline.invoke(sonDriver, true);
|
||||||
methodIserror.invoke(sonDriver,false);
|
methodIserror.invoke(sonDriver, false);
|
||||||
//判断是否符合生成任务的条件
|
//判断是否符合生成任务的条件
|
||||||
Method methodIsSatisfyCreateTask = sonDriverClass.getMethod("isSatisfyCreateTask");
|
Method methodIsSatisfyCreateTask = sonDriverClass.getMethod("isSatisfyCreateTask");
|
||||||
String methodName = (String) methodIsSatisfyCreateTask.invoke(sonDriver);
|
String methodName = (String) methodIsSatisfyCreateTask.invoke(sonDriver);
|
||||||
if (StrUtil.isNotEmpty(methodName)){
|
if (StrUtil.isNotEmpty(methodName)) {
|
||||||
Method methodTask = null;
|
Method methodTask = null;
|
||||||
try {
|
try {
|
||||||
methodTask = sonDriverClass.getMethod(methodName);
|
methodTask = sonDriverClass.getMethod(methodName);
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(methodTask)){
|
if (ObjectUtil.isNotEmpty(methodTask)) {
|
||||||
methodTask.invoke(sonDriver);
|
methodTask.invoke(sonDriver);
|
||||||
}
|
}
|
||||||
//sonDriverClass.getMethod(methodName).invoke(sonDriver);
|
//sonDriverClass.getMethod(methodName).invoke(sonDriver);
|
||||||
@@ -125,12 +126,12 @@ public class AbstractOpcDeviceDriver<T> extends AbstractDeviceDriver implements
|
|||||||
for (Field declaredField : declaredFields) {
|
for (Field declaredField : declaredFields) {
|
||||||
String fieldName = declaredField.getName();
|
String fieldName = declaredField.getName();
|
||||||
Class<?> fieldType = declaredField.getType();
|
Class<?> fieldType = declaredField.getType();
|
||||||
if (fieldType == int.class || fieldType == Integer.class){
|
if (fieldType == int.class || fieldType == Integer.class) {
|
||||||
if (fieldName.contains("last_")){
|
if (fieldName.contains("last_")) {
|
||||||
Method method = null;
|
Method method = null;
|
||||||
try {
|
try {
|
||||||
method = sonDriverClass.getMethod("set" + initialUpperCase(fieldName),int.class);
|
method = sonDriverClass.getMethod("set" + initialUpperCase(fieldName), int.class);
|
||||||
}catch(Exception e){
|
} catch (Exception e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
int index = fieldName.indexOf("last_");
|
int index = fieldName.indexOf("last_");
|
||||||
@@ -138,15 +139,15 @@ public class AbstractOpcDeviceDriver<T> extends AbstractDeviceDriver implements
|
|||||||
Method methodSub = null;
|
Method methodSub = null;
|
||||||
try {
|
try {
|
||||||
methodSub = sonDriverClass.getMethod("get" + initialUpperCase(subName));
|
methodSub = sonDriverClass.getMethod("get" + initialUpperCase(subName));
|
||||||
}catch(Exception e){
|
} catch (Exception e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
int nowItemValue = 0;
|
int nowItemValue = 0;
|
||||||
if (ObjectUtil.isNotEmpty(methodSub)){
|
if (ObjectUtil.isNotEmpty(methodSub)) {
|
||||||
nowItemValue = (int) methodSub.invoke(sonDriver);
|
nowItemValue = (int) methodSub.invoke(sonDriver);
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(method)){
|
if (ObjectUtil.isNotEmpty(method)) {
|
||||||
method.invoke(sonDriver,nowItemValue);
|
method.invoke(sonDriver, nowItemValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -156,46 +157,8 @@ public class AbstractOpcDeviceDriver<T> extends AbstractDeviceDriver implements
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void commonCreateTask(T driver){
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//首字母转大写
|
//首字母转大写
|
||||||
public String initialUpperCase(String str){
|
public String initialUpperCase(String str) {
|
||||||
return str.substring(0,1).toUpperCase() + str.substring(1,str.length());
|
return str.substring(0, 1).toUpperCase() + str.substring(1, str.length());
|
||||||
}
|
|
||||||
|
|
||||||
public void writing(int command) {
|
|
||||||
String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
|
||||||
+ "." + ItemProtocol.item_to_command;
|
|
||||||
|
|
||||||
String opcservcerid = this.getDevice().getOpc_server_id();
|
|
||||||
Server server = ReadUtil.getServer(opcservcerid);
|
|
||||||
Map<String, Object> itemMap = new HashMap<String, Object>();
|
|
||||||
itemMap.put(to_command, command);
|
|
||||||
ReadUtil.write(itemMap, server);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void writing(int type, int command) {
|
|
||||||
String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
|
||||||
+ "." + ItemProtocol.item_to_command;
|
|
||||||
String to_target = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
|
||||||
+ "." + ItemProtocol.item_to_target;
|
|
||||||
String to_task = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
|
||||||
+ "." + ItemProtocol.item_to_task;
|
|
||||||
String opcservcerid = this.getDevice().getOpc_server_id();
|
|
||||||
Server server = ReadUtil.getServer(opcservcerid);
|
|
||||||
Map<String, Object> itemMap = new HashMap<String, Object>();
|
|
||||||
if (type == 1) {
|
|
||||||
itemMap.put(to_command, command);
|
|
||||||
} else if (type == 2) {
|
|
||||||
itemMap.put(to_target, command);
|
|
||||||
|
|
||||||
} else if (type == 3) {
|
|
||||||
itemMap.put(to_task, command);
|
|
||||||
}
|
|
||||||
ReadUtil.write(itemMap, server);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,12 +4,14 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.acs.common.aspect.TaskAnnotation;
|
||||||
import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
||||||
import org.nl.acs.device.service.DeviceService;
|
import org.nl.acs.device.service.DeviceService;
|
||||||
import org.nl.acs.device_driver.DeviceDriver;
|
import org.nl.acs.device_driver.DeviceDriver;
|
||||||
import org.nl.acs.device_driver.RouteableDeviceDriver;
|
import org.nl.acs.device_driver.RouteableDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
||||||
|
import org.nl.acs.device_driver.driver.OpcDeviceDriver;
|
||||||
import org.nl.acs.instruction.service.InstructionService;
|
import org.nl.acs.instruction.service.InstructionService;
|
||||||
import org.nl.acs.instruction.service.dto.Instruction;
|
import org.nl.acs.instruction.service.dto.Instruction;
|
||||||
import org.nl.acs.opc.Device;
|
import org.nl.acs.opc.Device;
|
||||||
@@ -17,7 +19,11 @@ import org.nl.acs.route.service.RouteLineService;
|
|||||||
import org.nl.acs.task.service.TaskService;
|
import org.nl.acs.task.service.TaskService;
|
||||||
import org.nl.utils.SpringContextHolder;
|
import org.nl.utils.SpringContextHolder;
|
||||||
import org.openscada.opc.lib.da.Server;
|
import org.openscada.opc.lib.da.Server;
|
||||||
|
import org.springframework.aop.framework.AopContext;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -39,6 +45,7 @@ public class StandardConveyorLineDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
RouteLineService routelineserver = SpringContextHolder.getBean("routeLineServiceImpl");
|
RouteLineService routelineserver = SpringContextHolder.getBean("routeLineServiceImpl");
|
||||||
@Autowired
|
@Autowired
|
||||||
TaskService taskserver = SpringContextHolder.getBean("taskServiceImpl");
|
TaskService taskserver = SpringContextHolder.getBean("taskServiceImpl");
|
||||||
|
|
||||||
String container;
|
String container;
|
||||||
String container_type_desc;
|
String container_type_desc;
|
||||||
String last_container_type_desc;
|
String last_container_type_desc;
|
||||||
@@ -122,7 +129,7 @@ public class StandardConveyorLineDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
}
|
}
|
||||||
|
|
||||||
//判断是否符合生成任务的条件
|
//判断是否符合生成任务的条件
|
||||||
public String isSatisfyCreateTask(){
|
public String isSatisfyCreateTask() {
|
||||||
switch (flag) {
|
switch (flag) {
|
||||||
//取货完成
|
//取货完成
|
||||||
case 1:
|
case 1:
|
||||||
@@ -134,9 +141,11 @@ public class StandardConveyorLineDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
return null;
|
return null;
|
||||||
|
|
||||||
}
|
}
|
||||||
return null;
|
return "createTask";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public boolean exe_business() {
|
public boolean exe_business() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -171,32 +180,64 @@ public class StandardConveyorLineDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
ReadUtil.write(itemMap, server);
|
ReadUtil.write(itemMap, server);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void writing(int command) {
|
||||||
|
String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
||||||
|
+ "." + ItemProtocol.item_to_command;
|
||||||
|
|
||||||
|
String opcservcerid = this.getDevice().getOpc_server_id();
|
||||||
|
Server server = ReadUtil.getServer(opcservcerid);
|
||||||
|
Map<String, Object> itemMap = new HashMap<String, Object>();
|
||||||
|
itemMap.put(to_command, command);
|
||||||
|
ReadUtil.write(itemMap, server);
|
||||||
|
|
||||||
public void writeLogInfo(String device_code,String name, int lastNumber, int nowNumber) {
|
}
|
||||||
super.writeLogInfo(device_code,name,lastNumber,nowNumber);
|
|
||||||
|
public void writing(int type, int command) {
|
||||||
|
String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
||||||
|
+ "." + ItemProtocol.item_to_command;
|
||||||
|
String to_target = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
||||||
|
+ "." + ItemProtocol.item_to_target;
|
||||||
|
String to_task = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
||||||
|
+ "." + ItemProtocol.item_to_task;
|
||||||
|
String opcservcerid = this.getDevice().getOpc_server_id();
|
||||||
|
Server server = ReadUtil.getServer(opcservcerid);
|
||||||
|
Map<String, Object> itemMap = new HashMap<String, Object>();
|
||||||
|
if (type == 1) {
|
||||||
|
itemMap.put(to_command, command);
|
||||||
|
} else if (type == 2) {
|
||||||
|
itemMap.put(to_target, command);
|
||||||
|
|
||||||
|
} else if (type == 3) {
|
||||||
|
itemMap.put(to_task, command);
|
||||||
|
}
|
||||||
|
ReadUtil.write(itemMap, server);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void writeLogInfo(String device_code, String name, int lastNumber, int nowNumber) {
|
||||||
|
super.writeLogInfo(device_code, name, lastNumber, nowNumber);
|
||||||
if (lastNumber != nowNumber) {
|
if (lastNumber != nowNumber) {
|
||||||
if (name.equals("mode")){
|
if (name.equals("mode")) {
|
||||||
this.setRequireSucess(false);
|
this.setRequireSucess(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getStringValue(String key,int value){
|
public String getStringValue(String key, int value) {
|
||||||
Map<String,Map<Integer,String>> map = new HashMap<>();
|
Map<String, Map<Integer, String>> map = new HashMap<>();
|
||||||
Map<Integer,String> modeMap = new HashMap<>();
|
Map<Integer, String> modeMap = new HashMap<>();
|
||||||
modeMap.put(0,"脱机");
|
modeMap.put(0, "脱机");
|
||||||
modeMap.put(1,"");
|
modeMap.put(1, "");
|
||||||
modeMap.put(2,"待机");
|
modeMap.put(2, "待机");
|
||||||
map.put("mode",modeMap);
|
map.put("mode", modeMap);
|
||||||
Map<Integer,String> moveMap = new HashMap<>();
|
Map<Integer, String> moveMap = new HashMap<>();
|
||||||
moveMap.put(0,"无货");
|
moveMap.put(0, "无货");
|
||||||
moveMap.put(1,"有货");
|
moveMap.put(1, "有货");
|
||||||
map.put("move",moveMap);
|
map.put("move", moveMap);
|
||||||
Map<Integer, String> valuesMap = map.get(key);
|
Map<Integer, String> valuesMap = map.get(key);
|
||||||
if (ObjectUtil.isNotEmpty(valuesMap)){
|
if (ObjectUtil.isNotEmpty(valuesMap)) {
|
||||||
for(Map.Entry entry:valuesMap.entrySet()){
|
for (Map.Entry entry : valuesMap.entrySet()) {
|
||||||
if (value == (Integer)entry.getKey()){
|
if (value == (Integer) entry.getKey()) {
|
||||||
return (String) entry.getValue();
|
return (String) entry.getValue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ public class AcsToWmsZDServiceImpl implements AcsToWmsZDService {
|
|||||||
String taskCode = (String) whereJson.get("task_code");
|
String taskCode = (String) whereJson.get("task_code");
|
||||||
String vehicle_code = (String) whereJson.get("carId");
|
String vehicle_code = (String) whereJson.get("carId");
|
||||||
HttpResponse result = null;
|
HttpResponse result = null;
|
||||||
AddressDto addressDto = addressService.findByCode("feedbackTask");
|
AddressDto addressDto = addressService.findByCode("taskFeedback");
|
||||||
String wcsurl = acsConfigService.findConfigFromCache().get(AcsConfig.WCSURL);
|
String wcsurl = acsConfigService.findConfigFromCache().get(AcsConfig.WCSURL);
|
||||||
String methods_url = addressDto.getMethods_url();
|
String methods_url = addressDto.getMethods_url();
|
||||||
String url = wcsurl + methods_url;
|
String url = wcsurl + methods_url;
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ public class AgvToAcsServiceImpl implements AgvToAcsService {
|
|||||||
private final TaskService taskService;
|
private final TaskService taskService;
|
||||||
private final DeviceAppService deviceAppService;
|
private final DeviceAppService deviceAppService;
|
||||||
private final AcsToWmsZDServiceImpl acsToWmsZDService;
|
private final AcsToWmsZDServiceImpl acsToWmsZDService;
|
||||||
|
private final InstructionService instructionService;
|
||||||
@Autowired
|
@Autowired
|
||||||
LogServer logServer;
|
LogServer logServer;
|
||||||
|
|
||||||
@@ -71,25 +72,26 @@ public class AgvToAcsServiceImpl implements AgvToAcsService {
|
|||||||
@Override
|
@Override
|
||||||
public Map<String, Object> waitpointRequest(JSONObject param) {
|
public Map<String, Object> waitpointRequest(JSONObject param) {
|
||||||
// TODO 待定
|
// TODO 待定
|
||||||
String task_code = param.getString("task_code");
|
String inst_code = param.getString("task_code");
|
||||||
String car_id = param.getString("device_code");
|
String car_id = param.getString("device_code");
|
||||||
String address = param.getString("address");
|
String address = param.getString("address");
|
||||||
StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver;
|
StandardInspectSiteDeviceDriver standardInspectSiteDeviceDriver;
|
||||||
StandardConveyorLineDeviceDriver standardConveyorLineDeviceDriver;
|
StandardConveyorLineDeviceDriver standardConveyorLineDeviceDriver;
|
||||||
TaskDto taskDto = taskService.findByCode(task_code);
|
Instruction instructionDto = instructionService.findByCode(inst_code);
|
||||||
|
String task_code = instructionDto.getTask_code();
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
Map<String, Object> feedMap = new HashMap();
|
Map<String, Object> feedMap = new HashMap();
|
||||||
feedMap.put("taskCode", task_code);
|
feedMap.put("taskCode", task_code);
|
||||||
feedMap.put("carId", car_id);
|
feedMap.put("carId", car_id);
|
||||||
feedMap.put("taskType", taskDto.getTask_type());
|
feedMap.put("taskType", instructionDto.getInstruction_type());
|
||||||
if (ObjectUtil.isEmpty(taskDto)) {
|
if (ObjectUtil.isEmpty(instructionDto)) {
|
||||||
map.put("status", 400);
|
map.put("status", 400);
|
||||||
map.put("message", "操作失败");
|
map.put("message", "操作失败");
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
String type = "";
|
String type = "";
|
||||||
String start_device_code = taskDto.getStart_device_code();
|
String start_device_code = instructionDto.getStart_device_code();
|
||||||
String next_device_code = taskDto.getNext_device_code();
|
String next_device_code = instructionDto.getNext_device_code();
|
||||||
if (address.contains("IN")) {
|
if (address.contains("IN")) {
|
||||||
String deviceCodeNow = address.substring(0, address.length() - 2);
|
String deviceCodeNow = address.substring(0, address.length() - 2);
|
||||||
Device deviceNow = deviceAppService.findDeviceByCode(deviceCodeNow);
|
Device deviceNow = deviceAppService.findDeviceByCode(deviceCodeNow);
|
||||||
@@ -99,14 +101,16 @@ public class AgvToAcsServiceImpl implements AgvToAcsService {
|
|||||||
if (standardConveyorLineDeviceDriver.getMove() == 1) {
|
if (standardConveyorLineDeviceDriver.getMove() == 1) {
|
||||||
feedMap.put("feedbackStatus", "applyTake");
|
feedMap.put("feedbackStatus", "applyTake");
|
||||||
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap);
|
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap);
|
||||||
int responseCode = (int) feedback.get("responseCode");
|
int responseCode = Integer.parseInt((String) feedback.get("responseCode"));
|
||||||
String responseMessage = (String) feedback.get("responseMessage");
|
String responseMessage = (String) feedback.get("responseMessage");
|
||||||
if (responseCode == 0) {
|
if (responseCode == 0) {
|
||||||
|
feedback.put("feedbackStatus","“taking");
|
||||||
|
acsToWmsZDService.taskFeedback(feedMap);
|
||||||
map.put("status", 200);
|
map.put("status", 200);
|
||||||
map.put("message", "操作成功");
|
map.put("message", "操作成功");
|
||||||
type = "info";
|
type = "info";
|
||||||
} else {
|
} else {
|
||||||
logServer.log(task_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id);
|
logServer.log(inst_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id);
|
||||||
map.put("status", 400);
|
map.put("status", 400);
|
||||||
map.put("message", "操作失败");
|
map.put("message", "操作失败");
|
||||||
type = "erro";
|
type = "erro";
|
||||||
@@ -124,14 +128,16 @@ public class AgvToAcsServiceImpl implements AgvToAcsService {
|
|||||||
} else {
|
} else {
|
||||||
feedMap.put("feedbackStatus", "applyPut");
|
feedMap.put("feedbackStatus", "applyPut");
|
||||||
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap);
|
Map<String, Object> feedback = acsToWmsZDService.taskFeedback(feedMap);
|
||||||
int responseCode = (int) feedback.get("responseCode");
|
int responseCode = Integer.parseInt((String) feedback.get("responseCode")) ;
|
||||||
String responseMessage = (String) feedback.get("responseMessage");
|
String responseMessage = (String) feedback.get("responseMessage");
|
||||||
if (responseCode == 0) {
|
if (responseCode == 0) {
|
||||||
|
feedback.put("feedbackStatus","puting");
|
||||||
|
acsToWmsZDService.taskFeedback(feedMap);
|
||||||
map.put("status", 200);
|
map.put("status", 200);
|
||||||
map.put("message", "操作成功");
|
map.put("message", "操作成功");
|
||||||
type = "info";
|
type = "info";
|
||||||
} else {
|
} else {
|
||||||
logServer.log(task_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id);
|
logServer.log(inst_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id);
|
||||||
map.put("status", 400);
|
map.put("status", 400);
|
||||||
map.put("message", "操作失败");
|
map.put("message", "操作失败");
|
||||||
type = "erro";
|
type = "erro";
|
||||||
@@ -140,6 +146,7 @@ public class AgvToAcsServiceImpl implements AgvToAcsService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return map;
|
||||||
}
|
}
|
||||||
if (address.contains("OUT")) {
|
if (address.contains("OUT")) {
|
||||||
String deviceCodeNow = address.substring(0, address.length() - 3);
|
String deviceCodeNow = address.substring(0, address.length() - 3);
|
||||||
@@ -158,7 +165,7 @@ public class AgvToAcsServiceImpl implements AgvToAcsService {
|
|||||||
map.put("message", "操作成功");
|
map.put("message", "操作成功");
|
||||||
type = "info";
|
type = "info";
|
||||||
} else {
|
} else {
|
||||||
logServer.log(task_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id);
|
logServer.log(inst_code, "waitpointRequest", "waitpointRequest", param.toString(), feedback.toString(), responseCode + "", "", car_id);
|
||||||
map.put("status", 400);
|
map.put("status", 400);
|
||||||
map.put("message", "操作失败");
|
map.put("message", "操作失败");
|
||||||
type = "erro";
|
type = "erro";
|
||||||
@@ -166,13 +173,14 @@ public class AgvToAcsServiceImpl implements AgvToAcsService {
|
|||||||
} else {
|
} else {
|
||||||
map.put("status", 400);
|
map.put("status", 400);
|
||||||
map.put("message", "操作失败");
|
map.put("message", "操作失败");
|
||||||
|
type = "erro";
|
||||||
}
|
}
|
||||||
} else if (next_device_code.equals(deviceCodeNow)) {
|
} else if (next_device_code.equals(deviceCodeNow)) {
|
||||||
if (standardConveyorLineDeviceDriver.getMove() == 0) {
|
if (standardConveyorLineDeviceDriver.getMove() == 0) {
|
||||||
map.put("status", 400);
|
map.put("status", 400);
|
||||||
map.put("message", "操作失败");
|
map.put("message", "操作失败");
|
||||||
type = "info";
|
type = "info";
|
||||||
logServer.log(task_code, "waitpointRequest", type, param.toString(), "取货完成时,光电信号为0", "400", "waitpointRequest", car_id);
|
logServer.log(inst_code, "waitpointRequest", type, param.toString(), "取货完成时,光电信号为0", "400", "waitpointRequest", car_id);
|
||||||
} else {
|
} else {
|
||||||
//standardConveyorLineDeviceDriver.writing(1,2);
|
//standardConveyorLineDeviceDriver.writing(1,2);
|
||||||
feedMap.put("feedbackStatus", "putFinish");
|
feedMap.put("feedbackStatus", "putFinish");
|
||||||
@@ -191,7 +199,10 @@ public class AgvToAcsServiceImpl implements AgvToAcsService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return map;
|
||||||
}
|
}
|
||||||
|
map.put("status",400);
|
||||||
|
map.put("message","操作失败,IN OUT 站点错误!");
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,7 +125,6 @@ public class AutoCreateInst {
|
|||||||
instdto.setTask_id(taskid);
|
instdto.setTask_id(taskid);
|
||||||
instdto.setTask_code(taskcode);
|
instdto.setTask_code(taskcode);
|
||||||
instdto.setVehicle_code(vehiclecode);
|
instdto.setVehicle_code(vehiclecode);
|
||||||
instdto.setRoute_plan_code(route_plan_code);
|
|
||||||
String now = DateUtil.now();
|
String now = DateUtil.now();
|
||||||
instdto.setCreate_time(now);
|
instdto.setCreate_time(now);
|
||||||
instdto.setCreate_by("auto");
|
instdto.setCreate_by("auto");
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ public class Init implements ApplicationRunner {
|
|||||||
//初始化WQL
|
//初始化WQL
|
||||||
initWql();
|
initWql();
|
||||||
//随线程启动
|
//随线程启动
|
||||||
Thread.sleep(1000);
|
|
||||||
initApplicationAutoInitialExecuter();
|
initApplicationAutoInitialExecuter();
|
||||||
initWebAutoInitialExecuter();
|
initWebAutoInitialExecuter();
|
||||||
//初始化任务调度
|
//初始化任务调度
|
||||||
|
|||||||
Reference in New Issue
Block a user