Na ausência dos stepstests:
1 - Filtrar dados com PID manual do treinamento dos modelos;
2 - Trabalhar com SP, sempre que possível, ou tentar uma transformação.
nomes_X_SP = c(
'Velocidade do Classificador (SP)', # Inversor
'Damper 01 (SP)', #damper
"Pressão de entrada do moinho (SP)", #PID ### Se automático IA pode funcionar ou não
'Alimentação Total (SP)', ### balança
"Temperatura de saída (SP)", #PID
"Pressão grade (SP)", ### unidade hidr
'Injeção de água (SP)' ### inversor
)
# PV vs SP
# Inversor: erro próximo de 0
# Damper: erro até 3%
# PID: erro depende do processo e PID (filtrar no treinamento dos modelos).
# Balança: erro depende da umidade e erro da propria balança
# Unidade Hidraulica: Erro aproximadamente 0.3 Mpa.
nomes_X_PV = c(
'Velocidade do Classificador (PV)',
'Damper 01 (PV)',
"Pressão de entrada do moinho (PV)",
'Alimentação Total (PV)',
"Temperatura de saída (PV)",
"Pressão grade (PV)",
'Injeção de água (PV)'
)
nomes_X = c(
'Velocidade do Classificador',
'Damper 01 (PV)',
"Pressão de entrada do moinho",
'Alimentação Total',
"Temperatura de saída",
"Pressão grade",
'Injeção de água'
)
tag_X_PV = c('CM1_PV_CLA01_SPEED',
'CM1_PV_DA01_POSITION',
"CM1_PV_VRM01_IN_PRESS",
'CM1_PV_RB01_TOTAL_FEED',
"CM1_PV_VRM01_OUTLET_TEMPERATURE",
"CM1_PV_HYS01_PRESSURE",
'CM1_PV_WI01_WATER_INJECTION'
)
tag_X_SP = c('CM1_SP_CLA01_SPEED',
'CM1_SP_DA01_POSITION',
'CM1_SP_PRESS_AUTO',
'CM1_SP_RB01_TOTAL_FEED',
'CM1_SP_VRM01_TEMP_AUTO',
"CM1_SP_VRM01_PRESS_GRIDING_1_3",
'CM1_SP_WI01_WATER_INJECTION'
)
CM1_SP_PRESS_AUTO: DAO2 CM1_SP_CLA01_SPEED: %
df <- read_excel("~/QUIXERE_DADOS_EXTRACTOR/DadosStepTestsCM2_CPIII/step_test.xlsx")
dados_ok = df
names(df)
## [1] "Timestemps" "CM1_SP_RB01_TOTAL_FEED"
## [3] "CM1_SP_WI01_WATER_INJECTION" "CM1_SP_DA01_POSITION"
## [5] "CM1_SP_VRM01_PRESS_GRIDING_1_3" "CM1_SP_CLA01_SPEED"
## [7] "CM1_SP_PRESS_AUTO" "CM1_SP_VRM01_TEMP_AUTO"
## [9] "CM1_PV_VRM01_INLET_TEMPERATURE" "CM1_PV_VRM01_OUTLET_TEMPERATURE"
## [11] "CM1_PV_VRM01_IN_PRESS" "CM1_PV_VRM01_DIFF_PRESSURE"
## [13] "CM1_PV_BF01_DIF_PRESSURE" "CM1_PV_FN01_POWER"
## [15] "CM1_PV_CLA01_POWER" "CM1_PV_VRM01_POWER"
## [17] "CM1_PV_VRM01_VIBRATION1" "CM1_LB_BLAINE_CPIIF"
## [19] "CM1_LB_FINENESS_CPIIF" "CM1_PV_CLA01_SPEED"
## [21] "CM1_PV_WI01_WATER_INJECTION" "CM1_PV_HYS01_PRESSURE"
## [23] "CM1_PV_RB01_TOTAL_FEED\n" "CM1_PV_DA01_POSITION\n"
## [25] "CM1_PV_DA02_POSITION" "CM1_PV_BF01_PRESSURE"
nnames = c("Timestemps" ,
"CM1_SP_RB01_TOTAL_FEED" ,
"CM1_SP_WI01_WATER_INJECTION" ,
"CM1_SP_DA01_POSITION" ,
"CM1_SP_VRM01_PRESS_GRIDING_1_3" ,
"CM1_SP_CLA01_SPEED" ,
"CM1_SP_PRESS_AUTO" ,
"CM1_SP_VRM01_TEMP_AUTO" ,
"CM1_PV_VRM01_INLET_TEMPERATURE" ,
"CM1_PV_VRM01_OUTLET_TEMPERATURE",
"CM1_PV_VRM01_IN_PRESS" ,
"CM1_PV_VRM01_DIFF_PRESSURE",
"CM1_PV_BF01_DIF_PRESSURE" ,
"CM1_PV_FN01_POWER",
"CM1_PV_CLA01_POWER" ,
"CM1_PV_VRM01_POWER" ,
"CM1_PV_VRM01_VIBRATION1" ,
"CM1_LB_BLAINE_CPIIF" ,
"CM1_LB_FINENESS_CPIIF" ,
"CM1_PV_CLA01_SPEED" ,
"CM1_PV_WI01_WATER_INJECTION" ,
"CM1_PV_HYS01_PRESSURE" ,
"CM1_PV_RB01_TOTAL_FEED" ,
"CM1_PV_DA01_POSITION" ,
"CM1_PV_DA02_POSITION" ,
"CM1_PV_BF01_PRESSURE" )
names(df) = nnames
names(dados_ok)= nnames
df_type = dados_ok
Qcol = ncol(df_type)
df_type
Por se tratar de um inversor, não existe diferença entre PV e SP.
Damper: erro até 3%.
Manter os blocos de PID.
O erro depende do processo e do PID em questão. Deve-se filtrar os dados para usar o PID ativo no treinamento dos modelos.
Os códigos do PID mode são: ativado = 0, manual = 1, e controlado por ia = 7.
Significando assim que temos que remover os dados quando o PID está em manual (código 1).
As TAGs do CM1 são: CM1_SP_PRESS_MODE e CM1_SP_VRM01_TEMP_MODE.
As TAGs do CM1 são: CM1_SP_PRESS_MODE e CM1_SP_VRM01_TEMP_MODE