自动化立体仓库 - WCS系统
#
lsh
2022-09-27 14b1f6f87b7bb4416a065c5e64f887c6a1ba64d5
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -8,13 +8,9 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
import com.google.common.base.Utf8;
import com.sun.xml.internal.bind.v2.runtime.output.Encoded;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.WrkMastService;
import com.zy.core.DevpThread;
import com.zy.core.Slave;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
@@ -25,7 +21,6 @@
import com.zy.core.model.protocol.StaProtocol;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import java.text.MessageFormat;
import java.util.ArrayList;
@@ -47,9 +42,9 @@
    private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
    private short heartBeatVal = 1;
    public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
        add(101);add(102);add(103);add(104);
        add(201);add(202);add(203);add(204);
        add(301);add(302);add(303);add(304);add(305);add(306);
        add(101);add(102);add(103);add(104);add(105);add(106);add(107);add(108);add(109);
//        add(201);add(202);add(203);add(204);
//        add(301);add(302);add(303);add(304);add(305);add(306);
    }};
    /**
@@ -57,6 +52,11 @@
     */
    private int barcodeSize = 1;
    public IoModeType ioMode = IoModeType.NONE;
    public int startSignal1 = 0;
    public int startSignal2 = 0;
    public int startSignal3 = 0;
    public int startSignal4 = 0;
    public SiemensDevpThread(DevpSlave slave) {
        this.slave = slave;
@@ -81,6 +81,10 @@
                    // 写数据 ID+目标站
                    case 2:
                        write((StaProtocol)task.getData());
                        break;
                    //复位测试信号
                    case 3:
                        siemensS7Net.Write("DB100." + (150 + (int)task.getData()), 0);
                        break;
                    default:
                        break;
@@ -151,7 +155,7 @@
//            }
//        }
        Thread.sleep(200);
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB150.0", (short) (staNoSize*2));
        OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB101.0", (short) (staNoSize*2));
        if (result1.IsSuccess) {
            for (int i = 0; i < staNoSize; i++) {
                Integer siteId = staNos.get(i); // 站点编号
@@ -182,9 +186,16 @@
                    barcodeThread.setBarcode(barcode);
                }
            }
        }
        Thread.sleep(200);
        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.150", (short) 8);
        if(result3.IsSuccess) {
            startSignal1 = siemensS7Net.getByteTransform().TransInt16(result.Content, 0);
            startSignal2 = siemensS7Net.getByteTransform().TransInt16(result.Content, 2);
            startSignal3 = siemensS7Net.getByteTransform().TransInt16(result.Content, 4);
            startSignal4 = siemensS7Net.getByteTransform().TransInt16(result.Content, 6);
        }
//        OperateResultExOne<Short> result2 = siemensS7Net.ReadInt16("DB200.0");
//        if (result2.IsSuccess) {
//            this.ioMode = IoModeType.get(result2.Content);