Comandos Complexos
Os comandos sequenciais são utilizados quando é necessário enviar uma sequência de vários comandos simples que, em conjunto, realizam uma ação complexa sobre o Dispositivo.
Captura de tela
Definição
- Clique em Novo na parte superior direita da janela
- Atribua um nome ao Comando Sequencial pelo campo Nome. Será exibido sob este nome na seção Conjunto de Comando
- Clique em Salvar
- Selecione na lista o Comando Sequencial que acabou de criar
- Clique em “Adicionar Comando” tantas vezes quantos forem os passos da sequência do comando que desejamos criar
- Para cada linha da tabela:
- Em Tipo de dado selecione uma das seguintes operações:
Tipo de dado Descrição Escrever um ou vários Digital Outputs Define um ou vários Coils utilizando o Function Code 5 do Modbus (Force Single Coil); para cada Coil será emitido um telecomando Escrever um ou vários Register Outputs Define um ou vários Holding Registers utilizando o Function Code 6 do Modbus (Preset Single Register); para cada Holding Register será emitido um telecomando Escrever múltiplos Digital Outputs Define vários Coils utilizando o Function Code 15 do Modbus (Force Multiple Coils); é emitido um único telecomando para todos os Coils Escrever múltiplos Register Outputs Define vários Holding Registers utilizando o Function Code 16 do Modbus (Preset Multiple Registers); é emitido um único telecomando para todos os Holding Registers - Em Índice inicial escreva o endereço do primeiro Coil ou Registrador; a ação será realizada a partir desse endereço e por uma certa quantidade de Coils/Registers consecutivos, igual à quantidade de itens do campo Objetos
- Em Objetos especifique uma lista separada por vírgulas de itens conforme exposto a seguir
- Em Tipo de dado selecione uma das seguintes operações:
Objetos
Cada item do campo Objetos representa um telecomando a ser realizado sobre um Coil ou Registrador com um determinado endereço; esse endereço será o Índice inicial mais um deslocamento igual à posição do item dentro de Objetos.
O conteúdo de cada item tem a seguinte estrutura: valor_de_origem:operação_sobre_valor
Campo valor_de_origem
Para o valor de origem podem ser utilizados os seguintes prefixos
| Prefixo | Descrição |
|---|---|
| b | Valor binário |
| ro | Valor de Register Output |
| ri | Valor de Register Input |
| pn | Valor de ponto |
Exemplos:
| Valor | Descrição |
|---|---|
| 1234 | Valor fixo em formato decimal |
| b1010000001001001 | Valor fixo em formato binário (41033 decimal) |
| ri120 | Valor obtido do Register Input com endereço 120 |
| ro90 | Valor obtido do Register Output com endereço 90 |
| pn1233 | Valor obtido do ponto com Id 1233 |
Campo operação_sobre_valor
Este campo é opcional; se for omitido, não escrever “:” após valor_de_origem.
Permite realizar uma alteração dos bits de valor_de_origem por meio do prefixo b, podendo usar 1, 0 ou #. O sinal numeral (#) preserva o valor do bit; ao usar 1 ou 0, esse bit em particular é substituído.
Exemplo
Define-se o seguinte Comando Complexo que contém um único comando; comandos adicionais poderiam ser adicionados à tabela e seriam executados sequencialmente após este
| Tipo de dado | Índice inicial | Objetos |
|---|---|---|
| Escrever múltiplos Register Outputs | 9132 | ri20:b##############0#, ro11:b############1###, pn1233:b############1#1#, b0000000000000110, 1234, pn22345, ri234, ro111 |
A seguir, a descrição de cada um dos Itens do campo Objetos:
| Item de Objetos | Descrição |
|---|---|
| ri20:b##############0# | ✓️ Valor de origem ri20: lê o valor do Register Input com endereço 20 ✓️ Operação b##############0#: preserva todos os bits e escreve um 0 no bit 1 ✓️ Escreve o resultado no Reg. Output nº 9132 (Índice inicial) |
| ro11:b############1### | ✓️ Valor de origem ro11: lê o valor do Register Output com endereço 11 ✓️ Operação b############1###: preserva todos os bits e escreve um 1 no bit 3 ✓️ Escreve o resultado no Reg. Output nº 9133 (Índice inicial + 1) |
| pn1233:b############1#1# | ✓️ Valor de origem pn1233: lê o valor do Ponto nº 1233 ✓️ Operação b############1#1#: preserva todos os bits e escreve um 1 nos bits 1 e 3 ✓️ Escreve o resultado no Reg. Output nº 9134 (Índice inicial + 2) |
| b0000000000000110 | Escreve o valor 6 no Register Output nº 9135 (Índice inicial + 3) |
| 1234 | Escreve o valor 1234 no Register Output nº 9136 (Índice inicial + 4) |
| pn22345 | Escreve o valor do Ponto com Id 22345 no Register Output com endereço 9137 (Índice inicial + 5) |
| ri234 | Escreve o valor do Register Input com endereço 234 no Register Output nº 9138 (Índice inicial + 6) |
| ro111 | Escreve o valor do Register Output com endereço 111 no Register Output nº 9139 (Índice inicial + 7) |