Mitsubishi MC
Conecte CLPs Mitsubishi MELSEC pelo protocolo MC (quadro 3E): códigos de dispositivo, numeração decimal e hexadecimal, e comprimentos de leitura.
O driver Mitsubishi MC conversa com CLPs Mitsubishi MELSEC pelo protocolo
MC, usando o quadro 3E binário sobre TCP, o quadro que as séries Q, L e iQ
falam. Você endereça valores com a notação MELSEC de dispositivo que já conhece:
um código de dispositivo mais um número, como D100 ou M50. Adicione um dispositivo sob o
driver Mitsubishi MC no Connector; o painel mostra só os
campos que este protocolo usa.
Conexão
| Campo | Significado | Padrão |
|---|---|---|
| Host | Endereço IP ou nome de host da interface Ethernet do CLP. | vazio |
| Porta | Porta TCP da conexão do protocolo MC. 0 usa 5007. | 0 |
O cabeçalho do dispositivo mostra o endpoint montado, por exemplo
mcp://192.168.0.20:5007. Não há campos de intervalo de leitura neste driver:
as tags dele são lidas uma vez por segundo. O lado do CLP precisa ter uma conexão TCP de
protocolo MC (SLMP) configurada para comunicação binária na porta
escolhida.
Endereçamento
Uma tag Mitsubishi é endereçada por dois campos no cartão Origem da tag:
| Campo | Significado | Valores aceitos | Padrão |
|---|---|---|---|
| Endereço do dispositivo | Código de dispositivo MELSEC mais número, por exemplo D100. Obrigatório. |
texto livre | vazio |
| Comprimento de leitura (bytes, em branco = automático) | Quantos bytes transferir por leitura. Em branco, o tamanho da leitura vem do tipo de dado. | 1 ou mais, em branco | em branco |
O endereço não diferencia maiúsculas de minúsculas e o código mais longo que casar vence, então
SD100 é o registrador especial 100, e não o relé de passo S. O número
é hexadecimal nos dispositivos que a Mitsubishi numera em hexadecimal (X, Y, B, W,
SB, SW, DX, DY) e decimal em todo o resto (X1F é a entrada 0x1F).
Códigos de dispositivo aceitos:
| Código | Dispositivo | Numeração |
|---|---|---|
M |
relé interno | decimal |
SM |
relé especial | decimal |
L |
relé de retenção | decimal |
F |
anunciador | decimal |
V |
relé de borda | decimal |
S |
relé de passo | decimal |
X |
entrada | hexadecimal |
Y |
saída | hexadecimal |
B |
relé de enlace | hexadecimal |
SB |
relé de enlace especial | hexadecimal |
DX |
entrada direta | hexadecimal |
DY |
saída direta | hexadecimal |
D |
registrador de dados | decimal |
SD |
registrador especial | decimal |
R |
registrador de arquivo | decimal |
ZR |
registrador de arquivo estendido | decimal |
W |
registrador de enlace | hexadecimal |
SW |
registrador de enlace especial | hexadecimal |
Z |
registrador de índice | decimal |
TC / TS / TN |
bobina / contato / valor atual do timer | decimal |
SC / SS / SN |
bobina / contato / valor atual do timer retentivo | decimal |
CC / CS / CN |
bobina / contato / valor atual do contador | decimal |
A biblioteca MC por baixo também aceita os códigos TT, TM, CT, CM e
A. A linha somente leitura Endereço de origem (barramento) do cartão Origem mostra o
endereço montado enquanto você edita.
Tipos de dado
O seletor de Tipo de dado oferece os quatro tipos que o driver empacota:
| Tipo de dado | Comprimento de leitura automático | Notas |
|---|---|---|
| Boolean | 1 byte | num dispositivo de bit, o único relé nomeado; num dispositivo de palavra, qualquer palavra diferente de zero |
| Int32 | 4 bytes | duas palavras consecutivas de 16 bits, por exemplo D100+D101 |
| Float | 4 bytes | duas palavras consecutivas guardando um IEEE de precisão simples |
| String | 16 bytes | texto até o primeiro NUL do buffer de leitura |
Os dados de palavra chegam na ordem little-endian nativa do MELSEC e são decodificados automaticamente; não existe opção de ordem de bytes. Um valor de 32 bits ocupa dois dispositivos de palavra consecutivos. Para um String com mais de 16 caracteres, eleve o Comprimento de leitura para cobrir o texto guardado. O Comprimento de leitura é uma contagem de bytes e o protocolo transfere palavras inteiras de 16 bits, então um comprimento ímpar é arredondado para cima, até a palavra que carrega o último byte dele.
Os dispositivos de bit, os que o driver lê um relé por vez, são X, Y, M, L, F,
V, B, S, TS, TC, SS, SC, CS, CC, SB, DX e DY. Neles uma tag
booleana responde pelo endereço que você digitou e por mais nada. Todo outro código é um
dispositivo de palavra, inclusive o valor atual de um timer ou de um contador (TN, SN,
CN) e os registradores de enlace (W, SW), e ali a palavra inteira decide: D100
guardando 0x0100 lê como verdadeiro.
Escritas
Tags cujo Acesso é Leitura e escrita ou Somente escrita podem ser escritas, no mesmo endereço de dispositivo que a leitura usa. Uma escrita booleana num dispositivo de bit liga ou desliga o único relé nomeado e não toca em nenhum vizinho dele. Todo o resto é escrito como palavras inteiras de 16 bits: duas palavras em Int32 e Float, uma palavra para uma booleana num dispositivo de palavra e, em String, o Comprimento de leitura inteiro da tag, com os bytes UTF-8 do texto na frente e zeros atrás, arredondado até a última palavra. Um texto mais curto escrito sobre um mais longo, portanto, substitui o valor inteiro e nada do antigo sobrevive. Um texto que não cabe no comprimento declarado é recusado, com o comprimento nomeado no diário, nunca cortado para caber. Uma tag nova nasce como Somente leitura.
Descoberta
O protocolo MC não tem descoberta por difusão neste driver, então o Connector não mostra botão Descobrir. Adicione o dispositivo e os endereços dele à mão.
Bom saber
- A leitura cíclica é fixa em um segundo para toda tag deste driver; os campos usuais de intervalo de leitura não são mostrados.
- O quadro 3E precisa estar habilitado no CLP como conexão MC/SLMP binária (não ASCII); uma porta configurada em ASCII não responde a este driver.
- Um CLP inalcançável não custa nada na inicialização: o dispositivo segue tentando em segundo plano e as tags dele leem qualidade ruim até a conexão acontecer.