*
lsh
2025-11-25 6e96e802901984581875ed6a16957cefc7007e5e
src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -4,9 +4,6 @@
import com.zy.asrs.entity.BasDevpErrorLog;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
/**
 * 输送线plc单个站点详细信息
 * Created by vincent on 2020/8/6
@@ -57,6 +54,9 @@
    // 锁定标记
    private boolean pakMk = true;
    private boolean pakMkRun = true;
    private boolean pakMkTask = true;
    private boolean pakMkWalk = true;
    // 入库暂存数
    private Short inQty;
@@ -111,6 +111,30 @@
    private Boolean upcontactErr = false; //顶升电机接触器故障
    // 电路保护器断开
    private boolean errOther1;
    // 光电异常
    private boolean errOther2;
    // 运行超时
    private boolean errOther3;
    // 占位超时
    private boolean errOther4;
    // 有任务无货故障
    private boolean errOther5;
    // 变频器故障
    private boolean errOther6;
    // 接触器故障
    private boolean errOther7;
    // 顶升电机接触器故障
    private boolean errOther8;
    //故障信号--------------------------------------------------------
    // 故障读取锁定标记
@@ -136,31 +160,89 @@
    private Boolean res4 = false; //预留4
    private Boolean res5 = false; //预留5
    private Boolean dataError = false; //数据错误
    //配置信号
    private Boolean sensorGArrive = false; //直线光电
    private Boolean sensorGDec = false; //减速光电
    private Boolean sensorGArrive2 = false; //直线凸出
    private Boolean sensorLimit = false; //限位保护光电
    private Boolean emergency = false; //急停
    private Boolean sensorGLeave = false; //光电离开1
    private Boolean sensorGLeave2 = false; //光电离开2
    private Boolean sensorCUp = false; //顶升上升
    private Boolean sensorCDown = false; //顶升下降
    private Boolean liftMotorFr = false; //顶升热继
    private Boolean lineMotorFr = false; //直线热继
    private Boolean tranMotorFr = false; //移栽热继
    private Boolean rst1 = false; //备用1
    private Boolean rst2 = false; //备用2
    private Boolean rst3 = false; //备用3
    private Boolean rst4 = false; //备用4
    private Boolean sensorArriveD = false; //直行方向到位
    private Boolean sensorDecD = false; //直行方向减速
    private Boolean sensorArriveL = false; //左移方向到位
    private Boolean sensorDecL = false; //左移方向减速
    private Boolean sensorArriveR = false; //右移方向到位
    private Boolean sensorDecR = false; //右移方向减速
    // Super有无信息
    private boolean loadingSuper = true;
    //指令ID
    private Integer commandId;
    private Double grossWt = 0D;
    private String errorDev = "-";
    private String barcodeNow = "-";
    public BasDevpErrorLog toSqlModelError(){
        BasDevpErrorLog basDevpErrorLog = new BasDevpErrorLog();
        basDevpErrorLog.setDevNo(siteId);
        basDevpErrorLog.setPassTimeOut(passTimeOut?"Y":"N");
        basDevpErrorLog.setObjectNoIdError(objectNoIdError?"Y":"N");
        basDevpErrorLog.setIdNoObjectError(idNoObjectError?"Y":"N");
        basDevpErrorLog.setLmfrError(lmfrError?"Y":"N");
        basDevpErrorLog.setLiftError(liftError?"Y":"N");
        basDevpErrorLog.setDlfrError(dlfrError?"Y":"N");
        basDevpErrorLog.setDmfrError(dmfrError?"Y":"N");
        basDevpErrorLog.setVfdError(vfdError?"Y":"N");
        basDevpErrorLog.setSrvError(srvError?"Y":"N");
        basDevpErrorLog.setRes1(res1?"Y":"N");
        basDevpErrorLog.setRes2(res2?"Y":"N");
        basDevpErrorLog.setRes3(res3?"Y":"N");
        basDevpErrorLog.setCommunicationTimeOut(communicationTimeOut?"Y":"N");
        basDevpErrorLog.setParameterIncompleteError(parameterIncompleteError?"Y":"N");
        basDevpErrorLog.setDataNotClear(dataNotClear?"Y":"N");
        basDevpErrorLog.setSetParameterError(setParameterError?"Y":"N");
        basDevpErrorLog.setInEnable(res4?"Y":"N");
        basDevpErrorLog.setOutEnable(res5?"Y":"N");
        basDevpErrorLog.setDataError(dataError?"Y":"N");
        basDevpErrorLog.setDevNo(siteId); // 设备号(假设有定义 siteId)
        basDevpErrorLog.setPassTimeOut(passTimeOut ? "Y" : "N");
        basDevpErrorLog.setObjectNoIdError(objectNoIdError ? "Y" : "N");
        basDevpErrorLog.setIdNoObjectError(idNoObjectError ? "Y" : "N");
        basDevpErrorLog.setLmfrError(lmfrError ? "Y" : "N");
        basDevpErrorLog.setLiftError(liftError ? "Y" : "N");
        basDevpErrorLog.setDlfrError(dlfrError ? "Y" : "N");
        basDevpErrorLog.setDmfrError(dmfrError ? "Y" : "N");
        basDevpErrorLog.setVfdError(vfdError ? "Y" : "N");
        basDevpErrorLog.setSrvError(srvError ? "Y" : "N");
        basDevpErrorLog.setRes1(res1 ? "Y" : "N");
        basDevpErrorLog.setRes2(res2 ? "Y" : "N");
        basDevpErrorLog.setRes3(res3 ? "Y" : "N");
        basDevpErrorLog.setCommunicationTimeOut(communicationTimeOut ? "Y" : "N");
        basDevpErrorLog.setParameterIncompleteError(parameterIncompleteError ? "Y" : "N");
        basDevpErrorLog.setDataNotClear(dataNotClear ? "Y" : "N");
        basDevpErrorLog.setSetParameterError(setParameterError ? "Y" : "N");
        basDevpErrorLog.setInEnable(res4 ? "Y" : "N");
        basDevpErrorLog.setOutEnable(res5 ? "Y" : "N");
        basDevpErrorLog.setDataError(dataError ? "Y" : "N");
        // 配置信号
        basDevpErrorLog.setSensorGArrive(sensorGArrive ? "Y" : "N");
        basDevpErrorLog.setSensorGDec(sensorGDec ? "Y" : "N");
        basDevpErrorLog.setSensorGArrive2(sensorGArrive2 ? "Y" : "N");
        basDevpErrorLog.setSensorLimit(sensorLimit ? "Y" : "N");
        basDevpErrorLog.setEmergency(emergency ? "Y" : "N");
        basDevpErrorLog.setSensorGLeave(sensorGLeave ? "Y" : "N");
        basDevpErrorLog.setSensorGLeave2(sensorGLeave2 ? "Y" : "N");
        basDevpErrorLog.setSensorCUp(sensorCUp ? "Y" : "N");
        basDevpErrorLog.setSensorCDown(sensorCDown ? "Y" : "N");
        basDevpErrorLog.setLiftMotorFr(liftMotorFr ? "Y" : "N");
        basDevpErrorLog.setLineMotorFr(lineMotorFr ? "Y" : "N");
        basDevpErrorLog.setTranMotorFr(tranMotorFr ? "Y" : "N");
        basDevpErrorLog.setRst1(rst1 ? "Y" : "N");
        basDevpErrorLog.setRst2(rst2 ? "Y" : "N");
        basDevpErrorLog.setRst3(rst3 ? "Y" : "N");
        basDevpErrorLog.setRst4(rst4 ? "Y" : "N");
        basDevpErrorLog.setSensorArriveD(sensorArriveD ? "Y" : "N");
        basDevpErrorLog.setSensorDecD(sensorDecD ? "Y" : "N");
        basDevpErrorLog.setSensorArriveL(sensorArriveL ? "Y" : "N");
        basDevpErrorLog.setSensorDecL(sensorDecL ? "Y" : "N");
        basDevpErrorLog.setSensorArriveR(sensorArriveR ? "Y" : "N");
        basDevpErrorLog.setSensorDecR(sensorDecR ? "Y" : "N");
        return basDevpErrorLog;
    }
    public Boolean isErr(){
@@ -198,6 +280,83 @@
        }
        return null;
    }
    public String getErrorDev$(){
        if (errorDev.equals("-")){
            boolean back = false;
            String errMsg = "-";
            if (this.isErrOther1()) {
                if (!back){
                    errMsg = "电路保护器断开";
                } else {
                    errMsg = errMsg+"---"+"电路保护器断开";
                }
                back = true;
            }
            if (this.isErrOther2()) {
                if (!back){
                    errMsg = "光电异常";
                } else {
                    errMsg = errMsg+"---"+"光电异常";
                }
                back = true;
            }
            if (this.isErrOther3()) {
                if (!back){
                    errMsg = "运行超时";
                } else {
                    errMsg = errMsg+"---"+"运行超时";
                }
                back = true;
            }
            if (this.isErrOther4()) {
                if (!back){
                    errMsg = "占位超时";
                } else {
                    errMsg = errMsg+"---"+"占位超时";
                }
                back = true;
            }
            if (this.isErrOther5()) {
                if (!back){
                    errMsg = "有任务无货故障";
                } else {
                    errMsg = errMsg+"---"+"有任务无货故障";
                }
                back = true;
            }
            if (this.isErrOther6()) {
                if (!back){
                    errMsg = "变频器故障";
                } else {
                    errMsg = errMsg+"---"+"变频器故障";
                }
                back = true;
            }
            if (this.isErrOther7()) {
                if (!back){
                    errMsg = "接触器故障";
                } else {
                    errMsg = errMsg+"---"+"接触器故障";
                }
                back = true;
            }
            if (this.isErrOther8()) {
                if (!back){
                    errMsg = "顶升电机接触器故障";
                } else {
                    errMsg = errMsg+"---"+"顶升电机接触器故障";
                }
                back = true;
            }
            if (back){
                return errMsg;
            }
        }
        return errorDev;
    }
//    public Integer getNearbySta() {
//        if (getNearbySta == null) return 0;
//