指令调整,与点表一致

This commit is contained in:
wangshilong 2024-11-27 20:09:02 +08:00
parent 5b7c3a10f9
commit 65c40fab6f
5 changed files with 97 additions and 159 deletions

View File

@ -32,16 +32,16 @@ public class PlungerMode extends ChangeRunMode implements Timing {
* false关井 * false关井
*/ */
@Builder.Default @Builder.Default
private boolean enable = false; private int plugInitStatus = 0;
/** /**
* 柱塞模式续流时长[0-999]:[0-59]:[0-59] * 柱塞模式续流时长[0-999]:[0-59]:[0-59]
*/ */
private String sustainTiming; private String plugSustainTime;
/** /**
* 柱塞模式关井时长[0-999]:[0-59]:[0-59] * 柱塞模式关井时长[0-999]:[0-59]:[0-59]
*/ */
private String closeTiming; private String plugCloseTime;
public PlungerMode() { public PlungerMode() {
@ -51,8 +51,10 @@ public class PlungerMode extends ChangeRunMode implements Timing {
@Override @Override
public boolean validate() { public boolean validate() {
return super.validate() && StringUtils.isNotBlank(this.sustainTiming) return super.validate()
&& StringUtils.isNotBlank(this.closeTiming); && StringUtils.isNotBlank(this.plugCloseTime)
&& StringUtils.isNotBlank(this.plugSustainTime)
&& this.plugInitStatus >= 0 && this.plugInitStatus <= 1;
} }
@Override @Override
@ -62,17 +64,17 @@ public class PlungerMode extends ChangeRunMode implements Timing {
// 地址码 功能码 起始地址 连续长度 连续字长 // 地址码 功能码 起始地址 连续长度 连续字长
// 01 10 015C 0007 0E // 01 10 015C 0007 0E
command.append("0110015C00070E"); command.append("0110015C00070E");
command.append("000").append(this.enable ? "1" : "0"); command.append("000").append(this.plugInitStatus);
command.append(this.toHexString(this.sustainTiming)).append(this.toHexString(this.closeTiming)); command.append(this.toHexString(this.plugSustainTime)).append(this.toHexString(this.plugCloseTime));
return List.of(ModbusCommandDto.builder().command(command.toString()).length(16).build()); return List.of(ModbusCommandDto.builder().command(command.toString()).length(16).build());
} }
public void setSustainTiming(String sustainTiming) { public void setPlugSustainTime(String plugSustainTime) {
this.sustainTiming = this.timingValidate(sustainTiming, "sustainTiming"); this.plugSustainTime = this.timingValidate(plugSustainTime, "plugSustainTime");
} }
public void setCloseTiming(String closeTiming) { public void setPlugCloseTime(String plugCloseTime) {
this.closeTiming = this.timingValidate(closeTiming, "closeTiming"); this.plugCloseTime = this.timingValidate(plugCloseTime, "plugCloseTime");
} }
} }

View File

@ -14,7 +14,6 @@ import java.io.Serial;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
* 压力模式存在3个不同的地址段需要发发送4条命令 * 压力模式存在3个不同的地址段需要发发送4条命令
@ -34,12 +33,12 @@ public class PressureMode extends ChangeRunMode implements Timing {
* 压力源 * 压力源
*/ */
@Builder.Default @Builder.Default
private PresourceEnum presource = PresourceEnum.OIL; private int presource = 0;
/** /**
* 压力触发类型 * 压力触发类型
*/ */
@Builder.Default @Builder.Default
private TriggerTypeEnum triggerType = TriggerTypeEnum.L0; private int triggerType = 0;
/** /**
* 开井压力单位Mpa*100[0~9999] * 开井压力单位Mpa*100[0~9999]
@ -83,12 +82,12 @@ public class PressureMode extends ChangeRunMode implements Timing {
* 开井压力保护使能 * 开井压力保护使能
*/ */
@Builder.Default @Builder.Default
private boolean presproTect = false; private int presproTect = 0;
/** /**
* 开井压力保护源 * 开井压力保护源
*/ */
@Builder.Default @Builder.Default
private PresourceEnum presproSource = PresourceEnum.OIL; private int presproSource = 0;
/** /**
* 开井压力限制上限[0-9999] * 开井压力限制上限[0-9999]
*/ */
@ -109,13 +108,14 @@ public class PressureMode extends ChangeRunMode implements Timing {
@Override @Override
public boolean validate() { public boolean validate() {
return super.validate() return super.validate()
&& Objects.nonNull(this.presource)
&& Objects.nonNull(this.triggerType)
&& Objects.nonNull(this.presproSource)
&& StringUtils.isNotBlank(this.maxOpenWell) && StringUtils.isNotBlank(this.maxOpenWell)
&& StringUtils.isNotBlank(this.minOpenWell) && StringUtils.isNotBlank(this.minOpenWell)
&& StringUtils.isNotBlank(this.maxCloseWell) && StringUtils.isNotBlank(this.maxCloseWell)
&& StringUtils.isNotBlank(this.minCloseWell) && StringUtils.isNotBlank(this.minCloseWell)
&& this.presource >= 0 && this.presource <= 3
&& this.presproTect >= 0 && this.presproTect <= 1
&& this.triggerType >= 0 && this.triggerType <= 3
&& this.presproSource >= 0 && this.presproSource <= 3
&& this.pressureOpen >= 0 && this.pressureOpen <= 9999 && this.pressureOpen >= 0 && this.pressureOpen <= 9999
&& this.pressureClose >= 0 && this.pressureClose <= 9999 && this.pressureClose >= 0 && this.pressureClose <= 9999
&& this.openWellLimitMax >= 0 && this.openWellLimitMax <= 9999 && this.openWellLimitMax >= 0 && this.openWellLimitMax <= 9999
@ -131,10 +131,10 @@ public class PressureMode extends ChangeRunMode implements Timing {
// 地址码 功能码 起始地址 连续长度 连续字长 // 地址码 功能码 起始地址 连续长度 连续字长
// 01 10 00A0 0005 0A // 01 10 00A0 0005 0A
command.append("011000A000050A"); command.append("011000A000050A");
command.append(StringUtils.leftPad(Integer.toHexString(this.presource.getCode()), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.presource), 4, "0"));
command.append(StringUtils.leftPad(Integer.toHexString(this.pressureOpen), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.pressureOpen), 4, "0"));
command.append(StringUtils.leftPad(Integer.toHexString(this.pressureClose), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.pressureClose), 4, "0"));
command.append(StringUtils.leftPad(Integer.toHexString(this.triggerType.getCode()), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.triggerType), 4, "0"));
command.append(StringUtils.leftPad(Integer.toHexString(this.stabilityTime), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.stabilityTime), 4, "0"));
commandList.add(ModbusCommandDto.builder().command(command.toString()).length(16).build()); commandList.add(ModbusCommandDto.builder().command(command.toString()).length(16).build());
@ -154,8 +154,8 @@ public class PressureMode extends ChangeRunMode implements Timing {
// 地址码 功能码 起始地址 连续长度 连续字长 // 地址码 功能码 起始地址 连续长度 连续字长
// 01 10 0140 0004 08 // 01 10 0140 0004 08
command.append("01100140000408"); command.append("01100140000408");
command.append("000").append(this.presproTect ? "1" : "0"); command.append("000").append(this.presproTect);
command.append(StringUtils.leftPad(Integer.toHexString(this.presproSource.getCode()), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.presproSource), 4, "0"));
command.append(StringUtils.leftPad(Integer.toHexString(this.openWellLimitMax), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.openWellLimitMax), 4, "0"));
command.append(StringUtils.leftPad(Integer.toHexString(this.openWellLimitMin), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.openWellLimitMin), 4, "0"));
commandList.add(ModbusCommandDto.builder().command(command.toString()).length(16).build()); commandList.add(ModbusCommandDto.builder().command(command.toString()).length(16).build());
@ -179,48 +179,4 @@ public class PressureMode extends ChangeRunMode implements Timing {
this.minCloseWell = this.timingValidate(minCloseWell, "minCloseWell"); this.minCloseWell = this.timingValidate(minCloseWell, "minCloseWell");
} }
/**
* 触发压力源
* 0油压
* 1套压
* 2输压
* 3差压
*/
@Getter
public enum PresourceEnum {
OIL(0, "油压"), CAS(1, "套压"), PRE(2, "输压"), DIFF(3, "差压");
private final int code;
private final String name;
PresourceEnum(int code, String name) {
this.code = code;
this.name = name;
}
}
/**
* 压力触发类型
* 0大于开井压力开井小于关井压力关井
* 1大于开井压力开井大于关井压力关井
* 2小于开井压力开井小于关井压力关井
* 3小于开井压力开井大于关井压力关井
*/
@Getter
public enum TriggerTypeEnum {
L0(0, "大于开井压力开井、小于关井压力关井"),
L1(1, "大于开井压力开井、大于关井压力关井"),
L2(2, "小于开井压力开井、小于关井压力关井"),
L3(3, "小于开井压力开井、大于关井压力关井");
private final int code;
private final String name;
TriggerTypeEnum(int code, String name) {
this.code = code;
this.name = name;
}
}
} }

