修复厚度偏差曲线
This commit is contained in:
@@ -664,29 +664,34 @@ export default {
|
||||
return parseFloat((100 + v).toFixed(3))
|
||||
})
|
||||
const extras = []
|
||||
// 目标值恒为 100%
|
||||
// 目标值恒为 100%(各通道相对各自设定值)
|
||||
const refLine = rows.map(r => {
|
||||
const rv = getRowVal(r, refCol)
|
||||
return (rv != null && rv !== 0) ? 100 : null
|
||||
})
|
||||
// TOPLIMIT/BOTLIMIT 同为偏差限百分比,且逐行变化
|
||||
// (头尾加减速段约 ±2.5%,稳态段收紧到约 ±1%),不是 mm 偏差量
|
||||
const upData = rows.map(r => {
|
||||
const rv = getRowVal(r, refCol)
|
||||
const tl = getRowVal(r, 'TOPLIMIT')
|
||||
if (rv == null || rv === 0) return null
|
||||
return parseFloat((100 + (tl ?? 3)).toFixed(3))
|
||||
})
|
||||
const loData = rows.map(r => {
|
||||
const rv = getRowVal(r, refCol)
|
||||
const bl = getRowVal(r, 'BOTLIMIT')
|
||||
if (rv == null || rv === 0) return null
|
||||
return parseFloat((100 + (bl ?? -3)).toFixed(3))
|
||||
})
|
||||
if (refLine.some(v => v != null)) extras.push({ name: '目标值(100%)', data: refLine, color: '#909399', dash: false })
|
||||
if (upData.some(v => v != null)) extras.push({ name: '上限', data: upData, color: '#F56C6C', dash: true })
|
||||
if (loData.some(v => v != null)) extras.push({ name: '下限', data: loData, color: '#67C23A', dash: true })
|
||||
const yRange = calcPercentRange(yData, [...refLine, ...upData, ...loData])
|
||||
|
||||
// TOPLIMIT/BOTLIMIT 是冷轧机出口厚度的 AGC 公差带(逐行变化,
|
||||
// 头尾加减速段约 ±2.5%、稳态段收紧到约 ±1%),只约束出口厚度。
|
||||
// 入口测厚仪测的是来料热卷,天然偏离名义值且不受此公差约束,
|
||||
// 故公差带仅画在出口侧图上(THICK1/THICK5),入口图只画偏差曲线。
|
||||
if (col !== 'THICK0') {
|
||||
const upData = rows.map(r => {
|
||||
const rv = getRowVal(r, refCol)
|
||||
const tl = getRowVal(r, 'TOPLIMIT')
|
||||
if (rv == null || rv === 0) return null
|
||||
return parseFloat((100 + (tl ?? 3)).toFixed(3))
|
||||
})
|
||||
const loData = rows.map(r => {
|
||||
const rv = getRowVal(r, refCol)
|
||||
const bl = getRowVal(r, 'BOTLIMIT')
|
||||
if (rv == null || rv === 0) return null
|
||||
return parseFloat((100 + (bl ?? -3)).toFixed(3))
|
||||
})
|
||||
if (upData.some(v => v != null)) extras.push({ name: '上限', data: upData, color: '#F56C6C', dash: true })
|
||||
if (loData.some(v => v != null)) extras.push({ name: '下限', data: loData, color: '#67C23A', dash: true })
|
||||
}
|
||||
const yRange = calcPercentRange(yData, extras.flatMap(e => e.data))
|
||||
return this.makeChart(ref, makeLine(title, xData, yData, extras, '%', yRange))
|
||||
} else {
|
||||
// ── 速度等无参考值的图:保持原始单位 ──
|
||||
|
||||
Reference in New Issue
Block a user