From 09fcc4ec56a1ce6c0fcb308348d8dd5e2c08d336 Mon Sep 17 00:00:00 2001
From: fyxc <fyxc@qq.com>
Date: 星期四, 22 五月 2025 14:33:06 +0800
Subject: [PATCH] server commit files

---
 src/main/java/com/zy/core/thread/LiftThread.java |  423 ++++------------------------------------------------
 1 files changed, 35 insertions(+), 388 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/LiftThread.java b/src/main/java/com/zy/core/thread/LiftThread.java
index 971b4ff..23f189c 100644
--- a/src/main/java/com/zy/core/thread/LiftThread.java
+++ b/src/main/java/com/zy/core/thread/LiftThread.java
@@ -1,422 +1,69 @@
 package com.zy.core.thread;
 
-import HslCommunication.Core.Types.OperateResult;
-import HslCommunication.Core.Types.OperateResultExOne;
-import HslCommunication.Profinet.Siemens.SiemensPLCS;
-import HslCommunication.Profinet.Siemens.SiemensS7Net;
-import com.alibaba.fastjson.JSON;
-import com.core.common.DateUtils;
-import com.core.common.SpringUtils;
-import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasLift;
-import com.zy.asrs.entity.BasLiftOpt;
-import com.zy.asrs.mapper.WrkMastMapper;
-import com.zy.asrs.service.BasLiftOptService;
-import com.zy.asrs.service.BasLiftService;
-import com.zy.common.utils.RedisUtil;
-import com.zy.core.News;
+import com.zy.common.ExecuteSupport;
+import com.zy.common.model.NavigateNode;
 import com.zy.core.ThreadHandler;