View File

@ -13,7 +13,6 @@ import org.apache.commons.lang3.StringUtils;
import java.io.Serial; import java.io.Serial;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
* @author <a href="mailto:scwsl@foxmail.com">王仕龙</a> * @author <a href="mailto:scwsl@foxmail.com">王仕龙</a>
@ -30,12 +29,12 @@ public class TimePressureMode extends ChangeRunMode implements Timing {
* 时压模式初始气井状态 * 时压模式初始气井状态
*/ */
@Builder.Default @Builder.Default
private boolean tpInitStatus = false; private int tpInitStatus = 0;
/** /**
* 时压模式开井源 * 时压模式开井源
*/ */
@Builder.Default @Builder.Default
private TimePressureOpenSouceEnum tpOpenSource = TimePressureOpenSouceEnum.OIL; private int tpOpenSource = 0;
/** /**
* 时压模式开井压力触发模式 * 时压模式开井压力触发模式
* 0大于压力触发 * 0大于压力触发
@ -57,7 +56,7 @@ public class TimePressureMode extends ChangeRunMode implements Timing {
* 时压模式关井源 * 时压模式关井源
*/ */
@Builder.Default @Builder.Default
private TimePressureOpenSouceEnum tpCloseSource = TimePressureOpenSouceEnum.OIL; private int tpCloseSource = 0;
/** /**
* 时压模式关井触发 * 时压模式关井触发
* 0大于压力触发 * 0大于压力触发
@ -89,11 +88,12 @@ public class TimePressureMode extends ChangeRunMode implements Timing {
@Override @Override
public boolean validate() { public boolean validate() {
return super.validate() return super.validate()
&& Objects.nonNull(this.tpOpenSource)
&& Objects.nonNull(this.tpCloseSource)
&& StringUtils.isNotBlank(this.tpOpenTiming) && StringUtils.isNotBlank(this.tpOpenTiming)
&& StringUtils.isNotBlank(this.tpCloseTiming) && StringUtils.isNotBlank(this.tpCloseTiming)
&& this.tpInitStatus >= 0 && this.tpInitStatus <= 1
&& this.tpOpenSource >= 0 && this.tpOpenSource <= 4
&& this.tpOpenTrigger >= 0 && this.tpOpenTrigger <= 1 && this.tpOpenTrigger >= 0 && this.tpOpenTrigger <= 1
&& this.tpCloseSource >= 0 && this.tpCloseSource <= 4
&& this.tpCloseTrigger >= 0 && this.tpCloseTrigger <= 1 && this.tpCloseTrigger >= 0 && this.tpCloseTrigger <= 1
&& this.tpOpenPressure >= 0 && this.tpOpenPressure <= 9999 && this.tpOpenPressure >= 0 && this.tpOpenPressure <= 9999
&& this.tpClosePressure >= 0 && this.tpClosePressure <= 9999 && this.tpClosePressure >= 0 && this.tpClosePressure <= 9999
@ -107,12 +107,12 @@ public class TimePressureMode extends ChangeRunMode implements Timing {
// 地址码 功能码 起始地址 连续长度 连续字长 // 地址码 功能码 起始地址 连续长度 连续字长
// 01 10 0177 000E 1C // 01 10 0177 000E 1C
command.append("01100177000E1C"); command.append("01100177000E1C");
command.append("000").append(this.tpInitStatus ? "1" : "0"); command.append("000").append(this.tpInitStatus);
command.append(StringUtils.leftPad(Integer.toHexString(this.tpOpenSource.getCode()), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.tpOpenSource), 4, "0"));
command.append(StringUtils.leftPad(Integer.toHexString(this.tpOpenTrigger), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.tpOpenTrigger), 4, "0"));
command.append(StringUtils.leftPad(Integer.toHexString(this.tpOpenPressure), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.tpOpenPressure), 4, "0"));
command.append(this.toHexString(this.tpOpenTiming)); command.append(this.toHexString(this.tpOpenTiming));
command.append(StringUtils.leftPad(Integer.toHexString(this.tpCloseSource.getCode()), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.tpCloseSource), 4, "0"));
command.append(StringUtils.leftPad(Integer.toHexString(this.tpCloseTrigger), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.tpCloseTrigger), 4, "0"));
command.append(StringUtils.leftPad(Integer.toHexString(this.tpClosePressure), 4, "0")); command.append(StringUtils.leftPad(Integer.toHexString(this.tpClosePressure), 4, "0"));
command.append(this.toHexString(this.tpCloseTiming)); command.append(this.toHexString(this.tpCloseTiming));
@ -128,30 +128,4 @@ public class TimePressureMode extends ChangeRunMode implements Timing {
this.tpCloseTiming = this.timingValidate(tpCloseTiming, "tpCloseTiming"); this.tpCloseTiming = this.timingValidate(tpCloseTiming, "tpCloseTiming");
} }
/**
* 时压模式开井源
* 0油压
* 1套压
* 2输压
* 3差压
* <p>
* 4时间
*/
@Getter
public enum TimePressureOpenSouceEnum {
OIL(0, "油压"),
CAS(1, "套压"),
PRE(2, "输压"),
DIFF(3, "差压"),
TIME(4, "时间");
private final int code;
private final String name;
TimePressureOpenSouceEnum(int code, String name) {
this.code = code;
this.name = name;
}
}
} }

