• Nenhum resultado encontrado

Aviso de codificação ANSI

8.4 Processo de Desenvolvimento SOP

8.4.2 Input Source File

8.4.2 Input Source File

O arquivo de origem de entrada é a versão do texto ASCII do programa de sistema que é editado pelo usuário. A edição pode ser executada usando qualquer editor de texto ASCII padrão em um PC. O arquivo pode conter as expressões lógicas e os comentários explicativos para auxiliar na documentação do conteúdo e do objetivo das expressões lógicas. Com exceção de atribuições de lógica verdadeira e falsa simples, a sequência das expressões no arquivo de origem é a ordem em que as expressões serão executadas pelo software de runtime do drive. As expressões verdadeiras e falsas são colocadas primeiro no arquivo hex no momento da compilação e são executadas somente uma vez após a

inicialização do programa do sistema. Todas as outras expressões são executadas de cima para baixo de forma contínua. Os resultados da avaliação de uma expressão lógica são imediatamente disponibilizados como entradas para as expressões que seguem.

O formato para uma expressão de origem do programa de sistema é o seguinte:

output_symbol = {unary_operator} input_symbol { [ binary_operator {unary_operator}

input_symbol ] ... };

onde:

output_symbol representa um símbolo de saída definido no arquivo

= the assignment operator (only one per source statement)

input_symbol representa um símbolo de entrada definido no arquivo unary_operator Boolean NOT operator (/ character)

binary_operator Boolean operators OR and AND (+ and *, respectively) { } representa sintaxe

opcional [ ] representa sintaxe necessária

... the previous operation may be repeated

; statement terminator

A expressão pode expandir-se em múltiplas linhas e conter os espaços necessários para ser legível. O output_symbol é um campo necessário e pode ser qualquer símbolo que fosse válido como uma variável de saída. O output_symbol é seguido por um ou mais espaços opcionais e pelo operador de atribuição necessário “=”. A expressão de origem pode conter somente um único operador de atribuição.

Nota

As expressões do programa podem expandir-se em múltiplas linhas quando são quebradas com um operador conveniente. O comprimento de linha única de 132 caracteres não deve ser excedido.

O lado de entrada da equação deve ser igual a uma forma booleana simples (verdadeira ou falsa) após a avaliação. Ele é formado por um símbolo de entrada simples (possivelmente negado com um operador unário NÃO) ou uma combinação de símbolos de entrada em que os operadores binários operam. Símbolos entradas e os operadores binários são avaliados da esquerda para a direita pelo software de runtime.

A precedência de operações é resumida na próxima seção.

Manual de funcionamento, NXG ToolSuite 02/2021, A5E03086439H AJ 134 SOP Utilities  

 

Nota

No caso das atribuições da lógica em que o estado de origem é um simples

“verdadeiro” ou “falso”, a atribuição é feita somente uma vez ao iniciar o software de runtime.

O fluxo de execução do software de runtime é o seguinte:

1. As avaliações do comparador são executadas e os sinalizadores resultantes do sistema são atualizados.

2. Os sinalizadores de entrada são varridos e seus estados atuais são registrados.

3. As equações lógicas são executadas com base nos estados de entrada registrados.

4. Os resultados da expressão ou expressões lógicas são gerados.

Uma amostra do arquivo de origem está ilustrada no final deste capítulo. Embora esta amostra do arquivo de origem possa parecer ser muito complexa, ela contém somente quatro tipos básicos de expressões:

• Expressões lógicas que podem continuar com linhas adicionais

• Linhas de comentário para explicação da operação e do objetivo do código ou para documentar as atribuições da E/S

• As etiquetas de texto para falhas designadas pelo usuário

• Atribuições que substituem uma etiqueta definida pelo usuário para uma variável interna para fácil compreensão

Os pontos-e-vírgulas têm dupla finalidade no arquivo de origem. Todas as expressões lógicas devem terminar com um ponto-e-vírgula. Além disso, os comentários são qualquer texto que segue o ponto-e-vírgula em qualquer posição em uma linha.

Todas as linhas que começam com texto em vez de ponto-e-vírgula são interpretadas pelo programa compilador como linhas de expressão lógica. As linhas de origem do programa podem continuar com outras linhas e são finalmente concluídas com um ponto-e-vírgula. Esta técnica pode ser usada para tornar a lógica mais fácil de ler.

Assim, os comentários não podem ser adicionados dentro do escopo de uma única expressão de programa com várias linhas porque os ponto-e-vírgulas serão interpretados como o fim da expressão lógica e a próxima linha sem um ponto-e-vírgula, como a próxima expressão lógica.

Os operadores lógicos separam as variáveis usadas dentro das expressões lógicas.

Após todas as variáveis, deve haver um operador lógico na expressão lógica. Os operadores lógicos suportados pelo SOP são AND (*), OR (+), ASSIGNMENT (=), término da expressão (;) e NOT (/).

As linhas de comentário fornecem informações extras ao leitor, mas não informam nada para o compilador. É apenas uma ferramenta para melhorar a compreensão da lógica pretendida das expressões lógicas. Assim, os comentários não devem ser simplesmente adicionados, mas devem estar estruturados para fornecer uma visão geral do que a lógica está tentando realizar no sistema. Esta informação é

fundamental para a manutenção do SOP como referência futura sobre a intenção da lógica, não apenas para o criador, mas também para todos que devem manter ou alterar o código no futuro. É uma ferramenta para transportar informações que não são óbvias nas próprias expressões lógicas.