-import com.zy.core.cache.MessageQueue;
-import com.zy.core.cache.OutputQueue;
-import com.zy.core.enums.*;
-import com.zy.core.model.LiftSlave;
-import com.zy.core.model.Task;
-import com.zy.core.model.command.*;
-import com.zy.core.model.protocol.LiftStaProtocol;
+import com.zy.core.enums.ForkLiftTaskModeType;
+import com.zy.core.enums.LiftCommandModeType;
+import com.zy.core.enums.LiftProtocolStatusType;
+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.StaProtocol;
-import lombok.Data;
-import lombok.extern.slf4j.Slf4j;
+import com.zy.core.model.protocol.LiftStaProtocol;
 
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 
-/**
- * 鎻愬崌鏈虹嚎绋�
- */
-@Data
-@Slf4j
-public class LiftThread implements  Runnable, ThreadHandler {
+public interface LiftThread extends ThreadHandler {
 
-    private SiemensS7Net siemensS7Net;
-    private LiftSlave slave;
-    private LiftProtocol liftProtocol;
-    private RedisUtil redisUtil;
-    private List<LiftStaProtocol> liftStaProtocols = new ArrayList<>();
+    LiftProtocol getStatus();//鑾峰彇鎻愬崌鏈虹姸鎬�
 
-    public LiftThread(LiftSlave slave,RedisUtil redisUtil) {
-        this.slave = slave;
-        this.redisUtil = redisUtil;
+    LiftProtocol getStatus(boolean clone);//鑾峰彇鎻愬崌鏈虹姸鎬�
 
-        //鍒濆鍖栫珯鐐�
-        for (LiftSlave.Sta sta : this.slave.getSta()) {
-            LiftStaProtocol liftStaProtocol = new LiftStaProtocol();
-            liftStaProtocol.setStaNo(sta.getStaNo());//绔欑偣鍙�
-            liftStaProtocol.setLev(sta.getLev());//绔欑偣妤煎眰
-            liftStaProtocols.add(liftStaProtocol);
-        }
+    List<LiftStaProtocol> getLiftStaProtocols();
 
-    }
+    CommandResponse move(LiftCommand command);//鍗囬檷绉诲姩
 
-    @Override
-    public void run() {
-        this.connect();
-        while (true) {
-            try {
-                int step = 1;
-                Task task = MessageQueue.poll(SlaveType.Lift, slave.getId());
-                if (task != null) {
-                    step = task.getStep();
-                }
-                switch (step) {
-                    // 璇绘暟鎹�
-                    case 1:
-                        read();
-                        break;
-                    // 鍐欏叆鏁版嵁
-                    case 2:
-                        write((NyLiftCommand) task.getData());
-                        break;
-                    //鍒嗛厤浠诲姟
-                    case 3:
-                        assignWork((LiftAssignCommand) task.getData());
-                        break;
-                    default:
-                        break;
-                }
-                Thread.sleep(500);
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-    }
+    CommandResponse palletInOut(LiftCommand command);//鎵樼洏鍑哄叆
 
-    @Override
-    public boolean connect() {
-        boolean result = false;
-        //-------------------------鎻愬崌鏈鸿繛鎺ユ柟娉�------------------------//
-        siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp());
-        OperateResult connect = siemensS7Net.ConnectServer();
-        if(connect.IsSuccess){
-            result = true;
-            OutputQueue.CRN.offer(MessageFormat.format( "銆恵0}銆戞彁鍗囨満plc杩炴帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-            log.info("鎻愬崌鏈簆lc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
-        } else {
-            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戞彁鍗囨満plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-            log.error("鎻愬崌鏈簆lc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
-        }
-        siemensS7Net.ConnectClose();
-        //-------------------------鎻愬崌鏈鸿繛鎺ユ柟娉�------------------------//
-        return result;
-    }
+    CommandResponse lock(LiftCommand command);//閿佸畾鎻愬崌鏈�
 
-    @Override
-    public void close() {
-        siemensS7Net.ConnectClose();
-    }
+    CommandResponse unlock(LiftCommand command);//瑙i攣鎻愬崌鏈�
 
-    private void read() {
-        try {
-            readStatus();
+    CommandResponse reset(LiftCommand command);//澶嶄綅
 
-            //鎻愬崌鏈哄浜庤繍琛岀姸鎬侊紝灏嗘爣璁扮疆涓簍rue
-            if (liftProtocol.getBusy()) {
-                liftProtocol.setPakMk(true);
-            }
+    boolean isIdle();//鏄惁绌洪棽
 
-            //鎻愬崌鏈哄浜庢湭杩愯銆佸氨缁�佹爣璁皌rue銆佹湁浠诲姟鍙�
-            if (!liftProtocol.getBusy()
-                    && liftProtocol.getPakMk()
-                    && liftProtocol.getTaskNo() != 0) {
-                //杩樻湁鏈畬鎴愮殑鍛戒护
-                executeWork(liftProtocol.getTaskNo());
-            }
-        } catch (Exception e) {
-            OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆戞彁鍗囨満plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-        }
-    }
+    boolean isDeviceIdle();//璁惧鏄惁绌洪棽
 
-    private void readStatus() {
-        try {
-            //鑾峰彇鎻愬崌鏈烘暟鎹�
-            OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB4.0", (short) 10);
-            if (result1.IsSuccess) {
-                if (null == liftProtocol) {
-                    liftProtocol = new LiftProtocol();
-                    liftProtocol.setLiftNo(slave.getId().shortValue());
-                }
-                //璇诲彇4.0-4.7鏁版嵁
-                boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result1.Content, 0, 1);
-                //璇诲彇5.0-5.7鏁版嵁
-                boolean[] status2 = siemensS7Net.getByteTransform().TransBool(result1.Content, 1, 1);
-                //妯″紡
-                liftProtocol.setModel(status1[0]);
-                //蹇欓棽
-                liftProtocol.setBusy(status1[1]);
-                //鍓嶈秴闄�
-                liftProtocol.setFrontOverrun(status1[4]);
-                //鍚庤秴闄�
-                liftProtocol.setBackOverrun(status1[5]);
-                //宸﹁秴闄�
-                liftProtocol.setLeftOverrun(status1[6]);
-                //鍙宠秴闄�
-                liftProtocol.setRightOverrun(status1[7]);
-                //瓒呴珮
-                liftProtocol.setOverHeight(status2[0]);
-                //瓒呴噸
-                liftProtocol.setOverWeight(status2[1]);
-                //鏈夋墭鐩�
-                liftProtocol.setHasTray(status2[5]);
-                //鏈夊皬杞�
-                liftProtocol.setHasCar(status2[6]);
-                //璁惧鏁呴殰
-                liftProtocol.setDeviceError(status2[7]);
-                //浠诲姟鍙�
-                liftProtocol.setTaskNo(siemensS7Net.getByteTransform().TransInt16(result1.Content, 2));
-                //鐩殑鍦板潃
-                liftProtocol.setDistAddress(siemensS7Net.getByteTransform().TransInt16(result1.Content, 4));
-                //宸插畬鎴愪换鍔″彿
-                liftProtocol.setCompleteTaskNo(siemensS7Net.getByteTransform().TransInt16(result1.Content, 6));
-                //褰撳墠妤煎眰
-                liftProtocol.setLev(siemensS7Net.getByteTransform().TransInt16(result1.Content, 8));
+    boolean isDeviceIdle(ExecuteSupport support);//璁惧鏄惁绌洪棽
 
-                //灏嗘彁鍗囨満鐘舵�佷繚瀛樿嚦鏁版嵁搴�
-                BasLiftService liftService = SpringUtils.getBean(BasLiftService.class);
-                BasLift basLift = liftService.selectById(liftProtocol.getLiftNo());
-                if (basLift == null) {
-                    basLift = new BasLift();
-                    //鎻愬崌鏈哄彿
-                    basLift.setLiftNo(slave.getId());
-                    liftService.insert(basLift);
-                }
-                basLift.setStatus(liftProtocol.getProtocolStatus());
-                basLift.setWrkNo(liftProtocol.getTaskNo().intValue());
-                basLift.setUpdateTime(new Date());
-                basLift.setPakMk(liftProtocol.getPakMk());
-                basLift.setModel(liftProtocol.getModel());
-                basLift.setBusy(liftProtocol.getBusy());
-                basLift.setFrontOverrun(liftProtocol.getFrontOverrun());
-                basLift.setBackOverrun(liftProtocol.getBackOverrun());
-                basLift.setLeftOverrun(liftProtocol.getLeftOverrun());
-                basLift.setRightOverrun(liftProtocol.getRightOverrun());
-                basLift.setOverHeight(liftProtocol.getOverHeight());
-                basLift.setOverWeight(liftProtocol.getOverWeight());
-                basLift.setHasTray(liftProtocol.getHasTray());
-                basLift.setHasCar(liftProtocol.getHasCar());
-                basLift.setDeviceError(liftProtocol.getDeviceError());
-                basLift.setDistAddress(liftProtocol.getDistAddress().intValue());
-                basLift.setCompleteTaskNo(liftProtocol.getCompleteTaskNo().intValue());
-                basLift.setLev(liftProtocol.getLev().intValue());
-                if (liftService.updateById(basLift)) {
-                    OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
-//                    log.info(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
-                }
-            }else {
-                OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆憑1}鎻愬崌鏈簆lc鐘舵�佷俊鎭け璐�", DateUtils.convert(new Date()), slave.getId()));
-                throw new CoolException(MessageFormat.format( "鎻愬崌鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{0}] [ip:{1}] [port:{2}]", slave.getId(), slave.getIp(), slave.getPort()));
-            }
-            Thread.sleep(200);
+    boolean setProtocolStatus(LiftProtocolStatusType status);//璁剧疆宸ヤ綔鐘舵��
 
-            //鑾峰彇鎻愬崌鏈虹珯鐐规暟鎹�
-            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB14.0", (short) (10 * liftStaProtocols.size()));
-            if (result1.IsSuccess) {
-                for (int i = 0; i < slave.getSta().size(); i++) {
-                    LiftStaProtocol liftStaProtocol = liftStaProtocols.get(i);
-                    int i1 = 0 + (i * 10);
-                    int i2 = 1 + (i * 10);
-                    //璇诲彇x4.0-x4.7鏁版嵁
-                    boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result2.Content, i1, 1);
-                    //璇诲彇x5.0-x5.7鏁版嵁
-                    boolean[] status2 = siemensS7Net.getByteTransform().TransBool(result2.Content, i2, 1);
-                    //妯″紡
-                    liftStaProtocol.setModel(status1[0]);
-                    //蹇欓棽
-                    liftStaProtocol.setBusy(status1[1]);
-                    //鏈夋墭鐩�
-                    liftStaProtocol.setHasTray(status1[2]);
-                    //鍓嶈秴闄�
-                    liftStaProtocol.setFrontOverrun(status1[4]);
-                    //鍚庤秴闄�
-                    liftStaProtocol.setBackOverrun(status1[5]);
-                    //宸﹁秴闄�
-                    liftStaProtocol.setLeftOverrun(status1[6]);
-                    //鍙宠秴闄�
-                    liftStaProtocol.setRightOverrun(status1[7]);
-                    //瓒呴珮
-                    liftStaProtocol.setOverHeight(status2[0]);
-                    //瓒呴噸
-                    liftStaProtocol.setOverWeight(status2[1]);
-                    //鏈夊皬杞�
-                    liftStaProtocol.setHasCar(status2[6]);
-                    //璁惧鏁呴殰
-                    liftStaProtocol.setDeviceError(status2[7]);
-                    //浠诲姟鍙�
-                    liftStaProtocol.setTaskNo(siemensS7Net.getByteTransform().TransInt16(result2.Content, 2));
-                    //宸插畬鎴愪换鍔″彿
-                    liftStaProtocol.setCompleteTaskNo(siemensS7Net.getByteTransform().TransInt16(result2.Content, 6));
-                }
-            }
+    boolean setSyncTaskNo(Integer taskNo);//璁剧疆宸ヤ綔鍙�
 
-        } catch (Exception e) {
-            OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆戞彁鍗囨満plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-        }
-    }
+    boolean isLock(ExecuteSupport support);
 
-    private boolean write(NyLiftCommand command){
-        if (null == command) {
-            News.error("鎻愬崌鏈哄啓鍏ュ懡浠や负绌�");
-            return false;
-        }
+    int generateDeviceTaskNo(int taskNo, ForkLiftTaskModeType type);//鐢熸垚纭欢璁惧宸ヤ綔鍙�
 
-        command.setLiftNo(slave.getId().shortValue());
-        short[] array = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃
+    String getLiftLocNo(int lev);//鑾峰彇鎻愬崌鏈轰綅缃�
 
-        OperateResult result = siemensS7Net.Write("41088", array);
-        if (result != null && result.IsSuccess) {
-            News.info("鎻愬崌鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command));
-            OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
-            return true;
-        } else {
-            OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆戝啓鍏ユ彁鍗囨満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}],娆℃暟锛歿}", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-            News.error("鍐欏叆鎻愬崌鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
-            return false;
-        }
-    }
+    String getLiftStandByLocNo(int lev, boolean in);//鑾峰彇鎻愬崌鏈哄緟鏈轰綅
 
-    //鑾峰彇鍛戒护鎶ユ枃
-    private short[] getCommandArr(NyLiftCommand command) {
-        // 寮�濮嬩换鍔�
-        short[] array = new short[4];
-        if (command.getTaskModel() != null) {
-            //浠诲姟绫诲瀷
-            array[0] = command.getTaskModel();
-        }
-        if (command.getSourceSta() != null) {
-            //婧愮珯鍙扮紪鍙�
-            array[1] = command.getSourceSta();
-        }
-        if (command.getTargetSta() != null) {
-            //鐩爣绔欏彴缂栧彿
-            array[2] = command.getTargetSta();
-        }
-        if (command.getTaskNo() != null) {
-            //浠诲姟鍙�
-            array[3] = command.getTaskNo();
-        }
-        return array;
-    }
+    List<NavigateNode> getLiftStaNodes(int lev);
 
-    //鍒嗛厤浠诲姟
-    private void assignWork(LiftAssignCommand assignCommand) {
-        LiftRedisCommand redisCommand = new LiftRedisCommand();
-        redisCommand.setLiftNo(assignCommand.getLiftNo());//鎻愬崌鏈哄彿
-        redisCommand.setWrkNo(assignCommand.getTaskNo());//宸ヤ綔鍙�
-        redisCommand.setCommandStep(0);//鍛戒护鎵ц姝ュ簭
-        redisCommand.setAssignCommand(assignCommand);//鍛戒护
-        //浠诲姟鏁版嵁淇濆瓨鍒皉edis
-        redisUtil.set("lift_wrk_no_" + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand));
-        liftProtocol.setAssignCommand(assignCommand);
-        liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING);
-        //鎵ц涓嬪彂浠诲姟
-        executeWork(assignCommand.getTaskNo());
-    }
+    Integer getLevToStaNo(int lev);
 
