• No results found

De som ‡ytter vs. de som ikke ‡ytter

In document Rapport 2/2008 (sider 24-30)

4.2 Deskriptiv statistikk

4.2.2 De som ‡ytter vs. de som ikke ‡ytter

O PLC utilizado para a implementa¸c˜ao, figura 3.12 apresenta as seguintes carac- ter´ısticas:

❼ 24 I/O discretas das quais 14 s˜ao entradas (24V em corrente cont´ınua) e 10 s˜ao sa´ıdas de rel´e;

❼ Permite expandir no m´aximo 4 m´odulos; ❼ Tem liga¸c˜ao Modbus s´erie com Mini Din; ❼ Tem 2 portas de comunica¸c˜ao;

❼ Tem modo mestre - escravo com transmiss˜ao RTU-ASCII em RS-485 half-duplex; ❼ Fun¸c˜ao de um controlador PID embutido.

Quanto ao m´odulo anal´ogico, possui 4 entradas e 2 sa´ıdas, de 0 a 10V (corrente cont´ınua) ou 4 a 20 mA.

As var´aveis no PLC s˜ao definidas nos endere¸cos respeitando a seguinte sintaxe [50]:

%ObjectoF ormatoRack.m.c

onde: Objecto indica se se trata de uma vari´avel de entrada(I), sa´ıda de dados (Q), vari´avel interna (M) ou constante interna (K) e Formato indica se a vari´avel ´e do tipo boolena (X), word (W), double (D) ou floating (F). Rack cont´em o endere¸co do rack, m a posi¸c˜ao do m´odulo no rack e c o canal ao qual se pretende aceder.

Tal como foi descrito nas sec¸c˜oes anteriores, o protocolo Modbus tem a limita¸c˜ao de que quando se est´a a enviar uma requisi¸c˜ao para um escravo, o barramento tem de estar somente dispon´ıvel para essa comunica¸c˜ao, ou seja, o protocolo Modbus ´e estritamente

(a) TWD LCAA24DRF. (b) TWD AMM6HT.

Figura 3.12: PLC twido LCAA24DRF e m´odulo de entradas e sa´ıdas anal´ogicas AMM6HT.

half-duplex. Para evitar conflitos na comunica¸c˜ao, o PLC em referˆencia para a imple- menta¸c˜ao deste protocolo oferece dois servi¸cos de comunica¸c˜ao:

❼ Instru¸c˜ao EXCHx: para transmitir/receber mensagens.

❼ Bloco da fun¸c˜ao %MSGx: para controlar a troca de mensagem.

A instru¸c˜ao EXCHx e o bloco da fun¸c˜ao %MSGx podem ser acedidos anexando o n´umero da porta (1 ou 2). O PLC no modo mestre em RTU tem o suporte da instru¸c˜ao EXCHx. O tamanho m´aximo da trama transmitida e recebida ´e de 250 bytes.

A instru¸c˜ao EXCHx permite ao controlador mestre enviar e/ou receber informa¸c˜ao do escravo. Para uma requisi¸c˜ao Modbus ´e definido uma tabela de words, (%MWi:L), contendo informa¸c˜oes de controlo e os dados a serem transmitidos e/ou recebidos. A troca de mensagens ´e feita usando a instru¸c˜ao EXCHx:

Sintaxe : [ EXCHx %MWi:L] onde:

x = n´umero da porta de comunica¸c˜ao(1 ou 2); i = mem´oria inicial;

L = n´umero de words de controlo, transmiss˜ao e recep¸c˜ao.

O uso do bloco de fun¸c˜ao %MSGx ´e opcional, este bloco tem duas entradas e duas sa´ıdas associadas a ele e pode ser utilizado para gerir a troca de dados, conforme tabela 3.1. O bloco de fun¸c˜ao %MSGx tem dois objectivos: verifica¸c˜ao de erro na comunica¸c˜ao e coordena¸c˜ao de m´ultiplas mensagens.