View File

@ -31,66 +31,66 @@ public class TimerMode extends ChangeRunMode implements Timing {
* 定时器1使能开关 * 定时器1使能开关
*/ */
@Builder.Default @Builder.Default
private boolean enable1 = false; private int timer1 = 0;
/** /**
* 定时器2使能开关 * 定时器2使能开关
*/ */
@Builder.Default @Builder.Default
private boolean enable2 = false; private int timer2 = 0;
/** /**
* 定时器3使能开关 * 定时器3使能开关
*/ */
@Builder.Default @Builder.Default
private boolean enable3 = false; private int timer3 = 0;
/** /**
* 定时器4使能开关 * 定时器4使能开关
*/ */
@Builder.Default @Builder.Default
private boolean enable4 = false; private int timer4 = 0;
/** /**
* 定时器1开井时间 * 定时器1开井时间
*/ */
@Builder.Default @Builder.Default
private LocalTime openTimer1 = LocalTime.MIN; private LocalTime timer1Open = LocalTime.MIN;
/** /**
* 定时器1关井时间 * 定时器1关井时间
*/ */
@Builder.Default @Builder.Default
private LocalTime closeTimer1 = LocalTime.MIN; private LocalTime timer1Close = LocalTime.MIN;
/** /**
* 定时器2开井时间 * 定时器2开井时间
*/ */
@Builder.Default @Builder.Default
private LocalTime openTimer2 = LocalTime.MIN; private LocalTime timer2Open = LocalTime.MIN;
/** /**
* 定时器2关井时间 * 定时器2关井时间
*/ */
@Builder.Default @Builder.Default
private LocalTime closeTimer2 = LocalTime.MIN; private LocalTime timer2Close = LocalTime.MIN;
/** /**
* 定时器3开井时间 * 定时器3开井时间
*/ */
@Builder.Default @Builder.Default
private LocalTime openTimer3 = LocalTime.MIN; private LocalTime timer3Open = LocalTime.MIN;
/** /**
* 定时器3关井时间 * 定时器3关井时间
*/ */
@Builder.Default @Builder.Default
private LocalTime closeTimer3 = LocalTime.MIN; private LocalTime timer3Close = LocalTime.MIN;
/** /**
* 定时器4开井时间 * 定时器4开井时间
*/ */
@Builder.Default @Builder.Default
private LocalTime openTimer4 = LocalTime.MIN; private LocalTime timer4Open = LocalTime.MIN;
/** /**
* 定时器4关井时间 * 定时器4关井时间
*/ */
@Builder.Default @Builder.Default
private LocalTime closeTimer4 = LocalTime.MIN; private LocalTime timer4Close = LocalTime.MIN;
public TimerMode() { public TimerMode() {
super(1); super(1);
@ -99,43 +99,47 @@ public class TimerMode extends ChangeRunMode implements Timing {
@Override @Override
public boolean validate() { public boolean validate() {
if (!this.enable1) { if (this.timer1 != 1) {
if (Objects.isNull(this.openTimer1)) { if (Objects.isNull(this.timer1Open)) {
this.openTimer1 = LocalTime.MIN; this.timer1Open = LocalTime.MIN;
} }
if (Objects.isNull(this.closeTimer1)) { if (Objects.isNull(this.timer1Close)) {
this.closeTimer1 = LocalTime.MIN; this.timer1Close = LocalTime.MIN;
} }
} }
if (!this.enable2) { if (this.timer2 != 1) {
if (Objects.isNull(this.openTimer2)) { if (Objects.isNull(this.timer2Open)) {
this.openTimer2 = LocalTime.MIN; this.timer2Open = LocalTime.MIN;
} }
if (Objects.isNull(this.closeTimer2)) { if (Objects.isNull(this.timer2Close)) {
this.closeTimer2 = LocalTime.MIN; this.timer2Close = LocalTime.MIN;
} }
} }
if (!this.enable3) { if (this.timer3 != 1) {
if (Objects.isNull(this.openTimer3)) { if (Objects.isNull(this.timer3Open)) {
this.openTimer3 = LocalTime.MIN; this.timer3Open = LocalTime.MIN;
} }
if (Objects.isNull(this.closeTimer3)) { if (Objects.isNull(this.timer3Close)) {
this.closeTimer3 = LocalTime.MIN; this.timer3Close = LocalTime.MIN;
} }
} }
if (!this.enable4) { if (this.timer4 != 1) {
if (Objects.isNull(this.openTimer4)) { if (Objects.isNull(this.timer4Open)) {
this.openTimer4 = LocalTime.MIN; this.timer4Open = LocalTime.MIN;
} }
if (Objects.isNull(this.closeTimer4)) { if (Objects.isNull(this.timer4Close)) {
this.closeTimer4 = LocalTime.MIN; this.timer4Close = LocalTime.MIN;
} }
} }
return super.validate() return super.validate()
&& Objects.nonNull(this.openTimer1) && Objects.nonNull(this.closeTimer1) && this.timer1 >= 0 && this.timer1 <= 1
&& Objects.nonNull(this.openTimer2) && Objects.nonNull(this.closeTimer2) && this.timer2 >= 0 && this.timer2 <= 1
&& Objects.nonNull(this.openTimer3) && Objects.nonNull(this.closeTimer3) && this.timer3 >= 0 && this.timer3 <= 1
&& Objects.nonNull(this.openTimer4) && Objects.nonNull(this.closeTimer4); && this.timer4 >= 0 && this.timer4 <= 1
&& Objects.nonNull(this.timer1Open) && Objects.nonNull(this.timer1Close)
&& Objects.nonNull(this.timer2Open) && Objects.nonNull(this.timer2Close)
&& Objects.nonNull(this.timer3Open) && Objects.nonNull(this.timer3Close)
&& Objects.nonNull(this.timer4Open) && Objects.nonNull(this.timer4Close);
} }
@Override @Override
@ -145,14 +149,14 @@ public class TimerMode extends ChangeRunMode implements Timing {
// 地址码 功能码 起始地址 连续长度 连续字长 // 地址码 功能码 起始地址 连续长度 连续字长
// 01 10 006E 001C 38 // 01 10 006E 001C 38
command.append("0110006E001C38"); command.append("0110006E001C38");
command.append("000").append(this.enable1 ? "1" : "0"); command.append("000").append(this.timer1);
command.append("000").append(this.enable2 ? "1" : "0"); command.append("000").append(this.timer2);
command.append("000").append(this.enable3 ? "1" : "0"); command.append("000").append(this.timer3);
command.append("000").append(this.enable4 ? "1" : "0"); command.append("000").append(this.timer4);
command.append(this.toHexString(this.openTimer1)).append(this.toHexString(this.closeTimer1)) command.append(this.toHexString(this.timer1Open)).append(this.toHexString(this.timer1Close))
.append(this.toHexString(this.openTimer2)).append(this.toHexString(this.closeTimer2)) .append(this.toHexString(this.timer2Open)).append(this.toHexString(this.timer2Close))
.append(this.toHexString(this.openTimer3)).append(this.toHexString(this.closeTimer3)) .append(this.toHexString(this.timer3Open)).append(this.toHexString(this.timer3Close))
.append(this.toHexString(this.openTimer4)).append(this.toHexString(this.closeTimer4)); .append(this.toHexString(this.timer4Open)).append(this.toHexString(this.timer4Close));
return List.of(ModbusCommandDto.builder().command(command.toString()).length(16).build()); return List.of(ModbusCommandDto.builder().command(command.toString()).length(16).build());
} }

View File

@ -30,17 +30,17 @@ public class TimingMode extends ChangeRunMode implements Timing {
* 计时器开井时长[0-999]:[0-59]:[0-59] * 计时器开井时长[0-999]:[0-59]:[0-59]
*/ */
@Builder.Default @Builder.Default
private String openTiming = "00:00:00"; private String timingOpen = "00:00:00";
/** /**
* 计时器关井时长[0-999]:[0-59]:[0-59] * 计时器关井时长[0-999]:[0-59]:[0-59]
*/ */
@Builder.Default @Builder.Default
private String closeTiming = "00:00:00"; private String timingClose = "00:00:00";
/** /**
* 计时器延时时长[0-999]:[0-59]:[0-59] * 计时器延时时长[0-999]:[0-59]:[0-59]
*/ */
@Builder.Default @Builder.Default
private String delayTiming = "00:00:00"; private String timingCelay = "00:00:00";
public TimingMode() { public TimingMode() {
super(2); super(2);
@ -50,19 +50,21 @@ public class TimingMode extends ChangeRunMode implements Timing {
@Override @Override
public boolean validate() { public boolean validate() {
return super.validate() return super.validate()
&& StringUtils.isNotBlank(this.openTiming) && StringUtils.isNotBlank(this.closeTiming) && StringUtils.isNotBlank(this.delayTiming); && StringUtils.isNotBlank(this.timingOpen)
&& StringUtils.isNotBlank(this.timingClose)
&& StringUtils.isNotBlank(this.timingCelay);
} }
public void setOpenTiming(String openTiming) { public void setTimingOpen(String timingOpen) {
this.openTiming = this.timingValidate(openTiming, "openTiming"); this.timingOpen = this.timingValidate(timingOpen, "timingOpen");
} }
public void setCloseTiming(String closeTiming) { public void setTimingClose(String timingClose) {
this.closeTiming = this.timingValidate(closeTiming, "closeTiming"); this.timingClose = this.timingValidate(timingClose, "timingClose");
} }
public void setDelayTiming(String delayTiming) { public void setTimingCelay(String timingCelay) {
this.delayTiming = this.timingValidate(delayTiming, "delayTiming"); this.timingCelay = this.timingValidate(timingCelay, "timingCelay");
} }
@Override @Override
@ -72,10 +74,10 @@ public class TimingMode extends ChangeRunMode implements Timing {
// 地址码 功能码 起始地址 连续长度 连续字长 // 地址码 功能码 起始地址 连续长度 连续字长
// 01 10 0096 000A 14 // 01 10 0096 000A 14
command.append("01100096000A14") command.append("01100096000A14")
.append(this.toHexString(this.openTiming)) .append(this.toHexString(this.timingOpen))
.append(this.toHexString(this.closeTiming)) .append(this.toHexString(this.timingClose))
.append("0000") // 地址位0156值为空 .append("0000") // 地址位0156值为空
.append(this.toHexString(this.delayTiming)); .append(this.toHexString(this.timingCelay));
return List.of(ModbusCommandDto.builder().command(command.toString()).length(16).build()); return List.of(ModbusCommandDto.builder().command(command.toString()).length(16).build());
} }