-    //鎵ц浠诲姟
-    private boolean executeWork(Short wrkNo) {
-        //璇诲彇redis鏁版嵁
-        if (wrkNo == null) {
-            return false;
-        }
+    //***************鑾峰彇鍛戒护*****************
+    List<LiftCommand> getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode);//鎻愬崌鏈虹Щ鍔�
 
-        WrkMastMapper wrkMastMapper = SpringUtils.getBean(WrkMastMapper.class);
-        Object o = redisUtil.get("lift_wrk_no_" + wrkNo);
-        if (o == null) {
-            return false;
-        }
-        LiftRedisCommand redisCommand = JSON.parseObject(o.toString(), LiftRedisCommand.class);
-        List<NyLiftCommand> commands = redisCommand.getAssignCommand().getCommands();
-        //褰撳墠姝ュ簭
-        int commandStep = redisCommand.getCommandStep();
-        //鎬绘搴�
-        int size = commands.size();
+    List<LiftCommand> getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode);//杞借溅绉诲姩
 
-        //鍙栧嚭鍛戒护
-        NyLiftCommand command = commands.get(commandStep);
+    List<LiftCommand> getPalletInCommand(Integer taskNo, Integer sourceLev, Integer targetLev);//鎵樼洏鍏�
 
-        //涓嬪彂鍛戒护
-        if (!write(command)) {
-            News.error("鎻愬崌鏈哄懡浠や笅鍙戝け璐ワ紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command));
-            return false;
-        }
+    List<LiftCommand> getPalletOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev);//鎵樼洏鍑�
 
