diff --git a/business/src/main/java/com/fizz/business/comm/OPC/MessageReceiveSchedule.java b/business/src/main/java/com/fizz/business/comm/OPC/MessageReceiveSchedule.java index 5db505c..eccc0a6 100644 --- a/business/src/main/java/com/fizz/business/comm/OPC/MessageReceiveSchedule.java +++ b/business/src/main/java/com/fizz/business/comm/OPC/MessageReceiveSchedule.java @@ -1,14 +1,26 @@ package com.fizz.business.comm.OPC; +import com.fizz.business.constants.enums.ExitCutTypeEnum; +import com.fizz.business.constants.enums.OpcMessageType; +import com.fizz.business.domain.msg.*; import com.fizz.business.scheduled.BaseSchedule; +import com.fizz.business.service.hanle.OpcReceiverHandler; import com.kangaroohy.milo.model.ReadWriteEntity; import com.kangaroohy.milo.service.MiloService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.beanutils.BeanUtils; import org.springframework.scheduling.annotation.Scheduled; import javax.annotation.Resource; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import static com.fizz.business.service.manager.OpcMessageIdsManager.*; + @Slf4j //@Component @AllArgsConstructor @@ -16,14 +28,59 @@ public class MessageReceiveSchedule extends BaseSchedule { @Resource MiloService miloService; -// @Scheduled(fixedDelay = 200) + + @Resource + private OpcReceiverHandler opcReceiverHandler; +// @Scheduled(fixedDelay = 1000) public void L1L2LineMeasure() { try { - ReadWriteEntity node = miloService.readFromOpcUa("ns=2;s=通道 2.LockStautsRead.lockStauts1"); - log.debug(node.toString()); - node.getValue(); + + AppMeasureEntryMessage entry = new AppMeasureEntryMessage(); + writeMessage(entry,entryLineMeasureIds); + + AppMeasureCoatMessage coat = new AppMeasureCoatMessage(); + writeMessage(coat,procLineMeasureIds); + + AppMeasureFurnaceMessage fur = new AppMeasureFurnaceMessage(); + writeMessage(fur,furLineMeasureIds); + + AppMeasureExitMessage exit = new AppMeasureExitMessage(); + writeMessage(exit,exitMeasureIds); + + AppMeasureMessage msg = new AppMeasureMessage(); + msg.setAppMeasureEntryMessage(entry); + msg.setAppMeasureCoatMessage(coat); + msg.setAppMeasureFurnaceMessage(fur); + msg.setAppMeasureExitMessage(exit); + opcReceiverHandler.onMessageReceived(OpcMessageType.APP_MEASURE,msg); + } catch (Exception e) { - throw new RuntimeException(e); +// throw new RuntimeException(e); } } + + private void writeMessage(OpcMessage msg, Map msgIds) throws Exception { + List ids = new ArrayList<>(msgIds.keySet()); + ids.remove("trigger"); + List nodes = miloService.readFromOpcUa(ids); + nodes.forEach(item->{ + String fieldName = msgIds.get(item.getIdentifier()); + if (fieldName != null) { + try { + Field field = msg.getClass().getDeclaredField(fieldName); + if (field.getType() == ExitCutTypeEnum.class) { + // 使用枚举类的自定义方法 + field.setAccessible(true); + ExitCutTypeEnum enumValue = ExitCutTypeEnum.fromCode((int)item.getValue()); + field.set(msg, enumValue); + } else { + // 其他类型正常处理 + BeanUtils.setProperty(msg, fieldName, item.getValue()); + } + } catch (Exception e) { + log.error("BeanUtils设置属性失败: {}", fieldName, e); + } + } + }); + } } diff --git a/business/src/main/java/com/fizz/business/comm/OPC/MessageTestSchedule.java b/business/src/main/java/com/fizz/business/comm/OPC/MessageTestSchedule.java index 8199d8d..867ca88 100644 --- a/business/src/main/java/com/fizz/business/comm/OPC/MessageTestSchedule.java +++ b/business/src/main/java/com/fizz/business/comm/OPC/MessageTestSchedule.java @@ -67,7 +67,7 @@ public class MessageTestSchedule extends BaseSchedule { AppMeasureFurnaceMessage furMsg = new AppMeasureFurnaceMessage(); furMsg.setStripLocation(welderLength2); - furMsg.setStripSpeed(BigDecimal.valueOf(rand.nextDouble()*100)); +// furMsg.setStripSpeed(BigDecimal.valueOf(rand.nextDouble()*100)); AppMeasureCoatMessage coatMsg = new AppMeasureCoatMessage(); coatMsg.setStripLocation(welderLength3); diff --git a/business/src/main/java/com/fizz/business/comm/OPC/OpcMessageSend.java b/business/src/main/java/com/fizz/business/comm/OPC/OpcMessageSend.java index e40ce1c..210912a 100644 --- a/business/src/main/java/com/fizz/business/comm/OPC/OpcMessageSend.java +++ b/business/src/main/java/com/fizz/business/comm/OPC/OpcMessageSend.java @@ -28,6 +28,5 @@ public class OpcMessageSend { log.error("发送设定失败:{0}",e.getMessage()); } - } } diff --git a/business/src/main/java/com/fizz/business/domain/msg/AppMeasureCoatMessage.java b/business/src/main/java/com/fizz/business/domain/msg/AppMeasureCoatMessage.java index 4f08fd6..452af2b 100644 --- a/business/src/main/java/com/fizz/business/domain/msg/AppMeasureCoatMessage.java +++ b/business/src/main/java/com/fizz/business/domain/msg/AppMeasureCoatMessage.java @@ -130,4 +130,16 @@ public class AppMeasureCoatMessage extends OpcMessage { @Schema(description = "AFP段钢带温度 (℃)") private Integer stripTempAfp; + + @Schema(description = "BR4BR5张力") + private BigDecimal tensionBr4Br5; + + @Schema(description = "锌锅温度") + private BigDecimal potTemperature; + + @Schema(description = "冷却塔温度") + private BigDecimal coolingTowerTemperature; + + @Schema(description = "锌锅功率") + private BigDecimal potPower; } diff --git a/business/src/main/java/com/fizz/business/domain/msg/AppMeasureFurnaceMessage.java b/business/src/main/java/com/fizz/business/domain/msg/AppMeasureFurnaceMessage.java index f9f96f0..c0630c3 100644 --- a/business/src/main/java/com/fizz/business/domain/msg/AppMeasureFurnaceMessage.java +++ b/business/src/main/java/com/fizz/business/domain/msg/AppMeasureFurnaceMessage.java @@ -13,59 +13,525 @@ import java.math.BigDecimal; public class AppMeasureFurnaceMessage extends OpcMessage { @Schema(description = "系统计数器 (ms)") - private Integer systemCounter; + private BigDecimal systemCounter; - @Schema(description = "入口钢卷标识") + @Schema(description = "Entry coil identification") private String entryCoilId; - @Schema(description = "钢带位置 (m),0 表示头部在参考点 (weld detector 1)") + @Schema(description = "Strip location (0 for strip head at reference point (weld detector 1))") private BigDecimal stripLocation; - @Schema(description = "钢带张力 BR3 (daN)") - private BigDecimal tensionBr3; + @Schema(description = "PH炉温实际值") + private BigDecimal phFurnaceTemperatureActual; - @Schema(description = "钢带张力 N°1 Furnace (daN)") - private BigDecimal tensionFurnace1; + @Schema(description = "NOF1炉温实际值") + private BigDecimal nof1FurnaceTemperatureActual; - @Schema(description = "钢带张力 N°2 Furnace (daN)") - private BigDecimal tensionFurnace2; + @Schema(description = "NOF1炉温设定值") + private BigDecimal nof1FurnaceTemperatureSet; - @Schema(description = "钢带速度 Furnace Entry (m/min)") - private BigDecimal stripSpeed; + @Schema(description = "NOF1炉温控制输出值") + private BigDecimal nof1FurnaceTemperatureControlOutput; - @Schema(description = "Furnace 延伸率 (%)") - private BigDecimal furnaceElongation; + @Schema(description = "NOF1燃气流量实际值") + private BigDecimal nof1GasFlowActual; - @Schema(description = "PHF-出口钢带温度 (℃)") - private BigDecimal phfExitStripTemp; + @Schema(description = "NOF1燃气流量设定值") + private BigDecimal nof1GasFlowSet; - @Schema(description = "RTF-出口钢带温度 (℃)") - private BigDecimal rtfExitStripTemp; + @Schema(description = "NOF1燃气流量控制输出值") + private BigDecimal nof1GasFlowControlOutput; - @Schema(description = "JCS-出口钢带温度 (℃)") - private BigDecimal jcsExitStripTemp; + @Schema(description = "NOF1空气流量实际值") + private BigDecimal nof1AirFlowActual; - @Schema(description = "SCS-出口钢带温度 (℃)") - private BigDecimal scsExitStripTemp; + @Schema(description = "NOF1空气流量设定值") + private BigDecimal nof1AirFlowSet; - @Schema(description = "PHF 露点 (℃)") - private BigDecimal phfDewPoint; + @Schema(description = "NOF1空气流量控制输出值") + private BigDecimal nof1AirFlowControlOutput; - @Schema(description = "RTF 露点 (℃)") - private BigDecimal rtfDewPoint; + @Schema(description = "NOF1空燃比实际值") + private BigDecimal nof1AirFuelRatioActual; - @Schema(description = "天然气耗量 (m3)") - private BigDecimal gasConsumption; + @Schema(description = "NOF1空燃比设定值") + private BigDecimal nof1AirFuelRatioSet; - @Schema(description = "钢带张力 BR4 – BR5 (daN)") - private BigDecimal tensionBr4Br5; + @Schema(description = "NOF2炉温实际值") + private BigDecimal nof2FurnaceTemperatureActual; - @Schema(description = "炉锅温度 (℃)") - private Integer potTemperature; + @Schema(description = "NOF2炉温设定值") + private BigDecimal nof2FurnaceTemperatureSet; - @Schema(description = "冷却塔钢带温度 (℃)") - private Integer coolingTowerStripTemp; + @Schema(description = "NOF2炉温控制输出值") + private BigDecimal nof2FurnaceTemperatureControlOutput; + + @Schema(description = "NOF2燃气流量实际值") + private BigDecimal nof2GasFlowActual; + + @Schema(description = "NOF2燃气流量设定值") + private BigDecimal nof2GasFlowSet; + + @Schema(description = "NOF2燃气流量控制输出值") + private BigDecimal nof2GasFlowControlOutput; + + @Schema(description = "NOF2空气流量实际值") + private BigDecimal nof2AirFlowActual; + + @Schema(description = "NOF2空气流量设定值") + private BigDecimal nof2AirFlowSet; + + @Schema(description = "NOF2空气流量控制输出值") + private BigDecimal nof2AirFlowControlOutput; + + @Schema(description = "NOF2空燃比实际值") + private BigDecimal nof2AirFuelRatioActual; + + @Schema(description = "NOF2空燃比设定值") + private BigDecimal nof2AirFuelRatioSet; + + @Schema(description = "NOF3炉温实际值") + private BigDecimal nof3FurnaceTemperatureActual; + + @Schema(description = "NOF3炉温设定值") + private BigDecimal nof3FurnaceTemperatureSet; + + @Schema(description = "NOF3炉温控制输出值") + private BigDecimal nof3FurnaceTemperatureControlOutput; + + @Schema(description = "NOF3燃气流量实际值") + private BigDecimal nof3GasFlowActual; + + @Schema(description = "NOF3燃气流量设定值") + private BigDecimal nof3GasFlowSet; + + @Schema(description = "NOF3燃气流量控制输出值") + private BigDecimal nof3GasFlowControlOutput; + + @Schema(description = "NOF3空气流量实际值") + private BigDecimal nof3AirFlowActual; + + @Schema(description = "NOF3空气流量设定值") + private BigDecimal nof3AirFlowSet; + + @Schema(description = "NOF3空气流量控制输出值") + private BigDecimal nof3AirFlowControlOutput; + + @Schema(description = "NOF3空燃比实际值") + private BigDecimal nof3AirFuelRatioActual; + + @Schema(description = "NOF3空燃比设定值") + private BigDecimal nof3AirFuelRatioSet; + + @Schema(description = "NOF4炉温实际值") + private BigDecimal nof4FurnaceTemperatureActual; + + @Schema(description = "NOF4炉温设定值") + private BigDecimal nof4FurnaceTemperatureSet; + + @Schema(description = "NOF4炉温控制输出值") + private BigDecimal nof4FurnaceTemperatureControlOutput; + + @Schema(description = "NOF4燃气流量实际值") + private BigDecimal nof4GasFlowActual; + + @Schema(description = "NOF4燃气流量设定值") + private BigDecimal nof4GasFlowSet; + + @Schema(description = "NOF4燃气流量控制输出值") + private BigDecimal nof4GasFlowControlOutput; + + @Schema(description = "NOF4空气流量实际值") + private BigDecimal nof4AirFlowActual; + + @Schema(description = "NOF4空气流量设定值") + private BigDecimal nof4AirFlowSet; + + @Schema(description = "NOF4空气流量控制输出值") + private BigDecimal nof4AirFlowControlOutput; + + @Schema(description = "NOF4空燃比实际值") + private BigDecimal nof4AirFuelRatioActual; + + @Schema(description = "NOF4空燃比设定值") + private BigDecimal nof4AirFuelRatioSet; + + @Schema(description = "NOF5炉温实际值") + private BigDecimal nof5FurnaceTemperatureActual; + + @Schema(description = "NOF5炉温设定值") + private BigDecimal nof5FurnaceTemperatureSet; + + @Schema(description = "NOF5炉温控制输出值") + private BigDecimal nof5FurnaceTemperatureControlOutput; + + @Schema(description = "NOF5燃气流量实际值") + private BigDecimal nof5GasFlowActual; + + @Schema(description = "NOF5燃气流量设定值") + private BigDecimal nof5GasFlowSet; + + @Schema(description = "NOF5燃气流量控制输出值") + private BigDecimal nof5GasFlowControlOutput; + + @Schema(description = "NOF5空气流量实际值") + private BigDecimal nof5AirFlowActual; + + @Schema(description = "NOF5空气流量设定值") + private BigDecimal nof5AirFlowSet; + + @Schema(description = "NOF5空气流量控制输出值") + private BigDecimal nof5AirFlowControlOutput; + + @Schema(description = "NOF5空燃比实际值") + private BigDecimal nof5AirFuelRatioActual; + + @Schema(description = "NOF5空燃比设定值") + private BigDecimal nof5AirFuelRatioSet; + + @Schema(description = "RTF1炉温实际值") + private BigDecimal rtf1FurnaceTemperatureActual; + + @Schema(description = "RTF1炉温设定值") + private BigDecimal rtf1FurnaceTemperatureSet; + + @Schema(description = "RTF1炉温控制输出值") + private BigDecimal rtf1FurnaceTemperatureControlOutput; + + @Schema(description = "RTF1燃气流量实际值") + private BigDecimal rtf1GasFlowActual; + + @Schema(description = "RTF1燃气流量设定值") + private BigDecimal rtf1GasFlowSet; + + @Schema(description = "RTF1燃气流量控制输出值") + private BigDecimal rtf1GasFlowControlOutput; + + @Schema(description = "RTF1空气流量实际值") + private BigDecimal rtf1AirFlowActual; + + @Schema(description = "RTF1空气流量设定值") + private BigDecimal rtf1AirFlowSet; + + @Schema(description = "RTF1空气流量控制输出值") + private BigDecimal rtf1AirFlowControlOutput; + + @Schema(description = "RTF1空燃比实际值") + private BigDecimal rtf1AirFuelRatioActual; + + @Schema(description = "RTF1空燃比设定值") + private BigDecimal rtf1AirFuelRatioSet; + + @Schema(description = "RTF2炉温实际值") + private BigDecimal rtf2FurnaceTemperatureActual; + + @Schema(description = "RTF2炉温设定值") + private BigDecimal rtf2FurnaceTemperatureSet; + + @Schema(description = "RTF2炉温控制输出值") + private BigDecimal rtf2FurnaceTemperatureControlOutput; + + @Schema(description = "RTF2燃气流量实际值") + private BigDecimal rtf2GasFlowActual; + + @Schema(description = "RTF2燃气流量设定值") + private BigDecimal rtf2GasFlowSet; + + @Schema(description = "RTF2燃气流量控制输出值") + private BigDecimal rtf2GasFlowControlOutput; + + @Schema(description = "RTF2空气流量实际值") + private BigDecimal rtf2AirFlowActual; + + @Schema(description = "RTF2空气流量设定值") + private BigDecimal rtf2AirFlowSet; + + @Schema(description = "RTF2空气流量控制输出值") + private BigDecimal rtf2AirFlowControlOutput; + + @Schema(description = "RTF2空燃比实际值") + private BigDecimal rtf2AirFuelRatioActual; + + @Schema(description = "RTF2空燃比设定值") + private BigDecimal rtf2AirFuelRatioSet; + + @Schema(description = "SF炉温实际值") + private BigDecimal sfFurnaceTemperatureActual; + + @Schema(description = "SF炉温设定值") + private BigDecimal sfFurnaceTemperatureSet; + + @Schema(description = "SF炉温控制输出值") + private BigDecimal sfFurnaceTemperatureControlOutput; + + @Schema(description = "SF燃气流量实际值") + private BigDecimal sfGasFlowActual; + + @Schema(description = "SF燃气流量设定值") + private BigDecimal sfGasFlowSet; + + @Schema(description = "SF燃气流量控制输出值") + private BigDecimal sfGasFlowControlOutput; + + @Schema(description = "SF空气流量实际值") + private BigDecimal sfAirFlowActual; + + @Schema(description = "SF空气流量设定值") + private BigDecimal sfAirFlowSet; + + @Schema(description = "SF空气流量控制输出值") + private BigDecimal sfAirFlowControlOutput; + + @Schema(description = "SF空燃比实际值") + private BigDecimal sfAirFuelRatioActual; + + @Schema(description = "SF空燃比设定值") + private BigDecimal sfAirFuelRatioSet; + + @Schema(description = "NOF板温实际值") + private BigDecimal nofPlateTemperatureActual; + + @Schema(description = "RTF板温实际值") + private BigDecimal rtfPlateTemperatureActual; + + @Schema(description = "SF板温实际值") + private BigDecimal sfPlateTemperatureActual; + + @Schema(description = "TDS板温实际值") + private BigDecimal tdsPlateTemperatureActual; + + @Schema(description = "PH炉压实际值") + private BigDecimal phFurnacePressureActual; + + @Schema(description = "PH炉压设定值") + private BigDecimal phFurnacePressureSet; + + @Schema(description = "PH炉压控制输出值") + private BigDecimal phFurnacePressureControlOutput; + + @Schema(description = "NOF炉压实际值") + private BigDecimal nofFurnacePressureActual; + + @Schema(description = "RTF炉压实际值") + private BigDecimal rtfFurnacePressureActual; + + @Schema(description = "TDS炉压实际值") + private BigDecimal tdsFurnacePressureActual; + + @Schema(description = "JCF1炉温实际值") + private BigDecimal jcf1FurnaceTemperatureActual; + + @Schema(description = "JCF1炉温设定值") + private BigDecimal jcf1FurnaceTemperatureSet; + + @Schema(description = "JCF1炉温控制输出值") + private BigDecimal jcf1FurnaceTemperatureControlOutput; + + @Schema(description = "JCF1 A相电流") + private BigDecimal jcf1PhaseACurrent; + + @Schema(description = "JCF1 B相电流") + private BigDecimal jcf1PhaseBCurrent; + + @Schema(description = "JCF1 C相电流") + private BigDecimal jcf1PhaseCCurrent; + + @Schema(description = "JCF2炉温实际值") + private BigDecimal jcf2FurnaceTemperatureActual; + + @Schema(description = "JCF2炉温设定值") + private BigDecimal jcf2FurnaceTemperatureSet; + + @Schema(description = "JCF2炉温控制输出值") + private BigDecimal jcf2FurnaceTemperatureControlOutput; + + @Schema(description = "JCF2 A相电流") + private BigDecimal jcf2PhaseACurrent; + + @Schema(description = "JCF2 B相电流") + private BigDecimal jcf2PhaseBCurrent; + + @Schema(description = "JCF2 C相电流") + private BigDecimal jcf2PhaseCCurrent; + + @Schema(description = "LTH炉温实际值") + private BigDecimal lthFurnaceTemperatureActual; + + @Schema(description = "LTH炉温设定值") + private BigDecimal lthFurnaceTemperatureSet; + + @Schema(description = "LTH炉温控制输出值") + private BigDecimal lthFurnaceTemperatureControlOutput; + + @Schema(description = "LTH A相电流") + private BigDecimal lthPhaseACurrent; + + @Schema(description = "LTH B相电流") + private BigDecimal lthPhaseBCurrent; + + @Schema(description = "LTH C相电流") + private BigDecimal lthPhaseCCurrent; + + @Schema(description = "TDS炉温实际值") + private BigDecimal tdsFurnaceTemperatureActual; + + @Schema(description = "TDS炉温设定值") + private BigDecimal tdsFurnaceTemperatureSet; + + @Schema(description = "TDS炉温控制输出值") + private BigDecimal tdsFurnaceTemperatureControlOutput; + + @Schema(description = "TDS A相电流") + private BigDecimal tdsPhaseACurrent; + + @Schema(description = "TDS B相电流") + private BigDecimal tdsPhaseBCurrent; + + @Schema(description = "TDS C相电流") + private BigDecimal tdsPhaseCCurrent; + + @Schema(description = "LBZ炉温实际值") + private BigDecimal lbzFurnaceTemperatureActual; + + @Schema(description = "LBZ炉温设定值") + private BigDecimal lbzFurnaceTemperatureSet; + + @Schema(description = "LBZ炉温控制输出值") + private BigDecimal lbzFurnaceTemperatureControlOutput; + + @Schema(description = "LBZ A相电流") + private BigDecimal lbzPhaseACurrent; + + @Schema(description = "LBZ B相电流") + private BigDecimal lbzPhaseBCurrent; + + @Schema(description = "LBZ C相电流") + private BigDecimal lbzPhaseCCurrent; + + @Schema(description = "JCF风机1实际速度") + private BigDecimal jcfFan1ActualSpeed; + + @Schema(description = "JCF风机1设定速度") + private BigDecimal jcfFan1SetSpeed; + + @Schema(description = "JCF风机2实际速度") + private BigDecimal jcfFan2ActualSpeed; + + @Schema(description = "JCF风机2设定速度") + private BigDecimal jcfFan2SetSpeed; + + @Schema(description = "JCF风机3实际速度") + private BigDecimal jcfFan3ActualSpeed; + + @Schema(description = "JCF风机3设定速度") + private BigDecimal jcfFan3SetSpeed; + + @Schema(description = "JCF风机4实际速度") + private BigDecimal jcfFan4ActualSpeed; + + @Schema(description = "JCF风机4设定速度") + private BigDecimal jcfFan4SetSpeed; + + @Schema(description = "JCF风机5实际速度") + private BigDecimal jcfFan5ActualSpeed; + + @Schema(description = "JCF风机5设定速度") + private BigDecimal jcfFan5SetSpeed; + + @Schema(description = "JCF风机6实际速度") + private BigDecimal jcfFan6ActualSpeed; + + @Schema(description = "JCF风机6设定速度") + private BigDecimal jcfFan6SetSpeed; + + @Schema(description = "JCF风机7实际速度") + private BigDecimal jcfFan7ActualSpeed; + + @Schema(description = "JCF风机7设定速度") + private BigDecimal jcfFan7SetSpeed; + + @Schema(description = "NOF空气换热前烟气温度") + private BigDecimal nofAirPreheatFlueGasTemperature; + + @Schema(description = "NOF空气换热后烟气温度") + private BigDecimal nofAirPostheatFlueGasTemperature; + + @Schema(description = "NOF水换热后烟气温度") + private BigDecimal nofWaterPostheatFlueGasTemperature; + + @Schema(description = "NOF排烟风机前烟气温度") + private BigDecimal nofExhaustFanInletFlueGasTemperature; + + @Schema(description = "NOF助燃空气温度") + private BigDecimal nofCombustionAirTemperature; + + @Schema(description = "RTF热风换热前烟气温度") + private BigDecimal rtfAirPreheatFlueGasTemperature; + + @Schema(description = "RTF排烟风机前烟气温度") + private BigDecimal rtfExhaustFanInletFlueGasTemperature; + + @Schema(description = "NOF燃气压力") + private BigDecimal nofGasPressure; + + @Schema(description = "点火燃气压力") + private BigDecimal ignitionGasPressure; + + @Schema(description = "点火空气压力") + private BigDecimal ignitionAirPressure; + + @Schema(description = "RTF燃气压力") + private BigDecimal rtfGasPressure; + + @Schema(description = "NOF空气压力实际值") + private BigDecimal nofAirPressureActual; + + @Schema(description = "NOF空气压力设定值") + private BigDecimal nofAirPressureSet; + + @Schema(description = "NOF空气压力控制输出值") + private BigDecimal nofAirPressureControlOutput; + + @Schema(description = "NOF烟气压力实际值") + private BigDecimal nofFlueGasPressureActual; + + @Schema(description = "NOF烟气压力设定值") + private BigDecimal nofFlueGasPressureSet; + + @Schema(description = "NOF烟气压力控制输出值") + private BigDecimal nofFlueGasPressureControlOutput; + + @Schema(description = "RTF空气压力实际值") + private BigDecimal rtfAirPressureActual; + + @Schema(description = "RTF空气压力设定值") + private BigDecimal rtfAirPressureSet; + + @Schema(description = "RTF空气压力控制输出值") + private BigDecimal rtfAirPressureControlOutput; + + @Schema(description = "RTF烟气压力实际值") + private BigDecimal rtfFlueGasPressureActual; + + @Schema(description = "RTF烟气压力设定值") + private BigDecimal rtfFlueGasPressureSet; + + @Schema(description = "RTF烟气压力控制输出值") + private BigDecimal rtfFlueGasPressureControlOutput; + + @Schema(description = "炉气氛微氧含量") + private BigDecimal furnaceAtmosphereOxygenContent; + + @Schema(description = "炉气氛氢含量") + private BigDecimal furnaceAtmosphereHydrogenContent; + + @Schema(description = "炉气氛露点温度") + private BigDecimal furnaceAtmosphereDewPoint; + + @Schema(description = "燃气瞬时流量") + private BigDecimal gasInstantaneousFlow; + + @Schema(description = "燃气瞬时耗量") + private BigDecimal gasInstantaneousConsumption; - @Schema(description = "锌锅功率 (kW)") - private BigDecimal zincPotPower; } \ No newline at end of file diff --git a/business/src/main/java/com/fizz/business/service/manager/OpcMessageIdsManager.java b/business/src/main/java/com/fizz/business/service/manager/OpcMessageIdsManager.java index 1a62670..9fb2e38 100644 --- a/business/src/main/java/com/fizz/business/service/manager/OpcMessageIdsManager.java +++ b/business/src/main/java/com/fizz/business/service/manager/OpcMessageIdsManager.java @@ -3,9 +3,11 @@ package com.fizz.business.service.manager; import com.fizz.business.constants.enums.OpcMessageType; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import io.swagger.v3.oas.annotations.media.Schema; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; +import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -15,6 +17,13 @@ public class OpcMessageIdsManager { public static List msgTriggers = Lists.newArrayList(); public static Map lineMeasureIds = Maps.newHashMap(); + + public static Map entryLineMeasureIds = Maps.newHashMap(); + public static Map procLineMeasureIds = Maps.newHashMap(); + public static Map furLineMeasureIds = Maps.newHashMap(); + + public static Map exitLineMeasureIds = Maps.newHashMap(); + public static Map entryMoveIds = Maps.newHashMap(); public static Map exitCutIds = Maps.newHashMap(); public static Map exitMoveIds = Maps.newHashMap(); @@ -32,6 +41,10 @@ public class OpcMessageIdsManager { loadExitMeasureIds(); loadMsgTriggers(); + loadEntryLineMeasureIds(); + loadProcLineMeasureIds(); + loadFurLineMeasureIds(); + loadExitLineMeasureIds(); } @@ -61,6 +74,261 @@ public class OpcMessageIdsManager { exitMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitMeasure.weight","weight"); } + public static void loadEntryLineMeasureIds(){ + + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.coilID","entryCoilId"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.stripLocation","stripLocation"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.PORFlag","payOffReelNumber"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.PORTension","tensionPorBr1"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.BR1Tension","tensionBr1Br2"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.BR2Tension","tensionBr2Br3"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.StripSpeed","stripSpeed"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.celLength","celLength"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.celPercent","celCapacity"); +// entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.weight","tensionCel"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.cleaningVoltage","cleaningVoltage"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.cleaningCurrent","cleaningCurrent"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.alkaliConcentration","alkaliConcentration"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.alkaliTemperature","alkaliTemperature"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.rinseConductivity","rinseConductivity"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.rinseTemperature","rinseTemperature"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.dryingTemperature","dryingTemperature"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.hotAirFlow","hotAirFlow"); + entryLineMeasureIds.put("ns=2;s=通道 1.PLCLine.EntryLineMeasure.hotAirPressure","hotAirPressure"); + } + + public static void loadProcLineMeasureIds(){ + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.stripLocation", "stripLocation"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.measurementCount", "measurementCount"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.avrCoatingWeightTop", "avrCoatingWeightTop"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.stdCoatingWeightTop", "stdCoatingWeightTop"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.maxCoatingWeightTop", "maxCoatingWeightTop"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.minCoatingWeightTop", "minCoatingWeightTop"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.avrCoatingWeightBottom", "avrCoatingWeightBottom"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.stdCoatingWeightBottom", "stdCoatingWeightBottom"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.maxCoatingWeightBottom", "maxCoatingWeightBottom"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.minCoatingWeightBottom", "minCoatingWeightBottom"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.airKnifePressure", "airKnifePressure"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.airKnifeFlow", "airKnifeFlow"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.airKnifeGap", "airKnifeGap"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.stripSpeedTmExit", "stripSpeedTmExit"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.tensionBr5Tm", "tensionBr5Tm"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.tensionTmBr6", "tensionTmBr6"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.tensionBr5Br6", "tensionBr5Br6"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.tmMask", "tmMask"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.tmElongation", "tmElongation"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.rollForceOperator", "rollForceOperator"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.rollForceDrive", "rollForceDrive"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.motorTorque", "motorTorque"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.bendingForce", "bendingForce"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.antiCrimpingRollMesh", "antiCrimpingRollMesh"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.billyRollMesh", "billyRollMesh"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.tensionTlBr7", "tensionTlBr7"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.tensionBr6Br7", "tensionBr6Br7"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.tlFlag", "tlFlag"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.tlElongation", "tlElongation"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.levelingUnit1Mesh", "levelingUnit1Mesh"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.levelingUnit2Mesh", "levelingUnit2Mesh"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.antiCrossBowUnitMesh", "antiCrossBowUnitMesh"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.tensionBr7Br8", "tensionBr7Br8"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.stripSpeedAfp", "stripSpeedAfp"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.coatingFlag", "coatingFlag"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.stripTempAfp", "stripTempAfp"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.tensionBr4Br5", "tensionBr4Br5"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.potTemperature", "potTemperature"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.coolingTowerTemperature", "coolingTowerTemperature"); + procLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ProcLineMeasure.potPower", "potPower"); + } + + public static void loadFurLineMeasureIds() { + furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.entryCoilId", "entryCoilId"); + furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.stripLocation", "stripLocation"); + furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.phFurnaceTemperatureActual", "phFurnaceTemperatureActual"); + furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof1FurnaceTemperatureActual", "nof1FurnaceTemperatureActual"); + furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof1FurnaceTemperatureSet", "nof1FurnaceTemperatureSet"); + furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof1FurnaceTemperatureControlOutput", "nof1FurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof1GasFlowActual", "nof1GasFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof1GasFlowSet", "nof1GasFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof1GasFlowControlOutput", "nof1GasFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof1AirFlowActual", "nof1AirFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof1AirFlowSet", "nof1AirFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof1AirFlowControlOutput", "nof1AirFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof1AirFuelRatioActual", "nof1AirFuelRatioActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof1AirFuelRatioSet", "nof1AirFuelRatioSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof2FurnaceTemperatureActual", "nof2FurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof2FurnaceTemperatureSet", "nof2FurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof2FurnaceTemperatureControlOutput", "nof2FurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof2GasFlowActual", "nof2GasFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof2GasFlowSet", "nof2GasFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof2GasFlowControlOutput", "nof2GasFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof2AirFlowActual", "nof2AirFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof2AirFlowSet", "nof2AirFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof2AirFlowControlOutput", "nof2AirFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof2AirFuelRatioActual", "nof2AirFuelRatioActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof2AirFuelRatioSet", "nof2AirFuelRatioSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof3FurnaceTemperatureActual", "nof3FurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof3FurnaceTemperatureSet", "nof3FurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof3FurnaceTemperatureControlOutput", "nof3FurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof3GasFlowActual", "nof3GasFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof3GasFlowSet", "nof3GasFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof3GasFlowControlOutput", "nof3GasFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof3AirFlowActual", "nof3AirFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof3AirFlowSet", "nof3AirFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof3AirFlowControlOutput", "nof3AirFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof3AirFuelRatioActual", "nof3AirFuelRatioActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof3AirFuelRatioSet", "nof3AirFuelRatioSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof4FurnaceTemperatureActual", "nof4FurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof4FurnaceTemperatureSet", "nof4FurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof4FurnaceTemperatureControlOutput", "nof4FurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof4GasFlowActual", "nof4GasFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof4GasFlowSet", "nof4GasFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof4GasFlowControlOutput", "nof4GasFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof4AirFlowActual", "nof4AirFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof4AirFlowSet", "nof4AirFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof4AirFlowControlOutput", "nof4AirFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof4AirFuelRatioActual", "nof4AirFuelRatioActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof4AirFuelRatioSet", "nof4AirFuelRatioSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof5FurnaceTemperatureActual", "nof5FurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof5FurnaceTemperatureSet", "nof5FurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof5FurnaceTemperatureControlOutput", "nof5FurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof5GasFlowActual", "nof5GasFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof5GasFlowSet", "nof5GasFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof5GasFlowControlOutput", "nof5GasFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof5AirFlowActual", "nof5AirFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof5AirFlowSet", "nof5AirFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof5AirFlowControlOutput", "nof5AirFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof5AirFuelRatioActual", "nof5AirFuelRatioActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nof5AirFuelRatioSet", "nof5AirFuelRatioSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf1FurnaceTemperatureActual", "rtf1FurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf1FurnaceTemperatureSet", "rtf1FurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf1FurnaceTemperatureControlOutput", "rtf1FurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf1GasFlowActual", "rtf1GasFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf1GasFlowSet", "rtf1GasFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf1GasFlowControlOutput", "rtf1GasFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf1AirFlowActual", "rtf1AirFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf1AirFlowSet", "rtf1AirFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf1AirFlowControlOutput", "rtf1AirFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf1AirFuelRatioActual", "rtf1AirFuelRatioActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf1AirFuelRatioSet", "rtf1AirFuelRatioSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf2FurnaceTemperatureActual", "rtf2FurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf2FurnaceTemperatureSet", "rtf2FurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf2FurnaceTemperatureControlOutput", "rtf2FurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf2GasFlowActual", "rtf2GasFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf2GasFlowSet", "rtf2GasFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf2GasFlowControlOutput", "rtf2GasFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf2AirFlowActual", "rtf2AirFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf2AirFlowSet", "rtf2AirFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf2AirFlowControlOutput", "rtf2AirFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf2AirFuelRatioActual", "rtf2AirFuelRatioActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtf2AirFuelRatioSet", "rtf2AirFuelRatioSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfFurnaceTemperatureActual", "sfFurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfFurnaceTemperatureSet", "sfFurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfFurnaceTemperatureControlOutput", "sfFurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfGasFlowActual", "sfGasFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfGasFlowSet", "sfGasFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfGasFlowControlOutput", "sfGasFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfAirFlowActual", "sfAirFlowActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfAirFlowSet", "sfAirFlowSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfAirFlowControlOutput", "sfAirFlowControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfAirFuelRatioActual", "sfAirFuelRatioActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfAirFuelRatioSet", "sfAirFuelRatioSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofPlateTemperatureActual", "nofPlateTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtfPlateTemperatureActual", "rtfPlateTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.sfPlateTemperatureActual", "sfPlateTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.tdsPlateTemperatureActual", "tdsPlateTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.phFurnacePressureActual", "phFurnacePressureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.phFurnacePressureSet", "phFurnacePressureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.phFurnacePressureControlOutput", "phFurnacePressureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofFurnacePressureActual", "nofFurnacePressureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtfFurnacePressureActual", "rtfFurnacePressureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.tdsFurnacePressureActual", "tdsFurnacePressureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf1FurnaceTemperatureActual", "jcf1FurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf1FurnaceTemperatureSet", "jcf1FurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf1FurnaceTemperatureControlOutput", "jcf1FurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf1PhaseACurrent", "jcf1PhaseACurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf1PhaseBCurrent", "jcf1PhaseBCurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf1PhaseCCurrent", "jcf1PhaseCCurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf2FurnaceTemperatureActual", "jcf2FurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf2FurnaceTemperatureSet", "jcf2FurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf2FurnaceTemperatureControlOutput", "jcf2FurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf2PhaseACurrent", "jcf2PhaseACurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf2PhaseBCurrent", "jcf2PhaseBCurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcf2PhaseCCurrent", "jcf2PhaseCCurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lthFurnaceTemperatureActual", "lthFurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lthFurnaceTemperatureSet", "lthFurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lthFurnaceTemperatureControlOutput", "lthFurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lthPhaseACurrent", "lthPhaseACurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lthPhaseBCurrent", "lthPhaseBCurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lthPhaseCCurrent", "lthPhaseCCurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.tdsFurnaceTemperatureActual", "tdsFurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.tdsFurnaceTemperatureSet", "tdsFurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.tdsFurnaceTemperatureControlOutput", "tdsFurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.tdsPhaseACurrent", "tdsPhaseACurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.tdsPhaseBCurrent", "tdsPhaseBCurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.tdsPhaseCCurrent", "tdsPhaseCCurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lbzFurnaceTemperatureActual", "lbzFurnaceTemperatureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lbzFurnaceTemperatureSet", "lbzFurnaceTemperatureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lbzFurnaceTemperatureControlOutput", "lbzFurnaceTemperatureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lbzPhaseACurrent", "lbzPhaseACurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lbzPhaseBCurrent", "lbzPhaseBCurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.lbzPhaseCCurrent", "lbzPhaseCCurrent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan1ActualSpeed", "jcfFan1ActualSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan1SetSpeed", "jcfFan1SetSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan2ActualSpeed", "jcfFan2ActualSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan2SetSpeed", "jcfFan2SetSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan3ActualSpeed", "jcfFan3ActualSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan3SetSpeed", "jcfFan3SetSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan4ActualSpeed", "jcfFan4ActualSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan4SetSpeed", "jcfFan4SetSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan5ActualSpeed", "jcfFan5ActualSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan5SetSpeed", "jcfFan5SetSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan6ActualSpeed", "jcfFan6ActualSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan6SetSpeed", "jcfFan6SetSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan7ActualSpeed", "jcfFan7ActualSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.jcfFan7SetSpeed", "jcfFan7SetSpeed"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofAirPreheatFlueGasTemperature", "nofAirPreheatFlueGasTemperature"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofAirPostheatFlueGasTemperature", "nofAirPostheatFlueGasTemperature"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofWaterPostheatFlueGasTemperature", "nofWaterPostheatFlueGasTemperature"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofExhaustFanInletFlueGasTemperature", "nofExhaustFanInletFlueGasTemperature"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofCombustionAirTemperature", "nofCombustionAirTemperature"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtfAirPreheatFlueGasTemperature", "rtfAirPreheatFlueGasTemperature"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtfExhaustFanInletFlueGasTemperature", "rtfExhaustFanInletFlueGasTemperature"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofGasPressure", "nofGasPressure"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.ignitionGasPressure", "ignitionGasPressure"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.ignitionAirPressure", "ignitionAirPressure"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtfGasPressure", "rtfGasPressure"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofAirPressureActual", "nofAirPressureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofAirPressureSet", "nofAirPressureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofAirPressureControlOutput", "nofAirPressureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofFlueGasPressureActual", "nofFlueGasPressureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofFlueGasPressureSet", "nofFlueGasPressureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.nofFlueGasPressureControlOutput", "nofFlueGasPressureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtfAirPressureActual", "rtfAirPressureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtfAirPressureSet", "rtfAirPressureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtfAirPressureControlOutput", "rtfAirPressureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtfFlueGasPressureActual", "rtfFlueGasPressureActual"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtfFlueGasPressureSet", "rtfFlueGasPressureSet"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.rtfFlueGasPressureControlOutput", "rtfFlueGasPressureControlOutput"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.furnaceAtmosphereOxygenContent", "furnaceAtmosphereOxygenContent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.furnaceAtmosphereHydrogenContent", "furnaceAtmosphereHydrogenContent"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.furnaceAtmosphereDewPoint", "furnaceAtmosphereDewPoint"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.gasInstantaneousFlow", "gasInstantaneousFlow"); +// furLineMeasureIds.put("ns=2;s=通道 1.PLCLine.FurLineMeasure.gasInstantaneousConsumption", "gasInstantaneousConsumption"); + } + public static void loadExitLineMeasureIds() { + exitLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitLineMeasure.stripLocation", "stripLocation"); + exitLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitLineMeasure.tensionBr8Br9", "tensionBr8Br9"); + exitLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitLineMeasure.cxlLength", "cxlLength"); + exitLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitLineMeasure.cxlCapacity", "cxlCapacity"); + exitLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitLineMeasure.tensionCxl", "tensionCxl"); + exitLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitLineMeasure.oilingFlag", "oilingFlag"); + exitLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitLineMeasure.oilingAmountTop", "oilingAmountTop"); + exitLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitLineMeasure.oilingAmountBottom", "oilingAmountBottom"); + exitLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitLineMeasure.tensionBr9Tr", "tensionBr9Tr"); + exitLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitLineMeasure.speedExitSection", "speedExitSection"); + exitLineMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitLineMeasure.coilLength", "coilLength"); + } + public static void loadMsgTriggers(){ msgTriggers.add(DEVICE_NAME+entryMoveIds.get("trigger")); diff --git a/business/src/main/java/com/fizz/business/service/strip/SegmentTrackerService.java b/business/src/main/java/com/fizz/business/service/strip/SegmentTrackerService.java index e40ceeb..8eba334 100644 --- a/business/src/main/java/com/fizz/business/service/strip/SegmentTrackerService.java +++ b/business/src/main/java/com/fizz/business/service/strip/SegmentTrackerService.java @@ -138,7 +138,7 @@ public class SegmentTrackerService { if (segment.getHeadPos().compareTo(BigDecimal.valueOf(currentDevicePos)) > 0 && segment.getTailPos().compareTo(BigDecimal.valueOf(currentDevicePos)) < 0) { - double currentSpeed = getSpeedForDevice(device, entry, furnace, exit); + double currentSpeed = getSpeedForDevice(device, entry, coat, exit); if (currentSpeed > LOWSPEEDLIMIT) { for (String fieldName : device.getParamFields()) { Object message = getMessageForDevice(device, entry, furnace, coat, exit); @@ -221,11 +221,11 @@ public class SegmentTrackerService { } } - private double getSpeedForDevice(DeviceEnum device, AppMeasureEntryMessage entry, AppMeasureFurnaceMessage furnace, AppMeasureExitMessage exit) { + private double getSpeedForDevice(DeviceEnum device, AppMeasureEntryMessage entry, AppMeasureCoatMessage coat, AppMeasureExitMessage exit) { if (device.getDesc().contains("开卷机") || device.getDesc().contains("活套") || device.getDesc().contains("焊机")) { return entry != null && entry.getStripSpeed() != null ? entry.getStripSpeed().doubleValue() : 0.0; } else if (device.getDesc().contains("清洗段") || device.getDesc().contains("退火炉")) { - return furnace != null && furnace.getStripSpeed() != null ? furnace.getStripSpeed().doubleValue() : 0.0; + return coat != null && coat.getStripSpeedTmExit() != null ? coat.getStripSpeedTmExit().doubleValue() : 0.0; } else { return exit != null && exit.getSpeedExitSection() != null ? exit.getSpeedExitSection().doubleValue() : 0.0; } @@ -233,7 +233,7 @@ public class SegmentTrackerService { private double procStripSpeed(AppMeasureEntryMessage entry, AppMeasureFurnaceMessage furnace, AppMeasureExitMessage exit) { if (entry != null && entry.getStripSpeed() != null) return entry.getStripSpeed().doubleValue(); - if (furnace != null && furnace.getStripSpeed() != null) return furnace.getStripSpeed().doubleValue(); +// if (furnace != null && furnace.getStripSpeed() != null) return furnace.getStripSpeed().doubleValue(); if (exit != null && exit.getSpeedExitSection() != null) return exit.getSpeedExitSection().doubleValue(); return 0.0; }