更新
This commit is contained in:
@@ -672,10 +672,16 @@ public class AgvServiceImpl implements AgvService {
|
|||||||
ndxySpecialTwoDeviceDriver = (NdxySpecialTwoDeviceDriver) addressdevice.getDeviceDriver();
|
ndxySpecialTwoDeviceDriver = (NdxySpecialTwoDeviceDriver) addressdevice.getDeviceDriver();
|
||||||
//请求取货
|
//请求取货
|
||||||
if ("Load".equals(action)) {
|
if ("Load".equals(action)) {
|
||||||
ndxySpecialTwoDeviceDriver.writing("item_to_address",1);
|
if (ndxySpecialTwoDeviceDriver.getMode() == 2 && ndxySpecialTwoDeviceDriver.getMove() > 0) {
|
||||||
ndxySpecialTwoDeviceDriver.writing("to_pick_ready",1);
|
|
||||||
if (ndxySpecialTwoDeviceDriver.getMode() == 1 && ndxySpecialTwoDeviceDriver.getMove() > 0 && ndxySpecialTwoDeviceDriver.getAction()==1) {
|
|
||||||
inst.setExecute_status("1");
|
inst.setExecute_status("1");
|
||||||
|
ndxySpecialTwoDeviceDriver.writing(1);
|
||||||
|
is_feedback = true;
|
||||||
|
}
|
||||||
|
//请求放货
|
||||||
|
} else if ("Unload".equals(action)) {
|
||||||
|
if (ndxySpecialTwoDeviceDriver.getMode() == 2 && ndxySpecialTwoDeviceDriver.getMove() == 0) {
|
||||||
|
inst.setExecute_status("3");
|
||||||
|
ndxySpecialTwoDeviceDriver.writing(3);
|
||||||
is_feedback = true;
|
is_feedback = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -758,7 +764,7 @@ public class AgvServiceImpl implements AgvService {
|
|||||||
if (ndxySpecialTwoDeviceDriver.getMode() == 2 && ndxySpecialTwoDeviceDriver.getMove() == 0) {
|
if (ndxySpecialTwoDeviceDriver.getMode() == 2 && ndxySpecialTwoDeviceDriver.getMove() == 0) {
|
||||||
inst.setExecute_device_code(processingVehicle);
|
inst.setExecute_device_code(processingVehicle);
|
||||||
inst.setExecute_status("2");
|
inst.setExecute_status("2");
|
||||||
// ndxySpecialTwoDeviceDriver.writing(2);
|
ndxySpecialTwoDeviceDriver.writing(2);
|
||||||
is_feedback = true;
|
is_feedback = true;
|
||||||
}
|
}
|
||||||
//放货完成
|
//放货完成
|
||||||
@@ -766,7 +772,7 @@ public class AgvServiceImpl implements AgvService {
|
|||||||
if (ndxySpecialTwoDeviceDriver.getMode() == 2 && ndxySpecialTwoDeviceDriver.getMove() > 0) {
|
if (ndxySpecialTwoDeviceDriver.getMode() == 2 && ndxySpecialTwoDeviceDriver.getMove() > 0) {
|
||||||
inst.setExecute_device_code(address);
|
inst.setExecute_device_code(address);
|
||||||
inst.setExecute_status("4");
|
inst.setExecute_status("4");
|
||||||
// ndxySpecialTwoDeviceDriver.writing(4);
|
ndxySpecialTwoDeviceDriver.writing(4);
|
||||||
is_feedback = true;
|
is_feedback = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1027,15 +1033,25 @@ public class AgvServiceImpl implements AgvService {
|
|||||||
ndxySpecialTwoDeviceDriver = (NdxySpecialTwoDeviceDriver) device.getDeviceDriver();
|
ndxySpecialTwoDeviceDriver = (NdxySpecialTwoDeviceDriver) device.getDeviceDriver();
|
||||||
//请求取货
|
//请求取货
|
||||||
if (StrUtil.equals(type, "01") && ndxySpecialTwoDeviceDriver.getMove() != 0) {
|
if (StrUtil.equals(type, "01") && ndxySpecialTwoDeviceDriver.getMove() != 0) {
|
||||||
// ndxySpecialTwoDeviceDriver.writing(1, 1);
|
ndxySpecialTwoDeviceDriver.writing(1, 1);
|
||||||
is_feedback = true;
|
is_feedback = true;
|
||||||
}
|
}
|
||||||
//取货完成
|
//取货完成
|
||||||
else if (StrUtil.equals(type, "02")) {
|
else if (StrUtil.equals(type, "02")) {
|
||||||
ndxySpecialTwoDeviceDriver.writing("to_pick_finish", 1);
|
ndxySpecialTwoDeviceDriver.writing(1, 2);
|
||||||
is_feedback = true;
|
is_feedback = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//请求放货
|
||||||
|
else if (StrUtil.equals(type, "03") && ndxySpecialTwoDeviceDriver.getMove() == 0) {
|
||||||
|
ndxySpecialTwoDeviceDriver.writing(1, 3);
|
||||||
|
is_feedback = true;
|
||||||
|
}
|
||||||
|
//放货完成
|
||||||
|
else if (StrUtil.equals(type, "04")) {
|
||||||
|
ndxySpecialTwoDeviceDriver.writing(1, 4);
|
||||||
|
is_feedback = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (device.getDeviceDriver() instanceof YkbkSpecialDeviceDriver) {
|
if (device.getDeviceDriver() instanceof YkbkSpecialDeviceDriver) {
|
||||||
ykbkSpecialDeviceDriver = (YkbkSpecialDeviceDriver) device.getDeviceDriver();
|
ykbkSpecialDeviceDriver = (YkbkSpecialDeviceDriver) device.getDeviceDriver();
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ public class ItemProtocol {
|
|||||||
list.add(new ItemDto(item_mode, "工作状态", "DB600.B1", Boolean.valueOf(true)));
|
list.add(new ItemDto(item_mode, "工作状态", "DB600.B1", Boolean.valueOf(true)));
|
||||||
list.add(new ItemDto(item_move, "光电开关信号", "DB600.B2"));
|
list.add(new ItemDto(item_move, "光电开关信号", "DB600.B2"));
|
||||||
list.add(new ItemDto(item_action, "取放信号", "DB600.B3"));
|
list.add(new ItemDto(item_action, "取放信号", "DB600.B3"));
|
||||||
list.add(new ItemDto(item_ioaction, "进出信号", "DB600.B4"));
|
// list.add(new ItemDto(item_ioaction, "进出信号", "DB600.B4"));
|
||||||
list.add(new ItemDto(item_error, "报警信号", "DB600.B6"));
|
list.add(new ItemDto(item_error, "报警信号", "DB600.B6"));
|
||||||
list.add(new ItemDto(item_task, "任务号", "DB600.D8"));
|
list.add(new ItemDto(item_task, "任务号", "DB600.D8"));
|
||||||
return list;
|
return list;
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class NdxySpecialDefination implements OpcDeviceDriverDefination {
|
|||||||
list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB600.B1", true));
|
list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB600.B1", true));
|
||||||
list.add(new ItemDto(ItemProtocol.item_move, "光电开关信号", "DB600.B2"));
|
list.add(new ItemDto(ItemProtocol.item_move, "光电开关信号", "DB600.B2"));
|
||||||
list.add(new ItemDto(ItemProtocol.item_action, "取放信号", "DB600.B3"));
|
list.add(new ItemDto(ItemProtocol.item_action, "取放信号", "DB600.B3"));
|
||||||
list.add(new ItemDto(ItemProtocol.item_ioaction, "进出信号", "DB600.B4"));
|
// list.add(new ItemDto(ItemProtocol.item_ioaction, "进出信号", "DB600.B4"));
|
||||||
list.add(new ItemDto(ItemProtocol.item_error, "报警信号", "DB600.B6"));
|
list.add(new ItemDto(ItemProtocol.item_error, "报警信号", "DB600.B6"));
|
||||||
list.add(new ItemDto(ItemProtocol.item_task, "任务号", "DB600.D8"));
|
list.add(new ItemDto(ItemProtocol.item_task, "任务号", "DB600.D8"));
|
||||||
return list;
|
return list;
|
||||||
|
|||||||
@@ -15,14 +15,12 @@ public class ItemProtocol {
|
|||||||
public static String item_mode = "mode";
|
public static String item_mode = "mode";
|
||||||
public static String item_move = "move";
|
public static String item_move = "move";
|
||||||
public static String item_action = "action";
|
public static String item_action = "action";
|
||||||
public static String item_pick_start = "pick_start";
|
public static String item_mode_switch = "mode_switch";
|
||||||
public static String item_device_status = "device_status";
|
public static String item_error = "error";
|
||||||
public static String item_to_ready = "to_ready";
|
public static String item_ioaction = "ioaction";
|
||||||
public static String item_to_agv_status = "to_agv_status";
|
public static String item_to_command = "to_command";
|
||||||
public static String item_to_address = "to_address";
|
|
||||||
public static String item_to_mode_switch = "to_mode_switch";
|
public static String item_to_mode_switch = "to_mode_switch";
|
||||||
public static String item_to_pick_ready = "to_pick_ready";
|
public static String item_weight = "weight";
|
||||||
public static String item_to_pick_finish = "to_pick_finish";
|
|
||||||
|
|
||||||
private NdxySpecialTwoDeviceDriver driver;
|
private NdxySpecialTwoDeviceDriver driver;
|
||||||
|
|
||||||
@@ -46,14 +44,25 @@ public class ItemProtocol {
|
|||||||
return this.getOpcIntegerValue(item_action);
|
return this.getOpcIntegerValue(item_action);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPick_start() {
|
public int getMode_switch() {
|
||||||
return this.getOpcIntegerValue(item_pick_start);
|
return this.getOpcIntegerValue(item_mode_switch);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getDevice_status() {
|
public int getError() {
|
||||||
return this.getOpcIntegerValue(item_device_status);
|
return this.getOpcIntegerValue(item_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getIoaction() {
|
||||||
|
return this.getOpcIntegerValue(item_ioaction);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getToCommand() {
|
||||||
|
return this.getOpcIntegerValue(item_to_command);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTo_mode_switch() {
|
||||||
|
return this.getOpcIntegerValue(item_to_mode_switch);
|
||||||
|
}
|
||||||
|
|
||||||
//是否有货
|
//是否有货
|
||||||
public int hasGoods(int move) {
|
public int hasGoods(int move) {
|
||||||
@@ -77,23 +86,20 @@ public class ItemProtocol {
|
|||||||
|
|
||||||
public static List<ItemDto> getReadableItemDtos() {
|
public static List<ItemDto> getReadableItemDtos() {
|
||||||
ArrayList list = new ArrayList();
|
ArrayList list = new ArrayList();
|
||||||
list.add(new ItemDto(item_heartbeat, "心跳", "DB700.B0"));
|
list.add(new ItemDto(item_heartbeat, "心跳", "DB600.B0"));
|
||||||
list.add(new ItemDto(item_mode, "工作状态", "DB700.B1", Boolean.valueOf(true)));
|
list.add(new ItemDto(item_mode, "工作状态", "DB600.B1", Boolean.valueOf(true)));
|
||||||
list.add(new ItemDto(item_move, "光电开关信号", "DB700.B2"));
|
list.add(new ItemDto(item_move, "光电开关信号", "DB600.B2"));
|
||||||
list.add(new ItemDto(item_action, "取放信号", "DB700.B3"));
|
list.add(new ItemDto(item_action, "取放信号", "DB600.B3"));
|
||||||
list.add(new ItemDto(item_pick_start, "卸载开始", "DB700.B4"));
|
list.add(new ItemDto(item_ioaction, "进出信号", "DB600.B4"));
|
||||||
list.add(new ItemDto(item_device_status, "码垛机状态", "DB700.B5"));
|
list.add(new ItemDto(item_mode_switch, "允许模式切换信号", "DB600.B5"));
|
||||||
|
list.add(new ItemDto(item_error, "报警信号", "DB600.B6"));
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<ItemDto> getWriteableItemDtos() {
|
public static List<ItemDto> getWriteableItemDtos() {
|
||||||
ArrayList list = new ArrayList();
|
ArrayList list = new ArrayList();
|
||||||
list.add(new ItemDto(item_to_ready, "就绪", "DB701.W2", Boolean.valueOf(true)));
|
list.add(new ItemDto(item_to_command, "作业命令", "DB601.W2", Boolean.valueOf(true)));
|
||||||
list.add(new ItemDto(item_to_agv_status, "AGV状态", "DB701.W4"));
|
list.add(new ItemDto(item_to_mode_switch, "切换模式", "DB601.W4"));
|
||||||
list.add(new ItemDto(item_to_address, "到位", "DB701.W6"));
|
|
||||||
list.add(new ItemDto(item_to_pick_ready, "允许卸货", "DB701.W8"));
|
|
||||||
list.add(new ItemDto(item_to_pick_finish, "卸货完成", "DB701.W10"));
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,9 +52,19 @@ public class NdxySpecialTwoDefination implements OpcDeviceDriverDefination {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ItemDto> getReadableItemDtos() {
|
public List<ItemDto> getReadableItemDtos() {
|
||||||
return ItemProtocol.getReadableItemDtos();
|
return getReadableItemDtos2();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<ItemDto> getReadableItemDtos2() {
|
||||||
|
List<ItemDto> list = new ArrayList();
|
||||||
|
list.add(new ItemDto(ItemProtocol.item_heartbeat, "心跳", "DB600.B0"));
|
||||||
|
list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB600.B1", Boolean.valueOf(true)));
|
||||||
|
list.add(new ItemDto(ItemProtocol.item_move, "光电开关信号", "DB600.B2"));
|
||||||
|
list.add(new ItemDto(ItemProtocol.item_action, "取放信号", "DB600.B3"));
|
||||||
|
list.add(new ItemDto(ItemProtocol.item_ioaction, "进出信号", "DB600.B4"));
|
||||||
|
list.add(new ItemDto(ItemProtocol.item_error, "报警信号", "DB600.B6"));
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ItemDto> getWriteableItemDtos() {
|
public List<ItemDto> getWriteableItemDtos() {
|
||||||
|
|||||||
@@ -138,13 +138,17 @@ public class NdxySpecialTwoDeviceDriver extends AbstractOpcDeviceDriver implemen
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute() throws Exception {
|
public void execute() {
|
||||||
String message = null;
|
String message = null;
|
||||||
try {
|
try {
|
||||||
device_code = this.getDeviceCode();
|
device_code = this.getDeviceCode();
|
||||||
mode = this.itemProtocol.getMode();
|
mode = this.itemProtocol.getMode();
|
||||||
|
error = this.itemProtocol.getError();
|
||||||
move = this.itemProtocol.getMove();
|
move = this.itemProtocol.getMove();
|
||||||
action = this.itemProtocol.getAction();
|
action = this.itemProtocol.getAction();
|
||||||
|
ioaction = this.itemProtocol.getIoaction();
|
||||||
|
mode_switch = this.itemProtocol.getMode_switch();
|
||||||
|
hasGoods = this.itemProtocol.getMove();
|
||||||
|
|
||||||
if (mode != last_mode) {
|
if (mode != last_mode) {
|
||||||
this.execute_log.setResource(this.devicecode, this.device.getDevice_name());
|
this.execute_log.setResource(this.devicecode, this.device.getDevice_name());
|
||||||
@@ -157,11 +161,69 @@ public class NdxySpecialTwoDeviceDriver extends AbstractOpcDeviceDriver implemen
|
|||||||
this.execute_log.setResource(this.devicecode, this.device.getDevice_name());
|
this.execute_log.setResource(this.devicecode, this.device.getDevice_name());
|
||||||
this.execute_log.log("设备:" + device_code + ",last_move -> move:" + last_mode + "->" + move);
|
this.execute_log.log("设备:" + device_code + ",last_move -> move:" + last_mode + "->" + move);
|
||||||
}
|
}
|
||||||
|
if (error != last_error) {
|
||||||
|
if (error != 0) {
|
||||||
|
if (mode_switch == 1) {
|
||||||
|
this.writing(1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (mode_switch == 1) {
|
||||||
|
this.writing(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.execute_log.setResource(this.devicecode, this.device.getDevice_name());
|
||||||
|
this.execute_log.log("设备:" + device_code + ",last_error -> error:" + last_error + "->" + error);
|
||||||
|
}
|
||||||
if (action != last_action) {
|
if (action != last_action) {
|
||||||
this.execute_log.setResource(this.devicecode, this.device.getDevice_name());
|
this.execute_log.setResource(this.devicecode, this.device.getDevice_name());
|
||||||
this.execute_log.log("设备:" + device_code + ",last_action -> action:" + last_action + "->" + action);
|
this.execute_log.log("设备:" + device_code + ",last_action -> action:" + last_action + "->" + action);
|
||||||
}
|
}
|
||||||
|
if (ioaction != last_ioaction) {
|
||||||
|
this.execute_log.setResource(this.devicecode, this.device.getDevice_name());
|
||||||
|
this.execute_log.log("设备:" + device_code + ",last_ioaction -> ioaction:" + last_ioaction + "->" + ioaction);
|
||||||
|
}
|
||||||
|
if (mode_switch != last_mode_switch) {
|
||||||
|
this.execute_log.setResource(this.devicecode, this.device.getDevice_name());
|
||||||
|
this.execute_log.log("设备:" + device_code + ",last_mode_switch -> mode_switch:" + last_mode_switch + "->" + mode_switch);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.getApply_handling()) {
|
||||||
|
String link_device_code = this.getDevice().getExtraValue().get("link_device_code").toString();
|
||||||
|
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
||||||
|
Device link_device = appService.findDeviceByCode(link_device_code);
|
||||||
|
NdxySpecialTwoDeviceDriver NdxySpecialTwoDevicedriver;
|
||||||
|
if (link_device.getDeviceDriver() instanceof NdxySpecialTwoDeviceDriver) {
|
||||||
|
NdxySpecialTwoDevicedriver = (NdxySpecialTwoDeviceDriver) link_device.getDeviceDriver();
|
||||||
|
//如果目标设备申请叫料 则允许生成任务
|
||||||
|
if (NdxySpecialTwoDevicedriver.getApply_material()) {
|
||||||
|
TaskDto dto = new TaskDto();
|
||||||
|
String now = DateUtil.now();
|
||||||
|
dto.setTask_id(IdUtil.simpleUUID());
|
||||||
|
dto.setCreate_by(this.getDevice().getDevice_code());
|
||||||
|
dto.setUpdate_by(this.getDevice().getDevice_code());
|
||||||
|
dto.setStart_point_code(this.getDevice().getDevice_code());
|
||||||
|
|
||||||
|
String taskcode = CodeUtil.getNewCode("TASK_NO");
|
||||||
|
dto.setTask_code("-" + taskcode);
|
||||||
|
dto.setTask_status("0");
|
||||||
|
dto.setPriority("101");
|
||||||
|
// RouteLineDto jo = routelineserver.findByCode(this.getDevice().getDevice_code());
|
||||||
|
// String next_device_codecode = jo.getNext_device_code();
|
||||||
|
// if(StrUtil.isEmpty(next_device_codecode)){
|
||||||
|
// throw new RuntimeException("该设备未找到对应路由");
|
||||||
|
// }
|
||||||
|
dto.setNext_point_code(NdxySpecialTwoDevicedriver.getDevicecode());
|
||||||
|
dto.setUpdate_time(now);
|
||||||
|
dto.setCreate_time(now);
|
||||||
|
|
||||||
|
WQLObject wo = WQLObject.getWQLObject("acs_task");
|
||||||
|
JSONObject json = JSONObject.fromObject(dto);
|
||||||
|
wo.insert(json);
|
||||||
|
NdxySpecialTwoDevicedriver.setApply_material(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.setApply_handling(false);
|
||||||
|
}
|
||||||
|
|
||||||
} catch (Exception var17) {
|
} catch (Exception var17) {
|
||||||
return;
|
return;
|
||||||
@@ -190,10 +252,24 @@ public class NdxySpecialTwoDeviceDriver extends AbstractOpcDeviceDriver implemen
|
|||||||
List toInstructions;
|
List toInstructions;
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case 1:
|
case 1:
|
||||||
if (!requireSucess && this.move != 0 && mode ==1 && action ==1) {
|
log.debug("设备运转模式:等待工作");
|
||||||
|
return;
|
||||||
|
case 2:
|
||||||
|
if (!requireSucess && this.move != 0) {
|
||||||
standby();
|
standby();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (flag) {
|
||||||
|
//取货完成
|
||||||
|
case 2:
|
||||||
|
writing(2);
|
||||||
|
return;
|
||||||
|
//放货完成
|
||||||
|
case 4:
|
||||||
|
writing(4);
|
||||||
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
@@ -230,7 +306,7 @@ public class NdxySpecialTwoDeviceDriver extends AbstractOpcDeviceDriver implemen
|
|||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public synchronized boolean standby() throws Exception {
|
public synchronized boolean standby() {
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
|
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
|
||||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
||||||
@@ -293,10 +369,9 @@ public class NdxySpecialTwoDeviceDriver extends AbstractOpcDeviceDriver implemen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// WQLObject wo = WQLObject.getWQLObject("acs_task");
|
WQLObject wo = WQLObject.getWQLObject("acs_task");
|
||||||
// JSONObject json = JSONObject.fromObject(dto);
|
JSONObject json = JSONObject.fromObject(dto);
|
||||||
// wo.insert(json);
|
wo.insert(json);
|
||||||
taskserver.create(dto);
|
|
||||||
Device device = appService.findDeviceByCode(next_device_code);
|
Device device = appService.findDeviceByCode(next_device_code);
|
||||||
device.setIslock("true");
|
device.setIslock("true");
|
||||||
this.setRequireSucess(true);
|
this.setRequireSucess(true);
|
||||||
@@ -318,21 +393,36 @@ public class NdxySpecialTwoDeviceDriver extends AbstractOpcDeviceDriver implemen
|
|||||||
ReadUtil.write(itemMap, server);
|
ReadUtil.write(itemMap, server);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void writing(int command) {
|
||||||
public void writing(String type, int command) {
|
|
||||||
|
|
||||||
String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
||||||
+ "." + type;
|
+ "." + ItemProtocol.item_to_command;
|
||||||
|
|
||||||
String opcservcerid = this.getDevice().getOpc_server_id();
|
String opcservcerid = this.getDevice().getOpc_server_id();
|
||||||
Server server = ReadUtil.getServer(opcservcerid);
|
Server server = ReadUtil.getServer(opcservcerid);
|
||||||
Map<String, Object> itemMap = new HashMap<String, Object>();
|
Map<String, Object> itemMap = new HashMap<String, Object>();
|
||||||
|
|
||||||
itemMap.put(to_command, command);
|
itemMap.put(to_command, command);
|
||||||
ReadUtil.write(itemMap, server);
|
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_mode_switch = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
|
||||||
|
+ "." + ItemProtocol.item_to_mode_switch;
|
||||||
|
|
||||||
|
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_mode_switch, command);
|
||||||
|
}
|
||||||
|
ReadUtil.write(itemMap, server);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public boolean instruction_require(String container_code) {
|
public boolean instruction_require(String container_code) {
|
||||||
return instruction_require(container_code, WcsConfig.task_container_type_default_desc);
|
return instruction_require(container_code, WcsConfig.task_container_type_default_desc);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -415,10 +415,10 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (startdevice.getDeviceDriver() instanceof NdxySpecialTwoDeviceDriver) {
|
// if (startdevice.getDeviceDriver() instanceof NdxySpecialTwoDeviceDriver) {
|
||||||
ndxySpecialTwoDeviceDriver = (NdxySpecialTwoDeviceDriver) startdevice.getDeviceDriver();
|
// ndxySpecialTwoDeviceDriver = (NdxySpecialTwoDeviceDriver) startdevice.getDeviceDriver();
|
||||||
ndxySpecialTwoDeviceDriver.writing("to_ready",1);
|
// ndxySpecialTwoDeviceDriver.writing("to_ready",1);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -67,16 +67,22 @@ public class QueryMagicAgvDeviceStatus {
|
|||||||
// ndxySpecialTwoDeviceDriver.writing("to_agv_status",0);
|
// ndxySpecialTwoDeviceDriver.writing("to_agv_status",0);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
if (deviceBycode.getDeviceDriver() instanceof LampThreecolorDeviceDriver){
|
if (deviceBycode.getDeviceDriver() instanceof LampThreecolorDeviceDriver) {
|
||||||
lampThreecolorDeviceDriver = (LampThreecolorDeviceDriver) deviceBycode.getDeviceDriver();
|
lampThreecolorDeviceDriver = (LampThreecolorDeviceDriver) deviceBycode.getDeviceDriver();
|
||||||
if(jo.optString("state").equals("IDLE") || jo.optString("state").equals("EXECUTING")){
|
// if(jo.optString("state").equals("IDLE") || jo.optString("state").equals("EXECUTING")){
|
||||||
|
// lampThreecolorDeviceDriver.writing(0);
|
||||||
|
// flag = false;
|
||||||
|
// } else if (jo.optString("state").equals("ERROR")){
|
||||||
|
// if (!flag){
|
||||||
|
// lampThreecolorDeviceDriver.writing(3);
|
||||||
|
// flag = true;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
String errorcode = jo.getString("warningCode");
|
||||||
|
if (Integer.parseInt(errorcode) > 0) {
|
||||||
|
lampThreecolorDeviceDriver.writing(3);
|
||||||
|
} else {
|
||||||
lampThreecolorDeviceDriver.writing(0);
|
lampThreecolorDeviceDriver.writing(0);
|
||||||
flag = false;
|
|
||||||
} else if (jo.optString("state").equals("ERROR")){
|
|
||||||
if (!flag){
|
|
||||||
lampThreecolorDeviceDriver.writing(3);
|
|
||||||
flag = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user