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 ou IP | Endereço IP ou nome de host da interface Ethernet do CLP. | vazio |
| Porta | Porta TCP da conexão do protocolo MC, de 1 a 65535. Um campo vazio mostra 5007 em cinza e o dispositivo é chamado nela, que é também como se lê um dispositivo salvo com 0. | 5007 |
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 de uma conexão do
protocolo MC (SLMP), TCP e binária, na porta escolhida: Preparar o CLP
diz onde ela é criada.
Preparar o CLP
Uma CPU MELSEC só serve o protocolo MC numa conexão que o projeto dela cria, e recusa uma escrita enquanto está em RUN, a não ser que a porta Ethernet dela permita. As definições são feitas na ferramenta de engenharia e gravadas na CPU com os parâmetros dela (Online > Write to PLC); a CPU lê essas definições quando parte, então depois reinicie a CPU ou desligue e ligue de novo.
| Definição | GX Works3 (iQ-R, iQ-F) | GX Works2 (Q, L) | Sem ela |
|---|---|---|---|
| Uma conexão MC, TCP, na Porta do dispositivo | Module Parameter > Ethernet Port > Basic Settings > External Device Configuration: arraste um SLMP Connection Module para a tabela, com Protocol TCP e a porta do dispositivo em Port No. | PLC Parameter > Built-in Ethernet Port Setting > Open Setting: uma linha com Protocol TCP, Open System MC Protocol e a porta do dispositivo em Host Station Port No. | A CPU recusa a conexão nessa porta, e o dispositivo fica offline. |
| Communication Data Code em binário | Module Parameter > Ethernet Port > Basic Settings: Binary. | PLC Parameter > Built-in Ethernet Port Setting: Binary Code. | A CPU responde em caracteres ASCII, ou não responde, e nenhuma tag lê. |
| Escrita em RUN permitida | iQ-R: Module Parameter > Ethernet Port > Basic Settings, Enable/Disable Online Change em Enable All (SLMP). | PLC Parameter > Built-in Ethernet Port Setting, Enable online change (FTP, MC Protocol) marcado. | A CPU lê normalmente e recusa toda escrita enquanto está em RUN, com o código de fim 0x0055. |
Uma CPU Q ou L reserva para si as portas 5000 a 5009, então a conexão MC dela não pode ficar com a 5007, o padrão do dispositivo: dê a ela outra porta, a 5010 por exemplo, e digite essa na Porta do dispositivo. O GX Works2 pode mostrar Host Station Port No. em hexadecimal, onde 5010 é 1392. O código de dados é um só para toda a porta Ethernet: outro programa que fale com a CPU em ASCII nessa porta também precisa passar para binário.
Quando a CPU recusa a porta, responde em ASCII ou recusa uma escrita em RUN, a página do dispositivo diz qual definição é, com estes passos e a porta que o dispositivo disca, num aviso que some sozinho assim que a CPU aceita. Para uma escrita recusada em RUN ele nomeia as tags cujas escritas foram recusadas. O diário e o agente leem os mesmos passos.
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, vazio = 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.
Uma leitura que o CLP recusa, como a de um endereço além do fim da sua faixa,
deixa aquela tag sem valor, e o erro dela nomeia o código de fim e o que o manual
diz que ele significa, por exemplo
end code 0xC056 (the request goes past the last address of the device). Todas as
outras tags do dispositivo continuam lendo.
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.
Uma escrita que o CLP recusa volta recusada e nomeia o código de fim e o significado dele da mesma forma. Uma escrita recusada porque a CPU está em RUN (código de fim 0x0055) também aparece na página do dispositivo, com a definição que a permite (veja Preparar o CLP).
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 driver só fala o quadro 3E binário, nunca ASCII: uma conexão configurada em código ASCII não lê nada (veja Preparar o CLP).
- 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.
- A conexão TCP tem 5 segundos para abrir, e cada pedido 10 segundos para ser respondido. Um CLP que aceita a conexão e não responde a tempo é desconectado e tentado de novo como um inalcançável; o erro dele nomeia a porta e os dois motivos comuns: uma CPU Q ou L com a porta em código ASCII, que não responde nada a um pedido binário, ou um equipamento que não fala o protocolo MC nessa porta.