feat():补充炉区电文

This commit is contained in:
Penknife
2025-09-16 11:05:20 +08:00
parent 1cbd2ac496
commit 4de2a07903
7 changed files with 848 additions and 46 deletions

View File

@@ -1,14 +1,26 @@
package com.fizz.business.comm.OPC; 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.scheduled.BaseSchedule;
import com.fizz.business.service.hanle.OpcReceiverHandler;
import com.kangaroohy.milo.model.ReadWriteEntity; import com.kangaroohy.milo.model.ReadWriteEntity;
import com.kangaroohy.milo.service.MiloService; import com.kangaroohy.milo.service.MiloService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import javax.annotation.Resource; 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 @Slf4j
//@Component //@Component
@AllArgsConstructor @AllArgsConstructor
@@ -16,14 +28,59 @@ public class MessageReceiveSchedule extends BaseSchedule {
@Resource @Resource
MiloService miloService; MiloService miloService;
// @Scheduled(fixedDelay = 200)
@Resource
private OpcReceiverHandler opcReceiverHandler;
// @Scheduled(fixedDelay = 1000)
public void L1L2LineMeasure() { public void L1L2LineMeasure() {
try { try {
ReadWriteEntity node = miloService.readFromOpcUa("ns=2;s=通道 2.LockStautsRead.lockStauts1");
log.debug(node.toString()); AppMeasureEntryMessage entry = new AppMeasureEntryMessage();
node.getValue(); 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) { } catch (Exception e) {
throw new RuntimeException(e); // throw new RuntimeException(e);
} }
} }
private void writeMessage(OpcMessage msg, Map<String,String> msgIds) throws Exception {
List<String> ids = new ArrayList<>(msgIds.keySet());
ids.remove("trigger");
List<ReadWriteEntity> 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);
}
}
});
}
} }

View File

@@ -67,7 +67,7 @@ public class MessageTestSchedule extends BaseSchedule {
AppMeasureFurnaceMessage furMsg = new AppMeasureFurnaceMessage(); AppMeasureFurnaceMessage furMsg = new AppMeasureFurnaceMessage();
furMsg.setStripLocation(welderLength2); furMsg.setStripLocation(welderLength2);
furMsg.setStripSpeed(BigDecimal.valueOf(rand.nextDouble()*100)); // furMsg.setStripSpeed(BigDecimal.valueOf(rand.nextDouble()*100));
AppMeasureCoatMessage coatMsg = new AppMeasureCoatMessage(); AppMeasureCoatMessage coatMsg = new AppMeasureCoatMessage();
coatMsg.setStripLocation(welderLength3); coatMsg.setStripLocation(welderLength3);

View File

@@ -28,6 +28,5 @@ public class OpcMessageSend {
log.error("发送设定失败:{0}",e.getMessage()); log.error("发送设定失败:{0}",e.getMessage());
} }
} }
} }

View File

@@ -130,4 +130,16 @@ public class AppMeasureCoatMessage extends OpcMessage {
@Schema(description = "AFP段钢带温度 (℃)") @Schema(description = "AFP段钢带温度 (℃)")
private Integer stripTempAfp; private Integer stripTempAfp;
@Schema(description = "BR4BR5张力")
private BigDecimal tensionBr4Br5;
@Schema(description = "锌锅温度")
private BigDecimal potTemperature;
@Schema(description = "冷却塔温度")
private BigDecimal coolingTowerTemperature;
@Schema(description = "锌锅功率")
private BigDecimal potPower;
} }

View File

@@ -13,59 +13,525 @@ import java.math.BigDecimal;
public class AppMeasureFurnaceMessage extends OpcMessage { public class AppMeasureFurnaceMessage extends OpcMessage {
@Schema(description = "系统计数器 (ms)") @Schema(description = "系统计数器 (ms)")
private Integer systemCounter; private BigDecimal systemCounter;
@Schema(description = "入口钢卷标识") @Schema(description = "Entry coil identification")
private String entryCoilId; 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; private BigDecimal stripLocation;
@Schema(description = "钢带张力 BR3 (daN)") @Schema(description = "PH炉温实际值")
private BigDecimal tensionBr3; private BigDecimal phFurnaceTemperatureActual;
@Schema(description = "钢带张力 N°1 Furnace (daN)") @Schema(description = "NOF1炉温实际值")
private BigDecimal tensionFurnace1; private BigDecimal nof1FurnaceTemperatureActual;
@Schema(description = "钢带张力 N°2 Furnace (daN)") @Schema(description = "NOF1炉温设定值")
private BigDecimal tensionFurnace2; private BigDecimal nof1FurnaceTemperatureSet;
@Schema(description = "钢带速度 Furnace Entry (m/min)") @Schema(description = "NOF1炉温控制输出值")
private BigDecimal stripSpeed; private BigDecimal nof1FurnaceTemperatureControlOutput;
@Schema(description = "Furnace 延伸率 (%)") @Schema(description = "NOF1燃气流量实际值")
private BigDecimal furnaceElongation; private BigDecimal nof1GasFlowActual;
@Schema(description = "PHF-出口钢带温度 (℃)") @Schema(description = "NOF1燃气流量设定值")
private BigDecimal phfExitStripTemp; private BigDecimal nof1GasFlowSet;
@Schema(description = "RTF-出口钢带温度 (℃)") @Schema(description = "NOF1燃气流量控制输出值")
private BigDecimal rtfExitStripTemp; private BigDecimal nof1GasFlowControlOutput;
@Schema(description = "JCS-出口钢带温度 (℃)") @Schema(description = "NOF1空气流量实际值")
private BigDecimal jcsExitStripTemp; private BigDecimal nof1AirFlowActual;
@Schema(description = "SCS-出口钢带温度 (℃)") @Schema(description = "NOF1空气流量设定值")
private BigDecimal scsExitStripTemp; private BigDecimal nof1AirFlowSet;
@Schema(description = "PHF 露点 (℃)") @Schema(description = "NOF1空气流量控制输出值")
private BigDecimal phfDewPoint; private BigDecimal nof1AirFlowControlOutput;
@Schema(description = "RTF 露点 (℃)") @Schema(description = "NOF1空燃比实际值")
private BigDecimal rtfDewPoint; private BigDecimal nof1AirFuelRatioActual;
@Schema(description = "天然气耗量 (m3)") @Schema(description = "NOF1空燃比设定值")
private BigDecimal gasConsumption; private BigDecimal nof1AirFuelRatioSet;
@Schema(description = "钢带张力 BR4 BR5 (daN)") @Schema(description = "NOF2炉温实际值")
private BigDecimal tensionBr4Br5; private BigDecimal nof2FurnaceTemperatureActual;
@Schema(description = "炉锅温度 (℃)") @Schema(description = "NOF2炉温设定值")
private Integer potTemperature; private BigDecimal nof2FurnaceTemperatureSet;
@Schema(description = "冷却塔钢带温度 (℃)") @Schema(description = "NOF2炉温控制输出值")
private Integer coolingTowerStripTemp; 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;
} }

