TestMaster.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import lombok.extern.slf4j.Slf4j;
  2. import wei.yigulu.modbus.domain.FunctionCode;
  3. import wei.yigulu.modbus.domain.Obj4RequestRegister;
  4. import wei.yigulu.modbus.domain.datatype.IModbusDataType;
  5. import wei.yigulu.modbus.domain.datatype.ModbusDataTypeEnum;
  6. import wei.yigulu.modbus.domain.datatype.NumericModbusData;
  7. import wei.yigulu.modbus.exceptiom.ModbusException;
  8. import wei.yigulu.modbus.netty.ModbusTcpMasterBuilder;
  9. import wei.yigulu.modbus.utils.ModbusRequestDataUtils;
  10. import java.util.HashMap;
  11. import java.util.List;
  12. import java.util.Map;
  13. /**
  14. * @author: xiuwei
  15. * @version:
  16. */
  17. @Slf4j
  18. public class TestMaster {
  19. public static void main(String[] args) throws InterruptedException, ModbusException {
  20. ModbusTcpMasterBuilder master = new ModbusTcpMasterBuilder("127.0.0.1", 5025);
  21. master.createByUnBlock();
  22. Thread.sleep(3000L);
  23. Map<Integer, ModbusDataTypeEnum> map = new HashMap<>();
  24. for (int i = 0; i <= 7; i++) {
  25. map.put(i * 2, ModbusDataTypeEnum.P_CDAB);
  26. }
  27. List<Obj4RequestRegister> ll = ModbusRequestDataUtils.splitModbusRequest(map, 1, FunctionCode.READ_HOLDING_REGISTERS);
  28. for (; ; ) {
  29. try {
  30. Map<Integer, IModbusDataType> map1 = ModbusRequestDataUtils.getRegisterData(master, ll);
  31. for (Integer i : map1.keySet()) {
  32. System.out.println(i + " ============ " + ((NumericModbusData) map1.get(i)).getValue());
  33. }
  34. } catch (Exception e) {
  35. e.printStackTrace();
  36. }
  37. Thread.sleep(3000L);
  38. }
  39. }
  40. }