Introdução

Em primeiro lugar, sinta-se livre para enviar correções de qualquer tipo, incluindo reformulações de texto.

Este artigo tem como objetivo principal, entender para que servem as classes  de processamento de escada os cenários onde estas classes devem ser usadas. Um resumo das propriedades de cada um será abordado a seguir.

O que são as classes processadoras de escalas

As classes processadoras de escalas (que são derivadas da classe TScaleProcessor) servem para fazer uma transformação numérica do valor que vem do seu equipamento (valor puro) para um valor que será exibido para o usuário do sistema de supervisão (engenharia), fazendo o caminho reverso, quando o usuário altera um valor no sistema de supervisão que está na escala de engenharia entregando um valor puro para o seu equipamento.

Escalas implementadas no PascalSCADA atualmente

O processamento de escala mais utilizado é o processamento linear, que já está implementada no PascalSCADA na classe TLinearScaleProcessor. Mas caso, necessite de uma escala que não está implementada ainda, você pode usar a class TUserScaleProcessor, que permite, através da implementação de dois eventos da instância da classe TUserScaleProcessor, sua própria escala.

Preciso criar um objeto de escala para cada tag da minha aplicação?

Não. O sistema de escalas do PascalSCADA foi desenhado para que um objeto de escala possa ser compartilhado com quantos tags existirem na sua aplicação. Ou seja, se todos os meus tags usam a mesma escala e se num determinado momento for necessário realizar uma alteração desta escala, basta mudar as propriedades de um único objeto para alterar alterar a escala de todos os tags de sua aplicação.

A classe TLinearScaleProcessor

A classe TLinearScaleProcessor faz o que nome dela propõe: o conversão de valores através de uma função linear de primeiro grau. A imagem abaixo ilustra seu funcionamento: TLinearScaleProcessor

As propriedades PLCMin e PLCMax representam o intervalo de valores puros, que vem do seu equipamento. Já as propriedades SysMin e SysMax representam a faixa de valores na unidade de engenharia, ou seja, que serão exibidas ao usuário do sistema de supervisão. A conversão é feita em ambos os sentidos, do equipamento para o usuário e do usuário para o equipamento.

Warning32Vale lembrar que os processadores de escala não fazem a restrição para valores na escala de engenharia fora da faixa. Para isso use as propriedades EnableMinValue, EnableMaxValue, MinValue e MaxValue de seus tags.

Basta configurar as propriedades PLCMin, PLCMax, SysMin e SysMax com os dados da sua escala e para testar, não é necessário rodar a aplicação, basta usar a propredade Input para simular o valor vindo de seu CLP e a propriedade Output para simular os valores vindos da aplicação. Basta setar o valor na propriedade Input e ver o valor convertido na escala de engenharia na propriedade Output e vice-versa.

Abaixo está uma lista de alguns exemplos de conversões usando a classe TLinearScaleProcessor:

Nome PLCMin PLCMax SysMin SysMax
Milisegundos (CLP) =>
segundos (Supervisão)
0 1000 0 1
Segundos (CLP) =>
minutos (Supervisão)
0 60 0 1
Temperatura RTD (CLP) =>
Temperatura (Supervisão)
0 10 0 1
Analógica 4 a 20mA Siemens (CLP) =>
0 a 100% (Supervisão)
4096 27648 0 100