Manual de funcionamento, NXG ToolSuite 02/2021, A5E03086439H AJ 135 SOP Utilities

 

Os nomes substitutos também servem para esclarecer a intenção das expressões lógicas.

Quando um sinalizador de sistema genérico, como um temporizador, contador, designação de E/S ou sinalizador temporário for usado para um propósito específico, considere o uso do operador substituto para definir um rótulo que melhor atenda à sua funcionalidade. Por exemplo, se uma saída for usada para ligar uma bomba ou um ventilador, considere renomear a saída como “Pump_on” (Bomba_ligada) ou “Fan_on” (Ventilador_ligado) no lugar do “ExternalDigitalOutputxxx_O” (SaídaDigitalExternaxxx_O) genérico.

Notas

• Todas as linhas de comentário do código de origem são ignoradas pelo compilador programa do sistema. Somente as expressões do programa (com quaisquer sufixos de comentários opcionais ocultos) são compiladas no programa do sistema binário (hex formatado) que é descarregado para o drive. Por esta razão, o processo de reversão que compila o programa do sistema gera um código fonte sem comentários. Para mais informações sobre o processo de compilação reversa, consulte a Tabela 8-1 e a Tabela 8-7.

• O texto de comentário pode ser adicionado dentro do contexto de uma expressão lógica com várias linhas, mas deve usar o ponto-e-vírgula que termina a expressão lógica. As expressões lógicas podem estender-se a múltiplas linhas para facilitar a leitura, mas devem ser terminadas por um ponto-e-vírgula.

• As expressões lógicas não devem exceder 132 caracteres de comprimento. O compilador trunca todas as linhas simples que ultrapassem o comprimento e ignora todas as demais informações na linha. Esta limitação de comprimento é para uma linha simples e a contagem é reiniciada quando iniciar uma nova linha. Portanto, continuar com as expressões lógicas longas por várias linhas é fundamental para a compilação correta, bem como para melhorar a capacidade de leitura.

• Geralmente, as expressões lógicas são divididas no operador OR (+) na notação sum-of-products.

• Todas as expressões devem estar na forma de notação de soma-dos-produtos.

Manual de funcionamento, NXG ToolSuite 02/2021, A5E03086439H AJ 136 SOP Utilities  

 

8.4.2.1

Identificação de tipo de sistema

Como o compilador e o compilador reverso suportam diversos produtos finais, o compilador precisa saber qual é o sistema de destino para que possa gerar o código adequado.

Para identificar o tipo de sistema, inclua o comando do identificador do tipo do sistema como a primeira linha no arquivo SOP. A sintaxe deste comando é mostrada abaixo:

#system_type

A expressão deve estar na primeira linha, um caractere sustenido (#) deve aparecer na coluna 1 e a linha do programa deve terminar com um ponto-e-vírgula. O formato adequado deste comando é mostrado abaixo para cada sistema operacional:

• Para sistemas NXGpro+: #NXGPROPLUS

• Para sistemas NXGpro: #NXGPRO;

• Para sistemas NXG (podem também ser usados nos sistemas NXGpro, mas nem todos os recursos do NXGpro estarão disponíveis): #NEXTGEN;

Nota

Um comentário pode seguir o ponto-e-vírgula com o comando de identificação do tipo de sistema.

O compilador também reconhece outros tipos de sistema.

A tabela 8-2 mostra a interface do seletor de tipo de produto suspenso. Alternativamente, se você tiver um arquivo SOP que não inclua o identificador #system_type; , o seletor suspenso tipo de produto é ativado e deve ser feita uma seleção antes que um arquivo de diretório possa ser selecionado ou antes que a compilação seja ativada (observe que o botão Compile (Compilar) está desabilitado até que a seleção seja feita).

Manual de funcionamento, NXG ToolSuite 02/2021, A5E03086439H AJ 137 SOP Utilities

 

Tabela 8-2: Tipos de produtos reconhecidos pelo compilador do sistema

Tipo de produto alvo Identification Command SINAMICS PERFECT HARMONY GH180 #HARMONY;

454 GT #ID_454GT;

ID-CSI #ID_CSI;

DC HARMONY #HARMONY_DC;

ID-2010 #ID_2010;

NXG Control #NEXTGEN

Silcovert H #SILCOVERT_H

High Availability #HIGH_AVAIL

Sistemas NXGpro #NXGPRO

Sistemas NXGpro+ #NXGPROPLUS

Figura 8-4: Guia Compiler (Compilar) do SOP Utilities mostrando o menu suspenso com os tipos de produtos

Manual de funcionamento, NXG ToolSuite 02/2021, A5E03086439H AJ 138 SOP Utilities  

 

Tabela 8-3: Associações ao nome dos arquivos dos diretórios

Tipo de sistema alvo Nome do arquivo de diretórios SINAMICS PERFECT HARMONY GH180 DRCTRY.PWM

454 G T DRCTRY.IGB ID-CSI DRCTRY.CSI DC Harmony (ex.: fonte de iluminação) DRCTRY.HDC

ID-2010 DRCTRY.DC

NXG Control DRCTRY.NXG

Silcovert H DRCTRY.SIH

High Availability DRCTRY.HA

Sistemas NXGpro DRCTRY.PRO

Sistema NXGpro+ DRCTRY.PLUS