@@ -41,7 +41,7 @@
带钢速度
- {{ getRealtimeValueBySource('ENTRY', 'stripSpeed') }}
+ {{ getRealtimeValueBySource('Entry', 'stripSpeed') }}
m/min
@@ -55,7 +55,7 @@
{{ it.label || getFieldLabel(it.field) }}
- {{ getRealtimeValueBySource('ENTRY', it.field) }}
+ {{ getRealtimeValueBySource('Entry', it.field) }}
{{ it.unit || getFieldUnit(it.field) }}
@@ -67,10 +67,10 @@
{{ it.label || getFieldLabel(it.actualField) }}
- {{ getRealtimeValueBySource('FURNACE', it.actualField) }}
+ {{ getRealtimeValueBySource('Furnace', it.actualField) }}
{{ it.unit || getFieldUnit(it.actualField) }}
- 设定: {{ getRealtimeValueBySource('FURNACE', it.setField) }}
+ 设定: {{ getRealtimeValueBySource('Furnace', it.setField) }}
@@ -81,7 +81,7 @@
{{ it.label || getFieldLabel(it.field) }}
- {{ getRealtimeValueBySource('COAT', it.field) }}
+ {{ getRealtimeValueBySource('Coat', it.field) }}
{{ it.unit || getFieldUnit(it.field) }}
@@ -93,7 +93,7 @@
{{ it.label || getFieldLabel(it.field) }}
- {{ getRealtimeValueBySource('EXIT', it.field) }}
+ {{ getRealtimeValueBySource('Exit', it.field) }}
{{ it.unit || getFieldUnit(it.field) }}
@@ -138,28 +138,60 @@ export default {
},
latestMeasure: null, // 最新测量数据
socketDataAppended: false, // socket数据是否已追加
- stripLocationProgress: 0, // 带钢位置进度百分比
// 各段指标配置
entryMetrics: [
+ { field: 'stripLocation', label: '带钢位置', unit: 'm' },
{ field: 'stripSpeed', label: '带钢速度', unit: 'm/min' },
{ field: 'tensionPorBr1', label: '张力POR-BR1', unit: 'kN' },
{ field: 'tensionBr1Br2', label: '张力BR1-BR2', unit: 'kN' },
- { field: 'tensionBr2Br3', label: '张力BR2-BR3', unit: 'kN' }
+ { field: 'tensionBr2Br3', label: '张力BR2-BR3', unit: 'kN' },
+
],
furnaceMetrics: [
- { actualField: 'jcf1FurnaceTemperatureActual', setField: 'jcf1FurnaceTemperatureSet', label: 'JCF1温度', unit: '℃' },
- { actualField: 'jcf2FurnaceTemperatureActual', setField: 'jcf2FurnaceTemperatureSet', label: 'JCF2温度', unit: '℃' },
- { actualField: 'lbzFurnaceTemperatureActual', setField: 'lbzFurnaceTemperatureSet', label: 'LBZ温度', unit: '℃' }
+ { actualField: 'jcf1FurnaceTemperatureActual', setField: 'jcf1FurnaceTemperatureSet', label: 'JCF1炉温', unit: '℃' },
+ { actualField: 'jcf2FurnaceTemperatureActual', setField: 'jcf2FurnaceTemperatureSet', label: 'JCF2炉温', unit: '℃' },
+ { actualField: 'lbzFurnaceTemperatureActual', setField: 'lbzFurnaceTemperatureSet', label: 'LBZ炉温', unit: '℃' },
+ { actualField: 'lthFurnaceTemperatureActual', setField: 'lthFurnaceTemperatureSet', label: 'LTH炉温', unit: '℃' },
+ { actualField: 'nof1FurnaceTemperatureActual', setField: 'nof1FurnaceTemperatureSet', label: 'NOF1炉温', unit: '℃' },
+ { actualField: 'nof2FurnaceTemperatureActual', setField: 'nof2FurnaceTemperatureSet', label: 'NOF2炉温', unit: '℃' },
+ { actualField: 'nof3FurnaceTemperatureActual', setField: 'nof3FurnaceTemperatureSet', label: 'NOF3炉温', unit: '℃' },
+ { actualField: 'nof4FurnaceTemperatureActual', setField: 'nof4FurnaceTemperatureSet', label: 'NOF4炉温', unit: '℃' },
+ { actualField: 'nof5FurnaceTemperatureActual', setField: 'nof5FurnaceTemperatureSet', label: 'NOF5炉温', unit: '℃' },
+ { actualField: 'phFurnaceTemperatureActual', setField: null, label: 'PH炉温', unit: '℃' },
+ { actualField: 'rtf1FurnaceTemperatureActual', setField: 'rtf1FurnaceTemperatureSet', label: 'RTF1炉温', unit: '℃' },
+ { actualField: 'rtf2FurnaceTemperatureActual', setField: 'rtf2FurnaceTemperatureSet', label: 'RTF2炉温', unit: '℃' },
+ { actualField: 'sfFurnaceTemperatureActual', setField: 'sfFurnaceTemperatureSet', label: 'SF炉温', unit: '℃' },
+ { actualField: 'tdsFurnaceTemperatureActual', setField: 'tdsFurnaceTemperatureSet', label: 'TDS炉温', unit: '℃' },
],
coatMetrics: [
- { field: 'avrCoatingWeightTop', label: '上涂层重量', unit: 'g/m²' },
- { field: 'avrCoatingWeightBottom', label: '下涂层重量', unit: 'g/m²' },
- { field: 'airKnifePressure', label: '气刀压力', unit: 'bar' }
+ { field: 'avrCoatingWeightTop', label: '上层平均涂层重量', unit: 'g/m²' },
+ { field: 'avrCoatingWeightBottom', label: '下层平均涂层重量', unit: 'g/m²' },
+ { field: 'airKnifePressure', label: '气刀压力', unit: '' },
+ { field: 'stripSpeedTmExit', label: 'TM出口速度', unit: 'm/min' }
],
exitMetrics: [
- { field: 'tensionBr8Br9', label: '张力BR8-BR9', unit: 'kN' },
- { field: 'tensionBr9Tr', label: '张力BR9-TR', unit: 'kN' },
- { field: 'speedExitSection', label: '出口速度', unit: 'm/min' }
+ { field: 'alkaliConcentration', label: '碱液浓度', unit: '' },
+ { field: 'alkaliTemperature', label: '碱液温度', unit: '℃' },
+ { field: 'celCapacity', label: '电池容量', unit: '' },
+ { field: 'celLength', label: '电池长度', unit: 'm' },
+ { field: 'cleaningCurrent', label: '清洗电流', unit: 'A' },
+ { field: 'cleaningVoltage', label: '清洗电压', unit: 'V' },
+ { field: 'dryingTemperature', label: '干燥温度', unit: '℃' },
+ { field: 'entryCoilId', label: '入口卷号', unit: '' },
+ { field: 'hotAirFlow', label: '热风流量', unit: '' },
+ { field: 'hotAirPressure', label: '热风压力', unit: '' },
+ { field: 'payOffReelNumber', label: '放卷卷号', unit: '' },
+ { field: 'rinseConductivity', label: '冲洗电导率', unit: '' },
+ { field: 'rinseTemperature', label: '冲洗温度', unit: '℃' },
+ { field: 'stripLocation', label: '带钢位置', unit: 'm' },
+ { field: 'stripSpeed', label: '带钢速度', unit: 'm/min' },
+ { field: 'tensionBr1Br2', label: '张力 BR1-BR2', unit: 'daN' },
+ { field: 'tensionBr2Br3', label: '张力 BR2-BR3', unit: 'daN' },
+ { field: 'tensionPorBr1', label: '入口张力 POR-BR1', unit: 'daN' },
+ { field: 'tensionBr8Br9', label: '张力 BR8-BR9', unit: 'daN' },
+ { field: 'tensionBr9Tr', label: '张力 BR9-TR', unit: 'daN' },
+ { field: 'speedExitSection', label: '出口速度', unit: 'm/min' },
+ { field: 'coilLength', label: '钢卷长度', unit: 'm' }
],
// ECharts实例缓存
chartInstances: {
@@ -170,6 +202,20 @@ export default {
}
}
},
+ computed: {
+ // 带钢位置进度(位置/3000)
+ stripLocationProgress() {
+ if (this.isDestroyed) return 0
+ const m = this.latestMeasure || {}
+ const entry = m.appMeasureEntryMessage || {}
+ const location = entry.stripLocation !== null && entry.stripLocation !== undefined
+ ? parseFloat(entry.stripLocation) || 0
+ : 0
+ const maxLocation = 3000
+ const progress = (location / maxLocation) * 100
+ return Math.min(Math.max(progress, 0), 100)
+ },
+ },
// Vue2生命周期钩子
created() {
// 组件创建时加载初始数据
@@ -329,8 +375,6 @@ export default {
console.error('WebSocket错误:', error)
},
onMessage: (event) => {
- // if (isDestroyed) return
- console.log('收到消息:', event, vm)
if (!vm) {
isDestroyed = true
return
@@ -352,12 +396,11 @@ export default {
try {
vm.latestMeasure = payload
+ console.log('更新数据:', payload)
vm.appendStripSpeedPoint(payload)
vm.updateLastTime()
// 实时更新图表
vm.updateCharts()
- // 更新带钢位置进度
- vm.stripLocationProgress = vm.getRealtimeValueBySource('ENTRY', 'stripLocation') * 10 || 0
} catch (e) {
isDestroyed = true
console.error('更新实时数据失败:', e)
@@ -479,7 +522,7 @@ export default {
// 追加带钢速度数据点
appendStripSpeedPoint(payload) {
const now = new Date().toTimeString().slice(0, 8)
- const speed = payload.stripSpeed || 0
+ const speed = payload.appMeasureEntryMessage.stripSpeed || 0
this.pushSeries('stripSpeed', now, { stripSpeed: speed })
},
// 更新最后更新时间
@@ -490,7 +533,8 @@ export default {
getRealtimeValueBySource(source, field) {
if (!this.latestMeasure) return '--'
// 按source映射到不同的字段前缀/规则
- const value = this.latestMeasure[field] || 0
+ console.log('source:', source, field, this.latestMeasure[`appMeasure${source}Message`])
+ const value = this.latestMeasure[`appMeasure${source}Message`][field] || 0
return value.toFixed(2) // 格式化显示
},
// 获取字段标签
@@ -682,7 +726,7 @@ export default {
/* 指标网格样式 */
.metrics-grid-3 {
display: grid;
- grid-template-columns: repeat(3, 1fr);
+ grid-template-columns: repeat(8, 1fr);
gap: 10px;
margin-bottom: 15px;
}