View File

@@ -3,9 +3,11 @@ package com.fizz.business.service.manager;
import com.fizz.business.constants.enums.OpcMessageType; import com.fizz.business.constants.enums.OpcMessageType;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -15,6 +17,13 @@ public class OpcMessageIdsManager {
public static List<String> msgTriggers = Lists.newArrayList(); public static List<String> msgTriggers = Lists.newArrayList();
public static Map<String,String> lineMeasureIds = Maps.newHashMap(); public static Map<String,String> lineMeasureIds = Maps.newHashMap();
public static Map<String,String> entryLineMeasureIds = Maps.newHashMap();
public static Map<String,String> procLineMeasureIds = Maps.newHashMap();
public static Map<String,String> furLineMeasureIds = Maps.newHashMap();
public static Map<String,String> exitLineMeasureIds = Maps.newHashMap();
public static Map<String,String> entryMoveIds = Maps.newHashMap(); public static Map<String,String> entryMoveIds = Maps.newHashMap();
public static Map<String,String> exitCutIds = Maps.newHashMap(); public static Map<String,String> exitCutIds = Maps.newHashMap();
public static Map<String,String> exitMoveIds = Maps.newHashMap(); public static Map<String,String> exitMoveIds = Maps.newHashMap();
@@ -32,6 +41,10 @@ public class OpcMessageIdsManager {
loadExitMeasureIds(); loadExitMeasureIds();
loadMsgTriggers(); loadMsgTriggers();
loadEntryLineMeasureIds();
loadProcLineMeasureIds();
loadFurLineMeasureIds();
loadExitLineMeasureIds();
} }
@@ -61,6 +74,261 @@ public class OpcMessageIdsManager {
exitMeasureIds.put("ns=2;s=通道 1.PLCLine.ExitMeasure.weight","weight"); 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(){ public static void loadMsgTriggers(){
msgTriggers.add(DEVICE_NAME+entryMoveIds.get("trigger")); msgTriggers.add(DEVICE_NAME+entryMoveIds.get("trigger"));

View File

@@ -138,7 +138,7 @@ public class SegmentTrackerService {
if (segment.getHeadPos().compareTo(BigDecimal.valueOf(currentDevicePos)) > 0 && if (segment.getHeadPos().compareTo(BigDecimal.valueOf(currentDevicePos)) > 0 &&
segment.getTailPos().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) { if (currentSpeed > LOWSPEEDLIMIT) {
for (String fieldName : device.getParamFields()) { for (String fieldName : device.getParamFields()) {
Object message = getMessageForDevice(device, entry, furnace, coat, exit); 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("焊机")) { if (device.getDesc().contains("开卷机") || device.getDesc().contains("活套") || device.getDesc().contains("焊机")) {
return entry != null && entry.getStripSpeed() != null ? entry.getStripSpeed().doubleValue() : 0.0; return entry != null && entry.getStripSpeed() != null ? entry.getStripSpeed().doubleValue() : 0.0;
} else if (device.getDesc().contains("清洗段") || device.getDesc().contains("退火炉")) { } 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 { } else {
return exit != null && exit.getSpeedExitSection() != null ? exit.getSpeedExitSection().doubleValue() : 0.0; 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) { private double procStripSpeed(AppMeasureEntryMessage entry, AppMeasureFurnaceMessage furnace, AppMeasureExitMessage exit) {
if (entry != null && entry.getStripSpeed() != null) return entry.getStripSpeed().doubleValue(); 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(); if (exit != null && exit.getSpeedExitSection() != null) return exit.getSpeedExitSection().doubleValue();
return 0.0; return 0.0;
} }