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

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 Output9135 (Índice inicial + 3)
1234 Escreve o valor 1234 no Register Output9136 (Í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 Output9138 (Índice inicial + 6)
ro111 Escreve o valor do Register Output com endereço 111 no Register Output9139 (Índice inicial + 7)