123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package at.acdp.urweb.fhpp;
- import at.acdp.urweb.Params;
- import com.digitalpetri.modbus.codec.Modbus;
- import com.digitalpetri.modbus.master.ModbusTcpMaster;
- import com.digitalpetri.modbus.master.ModbusTcpMasterConfig;
- import com.digitalpetri.modbus.requests.ModbusRequest;
- import com.digitalpetri.modbus.requests.ReadHoldingRegistersRequest;
- import com.digitalpetri.modbus.requests.WriteMultipleRegistersRequest;
- import com.digitalpetri.modbus.responses.ReadHoldingRegistersResponse;
- import io.netty.util.ReferenceCountUtil;
- import io.netty.util.concurrent.CompleteFuture;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.concurrent.CompletableFuture;
- import java.util.concurrent.Executors;
- import java.util.concurrent.ScheduledExecutorService;
- public class FHMasterSim implements IFHMaster {
- private final static Logger logger = LoggerFactory.getLogger(FHMasterSim.class);
- private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
- private volatile boolean started = false;
- private int curPos=-1;
- public FHMasterSim() {
- }
- @Override
- public void start(Params app) throws InterruptedException {
- started = true;
- while(true) {
- Thread.sleep(1000);
- readStatus();
- }
- }
- @Override
- public void direktAuftrag(int pos, int speed, int start, boolean relative) {
- logger.info("direktAuftrag {},{},{},{}", pos, speed, start, relative);
- curPos=pos;
- }
- @Override
- public CompletableFuture<Status> readStatus() {
- Status s=new Status();
- s.istPosition = curPos;
- s.enabled = true;
- return CompletableFuture.completedFuture(s);
- }
- @Override
- public void bereitschaft() {
- logger.info("bereitschaft");
- }
- @Override
- public void stop() {
- started = false;
- }
- }
|