package com.zy.core.thread; import com.zy.common.ExecuteSupport; import com.zy.core.ThreadHandler; import com.zy.core.enums.*; import com.zy.core.model.CommandResponse; import com.zy.core.model.command.LiftCommand; import com.zy.core.model.protocol.LiftProtocol; import com.zy.core.model.protocol.LiftStaProtocol; import java.util.List; public interface LiftThread extends ThreadHandler { LiftProtocol getStatus();//获取提升机状态 LiftProtocol getStatus(boolean clone);//获取提升机状态 List getLiftStaProtocols(); CommandResponse pickAndPut(LiftCommand command);//取放货指令 CommandResponse shuttleSwitch(LiftCommand command);//小车换层 CommandResponse move(LiftCommand command);//小车移动 CommandResponse switchIOMode(LiftCommand command);//切换出入库模式 CommandResponse reset();//复位 boolean isIdle();//是否空闲 boolean isDeviceIdle();//设备是否空闲 boolean isDeviceIdle(ExecuteSupport support);//设备是否空闲 boolean setProtocolStatus(LiftProtocolStatusType status);//设置工作状态 boolean setSyncTaskNo(Integer taskNo);//设置工作号 int generateDeviceTaskNo(int taskNo, LiftTaskModeType type);//生成硬件设备工作号 String getCurrentLocNo(); //***************获取命令***************** LiftCommand getPickAndPutCommand(Integer taskNo, Integer pick, Integer put);//取放货指令 LiftCommand getShuttleSwitchCommand(Integer taskNo, Integer pick, Integer put);//小车换层 LiftCommand getMoveCommand(Integer taskNo, Integer pick, Integer put);//提升机移动 LiftCommand getSwitchIOCommand(Integer taskNo, LiftIoModeType mode); LiftCommand getResetCommand(Integer taskNo); }