src/main/java/com/zy/core/model/protocol/CrnProtocol.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/CrnThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/core/model/protocol/CrnProtocol.java
New file @@ -0,0 +1,114 @@ package com.zy.core.model.protocol; import lombok.Data; /** * Created by vincent on 2020/8/7 */ @Data public class CrnProtocol { /** * 1 = 手动模式 * 2 = 自动模式 * 3 = 电脑模式 * 4 = 手动模式启动中 * 5 = 自动模式启动中 * 6 = 电脑模式启动中 */ public short mode; /** * 1 = 急停 */ public short eStop; /** * 异常码 */ public short alarm; /** * 任务号 */ public short taskNo; /** * 堆垛机当前状态 * 0 = 未知 * 1 = 空闲 * 2 = 检查任务数据 * 3 = 定位到取货位 * 7 = 取货完成 * 8 = 等待调度柜允许 * 9 = 移动到放货位置 * 10 = 放货中 * 13 = 搬运完成 * 14 = 空载避让 * 15 = 检查任务数据 * 20 = 检查源位置 * 21 = 检查目标位置 * 50 = 移动任务 * 98 = 任务完成,wcs未确认 * 99 = 报警 */ public short status; /** * 堆垛机当前列号 */ public short bay; /** * 堆垛机当前层号 */ public short level; /** * 当前货叉位置 * 0 = 货叉原位 * 1 = 货叉在左侧 * 2 = 货叉在右侧 */ public short forkPos; /** * 当前载货台位置 * 0 = 下定位 * 1 = 上定位 */ public short liftPos; /** * 走行在定位 * 0 = 在定位 * 1 = 不在定位 */ public short walkPos; /** * 堆垛机任务完成 */ public short taskFinish; /** * 载货台有物 */ public short loaded; /** * 堆垛机累计走行距离 */ public int xDistance; /** * 堆垛机累计升降距离 */ public int yDistance; /** * 堆垛机累计运行时长 */ public int duration; } src/main/java/com/zy/core/thread/CrnThread.java
@@ -8,6 +8,7 @@ import com.zy.core.cache.MessageQueue; import com.zy.core.enums.SlaveType; import com.zy.core.model.Task; import com.zy.core.model.protocol.CrnProtocol; import lombok.Data; import lombok.extern.slf4j.Slf4j; @@ -21,6 +22,7 @@ SiemensS7Net siemensNet; private Slave slave; private CrnProtocol crnProtocol; public CrnThread(Slave slave) { this.slave = slave; @@ -75,11 +77,33 @@ return result; } /** * 读取状态 */ private void readStatus(){ CrnProtocol protocol = new CrnProtocol(); protocol.mode = siemensNet.ReadInt16("D2231").Content; protocol.eStop = siemensNet.ReadInt16("D2232").Content; protocol.taskNo = siemensNet.ReadInt16("D2233").Content; protocol.status = siemensNet.ReadInt16("D2234").Content; protocol.bay = siemensNet.ReadInt16("D2235").Content; protocol.level = siemensNet.ReadInt16("D2236").Content; protocol.forkPos = siemensNet.ReadInt16("D2237").Content; protocol.liftPos = siemensNet.ReadInt16("D2238").Content; protocol.walkPos = siemensNet.ReadInt16("D2239").Content; protocol.taskFinish = siemensNet.ReadInt16("D2240").Content; protocol.loaded = siemensNet.ReadInt16("D2241").Content; protocol.alarm = siemensNet.ReadInt16("D2242").Content; protocol.xDistance = siemensNet.ReadInt32("D2251").Content; protocol.yDistance = siemensNet.ReadInt32("D2253").Content; protocol.duration = siemensNet.ReadInt16("D2255").Content; this.crnProtocol = protocol; } @Override public void close() { } }