control-of-ph-based-on-a-wiener-model_16x9-phControl_header.jpg
O que esta aplicação faz?
Usada para controlar uma malha de pH cuja relação reagente→pH é uma curva de titulação em formato S (não linear). A AOI aplica o inverso da não linearidade ao Setpoint e à Variável de Processo, permitindo que a malha seja fechada com um PIDE linear que opera de forma estável em toda a faixa de pH (ácida, neutra e básica).
Características Gerais
Este desenvolvimento inclui o seguinte:
- Instrução Add-On pH_WienerLin (linearização Wiener) no Studio 5000
- Instrução PIDE pré-configurada para controle no domínio linear
- Rotina de chamada e tags associados
Vantagens:
- Fornece uma referência inicial para o controle de processos altamente não lineares (pH, neutralização)
- Permite desempenho estável sem ressintonizar o controlador ao mudar de zona de pH
Limitações/Desvantagens
- Limitado a uma malha SISO (uma variável controlada, uma variável manipulada); para controle multivariável com restrições, recomenda-se o PlantPAx MPC
- Requer identificação prévia da curva de titulação para o modo PWL
Download
Importante: Será necessário aceitar os Termos e Condições para cada download.
Precisa de ajuda?
Se precisar de ajuda com uma aplicação ou tiver feedback do Innovation Center, por favor, entre em contato conosco.
Esta aplicação é relevante para mim?
Se você precisa controlar uma malha de pH ou neutralização em que um PID convencional oscila, ultrapassa o valor desejado ou dosa reagente em excesso.
Áreas de Aplicação - Pode ser aplicada em tratamento de água, neutralização de efluentes, indústria química, alimentos e bebidas.
Como posso fazer funcionar?
Requisitos: produtos, ferramentas e conhecimentos prévios.
Hardware
- Qualquer controlador Logix (o programa foi testado em um 1756-L81E ControlLogix 5580)
- Transmissor de pH com compensação de temperatura
- Elemento final: válvula de controle ou bomba dosadora de reagente
Software
- Studio 5000 (o programa foi desenvolvido na versão 37)
- MS Excel
Conhecimento Prévio
Conhecimento básico de programação e configuração em:
- Studio 5000 (Instruções Add-On, instrução PIDE, Texto Estruturado)
- Controle regulatório de processo
- Fundamentos de controle de pH / modelos Wiener
Guia de Implementação
- Passo 1
- Passo 2
- Passo 3
- Passo 4
- Passo 5
- Passo 6
- Passo 7
- Passo 8
- Passo 9
- Passo 10
- Passo 11
Extraia e abra os arquivos do programa entregue (projeto “.ACD”).
control-of-ph-based-on-a-wiener-model_16x9-phControl_step1_imagen1.jpg
Entenda a estrutura do programa. Revise os principais componentes do programa no “Controller Organizer”:
- pH_WienerLin: Lineariza o pH aplicando o inverso da curva de titulação
- pH_PIDE (PID_ENHANCED): Controle regulatório no domínio linear
- Programa P_pH_Control: Contém a rotina de chamada
- Tarefa T_Process: Tarefa periódica que executa o controle
Entenda a AOI pH_WienerLin
- Abra a AOI no Controller Organizer e revise a aba Logic.
- A AOI transforma o pH no domínio linear x por meio do inverso da não linearidade: x=10−pH−10(pH−pKw)x = 10^{-pH} - 10^{(pH - pK_w)}x=10−pH−10(pH−pKw)
- Ela entrega duas saídas: Out_SPlin (SP linearizado) e Out_PVlin (PV linearizado), que alimentam o PIDE. O parâmetro Cfg_Mode seleciona o método: 0 = inverso analítico; 1 = tabela PWL (curva de titulação real).
Configure as tags de campo (mapeamento de E/S). Vincule as tags do programa aos seus módulos de entrada/saída:
| Tag | Tipo | Vincular a |
|---|---|---|
| pH_CVout | REAL | Saída analógica para válvula/bomba |
| pH_PVFault | BOOL | Diagnóstico do canal / falha do transmissor |
| pH_SP | REAL | Setpoint (valor inicial 7,0) |
| pH_PV | REAL | Entrada analógica do transmissor de pH |
Configure as instruções PIDE. Abra as propriedades de pH_PIDE e ajuste:
| Parámetro |
Valor recomendado |
Motivo – Ação |
|---|---|---|
| CVEUMax / CVEUMin |
100 / 0 % |
Faixa da válvula/bomba |
| PVEUMax / PVEUMin |
+0.1 / −0.1 |
Escala do domínio linear (ajustar à sua curva) |
| PGain / IGain |
1.2 / 0.05 (semilla) |
Ressintonizar após identificação |
| DGain |
0 | Habitual em pH devido ao ruído |
Preencha a curva de titulação (pH_XBrk / pH_YBrk):
- No monitor de tags, complete os 16 valores de cada array (índices 0–15).
- pH_YBrk: pH ascendente (1,0 → 14,0).
- pH_XBrk: valores x do domínio linear (calculados ou provenientes da titulação real).
- Verifique se pH_YBrk está estritamente ascendente e sem valores consecutivos repetidos
Baixe o programa para o controlador:
- Configure o caminho de comunicação (RSLinx / FactoryTalk Linx).
- Verifique o projeto com Verify (Ctrl+K) — ele deve compilar sem erros.
- Baixe o projeto e coloque o controlador no modo Remote Run
Teste em modo Manual
- Coloque o PIDE em Manual a partir da tag pH_PIDE.
- Verifique se, ao variar pH_PV (ou forçar valores em simulação), Out_PVlin muda de sinal ao cruzar o pH 7 (positivo na zona ácida, ~0 em neutro, negativo em básico).
- Confirme Sts_Linealizado = 1 e que pH_CVout responde manualmente.
Sintonize e teste em Automático
- Com o PIDE em Manual, use o autotuner integrado em malha aberta (aplica um passo no CV e estima o modelo do processo).
- Aplique os ganhos sugeridos (comece com uma resposta lenta/média, adequada para pH).
- Mude para Auto e valide com pequenos passos de SP
Validação em toda a faixa de pH. Execute passos de SP nas três zonas e confirme desempenho homogêneo:
| Zona | SP de teste | O que observar |
|---|---|---|
| Ácida | 3 → 4 | Resposta estável, sem oscilação |
| Neutra | 6 → 8 | Zona crítica — sem sobressinal apesar do alto ganho |
| Básica | 10 → 11 | Consistência com as outras zonas |
- Verificação da operação (checklist)
- Projeto verificado sem erros (Ctrl+K)
- pH_PIDE com ação reversa confirmada
- Tags de campo mapeadas para E/S
- Arrays pH_XBrk / pH_YBrk preenchidos corretamente
- Teste manual: linearização e saída corretas
- Sintonia aplicada e teste em Auto satisfatório
- Validação da faixa (ácida/neutra/básica) homogênea
Controle de pH baseado em um modelo Wiener
Versão 1.0 - Agosto de 2026