-        News.info("鎻愬崌鏈哄懡浠や笅鍙戞垚鍔燂紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command));
+    List<LiftCommand> getLockCommand(Integer taskNo, Boolean lock);//閿佸畾/瑙i攣鎻愬崌鏈�
 
-        //灏嗘爣璁扮疆涓篺alse(闃叉閲嶅彂)
-        liftProtocol.setPakMk(false);
-
-        //淇濆瓨鏁版嵁鍒版暟鎹簱鍋氭祦姘�
-        BasLiftOptService liftOptService = SpringUtils.getBean(BasLiftOptService.class);
-        if (liftOptService != null) {
-            short[] commandArr = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃
-            BasLiftOpt opt = new BasLiftOpt(
-                    redisCommand.getWrkNo().intValue(),
-                    redisCommand.getLiftNo().intValue(),
-                    new Date(),
-                    null,
-                    null,
-                    null,
-                    JSON.toJSONString(command),
-                    JSON.toJSONString(commandArr),
-                    JSON.toJSONString(liftProtocol)
-            );
-            liftOptService.insert(opt);
-        }
-
-        //鍒ゆ柇鏁版嵁鏄惁鎵ц瀹屾垚
-        if (commandStep < size - 1) {
-            //鏇存柊redis鏁版嵁
-            //姝ュ簭澧炲姞
-            commandStep++;
-            redisCommand.setCommandStep(commandStep);
-            //浠诲姟鏁版嵁淇濆瓨鍒皉edis
-            redisUtil.set("lift_wrk_no_" + redisCommand.getWrkNo(), JSON.toJSONString(redisCommand));
-        }else {
-            //宸叉墽琛屽畬鎴�
-            //鍒犻櫎redis
-            redisUtil.del("lift_wrk_no_" + redisCommand.getWrkNo());
-
-            //瀵逛富绾跨▼鎶涘嚭绛夊緟纭鐘舵�亀aiting
-            liftProtocol.setProtocolStatus(LiftProtocolStatusType.WAITING);
-            News.info("鎻愬崌鏈轰换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command));
-        }
-
-        return true;
-    }
-
-    /******************************************************************************************/
-    /**************************************** 娴嬭瘯涓撶敤 *****************************************/
-    /*****************************************************************************************/
-    public static void main(String[] args) throws InterruptedException {
-        LiftSlave slave = new LiftSlave();
-        slave.setId(1);
-        slave.setIp("192.168.4.24");
-        slave.setPort(502);
-//        LiftThread thread = new LiftThread(slave,);
-//        thread.connect();
-//        thread.readStatus();
-//
-//        LiftCommand command = new LiftCommand();
-//        command.setRun((short) 1);
-//        command.setDistPosition((short) 12);
-//        command.setSpeed((short) 300);
-//        command.setHeight2((short) 100);
-//        command.setHeight3((short) 200);
-//        command.setHeight4((short) 303);
-//        command.setLiftLock(true);
-//        thread.write(command);
-
-    }
+    List<LiftCommand> getShuttleSignalCommand(Integer taskNo, Boolean signal);//灏忚溅宸插埌浣�/宸查┒绂讳俊鍙�
 
 }

--
Gitblit v1.9.1