Files
FT501-WCS/ruoyi-admin/src/main/java/com/ruoyi/schedule/plc/PlcRead.java
2025-06-11 17:50:33 +08:00

41 lines
1.1 KiB
Java

package com.ruoyi.schedule.plc;
import com.ruoyi.schedule.plc.domain.SsjDevice;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class PlcRead implements Runnable{
private final Map<String, SsjDevice> deviceMap;
private volatile boolean running = true;
public PlcRead(ConcurrentHashMap<String, SsjDevice> deviceMap) {
this.deviceMap = deviceMap;
}
@Override
public void run() {
while (running && !Thread.currentThread().isInterrupted()) {
try {
// 模拟PLC读取操作
Thread.sleep(1000); // 模拟睡眠
// TODO: 实际读取PLC设备数据逻辑
} catch (InterruptedException e) {
// 捕获中断异常,退出循环
Thread.currentThread().interrupt(); // 重新设置中断标志
break;
}
}
}
public void stopReading() {
running = false;
Thread.currentThread().interrupt(); // 主动中断线程
}
}