package com.zy.core.thread;
|
|
import com.zy.common.HslCommunication.Core.Types.OperateResult;
|
import com.zy.common.HslCommunication.Profinet.Melsec.MelsecMcNet;
|
import com.zy.core.Slave;
|
import com.zy.core.ThreadHandler;
|
import com.zy.core.cache.MessageQueue;
|
import com.zy.core.enums.SlaveType;
|
import com.zy.core.model.Task;
|
import lombok.Data;
|
import lombok.extern.slf4j.Slf4j;
|
|
/**
|
* 输送线线程
|
* Created by vincent on 2020/8/4
|
*/
|
@Data
|
@Slf4j
|
public class DevpThread implements Runnable, ThreadHandler {
|
|
private Slave slave;
|
|
public DevpThread(Slave slave) {
|
this.slave = slave;
|
}
|
|
@Override
|
@SuppressWarnings("InfiniteLoopStatement")
|
public void run() {
|
while (true) {
|
try {
|
Task task = MessageQueue.poll(SlaveType.Devp, slave.getId());
|
if (task == null) {
|
System.out.println("任务"+task.getId());
|
}
|
Thread.sleep(3000);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
|
}
|
}
|
|
@Override
|
public boolean connect() {
|
MelsecMcNet melsec_net = new MelsecMcNet(slave.getIp(), slave.getPort());
|
OperateResult operateResult = melsec_net.ConnectServer();
|
if (operateResult.IsSuccess) {
|
log.info("输送线plc连接成功 ===>> [ip:{}] [port:{}]", slave.getIp(), slave.getPort());
|
return true;
|
} else {
|
log.info("输送线plc连接失败!!! ===>> [ip:{}] [port:{}]", slave.getIp(), slave.getPort());
|
return false;
|
}
|
}
|
|
@Override
|
public void close() {
|
|
}
|
}
|