From ba55cbe0d61d473039a2d486d5a6fe26e4b6bf73 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期四, 03 三月 2022 11:03:03 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SteThread.java | 94 +++++++++++++++++++++++------------------------ 1 files changed, 46 insertions(+), 48 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java index 049a874..c3e317a 100644 --- a/src/main/java/com/zy/core/thread/SteThread.java +++ b/src/main/java/com/zy/core/thread/SteThread.java @@ -17,11 +17,9 @@ import com.zy.core.enums.CrnStatusType; import com.zy.core.enums.CrnTaskModeType; import com.zy.core.enums.SlaveType; -import com.zy.core.model.CrnSlave; import com.zy.core.model.SteSlave; import com.zy.core.model.Task; -import com.zy.core.model.command.CrnCommand; -import com.zy.core.model.protocol.CrnProtocol; +import com.zy.core.model.command.SteCommand; import com.zy.core.model.protocol.SteProtocol; import lombok.Data; import lombok.extern.slf4j.Slf4j; @@ -70,13 +68,13 @@ break; // 鍐欏叆鏁版嵁 case 2: - write((CrnCommand) task.getData()); + write((SteCommand) task.getData()); break; // 澶嶄綅 case 3: - CrnCommand command = (CrnCommand) task.getData(); + SteCommand command = (SteCommand) task.getData(); if (null == command) { - command = new CrnCommand(); + command = new SteCommand(); } command.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� @@ -159,40 +157,40 @@ // } OperateResultExOne<byte[]> result = melsecMcNet.Read("D20", (short) 70); if (result.IsSuccess) { - if (null == crnProtocol) { - crnProtocol = new CrnProtocol(); + if (null == steProtocol) { + steProtocol = new SteProtocol(); } - crnProtocol.setMode(melsecMcNet.getByteTransform().TransInt16(result.Content, 0)); - crnProtocol.setTaskNo(melsecMcNet.getByteTransform().TransInt16(result.Content, 2)); - crnProtocol.setStatus(melsecMcNet.getByteTransform().TransInt16(result.Content, 4)); - crnProtocol.setBay(melsecMcNet.getByteTransform().TransInt16(result.Content, 6)); - crnProtocol.setLevel(melsecMcNet.getByteTransform().TransInt16(result.Content, 8)); - crnProtocol.setForkPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 10)); - crnProtocol.setLiftPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 12)); - crnProtocol.setWalkPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 14)); - crnProtocol.setLoaded(melsecMcNet.getByteTransform().TransInt16(result.Content, 16)); - crnProtocol.setAlarm(melsecMcNet.getByteTransform().TransInt16(result.Content, 18)); - crnProtocol.setTemp1(melsecMcNet.getByteTransform().TransInt16(result.Content, 20)); - crnProtocol.setTemp2(melsecMcNet.getByteTransform().TransInt16(result.Content, 22)); - crnProtocol.setTemp3(melsecMcNet.getByteTransform().TransInt16(result.Content, 24)); - crnProtocol.setTemp4(melsecMcNet.getByteTransform().TransInt16(result.Content, 26)); - crnProtocol.setXSpeed(melsecMcNet.getByteTransform().TransSingle(result.Content, 28)); - crnProtocol.setYSpeed(melsecMcNet.getByteTransform().TransSingle(result.Content, 32)); - crnProtocol.setZSpeed(melsecMcNet.getByteTransform().TransSingle(result.Content, 36)); - crnProtocol.setXDistance(melsecMcNet.getByteTransform().TransSingle(result.Content, 40)); - crnProtocol.setYDistance(melsecMcNet.getByteTransform().TransSingle(result.Content, 44)); - crnProtocol.setXDuration(melsecMcNet.getByteTransform().TransSingle(result.Content, 48)); - crnProtocol.setYDuration(melsecMcNet.getByteTransform().TransSingle(result.Content, 52)); + steProtocol.setMode(melsecMcNet.getByteTransform().TransInt16(result.Content, 0)); + steProtocol.setTaskNo(melsecMcNet.getByteTransform().TransInt16(result.Content, 2)); + steProtocol.setStatus(melsecMcNet.getByteTransform().TransInt16(result.Content, 4)); + steProtocol.setBay(melsecMcNet.getByteTransform().TransInt16(result.Content, 6)); + steProtocol.setLevel(melsecMcNet.getByteTransform().TransInt16(result.Content, 8)); + steProtocol.setForkPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 10)); + steProtocol.setLiftPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 12)); + steProtocol.setWalkPos(melsecMcNet.getByteTransform().TransInt16(result.Content, 14)); + steProtocol.setLoaded(melsecMcNet.getByteTransform().TransInt16(result.Content, 16)); + steProtocol.setAlarm(melsecMcNet.getByteTransform().TransInt16(result.Content, 18)); + steProtocol.setTemp1(melsecMcNet.getByteTransform().TransInt16(result.Content, 20)); + steProtocol.setTemp2(melsecMcNet.getByteTransform().TransInt16(result.Content, 22)); + steProtocol.setTemp3(melsecMcNet.getByteTransform().TransInt16(result.Content, 24)); + steProtocol.setTemp4(melsecMcNet.getByteTransform().TransInt16(result.Content, 26)); + steProtocol.setXSpeed(melsecMcNet.getByteTransform().TransSingle(result.Content, 28)); + steProtocol.setYSpeed(melsecMcNet.getByteTransform().TransSingle(result.Content, 32)); + steProtocol.setZSpeed(melsecMcNet.getByteTransform().TransSingle(result.Content, 36)); + steProtocol.setXDistance(melsecMcNet.getByteTransform().TransSingle(result.Content, 40)); + steProtocol.setYDistance(melsecMcNet.getByteTransform().TransSingle(result.Content, 44)); + steProtocol.setXDuration(melsecMcNet.getByteTransform().TransSingle(result.Content, 48)); + steProtocol.setYDuration(melsecMcNet.getByteTransform().TransSingle(result.Content, 52)); OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); // 澶嶄綅淇″彿 - if (crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) { - log.error("-------------------------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}][宸ヤ綔鍙凤細{}]==>> 鐘舵�佷负90锛岀瓑寰呯‘璁わ紒锛�",slave.getId(),crnProtocol.getTaskNo()); + if (steProtocol.getStatusType().equals(CrnStatusType.WAITING)) { + log.error("-------------------------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}][宸ヤ綔鍙凤細{}]==>> 鐘舵�佷负90锛岀瓑寰呯‘璁わ紒锛�",slave.getId(),steProtocol.getTaskNo()); if (resetFlag) { - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setAckFinish((short)1); - if (write(crnCommand)) { + SteCommand steCommand = new SteCommand(); + steCommand.setAckFinish((short)1); + if (write(steCommand)) { resetFlag = false; } } @@ -202,9 +200,9 @@ // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴� BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class); BasCrnp basCrnp = new BasCrnp(); - basCrnp.setCrnErr(crnProtocol.getAlarm()==null?0:crnProtocol.getAlarm().longValue()); + basCrnp.setCrnErr(steProtocol.getAlarm()==null?0:steProtocol.getAlarm().longValue()); basCrnp.setCrnNo(slave.getId()); - if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))){ + if (!basCrnpService.updateById(steProtocol.toSqlModel(basCrnp))){ log.error("鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); } @@ -216,7 +214,7 @@ e.printStackTrace(); 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()); - initCrn(); + initSte(); } } @@ -224,7 +222,7 @@ /** * 鍐欏叆鏁版嵁 */ - private boolean write(CrnCommand command){ + private boolean write(SteCommand command){ if (null == command) { log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�"); return false; @@ -307,16 +305,16 @@ /**************************************** 娴嬭瘯涓撶敤 *****************************************/ /*****************************************************************************************/ public static void main(String[] args) throws InterruptedException { - CrnSlave slave = new CrnSlave(); - slave.setId(1); - slave.setIp("192.168.3.39"); - slave.setPort(5015); - slave.setRack(0); - slave.setSlot(0); - SteThread melsecCrnThread = new SteThread(slave); - melsecCrnThread.connect(); - melsecCrnThread.readStatus(); - System.out.println(JSON.toJSONString(melsecCrnThread.crnProtocol)); +// CrnSlave slave = new CrnSlave(); +// slave.setId(1); +// slave.setIp("192.168.3.39"); +// slave.setPort(5015); +// slave.setRack(0); +// slave.setSlot(0); +// SteThread melsecCrnThread = new SteThread(slave); +// melsecCrnThread.connect(); +// melsecCrnThread.readStatus(); +// System.out.println(JSON.toJSONString(melsecCrnThread.crnProtocol)); // 1.鍏ュ簱 婧愬拰鐩爣閮藉彂 // CrnCommand command = new CrnCommand(); -- Gitblit v1.9.1