package com.zy.core.thread;
|
|
import HslCommunication.Profinet.Siemens.SiemensS7Net;
|
import com.zy.core.DevpThread;
|
import com.zy.core.enums.IoModeType;
|
import com.zy.core.model.DevpSlave;
|
import com.zy.core.model.protocol.StaProtocol;
|
import lombok.Data;
|
import lombok.extern.slf4j.Slf4j;
|
|
import java.util.ArrayList;
|
import java.util.Map;
|
import java.util.concurrent.ConcurrentHashMap;
|
|
/**
|
* 输送线线程
|
* Created by vincent on 2020/8/4
|
*/
|
@Data
|
@Slf4j
|
public class SiemensDevpThread implements Runnable, DevpThread {
|
|
private DevpSlave slave;
|
private SiemensS7Net siemensS7Net;
|
private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
|
private short heartBeatVal = 1;
|
|
public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{
|
add(100);
|
}};
|
|
/**
|
* 条码数量
|
*/
|
private int barcodeSize = 1;
|
|
/**
|
* 入出库模式
|
* 0:未知
|
* 1:入库启动中
|
* 2.入库模式
|
* 3.出库启动中 (不能生成入库工作档)
|
* 4.出库模式
|
*/
|
public IoModeType ioModeOf1F = IoModeType.NONE;
|
|
public SiemensDevpThread(DevpSlave slave) {
|
this.slave = slave;
|
}
|
|
|
public void setData(Integer siteId, boolean loading, boolean inEnable, boolean outEnable) {
|
// 站点编号
|
for (Integer sta : staNos) {
|
if (sta.equals(siteId)) {
|
StaProtocol staProtocol = station.get(siteId);
|
if (null == staProtocol) {
|
staProtocol = new StaProtocol();
|
staProtocol.setSiteId(siteId);
|
station.put(siteId, staProtocol);
|
}
|
staProtocol.setWorkNo((short) 0); // ID
|
staProtocol.setAutoing(true); // 自动
|
staProtocol.setLoading(loading); // 有物
|
staProtocol.setInEnable(inEnable); // 可入
|
staProtocol.setOutEnable(outEnable); // 可出
|
staProtocol.setEmptyMk(false); // 空板信号
|
staProtocol.setStaNo((short) 0); // 目标站
|
if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
|
staProtocol.setPakMk(true);
|
}
|
}
|
}
|
}
|
|
|
@Override
|
public boolean connect() {
|
return false;
|
}
|
|
@Override
|
public void close() {
|
|
}
|
|
|
@Override
|
public void setPakMk(Integer siteId, boolean pakMk) {
|
|
}
|
|
@Override
|
public void run() {
|
|
}
|
}
|