[PLC<->Scada] Porque as entradas/saídas digitais são representadas por mapa de bits e analógicas não?

Tutoriais e dúvidas relacionadas aos controladores ZAP, P7C, NEON, RION e módulos de I/O em geral.
Post Reply
User avatar
phius
Moderadores
Posts: 57
Joined: Fri Dec 16, 2016 12:08 pm

[PLC<->Scada] Porque as entradas/saídas digitais são representadas por mapa de bits e analógicas não?

Post by phius »

Porque as entradas/saídas digitais são representadas por bitmaps (mapa de bits) e analógicas não? Pensei que (por serem digitais (0 e 1)) as digitais ocupassem menos espaço.
User avatar
phius
Moderadores
Posts: 57
Joined: Fri Dec 16, 2016 12:08 pm

Re: [PLC<->Scada] Porque as entradas/saídas digitais são representadas por mapa de bits e analógicas não?

Post by phius »

Suponha que um CLP da HI Tecnologia possui 8 entradas digitas, 4 saídas digitais e 3 entradas analógicas com resolução de 12 bits.
Desse modo, quando um supervisório/scada precisa coletar dados do CLP utilizando, por exemplo, o protocolo MODBUS, é comum juntarmos os valores(status) de todas as entradas digitais em uma única memória do tipo inteira (HOLDING REGISTER). Pois em vez de "gastar" 8 memórias inteiras para representar um número binário, você utilizará somente uma memória inteira para obter o valor das 8 entradas (poderia ser até 16 entradas, Holding register = inteiro de 16 bits).

Como é feito esse mapeamento?

Relembrando que um valor inteiro decimal de 16 bits pode ser representado como:
Então, se mapearmos as 8 entradas digitais (0 a 7) em uma memória inteira teremos valores de 0 a 255. Por exemplo, suponha que a entrada I0, I3, I5 e I6 estão ativadas, o valor que leremos na memória inteira será: 2^6 + 2^5 + 2^3 + 2^0 = 64 + 32 + 8 + 1 = 105
mapeamento_bits.png
mapeamento_bits.png (22.04 KiB) Viewed 1997 times
Então, em vez do PLC enviar/responder para o supervisório/scada 8 holding registers somente com valores 0 ou 1, podemos enviar 1 holding register com o status de todas as entradas digitais.

No programa Ladder, no software SPDSW, para mapearmos as entradas digitais em uma memória inteira, basta realizar um comando MOV das I0 para uma memória Mx.
mov_i_to_m.PNG
mov_i_to_m.PNG (1.25 KiB) Viewed 1998 times
Já as entradas analógicas, possuem valores discretos entre 0 a 4095 (12 bits), desse modo em cada memória inteira de 16 bits só "cabe" 1 entrada analógica de 12 bits.
Post Reply