Uma requisi¸c˜ao Modbus no PLC ´e definida pela tabela de words associada `a instru¸c˜ao EXCHx, sendo constituida pelas tabelas de controlo, transmiss˜ao e recep¸c˜ao (vide tabela 3.2).

3.1. PROTOCOLO MODBUS 69

Tabela 3.1: Bloco da fun¸c˜ao MSGx.

Entrada/Sa´ıda Defini¸c˜ao Descri¸c˜ao

R Entrada Reset Definido 1 : reinicializa a comunica¸c˜ao (%MSGx.E = 0 e %MSGx.D = 1)

%MSGx.D Comunica¸c˜ao completa

0 : requisi¸c˜ao em progresso 1 : comunica¸c˜ao completa no fim

da transmiss˜ao,fim do caracter recebido, erro, ou reset do bloco

%MSGx.E Erro

0 : tamanho da mensagem OK e conex˜ao OK. 1 : mau comando, tabela incorrectamente

configurada, caracter recebido incorrecto, ou tabela de recep¸c˜ao cheia.

Tabela 3.2: Tabela de words.

Byte Mais Significativo Byte Menos Significativo Tabela de Controlo Comando Tamanho (Transmiss˜ao/Recep¸c˜ao)

Recep¸c˜ao(Rx) offset Transmiss˜ao(Tx) offset

Tabela de Transmiss˜ao

1 Byte Transmitido 2 Byte Transmitido

— —

— N Byte Transmitido

N+1 Byte Transmitido

Tabela de Recep¸c˜ao

1 Byte Recebido 2 Byte Recebido

— —

— P Byte Recebido

P+1 Byte Recebido

Na tabela de controlo o byte comando, em caso de uma requisi¸c˜ao unicast (excepto para broadcast) Modbus RTU deve ser sempre 01, o byte de comando no caso de uma requisi¸c˜ao broadcast deve ser 00, enquanto o endere¸co do escravo deve ser definido para 00. O byte tamanho cont´em o tamanho de transmiss˜ao (m´aximo 250 bytes). Este parˆametro ´e o tamanho em bytes da tabela de transmiss˜ao. Se Tx offset ´e igual a 0, este parˆametro ´e igual ao comprimento da trama de transmiss˜ao. Se o parˆametro Tx offset n˜ao ´e igual a 0, um byte da trama de transmiss˜ao (indicado pelo valor Tx offset) n˜ao ir´a ser transmitido e este parˆametro ´e igual ao tamanho da trama em si, menos 1.

O byte Tx offset cont´em o valor da posi¸c˜ao do byte (1 para o primeiro byte, 2 para o segundo byte, e assim por diante), dentro da trama de transmiss˜ao para ignorar quando transmitir os bytes. Por exemplo, se este byte cont´em 3, o terceiro byte seria ignorado, fazendo com que o quarto byte na trama fosse transmitido como terceiro byte.

O byte Rx offset cont´em o valor 1 para o primeiro byte, 2 para o segundo byte, e assim por diante dentro da tabela de recep¸c˜ao para adicionar ao receber uma trama. Por

exemplo, se este byte cont´em 3, o terceiro byte na tabela de recep¸c˜ao seria preenchido com um zero, e o terceiro byte, que foi actualmente recebido ser´a introduzido na quarta posi¸c˜ao da tabela de recep¸c˜ao. Tx offset e Rx offset s˜ao utilizados para lidar com as quest˜oes associadas aos valores de bytes ou words dentro do protocolo Modbus no PLC, estes offsets s˜ao utilizados para facilitar a interpreta¸c˜ao dos bytes e words de maneira que ”caiam”nos limites de words.

Na utiliza¸c˜ao do modo RTU, a tabela de transmiss˜ao ´e preenchida com a requisi¸c˜ao antes de executar a instru¸c˜ao EXCHx. Em tempo de execu¸c˜ao, o controlador determina que camada de liga¸c˜ao de dados ´e, e realiza todas as convers˜oes necess´arias para processar a transmiss˜ao e a resposta. In´ıcio, fim da trama e a verifica¸c˜ao dos caracteres n˜ao s˜ao armazenados nas tabelas de transmiss˜ao/recep¸c˜ao.

Ap´os todos os bytes serem transmitidos, o PLC cliente Modbus ou mestre passa para o modo de recep¸c˜ao e espera para receber qualquer byte. A recep¸c˜ao ´e conclu´ıda caso se verifique: o tempo de espera da trama foi detectado ou a tabela de recep¸c˜ao est´a completa. A tabela de transmiss˜ao cont´em os dados a serem transmitidos. O primeiro byte cont´em o endere¸co espec´ıfico de um servidor Modbus ou broadcast, o segundo byte cont´em o c´odigo de fun¸c˜ao e o resto cont´em as informa¸c˜oes associadas a esse c´odigo de fun¸c˜ao 4

.

A tabela de recep¸c˜ao cont´em os dados que est˜ao sendo recebidos. O primeiro byte cont´em o endere¸co do dispositivo, o segundo byte cont´em o c´odigo de fun¸c˜ao, e o resto cont´em informa¸c˜ao associada a esse codigo de fun¸c˜ao.

Tendo-se visto as principais fun¸c˜oes utilizadas para o protocolo Modbus no PLC Twido e a tabela de words de uma requisi¸c˜ao Modbus, na sec¸c˜ao seguinte ser˜ao descritos alguns exemplos de leitura e escrita de words da comunica¸c˜ao Modbus, considerando dois PLCs, um cliente (mestre Modbus) e um servidor (escravo Modbus).

In document Rapport 2/2008 (sider 24-30)